@UnstableApi
public final class Ac4Reader implements ElementaryStreamReader


Parses a continuous AC-4 byte stream and extracts individual samples.

Summary

Public constructors

Ac4Reader(String containerMimeType)

Constructs a new reader for AC-4 elementary streams.

Ac4Reader(
    @Nullable String language,
    @C.RoleFlags int roleFlags,
    String containerMimeType
)

Constructs a new reader for AC-4 elementary streams.

Public methods

void

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
packetStarted(long pesTimeUs, @TsPayloadReader.Flags int flags)

Called when a packet starts.

void

Notifies the reader that a seek has occurred.

Inherited methods

From androidx.media3.extractor.ts.ElementaryStreamReader
void

Called when there will be no further packets (unless a seek occurs) because the stream ended.

void

Called when a PES packet ends.

Public constructors

Ac4Reader

public Ac4Reader(String containerMimeType)

Constructs a new reader for AC-4 elementary streams.

Parameters
String containerMimeType

The MIME type of the container holding the stream.

Ac4Reader

public Ac4Reader(
    @Nullable String language,
    @C.RoleFlags int roleFlags,
    String containerMimeType
)

Constructs a new reader for AC-4 elementary streams.

Parameters
@Nullable String language

Track language.

@C.RoleFlags int roleFlags

Track role flags.

String containerMimeType

The MIME type of the container holding the stream.

Public methods

consume

public void consume(ParsableByteArray data)

Consumes (possibly partial) data from the current packet.

Parameters
ParsableByteArray data

The data to consume.

Throws
androidx.media3.common.ParserException

If the data could not be parsed.

createTracks

public void createTracks(
    ExtractorOutput extractorOutput,
    TsPayloadReader.TrackIdGenerator idGenerator
)

Initializes the reader by providing outputs and ids for the tracks.

Parameters
ExtractorOutput extractorOutput

The ExtractorOutput that receives the extracted data.

TsPayloadReader.TrackIdGenerator idGenerator

A PesReader.TrackIdGenerator that generates unique track ids for the TrackOutputs.

packetStarted

public void packetStarted(long pesTimeUs, @TsPayloadReader.Flags int flags)

Called when a packet starts.

Parameters
long pesTimeUs

The timestamp associated with the packet.

@TsPayloadReader.Flags int flags

See TsPayloadReader.Flags.

seek

public void seek()

Notifies the reader that a seek has occurred.