com.coremedia.iso.boxes
Class SampleDescriptionBox
java.lang.Object
com.coremedia.iso.boxes.AbstractBox
com.coremedia.iso.boxes.AbstractFullBox
com.coremedia.iso.boxes.FullContainerBox
com.coremedia.iso.boxes.SampleDescriptionBox
- All Implemented Interfaces:
- Box, ContainerBox, FullBox
public class SampleDescriptionBox
- extends FullContainerBox
The sample description table gives detailed information about the coding type used, and any initialization
information needed for that coding.
The information stored in the sample description box after the entry-count is both track-type specific as
documented here, and can also have variants within a track type (e.g. different codings may use different
specific information after some common fields, even within a video track).
For video tracks, a VisualSampleEntry is used; for audio tracks, an AudioSampleEntry. Hint tracks use an
entry format specific to their protocol, with an appropriate name. Timed Text tracks use a TextSampleEntry
For hint tracks, the sample description contains appropriate declarative data for the streaming protocol being
used, and the format of the hint track. The definition of the sample description is specific to the protocol.
Multiple descriptions may be used within a track.
The 'protocol' and 'codingname' fields are registered identifiers that uniquely identify the streaming protocol or
compression format decoder to be used. A given protocol or codingname may have optional or required
extensions to the sample description (e.g. codec initialization parameters). All such extensions shall be within
boxes; these boxes occur after the required fields. Unrecognized boxes shall be ignored.
Defined in ISO/IEC 14496-12
- See Also:
VisualSampleEntry
,
TextSampleEntry
,
AudioSampleEntry
Methods inherited from class com.coremedia.iso.boxes.FullContainerBox |
addBox, getBoxes, getBoxes, getBoxes, getNumOfBytesToFirstChild, parse, parseChildBoxes, removeBox, setBoxes, toString, writeChildBoxes |
Methods inherited from class com.coremedia.iso.boxes.AbstractBox |
getBox, getDeadBytes, getHeader, getIsoFile, getParent, getSize, getType, getUserType, isParsed, parseDetails, setDeadBytes, setParent, setUserType |
TYPE
public static final String TYPE
- See Also:
- Constant Field Values
SampleDescriptionBox
public SampleDescriptionBox()
getContentSize
protected long getContentSize()
- Description copied from class:
AbstractBox
- Gets the box's content size. This excludes all header fields:
- 4 byte size
- 4 byte type
- (large length - 8 bytes)
- (user type - 16 bytes)
Flags and version of a full box need to be taken into account.
- Overrides:
getContentSize
in class FullContainerBox
- Returns:
- Gets the box's content size in bytes
_parseDetails
public void _parseDetails(ByteBuffer content)
- Description copied from class:
AbstractBox
- Implement the actual parsing of the box's fields here. External classes will always call
AbstractBox.parseDetails()
which encapsulates the call to this method with some safeguards.
- Overrides:
_parseDetails
in class FullContainerBox
getContent
protected void getContent(ByteBuffer bb)
throws IOException
- Description copied from class:
AbstractBox
- Writes the box's content into the given
ByteBuffer
. This must include flags
and version in case of a full box. bb
has been initialized with
getSize()
bytes.
- Overrides:
getContent
in class FullContainerBox
- Parameters:
bb
- the box's content-sink.
- Throws:
IOException
- in case of an exception in the underlying OutputStream
.
getSampleEntry
public SampleEntry getSampleEntry()
Copyright © 2012. All Rights Reserved.