public interface AnalyticsListener
All events are recorded with an AnalyticsListener.EventTime specifying the elapsed real time and media
time at the time of the event.
| Modifier and Type | Interface and Description |
|---|---|
static class |
AnalyticsListener.EventTime
Time information of an event.
|
| Modifier and Type | Method and Description |
|---|---|
void |
onAudioSessionId(AnalyticsListener.EventTime eventTime,
int audioSessionId)
Called when the audio session id is set.
|
void |
onAudioUnderrun(AnalyticsListener.EventTime eventTime,
int bufferSize,
long bufferSizeMs,
long elapsedSinceLastFeedMs)
Called when an audio underrun occurred.
|
void |
onBandwidthEstimate(AnalyticsListener.EventTime eventTime,
int totalLoadTimeMs,
long totalBytesLoaded,
long bitrateEstimate)
Called when the bandwidth estimate for the current data source has been updated.
|
void |
onDecoderDisabled(AnalyticsListener.EventTime eventTime,
int trackType,
DecoderCounters decoderCounters)
Called when an audio or video decoder has been disabled.
|
void |
onDecoderEnabled(AnalyticsListener.EventTime eventTime,
int trackType,
DecoderCounters decoderCounters)
Called when an audio or video decoder has been enabled.
|
void |
onDecoderInitialized(AnalyticsListener.EventTime eventTime,
int trackType,
java.lang.String decoderName,
long initializationDurationMs)
Called when an audio or video decoder has been initialized.
|
void |
onDecoderInputFormatChanged(AnalyticsListener.EventTime eventTime,
int trackType,
Format format)
Called when an audio or video decoder input format changed.
|
void |
onDownstreamFormatChanged(AnalyticsListener.EventTime eventTime,
MediaSourceEventListener.MediaLoadData mediaLoadData)
Called when the downstream format sent to the renderers changed.
|
void |
onDrmKeysLoaded(AnalyticsListener.EventTime eventTime)
Called each time drm keys are loaded.
|
void |
onDrmKeysRemoved(AnalyticsListener.EventTime eventTime)
Called each time offline drm keys are removed.
|
void |
onDrmKeysRestored(AnalyticsListener.EventTime eventTime)
Called each time offline drm keys are restored.
|
void |
onDrmSessionManagerError(AnalyticsListener.EventTime eventTime,
java.lang.Exception error)
Called when a drm error occurs.
|
void |
onDroppedVideoFrames(AnalyticsListener.EventTime eventTime,
int droppedFrames,
long elapsedMs)
Called after video frames have been dropped.
|
void |
onLoadCanceled(AnalyticsListener.EventTime eventTime,
MediaSourceEventListener.LoadEventInfo loadEventInfo,
MediaSourceEventListener.MediaLoadData mediaLoadData)
Called when a media source canceled loading data.
|
void |
onLoadCompleted(AnalyticsListener.EventTime eventTime,
MediaSourceEventListener.LoadEventInfo loadEventInfo,
MediaSourceEventListener.MediaLoadData mediaLoadData)
Called when a media source completed loading data.
|
void |
onLoadError(AnalyticsListener.EventTime eventTime,
MediaSourceEventListener.LoadEventInfo loadEventInfo,
MediaSourceEventListener.MediaLoadData mediaLoadData,
java.io.IOException error,
boolean wasCanceled)
Called when a media source loading error occurred.
|
void |
onLoadingChanged(AnalyticsListener.EventTime eventTime,
boolean isLoading)
Called when the player starts or stops loading data from a source.
|
void |
onLoadStarted(AnalyticsListener.EventTime eventTime,
MediaSourceEventListener.LoadEventInfo loadEventInfo,
MediaSourceEventListener.MediaLoadData mediaLoadData)
Called when a media source started loading data.
|
void |
onMediaPeriodCreated(AnalyticsListener.EventTime eventTime)
Called when a media source created a media period.
|
void |
onMediaPeriodReleased(AnalyticsListener.EventTime eventTime)
Called when a media source released a media period.
|
void |
onMetadata(AnalyticsListener.EventTime eventTime,
Metadata metadata)
Called when there is
Metadata associated with the current playback time. |
void |
onNetworkTypeChanged(AnalyticsListener.EventTime eventTime,
android.net.NetworkInfo networkInfo)
Called when the type of the network connection changed.
|
void |
onPlaybackParametersChanged(AnalyticsListener.EventTime eventTime,
PlaybackParameters playbackParameters)
Called when the playback parameters changed.
|
void |
onPlayerError(AnalyticsListener.EventTime eventTime,
ExoPlaybackException error)
Called when a fatal player error occurred.
|
void |
onPlayerStateChanged(AnalyticsListener.EventTime eventTime,
boolean playWhenReady,
int playbackState)
Called when the player state changed.
|
void |
onPositionDiscontinuity(AnalyticsListener.EventTime eventTime,
int reason)
Called when a position discontinuity occurred.
|
void |
onReadingStarted(AnalyticsListener.EventTime eventTime)
Called when the player started reading a media period.
|
void |
onRenderedFirstFrame(AnalyticsListener.EventTime eventTime,
android.view.Surface surface)
Called when a frame is rendered for the first time since setting the surface, and when a frame
is rendered for the first time since the renderer was reset.
|
void |
onRepeatModeChanged(AnalyticsListener.EventTime eventTime,
int repeatMode)
Called when the repeat mode changed.
|
void |
onSeekProcessed(AnalyticsListener.EventTime eventTime)
Called when a seek operation was processed.
|
void |
onSeekStarted(AnalyticsListener.EventTime eventTime)
Called when a seek operation started.
|
void |
onShuffleModeChanged(AnalyticsListener.EventTime eventTime,
boolean shuffleModeEnabled)
Called when the shuffle mode changed.
|
void |
onTimelineChanged(AnalyticsListener.EventTime eventTime,
int reason)
Called when the timeline changed.
|
void |
onTracksChanged(AnalyticsListener.EventTime eventTime,
TrackGroupArray trackGroups,
TrackSelectionArray trackSelections)
Called when the available or selected tracks for the renderers changed.
|
void |
onUpstreamDiscarded(AnalyticsListener.EventTime eventTime,
MediaSourceEventListener.MediaLoadData mediaLoadData)
Called when data is removed from the back of a media buffer, typically so that it can be
re-buffered in a different format.
|
void |
onVideoSizeChanged(AnalyticsListener.EventTime eventTime,
int width,
int height,
int unappliedRotationDegrees,
float pixelWidthHeightRatio)
Called before a frame is rendered for the first time since setting the surface, and each time
there's a change in the size or pixel aspect ratio of the video being rendered.
|
void |
onViewportSizeChange(AnalyticsListener.EventTime eventTime,
int width,
int height)
Called when the viewport size of the output surface changed.
|
void onPlayerStateChanged(AnalyticsListener.EventTime eventTime, boolean playWhenReady, int playbackState)
eventTime - The event time.playWhenReady - Whether the playback will proceed when ready.playbackState - One of the Player.STATE constants.void onTimelineChanged(AnalyticsListener.EventTime eventTime, int reason)
eventTime - The event time.reason - The reason for the timeline change.void onPositionDiscontinuity(AnalyticsListener.EventTime eventTime, int reason)
eventTime - The event time.reason - The reason for the position discontinuity.void onSeekStarted(AnalyticsListener.EventTime eventTime)
eventTime - The event time.void onSeekProcessed(AnalyticsListener.EventTime eventTime)
eventTime - The event time.void onPlaybackParametersChanged(AnalyticsListener.EventTime eventTime, PlaybackParameters playbackParameters)
eventTime - The event time.playbackParameters - The new playback parameters.void onRepeatModeChanged(AnalyticsListener.EventTime eventTime, int repeatMode)
eventTime - The event time.repeatMode - The new repeat mode.void onShuffleModeChanged(AnalyticsListener.EventTime eventTime, boolean shuffleModeEnabled)
eventTime - The event time.shuffleModeEnabled - Whether the shuffle mode is enabled.void onLoadingChanged(AnalyticsListener.EventTime eventTime, boolean isLoading)
eventTime - The event time.isLoading - Whether the player is loading.void onPlayerError(AnalyticsListener.EventTime eventTime, ExoPlaybackException error)
eventTime - The event time.error - The error.void onTracksChanged(AnalyticsListener.EventTime eventTime, TrackGroupArray trackGroups, TrackSelectionArray trackSelections)
eventTime - The event time.trackGroups - The available tracks. May be empty.trackSelections - The track selections for each renderer. May contain null elements.void onLoadStarted(AnalyticsListener.EventTime eventTime, MediaSourceEventListener.LoadEventInfo loadEventInfo, MediaSourceEventListener.MediaLoadData mediaLoadData)
eventTime - The event time.loadEventInfo - The MediaSourceEventListener.LoadEventInfo defining the load event.mediaLoadData - The MediaSourceEventListener.MediaLoadData defining the data being loaded.void onLoadCompleted(AnalyticsListener.EventTime eventTime, MediaSourceEventListener.LoadEventInfo loadEventInfo, MediaSourceEventListener.MediaLoadData mediaLoadData)
eventTime - The event time.loadEventInfo - The MediaSourceEventListener.LoadEventInfo defining the load event.mediaLoadData - The MediaSourceEventListener.MediaLoadData defining the data being loaded.void onLoadCanceled(AnalyticsListener.EventTime eventTime, MediaSourceEventListener.LoadEventInfo loadEventInfo, MediaSourceEventListener.MediaLoadData mediaLoadData)
eventTime - The event time.loadEventInfo - The MediaSourceEventListener.LoadEventInfo defining the load event.mediaLoadData - The MediaSourceEventListener.MediaLoadData defining the data being loaded.void onLoadError(AnalyticsListener.EventTime eventTime, MediaSourceEventListener.LoadEventInfo loadEventInfo, MediaSourceEventListener.MediaLoadData mediaLoadData, java.io.IOException error, boolean wasCanceled)
eventTime - The event time.loadEventInfo - The MediaSourceEventListener.LoadEventInfo defining the load event.mediaLoadData - The MediaSourceEventListener.MediaLoadData defining the data being loaded.error - The load error.wasCanceled - Whether the load was canceled as a result of the error.void onDownstreamFormatChanged(AnalyticsListener.EventTime eventTime, MediaSourceEventListener.MediaLoadData mediaLoadData)
eventTime - The event time.mediaLoadData - The MediaSourceEventListener.MediaLoadData defining the newly selected media data.void onUpstreamDiscarded(AnalyticsListener.EventTime eventTime, MediaSourceEventListener.MediaLoadData mediaLoadData)
eventTime - The event time.mediaLoadData - The MediaSourceEventListener.MediaLoadData defining the media being discarded.void onMediaPeriodCreated(AnalyticsListener.EventTime eventTime)
eventTime - The event time.void onMediaPeriodReleased(AnalyticsListener.EventTime eventTime)
eventTime - The event time.void onReadingStarted(AnalyticsListener.EventTime eventTime)
eventTime - The event time.void onBandwidthEstimate(AnalyticsListener.EventTime eventTime, int totalLoadTimeMs, long totalBytesLoaded, long bitrateEstimate)
eventTime - The event time.totalLoadTimeMs - The total time spend loading this update is based on, in milliseconds.totalBytesLoaded - The total bytes loaded this update is based on.bitrateEstimate - The bandwidth estimate, in bits per second.void onViewportSizeChange(AnalyticsListener.EventTime eventTime, int width, int height)
eventTime - The event time.width - The width of the viewport in device-independent pixels (dp).height - The height of the viewport in device-independent pixels (dp).void onNetworkTypeChanged(AnalyticsListener.EventTime eventTime, @Nullable android.net.NetworkInfo networkInfo)
eventTime - The event time.networkInfo - The network info for the current connection, or null if disconnected.void onMetadata(AnalyticsListener.EventTime eventTime, Metadata metadata)
Metadata associated with the current playback time.eventTime - The event time.metadata - The metadata.void onDecoderEnabled(AnalyticsListener.EventTime eventTime, int trackType, DecoderCounters decoderCounters)
eventTime - The event time.trackType - The track type of the enabled decoder. Either C.TRACK_TYPE_AUDIO or
C.TRACK_TYPE_VIDEO.decoderCounters - The accumulated event counters associated with this decoder.void onDecoderInitialized(AnalyticsListener.EventTime eventTime, int trackType, java.lang.String decoderName, long initializationDurationMs)
eventTime - The event time.trackType - The track type of the initialized decoder. Either C.TRACK_TYPE_AUDIO
or C.TRACK_TYPE_VIDEO.decoderName - The decoder that was created.initializationDurationMs - Time taken to initialize the decoder, in milliseconds.void onDecoderInputFormatChanged(AnalyticsListener.EventTime eventTime, int trackType, Format format)
eventTime - The event time.trackType - The track type of the decoder whose format changed. Either C.TRACK_TYPE_AUDIO or C.TRACK_TYPE_VIDEO.format - The new input format for the decoder.void onDecoderDisabled(AnalyticsListener.EventTime eventTime, int trackType, DecoderCounters decoderCounters)
eventTime - The event time.trackType - The track type of the disabled decoder. Either C.TRACK_TYPE_AUDIO or
C.TRACK_TYPE_VIDEO.decoderCounters - The accumulated event counters associated with this decoder.void onAudioSessionId(AnalyticsListener.EventTime eventTime, int audioSessionId)
eventTime - The event time.audioSessionId - The audio session id.void onAudioUnderrun(AnalyticsListener.EventTime eventTime, int bufferSize, long bufferSizeMs, long elapsedSinceLastFeedMs)
eventTime - The event time.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.void onDroppedVideoFrames(AnalyticsListener.EventTime eventTime, int droppedFrames, long elapsedMs)
eventTime - The event time.droppedFrames - The number of dropped frames since the last call to this method.elapsedMs - The duration in milliseconds over which the frames were dropped. This duration
is timed from when the renderer was started or from when dropped frames were last reported
(whichever was more recent), and not from when the first of the reported drops occurred.void onVideoSizeChanged(AnalyticsListener.EventTime eventTime, int width, int height, int unappliedRotationDegrees, float pixelWidthHeightRatio)
eventTime - The event time.width - The width of the video.height - The height of the video.unappliedRotationDegrees - For videos that require a rotation, this is the clockwise
rotation in degrees that the application should apply for the video for it to be rendered
in the correct orientation. This value will always be zero on API levels 21 and above,
since the renderer will apply all necessary rotations internally.pixelWidthHeightRatio - The width to height ratio of each pixel.void onRenderedFirstFrame(AnalyticsListener.EventTime eventTime, android.view.Surface surface)
eventTime - The event time.surface - The Surface to which a first frame has been rendered, or null if
the renderer renders to something that isn't a Surface.void onDrmKeysLoaded(AnalyticsListener.EventTime eventTime)
eventTime - The event time.void onDrmSessionManagerError(AnalyticsListener.EventTime eventTime, java.lang.Exception error)
eventTime - The event time.error - The error.void onDrmKeysRestored(AnalyticsListener.EventTime eventTime)
eventTime - The event time.void onDrmKeysRemoved(AnalyticsListener.EventTime eventTime)
eventTime - The event time.