public class EditListBox extends AbstractFullBox
Box Type : 'elst'
Container: EditBox
('edts')
Mandatory: No
Quantity : Zero or one
This box contains an explicit timeline map. Each entry defines part of the track time-line: by mapping part of the media time-line, or by indicating 'empty' time, or by defining a 'dwell', where a single time-point in the media is held for a period.
Note that edits are not restricted to fall on sample times. This means that when entering an edit, it can be necessary to (a) back up to a sync point, and pre-roll from there and then (b) be careful about the duration of the first sample - it might have been truncated if the edit enters it during its normal duration. If this is audio, that frame might need to be decoded, and then the final slicing done. Likewise, the duration of the last sample in an edit might need slicing.
Starting offsets for tracks (streams) are represented by an initial empty edit. For example, to play a track from its start for 30 seconds, but at 10 seconds into the presentation, we have the following edit list:
Modifier and Type | Class and Description |
---|---|
static class |
EditListBox.Entry |
Modifier and Type | Field and Description |
---|---|
static String |
TYPE |
type
Constructor and Description |
---|
EditListBox() |
Modifier and Type | Method and Description |
---|---|
void |
_parseDetails(ByteBuffer content)
Parse the box's fields and child boxes if any.
|
protected void |
getContent(ByteBuffer byteBuffer)
Write the box's content into the given
ByteBuffer . |
protected long |
getContentSize()
Get the box's content size without its header.
|
List<EditListBox.Entry> |
getEntries() |
void |
setEntries(List<EditListBox.Entry> entries) |
String |
toString() |
getFlags, getVersion, parseVersionAndFlags, setFlags, setVersion, writeVersionAndFlags
getBox, getOffset, getParent, getPath, getSize, getType, getUserType, isParsed, parse, parseDetails, setDeadBytes, setParent
public static final String TYPE
public List<EditListBox.Entry> getEntries()
public void setEntries(List<EditListBox.Entry> entries)
protected long getContentSize()
AbstractBox
getContent(ByteBuffer)
writes.getContentSize
in class AbstractBox
AbstractBox.getContent(java.nio.ByteBuffer)
public void _parseDetails(ByteBuffer content)
AbstractBox
_parseDetails
in class AbstractBox
content
- the box's raw content beginning after the 4-cc field.protected void getContent(ByteBuffer byteBuffer)
AbstractBox
ByteBuffer
. This must include flags
and version in case of a full box. byteBuffer
has been initialized with
getSize()
bytes.getContent
in class AbstractBox
byteBuffer
- the sink for the box's contentCopyright © 2014. All rights reserved.