Allow users of the stable API to register an EventLogger
Overriding any methods of AnalyticsListener requires using the unstable API. In future we can incrementally add AnalyticsListener methods to the stable API. PiperOrigin-RevId: 445420361
This commit is contained in:
parent
2a726cfe9f
commit
3dff9fbe36
@ -1175,7 +1175,6 @@ public interface ExoPlayer extends Player {
|
|||||||
*
|
*
|
||||||
* @param listener The listener to be added.
|
* @param listener The listener to be added.
|
||||||
*/
|
*/
|
||||||
@UnstableApi
|
|
||||||
void addAnalyticsListener(AnalyticsListener listener);
|
void addAnalyticsListener(AnalyticsListener listener);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1183,7 +1182,6 @@ public interface ExoPlayer extends Player {
|
|||||||
*
|
*
|
||||||
* @param listener The listener to be removed.
|
* @param listener The listener to be removed.
|
||||||
*/
|
*/
|
||||||
@UnstableApi
|
|
||||||
void removeAnalyticsListener(AnalyticsListener listener);
|
void removeAnalyticsListener(AnalyticsListener listener);
|
||||||
|
|
||||||
/** Returns the number of renderers. */
|
/** Returns the number of renderers. */
|
||||||
|
@ -81,10 +81,10 @@ import java.util.List;
|
|||||||
* #onIsPlayingChanged(EventTime, boolean)}) or {@link #onEvents(Player, Events)}, which is called
|
* #onIsPlayingChanged(EventTime, boolean)}) or {@link #onEvents(Player, Events)}, which is called
|
||||||
* after one or more events occurred together.
|
* after one or more events occurred together.
|
||||||
*/
|
*/
|
||||||
@UnstableApi
|
|
||||||
public interface AnalyticsListener {
|
public interface AnalyticsListener {
|
||||||
|
|
||||||
/** A set of {@link EventFlags}. */
|
/** A set of {@link EventFlags}. */
|
||||||
|
@UnstableApi
|
||||||
final class Events {
|
final class Events {
|
||||||
|
|
||||||
private final FlagSet flags;
|
private final FlagSet flags;
|
||||||
@ -164,6 +164,7 @@ public interface AnalyticsListener {
|
|||||||
*/
|
*/
|
||||||
// @Target list includes both 'default' targets and TYPE_USE, to ensure backwards compatibility
|
// @Target list includes both 'default' targets and TYPE_USE, to ensure backwards compatibility
|
||||||
// with Kotlin usages from before TYPE_USE was added.
|
// with Kotlin usages from before TYPE_USE was added.
|
||||||
|
@UnstableApi
|
||||||
@Documented
|
@Documented
|
||||||
@Retention(RetentionPolicy.SOURCE)
|
@Retention(RetentionPolicy.SOURCE)
|
||||||
@Target({FIELD, METHOD, PARAMETER, LOCAL_VARIABLE, TYPE_USE})
|
@Target({FIELD, METHOD, PARAMETER, LOCAL_VARIABLE, TYPE_USE})
|
||||||
@ -233,140 +234,146 @@ public interface AnalyticsListener {
|
|||||||
})
|
})
|
||||||
@interface EventFlags {}
|
@interface EventFlags {}
|
||||||
/** {@link Player#getCurrentTimeline()} changed. */
|
/** {@link Player#getCurrentTimeline()} changed. */
|
||||||
int EVENT_TIMELINE_CHANGED = Player.EVENT_TIMELINE_CHANGED;
|
@UnstableApi int EVENT_TIMELINE_CHANGED = Player.EVENT_TIMELINE_CHANGED;
|
||||||
/**
|
/**
|
||||||
* {@link Player#getCurrentMediaItem()} changed or the player started repeating the current item.
|
* {@link Player#getCurrentMediaItem()} changed or the player started repeating the current item.
|
||||||
*/
|
*/
|
||||||
int EVENT_MEDIA_ITEM_TRANSITION = Player.EVENT_MEDIA_ITEM_TRANSITION;
|
@UnstableApi int EVENT_MEDIA_ITEM_TRANSITION = Player.EVENT_MEDIA_ITEM_TRANSITION;
|
||||||
/** {@link Player#getCurrentTracks()} changed. */
|
/** {@link Player#getCurrentTracks()} changed. */
|
||||||
int EVENT_TRACKS_CHANGED = Player.EVENT_TRACKS_CHANGED;
|
@UnstableApi int EVENT_TRACKS_CHANGED = Player.EVENT_TRACKS_CHANGED;
|
||||||
/** {@link Player#isLoading()} ()} changed. */
|
/** {@link Player#isLoading()} ()} changed. */
|
||||||
int EVENT_IS_LOADING_CHANGED = Player.EVENT_IS_LOADING_CHANGED;
|
@UnstableApi int EVENT_IS_LOADING_CHANGED = Player.EVENT_IS_LOADING_CHANGED;
|
||||||
/** {@link Player#getPlaybackState()} changed. */
|
/** {@link Player#getPlaybackState()} changed. */
|
||||||
int EVENT_PLAYBACK_STATE_CHANGED = Player.EVENT_PLAYBACK_STATE_CHANGED;
|
@UnstableApi int EVENT_PLAYBACK_STATE_CHANGED = Player.EVENT_PLAYBACK_STATE_CHANGED;
|
||||||
/** {@link Player#getPlayWhenReady()} changed. */
|
/** {@link Player#getPlayWhenReady()} changed. */
|
||||||
int EVENT_PLAY_WHEN_READY_CHANGED = Player.EVENT_PLAY_WHEN_READY_CHANGED;
|
@UnstableApi int EVENT_PLAY_WHEN_READY_CHANGED = Player.EVENT_PLAY_WHEN_READY_CHANGED;
|
||||||
/** {@link Player#getPlaybackSuppressionReason()} changed. */
|
/** {@link Player#getPlaybackSuppressionReason()} changed. */
|
||||||
|
@UnstableApi
|
||||||
int EVENT_PLAYBACK_SUPPRESSION_REASON_CHANGED = Player.EVENT_PLAYBACK_SUPPRESSION_REASON_CHANGED;
|
int EVENT_PLAYBACK_SUPPRESSION_REASON_CHANGED = Player.EVENT_PLAYBACK_SUPPRESSION_REASON_CHANGED;
|
||||||
/** {@link Player#isPlaying()} changed. */
|
/** {@link Player#isPlaying()} changed. */
|
||||||
int EVENT_IS_PLAYING_CHANGED = Player.EVENT_IS_PLAYING_CHANGED;
|
@UnstableApi int EVENT_IS_PLAYING_CHANGED = Player.EVENT_IS_PLAYING_CHANGED;
|
||||||
/** {@link Player#getRepeatMode()} changed. */
|
/** {@link Player#getRepeatMode()} changed. */
|
||||||
int EVENT_REPEAT_MODE_CHANGED = Player.EVENT_REPEAT_MODE_CHANGED;
|
@UnstableApi int EVENT_REPEAT_MODE_CHANGED = Player.EVENT_REPEAT_MODE_CHANGED;
|
||||||
/** {@link Player#getShuffleModeEnabled()} changed. */
|
/** {@link Player#getShuffleModeEnabled()} changed. */
|
||||||
int EVENT_SHUFFLE_MODE_ENABLED_CHANGED = Player.EVENT_SHUFFLE_MODE_ENABLED_CHANGED;
|
@UnstableApi int EVENT_SHUFFLE_MODE_ENABLED_CHANGED = Player.EVENT_SHUFFLE_MODE_ENABLED_CHANGED;
|
||||||
/** {@link Player#getPlayerError()} changed. */
|
/** {@link Player#getPlayerError()} changed. */
|
||||||
int EVENT_PLAYER_ERROR = Player.EVENT_PLAYER_ERROR;
|
@UnstableApi int EVENT_PLAYER_ERROR = Player.EVENT_PLAYER_ERROR;
|
||||||
/**
|
/**
|
||||||
* A position discontinuity occurred. See {@link
|
* A position discontinuity occurred. See {@link
|
||||||
* Player.Listener#onPositionDiscontinuity(Player.PositionInfo, Player.PositionInfo, int)}.
|
* Player.Listener#onPositionDiscontinuity(Player.PositionInfo, Player.PositionInfo, int)}.
|
||||||
*/
|
*/
|
||||||
int EVENT_POSITION_DISCONTINUITY = Player.EVENT_POSITION_DISCONTINUITY;
|
@UnstableApi int EVENT_POSITION_DISCONTINUITY = Player.EVENT_POSITION_DISCONTINUITY;
|
||||||
/** {@link Player#getPlaybackParameters()} changed. */
|
/** {@link Player#getPlaybackParameters()} changed. */
|
||||||
int EVENT_PLAYBACK_PARAMETERS_CHANGED = Player.EVENT_PLAYBACK_PARAMETERS_CHANGED;
|
@UnstableApi int EVENT_PLAYBACK_PARAMETERS_CHANGED = Player.EVENT_PLAYBACK_PARAMETERS_CHANGED;
|
||||||
/** {@link Player#getAvailableCommands()} changed. */
|
/** {@link Player#getAvailableCommands()} changed. */
|
||||||
int EVENT_AVAILABLE_COMMANDS_CHANGED = Player.EVENT_AVAILABLE_COMMANDS_CHANGED;
|
@UnstableApi int EVENT_AVAILABLE_COMMANDS_CHANGED = Player.EVENT_AVAILABLE_COMMANDS_CHANGED;
|
||||||
/** {@link Player#getMediaMetadata()} changed. */
|
/** {@link Player#getMediaMetadata()} changed. */
|
||||||
int EVENT_MEDIA_METADATA_CHANGED = Player.EVENT_MEDIA_METADATA_CHANGED;
|
@UnstableApi int EVENT_MEDIA_METADATA_CHANGED = Player.EVENT_MEDIA_METADATA_CHANGED;
|
||||||
/** {@link Player#getPlaylistMetadata()} changed. */
|
/** {@link Player#getPlaylistMetadata()} changed. */
|
||||||
int EVENT_PLAYLIST_METADATA_CHANGED = Player.EVENT_PLAYLIST_METADATA_CHANGED;
|
@UnstableApi int EVENT_PLAYLIST_METADATA_CHANGED = Player.EVENT_PLAYLIST_METADATA_CHANGED;
|
||||||
/** {@link Player#getSeekBackIncrement()} changed. */
|
/** {@link Player#getSeekBackIncrement()} changed. */
|
||||||
int EVENT_SEEK_BACK_INCREMENT_CHANGED = Player.EVENT_SEEK_BACK_INCREMENT_CHANGED;
|
@UnstableApi int EVENT_SEEK_BACK_INCREMENT_CHANGED = Player.EVENT_SEEK_BACK_INCREMENT_CHANGED;
|
||||||
/** {@link Player#getSeekForwardIncrement()} changed. */
|
/** {@link Player#getSeekForwardIncrement()} changed. */
|
||||||
|
@UnstableApi
|
||||||
int EVENT_SEEK_FORWARD_INCREMENT_CHANGED = Player.EVENT_SEEK_FORWARD_INCREMENT_CHANGED;
|
int EVENT_SEEK_FORWARD_INCREMENT_CHANGED = Player.EVENT_SEEK_FORWARD_INCREMENT_CHANGED;
|
||||||
/** {@link Player#getMaxSeekToPreviousPosition()} changed. */
|
/** {@link Player#getMaxSeekToPreviousPosition()} changed. */
|
||||||
|
@UnstableApi
|
||||||
int EVENT_MAX_SEEK_TO_PREVIOUS_POSITION_CHANGED =
|
int EVENT_MAX_SEEK_TO_PREVIOUS_POSITION_CHANGED =
|
||||||
Player.EVENT_MAX_SEEK_TO_PREVIOUS_POSITION_CHANGED;
|
Player.EVENT_MAX_SEEK_TO_PREVIOUS_POSITION_CHANGED;
|
||||||
/** {@link Player#getTrackSelectionParameters()} changed. */
|
/** {@link Player#getTrackSelectionParameters()} changed. */
|
||||||
|
@UnstableApi
|
||||||
int EVENT_TRACK_SELECTION_PARAMETERS_CHANGED = Player.EVENT_TRACK_SELECTION_PARAMETERS_CHANGED;
|
int EVENT_TRACK_SELECTION_PARAMETERS_CHANGED = Player.EVENT_TRACK_SELECTION_PARAMETERS_CHANGED;
|
||||||
/** Audio attributes changed. */
|
/** Audio attributes changed. */
|
||||||
int EVENT_AUDIO_ATTRIBUTES_CHANGED = Player.EVENT_AUDIO_ATTRIBUTES_CHANGED;
|
@UnstableApi int EVENT_AUDIO_ATTRIBUTES_CHANGED = Player.EVENT_AUDIO_ATTRIBUTES_CHANGED;
|
||||||
/** An audio session id was set. */
|
/** An audio session id was set. */
|
||||||
int EVENT_AUDIO_SESSION_ID = Player.EVENT_AUDIO_SESSION_ID;
|
@UnstableApi int EVENT_AUDIO_SESSION_ID = Player.EVENT_AUDIO_SESSION_ID;
|
||||||
/** The volume changed. */
|
/** The volume changed. */
|
||||||
int EVENT_VOLUME_CHANGED = Player.EVENT_VOLUME_CHANGED;
|
@UnstableApi int EVENT_VOLUME_CHANGED = Player.EVENT_VOLUME_CHANGED;
|
||||||
/** Skipping silences was enabled or disabled in the audio stream. */
|
/** Skipping silences was enabled or disabled in the audio stream. */
|
||||||
int EVENT_SKIP_SILENCE_ENABLED_CHANGED = Player.EVENT_SKIP_SILENCE_ENABLED_CHANGED;
|
@UnstableApi int EVENT_SKIP_SILENCE_ENABLED_CHANGED = Player.EVENT_SKIP_SILENCE_ENABLED_CHANGED;
|
||||||
/** The surface size changed. */
|
/** The surface size changed. */
|
||||||
int EVENT_SURFACE_SIZE_CHANGED = Player.EVENT_SURFACE_SIZE_CHANGED;
|
@UnstableApi int EVENT_SURFACE_SIZE_CHANGED = Player.EVENT_SURFACE_SIZE_CHANGED;
|
||||||
/** The video size changed. */
|
/** The video size changed. */
|
||||||
int EVENT_VIDEO_SIZE_CHANGED = Player.EVENT_VIDEO_SIZE_CHANGED;
|
@UnstableApi int EVENT_VIDEO_SIZE_CHANGED = Player.EVENT_VIDEO_SIZE_CHANGED;
|
||||||
/**
|
/**
|
||||||
* The first frame has been rendered since setting the surface, since the renderer was reset or
|
* The first frame has been rendered since setting the surface, since the renderer was reset or
|
||||||
* since the stream changed.
|
* since the stream changed.
|
||||||
*/
|
*/
|
||||||
int EVENT_RENDERED_FIRST_FRAME = Player.EVENT_RENDERED_FIRST_FRAME;
|
@UnstableApi int EVENT_RENDERED_FIRST_FRAME = Player.EVENT_RENDERED_FIRST_FRAME;
|
||||||
/** Metadata associated with the current playback time was reported. */
|
/** Metadata associated with the current playback time was reported. */
|
||||||
int EVENT_METADATA = Player.EVENT_METADATA;
|
@UnstableApi int EVENT_METADATA = Player.EVENT_METADATA;
|
||||||
/** {@link Player#getCurrentCues()} changed. */
|
/** {@link Player#getCurrentCues()} changed. */
|
||||||
int EVENT_CUES = Player.EVENT_CUES;
|
@UnstableApi int EVENT_CUES = Player.EVENT_CUES;
|
||||||
/** {@link Player#getDeviceInfo()} changed. */
|
/** {@link Player#getDeviceInfo()} changed. */
|
||||||
int EVENT_DEVICE_INFO_CHANGED = Player.EVENT_DEVICE_INFO_CHANGED;
|
@UnstableApi int EVENT_DEVICE_INFO_CHANGED = Player.EVENT_DEVICE_INFO_CHANGED;
|
||||||
/** {@link Player#getDeviceVolume()} changed. */
|
/** {@link Player#getDeviceVolume()} changed. */
|
||||||
int EVENT_DEVICE_VOLUME_CHANGED = Player.EVENT_DEVICE_VOLUME_CHANGED;
|
@UnstableApi int EVENT_DEVICE_VOLUME_CHANGED = Player.EVENT_DEVICE_VOLUME_CHANGED;
|
||||||
/** A source started loading data. */
|
/** A source started loading data. */
|
||||||
|
@UnstableApi
|
||||||
int EVENT_LOAD_STARTED = 1000; // Intentional gap to leave space for new Player events
|
int EVENT_LOAD_STARTED = 1000; // Intentional gap to leave space for new Player events
|
||||||
/** A source started completed loading data. */
|
/** A source started completed loading data. */
|
||||||
int EVENT_LOAD_COMPLETED = 1001;
|
@UnstableApi int EVENT_LOAD_COMPLETED = 1001;
|
||||||
/** A source canceled loading data. */
|
/** A source canceled loading data. */
|
||||||
int EVENT_LOAD_CANCELED = 1002;
|
@UnstableApi int EVENT_LOAD_CANCELED = 1002;
|
||||||
/** A source had a non-fatal error loading data. */
|
/** A source had a non-fatal error loading data. */
|
||||||
int EVENT_LOAD_ERROR = 1003;
|
@UnstableApi int EVENT_LOAD_ERROR = 1003;
|
||||||
/** The downstream format sent to renderers changed. */
|
/** The downstream format sent to renderers changed. */
|
||||||
int EVENT_DOWNSTREAM_FORMAT_CHANGED = 1004;
|
@UnstableApi int EVENT_DOWNSTREAM_FORMAT_CHANGED = 1004;
|
||||||
/** Data was removed from the end of the media buffer. */
|
/** Data was removed from the end of the media buffer. */
|
||||||
int EVENT_UPSTREAM_DISCARDED = 1005;
|
@UnstableApi int EVENT_UPSTREAM_DISCARDED = 1005;
|
||||||
/** The bandwidth estimate has been updated. */
|
/** The bandwidth estimate has been updated. */
|
||||||
int EVENT_BANDWIDTH_ESTIMATE = 1006;
|
@UnstableApi int EVENT_BANDWIDTH_ESTIMATE = 1006;
|
||||||
/** An audio renderer was enabled. */
|
/** An audio renderer was enabled. */
|
||||||
int EVENT_AUDIO_ENABLED = 1007;
|
@UnstableApi int EVENT_AUDIO_ENABLED = 1007;
|
||||||
/** An audio renderer created a decoder. */
|
/** An audio renderer created a decoder. */
|
||||||
int EVENT_AUDIO_DECODER_INITIALIZED = 1008;
|
@UnstableApi int EVENT_AUDIO_DECODER_INITIALIZED = 1008;
|
||||||
/** The format consumed by an audio renderer changed. */
|
/** The format consumed by an audio renderer changed. */
|
||||||
int EVENT_AUDIO_INPUT_FORMAT_CHANGED = 1009;
|
@UnstableApi int EVENT_AUDIO_INPUT_FORMAT_CHANGED = 1009;
|
||||||
/** The audio position has increased for the first time since the last pause or position reset. */
|
/** The audio position has increased for the first time since the last pause or position reset. */
|
||||||
int EVENT_AUDIO_POSITION_ADVANCING = 1010;
|
@UnstableApi int EVENT_AUDIO_POSITION_ADVANCING = 1010;
|
||||||
/** An audio underrun occurred. */
|
/** An audio underrun occurred. */
|
||||||
int EVENT_AUDIO_UNDERRUN = 1011;
|
@UnstableApi int EVENT_AUDIO_UNDERRUN = 1011;
|
||||||
/** An audio renderer released a decoder. */
|
/** An audio renderer released a decoder. */
|
||||||
int EVENT_AUDIO_DECODER_RELEASED = 1012;
|
@UnstableApi int EVENT_AUDIO_DECODER_RELEASED = 1012;
|
||||||
/** An audio renderer was disabled. */
|
/** An audio renderer was disabled. */
|
||||||
int EVENT_AUDIO_DISABLED = 1013;
|
@UnstableApi int EVENT_AUDIO_DISABLED = 1013;
|
||||||
/** The audio sink encountered a non-fatal error. */
|
/** The audio sink encountered a non-fatal error. */
|
||||||
int EVENT_AUDIO_SINK_ERROR = 1014;
|
@UnstableApi int EVENT_AUDIO_SINK_ERROR = 1014;
|
||||||
/** A video renderer was enabled. */
|
/** A video renderer was enabled. */
|
||||||
int EVENT_VIDEO_ENABLED = 1015;
|
@UnstableApi int EVENT_VIDEO_ENABLED = 1015;
|
||||||
/** A video renderer created a decoder. */
|
/** A video renderer created a decoder. */
|
||||||
int EVENT_VIDEO_DECODER_INITIALIZED = 1016;
|
@UnstableApi int EVENT_VIDEO_DECODER_INITIALIZED = 1016;
|
||||||
/** The format consumed by a video renderer changed. */
|
/** The format consumed by a video renderer changed. */
|
||||||
int EVENT_VIDEO_INPUT_FORMAT_CHANGED = 1017;
|
@UnstableApi int EVENT_VIDEO_INPUT_FORMAT_CHANGED = 1017;
|
||||||
/** Video frames have been dropped. */
|
/** Video frames have been dropped. */
|
||||||
int EVENT_DROPPED_VIDEO_FRAMES = 1018;
|
@UnstableApi int EVENT_DROPPED_VIDEO_FRAMES = 1018;
|
||||||
/** A video renderer released a decoder. */
|
/** A video renderer released a decoder. */
|
||||||
int EVENT_VIDEO_DECODER_RELEASED = 1019;
|
@UnstableApi int EVENT_VIDEO_DECODER_RELEASED = 1019;
|
||||||
/** A video renderer was disabled. */
|
/** A video renderer was disabled. */
|
||||||
int EVENT_VIDEO_DISABLED = 1020;
|
@UnstableApi int EVENT_VIDEO_DISABLED = 1020;
|
||||||
/** Video frame processing offset data has been reported. */
|
/** Video frame processing offset data has been reported. */
|
||||||
int EVENT_VIDEO_FRAME_PROCESSING_OFFSET = 1021;
|
@UnstableApi int EVENT_VIDEO_FRAME_PROCESSING_OFFSET = 1021;
|
||||||
/** A DRM session has been acquired. */
|
/** A DRM session has been acquired. */
|
||||||
int EVENT_DRM_SESSION_ACQUIRED = 1022;
|
@UnstableApi int EVENT_DRM_SESSION_ACQUIRED = 1022;
|
||||||
/** DRM keys were loaded. */
|
/** DRM keys were loaded. */
|
||||||
int EVENT_DRM_KEYS_LOADED = 1023;
|
@UnstableApi int EVENT_DRM_KEYS_LOADED = 1023;
|
||||||
/** A non-fatal DRM session manager error occurred. */
|
/** A non-fatal DRM session manager error occurred. */
|
||||||
int EVENT_DRM_SESSION_MANAGER_ERROR = 1024;
|
@UnstableApi int EVENT_DRM_SESSION_MANAGER_ERROR = 1024;
|
||||||
/** DRM keys were restored. */
|
/** DRM keys were restored. */
|
||||||
int EVENT_DRM_KEYS_RESTORED = 1025;
|
@UnstableApi int EVENT_DRM_KEYS_RESTORED = 1025;
|
||||||
/** DRM keys were removed. */
|
/** DRM keys were removed. */
|
||||||
int EVENT_DRM_KEYS_REMOVED = 1026;
|
@UnstableApi int EVENT_DRM_KEYS_REMOVED = 1026;
|
||||||
/** A DRM session has been released. */
|
/** A DRM session has been released. */
|
||||||
int EVENT_DRM_SESSION_RELEASED = 1027;
|
@UnstableApi int EVENT_DRM_SESSION_RELEASED = 1027;
|
||||||
/** The player was released. */
|
/** The player was released. */
|
||||||
int EVENT_PLAYER_RELEASED = 1028;
|
@UnstableApi int EVENT_PLAYER_RELEASED = 1028;
|
||||||
/** The audio codec encountered an error. */
|
/** The audio codec encountered an error. */
|
||||||
int EVENT_AUDIO_CODEC_ERROR = 1029;
|
@UnstableApi int EVENT_AUDIO_CODEC_ERROR = 1029;
|
||||||
/** The video codec encountered an error. */
|
/** The video codec encountered an error. */
|
||||||
int EVENT_VIDEO_CODEC_ERROR = 1030;
|
@UnstableApi int EVENT_VIDEO_CODEC_ERROR = 1030;
|
||||||
|
|
||||||
/** Time information of an event. */
|
/** Time information of an event. */
|
||||||
|
@UnstableApi
|
||||||
final class EventTime {
|
final class EventTime {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -515,6 +522,7 @@ public interface AnalyticsListener {
|
|||||||
* @deprecated Use {@link #onPlaybackStateChanged(EventTime, int)} and {@link
|
* @deprecated Use {@link #onPlaybackStateChanged(EventTime, int)} and {@link
|
||||||
* #onPlayWhenReadyChanged(EventTime, boolean, int)} instead.
|
* #onPlayWhenReadyChanged(EventTime, boolean, int)} instead.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
@Deprecated
|
@Deprecated
|
||||||
default void onPlayerStateChanged(
|
default void onPlayerStateChanged(
|
||||||
EventTime eventTime, boolean playWhenReady, @Player.State int playbackState) {}
|
EventTime eventTime, boolean playWhenReady, @Player.State int playbackState) {}
|
||||||
@ -525,6 +533,7 @@ public interface AnalyticsListener {
|
|||||||
* @param eventTime The event time.
|
* @param eventTime The event time.
|
||||||
* @param state The new {@link Player.State playback state}.
|
* @param state The new {@link Player.State playback state}.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
default void onPlaybackStateChanged(EventTime eventTime, @Player.State int state) {}
|
default void onPlaybackStateChanged(EventTime eventTime, @Player.State int state) {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -534,6 +543,7 @@ public interface AnalyticsListener {
|
|||||||
* @param playWhenReady Whether playback will proceed when ready.
|
* @param playWhenReady Whether playback will proceed when ready.
|
||||||
* @param reason The {@link Player.PlayWhenReadyChangeReason reason} of the change.
|
* @param reason The {@link Player.PlayWhenReadyChangeReason reason} of the change.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
default void onPlayWhenReadyChanged(
|
default void onPlayWhenReadyChanged(
|
||||||
EventTime eventTime, boolean playWhenReady, @Player.PlayWhenReadyChangeReason int reason) {}
|
EventTime eventTime, boolean playWhenReady, @Player.PlayWhenReadyChangeReason int reason) {}
|
||||||
|
|
||||||
@ -543,6 +553,7 @@ public interface AnalyticsListener {
|
|||||||
* @param eventTime The event time.
|
* @param eventTime The event time.
|
||||||
* @param playbackSuppressionReason The new {@link PlaybackSuppressionReason}.
|
* @param playbackSuppressionReason The new {@link PlaybackSuppressionReason}.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
default void onPlaybackSuppressionReasonChanged(
|
default void onPlaybackSuppressionReasonChanged(
|
||||||
EventTime eventTime, @PlaybackSuppressionReason int playbackSuppressionReason) {}
|
EventTime eventTime, @PlaybackSuppressionReason int playbackSuppressionReason) {}
|
||||||
|
|
||||||
@ -552,6 +563,7 @@ public interface AnalyticsListener {
|
|||||||
* @param eventTime The event time.
|
* @param eventTime The event time.
|
||||||
* @param isPlaying Whether the player is playing.
|
* @param isPlaying Whether the player is playing.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
default void onIsPlayingChanged(EventTime eventTime, boolean isPlaying) {}
|
default void onIsPlayingChanged(EventTime eventTime, boolean isPlaying) {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -560,6 +572,7 @@ public interface AnalyticsListener {
|
|||||||
* @param eventTime The event time.
|
* @param eventTime The event time.
|
||||||
* @param reason The reason for the timeline change.
|
* @param reason The reason for the timeline change.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
default void onTimelineChanged(EventTime eventTime, @TimelineChangeReason int reason) {}
|
default void onTimelineChanged(EventTime eventTime, @TimelineChangeReason int reason) {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -569,6 +582,7 @@ public interface AnalyticsListener {
|
|||||||
* @param mediaItem The media item.
|
* @param mediaItem The media item.
|
||||||
* @param reason The reason for the media item transition.
|
* @param reason The reason for the media item transition.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
default void onMediaItemTransition(
|
default void onMediaItemTransition(
|
||||||
EventTime eventTime,
|
EventTime eventTime,
|
||||||
@Nullable MediaItem mediaItem,
|
@Nullable MediaItem mediaItem,
|
||||||
@ -578,6 +592,7 @@ public interface AnalyticsListener {
|
|||||||
* @deprecated Use {@link #onPositionDiscontinuity(EventTime, Player.PositionInfo,
|
* @deprecated Use {@link #onPositionDiscontinuity(EventTime, Player.PositionInfo,
|
||||||
* Player.PositionInfo, int)} instead.
|
* Player.PositionInfo, int)} instead.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
@Deprecated
|
@Deprecated
|
||||||
default void onPositionDiscontinuity(EventTime eventTime, @DiscontinuityReason int reason) {}
|
default void onPositionDiscontinuity(EventTime eventTime, @DiscontinuityReason int reason) {}
|
||||||
|
|
||||||
@ -589,6 +604,7 @@ public interface AnalyticsListener {
|
|||||||
* @param newPosition The position after the discontinuity.
|
* @param newPosition The position after the discontinuity.
|
||||||
* @param reason The reason for the position discontinuity.
|
* @param reason The reason for the position discontinuity.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
default void onPositionDiscontinuity(
|
default void onPositionDiscontinuity(
|
||||||
EventTime eventTime,
|
EventTime eventTime,
|
||||||
Player.PositionInfo oldPosition,
|
Player.PositionInfo oldPosition,
|
||||||
@ -600,6 +616,7 @@ public interface AnalyticsListener {
|
|||||||
* Player.PositionInfo, int)} instead, listening to changes with {@link
|
* Player.PositionInfo, int)} instead, listening to changes with {@link
|
||||||
* Player#DISCONTINUITY_REASON_SEEK}.
|
* Player#DISCONTINUITY_REASON_SEEK}.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
@Deprecated
|
@Deprecated
|
||||||
default void onSeekStarted(EventTime eventTime) {}
|
default void onSeekStarted(EventTime eventTime) {}
|
||||||
|
|
||||||
@ -607,6 +624,7 @@ public interface AnalyticsListener {
|
|||||||
* @deprecated Seeks are processed without delay. Use {@link #onPositionDiscontinuity(EventTime,
|
* @deprecated Seeks are processed without delay. Use {@link #onPositionDiscontinuity(EventTime,
|
||||||
* int)} with reason {@link Player#DISCONTINUITY_REASON_SEEK} instead.
|
* int)} with reason {@link Player#DISCONTINUITY_REASON_SEEK} instead.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
@Deprecated
|
@Deprecated
|
||||||
default void onSeekProcessed(EventTime eventTime) {}
|
default void onSeekProcessed(EventTime eventTime) {}
|
||||||
|
|
||||||
@ -616,6 +634,7 @@ public interface AnalyticsListener {
|
|||||||
* @param eventTime The event time.
|
* @param eventTime The event time.
|
||||||
* @param playbackParameters The new playback parameters.
|
* @param playbackParameters The new playback parameters.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
default void onPlaybackParametersChanged(
|
default void onPlaybackParametersChanged(
|
||||||
EventTime eventTime, PlaybackParameters playbackParameters) {}
|
EventTime eventTime, PlaybackParameters playbackParameters) {}
|
||||||
|
|
||||||
@ -625,6 +644,7 @@ public interface AnalyticsListener {
|
|||||||
* @param eventTime The event time.
|
* @param eventTime The event time.
|
||||||
* @param seekBackIncrementMs The seek back increment, in milliseconds.
|
* @param seekBackIncrementMs The seek back increment, in milliseconds.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
default void onSeekBackIncrementChanged(EventTime eventTime, long seekBackIncrementMs) {}
|
default void onSeekBackIncrementChanged(EventTime eventTime, long seekBackIncrementMs) {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -633,6 +653,7 @@ public interface AnalyticsListener {
|
|||||||
* @param eventTime The event time.
|
* @param eventTime The event time.
|
||||||
* @param seekForwardIncrementMs The seek forward increment, in milliseconds.
|
* @param seekForwardIncrementMs The seek forward increment, in milliseconds.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
default void onSeekForwardIncrementChanged(EventTime eventTime, long seekForwardIncrementMs) {}
|
default void onSeekForwardIncrementChanged(EventTime eventTime, long seekForwardIncrementMs) {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -642,6 +663,7 @@ public interface AnalyticsListener {
|
|||||||
* @param eventTime The event time.
|
* @param eventTime The event time.
|
||||||
* @param maxSeekToPreviousPositionMs The maximum seek to previous position, in milliseconds.
|
* @param maxSeekToPreviousPositionMs The maximum seek to previous position, in milliseconds.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
default void onMaxSeekToPreviousPositionChanged(
|
default void onMaxSeekToPreviousPositionChanged(
|
||||||
EventTime eventTime, long maxSeekToPreviousPositionMs) {}
|
EventTime eventTime, long maxSeekToPreviousPositionMs) {}
|
||||||
|
|
||||||
@ -651,6 +673,7 @@ public interface AnalyticsListener {
|
|||||||
* @param eventTime The event time.
|
* @param eventTime The event time.
|
||||||
* @param repeatMode The new repeat mode.
|
* @param repeatMode The new repeat mode.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
default void onRepeatModeChanged(EventTime eventTime, @Player.RepeatMode int repeatMode) {}
|
default void onRepeatModeChanged(EventTime eventTime, @Player.RepeatMode int repeatMode) {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -659,6 +682,7 @@ public interface AnalyticsListener {
|
|||||||
* @param eventTime The event time.
|
* @param eventTime The event time.
|
||||||
* @param shuffleModeEnabled Whether the shuffle mode is enabled.
|
* @param shuffleModeEnabled Whether the shuffle mode is enabled.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
default void onShuffleModeChanged(EventTime eventTime, boolean shuffleModeEnabled) {}
|
default void onShuffleModeChanged(EventTime eventTime, boolean shuffleModeEnabled) {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -667,11 +691,13 @@ public interface AnalyticsListener {
|
|||||||
* @param eventTime The event time.
|
* @param eventTime The event time.
|
||||||
* @param isLoading Whether the player is loading.
|
* @param isLoading Whether the player is loading.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
default void onIsLoadingChanged(EventTime eventTime, boolean isLoading) {}
|
default void onIsLoadingChanged(EventTime eventTime, boolean isLoading) {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @deprecated Use {@link #onIsLoadingChanged(EventTime, boolean)} instead.
|
* @deprecated Use {@link #onIsLoadingChanged(EventTime, boolean)} instead.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
@Deprecated
|
@Deprecated
|
||||||
default void onLoadingChanged(EventTime eventTime, boolean isLoading) {}
|
default void onLoadingChanged(EventTime eventTime, boolean isLoading) {}
|
||||||
|
|
||||||
@ -681,6 +707,7 @@ public interface AnalyticsListener {
|
|||||||
* @param eventTime The event time.
|
* @param eventTime The event time.
|
||||||
* @param availableCommands The available commands.
|
* @param availableCommands The available commands.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
default void onAvailableCommandsChanged(EventTime eventTime, Player.Commands availableCommands) {}
|
default void onAvailableCommandsChanged(EventTime eventTime, Player.Commands availableCommands) {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -692,6 +719,7 @@ public interface AnalyticsListener {
|
|||||||
* @param eventTime The event time.
|
* @param eventTime The event time.
|
||||||
* @param error The error.
|
* @param error The error.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
default void onPlayerError(EventTime eventTime, PlaybackException error) {}
|
default void onPlayerError(EventTime eventTime, PlaybackException error) {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -703,6 +731,7 @@ public interface AnalyticsListener {
|
|||||||
* @param eventTime The event time.
|
* @param eventTime The event time.
|
||||||
* @param error The new error, or null if the error is being cleared.
|
* @param error The new error, or null if the error is being cleared.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
default void onPlayerErrorChanged(EventTime eventTime, @Nullable PlaybackException error) {}
|
default void onPlayerErrorChanged(EventTime eventTime, @Nullable PlaybackException error) {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -711,6 +740,7 @@ public interface AnalyticsListener {
|
|||||||
* @param eventTime The event time.
|
* @param eventTime The event time.
|
||||||
* @param tracks The tracks. Never null, but may be of length zero.
|
* @param tracks The tracks. Never null, but may be of length zero.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
default void onTracksChanged(EventTime eventTime, Tracks tracks) {}
|
default void onTracksChanged(EventTime eventTime, Tracks tracks) {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -719,6 +749,7 @@ public interface AnalyticsListener {
|
|||||||
* @param eventTime The event time.
|
* @param eventTime The event time.
|
||||||
* @param trackSelectionParameters The new {@link TrackSelectionParameters}.
|
* @param trackSelectionParameters The new {@link TrackSelectionParameters}.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
default void onTrackSelectionParametersChanged(
|
default void onTrackSelectionParametersChanged(
|
||||||
EventTime eventTime, TrackSelectionParameters trackSelectionParameters) {}
|
EventTime eventTime, TrackSelectionParameters trackSelectionParameters) {}
|
||||||
|
|
||||||
@ -732,6 +763,7 @@ public interface AnalyticsListener {
|
|||||||
* @param eventTime The event time.
|
* @param eventTime The event time.
|
||||||
* @param mediaMetadata The combined {@link MediaMetadata}.
|
* @param mediaMetadata The combined {@link MediaMetadata}.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
default void onMediaMetadataChanged(EventTime eventTime, MediaMetadata mediaMetadata) {}
|
default void onMediaMetadataChanged(EventTime eventTime, MediaMetadata mediaMetadata) {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -740,6 +772,7 @@ public interface AnalyticsListener {
|
|||||||
* @param eventTime The event time.
|
* @param eventTime The event time.
|
||||||
* @param playlistMetadata The playlist {@link MediaMetadata}.
|
* @param playlistMetadata The playlist {@link MediaMetadata}.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
default void onPlaylistMetadataChanged(EventTime eventTime, MediaMetadata playlistMetadata) {}
|
default void onPlaylistMetadataChanged(EventTime eventTime, MediaMetadata playlistMetadata) {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -749,6 +782,7 @@ public interface AnalyticsListener {
|
|||||||
* @param loadEventInfo The {@link LoadEventInfo} defining the load event.
|
* @param loadEventInfo The {@link LoadEventInfo} defining the load event.
|
||||||
* @param mediaLoadData The {@link MediaLoadData} defining the data being loaded.
|
* @param mediaLoadData The {@link MediaLoadData} defining the data being loaded.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
default void onLoadStarted(
|
default void onLoadStarted(
|
||||||
EventTime eventTime, LoadEventInfo loadEventInfo, MediaLoadData mediaLoadData) {}
|
EventTime eventTime, LoadEventInfo loadEventInfo, MediaLoadData mediaLoadData) {}
|
||||||
|
|
||||||
@ -759,6 +793,7 @@ public interface AnalyticsListener {
|
|||||||
* @param loadEventInfo The {@link LoadEventInfo} defining the load event.
|
* @param loadEventInfo The {@link LoadEventInfo} defining the load event.
|
||||||
* @param mediaLoadData The {@link MediaLoadData} defining the data being loaded.
|
* @param mediaLoadData The {@link MediaLoadData} defining the data being loaded.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
default void onLoadCompleted(
|
default void onLoadCompleted(
|
||||||
EventTime eventTime, LoadEventInfo loadEventInfo, MediaLoadData mediaLoadData) {}
|
EventTime eventTime, LoadEventInfo loadEventInfo, MediaLoadData mediaLoadData) {}
|
||||||
|
|
||||||
@ -769,6 +804,7 @@ public interface AnalyticsListener {
|
|||||||
* @param loadEventInfo The {@link LoadEventInfo} defining the load event.
|
* @param loadEventInfo The {@link LoadEventInfo} defining the load event.
|
||||||
* @param mediaLoadData The {@link MediaLoadData} defining the data being loaded.
|
* @param mediaLoadData The {@link MediaLoadData} defining the data being loaded.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
default void onLoadCanceled(
|
default void onLoadCanceled(
|
||||||
EventTime eventTime, LoadEventInfo loadEventInfo, MediaLoadData mediaLoadData) {}
|
EventTime eventTime, LoadEventInfo loadEventInfo, MediaLoadData mediaLoadData) {}
|
||||||
|
|
||||||
@ -788,6 +824,7 @@ public interface AnalyticsListener {
|
|||||||
* @param error The load error.
|
* @param error The load error.
|
||||||
* @param wasCanceled Whether the load was canceled as a result of the error.
|
* @param wasCanceled Whether the load was canceled as a result of the error.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
default void onLoadError(
|
default void onLoadError(
|
||||||
EventTime eventTime,
|
EventTime eventTime,
|
||||||
LoadEventInfo loadEventInfo,
|
LoadEventInfo loadEventInfo,
|
||||||
@ -801,6 +838,7 @@ public interface AnalyticsListener {
|
|||||||
* @param eventTime The event time.
|
* @param eventTime The event time.
|
||||||
* @param mediaLoadData The {@link MediaLoadData} defining the newly selected media data.
|
* @param mediaLoadData The {@link MediaLoadData} defining the newly selected media data.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
default void onDownstreamFormatChanged(EventTime eventTime, MediaLoadData mediaLoadData) {}
|
default void onDownstreamFormatChanged(EventTime eventTime, MediaLoadData mediaLoadData) {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -810,6 +848,7 @@ public interface AnalyticsListener {
|
|||||||
* @param eventTime The event time.
|
* @param eventTime The event time.
|
||||||
* @param mediaLoadData The {@link MediaLoadData} defining the media being discarded.
|
* @param mediaLoadData The {@link MediaLoadData} defining the media being discarded.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
default void onUpstreamDiscarded(EventTime eventTime, MediaLoadData mediaLoadData) {}
|
default void onUpstreamDiscarded(EventTime eventTime, MediaLoadData mediaLoadData) {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -820,6 +859,7 @@ public interface AnalyticsListener {
|
|||||||
* @param totalBytesLoaded The total bytes loaded this update is based on.
|
* @param totalBytesLoaded The total bytes loaded this update is based on.
|
||||||
* @param bitrateEstimate The bandwidth estimate, in bits per second.
|
* @param bitrateEstimate The bandwidth estimate, in bits per second.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
default void onBandwidthEstimate(
|
default void onBandwidthEstimate(
|
||||||
EventTime eventTime, int totalLoadTimeMs, long totalBytesLoaded, long bitrateEstimate) {}
|
EventTime eventTime, int totalLoadTimeMs, long totalBytesLoaded, long bitrateEstimate) {}
|
||||||
|
|
||||||
@ -829,6 +869,7 @@ public interface AnalyticsListener {
|
|||||||
* @param eventTime The event time.
|
* @param eventTime The event time.
|
||||||
* @param metadata The metadata.
|
* @param metadata The metadata.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
default void onMetadata(EventTime eventTime, Metadata metadata) {}
|
default void onMetadata(EventTime eventTime, Metadata metadata) {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -840,12 +881,14 @@ public interface AnalyticsListener {
|
|||||||
* @param eventTime The event time.
|
* @param eventTime The event time.
|
||||||
* @param cues The {@link Cue Cues}. May be empty.
|
* @param cues The {@link Cue Cues}. May be empty.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
default void onCues(EventTime eventTime, List<Cue> cues) {}
|
default void onCues(EventTime eventTime, List<Cue> cues) {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @deprecated Use {@link #onAudioEnabled} and {@link #onVideoEnabled} instead.
|
* @deprecated Use {@link #onAudioEnabled} and {@link #onVideoEnabled} instead.
|
||||||
*/
|
*/
|
||||||
@Deprecated
|
@Deprecated
|
||||||
|
@UnstableApi
|
||||||
default void onDecoderEnabled(
|
default void onDecoderEnabled(
|
||||||
EventTime eventTime, int trackType, DecoderCounters decoderCounters) {}
|
EventTime eventTime, int trackType, DecoderCounters decoderCounters) {}
|
||||||
|
|
||||||
@ -853,6 +896,7 @@ public interface AnalyticsListener {
|
|||||||
* @deprecated Use {@link #onAudioDecoderInitialized} and {@link #onVideoDecoderInitialized}
|
* @deprecated Use {@link #onAudioDecoderInitialized} and {@link #onVideoDecoderInitialized}
|
||||||
* instead.
|
* instead.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
@Deprecated
|
@Deprecated
|
||||||
default void onDecoderInitialized(
|
default void onDecoderInitialized(
|
||||||
EventTime eventTime, int trackType, String decoderName, long initializationDurationMs) {}
|
EventTime eventTime, int trackType, String decoderName, long initializationDurationMs) {}
|
||||||
@ -861,12 +905,14 @@ public interface AnalyticsListener {
|
|||||||
* @deprecated Use {@link #onAudioInputFormatChanged(EventTime, Format, DecoderReuseEvaluation)}
|
* @deprecated Use {@link #onAudioInputFormatChanged(EventTime, Format, DecoderReuseEvaluation)}
|
||||||
* and {@link #onVideoInputFormatChanged(EventTime, Format, DecoderReuseEvaluation)}. instead.
|
* and {@link #onVideoInputFormatChanged(EventTime, Format, DecoderReuseEvaluation)}. instead.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
@Deprecated
|
@Deprecated
|
||||||
default void onDecoderInputFormatChanged(EventTime eventTime, int trackType, Format format) {}
|
default void onDecoderInputFormatChanged(EventTime eventTime, int trackType, Format format) {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @deprecated Use {@link #onAudioDisabled} and {@link #onVideoDisabled} instead.
|
* @deprecated Use {@link #onAudioDisabled} and {@link #onVideoDisabled} instead.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
@Deprecated
|
@Deprecated
|
||||||
default void onDecoderDisabled(
|
default void onDecoderDisabled(
|
||||||
EventTime eventTime, int trackType, DecoderCounters decoderCounters) {}
|
EventTime eventTime, int trackType, DecoderCounters decoderCounters) {}
|
||||||
@ -878,6 +924,7 @@ public interface AnalyticsListener {
|
|||||||
* @param decoderCounters {@link DecoderCounters} that will be updated by the renderer for as long
|
* @param decoderCounters {@link DecoderCounters} that will be updated by the renderer for as long
|
||||||
* as it remains enabled.
|
* as it remains enabled.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
default void onAudioEnabled(EventTime eventTime, DecoderCounters decoderCounters) {}
|
default void onAudioEnabled(EventTime eventTime, DecoderCounters decoderCounters) {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -889,6 +936,7 @@ public interface AnalyticsListener {
|
|||||||
* finished.
|
* finished.
|
||||||
* @param initializationDurationMs The time taken to initialize the decoder in milliseconds.
|
* @param initializationDurationMs The time taken to initialize the decoder in milliseconds.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
default void onAudioDecoderInitialized(
|
default void onAudioDecoderInitialized(
|
||||||
EventTime eventTime,
|
EventTime eventTime,
|
||||||
String decoderName,
|
String decoderName,
|
||||||
@ -898,6 +946,7 @@ public interface AnalyticsListener {
|
|||||||
/**
|
/**
|
||||||
* @deprecated Use {@link #onAudioDecoderInitialized(EventTime, String, long, long)}.
|
* @deprecated Use {@link #onAudioDecoderInitialized(EventTime, String, long, long)}.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
@Deprecated
|
@Deprecated
|
||||||
default void onAudioDecoderInitialized(
|
default void onAudioDecoderInitialized(
|
||||||
EventTime eventTime, String decoderName, long initializationDurationMs) {}
|
EventTime eventTime, String decoderName, long initializationDurationMs) {}
|
||||||
@ -905,6 +954,7 @@ public interface AnalyticsListener {
|
|||||||
/**
|
/**
|
||||||
* @deprecated Use {@link #onAudioInputFormatChanged(EventTime, Format, DecoderReuseEvaluation)}.
|
* @deprecated Use {@link #onAudioInputFormatChanged(EventTime, Format, DecoderReuseEvaluation)}.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
@Deprecated
|
@Deprecated
|
||||||
default void onAudioInputFormatChanged(EventTime eventTime, Format format) {}
|
default void onAudioInputFormatChanged(EventTime eventTime, Format format) {}
|
||||||
|
|
||||||
@ -917,6 +967,7 @@ public interface AnalyticsListener {
|
|||||||
* decoder instance can be reused for the new format, or {@code null} if the renderer did not
|
* decoder instance can be reused for the new format, or {@code null} if the renderer did not
|
||||||
* have a decoder.
|
* have a decoder.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
default void onAudioInputFormatChanged(
|
default void onAudioInputFormatChanged(
|
||||||
EventTime eventTime,
|
EventTime eventTime,
|
||||||
Format format,
|
Format format,
|
||||||
@ -930,6 +981,7 @@ public interface AnalyticsListener {
|
|||||||
* @param playoutStartSystemTimeMs The approximate derived {@link System#currentTimeMillis()} at
|
* @param playoutStartSystemTimeMs The approximate derived {@link System#currentTimeMillis()} at
|
||||||
* which playout started.
|
* which playout started.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
default void onAudioPositionAdvancing(EventTime eventTime, long playoutStartSystemTimeMs) {}
|
default void onAudioPositionAdvancing(EventTime eventTime, long playoutStartSystemTimeMs) {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -941,6 +993,7 @@ public interface AnalyticsListener {
|
|||||||
* encoded audio. {@link C#TIME_UNSET} if the output buffer contains non-PCM encoded audio.
|
* encoded audio. {@link C#TIME_UNSET} if the output buffer contains non-PCM encoded audio.
|
||||||
* @param elapsedSinceLastFeedMs The time since audio was last written to the output buffer.
|
* @param elapsedSinceLastFeedMs The time since audio was last written to the output buffer.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
default void onAudioUnderrun(
|
default void onAudioUnderrun(
|
||||||
EventTime eventTime, int bufferSize, long bufferSizeMs, long elapsedSinceLastFeedMs) {}
|
EventTime eventTime, int bufferSize, long bufferSizeMs, long elapsedSinceLastFeedMs) {}
|
||||||
|
|
||||||
@ -950,6 +1003,7 @@ public interface AnalyticsListener {
|
|||||||
* @param eventTime The event time.
|
* @param eventTime The event time.
|
||||||
* @param decoderName The decoder that was released.
|
* @param decoderName The decoder that was released.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
default void onAudioDecoderReleased(EventTime eventTime, String decoderName) {}
|
default void onAudioDecoderReleased(EventTime eventTime, String decoderName) {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -958,6 +1012,7 @@ public interface AnalyticsListener {
|
|||||||
* @param eventTime The event time.
|
* @param eventTime The event time.
|
||||||
* @param decoderCounters {@link DecoderCounters} that were updated by the renderer.
|
* @param decoderCounters {@link DecoderCounters} that were updated by the renderer.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
default void onAudioDisabled(EventTime eventTime, DecoderCounters decoderCounters) {}
|
default void onAudioDisabled(EventTime eventTime, DecoderCounters decoderCounters) {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -966,6 +1021,7 @@ public interface AnalyticsListener {
|
|||||||
* @param eventTime The event time.
|
* @param eventTime The event time.
|
||||||
* @param audioSessionId The audio session ID.
|
* @param audioSessionId The audio session ID.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
default void onAudioSessionIdChanged(EventTime eventTime, int audioSessionId) {}
|
default void onAudioSessionIdChanged(EventTime eventTime, int audioSessionId) {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -974,6 +1030,7 @@ public interface AnalyticsListener {
|
|||||||
* @param eventTime The event time.
|
* @param eventTime The event time.
|
||||||
* @param audioAttributes The audio attributes.
|
* @param audioAttributes The audio attributes.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
default void onAudioAttributesChanged(EventTime eventTime, AudioAttributes audioAttributes) {}
|
default void onAudioAttributesChanged(EventTime eventTime, AudioAttributes audioAttributes) {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -982,6 +1039,7 @@ public interface AnalyticsListener {
|
|||||||
* @param eventTime The event time.
|
* @param eventTime The event time.
|
||||||
* @param skipSilenceEnabled Whether skipping silences in the audio stream is enabled.
|
* @param skipSilenceEnabled Whether skipping silences in the audio stream is enabled.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
default void onSkipSilenceEnabledChanged(EventTime eventTime, boolean skipSilenceEnabled) {}
|
default void onSkipSilenceEnabledChanged(EventTime eventTime, boolean skipSilenceEnabled) {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -999,6 +1057,7 @@ public interface AnalyticsListener {
|
|||||||
* AudioSink.InitializationException}, a {@link AudioSink.WriteException}, or an {@link
|
* AudioSink.InitializationException}, a {@link AudioSink.WriteException}, or an {@link
|
||||||
* AudioSink.UnexpectedDiscontinuityException}.
|
* AudioSink.UnexpectedDiscontinuityException}.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
default void onAudioSinkError(EventTime eventTime, Exception audioSinkError) {}
|
default void onAudioSinkError(EventTime eventTime, Exception audioSinkError) {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1015,6 +1074,7 @@ public interface AnalyticsListener {
|
|||||||
* @param audioCodecError The error. Typically a {@link CodecException} if the renderer uses
|
* @param audioCodecError The error. Typically a {@link CodecException} if the renderer uses
|
||||||
* {@link MediaCodec}, or a {@link DecoderException} if the renderer uses a software decoder.
|
* {@link MediaCodec}, or a {@link DecoderException} if the renderer uses a software decoder.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
default void onAudioCodecError(EventTime eventTime, Exception audioCodecError) {}
|
default void onAudioCodecError(EventTime eventTime, Exception audioCodecError) {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1023,6 +1083,7 @@ public interface AnalyticsListener {
|
|||||||
* @param eventTime The event time.
|
* @param eventTime The event time.
|
||||||
* @param volume The new volume, with 0 being silence and 1 being unity gain.
|
* @param volume The new volume, with 0 being silence and 1 being unity gain.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
default void onVolumeChanged(EventTime eventTime, float volume) {}
|
default void onVolumeChanged(EventTime eventTime, float volume) {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1031,6 +1092,7 @@ public interface AnalyticsListener {
|
|||||||
* @param eventTime The event time.
|
* @param eventTime The event time.
|
||||||
* @param deviceInfo The new {@link DeviceInfo}.
|
* @param deviceInfo The new {@link DeviceInfo}.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
default void onDeviceInfoChanged(EventTime eventTime, DeviceInfo deviceInfo) {}
|
default void onDeviceInfoChanged(EventTime eventTime, DeviceInfo deviceInfo) {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1040,6 +1102,7 @@ public interface AnalyticsListener {
|
|||||||
* @param volume The new device volume, with 0 being silence and 1 being unity gain.
|
* @param volume The new device volume, with 0 being silence and 1 being unity gain.
|
||||||
* @param muted Whether the device is muted.
|
* @param muted Whether the device is muted.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
default void onDeviceVolumeChanged(EventTime eventTime, int volume, boolean muted) {}
|
default void onDeviceVolumeChanged(EventTime eventTime, int volume, boolean muted) {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1049,6 +1112,7 @@ public interface AnalyticsListener {
|
|||||||
* @param decoderCounters {@link DecoderCounters} that will be updated by the renderer for as long
|
* @param decoderCounters {@link DecoderCounters} that will be updated by the renderer for as long
|
||||||
* as it remains enabled.
|
* as it remains enabled.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
default void onVideoEnabled(EventTime eventTime, DecoderCounters decoderCounters) {}
|
default void onVideoEnabled(EventTime eventTime, DecoderCounters decoderCounters) {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1060,6 +1124,7 @@ public interface AnalyticsListener {
|
|||||||
* finished.
|
* finished.
|
||||||
* @param initializationDurationMs The time taken to initialize the decoder in milliseconds.
|
* @param initializationDurationMs The time taken to initialize the decoder in milliseconds.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
default void onVideoDecoderInitialized(
|
default void onVideoDecoderInitialized(
|
||||||
EventTime eventTime,
|
EventTime eventTime,
|
||||||
String decoderName,
|
String decoderName,
|
||||||
@ -1069,6 +1134,7 @@ public interface AnalyticsListener {
|
|||||||
/**
|
/**
|
||||||
* @deprecated Use {@link #onVideoDecoderInitialized(EventTime, String, long, long)}.
|
* @deprecated Use {@link #onVideoDecoderInitialized(EventTime, String, long, long)}.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
@Deprecated
|
@Deprecated
|
||||||
default void onVideoDecoderInitialized(
|
default void onVideoDecoderInitialized(
|
||||||
EventTime eventTime, String decoderName, long initializationDurationMs) {}
|
EventTime eventTime, String decoderName, long initializationDurationMs) {}
|
||||||
@ -1076,6 +1142,7 @@ public interface AnalyticsListener {
|
|||||||
/**
|
/**
|
||||||
* @deprecated Use {@link #onVideoInputFormatChanged(EventTime, Format, DecoderReuseEvaluation)}.
|
* @deprecated Use {@link #onVideoInputFormatChanged(EventTime, Format, DecoderReuseEvaluation)}.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
@Deprecated
|
@Deprecated
|
||||||
default void onVideoInputFormatChanged(EventTime eventTime, Format format) {}
|
default void onVideoInputFormatChanged(EventTime eventTime, Format format) {}
|
||||||
|
|
||||||
@ -1088,6 +1155,7 @@ public interface AnalyticsListener {
|
|||||||
* decoder instance can be reused for the new format, or {@code null} if the renderer did not
|
* decoder instance can be reused for the new format, or {@code null} if the renderer did not
|
||||||
* have a decoder.
|
* have a decoder.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
default void onVideoInputFormatChanged(
|
default void onVideoInputFormatChanged(
|
||||||
EventTime eventTime,
|
EventTime eventTime,
|
||||||
Format format,
|
Format format,
|
||||||
@ -1102,6 +1170,7 @@ public interface AnalyticsListener {
|
|||||||
* is timed from when the renderer was started or from when dropped frames were last reported
|
* 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.
|
* (whichever was more recent), and not from when the first of the reported drops occurred.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
default void onDroppedVideoFrames(EventTime eventTime, int droppedFrames, long elapsedMs) {}
|
default void onDroppedVideoFrames(EventTime eventTime, int droppedFrames, long elapsedMs) {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1110,6 +1179,7 @@ public interface AnalyticsListener {
|
|||||||
* @param eventTime The event time.
|
* @param eventTime The event time.
|
||||||
* @param decoderName The decoder that was released.
|
* @param decoderName The decoder that was released.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
default void onVideoDecoderReleased(EventTime eventTime, String decoderName) {}
|
default void onVideoDecoderReleased(EventTime eventTime, String decoderName) {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1118,6 +1188,7 @@ public interface AnalyticsListener {
|
|||||||
* @param eventTime The event time.
|
* @param eventTime The event time.
|
||||||
* @param decoderCounters {@link DecoderCounters} that were updated by the renderer.
|
* @param decoderCounters {@link DecoderCounters} that were updated by the renderer.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
default void onVideoDisabled(EventTime eventTime, DecoderCounters decoderCounters) {}
|
default void onVideoDisabled(EventTime eventTime, DecoderCounters decoderCounters) {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1135,6 +1206,7 @@ public interface AnalyticsListener {
|
|||||||
* rendered since the last call to this method.
|
* rendered since the last call to this method.
|
||||||
* @param frameCount The number to samples included in {@code totalProcessingOffsetUs}.
|
* @param frameCount The number to samples included in {@code totalProcessingOffsetUs}.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
default void onVideoFrameProcessingOffset(
|
default void onVideoFrameProcessingOffset(
|
||||||
EventTime eventTime, long totalProcessingOffsetUs, int frameCount) {}
|
EventTime eventTime, long totalProcessingOffsetUs, int frameCount) {}
|
||||||
|
|
||||||
@ -1152,6 +1224,7 @@ public interface AnalyticsListener {
|
|||||||
* @param videoCodecError The error. Typically a {@link CodecException} if the renderer uses
|
* @param videoCodecError The error. Typically a {@link CodecException} if the renderer uses
|
||||||
* {@link MediaCodec}, or a {@link DecoderException} if the renderer uses a software decoder.
|
* {@link MediaCodec}, or a {@link DecoderException} if the renderer uses a software decoder.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
default void onVideoCodecError(EventTime eventTime, Exception videoCodecError) {}
|
default void onVideoCodecError(EventTime eventTime, Exception videoCodecError) {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1163,6 +1236,7 @@ public interface AnalyticsListener {
|
|||||||
* however may also be other output types (e.g., a {@link VideoDecoderOutputBufferRenderer}).
|
* however may also be other output types (e.g., a {@link VideoDecoderOutputBufferRenderer}).
|
||||||
* @param renderTimeMs {@link SystemClock#elapsedRealtime()} when the first frame was rendered.
|
* @param renderTimeMs {@link SystemClock#elapsedRealtime()} when the first frame was rendered.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
default void onRenderedFirstFrame(EventTime eventTime, Object output, long renderTimeMs) {}
|
default void onRenderedFirstFrame(EventTime eventTime, Object output, long renderTimeMs) {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1172,11 +1246,13 @@ public interface AnalyticsListener {
|
|||||||
* @param eventTime The event time.
|
* @param eventTime The event time.
|
||||||
* @param videoSize The new size of the video.
|
* @param videoSize The new size of the video.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
default void onVideoSizeChanged(EventTime eventTime, VideoSize videoSize) {}
|
default void onVideoSizeChanged(EventTime eventTime, VideoSize videoSize) {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @deprecated Implement {@link #onVideoSizeChanged(EventTime eventTime, VideoSize)} instead.
|
* @deprecated Implement {@link #onVideoSizeChanged(EventTime eventTime, VideoSize)} instead.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
@Deprecated
|
@Deprecated
|
||||||
default void onVideoSizeChanged(
|
default void onVideoSizeChanged(
|
||||||
EventTime eventTime,
|
EventTime eventTime,
|
||||||
@ -1194,11 +1270,13 @@ public interface AnalyticsListener {
|
|||||||
* @param height The surface height in pixels. May be {@link C#LENGTH_UNSET} if unknown, or 0 if
|
* @param height The surface height in pixels. May be {@link C#LENGTH_UNSET} if unknown, or 0 if
|
||||||
* the video is not rendered onto a surface.
|
* the video is not rendered onto a surface.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
default void onSurfaceSizeChanged(EventTime eventTime, int width, int height) {}
|
default void onSurfaceSizeChanged(EventTime eventTime, int width, int height) {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @deprecated Implement {@link #onDrmSessionAcquired(EventTime, int)} instead.
|
* @deprecated Implement {@link #onDrmSessionAcquired(EventTime, int)} instead.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
@Deprecated
|
@Deprecated
|
||||||
default void onDrmSessionAcquired(EventTime eventTime) {}
|
default void onDrmSessionAcquired(EventTime eventTime) {}
|
||||||
|
|
||||||
@ -1208,6 +1286,7 @@ public interface AnalyticsListener {
|
|||||||
* @param eventTime The event time.
|
* @param eventTime The event time.
|
||||||
* @param state The {@link DrmSession.State} of the session when the acquisition completed.
|
* @param state The {@link DrmSession.State} of the session when the acquisition completed.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
default void onDrmSessionAcquired(EventTime eventTime, @DrmSession.State int state) {}
|
default void onDrmSessionAcquired(EventTime eventTime, @DrmSession.State int state) {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1215,6 +1294,7 @@ public interface AnalyticsListener {
|
|||||||
*
|
*
|
||||||
* @param eventTime The event time.
|
* @param eventTime The event time.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
default void onDrmKeysLoaded(EventTime eventTime) {}
|
default void onDrmKeysLoaded(EventTime eventTime) {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1230,6 +1310,7 @@ public interface AnalyticsListener {
|
|||||||
* @param eventTime The event time.
|
* @param eventTime The event time.
|
||||||
* @param error The error.
|
* @param error The error.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
default void onDrmSessionManagerError(EventTime eventTime, Exception error) {}
|
default void onDrmSessionManagerError(EventTime eventTime, Exception error) {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1237,6 +1318,7 @@ public interface AnalyticsListener {
|
|||||||
*
|
*
|
||||||
* @param eventTime The event time.
|
* @param eventTime The event time.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
default void onDrmKeysRestored(EventTime eventTime) {}
|
default void onDrmKeysRestored(EventTime eventTime) {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1244,6 +1326,7 @@ public interface AnalyticsListener {
|
|||||||
*
|
*
|
||||||
* @param eventTime The event time.
|
* @param eventTime The event time.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
default void onDrmKeysRemoved(EventTime eventTime) {}
|
default void onDrmKeysRemoved(EventTime eventTime) {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1251,6 +1334,7 @@ public interface AnalyticsListener {
|
|||||||
*
|
*
|
||||||
* @param eventTime The event time.
|
* @param eventTime The event time.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
default void onDrmSessionReleased(EventTime eventTime) {}
|
default void onDrmSessionReleased(EventTime eventTime) {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1258,6 +1342,7 @@ public interface AnalyticsListener {
|
|||||||
*
|
*
|
||||||
* @param eventTime The event time.
|
* @param eventTime The event time.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
default void onPlayerReleased(EventTime eventTime) {}
|
default void onPlayerReleased(EventTime eventTime) {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1287,5 +1372,6 @@ public interface AnalyticsListener {
|
|||||||
* @param player The {@link Player}.
|
* @param player The {@link Player}.
|
||||||
* @param events The {@link Events} that occurred in this iteration.
|
* @param events The {@link Events} that occurred in this iteration.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
default void onEvents(Player player, Events events) {}
|
default void onEvents(Player player, Events events) {}
|
||||||
}
|
}
|
||||||
|
@ -49,7 +49,6 @@ import java.util.Locale;
|
|||||||
|
|
||||||
/** Logs events from {@link Player} and other core components using {@link Log}. */
|
/** Logs events from {@link Player} and other core components using {@link Log}. */
|
||||||
@SuppressWarnings("UngroupedOverloads")
|
@SuppressWarnings("UngroupedOverloads")
|
||||||
@UnstableApi
|
|
||||||
public class EventLogger implements AnalyticsListener {
|
public class EventLogger implements AnalyticsListener {
|
||||||
|
|
||||||
private static final String DEFAULT_TAG = "EventLogger";
|
private static final String DEFAULT_TAG = "EventLogger";
|
||||||
@ -91,6 +90,7 @@ public class EventLogger implements AnalyticsListener {
|
|||||||
* @param trackSelector This parameter is ignored.
|
* @param trackSelector This parameter is ignored.
|
||||||
* @deprecated Use {@link EventLogger()}
|
* @deprecated Use {@link EventLogger()}
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
@Deprecated
|
@Deprecated
|
||||||
public EventLogger(@Nullable MappingTrackSelector trackSelector) {
|
public EventLogger(@Nullable MappingTrackSelector trackSelector) {
|
||||||
this(DEFAULT_TAG);
|
this(DEFAULT_TAG);
|
||||||
@ -103,6 +103,7 @@ public class EventLogger implements AnalyticsListener {
|
|||||||
* @param tag The tag used for logging.
|
* @param tag The tag used for logging.
|
||||||
* @deprecated Use {@link EventLogger(String)}
|
* @deprecated Use {@link EventLogger(String)}
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
@Deprecated
|
@Deprecated
|
||||||
public EventLogger(@Nullable MappingTrackSelector trackSelector, String tag) {
|
public EventLogger(@Nullable MappingTrackSelector trackSelector, String tag) {
|
||||||
this(tag);
|
this(tag);
|
||||||
@ -110,16 +111,19 @@ public class EventLogger implements AnalyticsListener {
|
|||||||
|
|
||||||
// AnalyticsListener
|
// AnalyticsListener
|
||||||
|
|
||||||
|
@UnstableApi
|
||||||
@Override
|
@Override
|
||||||
public void onIsLoadingChanged(EventTime eventTime, boolean isLoading) {
|
public void onIsLoadingChanged(EventTime eventTime, boolean isLoading) {
|
||||||
logd(eventTime, "loading", Boolean.toString(isLoading));
|
logd(eventTime, "loading", Boolean.toString(isLoading));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@UnstableApi
|
||||||
@Override
|
@Override
|
||||||
public void onPlaybackStateChanged(EventTime eventTime, @Player.State int state) {
|
public void onPlaybackStateChanged(EventTime eventTime, @Player.State int state) {
|
||||||
logd(eventTime, "state", getStateString(state));
|
logd(eventTime, "state", getStateString(state));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@UnstableApi
|
||||||
@Override
|
@Override
|
||||||
public void onPlayWhenReadyChanged(
|
public void onPlayWhenReadyChanged(
|
||||||
EventTime eventTime, boolean playWhenReady, @Player.PlayWhenReadyChangeReason int reason) {
|
EventTime eventTime, boolean playWhenReady, @Player.PlayWhenReadyChangeReason int reason) {
|
||||||
@ -129,6 +133,7 @@ public class EventLogger implements AnalyticsListener {
|
|||||||
playWhenReady + ", " + getPlayWhenReadyChangeReasonString(reason));
|
playWhenReady + ", " + getPlayWhenReadyChangeReasonString(reason));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@UnstableApi
|
||||||
@Override
|
@Override
|
||||||
public void onPlaybackSuppressionReasonChanged(
|
public void onPlaybackSuppressionReasonChanged(
|
||||||
EventTime eventTime, @PlaybackSuppressionReason int playbackSuppressionReason) {
|
EventTime eventTime, @PlaybackSuppressionReason int playbackSuppressionReason) {
|
||||||
@ -138,21 +143,25 @@ public class EventLogger implements AnalyticsListener {
|
|||||||
getPlaybackSuppressionReasonString(playbackSuppressionReason));
|
getPlaybackSuppressionReasonString(playbackSuppressionReason));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@UnstableApi
|
||||||
@Override
|
@Override
|
||||||
public void onIsPlayingChanged(EventTime eventTime, boolean isPlaying) {
|
public void onIsPlayingChanged(EventTime eventTime, boolean isPlaying) {
|
||||||
logd(eventTime, "isPlaying", Boolean.toString(isPlaying));
|
logd(eventTime, "isPlaying", Boolean.toString(isPlaying));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@UnstableApi
|
||||||
@Override
|
@Override
|
||||||
public void onRepeatModeChanged(EventTime eventTime, @Player.RepeatMode int repeatMode) {
|
public void onRepeatModeChanged(EventTime eventTime, @Player.RepeatMode int repeatMode) {
|
||||||
logd(eventTime, "repeatMode", getRepeatModeString(repeatMode));
|
logd(eventTime, "repeatMode", getRepeatModeString(repeatMode));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@UnstableApi
|
||||||
@Override
|
@Override
|
||||||
public void onShuffleModeChanged(EventTime eventTime, boolean shuffleModeEnabled) {
|
public void onShuffleModeChanged(EventTime eventTime, boolean shuffleModeEnabled) {
|
||||||
logd(eventTime, "shuffleModeEnabled", Boolean.toString(shuffleModeEnabled));
|
logd(eventTime, "shuffleModeEnabled", Boolean.toString(shuffleModeEnabled));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@UnstableApi
|
||||||
@Override
|
@Override
|
||||||
public void onPositionDiscontinuity(
|
public void onPositionDiscontinuity(
|
||||||
EventTime eventTime,
|
EventTime eventTime,
|
||||||
@ -200,12 +209,14 @@ public class EventLogger implements AnalyticsListener {
|
|||||||
logd(eventTime, "positionDiscontinuity", builder.toString());
|
logd(eventTime, "positionDiscontinuity", builder.toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@UnstableApi
|
||||||
@Override
|
@Override
|
||||||
public void onPlaybackParametersChanged(
|
public void onPlaybackParametersChanged(
|
||||||
EventTime eventTime, PlaybackParameters playbackParameters) {
|
EventTime eventTime, PlaybackParameters playbackParameters) {
|
||||||
logd(eventTime, "playbackParameters", playbackParameters.toString());
|
logd(eventTime, "playbackParameters", playbackParameters.toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@UnstableApi
|
||||||
@Override
|
@Override
|
||||||
public void onTimelineChanged(EventTime eventTime, @Player.TimelineChangeReason int reason) {
|
public void onTimelineChanged(EventTime eventTime, @Player.TimelineChangeReason int reason) {
|
||||||
int periodCount = eventTime.timeline.getPeriodCount();
|
int periodCount = eventTime.timeline.getPeriodCount();
|
||||||
@ -244,6 +255,7 @@ public class EventLogger implements AnalyticsListener {
|
|||||||
logd("]");
|
logd("]");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@UnstableApi
|
||||||
@Override
|
@Override
|
||||||
public void onMediaItemTransition(
|
public void onMediaItemTransition(
|
||||||
EventTime eventTime, @Nullable MediaItem mediaItem, int reason) {
|
EventTime eventTime, @Nullable MediaItem mediaItem, int reason) {
|
||||||
@ -255,11 +267,13 @@ public class EventLogger implements AnalyticsListener {
|
|||||||
+ "]");
|
+ "]");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@UnstableApi
|
||||||
@Override
|
@Override
|
||||||
public void onPlayerError(EventTime eventTime, PlaybackException error) {
|
public void onPlayerError(EventTime eventTime, PlaybackException error) {
|
||||||
loge(eventTime, "playerFailed", error);
|
loge(eventTime, "playerFailed", error);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@UnstableApi
|
||||||
@Override
|
@Override
|
||||||
public void onTracksChanged(EventTime eventTime, Tracks tracks) {
|
public void onTracksChanged(EventTime eventTime, Tracks tracks) {
|
||||||
logd("tracks [" + getEventTimeString(eventTime));
|
logd("tracks [" + getEventTimeString(eventTime));
|
||||||
@ -303,6 +317,7 @@ public class EventLogger implements AnalyticsListener {
|
|||||||
logd("]");
|
logd("]");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@UnstableApi
|
||||||
@Override
|
@Override
|
||||||
public void onMetadata(EventTime eventTime, Metadata metadata) {
|
public void onMetadata(EventTime eventTime, Metadata metadata) {
|
||||||
logd("metadata [" + getEventTimeString(eventTime));
|
logd("metadata [" + getEventTimeString(eventTime));
|
||||||
@ -310,23 +325,27 @@ public class EventLogger implements AnalyticsListener {
|
|||||||
logd("]");
|
logd("]");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@UnstableApi
|
||||||
@Override
|
@Override
|
||||||
public void onAudioEnabled(EventTime eventTime, DecoderCounters decoderCounters) {
|
public void onAudioEnabled(EventTime eventTime, DecoderCounters decoderCounters) {
|
||||||
logd(eventTime, "audioEnabled");
|
logd(eventTime, "audioEnabled");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@UnstableApi
|
||||||
@Override
|
@Override
|
||||||
public void onAudioDecoderInitialized(
|
public void onAudioDecoderInitialized(
|
||||||
EventTime eventTime, String decoderName, long initializationDurationMs) {
|
EventTime eventTime, String decoderName, long initializationDurationMs) {
|
||||||
logd(eventTime, "audioDecoderInitialized", decoderName);
|
logd(eventTime, "audioDecoderInitialized", decoderName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@UnstableApi
|
||||||
@Override
|
@Override
|
||||||
public void onAudioInputFormatChanged(
|
public void onAudioInputFormatChanged(
|
||||||
EventTime eventTime, Format format, @Nullable DecoderReuseEvaluation decoderReuseEvaluation) {
|
EventTime eventTime, Format format, @Nullable DecoderReuseEvaluation decoderReuseEvaluation) {
|
||||||
logd(eventTime, "audioInputFormat", Format.toLogString(format));
|
logd(eventTime, "audioInputFormat", Format.toLogString(format));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@UnstableApi
|
||||||
@Override
|
@Override
|
||||||
public void onAudioUnderrun(
|
public void onAudioUnderrun(
|
||||||
EventTime eventTime, int bufferSize, long bufferSizeMs, long elapsedSinceLastFeedMs) {
|
EventTime eventTime, int bufferSize, long bufferSizeMs, long elapsedSinceLastFeedMs) {
|
||||||
@ -337,21 +356,25 @@ public class EventLogger implements AnalyticsListener {
|
|||||||
/* throwable= */ null);
|
/* throwable= */ null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@UnstableApi
|
||||||
@Override
|
@Override
|
||||||
public void onAudioDecoderReleased(EventTime eventTime, String decoderName) {
|
public void onAudioDecoderReleased(EventTime eventTime, String decoderName) {
|
||||||
logd(eventTime, "audioDecoderReleased", decoderName);
|
logd(eventTime, "audioDecoderReleased", decoderName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@UnstableApi
|
||||||
@Override
|
@Override
|
||||||
public void onAudioDisabled(EventTime eventTime, DecoderCounters decoderCounters) {
|
public void onAudioDisabled(EventTime eventTime, DecoderCounters decoderCounters) {
|
||||||
logd(eventTime, "audioDisabled");
|
logd(eventTime, "audioDisabled");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@UnstableApi
|
||||||
@Override
|
@Override
|
||||||
public void onAudioSessionIdChanged(EventTime eventTime, int audioSessionId) {
|
public void onAudioSessionIdChanged(EventTime eventTime, int audioSessionId) {
|
||||||
logd(eventTime, "audioSessionId", Integer.toString(audioSessionId));
|
logd(eventTime, "audioSessionId", Integer.toString(audioSessionId));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@UnstableApi
|
||||||
@Override
|
@Override
|
||||||
public void onAudioAttributesChanged(EventTime eventTime, AudioAttributes audioAttributes) {
|
public void onAudioAttributesChanged(EventTime eventTime, AudioAttributes audioAttributes) {
|
||||||
logd(
|
logd(
|
||||||
@ -366,64 +389,76 @@ public class EventLogger implements AnalyticsListener {
|
|||||||
+ audioAttributes.allowedCapturePolicy);
|
+ audioAttributes.allowedCapturePolicy);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@UnstableApi
|
||||||
@Override
|
@Override
|
||||||
public void onSkipSilenceEnabledChanged(EventTime eventTime, boolean skipSilenceEnabled) {
|
public void onSkipSilenceEnabledChanged(EventTime eventTime, boolean skipSilenceEnabled) {
|
||||||
logd(eventTime, "skipSilenceEnabled", Boolean.toString(skipSilenceEnabled));
|
logd(eventTime, "skipSilenceEnabled", Boolean.toString(skipSilenceEnabled));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@UnstableApi
|
||||||
@Override
|
@Override
|
||||||
public void onVolumeChanged(EventTime eventTime, float volume) {
|
public void onVolumeChanged(EventTime eventTime, float volume) {
|
||||||
logd(eventTime, "volume", Float.toString(volume));
|
logd(eventTime, "volume", Float.toString(volume));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@UnstableApi
|
||||||
@Override
|
@Override
|
||||||
public void onVideoEnabled(EventTime eventTime, DecoderCounters decoderCounters) {
|
public void onVideoEnabled(EventTime eventTime, DecoderCounters decoderCounters) {
|
||||||
logd(eventTime, "videoEnabled");
|
logd(eventTime, "videoEnabled");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@UnstableApi
|
||||||
@Override
|
@Override
|
||||||
public void onVideoDecoderInitialized(
|
public void onVideoDecoderInitialized(
|
||||||
EventTime eventTime, String decoderName, long initializationDurationMs) {
|
EventTime eventTime, String decoderName, long initializationDurationMs) {
|
||||||
logd(eventTime, "videoDecoderInitialized", decoderName);
|
logd(eventTime, "videoDecoderInitialized", decoderName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@UnstableApi
|
||||||
@Override
|
@Override
|
||||||
public void onVideoInputFormatChanged(
|
public void onVideoInputFormatChanged(
|
||||||
EventTime eventTime, Format format, @Nullable DecoderReuseEvaluation decoderReuseEvaluation) {
|
EventTime eventTime, Format format, @Nullable DecoderReuseEvaluation decoderReuseEvaluation) {
|
||||||
logd(eventTime, "videoInputFormat", Format.toLogString(format));
|
logd(eventTime, "videoInputFormat", Format.toLogString(format));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@UnstableApi
|
||||||
@Override
|
@Override
|
||||||
public void onDroppedVideoFrames(EventTime eventTime, int droppedFrames, long elapsedMs) {
|
public void onDroppedVideoFrames(EventTime eventTime, int droppedFrames, long elapsedMs) {
|
||||||
logd(eventTime, "droppedFrames", Integer.toString(droppedFrames));
|
logd(eventTime, "droppedFrames", Integer.toString(droppedFrames));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@UnstableApi
|
||||||
@Override
|
@Override
|
||||||
public void onVideoDecoderReleased(EventTime eventTime, String decoderName) {
|
public void onVideoDecoderReleased(EventTime eventTime, String decoderName) {
|
||||||
logd(eventTime, "videoDecoderReleased", decoderName);
|
logd(eventTime, "videoDecoderReleased", decoderName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@UnstableApi
|
||||||
@Override
|
@Override
|
||||||
public void onVideoDisabled(EventTime eventTime, DecoderCounters decoderCounters) {
|
public void onVideoDisabled(EventTime eventTime, DecoderCounters decoderCounters) {
|
||||||
logd(eventTime, "videoDisabled");
|
logd(eventTime, "videoDisabled");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@UnstableApi
|
||||||
@Override
|
@Override
|
||||||
public void onRenderedFirstFrame(EventTime eventTime, Object output, long renderTimeMs) {
|
public void onRenderedFirstFrame(EventTime eventTime, Object output, long renderTimeMs) {
|
||||||
logd(eventTime, "renderedFirstFrame", String.valueOf(output));
|
logd(eventTime, "renderedFirstFrame", String.valueOf(output));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@UnstableApi
|
||||||
@Override
|
@Override
|
||||||
public void onVideoSizeChanged(EventTime eventTime, VideoSize videoSize) {
|
public void onVideoSizeChanged(EventTime eventTime, VideoSize videoSize) {
|
||||||
logd(eventTime, "videoSize", videoSize.width + ", " + videoSize.height);
|
logd(eventTime, "videoSize", videoSize.width + ", " + videoSize.height);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@UnstableApi
|
||||||
@Override
|
@Override
|
||||||
public void onLoadStarted(
|
public void onLoadStarted(
|
||||||
EventTime eventTime, LoadEventInfo loadEventInfo, MediaLoadData mediaLoadData) {
|
EventTime eventTime, LoadEventInfo loadEventInfo, MediaLoadData mediaLoadData) {
|
||||||
// Do nothing.
|
// Do nothing.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@UnstableApi
|
||||||
@Override
|
@Override
|
||||||
public void onLoadError(
|
public void onLoadError(
|
||||||
EventTime eventTime,
|
EventTime eventTime,
|
||||||
@ -434,64 +469,76 @@ public class EventLogger implements AnalyticsListener {
|
|||||||
printInternalError(eventTime, "loadError", error);
|
printInternalError(eventTime, "loadError", error);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@UnstableApi
|
||||||
@Override
|
@Override
|
||||||
public void onLoadCanceled(
|
public void onLoadCanceled(
|
||||||
EventTime eventTime, LoadEventInfo loadEventInfo, MediaLoadData mediaLoadData) {
|
EventTime eventTime, LoadEventInfo loadEventInfo, MediaLoadData mediaLoadData) {
|
||||||
// Do nothing.
|
// Do nothing.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@UnstableApi
|
||||||
@Override
|
@Override
|
||||||
public void onLoadCompleted(
|
public void onLoadCompleted(
|
||||||
EventTime eventTime, LoadEventInfo loadEventInfo, MediaLoadData mediaLoadData) {
|
EventTime eventTime, LoadEventInfo loadEventInfo, MediaLoadData mediaLoadData) {
|
||||||
// Do nothing.
|
// Do nothing.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@UnstableApi
|
||||||
@Override
|
@Override
|
||||||
public void onBandwidthEstimate(
|
public void onBandwidthEstimate(
|
||||||
EventTime eventTime, int totalLoadTimeMs, long totalBytesLoaded, long bitrateEstimate) {
|
EventTime eventTime, int totalLoadTimeMs, long totalBytesLoaded, long bitrateEstimate) {
|
||||||
// Do nothing.
|
// Do nothing.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@UnstableApi
|
||||||
@Override
|
@Override
|
||||||
public void onSurfaceSizeChanged(EventTime eventTime, int width, int height) {
|
public void onSurfaceSizeChanged(EventTime eventTime, int width, int height) {
|
||||||
logd(eventTime, "surfaceSize", width + ", " + height);
|
logd(eventTime, "surfaceSize", width + ", " + height);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@UnstableApi
|
||||||
@Override
|
@Override
|
||||||
public void onUpstreamDiscarded(EventTime eventTime, MediaLoadData mediaLoadData) {
|
public void onUpstreamDiscarded(EventTime eventTime, MediaLoadData mediaLoadData) {
|
||||||
logd(eventTime, "upstreamDiscarded", Format.toLogString(mediaLoadData.trackFormat));
|
logd(eventTime, "upstreamDiscarded", Format.toLogString(mediaLoadData.trackFormat));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@UnstableApi
|
||||||
@Override
|
@Override
|
||||||
public void onDownstreamFormatChanged(EventTime eventTime, MediaLoadData mediaLoadData) {
|
public void onDownstreamFormatChanged(EventTime eventTime, MediaLoadData mediaLoadData) {
|
||||||
logd(eventTime, "downstreamFormat", Format.toLogString(mediaLoadData.trackFormat));
|
logd(eventTime, "downstreamFormat", Format.toLogString(mediaLoadData.trackFormat));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@UnstableApi
|
||||||
@Override
|
@Override
|
||||||
public void onDrmSessionAcquired(EventTime eventTime, @DrmSession.State int state) {
|
public void onDrmSessionAcquired(EventTime eventTime, @DrmSession.State int state) {
|
||||||
logd(eventTime, "drmSessionAcquired", "state=" + state);
|
logd(eventTime, "drmSessionAcquired", "state=" + state);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@UnstableApi
|
||||||
@Override
|
@Override
|
||||||
public void onDrmSessionManagerError(EventTime eventTime, Exception error) {
|
public void onDrmSessionManagerError(EventTime eventTime, Exception error) {
|
||||||
printInternalError(eventTime, "drmSessionManagerError", error);
|
printInternalError(eventTime, "drmSessionManagerError", error);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@UnstableApi
|
||||||
@Override
|
@Override
|
||||||
public void onDrmKeysRestored(EventTime eventTime) {
|
public void onDrmKeysRestored(EventTime eventTime) {
|
||||||
logd(eventTime, "drmKeysRestored");
|
logd(eventTime, "drmKeysRestored");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@UnstableApi
|
||||||
@Override
|
@Override
|
||||||
public void onDrmKeysRemoved(EventTime eventTime) {
|
public void onDrmKeysRemoved(EventTime eventTime) {
|
||||||
logd(eventTime, "drmKeysRemoved");
|
logd(eventTime, "drmKeysRemoved");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@UnstableApi
|
||||||
@Override
|
@Override
|
||||||
public void onDrmKeysLoaded(EventTime eventTime) {
|
public void onDrmKeysLoaded(EventTime eventTime) {
|
||||||
logd(eventTime, "drmKeysLoaded");
|
logd(eventTime, "drmKeysLoaded");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@UnstableApi
|
||||||
@Override
|
@Override
|
||||||
public void onDrmSessionReleased(EventTime eventTime) {
|
public void onDrmSessionReleased(EventTime eventTime) {
|
||||||
logd(eventTime, "drmSessionReleased");
|
logd(eventTime, "drmSessionReleased");
|
||||||
@ -502,6 +549,7 @@ public class EventLogger implements AnalyticsListener {
|
|||||||
*
|
*
|
||||||
* @param msg The message to log.
|
* @param msg The message to log.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
protected void logd(String msg) {
|
protected void logd(String msg) {
|
||||||
Log.d(tag, msg);
|
Log.d(tag, msg);
|
||||||
}
|
}
|
||||||
@ -511,6 +559,7 @@ public class EventLogger implements AnalyticsListener {
|
|||||||
*
|
*
|
||||||
* @param msg The message to log.
|
* @param msg The message to log.
|
||||||
*/
|
*/
|
||||||
|
@UnstableApi
|
||||||
protected void loge(String msg) {
|
protected void loge(String msg) {
|
||||||
Log.e(tag, msg);
|
Log.e(tag, msg);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user