From 473a4a76800e3c9d03f3fad65cb0166afd8011d7 Mon Sep 17 00:00:00 2001 From: Ian Baker Date: Wed, 23 Oct 2024 14:29:19 +0100 Subject: [PATCH] Call both old and new onLoadStarted methods in DefaultAnalyticsCollector --- .../media3/exoplayer/analytics/AnalyticsListener.java | 7 ++----- .../exoplayer/analytics/DefaultAnalyticsCollector.java | 6 ++++++ 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/analytics/AnalyticsListener.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/analytics/AnalyticsListener.java index b8ddc6f63f..76a6591a2c 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/analytics/AnalyticsListener.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/analytics/AnalyticsListener.java @@ -844,11 +844,8 @@ public interface AnalyticsListener { default void onPlaylistMetadataChanged(EventTime eventTime, MediaMetadata playlistMetadata) {} /** - * Called when a media source started loading data. - * - * @param eventTime The event time. - * @param loadEventInfo The {@link LoadEventInfo} defining the load event. - * @param mediaLoadData The {@link MediaLoadData} defining the data being loaded. + * @deprecated Implement {@link #onLoadStarted(EventTime, LoadEventInfo, MediaLoadData, int)} + * instead. */ @UnstableApi @Deprecated diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/analytics/DefaultAnalyticsCollector.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/analytics/DefaultAnalyticsCollector.java index 3f80d131b9..adbb659ff4 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/analytics/DefaultAnalyticsCollector.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/analytics/DefaultAnalyticsCollector.java @@ -397,6 +397,8 @@ public class DefaultAnalyticsCollector implements AnalyticsCollector { // MediaSourceEventListener implementation. + // Deliberately calling deprecated listener method for backwards compatibility. + @SuppressWarnings("deprecation") @Override public final void onLoadStarted( int windowIndex, @@ -405,6 +407,10 @@ public class DefaultAnalyticsCollector implements AnalyticsCollector { MediaLoadData mediaLoadData, int retryCount) { EventTime eventTime = generateMediaPeriodEventTime(windowIndex, mediaPeriodId); + sendEvent( + eventTime, + C.INDEX_UNSET, + listener -> listener.onLoadStarted(eventTime, loadEventInfo, mediaLoadData)); sendEvent( eventTime, AnalyticsListener.EVENT_LOAD_STARTED,