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 TypeMethodDescriptionvoidonAudioDecoderInitialized(String decoderName, long initializedTimestampMs, long initializationDurationMs) Called when a decoder is created.voidonAudioDisabled(com.google.android.exoplayer2.decoder.DecoderCounters counters) Called when the renderer is disabled.voidonAudioEnabled(com.google.android.exoplayer2.decoder.DecoderCounters counters) Called when the renderer is enabled.voidonAudioInputFormatChanged(com.google.android.exoplayer2.Format format) Called when the format of the media being consumed by the renderer changes.voidonAudioSessionId(int audioSessionId) Called when the audio session is set.voidonAudioSinkUnderrun(int bufferSize, long bufferSizeMs, long elapsedSinceLastFeedMs) Called when anAudioSinkunderrun occurs.voidonPositionFramesMismatch(long audioTimestampPositionFrames, long audioTimestampSystemTimeUs, long systemTimeUs, long playbackPositionUs) Called when the frame position is too far from the expected frame position.voidonSystemTimeUsMismatch(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-DecoderCountersthat 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-DecoderCountersthat 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 anAudioSinkunderrun 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_UNSETif 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 theAudioSinkwas 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.
-