public class H264TrackImpl extends AbstractTrack
H264TrackImpl
creates a Track
from an H.264
Annex B file.Modifier and Type | Class and Description |
---|---|
class |
H264TrackImpl.ByteBufferBackedInputStream |
protected class |
H264TrackImpl.CleanInputStream |
class |
H264TrackImpl.SEIMessage |
static class |
H264TrackImpl.SliceHeader |
Constructor and Description |
---|
H264TrackImpl(DataSource fc) |
H264TrackImpl(DataSource fc,
String lang) |
H264TrackImpl(DataSource fc,
String lang,
long timescale,
int frametick)
Creates a new
Track object from a raw H264 source (DataSource fc ). |
Modifier and Type | Method and Description |
---|---|
protected InputStream |
cleanBuffer(InputStream is) |
protected Sample |
createSample(List<? extends ByteBuffer> buffers)
Builds the sample by prepending the length of each buffer to the data
|
List<CompositionTimeToSample.Entry> |
getCompositionTimeEntries() |
String |
getHandler() |
AbstractMediaHeaderBox |
getMediaHeaderBox() |
List<SampleDependencyTypeBox.Entry> |
getSampleDependencies() |
SampleDescriptionBox |
getSampleDescriptionBox() |
long[] |
getSampleDurations()
Each samples is covers a small time span in a video.
|
List<Sample> |
getSamples() |
long[] |
getSyncSamples() |
TrackMetaData |
getTrackMetaData() |
getDuration, getSubsampleInformationBox
public H264TrackImpl(DataSource fc, String lang, long timescale, int frametick) throws IOException
Track
object from a raw H264 source (DataSource fc
).
Whenever the timescale and frametick are set to negative value (e.g. -1) the H264TrackImpl
tries to detect the frame rate.
Typically values for timescale
and frametick
are:
fc
- the source file of the H264 sampleslang
- language of the movie (in doubt: use "eng")timescale
- number of time units (ticks) in one secondframetick
- number of time units (ticks) that pass while showing exactly one frameIOException
- in case of problems whiel reading from the DataSource
public H264TrackImpl(DataSource fc, String lang) throws IOException
IOException
public H264TrackImpl(DataSource fc) throws IOException
IOException
public SampleDescriptionBox getSampleDescriptionBox()
public List<CompositionTimeToSample.Entry> getCompositionTimeEntries()
getCompositionTimeEntries
in interface Track
getCompositionTimeEntries
in class AbstractTrack
public long[] getSyncSamples()
getSyncSamples
in interface Track
getSyncSamples
in class AbstractTrack
public List<SampleDependencyTypeBox.Entry> getSampleDependencies()
getSampleDependencies
in interface Track
getSampleDependencies
in class AbstractTrack
public TrackMetaData getTrackMetaData()
public String getHandler()
public AbstractMediaHeaderBox getMediaHeaderBox()
protected Sample createSample(List<? extends ByteBuffer> buffers)
buffers
- protected InputStream cleanBuffer(InputStream is)
public long[] getSampleDurations()
Track
Track.getSamples()
contains.Copyright © 2014. All rights reserved.