diff --git a/library/core/src/main/java/com/google/android/exoplayer2/source/ProgressiveMediaPeriod.java b/library/core/src/main/java/com/google/android/exoplayer2/source/ProgressiveMediaPeriod.java index 733566bb26..2cbfeb8660 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/source/ProgressiveMediaPeriod.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/source/ProgressiveMediaPeriod.java @@ -544,7 +544,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; @Override public void onLoadCompleted( - ExtractingLoadable loadable, long loadTaskId, long elapsedRealtimeMs, long loadDurationMs) { + ExtractingLoadable loadable, long elapsedRealtimeMs, long loadDurationMs) { if (durationUs == C.TIME_UNSET && seekMap != null) { boolean isSeekable = seekMap.isSeekable(); long largestQueuedTimestampUs = getLargestQueuedTimestampUs(); @@ -573,11 +573,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; @Override public void onLoadCanceled( - ExtractingLoadable loadable, - long loadTaskId, - long elapsedRealtimeMs, - long loadDurationMs, - boolean released) { + ExtractingLoadable loadable, long elapsedRealtimeMs, long loadDurationMs, boolean released) { eventDispatcher.loadCanceled( loadable.dataSpec, loadable.dataSource.getLastOpenedUri(), @@ -606,7 +602,6 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; @Override public LoadErrorAction onLoadError( ExtractingLoadable loadable, - long loadTaskId, long elapsedRealtimeMs, long loadDurationMs, IOException error, diff --git a/library/core/src/main/java/com/google/android/exoplayer2/source/SingleSampleMediaPeriod.java b/library/core/src/main/java/com/google/android/exoplayer2/source/SingleSampleMediaPeriod.java index dff61cbe79..8fb5d3887b 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/source/SingleSampleMediaPeriod.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/source/SingleSampleMediaPeriod.java @@ -213,7 +213,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; @Override public void onLoadCompleted( - SourceLoadable loadable, long loadTaskId, long elapsedRealtimeMs, long loadDurationMs) { + SourceLoadable loadable, long elapsedRealtimeMs, long loadDurationMs) { sampleSize = (int) loadable.dataSource.getBytesRead(); sampleData = Assertions.checkNotNull(loadable.sampleData); loadingFinished = true; @@ -235,11 +235,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; @Override public void onLoadCanceled( - SourceLoadable loadable, - long loadTaskId, - long elapsedRealtimeMs, - long loadDurationMs, - boolean released) { + SourceLoadable loadable, long elapsedRealtimeMs, long loadDurationMs, boolean released) { eventDispatcher.loadCanceled( loadable.dataSpec, loadable.dataSource.getLastOpenedUri(), @@ -259,7 +255,6 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; @Override public LoadErrorAction onLoadError( SourceLoadable loadable, - long loadTaskId, long elapsedRealtimeMs, long loadDurationMs, IOException error, diff --git a/library/core/src/main/java/com/google/android/exoplayer2/source/chunk/ChunkSampleStream.java b/library/core/src/main/java/com/google/android/exoplayer2/source/chunk/ChunkSampleStream.java index 50e5f595f6..fe7c583c71 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/source/chunk/ChunkSampleStream.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/source/chunk/ChunkSampleStream.java @@ -393,8 +393,7 @@ public class ChunkSampleStream implements SampleStream, S // Loader.Callback implementation. @Override - public void onLoadCompleted( - Chunk loadable, long loadTaskId, long elapsedRealtimeMs, long loadDurationMs) { + public void onLoadCompleted(Chunk loadable, long elapsedRealtimeMs, long loadDurationMs) { chunkSource.onChunkLoadCompleted(loadable); eventDispatcher.loadCompleted( loadable.dataSpec, @@ -415,11 +414,7 @@ public class ChunkSampleStream implements SampleStream, S @Override public void onLoadCanceled( - Chunk loadable, - long loadTaskId, - long elapsedRealtimeMs, - long loadDurationMs, - boolean released) { + Chunk loadable, long elapsedRealtimeMs, long loadDurationMs, boolean released) { eventDispatcher.loadCanceled( loadable.dataSpec, loadable.getUri(), @@ -446,7 +441,6 @@ public class ChunkSampleStream implements SampleStream, S @Override public LoadErrorAction onLoadError( Chunk loadable, - long loadTaskId, long elapsedRealtimeMs, long loadDurationMs, IOException error, diff --git a/library/core/src/main/java/com/google/android/exoplayer2/upstream/Loader.java b/library/core/src/main/java/com/google/android/exoplayer2/upstream/Loader.java index 6f4b91635e..4ff58b108c 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/upstream/Loader.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/upstream/Loader.java @@ -23,7 +23,6 @@ import android.os.SystemClock; import androidx.annotation.IntDef; import androidx.annotation.Nullable; import com.google.android.exoplayer2.C; -import com.google.android.exoplayer2.source.LoadEventInfo; import com.google.android.exoplayer2.util.Assertions; import com.google.android.exoplayer2.util.Log; import com.google.android.exoplayer2.util.TraceUtil; @@ -80,12 +79,11 @@ public final class Loader implements LoaderErrorThrower { * and this callback being called. * * @param loadable The loadable whose load has completed. - * @param loadTaskId A non-negative identifier for the load task. Remains associated to the load - * task after retries until completion or cancellation. * @param elapsedRealtimeMs {@link SystemClock#elapsedRealtime} when the load ended. * @param loadDurationMs The duration in milliseconds of the load since {@link #startLoading} + * was called. */ - void onLoadCompleted(T loadable, long loadTaskId, long elapsedRealtimeMs, long loadDurationMs); + void onLoadCompleted(T loadable, long elapsedRealtimeMs, long loadDurationMs); /** * Called when a load has been canceled. @@ -96,15 +94,13 @@ public final class Loader implements LoaderErrorThrower { * exits. * * @param loadable The loadable whose load has been canceled. - * @param loadTaskId A non-negative identifier for the load task. Remains associated to the load - * task after retries until completion or cancellation. * @param elapsedRealtimeMs {@link SystemClock#elapsedRealtime} when the load was canceled. * @param loadDurationMs The duration in milliseconds of the load since {@link #startLoading} * was called up to the point at which it was canceled. * @param released True if the load was canceled because the {@link Loader} was released. False + * otherwise. */ - void onLoadCanceled( - T loadable, long loadTaskId, long elapsedRealtimeMs, long loadDurationMs, boolean released); + void onLoadCanceled(T loadable, long elapsedRealtimeMs, long loadDurationMs, boolean released); /** * Called when a load encounters an error. @@ -113,8 +109,6 @@ public final class Loader implements LoaderErrorThrower { * and this callback being called. * * @param loadable The loadable whose load has encountered an error. - * @param loadTaskId A non-negative identifier for the load task. Remains associated to the load - * task after retries until completion or cancellation. * @param elapsedRealtimeMs {@link SystemClock#elapsedRealtime} when the error occurred. * @param loadDurationMs The duration in milliseconds of the load since {@link #startLoading} * was called up to the point at which the error occurred. @@ -125,12 +119,7 @@ public final class Loader implements LoaderErrorThrower { * Loader#DONT_RETRY_FATAL} or a retry action created by {@link #createRetryAction}. */ LoadErrorAction onLoadError( - T loadable, - long loadTaskId, - long elapsedRealtimeMs, - long loadDurationMs, - IOException error, - int errorCount); + T loadable, long elapsedRealtimeMs, long loadDurationMs, IOException error, int errorCount); } /** @@ -177,7 +166,10 @@ public final class Loader implements LoaderErrorThrower { public static final LoadErrorAction DONT_RETRY_FATAL = new LoadErrorAction(ACTION_TYPE_DONT_RETRY_FATAL, C.TIME_UNSET); - /** Action that can be taken in response to {@link Callback#onLoadError}. */ + /** + * Action that can be taken in response to {@link Callback#onLoadError(Loadable, long, long, + * IOException, int)}. + */ public static final class LoadErrorAction { private final @RetryActionType int type; @@ -323,7 +315,6 @@ public final class Loader implements LoaderErrorThrower { public final int defaultMinRetryCount; private final T loadable; - private final long id; private final long startTimeMs; @Nullable private Loader.Callback callback; @@ -337,7 +328,6 @@ public final class Loader implements LoaderErrorThrower { public LoadTask(Looper looper, T loadable, Loader.Callback callback, int defaultMinRetryCount, long startTimeMs) { super(looper); - id = LoadEventInfo.getNewId(); this.loadable = loadable; this.callback = callback; this.defaultMinRetryCount = defaultMinRetryCount; @@ -380,7 +370,7 @@ public final class Loader implements LoaderErrorThrower { finish(); long nowMs = SystemClock.elapsedRealtime(); Assertions.checkNotNull(callback) - .onLoadCanceled(loadable, id, nowMs, nowMs - startTimeMs, true); + .onLoadCanceled(loadable, nowMs, nowMs - startTimeMs, true); // If loading, this task will be referenced from a GC root (the loading thread) until // cancellation completes. The time taken for cancellation to complete depends on the // implementation of the Loadable that the task is loading. We null the callback reference @@ -451,16 +441,16 @@ public final class Loader implements LoaderErrorThrower { long durationMs = nowMs - startTimeMs; Loader.Callback callback = Assertions.checkNotNull(this.callback); if (canceled) { - callback.onLoadCanceled(loadable, id, nowMs, durationMs, false); + callback.onLoadCanceled(loadable, nowMs, durationMs, false); return; } switch (msg.what) { case MSG_CANCEL: - callback.onLoadCanceled(loadable, id, nowMs, durationMs, false); + callback.onLoadCanceled(loadable, nowMs, durationMs, false); break; case MSG_END_OF_SOURCE: try { - callback.onLoadCompleted(loadable, id, nowMs, durationMs); + callback.onLoadCompleted(loadable, nowMs, durationMs); } catch (RuntimeException e) { // This should never happen, but handle it anyway. Log.e(TAG, "Unexpected exception handling load completed", e); @@ -471,7 +461,7 @@ public final class Loader implements LoaderErrorThrower { currentError = (IOException) msg.obj; errorCount++; LoadErrorAction action = - callback.onLoadError(loadable, id, nowMs, durationMs, currentError, errorCount); + callback.onLoadError(loadable, nowMs, durationMs, currentError, errorCount); if (action.type == ACTION_TYPE_DONT_RETRY_FATAL) { fatalError = currentError; } else if (action.type != ACTION_TYPE_DONT_RETRY) { diff --git a/library/core/src/main/java/com/google/android/exoplayer2/util/SntpClient.java b/library/core/src/main/java/com/google/android/exoplayer2/util/SntpClient.java index b68e59ee0a..fa2edf253d 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/util/SntpClient.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/util/SntpClient.java @@ -281,8 +281,7 @@ public final class SntpClient { } @Override - public void onLoadCompleted( - Loadable loadable, long loadTaskId, long elapsedRealtimeMs, long loadDurationMs) { + public void onLoadCompleted(Loadable loadable, long elapsedRealtimeMs, long loadDurationMs) { Assertions.checkState(SntpClient.isInitialized()); if (callback != null) { callback.onInitialized(); @@ -291,18 +290,13 @@ public final class SntpClient { @Override public void onLoadCanceled( - Loadable loadable, - long loadTaskId, - long elapsedRealtimeMs, - long loadDurationMs, - boolean released) { + Loadable loadable, long elapsedRealtimeMs, long loadDurationMs, boolean released) { // Ignore. } @Override public LoadErrorAction onLoadError( Loadable loadable, - long loadTaskId, long elapsedRealtimeMs, long loadDurationMs, IOException error, diff --git a/library/core/src/test/java/com/google/android/exoplayer2/ExoPlayerTest.java b/library/core/src/test/java/com/google/android/exoplayer2/ExoPlayerTest.java index c399175bb8..c2d61dd800 100644 --- a/library/core/src/test/java/com/google/android/exoplayer2/ExoPlayerTest.java +++ b/library/core/src/test/java/com/google/android/exoplayer2/ExoPlayerTest.java @@ -73,7 +73,6 @@ import com.google.android.exoplayer2.trackselection.TrackSelectionArray; import com.google.android.exoplayer2.upstream.Allocation; import com.google.android.exoplayer2.upstream.Allocator; import com.google.android.exoplayer2.upstream.Loader; -import com.google.android.exoplayer2.upstream.Loader.Loadable; import com.google.android.exoplayer2.upstream.TransferListener; import com.google.android.exoplayer2.util.Assertions; import com.google.android.exoplayer2.util.Clock; @@ -6364,20 +6363,15 @@ public final class ExoPlayerTest { private static final class DummyLoaderCallback implements Loader.Callback { @Override public void onLoadCompleted( - Loadable loadable, long loadTaskId, long elapsedRealtimeMs, long loadDurationMs) {} + Loader.Loadable loadable, long elapsedRealtimeMs, long loadDurationMs) {} @Override public void onLoadCanceled( - Loadable loadable, - long loadTaskId, - long elapsedRealtimeMs, - long loadDurationMs, - boolean released) {} + Loader.Loadable loadable, long elapsedRealtimeMs, long loadDurationMs, boolean released) {} @Override public Loader.LoadErrorAction onLoadError( - Loadable loadable, - long loadTaskId, + Loader.Loadable loadable, long elapsedRealtimeMs, long loadDurationMs, IOException error, diff --git a/library/dash/src/main/java/com/google/android/exoplayer2/source/dash/DashMediaSource.java b/library/dash/src/main/java/com/google/android/exoplayer2/source/dash/DashMediaSource.java index 667a98d3e7..919997e041 100644 --- a/library/dash/src/main/java/com/google/android/exoplayer2/source/dash/DashMediaSource.java +++ b/library/dash/src/main/java/com/google/android/exoplayer2/source/dash/DashMediaSource.java @@ -1348,17 +1348,13 @@ public final class DashMediaSource extends BaseMediaSource { @Override public void onLoadCompleted( - ParsingLoadable loadable, - long loadTaskId, - long elapsedRealtimeMs, - long loadDurationMs) { + ParsingLoadable loadable, long elapsedRealtimeMs, long loadDurationMs) { onManifestLoadCompleted(loadable, elapsedRealtimeMs, loadDurationMs); } @Override public void onLoadCanceled( ParsingLoadable loadable, - long loadTaskId, long elapsedRealtimeMs, long loadDurationMs, boolean released) { @@ -1368,7 +1364,6 @@ public final class DashMediaSource extends BaseMediaSource { @Override public LoadErrorAction onLoadError( ParsingLoadable loadable, - long loadTaskId, long elapsedRealtimeMs, long loadDurationMs, IOException error, @@ -1382,17 +1377,13 @@ public final class DashMediaSource extends BaseMediaSource { @Override public void onLoadCompleted( - ParsingLoadable loadable, - long loadTaskId, - long elapsedRealtimeMs, - long loadDurationMs) { + ParsingLoadable loadable, long elapsedRealtimeMs, long loadDurationMs) { onUtcTimestampLoadCompleted(loadable, elapsedRealtimeMs, loadDurationMs); } @Override public void onLoadCanceled( ParsingLoadable loadable, - long loadTaskId, long elapsedRealtimeMs, long loadDurationMs, boolean released) { @@ -1402,7 +1393,6 @@ public final class DashMediaSource extends BaseMediaSource { @Override public LoadErrorAction onLoadError( ParsingLoadable loadable, - long loadTaskId, long elapsedRealtimeMs, long loadDurationMs, IOException error, diff --git a/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/HlsSampleStreamWrapper.java b/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/HlsSampleStreamWrapper.java index 29d492df35..7c866d0f92 100644 --- a/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/HlsSampleStreamWrapper.java +++ b/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/HlsSampleStreamWrapper.java @@ -703,8 +703,7 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull; // Loader.Callback implementation. @Override - public void onLoadCompleted( - Chunk loadable, long loadTaskId, long elapsedRealtimeMs, long loadDurationMs) { + public void onLoadCompleted(Chunk loadable, long elapsedRealtimeMs, long loadDurationMs) { chunkSource.onChunkLoadCompleted(loadable); eventDispatcher.loadCompleted( loadable.dataSpec, @@ -729,11 +728,7 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull; @Override public void onLoadCanceled( - Chunk loadable, - long loadTaskId, - long elapsedRealtimeMs, - long loadDurationMs, - boolean released) { + Chunk loadable, long elapsedRealtimeMs, long loadDurationMs, boolean released) { eventDispatcher.loadCanceled( loadable.dataSpec, loadable.getUri(), @@ -759,7 +754,6 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull; @Override public LoadErrorAction onLoadError( Chunk loadable, - long loadTaskId, long elapsedRealtimeMs, long loadDurationMs, IOException error, diff --git a/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/playlist/DefaultHlsPlaylistTracker.java b/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/playlist/DefaultHlsPlaylistTracker.java index 33f98188e8..e624027d75 100644 --- a/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/playlist/DefaultHlsPlaylistTracker.java +++ b/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/playlist/DefaultHlsPlaylistTracker.java @@ -221,10 +221,7 @@ public final class DefaultHlsPlaylistTracker @Override public void onLoadCompleted( - ParsingLoadable loadable, - long loadTaskId, - long elapsedRealtimeMs, - long loadDurationMs) { + ParsingLoadable loadable, long elapsedRealtimeMs, long loadDurationMs) { HlsPlaylist result = loadable.getResult(); HlsMasterPlaylist masterPlaylist; boolean isMediaPlaylist = result instanceof HlsMediaPlaylist; @@ -257,7 +254,6 @@ public final class DefaultHlsPlaylistTracker @Override public void onLoadCanceled( ParsingLoadable loadable, - long loadTaskId, long elapsedRealtimeMs, long loadDurationMs, boolean released) { @@ -274,7 +270,6 @@ public final class DefaultHlsPlaylistTracker @Override public LoadErrorAction onLoadError( ParsingLoadable loadable, - long loadTaskId, long elapsedRealtimeMs, long loadDurationMs, IOException error, @@ -521,10 +516,7 @@ public final class DefaultHlsPlaylistTracker @Override public void onLoadCompleted( - ParsingLoadable loadable, - long loadTaskId, - long elapsedRealtimeMs, - long loadDurationMs) { + ParsingLoadable loadable, long elapsedRealtimeMs, long loadDurationMs) { HlsPlaylist result = loadable.getResult(); if (result instanceof HlsMediaPlaylist) { processLoadedPlaylist((HlsMediaPlaylist) result, loadDurationMs); @@ -544,7 +536,6 @@ public final class DefaultHlsPlaylistTracker @Override public void onLoadCanceled( ParsingLoadable loadable, - long loadTaskId, long elapsedRealtimeMs, long loadDurationMs, boolean released) { @@ -561,7 +552,6 @@ public final class DefaultHlsPlaylistTracker @Override public LoadErrorAction onLoadError( ParsingLoadable loadable, - long loadTaskId, long elapsedRealtimeMs, long loadDurationMs, IOException error, diff --git a/library/smoothstreaming/src/main/java/com/google/android/exoplayer2/source/smoothstreaming/SsMediaSource.java b/library/smoothstreaming/src/main/java/com/google/android/exoplayer2/source/smoothstreaming/SsMediaSource.java index 127625cfed..ac3085cee2 100644 --- a/library/smoothstreaming/src/main/java/com/google/android/exoplayer2/source/smoothstreaming/SsMediaSource.java +++ b/library/smoothstreaming/src/main/java/com/google/android/exoplayer2/source/smoothstreaming/SsMediaSource.java @@ -619,10 +619,7 @@ public final class SsMediaSource extends BaseMediaSource @Override public void onLoadCompleted( - ParsingLoadable loadable, - long loadTaskId, - long elapsedRealtimeMs, - long loadDurationMs) { + ParsingLoadable loadable, long elapsedRealtimeMs, long loadDurationMs) { manifestEventDispatcher.loadCompleted( loadable.dataSpec, loadable.getUri(), @@ -640,7 +637,6 @@ public final class SsMediaSource extends BaseMediaSource @Override public void onLoadCanceled( ParsingLoadable loadable, - long loadTaskId, long elapsedRealtimeMs, long loadDurationMs, boolean released) { @@ -657,7 +653,6 @@ public final class SsMediaSource extends BaseMediaSource @Override public LoadErrorAction onLoadError( ParsingLoadable loadable, - long loadTaskId, long elapsedRealtimeMs, long loadDurationMs, IOException error,