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
Abstract base class suitable for most boxes acting purely as container for other boxes.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidgetBox(WritableByteChannel writableByteChannel) Writes the complete box - size | 4-cc | content - to the givenwritableByteChannel.protected ByteBufferlonggetSize()getType()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]).voidMethods inherited from class org.mp4parser.BasicContainer
addBox, getBoxes, getBoxes, getBoxes, getContainerSize, initContainer, setBoxes, toString, writeContainer
-
Field Details
-
type
-
largeBox
protected boolean largeBox
-
-
Constructor Details
-
AbstractContainerBox
-
-
Method Details
-
setParent
-
getSize
public long getSize() -
getType
Description copied from interface:BoxThe box's 4-cc type. -
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
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
-