Interface AudioRendererListener

All Known Implementing Classes:
AbstractAudioRendererListener

public interface AudioRendererListener
A listener that can be attached to the PlayerController to be informed about audio rendering events such as decoder initializations, format changes and frame drops. Note that all events are posted async on the main thread
Since:
4.2.25
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    onAudioDecoderInitialized(String decoderName, long initializedTimestampMs, long initializationDurationMs)
    Called when a decoder is created.
    void
    onAudioDisabled(com.google.android.exoplayer2.decoder.DecoderCounters counters)
    Called when the renderer is disabled.
    void
    onAudioEnabled(com.google.android.exoplayer2.decoder.DecoderCounters counters)
    Called when the renderer is enabled.
    void
    onAudioInputFormatChanged(com.google.android.exoplayer2.Format format)
    Called when the format of the media being consumed by the renderer changes.
    void
    onAudioSessionId(int audioSessionId)
    Called when the audio session is set.
    void
    onAudioSinkUnderrun(int bufferSize, long bufferSizeMs, long elapsedSinceLastFeedMs)
    Called when an AudioSink underrun occurs.
    void
    onPositionFramesMismatch(long audioTimestampPositionFrames, long audioTimestampSystemTimeUs, long systemTimeUs, long playbackPositionUs)
    Called when the frame position is too far from the expected frame position.
    void
    onSystemTimeUsMismatch(long audioTimestampPositionFrames, long audioTimestampSystemTimeUs, long systemTimeUs, long playbackPositionUs)
    Called when the system time associated with the last known audio track timestamp is unexpectedly far from the current time.
  • Method Details

    • onAudioEnabled

      void onAudioEnabled(com.google.android.exoplayer2.decoder.DecoderCounters counters)
      Called when the renderer is enabled.
      Parameters:
      counters - DecoderCounters that will be updated by the renderer for as long as it remains enabled.
    • onAudioDecoderInitialized

      void onAudioDecoderInitialized(String decoderName, long initializedTimestampMs, long initializationDurationMs)
      Called when a decoder is created.
      Parameters:
      decoderName - The decoder that was created.
      initializedTimestampMs - SystemClock.elapsedRealtime() when initialization finished.
      initializationDurationMs - The time taken to initialize the decoder in milliseconds.
    • onAudioInputFormatChanged

      void onAudioInputFormatChanged(com.google.android.exoplayer2.Format format)
      Called when the format of the media being consumed by the renderer changes.
      Parameters:
      format - The new format.
    • onAudioDisabled

      void onAudioDisabled(com.google.android.exoplayer2.decoder.DecoderCounters counters)
      Called when the renderer is disabled.
      Parameters:
      counters - DecoderCounters that were updated by the renderer.
    • onAudioSessionId

      void onAudioSessionId(int audioSessionId)
      Called when the audio session is set.
      Parameters:
      audioSessionId - The audio session id.
    • onAudioSinkUnderrun

      void onAudioSinkUnderrun(int bufferSize, long bufferSizeMs, long elapsedSinceLastFeedMs)
      Called when an AudioSink underrun occurs.
      Parameters:
      bufferSize - The size of the AudioSink's buffer, in bytes.
      bufferSizeMs - The size of the AudioSink's buffer, in milliseconds, if it is configured for PCM output. C.TIME_UNSET if it is configured for passthrough output, as the buffered media can have a variable bitrate so the duration may be unknown.
      elapsedSinceLastFeedMs - The time since the AudioSink was last fed data.
    • onPositionFramesMismatch

      void onPositionFramesMismatch(long audioTimestampPositionFrames, long audioTimestampSystemTimeUs, long systemTimeUs, long playbackPositionUs)
      Called when the frame position is too far from the expected frame position.
      Parameters:
      audioTimestampPositionFrames - The frame position of the last known audio track timestamp.
      audioTimestampSystemTimeUs - The system time associated with the last known audio track timestamp, in microseconds.
      systemTimeUs - The current time.
      playbackPositionUs - The current playback head position in microseconds.
    • onSystemTimeUsMismatch

      void onSystemTimeUsMismatch(long audioTimestampPositionFrames, long audioTimestampSystemTimeUs, long systemTimeUs, long playbackPositionUs)
      Called when the system time associated with the last known audio track timestamp is unexpectedly far from the current time.
      Parameters:
      audioTimestampPositionFrames - The frame position of the last known audio track timestamp.
      audioTimestampSystemTimeUs - The system time associated with the last known audio track timestamp, in microseconds.
      systemTimeUs - The current time.
      playbackPositionUs - The current playback head position in microseconds.