com.coremedia.iso.IsoBufferWrapper Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of isoparser Show documentation
Show all versions of isoparser Show documentation
A generic parser and writer for all ISO 14496 based files (MP4, Quicktime, DCF, PDCF, ...)
package com.coremedia.iso;
import java.io.IOException;
/**
* Encapsulates access to underlying storage.
*/
public interface IsoBufferWrapper {
int readUInt8() throws IOException;
int readUInt24() throws IOException;
String readIso639() throws IOException;
String readString() throws IOException;
long position() throws IOException;
long remaining() throws IOException;
String readString(int i) throws IOException;
long skip(long size) throws IOException;
void position(long l) throws IOException;
int read(byte[] buffer) throws IOException;
IsoBufferWrapper getSegment(long startOffset, long length) throws IOException;
long readUInt32() throws IOException;
int readInt32() throws IOException;
long readUInt64() throws IOException;
byte readByte() throws IOException;
int read() throws IOException;
int readUInt16() throws IOException;
long size();
byte[] read(int i) throws IOException;
double readFixedPoint1616() throws IOException;
float readFixedPoint88() throws IOException;
int readUInt16BE() throws IOException;
long readUInt32BE() throws IOException;
/**
* Reads i bits from the underlying buffers.
* Caveat: this method always consumes full bytes even if just a bit is readByte!
*
* @param i number of bits to readByte, 31 max
* @return bitstring value as unsigned int
*/
public int readBits(int i) throws IOException;
/**
* Gets the number number bits that must be read to be byte aligned again.
*
* @return offset to next byte in bit
*/
int getReadBitsRemaining();
}