public abstract class AbstractMP4DemuxerTrack extends Object implements SeekableDemuxerTrack
Modifier and Type | Field and Description |
---|---|
protected TrakBox |
box |
protected long[] |
chunkOffsets |
protected long |
curFrame |
protected long |
duration |
protected long |
pts |
protected SampleEntry[] |
sampleEntries |
protected SampleToChunkBox.SampleToChunkEntry[] |
sampleToChunks |
protected int |
stcoInd |
protected int |
stscInd |
protected int |
sttsInd |
protected int |
sttsSubInd |
protected int |
timescale |
protected TimeToSampleBox.TimeToSampleEntry[] |
timeToSamples |
Constructor and Description |
---|
AbstractMP4DemuxerTrack(TrakBox trak) |
Modifier and Type | Method and Description |
---|---|
boolean |
canSeek(long pts) |
ByteBuffer |
convertPacket(ByteBuffer _in) |
TrakBox |
getBox() |
long |
getCurFrame()
Gets an index of the frame that the next call to 'nextFrame' will return,
zero based.
|
RationalLarge |
getDuration() |
List<Edit> |
getEdits() |
String |
getFourcc() |
abstract long |
getFrameCount() |
DemuxerTrackMeta |
getMeta() |
String |
getName() |
abstract MP4Packet |
getNextFrame(ByteBuffer storage) |
int |
getNo() |
SampleEntry[] |
getSampleEntries() |
long |
getTimescale() |
MP4TrackType |
getType() |
boolean |
gotoFrame(long frameNo)
Goes to exactly frameNo.
|
protected void |
nextChunk() |
int |
pts2Sample(long _tv,
int _timescale) |
protected ByteBuffer |
readPacketData(SeekableByteChannel input,
ByteBuffer buffer,
long offset,
int size) |
void |
seek(double second)
Seeks this container to the second provided so that the next call to
nextFrame will return a frame at that second.
|
protected abstract void |
seekPointer(long frameNo) |
boolean |
seekPts(long pts) |
protected void |
shiftPts(long frames) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
gotoSyncFrame
nextFrame
protected TrakBox box
protected SampleEntry[] sampleEntries
protected TimeToSampleBox.TimeToSampleEntry[] timeToSamples
protected SampleToChunkBox.SampleToChunkEntry[] sampleToChunks
protected long[] chunkOffsets
protected long duration
protected int sttsInd
protected int sttsSubInd
protected int stcoInd
protected int stscInd
protected long pts
protected long curFrame
protected int timescale
public AbstractMP4DemuxerTrack(TrakBox trak)
public int pts2Sample(long _tv, int _timescale)
public MP4TrackType getType()
public int getNo()
public SampleEntry[] getSampleEntries()
public TrakBox getBox()
public long getTimescale()
protected abstract void seekPointer(long frameNo)
public boolean canSeek(long pts)
public boolean seekPts(long pts)
protected void shiftPts(long frames)
protected void nextChunk()
public boolean gotoFrame(long frameNo)
SeekableDemuxerTrack
gotoFrame
in interface SeekableDemuxerTrack
frameNo
- Frame number, zero based, to go to.public void seek(double second)
SeekableDemuxerTrack
seek
in interface SeekableDemuxerTrack
second
- A second to seek to.public RationalLarge getDuration()
public abstract long getFrameCount()
public long getCurFrame()
SeekableDemuxerTrack
getCurFrame
in interface SeekableDemuxerTrack
public String getName()
public String getFourcc()
protected ByteBuffer readPacketData(SeekableByteChannel input, ByteBuffer buffer, long offset, int size) throws IOException
IOException
public abstract MP4Packet getNextFrame(ByteBuffer storage) throws IOException
IOException
public ByteBuffer convertPacket(ByteBuffer _in)
public DemuxerTrackMeta getMeta()
getMeta
in interface DemuxerTrack
Copyright © 2019. All rights reserved.