From bf88128383e876274ff763c2ae25c2ecc70de978 Mon Sep 17 00:00:00 2001 From: tonihei Date: Fri, 27 Sep 2024 14:47:21 +0100 Subject: [PATCH] Formatting and additional call for preloading period --- .../exoplayer/ExoPlayerImplInternal.java | 21 +++++++++++-------- .../media3/exoplayer/MediaPeriodHolder.java | 5 +++-- 2 files changed, 15 insertions(+), 11 deletions(-) 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 6bf524818b..14854a9284 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayerImplInternal.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayerImplInternal.java @@ -2380,7 +2380,11 @@ import java.util.concurrent.atomic.AtomicBoolean; preloading.prepare(/* callback= */ this, preloading.info.startPositionUs); } else { preloading.continueLoading( - rendererPositionUs, playbackInfo.playbackParameters.speed, lastRebufferRealtimeMs); + new LoadingInfo.Builder() + .setPlaybackPositionUs(preloading.toPeriodTime(rendererPositionUs)) + .setPlaybackSpeed(mediaClock.getPlaybackParameters().speed) + .setLastRebufferRealtimeMs(lastRebufferRealtimeMs) + .build()); } } @@ -2647,14 +2651,13 @@ 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(loadingInfo); + MediaPeriodHolder loadingPeriod = checkNotNull(queue.getLoadingPeriod()); + loadingPeriod.continueLoading( + new LoadingInfo.Builder() + .setPlaybackPositionUs(loadingPeriod.toPeriodTime(rendererPositionUs)) + .setPlaybackSpeed(mediaClock.getPlaybackParameters().speed) + .setLastRebufferRealtimeMs(lastRebufferRealtimeMs) + .build()); } 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 a2dcbfdb8e..cb82d463be 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/MediaPeriodHolder.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/MediaPeriodHolder.java @@ -235,10 +235,11 @@ import java.io.IOException; } /** - * Continues loading the media period at the given renderer position. Should only be called if + * Continues loading the media period with the given {@link LoadingInfo}. Should only be called if * this is the loading media period. * - * @param loadingInfo The {@link LoadingInfo} when attempting to continue loading. + * @param loadingInfo The {@link LoadingInfo} about the current player state relevant to this load + * request. */ public void continueLoading(LoadingInfo loadingInfo) { checkState(isLoadingMediaPeriod());