public final class H264Reader extends Object implements ElementaryStreamReader
Constructor and Description |
---|
H264Reader(com.google.android.exoplayer2.extractor.ts.SeiReader seiReader,
boolean allowNonIdrKeyframes,
boolean detectAccessUnits) |
Modifier and Type | Method and Description |
---|---|
void |
consume(ParsableByteArray data)
Consumes (possibly partial) data from the current packet.
|
void |
createTracks(ExtractorOutput extractorOutput,
TsPayloadReader.TrackIdGenerator idGenerator)
Initializes the reader by providing outputs and ids for the tracks.
|
void |
packetFinished()
Called when a packet ends.
|
void |
packetStarted(long pesTimeUs,
boolean dataAlignmentIndicator)
Called when a packet starts.
|
void |
seek()
Notifies the reader that a seek has occurred.
|
public H264Reader(com.google.android.exoplayer2.extractor.ts.SeiReader seiReader, boolean allowNonIdrKeyframes, boolean detectAccessUnits)
seiReader
- An SEI reader for consuming closed caption channels.allowNonIdrKeyframes
- Whether to treat samples consisting of non-IDR I slices as
synchronization samples (key-frames).detectAccessUnits
- Whether to split the input stream into access units (samples) based on
slice headers. Pass false
if the stream contains access unit delimiters (AUDs).public void seek()
ElementaryStreamReader
seek
in interface ElementaryStreamReader
public void createTracks(ExtractorOutput extractorOutput, TsPayloadReader.TrackIdGenerator idGenerator)
ElementaryStreamReader
createTracks
in interface ElementaryStreamReader
extractorOutput
- The ExtractorOutput
that receives the extracted data.idGenerator
- A PesReader.TrackIdGenerator
that generates unique track ids for the
TrackOutput
s.public void packetStarted(long pesTimeUs, boolean dataAlignmentIndicator)
ElementaryStreamReader
packetStarted
in interface ElementaryStreamReader
pesTimeUs
- The timestamp associated with the packet.dataAlignmentIndicator
- The data alignment indicator associated with the packet.public void consume(ParsableByteArray data)
ElementaryStreamReader
consume
in interface ElementaryStreamReader
data
- The data to consume.public void packetFinished()
ElementaryStreamReader
packetFinished
in interface ElementaryStreamReader