Package com.castlabs.android.player
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 TypeMethodDescriptionvoid
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 anAudioSink
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 anAudioSink
underrun occurs.- Parameters:
bufferSize
- The size of theAudioSink
's buffer, in bytes.bufferSizeMs
- The size of theAudioSink
'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 theAudioSink
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.
-