com.coremedia.iso.boxes
Class SampleDescriptionBox

java.lang.Object
  extended by com.coremedia.iso.boxes.AbstractBox
      extended by com.coremedia.iso.boxes.AbstractFullBox
          extended by com.coremedia.iso.boxes.FullContainerBox
              extended by 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

Field Summary
static String TYPE
           
 
Fields inherited from class com.coremedia.iso.boxes.FullContainerBox
boxes
 
Fields inherited from class com.coremedia.iso.boxes.AbstractBox
deadBytes, type
 
Constructor Summary
SampleDescriptionBox()
           
 
Method Summary
 void _parseDetails(ByteBuffer content)
          Implement the actual parsing of the box's fields here.
protected  void getContent(ByteBuffer bb)
          Writes the box's content into the given ByteBuffer.
protected  long getContentSize()
          Gets the box's content size.
 SampleEntry getSampleEntry()
           
 
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.AbstractFullBox
getFlags, getVersion, parseVersionAndFlags, setFlags, setVersion, writeVersionAndFlags
 
Methods inherited from class com.coremedia.iso.boxes.AbstractBox
getBox, getDeadBytes, getHeader, getIsoFile, getParent, getSize, getType, getUserType, isParsed, parseDetails, setDeadBytes, setParent, setUserType
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.coremedia.iso.boxes.ContainerBox
getIsoFile, getParent
 
Methods inherited from interface com.coremedia.iso.boxes.Box
getBox, getSize, getType, setParent
 

Field Detail

TYPE

public static final String TYPE
See Also:
Constant Field Values
Constructor Detail

SampleDescriptionBox

public SampleDescriptionBox()
Method Detail

getContentSize

protected long getContentSize()
Description copied from class: AbstractBox
Gets the box's content size. This excludes all header fields:

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.