diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayerImplInternal.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayerImplInternal.java index 183b718932..6bf524818b 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayerImplInternal.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayerImplInternal.java @@ -2647,10 +2647,14 @@ import java.util.concurrent.atomic.AtomicBoolean; private void maybeContinueLoading() { shouldContinueLoading = shouldContinueLoading(); if (shouldContinueLoading) { + LoadingInfo loadingInfo = new LoadingInfo.Builder() + .setPlaybackPositionUs(queue.getLoadingPeriod().toPeriodTime(rendererPositionUs)) + .setPlaybackSpeed(mediaClock.getPlaybackParameters().speed) + .setLastRebufferRealtimeMs(lastRebufferRealtimeMs) + .build(); queue .getLoadingPeriod() - .continueLoading( - rendererPositionUs, mediaClock.getPlaybackParameters().speed, lastRebufferRealtimeMs); + .continueLoading(loadingInfo); } updateIsLoading(); } diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/MediaPeriodHolder.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/MediaPeriodHolder.java index e5721c40c9..a2dcbfdb8e 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/MediaPeriodHolder.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/MediaPeriodHolder.java @@ -238,22 +238,11 @@ import java.io.IOException; * Continues loading the media period at the given renderer position. Should only be called if * this is the loading media period. * - * @param rendererPositionUs The load position in renderer time, in microseconds. - * @param playbackSpeed The playback speed indicating the current rate of playback. - * @param lastRebufferRealtimeMs The time at which the last rebuffering occurred, in milliseconds - * since boot including time spent in sleep. The time base used is the same as that measured - * by {@link android.os.SystemClock#elapsedRealtime}. + * @param loadingInfo The {@link LoadingInfo} when attempting to continue loading. */ - public void continueLoading( - long rendererPositionUs, float playbackSpeed, long lastRebufferRealtimeMs) { + public void continueLoading(LoadingInfo loadingInfo) { checkState(isLoadingMediaPeriod()); - long loadingPeriodPositionUs = toPeriodTime(rendererPositionUs); - mediaPeriod.continueLoading( - new LoadingInfo.Builder() - .setPlaybackPositionUs(loadingPeriodPositionUs) - .setPlaybackSpeed(playbackSpeed) - .setLastRebufferRealtimeMs(lastRebufferRealtimeMs) - .build()); + mediaPeriod.continueLoading(loadingInfo); } /**