Package com.google.android.exoplayer2.source.rtsp.reader

## Class RtpAc3Reader

- java.lang.Object
- - com.google.android.exoplayer2.source.rtsp.reader.RtpAc3Reader

- All Implemented Interfaces:
    `RtpPayloadReader`

      public final class RtpAc3Reader
      extends Object
      implements RtpPayloadReader

  Parses an AC3 byte stream carried on RTP packets, and extracts AC3 frames.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface com.google.android.exoplayer2.source.rtsp.reader.RtpPayloadReader

      `RtpPayloadReader.Factory`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `RtpAc3Reader​(RtpPayloadFormat payloadFormat)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `consume​(ParsableByteArray data, long timestamp, int sequenceNumber, boolean isFrameBoundary)` | Consumes the payload from the an RTP packet.
    `void` | `createTracks​(ExtractorOutput extractorOutput, int trackId)` | Initializes the reader by providing its output and track id.
    `void` | `onReceivingFirstPacket​(long timestamp, int sequenceNumber)` | This method should be called on reading the first packet in a stream of incoming packets.
    `void` | `seek​(long nextRtpTimestamp, long timeUs)` | Seeks the reader.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### RtpAc3Reader

          public RtpAc3Reader​(RtpPayloadFormat payloadFormat)

  - ### Method Detail

    - #### createTracks

          public void createTracks​(ExtractorOutput extractorOutput,
                                   int trackId)

      Description copied from interface: `RtpPayloadReader`
      Initializes the reader by providing its output and track id.
      Specified by:
        `createTracks` in interface `RtpPayloadReader`
      Parameters:
        `extractorOutput` - The `ExtractorOutput` instance that receives the extracted data.
        `trackId` - The track identifier to set on the format.

    - #### onReceivingFirstPacket

          public void onReceivingFirstPacket​(long timestamp,
                                             int sequenceNumber)

      Description copied from interface: `RtpPayloadReader`
      This method should be called on reading the first packet in a stream of incoming packets.
      Specified by:
        `onReceivingFirstPacket` in interface `RtpPayloadReader`
      Parameters:
        `timestamp` - The timestamp associated with the first received RTP packet. This number has no unit, the duration conveyed by it depends on the frequency of the media that the RTP packet is carrying.
        `sequenceNumber` - The sequence associated with the first received RTP packet.

    - #### consume

          public void consume​(ParsableByteArray data,
                              long timestamp,
                              int sequenceNumber,
                              boolean isFrameBoundary)

      Description copied from interface: `RtpPayloadReader`
      Consumes the payload from the an RTP packet.
      Specified by:
        `consume` in interface `RtpPayloadReader`
      Parameters:
        `data` - The RTP payload to consume.
        `timestamp` - The timestamp of the RTP packet that transmitted the data. This number has no unit, the duration conveyed by it depends on the frequency of the media that the RTP packet is carrying.
        `sequenceNumber` - The sequence number of the RTP packet.
        `isFrameBoundary` - The marker bit of the RTP packet. The interpretation of this bit is specific to each payload format.

    - #### seek

          public void seek​(long nextRtpTimestamp,
                           long timeUs)

      Description copied from interface: `RtpPayloadReader`
      Seeks the reader.

      This method must only be invoked after the PLAY request for seeking is acknowledged by the RTSP server.

      Specified by:
        `seek` in interface `RtpPayloadReader`
      Parameters:
        `nextRtpTimestamp` - The timestamp of the first packet to arrive after seek.
        `timeUs` - The server acknowledged seek time in microseconds.