Class EditListBox
- java.lang.Object
-
- org.mp4parser.support.AbstractBox
-
- org.mp4parser.support.AbstractFullBox
-
- org.mp4parser.boxes.iso14496.part12.EditListBox
-
- All Implemented Interfaces:
Box,FullBox,ParsableBox
public class EditListBox extends AbstractFullBox
4cc = ""elst""
Box Type : 'elst' Container:
EditBox('edts') Mandatory: No Quantity : Zero or oneThis 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:
- Entry-count = 2
- Segment-duration = 10 seconds
- Media-Time = -1
- Media-Rate = 1
- Segment-duration = 30 seconds (could be the length of the whole track)
- Media-Time = 0 seconds
- Media-Rate = 1
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classEditListBox.Entry
-
Field Summary
-
Fields inherited from class org.mp4parser.support.AbstractBox
content, type
-
-
Constructor Summary
Constructors Constructor Description EditListBox()
-
Method Summary
Modifier and Type Method Description void_parseDetails(ByteBuffer content)Parse the box's fields and child boxes if any.protected voidgetContent(ByteBuffer byteBuffer)Write the box's content into the givenByteBuffer.protected longgetContentSize()Get the box's content size without its header.List<EditListBox.Entry>getEntries()voidsetEntries(List<EditListBox.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
-
getEntries
public List<EditListBox.Entry> getEntries()
-
setEntries
public void setEntries(List<EditListBox.Entry> entries)
-
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
-
-