H264Reader
@UnstableApi
class H264Reader : ElementaryStreamReader
Parses a continuous H264 byte stream and extracts individual frames.
Summary
Public constructors |
|---|
H264Reader( |
Public functions |
|
|---|---|
Unit |
consume(data: ParsableByteArray!)Consumes (possibly partial) data from the current packet. |
Unit |
createTracks(Initializes the reader by providing outputs and ids for the tracks. |
Unit |
packetFinished(isEndOfInput: Boolean)Called when a packet ends. |
Unit |
packetStarted(pesTimeUs: Long, @TsPayloadReader.Flags flags: Int)Called when a packet starts. |
Unit |
seek()Notifies the reader that a seek has occurred. |
Public constructors
H264Reader
H264Reader(
seiReader: SeiReader!,
allowNonIdrKeyframes: Boolean,
detectAccessUnits: Boolean,
containerMimeType: String!
)
| Parameters | |
|---|---|
seiReader: SeiReader! |
An SEI reader for consuming closed caption channels. |
allowNonIdrKeyframes: Boolean |
Whether to treat samples consisting of non-IDR I slices as synchronization samples (key-frames). |
detectAccessUnits: Boolean |
Whether to split the input stream into access units (samples) based on slice headers. Pass |
containerMimeType: String! |
The MIME type of the container holding the stream. |
Public functions
consume
fun consume(data: ParsableByteArray!): Unit
Consumes (possibly partial) data from the current packet.
| Parameters | |
|---|---|
data: ParsableByteArray! |
The data to consume. |
| Throws | |
|---|---|
androidx.media3.common.ParserException |
If the data could not be parsed. |
createTracks
fun createTracks(
extractorOutput: ExtractorOutput!,
idGenerator: TsPayloadReader.TrackIdGenerator!
): Unit
Initializes the reader by providing outputs and ids for the tracks.
| Parameters | |
|---|---|
extractorOutput: ExtractorOutput! |
The |
idGenerator: TsPayloadReader.TrackIdGenerator! |
A |
packetStarted
fun packetStarted(pesTimeUs: Long, @TsPayloadReader.Flags flags: Int): Unit
Called when a packet starts.
| Parameters | |
|---|---|
pesTimeUs: Long |
The timestamp associated with the packet. |
@TsPayloadReader.Flags flags: Int |