com.coremedia.iso.boxes
Class TimeToSampleBox
java.lang.Object
com.googlecode.mp4parser.AbstractBox
com.googlecode.mp4parser.AbstractFullBox
com.coremedia.iso.boxes.TimeToSampleBox
- All Implemented Interfaces:
- Box, FullBox
public class TimeToSampleBox
- extends AbstractFullBox
This box contains a compact version of a table that allows indexing from decoding time to sample number.
Other tables give sample sizes and pointers, from the sample number. Each entry in the table gives the
number of consecutive samples with the same time delta, and the delta of those samples. By adding the
deltas a complete time-to-sample map may be built.
The Decoding Time to Sample Box contains decode time delta's: DT(n+1) = DT(n) + STTS(n)
where STTS(n)
is the (uncompressed) table entry for sample n.
The sample entries are ordered by decoding time stamps; therefore the deltas are all non-negative.
The DT axis has a zero origin; DT(i) = SUM(for j=0 to i-1 of delta(j))
, and the sum of all
deltas gives the length of the media in the track (not mapped to the overall timescale, and not considering
any edit list).
The Edit List Box provides the initial CT value if it is non-empty (non-zero).
TYPE
public static final String TYPE
- See Also:
- Constant Field Values
TimeToSampleBox
public TimeToSampleBox()
getContentSize
protected long getContentSize()
- Description copied from class:
AbstractBox
- Get the box's content size without its header. This must be the exact number of bytes
that
getContent(ByteBuffer)
writes.
- Specified by:
getContentSize
in class AbstractBox
- Returns:
- Gets the box's content size in bytes
- See Also:
AbstractBox.getContent(java.nio.ByteBuffer)
_parseDetails
public void _parseDetails(ByteBuffer content)
- Description copied from class:
AbstractBox
- Parse the box's fields and child boxes if any.
- Specified by:
_parseDetails
in class AbstractBox
- Parameters:
content
- the box's raw content beginning after the 4-cc field.
getContent
protected void getContent(ByteBuffer byteBuffer)
- Description copied from class:
AbstractBox
- Write the box's content into the given
ByteBuffer
. This must include flags
and version in case of a full box. byteBuffer
has been initialized with
getSize()
bytes.
- Specified by:
getContent
in class AbstractBox
- Parameters:
byteBuffer
- the sink for the box's content
getEntries
public List<TimeToSampleBox.Entry> getEntries()
setEntries
public void setEntries(List<TimeToSampleBox.Entry> entries)
toString
public String toString()
- Overrides:
toString
in class Object
blowupTimeToSamples
public static long[] blowupTimeToSamples(List<TimeToSampleBox.Entry> entries)
- Decompresses the list of entries and returns the list of decoding times.
- Returns:
- decoding time per sample
Copyright © 2012. All Rights Reserved.