Remove backwards-compat onLoadStarted from MediaSourceEventListener

This commit is contained in:
Ian Baker 2024-10-23 14:06:43 +01:00
parent 5581529bfb
commit e7f5d4d441
16 changed files with 22 additions and 160 deletions

View File

@ -559,23 +559,6 @@ import java.util.Set;
// MediaSourceEventListener implementation // MediaSourceEventListener implementation
@Override
public void onLoadStarted(
int windowIndex,
@Nullable MediaSource.MediaPeriodId mediaPeriodId,
LoadEventInfo loadEventData,
MediaLoadData mediaLoadData) {
@Nullable
Pair<Integer, MediaSource.@NullableType MediaPeriodId> eventParameters =
getEventParameters(windowIndex, mediaPeriodId);
if (eventParameters != null) {
eventHandler.post(
() ->
eventListener.onLoadStarted(
eventParameters.first, eventParameters.second, loadEventData, mediaLoadData));
}
}
@Override @Override
public void onLoadStarted( public void onLoadStarted(
int windowIndex, int windowIndex,

View File

@ -397,19 +397,6 @@ public class DefaultAnalyticsCollector implements AnalyticsCollector {
// MediaSourceEventListener implementation. // MediaSourceEventListener implementation.
@Override
public final void onLoadStarted(
int windowIndex,
@Nullable MediaPeriodId mediaPeriodId,
LoadEventInfo loadEventInfo,
MediaLoadData mediaLoadData) {
EventTime eventTime = generateMediaPeriodEventTime(windowIndex, mediaPeriodId);
sendEvent(
eventTime,
C.INDEX_UNSET,
listener -> listener.onLoadStarted(eventTime, loadEventInfo, mediaLoadData));
}
@Override @Override
public final void onLoadStarted( public final void onLoadStarted(
int windowIndex, int windowIndex,

View File

@ -234,18 +234,6 @@ public abstract class CompositeMediaSource<T> extends BaseMediaSource {
// MediaSourceEventListener implementation // MediaSourceEventListener implementation
@Override
public void onLoadStarted(
int windowIndex,
@Nullable MediaPeriodId mediaPeriodId,
LoadEventInfo loadEventData,
MediaLoadData mediaLoadData) {
if (maybeUpdateEventDispatcher(windowIndex, mediaPeriodId)) {
mediaSourceEventDispatcher.loadStarted(
loadEventData, maybeUpdateMediaLoadData(mediaLoadData, mediaPeriodId));
}
}
@Override @Override
public void onLoadStarted( public void onLoadStarted(
int windowIndex, int windowIndex,

View File

@ -46,25 +46,7 @@ public interface MediaSourceEventListener {
* LoadEventInfo#uri} won't reflect potential redirection yet and {@link * LoadEventInfo#uri} won't reflect potential redirection yet and {@link
* LoadEventInfo#responseHeaders} will be empty. * LoadEventInfo#responseHeaders} will be empty.
* @param mediaLoadData The {@link MediaLoadData} defining the data being loaded. * @param mediaLoadData The {@link MediaLoadData} defining the data being loaded.
*/ * @param retryCount The number of failed attempts since this method was first called (this
@Deprecated
default void onLoadStarted(
int windowIndex,
@Nullable MediaPeriodId mediaPeriodId,
LoadEventInfo loadEventInfo,
MediaLoadData mediaLoadData) {}
/**
* Called when a load begins.
*
* @param windowIndex The window index in the timeline of the media source this load belongs to.
* @param mediaPeriodId The {@link MediaPeriodId} this load belongs to. Null if the load does not
* belong to a specific media period.
* @param loadEventInfo The {@link LoadEventInfo} corresponding to the event. The value of {@link
* LoadEventInfo#uri} won't reflect potential redirection yet and {@link
* LoadEventInfo#responseHeaders} will be empty.
* @param mediaLoadData The {@link MediaLoadData} defining the data being loaded.
* @param retryCount The number of failed attempts since {@link #onLoadStarted} was called (this
* is zero for the first load attempt). * is zero for the first load attempt).
*/ */
default void onLoadStarted( default void onLoadStarted(
@ -82,7 +64,7 @@ public interface MediaSourceEventListener {
* belong to a specific media period. * belong to a specific media period.
* @param loadEventInfo The {@link LoadEventInfo} corresponding to the event. The values of {@link * @param loadEventInfo The {@link LoadEventInfo} corresponding to the event. The values of {@link
* LoadEventInfo#elapsedRealtimeMs} and {@link LoadEventInfo#bytesLoaded} are relative to the * LoadEventInfo#elapsedRealtimeMs} and {@link LoadEventInfo#bytesLoaded} are relative to the
* corresponding {@link #onLoadStarted(int, MediaPeriodId, LoadEventInfo, MediaLoadData)} * corresponding {@link #onLoadStarted}
* event. * event.
* @param mediaLoadData The {@link MediaLoadData} defining the data being loaded. * @param mediaLoadData The {@link MediaLoadData} defining the data being loaded.
*/ */
@ -100,7 +82,7 @@ public interface MediaSourceEventListener {
* belong to a specific media period. * belong to a specific media period.
* @param loadEventInfo The {@link LoadEventInfo} corresponding to the event. The values of {@link * @param loadEventInfo The {@link LoadEventInfo} corresponding to the event. The values of {@link
* LoadEventInfo#elapsedRealtimeMs} and {@link LoadEventInfo#bytesLoaded} are relative to the * LoadEventInfo#elapsedRealtimeMs} and {@link LoadEventInfo#bytesLoaded} are relative to the
* corresponding {@link #onLoadStarted(int, MediaPeriodId, LoadEventInfo, MediaLoadData)} * corresponding {@link #onLoadStarted}
* event. * event.
* @param mediaLoadData The {@link MediaLoadData} defining the data being loaded. * @param mediaLoadData The {@link MediaLoadData} defining the data being loaded.
*/ */
@ -129,7 +111,7 @@ public interface MediaSourceEventListener {
* belong to a specific media period. * belong to a specific media period.
* @param loadEventInfo The {@link LoadEventInfo} corresponding to the event. The values of {@link * @param loadEventInfo The {@link LoadEventInfo} corresponding to the event. The values of {@link
* LoadEventInfo#elapsedRealtimeMs} and {@link LoadEventInfo#bytesLoaded} are relative to the * LoadEventInfo#elapsedRealtimeMs} and {@link LoadEventInfo#bytesLoaded} are relative to the
* corresponding {@link #onLoadStarted(int, MediaPeriodId, LoadEventInfo, MediaLoadData)} * corresponding {@link #onLoadStarted}
* event. * event.
* @param mediaLoadData The {@link MediaLoadData} defining the data being loaded. * @param mediaLoadData The {@link MediaLoadData} defining the data being loaded.
* @param error The load error. * @param error The load error.
@ -244,20 +226,6 @@ public interface MediaSourceEventListener {
} }
} }
/** Dispatches {@link #onLoadStarted(int, MediaPeriodId, LoadEventInfo, MediaLoadData)}. */
@Deprecated
public void loadStarted(LoadEventInfo loadEventInfo, @DataType int dataType) {
loadStarted(
loadEventInfo,
dataType,
/* trackType= */ C.TRACK_TYPE_UNKNOWN,
/* trackFormat= */ null,
/* trackSelectionReason= */ C.SELECTION_REASON_UNKNOWN,
/* trackSelectionData= */ null,
/* mediaStartTimeUs= */ C.TIME_UNSET,
/* mediaEndTimeUs= */ C.TIME_UNSET);
}
/** Dispatches {@link #onLoadStarted(int, MediaPeriodId, LoadEventInfo, MediaLoadData, int)}. */ /** Dispatches {@link #onLoadStarted(int, MediaPeriodId, LoadEventInfo, MediaLoadData, int)}. */
public void loadStarted(LoadEventInfo loadEventInfo, @DataType int dataType, int retryCount) { public void loadStarted(LoadEventInfo loadEventInfo, @DataType int dataType, int retryCount) {
loadStarted( loadStarted(
@ -272,29 +240,6 @@ public interface MediaSourceEventListener {
/* retryCount= */ retryCount); /* retryCount= */ retryCount);
} }
/** Dispatches {@link #onLoadStarted(int, MediaPeriodId, LoadEventInfo, MediaLoadData)}. */
@Deprecated
public void loadStarted(
LoadEventInfo loadEventInfo,
@DataType int dataType,
@C.TrackType int trackType,
@Nullable Format trackFormat,
@C.SelectionReason int trackSelectionReason,
@Nullable Object trackSelectionData,
long mediaStartTimeUs,
long mediaEndTimeUs) {
loadStarted(
loadEventInfo,
new MediaLoadData(
dataType,
trackType,
trackFormat,
trackSelectionReason,
trackSelectionData,
usToMs(mediaStartTimeUs),
usToMs(mediaEndTimeUs)));
}
/** Dispatches {@link #onLoadStarted(int, MediaPeriodId, LoadEventInfo, MediaLoadData, int)}. */ /** Dispatches {@link #onLoadStarted(int, MediaPeriodId, LoadEventInfo, MediaLoadData, int)}. */
public void loadStarted( public void loadStarted(
LoadEventInfo loadEventInfo, LoadEventInfo loadEventInfo,
@ -319,15 +264,6 @@ public interface MediaSourceEventListener {
retryCount); retryCount);
} }
/** Dispatches {@link #onLoadStarted(int, MediaPeriodId, LoadEventInfo, MediaLoadData)}. */
@Deprecated
public void loadStarted(LoadEventInfo loadEventInfo, MediaLoadData mediaLoadData) {
dispatchEvent(
(listener) ->
listener.onLoadStarted(
windowIndex, mediaPeriodId, loadEventInfo, mediaLoadData));
}
/** Dispatches {@link #onLoadStarted(int, MediaPeriodId, LoadEventInfo, MediaLoadData, int)}. */ /** Dispatches {@link #onLoadStarted(int, MediaPeriodId, LoadEventInfo, MediaLoadData, int)}. */
public void loadStarted( public void loadStarted(
LoadEventInfo loadEventInfo, LoadEventInfo loadEventInfo,

View File

@ -920,7 +920,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
C.SELECTION_REASON_UNKNOWN, C.SELECTION_REASON_UNKNOWN,
/* trackSelectionData= */ null, /* trackSelectionData= */ null,
/* mediaStartTimeUs= */ loadable.seekTimeUs, /* mediaStartTimeUs= */ loadable.seekTimeUs,
durationUs); durationUs, /* retryCount= */ 0);
} }
/** /**

View File

@ -168,7 +168,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
C.SELECTION_REASON_UNKNOWN, C.SELECTION_REASON_UNKNOWN,
/* trackSelectionData= */ null, /* trackSelectionData= */ null,
/* mediaStartTimeUs= */ 0, /* mediaStartTimeUs= */ 0,
durationUs); durationUs, /* retryCount= */ 0);
return true; return true;
} }

View File

@ -427,12 +427,14 @@ public final class ServerSideAdInsertionMediaSource extends BaseMediaSource
int windowIndex, int windowIndex,
@Nullable MediaPeriodId mediaPeriodId, @Nullable MediaPeriodId mediaPeriodId,
LoadEventInfo loadEventInfo, LoadEventInfo loadEventInfo,
MediaLoadData mediaLoadData) { MediaLoadData mediaLoadData, int retryCount) {
// TODO file a bug to track updating this.
if (retryCount == 0) {
@Nullable @Nullable
MediaPeriodImpl mediaPeriod = MediaPeriodImpl mediaPeriod =
getMediaPeriodForEvent(mediaPeriodId, mediaLoadData, /* useLoadingPeriod= */ true); getMediaPeriodForEvent(mediaPeriodId, mediaLoadData, /* useLoadingPeriod= */ true);
if (mediaPeriod == null) { if (mediaPeriod == null) {
mediaSourceEventDispatcherWithoutId.loadStarted(loadEventInfo, mediaLoadData); mediaSourceEventDispatcherWithoutId.loadStarted(loadEventInfo, mediaLoadData, /* retryCount= */ 0);
} else { } else {
mediaPeriod.sharedPeriod.onLoadStarted(loadEventInfo, mediaLoadData); mediaPeriod.sharedPeriod.onLoadStarted(loadEventInfo, mediaLoadData);
mediaPeriod.mediaSourceEventDispatcher.loadStarted( mediaPeriod.mediaSourceEventDispatcher.loadStarted(
@ -440,7 +442,9 @@ public final class ServerSideAdInsertionMediaSource extends BaseMediaSource
correctMediaLoadData( correctMediaLoadData(
mediaPeriod, mediaPeriod,
mediaLoadData, mediaLoadData,
checkNotNull(adPlaybackStates.get(mediaPeriod.mediaPeriodId.periodUid)))); checkNotNull(adPlaybackStates.get(mediaPeriod.mediaPeriodId.periodUid))), /* retryCount= */ 0);
}
} }
} }
@ -750,7 +754,7 @@ public final class ServerSideAdInsertionMediaSource extends BaseMediaSource
loadData.first, loadData.first,
correctMediaLoadData(loadingPeriod, loadData.second, adPlaybackState)); correctMediaLoadData(loadingPeriod, loadData.second, adPlaybackState));
mediaPeriod.mediaSourceEventDispatcher.loadStarted( mediaPeriod.mediaSourceEventDispatcher.loadStarted(
loadData.first, correctMediaLoadData(mediaPeriod, loadData.second, adPlaybackState)); loadData.first, correctMediaLoadData(mediaPeriod, loadData.second, adPlaybackState), /* retryCount= */ 0);
} }
} }
this.loadingPeriod = mediaPeriod; this.loadingPeriod = mediaPeriod;

View File

@ -663,7 +663,7 @@ public class ChunkSampleStream<T extends ChunkSource>
loadable.trackSelectionReason, loadable.trackSelectionReason,
loadable.trackSelectionData, loadable.trackSelectionData,
loadable.startTimeUs, loadable.startTimeUs,
loadable.endTimeUs); loadable.endTimeUs, /* retryCount= */ 0);
return true; return true;
} }

View File

@ -1106,7 +1106,7 @@ public final class DashMediaSource extends BaseMediaSource {
long elapsedRealtimeMs = loader.startLoading(loadable, callback, minRetryCount); long elapsedRealtimeMs = loader.startLoading(loadable, callback, minRetryCount);
manifestEventDispatcher.loadStarted( manifestEventDispatcher.loadStarted(
new LoadEventInfo(loadable.loadTaskId, loadable.dataSpec, elapsedRealtimeMs), new LoadEventInfo(loadable.loadTaskId, loadable.dataSpec, elapsedRealtimeMs),
loadable.type); loadable.type, /* retryCount= */ 0);
} }
private static long getIntervalUntilNextManifestRefreshMs( private static long getIntervalUntilNextManifestRefreshMs(

View File

@ -811,6 +811,7 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull;
long elapsedRealtimeMs = long elapsedRealtimeMs =
loader.startLoading( loader.startLoading(
loadable, this, loadErrorHandlingPolicy.getMinimumLoadableRetryCount(loadable.type)); loadable, this, loadErrorHandlingPolicy.getMinimumLoadableRetryCount(loadable.type));
// DO NOT SUBMIT is this duplicated with the line in onLoadStarted below on L868?
mediaSourceEventDispatcher.loadStarted( mediaSourceEventDispatcher.loadStarted(
new LoadEventInfo(loadable.loadTaskId, loadable.dataSpec, elapsedRealtimeMs), new LoadEventInfo(loadable.loadTaskId, loadable.dataSpec, elapsedRealtimeMs),
loadable.type, loadable.type,
@ -819,7 +820,7 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull;
loadable.trackSelectionReason, loadable.trackSelectionReason,
loadable.trackSelectionData, loadable.trackSelectionData,
loadable.startTimeUs, loadable.startTimeUs,
loadable.endTimeUs); loadable.endTimeUs, /* retryCount= */ 0);
return true; return true;
} }
@ -872,7 +873,7 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull;
loadable.trackSelectionReason, loadable.trackSelectionReason,
loadable.trackSelectionData, loadable.trackSelectionData,
loadable.startTimeUs, loadable.startTimeUs,
loadable.endTimeUs); loadable.endTimeUs, retryCount);
} }
@Override @Override

