com.coremedia.iso.boxes.fragment
Class TrackFragmentRandomAccessBox
java.lang.Object
com.coremedia.iso.boxes.AbstractBox
com.coremedia.iso.boxes.AbstractFullBox
com.coremedia.iso.boxes.fragment.TrackFragmentRandomAccessBox
- All Implemented Interfaces:
- Box, FullBox
public class TrackFragmentRandomAccessBox
- extends AbstractFullBox
aligned(8) class TrackFragmentRandomAccessBox
extends FullBox('tfra', version, 0) {
unsigned int(32) track_ID;
const unsigned int(26) reserved = 0;
unsigned int(2) length_size_of_traf_num;
unsigned int(2) length_size_of_trun_num;
unsigned int(2) length_size_of_sample_num;
unsigned int(32) number_of_entry;
for(i=1; i <= number_of_entry; i++){
if(version==1){
unsigned int(64) time;
unsigned int(64) moof_offset;
}else{
unsigned int(32) time;
unsigned int(32) moof_offset;
}
unsigned int((length_size_of_traf_num+1) * 8) traf_number;
unsigned int((length_size_of_trun_num+1) * 8) trun_number;
unsigned int((length_size_of_sample_num+1) * 8) sample_number;
}
}
Methods inherited from class com.coremedia.iso.boxes.AbstractBox |
getBox, getDeadBytes, getHeader, getIsoFile, getParent, getSize, getType, getUserType, isParsed, parse, parseDetails, setDeadBytes, setParent, setUserType |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
TYPE
public static final String TYPE
- See Also:
- Constant Field Values
TrackFragmentRandomAccessBox
public TrackFragmentRandomAccessBox()
getContentSize
protected long getContentSize()
- Description copied from class:
AbstractBox
- Gets the box's content size. This excludes all header fields:
- 4 byte size
- 4 byte type
- (large length - 8 bytes)
- (user type - 16 bytes)
Flags and version of a full box need to be taken into account.
- Specified by:
getContentSize
in class AbstractBox
- Returns:
- Gets the box's content size in bytes
_parseDetails
public void _parseDetails(ByteBuffer content)
- Description copied from class:
AbstractBox
- Implement the actual parsing of the box's fields here. External classes will always call
AbstractBox.parseDetails()
which encapsulates the call to this method with some safeguards.
- Specified by:
_parseDetails
in class AbstractBox
getContent
protected void getContent(ByteBuffer bb)
throws IOException
- Description copied from class:
AbstractBox
- Writes the box's content into the given
ByteBuffer
. This must include flags
and version in case of a full box. bb
has been initialized with
getSize()
bytes.
- Specified by:
getContent
in class AbstractBox
- Parameters:
bb
- the box's content-sink.
- Throws:
IOException
- in case of an exception in the underlying OutputStream
.
setTrackId
public void setTrackId(long trackId)
setLengthSizeOfTrafNum
public void setLengthSizeOfTrafNum(int lengthSizeOfTrafNum)
setLengthSizeOfTrunNum
public void setLengthSizeOfTrunNum(int lengthSizeOfTrunNum)
setLengthSizeOfSampleNum
public void setLengthSizeOfSampleNum(int lengthSizeOfSampleNum)
getTrackId
public long getTrackId()
getReserved
public int getReserved()
getLengthSizeOfTrafNum
public int getLengthSizeOfTrafNum()
getLengthSizeOfTrunNum
public int getLengthSizeOfTrunNum()
getLengthSizeOfSampleNum
public int getLengthSizeOfSampleNum()
getNumberOfEntries
public long getNumberOfEntries()
getEntries
public List<TrackFragmentRandomAccessBox.Entry> getEntries()
setEntries
public void setEntries(List<TrackFragmentRandomAccessBox.Entry> entries)
Copyright © 2012. All Rights Reserved.