TsPayloadReader


@UnstableApi
public interface TsPayloadReader

Known direct subclasses
PesReader

Parses PES packet data and extracts samples.

SectionReader

Reads section data packets and feeds the whole sections to a given SectionPayloadReader.


Parses TS packet payload data.

Summary

Nested types

Holds information about a DVB subtitle, as defined in ETSI EN 300 468 V1.11.1 section 6.2.41.

public final class TsPayloadReader.EsInfo

Holds information associated with a PMT entry.

@Documented
@Retention(value = SOURCE)
@Target(value = TYPE_USE)
@IntDef(value = )
public annotation TsPayloadReader.EsInfo.AudioType

The audio type of the stream, as defined by ISO/IEC 13818-1, section 2.6.18.

public interface TsPayloadReader.Factory

Factory of TsPayloadReader instances.

@Documented
@Retention(value = RetentionPolicy.SOURCE)
@Target(value = TYPE_USE)
@IntDef(flag = true, value = )
public annotation TsPayloadReader.Flags

Contextual flags indicating the presence of indicators in the TS packet or PES packet headers.

Generates track ids for initializing TsPayloadReaders' TrackOutputs.

Constants

default static final int

Indicates the presence of the data_alignment_indicator in the PES header.

default static final int

Indicates the presence of the payload_unit_start_indicator in the TS packet header.

default static final int

Indicates the presence of the random_access_indicator in the TS packet header adaptation field.

Public methods

abstract void

Consumes the payload of a TS packet.

abstract void
init(
    TimestampAdjuster timestampAdjuster,
    ExtractorOutput extractorOutput,
    TsPayloadReader.TrackIdGenerator idGenerator
)

Initializes the payload reader.

abstract void

Notifies the reader that a seek has occurred.

Constants

FLAG_DATA_ALIGNMENT_INDICATOR

default static final int FLAG_DATA_ALIGNMENT_INDICATOR = 4

Indicates the presence of the data_alignment_indicator in the PES header.

FLAG_PAYLOAD_UNIT_START_INDICATOR

default static final int FLAG_PAYLOAD_UNIT_START_INDICATOR = 1

Indicates the presence of the payload_unit_start_indicator in the TS packet header.

FLAG_RANDOM_ACCESS_INDICATOR

default static final int FLAG_RANDOM_ACCESS_INDICATOR = 2

Indicates the presence of the random_access_indicator in the TS packet header adaptation field.

Public methods

consume

abstract void consume(ParsableByteArray data, @TsPayloadReader.Flags int flags)

Consumes the payload of a TS packet.

Parameters
ParsableByteArray data

The TS packet. The position will be set to the start of the payload.

@TsPayloadReader.Flags int flags

See Flags.

Throws
androidx.media3.common.ParserException

If the payload could not be parsed.

init

abstract void init(
    TimestampAdjuster timestampAdjuster,
    ExtractorOutput extractorOutput,
    TsPayloadReader.TrackIdGenerator idGenerator
)

Initializes the payload reader.

Parameters
TimestampAdjuster timestampAdjuster

A timestamp adjuster for offsetting and scaling sample timestamps.

ExtractorOutput extractorOutput

The ExtractorOutput that receives the extracted data.

TsPayloadReader.TrackIdGenerator idGenerator

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

seek

abstract void seek()

Notifies the reader that a seek has occurred.

Following a call to this method, the data passed to the next invocation of consume will not be a continuation of the data that was previously passed. Hence the reader should reset any internal state.