View File

@ -152,7 +152,7 @@ public final class DefaultHlsPlaylistTracker
multivariantPlaylistLoadable.loadTaskId, multivariantPlaylistLoadable.loadTaskId,
multivariantPlaylistLoadable.dataSpec, multivariantPlaylistLoadable.dataSpec,
elapsedRealtime), elapsedRealtime),
multivariantPlaylistLoadable.type); multivariantPlaylistLoadable.type, /* retryCount= */ 0);
} }
@Override @Override
@ -759,7 +759,7 @@ public final class DefaultHlsPlaylistTracker
eventDispatcher.loadStarted( eventDispatcher.loadStarted(
new LoadEventInfo( new LoadEventInfo(
mediaPlaylistLoadable.loadTaskId, mediaPlaylistLoadable.dataSpec, elapsedRealtime), mediaPlaylistLoadable.loadTaskId, mediaPlaylistLoadable.dataSpec, elapsedRealtime),
mediaPlaylistLoadable.type); mediaPlaylistLoadable.type, /* retryCount= */ 0);
} }
private void processLoadedPlaylist( private void processLoadedPlaylist(

View File

@ -673,6 +673,6 @@ public final class SsMediaSource extends BaseMediaSource
loadable, this, loadErrorHandlingPolicy.getMinimumLoadableRetryCount(loadable.type)); loadable, this, loadErrorHandlingPolicy.getMinimumLoadableRetryCount(loadable.type));
manifestEventDispatcher.loadStarted( manifestEventDispatcher.loadStarted(
new LoadEventInfo(loadable.loadTaskId, loadable.dataSpec, elapsedRealtimeMs), new LoadEventInfo(loadable.loadTaskId, loadable.dataSpec, elapsedRealtimeMs),
loadable.type); loadable.type, /* retryCount= */ 0);
} }
} }

