public class CompositionTimeToSample extends AbstractFullBox
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).
| Modifier and Type | Class and Description |
|---|---|
static class |
CompositionTimeToSample.Entry |
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
TYPE |
content, type| Constructor and Description |
|---|
CompositionTimeToSample() |
| Modifier and Type | Method and Description |
|---|---|
void |
_parseDetails(java.nio.ByteBuffer content)
Parse the box's fields and child boxes if any.
|
static int[] |
blowupCompositionTimes(java.util.List<CompositionTimeToSample.Entry> entries)
Decompresses the list of entries and returns the list of composition times.
|
protected void |
getContent(java.nio.ByteBuffer byteBuffer)
Write the box's content into the given
ByteBuffer. |
protected long |
getContentSize()
Get the box's content size without its header.
|
java.util.List<CompositionTimeToSample.Entry> |
getEntries() |
void |
setEntries(java.util.List<CompositionTimeToSample.Entry> entries) |
getFlags, getVersion, parseVersionAndFlags, setFlags, setVersion, writeVersionAndFlagsgetBox, getSize, getType, getUserType, isParsed, parse, parseDetailsclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitparsepublic static final java.lang.String TYPE
public static int[] blowupCompositionTimes(java.util.List<CompositionTimeToSample.Entry> entries)
entries - composition time to sample entries in compressed formprotected long getContentSize()
AbstractBoxgetContent(ByteBuffer) writes.getContentSize in class AbstractBoxAbstractBox.getContent(java.nio.ByteBuffer)public java.util.List<CompositionTimeToSample.Entry> getEntries()
public void setEntries(java.util.List<CompositionTimeToSample.Entry> entries)
public void _parseDetails(java.nio.ByteBuffer content)
AbstractBox_parseDetails in class AbstractBoxcontent - the box's raw content beginning after the 4-cc field.protected void getContent(java.nio.ByteBuffer byteBuffer)
AbstractBoxByteBuffer. This must include flags
and version in case of a full box. byteBuffer has been initialized with
getSize() bytes.getContent in class AbstractBoxbyteBuffer - the sink for the box's contentCopyright © 2020. All rights reserved.