MetricsCollector

This class is responsible for collecting and computing playback statistics metrics such as:

  • Stalls (count and duration)

  • Playtime

  • Bitrate (estimated and indicated)

  • Loading times (manifest, asset, source, DRM)

  • Video and audio format information

  • Dropped video frames

  • Surface size

Constructors

Link copied to clipboard
constructor(sessionManager: PlaybackSessionManager, clock: Clock)

Types

Link copied to clipboard
interface Listener

A listener interface for receiving updates about playback metrics.

Functions

Link copied to clipboard

Registers a listener to receive events.

Link copied to clipboard

Retrieves the current playback metrics.

Link copied to clipboard

Retrieves playback metrics for a given playback session.

Link copied to clipboard
open override fun onAudioDisabled(eventTime: AnalyticsListener.EventTime, decoderCounters: DecoderCounters)
Link copied to clipboard
open override fun onAudioInputFormatChanged(eventTime: AnalyticsListener.EventTime, format: Format, decoderReuseEvaluation: DecoderReuseEvaluation?)
Link copied to clipboard
open override fun onAudioPositionAdvancing(eventTime: AnalyticsListener.EventTime, playoutStartSystemTimeMs: Long)
Link copied to clipboard
open override fun onBandwidthEstimate(eventTime: AnalyticsListener.EventTime, totalLoadTimeMs: Int, totalBytesLoaded: Long, bitrateEstimate: Long)
Link copied to clipboard
open override fun onDrmKeysLoaded(eventTime: AnalyticsListener.EventTime)
Link copied to clipboard
open override fun onDrmKeysRemoved(eventTime: AnalyticsListener.EventTime)
Link copied to clipboard
open override fun onDrmKeysRestored(eventTime: AnalyticsListener.EventTime)
Link copied to clipboard
open override fun onDrmSessionAcquired(eventTime: AnalyticsListener.EventTime, state: Int)
Link copied to clipboard
Link copied to clipboard
open override fun onDroppedVideoFrames(eventTime: AnalyticsListener.EventTime, droppedFrames: Int, elapsedMs: Long)
Link copied to clipboard
open override fun onIsPlayingChanged(eventTime: AnalyticsListener.EventTime, isPlaying: Boolean)
Link copied to clipboard
open override fun onLoadCompleted(eventTime: AnalyticsListener.EventTime, loadEventInfo: LoadEventInfo, mediaLoadData: MediaLoadData)
Link copied to clipboard
open override fun onLoadError(eventTime: AnalyticsListener.EventTime, loadEventInfo: LoadEventInfo, mediaLoadData: MediaLoadData, error: IOException, wasCanceled: Boolean)
Link copied to clipboard
open override fun onLoadStarted(eventTime: AnalyticsListener.EventTime, loadEventInfo: LoadEventInfo, mediaLoadData: MediaLoadData)
Link copied to clipboard
open override fun onPlaybackStateChanged(eventTime: AnalyticsListener.EventTime, state: Int)
Link copied to clipboard
open override fun onPlayerReleased(eventTime: AnalyticsListener.EventTime)
Link copied to clipboard
open override fun onRenderedFirstFrame(eventTime: AnalyticsListener.EventTime, output: Any, renderTimeMs: Long)
Link copied to clipboard
open override fun onStallChanged(eventTime: AnalyticsListener.EventTime, isStall: Boolean)

Called when the player's stall state changes.

Link copied to clipboard
open override fun onSurfaceSizeChanged(eventTime: AnalyticsListener.EventTime, width: Int, height: Int)
Link copied to clipboard
open override fun onVideoDisabled(eventTime: AnalyticsListener.EventTime, decoderCounters: DecoderCounters)

On video disabled is called when releasing the player

Link copied to clipboard
open override fun onVideoInputFormatChanged(eventTime: AnalyticsListener.EventTime, format: Format, decoderReuseEvaluation: DecoderReuseEvaluation?)
Link copied to clipboard

Removes the specified listener from the list of listeners.

Inherited functions

Link copied to clipboard
Link copied to clipboard

Called when the player reaches a blocked time range.

Link copied to clipboard
open fun onChapterChanged(eventTime: AnalyticsListener.EventTime, chapter: Chapter?)

Called when the current chapter changes. This can occur when either:

Link copied to clipboard
open fun onCreditChanged(eventTime: AnalyticsListener.EventTime, credit: Credit?)

Called when the current credit changes. This can occur when either:

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun onSmoothSeekingEnabledChanged(eventTime: AnalyticsListener.EventTime, smoothSeekingEnabled: Boolean)

Called when the smooth seeking enabled state changes.

Link copied to clipboard
Link copied to clipboard
open fun onTrackingEnabledChanged(eventTime: AnalyticsListener.EventTime, trackingEnabled: Boolean)

Called when the tracking enabled state changes.

Link copied to clipboard
Link copied to clipboard