View File

@ -108,15 +108,6 @@ public class FakeAdaptiveMediaPeriod
@Override @Override
public void prepare(Callback callback, long positionUs) { public void prepare(Callback callback, long positionUs) {
mediaSourceEventDispatcher.loadStarted(
new LoadEventInfo(fakePreparationLoadTaskId, FAKE_DATA_SPEC, SystemClock.elapsedRealtime()),
C.DATA_TYPE_MEDIA,
C.TRACK_TYPE_UNKNOWN,
/* trackFormat= */ null,
C.SELECTION_REASON_UNKNOWN,
/* trackSelectionData= */ null,
/* mediaStartTimeUs= */ 0,
/* mediaEndTimeUs= */ C.TIME_UNSET);
mediaSourceEventDispatcher.loadStarted( mediaSourceEventDispatcher.loadStarted(
new LoadEventInfo(fakePreparationLoadTaskId, FAKE_DATA_SPEC, SystemClock.elapsedRealtime()), new LoadEventInfo(fakePreparationLoadTaskId, FAKE_DATA_SPEC, SystemClock.elapsedRealtime()),
C.DATA_TYPE_MEDIA, C.DATA_TYPE_MEDIA,

View File

@ -227,15 +227,6 @@ public class FakeMediaPeriod implements MediaPeriod {
@Override @Override
public synchronized void prepare(Callback callback, long positionUs) { public synchronized void prepare(Callback callback, long positionUs) {
mediaSourceEventDispatcher.loadStarted(
new LoadEventInfo(fakePreparationLoadTaskId, FAKE_DATA_SPEC, SystemClock.elapsedRealtime()),
C.DATA_TYPE_MEDIA,
C.TRACK_TYPE_UNKNOWN,
/* trackFormat= */ null,
C.SELECTION_REASON_UNKNOWN,
/* trackSelectionData= */ null,
/* mediaStartTimeUs= */ 0,
/* mediaEndTimeUs= */ C.TIME_UNSET);
mediaSourceEventDispatcher.loadStarted( mediaSourceEventDispatcher.loadStarted(
new LoadEventInfo(fakePreparationLoadTaskId, FAKE_DATA_SPEC, SystemClock.elapsedRealtime()), new LoadEventInfo(fakePreparationLoadTaskId, FAKE_DATA_SPEC, SystemClock.elapsedRealtime()),
C.DATA_TYPE_MEDIA, C.DATA_TYPE_MEDIA,

View File

@ -446,16 +446,6 @@ public class FakeMediaSource extends BaseMediaSource {
MediaSourceEventListener.EventDispatcher eventDispatcher = MediaSourceEventListener.EventDispatcher eventDispatcher =
createEventDispatcher(/* mediaPeriodId= */ null); createEventDispatcher(/* mediaPeriodId= */ null);
long loadTaskId = LoadEventInfo.getNewId(); long loadTaskId = LoadEventInfo.getNewId();
eventDispatcher.loadStarted(
new LoadEventInfo(
loadTaskId,
FAKE_DATA_SPEC,
FAKE_DATA_SPEC.uri,
/* responseHeaders= */ ImmutableMap.of(),
elapsedRealTimeMs,
/* loadDurationMs= */ 0,
/* bytesLoaded= */ 0),
mediaLoadData);
eventDispatcher.loadStarted( eventDispatcher.loadStarted(
new LoadEventInfo( new LoadEventInfo(
loadTaskId, loadTaskId,

View File

@ -359,15 +359,6 @@ public class MediaSourceTestRunner {
// MediaSourceEventListener methods. // MediaSourceEventListener methods.
@Override
public void onLoadStarted(
int windowIndex,
@Nullable MediaPeriodId mediaPeriodId,
LoadEventInfo loadEventInfo,
MediaLoadData mediaLoadData) {
Assertions.checkState(Looper.myLooper() == playbackThread.getLooper());
}
@Override @Override
public void onLoadStarted( public void onLoadStarted(
int windowIndex, int windowIndex,