Package org.mp4parser.support
Class AbstractContainerBox
- java.lang.Object
-
- org.mp4parser.BasicContainer
-
- org.mp4parser.support.AbstractContainerBox
-
- All Implemented Interfaces:
Box,Container,ParsableBox
- Direct Known Subclasses:
AbstractSampleEntry,AppleItemListBox,AppleReferenceMovieBox,AppleReferenceMovieDescriptorBox,AppleWaveBox,DataInformationBox,DataReferenceBox,EditBox,FullContainerBox,GenericMediaHeaderAtom,ItemProtectionBox,MediaBox,MediaInformationBox,MetaBox,MovieBox,MovieExtendsBox,MovieFragmentBox,MovieFragmentRandomAccessBox,ProtectionSchemeInformationBox,SampleDescriptionBox,SampleTableBox,SchemeInformationBox,TrackApertureModeDimensionAtom,TrackBox,TrackFragmentBox,TrackReferenceBox,UserDataBox
public class AbstractContainerBox extends BasicContainer implements ParsableBox
Abstract base class suitable for most boxes acting purely as container for other boxes.
-
-
Constructor Summary
Constructors Constructor Description AbstractContainerBox(String type)
-
Method Summary
Modifier and Type Method Description voidgetBox(WritableByteChannel writableByteChannel)Writes the complete box - size | 4-cc | content - to the givenwritableByteChannel.protected ByteBuffergetHeader()longgetSize()StringgetType()The box's 4-cc type.voidparse(ReadableByteChannel dataSource, ByteBuffer header, long contentSize, BoxParser boxParser)Parses the box excluding the already parsed header (size, 4cc, [long-size], [user-type]).voidsetParent(Container parent)-
Methods inherited from class org.mp4parser.BasicContainer
addBox, getBoxes, getBoxes, getBoxes, getContainerSize, initContainer, setBoxes, toString, writeContainer
-
-
-
-
Field Detail
-
type
protected String type
-
largeBox
protected boolean largeBox
-
-
Constructor Detail
-
AbstractContainerBox
public AbstractContainerBox(String type)
-
-
Method Detail
-
setParent
public void setParent(Container parent)
-
getHeader
protected ByteBuffer getHeader()
-
parse
public void parse(ReadableByteChannel dataSource, ByteBuffer header, long contentSize, BoxParser boxParser) throws IOException
Description copied from interface:ParsableBoxParses the box excluding the already parsed header (size, 4cc, [long-size], [user-type]). The remaining size of the box is thecontentSize,contentSizenumber of bytes should be read from the box source (readableByteChannel). If you need theheaderbuffer at a later stage you have to create a copy.- Specified by:
parsein interfaceParsableBox- Parameters:
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.- Throws:
IOException- in case of an error during a read operation
-
getBox
public void getBox(WritableByteChannel writableByteChannel) throws IOException
Description copied from interface:BoxWrites the complete box - size | 4-cc | content - to the givenwritableByteChannel.- Specified by:
getBoxin interfaceBox- Parameters:
writableByteChannel- the box's sink- Throws:
IOException- in case of problems with theChannel
-
-