Class TimeToSampleBox
- java.lang.Object
-
- org.mp4parser.support.AbstractBox
-
- org.mp4parser.support.AbstractFullBox
-
- org.mp4parser.boxes.iso14496.part12.TimeToSampleBox
-
- All Implemented Interfaces:
Box,FullBox,ParsableBox
public class TimeToSampleBox extends AbstractFullBox
4cc = ""stts""
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).
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classTimeToSampleBox.Entry
-
Field Summary
-
Fields inherited from class org.mp4parser.support.AbstractBox
content, type
-
-
Constructor Summary
Constructors Constructor Description TimeToSampleBox()
-
Method Summary
Modifier and Type Method Description void_parseDetails(ByteBuffer content)Parse the box's fields and child boxes if any.static long[]blowupTimeToSamples(List<TimeToSampleBox.Entry> entries)Decompresses the list of entries and returns the list of decoding times.protected voidgetContent(ByteBuffer byteBuffer)Write the box's content into the givenByteBuffer.protected longgetContentSize()Get the box's content size without its header.List<TimeToSampleBox.Entry>getEntries()voidsetEntries(List<TimeToSampleBox.Entry> entries)StringtoString()-
Methods inherited from class org.mp4parser.support.AbstractFullBox
getFlags, getVersion, parseVersionAndFlags, setFlags, setVersion, writeVersionAndFlags
-
Methods inherited from class org.mp4parser.support.AbstractBox
getBox, getSize, getType, getUserType, isParsed, parse, parseDetails
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.mp4parser.ParsableBox
parse
-
-
-
-
Field Detail
-
TYPE
public static final String TYPE
- See Also:
- Constant Field Values
-
-
Method Detail
-
blowupTimeToSamples
public static long[] blowupTimeToSamples(List<TimeToSampleBox.Entry> entries)
Decompresses the list of entries and returns the list of decoding times.- Parameters:
entries- compressed entries- Returns:
- decoding time per sample
-
getContentSize
protected long getContentSize()
Description copied from class:AbstractBoxGet the box's content size without its header. This must be the exact number of bytes thatgetContent(ByteBuffer)writes.- Specified by:
getContentSizein classAbstractBox- 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:AbstractBoxParse the box's fields and child boxes if any.- Specified by:
_parseDetailsin classAbstractBox- Parameters:
content- the box's raw content beginning after the 4-cc field.
-
getContent
protected void getContent(ByteBuffer byteBuffer)
Description copied from class:AbstractBoxWrite the box's content into the givenByteBuffer. This must include flags and version in case of a full box.byteBufferhas been initialized withgetSize()bytes.- Specified by:
getContentin classAbstractBox- Parameters:
byteBuffer- the sink for the box's content
-
getEntries
public List<TimeToSampleBox.Entry> getEntries()
-
setEntries
public void setEntries(List<TimeToSampleBox.Entry> entries)
-
-