Package com.google.android.exoplayer2.text

## Class ExoplayerCuesDecoder

- java.lang.Object
- - com.google.android.exoplayer2.text.ExoplayerCuesDecoder

- All Implemented Interfaces:
    `Decoder<SubtitleInputBuffer,​SubtitleOutputBuffer,​SubtitleDecoderException>`, `SubtitleDecoder`

      public final class ExoplayerCuesDecoder
      extends Object
      implements SubtitleDecoder

  A `SubtitleDecoder` that decodes subtitle samples of type `MimeTypes.TEXT_EXOPLAYER_CUES`

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ExoplayerCuesDecoder()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `SubtitleInputBuffer` | `dequeueInputBuffer()` | Dequeues the next input buffer to be filled and queued to the decoder.
    `SubtitleOutputBuffer` | `dequeueOutputBuffer()` | Dequeues the next output buffer from the decoder.
    `void` | `flush()` | Flushes the decoder.
    `String` | `getName()` | Returns the name of the decoder.
    `void` | `queueInputBuffer​(SubtitleInputBuffer inputBuffer)` | Queues an input buffer to the decoder.
    `void` | `release()` | Releases the decoder.
    `void` | `setPositionUs​(long positionUs)` | Informs the decoder of the current playback position.

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

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

- - ### Constructor Detail

    - #### ExoplayerCuesDecoder

          public ExoplayerCuesDecoder()

  - ### Method Detail

    - #### getName

          public String getName()

      Description copied from interface: `Decoder`
      Returns the name of the decoder.
      Specified by:
        `getName` in interface `Decoder<SubtitleInputBuffer,​SubtitleOutputBuffer,​SubtitleDecoderException>`
      Returns:
        The name of the decoder.

    - #### dequeueInputBuffer

          @Nullable
          public SubtitleInputBuffer dequeueInputBuffer()
                                                 throws SubtitleDecoderException

      Description copied from interface: `Decoder`
      Dequeues the next input buffer to be filled and queued to the decoder.
      Specified by:
        `dequeueInputBuffer` in interface `Decoder<SubtitleInputBuffer,​SubtitleOutputBuffer,​SubtitleDecoderException>`
      Returns:
        The input buffer, which will have been cleared, or null if a buffer isn't available.
      Throws:
        `SubtitleDecoderException`

    - #### queueInputBuffer

          public void queueInputBuffer​(SubtitleInputBuffer inputBuffer)
                                throws SubtitleDecoderException

      Description copied from interface: `Decoder`
      Queues an input buffer to the decoder.
      Specified by:
        `queueInputBuffer` in interface `Decoder<SubtitleInputBuffer,​SubtitleOutputBuffer,​SubtitleDecoderException>`
      Parameters:
        `inputBuffer` - The input buffer.
      Throws:
        `SubtitleDecoderException`

    - #### dequeueOutputBuffer

          @Nullable
          public SubtitleOutputBuffer dequeueOutputBuffer()
                                                   throws SubtitleDecoderException

      Description copied from interface: `Decoder`
      Dequeues the next output buffer from the decoder.
      Specified by:
        `dequeueOutputBuffer` in interface `Decoder<SubtitleInputBuffer,​SubtitleOutputBuffer,​SubtitleDecoderException>`
      Returns:
        The output buffer, or null if an output buffer isn't available.
      Throws:
        `SubtitleDecoderException`

    - #### flush

          public void flush()

      Description copied from interface: `Decoder`
      Flushes the decoder. Ownership of dequeued input buffers is returned to the decoder. The caller is still responsible for releasing any dequeued output buffers.
      Specified by:
        `flush` in interface `Decoder<SubtitleInputBuffer,​SubtitleOutputBuffer,​SubtitleDecoderException>`

    - #### release

          public void release()

      Description copied from interface: `Decoder`
      Releases the decoder. Must be called when the decoder is no longer needed.
      Specified by:
        `release` in interface `Decoder<SubtitleInputBuffer,​SubtitleOutputBuffer,​SubtitleDecoderException>`

    - #### setPositionUs

          public void setPositionUs​(long positionUs)

      Description copied from interface: `SubtitleDecoder`
      Informs the decoder of the current playback position.

      Must be called prior to each attempt to dequeue output buffers from the decoder.

      Specified by:
        `setPositionUs` in interface `SubtitleDecoder`
      Parameters:
        `positionUs` - The current playback position in microseconds.