Package com.google.android.exoplayer2.extractor.ts

## Interface TsPayloadReader

- All Known Implementing Classes:
    `PesReader`, `SectionReader`

      public interface TsPayloadReader

  Parses TS packet payload data.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface | Description
    --- | --- | ---
    `static class` | `TsPayloadReader.DvbSubtitleInfo` | Holds information about a DVB subtitle, as defined in ETSI EN 300 468 V1.11.1 section 6.2.41.
    `static class` | `TsPayloadReader.EsInfo` | Holds information associated with a PMT entry.
    `static interface` | `TsPayloadReader.Factory` | Factory of `TsPayloadReader` instances.
    `static interface` | `TsPayloadReader.Flags` | Contextual flags indicating the presence of indicators in the TS packet or PES packet headers.
    `static class` | `TsPayloadReader.TrackIdGenerator` | Generates track ids for initializing `TsPayloadReader`s' `TrackOutput`s.

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static int` | `FLAG_DATA_ALIGNMENT_INDICATOR` | Indicates the presence of the data_alignment_indicator in the PES header.
    `static int` | `FLAG_PAYLOAD_UNIT_START_INDICATOR` | Indicates the presence of the payload_unit_start_indicator in the TS packet header.
    `static int` | `FLAG_RANDOM_ACCESS_INDICATOR` | Indicates the presence of the random_access_indicator in the TS packet header adaptation field.

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `consume​(ParsableByteArray data, @com.google.android.exoplayer2.extractor.ts.TsPayloadReader.Flags int flags)` | Consumes the payload of a TS packet.
    `void` | `init​(TimestampAdjuster timestampAdjuster, ExtractorOutput extractorOutput, TsPayloadReader.TrackIdGenerator idGenerator)` | Initializes the payload reader.
    `void` | `seek()` | Notifies the reader that a seek has occurred.

- - ### Field Detail

    - #### FLAG_PAYLOAD_UNIT_START_INDICATOR

          static final int FLAG_PAYLOAD_UNIT_START_INDICATOR

      Indicates the presence of the payload_unit_start_indicator in the TS packet header.
      See Also:
        Constant Field Values

    - #### FLAG_RANDOM_ACCESS_INDICATOR

          static final int FLAG_RANDOM_ACCESS_INDICATOR

      Indicates the presence of the random_access_indicator in the TS packet header adaptation field.
      See Also:
        Constant Field Values

    - #### FLAG_DATA_ALIGNMENT_INDICATOR

          static final int FLAG_DATA_ALIGNMENT_INDICATOR

      Indicates the presence of the data_alignment_indicator in the PES header.
      See Also:
        Constant Field Values

  - ### Method Detail

    - #### init

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

      Initializes the payload reader.
      Parameters:
        `timestampAdjuster` - A timestamp adjuster for offsetting and scaling sample timestamps.
        `extractorOutput` - The `ExtractorOutput` that receives the extracted data.
        `idGenerator` - A `TsPayloadReader.TrackIdGenerator` that generates unique track ids for the `TrackOutput`s.

    - #### seek

          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(com.google.android.exoplayer2.util.ParsableByteArray, @com.google.android.exoplayer2.extractor.ts.TsPayloadReader.Flags int)` will not be a continuation of the data that was previously passed. Hence the reader should reset any internal state.

    - #### consume

          void consume​(ParsableByteArray data,
                       @com.google.android.exoplayer2.extractor.ts.TsPayloadReader.Flags int flags)
                throws ParserException

      Consumes the payload of a TS packet.
      Parameters:
        `data` - The TS packet. The position will be set to the start of the payload.
        `flags` - See `TsPayloadReader.Flags`.
      Throws:
        `ParserException` - If the payload could not be parsed.