Call both old and new onLoadStarted methods in DefaultAnalyticsCollector

This commit is contained in:
Ian Baker 2024-10-23 14:29:19 +01:00
parent d3298391b2
commit 473a4a7680
2 changed files with 8 additions and 5 deletions

View File

@ -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

View File

@ -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,