public class AbstractContainerBox extends BasicContainer implements Box
Modifier and Type | Field and Description |
---|---|
protected boolean |
largeBox |
protected String |
type |
boxParser, dataSource
Constructor and Description |
---|
AbstractContainerBox(String type) |
Modifier and Type | Method and Description |
---|---|
void |
getBox(WritableByteChannel writableByteChannel)
Writes the complete box - size | 4-cc | content - to the given
writableByteChannel . |
protected ByteBuffer |
getHeader() |
long |
getOffset()
Returns the position of the box in the original file.
|
Container |
getParent() |
long |
getSize() |
String |
getType()
The box's 4-cc type.
|
void |
parse(DataSource dataSource,
ByteBuffer header,
long contentSize,
BoxParser boxParser)
Parses the box excluding the already parsed header (size, 4cc, [long-size], [user-type]).
|
void |
setParent(Container parent) |
addBox, getBoxes, getBoxes, getBoxes, getByteBuffer, getContainerSize, hasNext, next, parseContainer, remove, setBoxes, toString, writeContainer
protected String type
protected boolean largeBox
public AbstractContainerBox(String type)
public long getOffset()
Box
protected ByteBuffer getHeader()
public void parse(DataSource dataSource, ByteBuffer header, long contentSize, BoxParser boxParser) throws IOException
Box
contentSize
, 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 Box
dataSource
- 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
Box
writableByteChannel
.getBox
in interface Box
writableByteChannel
- the box's sinkIOException
- in case of problems with the Channel
Copyright © 2014. All rights reserved.