public abstract class FullContainerBox extends AbstractContainerBox implements FullBox
largeBox, typeboxParser, dataSource| Constructor and Description |
|---|
FullContainerBox(String type) |
| Modifier and Type | Method and Description |
|---|---|
void |
getBox(WritableByteChannel writableByteChannel)
Writes the complete box - size | 4-cc | content - to the given
writableByteChannel. |
<T extends Box> |
getBoxes(Class<T> clazz)
Gets all child boxes of the given type.
|
int |
getFlags() |
protected ByteBuffer |
getHeader() |
int |
getVersion() |
void |
parse(DataSource dataSource,
ByteBuffer header,
long contentSize,
BoxParser boxParser)
Parses the box excluding the already parsed header (size, 4cc, [long-size], [user-type]).
|
protected long |
parseVersionAndFlags(ByteBuffer content)
Parses the version/flags header and returns the remaining box size.
|
void |
setFlags(int flags) |
void |
setVersion(int version) |
String |
toString() |
protected void |
writeVersionAndFlags(ByteBuffer bb) |
getOffset, getParent, getSize, getType, initContainer, setParentaddBox, close, getBoxes, getBoxes, getByteBuffer, getContainerSize, hasNext, next, remove, setBoxes, writeContainerclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetOffset, getParent, getSize, getType, setParentforEachRemainingpublic FullContainerBox(String type)
public int getVersion()
getVersion in interface FullBoxpublic void setVersion(int version)
setVersion in interface FullBoxpublic <T extends Box> List<T> getBoxes(Class<T> clazz)
Containernull.getBoxes in interface ContainergetBoxes in class BasicContainerT - type of boxes to getclazz - child box's typepublic void parse(DataSource dataSource, ByteBuffer header, long contentSize, BoxParser boxParser) throws IOException
BoxcontentSize, contentSize
number of bytes should be read from the box source (readableByteChannel).
If you need the header buffer at a later stage you have to create a copy.parse in interface Boxparse in class AbstractContainerBoxdataSource - the source for this boxheader - the box' already parsed header (create copy if you need it
later as it will be overwritten)contentSize - remaining bytes of this boxboxParser - use it to parse sub-boxes.IOException - in case of an error during a read operationpublic void getBox(WritableByteChannel writableByteChannel) throws IOException
BoxwritableByteChannel.getBox in interface BoxgetBox in class AbstractContainerBoxwritableByteChannel - the box's sinkIOException - in case of problems with the Channelpublic String toString()
toString in class BasicContainerprotected final long parseVersionAndFlags(ByteBuffer content)
content - the ByteBuffer that contains the version & flagprotected final void writeVersionAndFlags(ByteBuffer bb)
protected ByteBuffer getHeader()
getHeader in class AbstractContainerBoxCopyright © 2017. All rights reserved.