Class CompositionTimeToSample
java.lang.Object
org.mp4parser.support.AbstractBox
org.mp4parser.support.AbstractFullBox
org.mp4parser.boxes.iso14496.part12.CompositionTimeToSample
- All Implemented Interfaces:
Box,FullBox,ParsableBox
4cc = ""ctts""
aligned(8) class CompositionOffsetBox extends FullBox(‘ctts’, version = 0, 0) {
unsigned int(32) entry_count;
int i;
if (version==0) {
for (i=0; i < entry_count; i++) {
unsigned int(32) sample_count;
unsigned int(32) sample_offset;
}
}
else if (version == 1) {
for (i=0; i < entry_count; i++) {
unsigned int(32) sample_count;
signed int(32) sample_offset;
}
}
}
This box provides the offset between decoding time and composition time. In version 0 of this box the decoding time must be less than the composition time, and the offsets are expressed as unsigned numbers such that
CT(n) = DT(n) + CTTS(n) where CTTS(n) is the (uncompressed) table entry for sample n.
In version 1 of this box, the composition timeline and the decoding timeline are still derived from each other, but the offsets are signed. It is recommended that for the computed composition timestamps, there is exactly one with the value 0 (zero).
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsFields inherited from class org.mp4parser.support.AbstractFullBox
flags, versionFields inherited from class org.mp4parser.support.AbstractBox
content, type -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid_parseDetails(ByteBuffer content) Parse the box's fields and child boxes if any.static int[]Decompresses the list of entries and returns the list of composition times.protected voidgetContent(ByteBuffer byteBuffer) Write the box's content into the givenByteBuffer.protected longGet the box's content size without its header.voidsetEntries(List<CompositionTimeToSample.Entry> entries) Methods inherited from class org.mp4parser.support.AbstractFullBox
getFlags, getVersion, parseVersionAndFlags, setFlags, setVersion, writeVersionAndFlagsMethods inherited from class org.mp4parser.support.AbstractBox
getBox, getSize, getType, getUserType, isParsed, parse, parseDetailsMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.mp4parser.ParsableBox
parse
-
Field Details
-
TYPE
- See Also:
-
-
Constructor Details
-
CompositionTimeToSample
public CompositionTimeToSample()
-
-
Method Details
-
blowupCompositionTimes
Decompresses the list of entries and returns the list of composition times.- Parameters:
entries- composition time to sample entries in compressed form- 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:
-
getEntries
-
setEntries
-
_parseDetails
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
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
-