From 8e7a2ba9587072c549b72189fa8aa115201a3d5a Mon Sep 17 00:00:00 2001 From: tonihei Date: Tue, 16 Apr 2019 17:15:08 +0100 Subject: [PATCH] Don't reset masking position when prepare fails. The removed condition only applies when prepare fails and no timeline was or is known. We should keep a pending seek position in such a case. The internal player does the same thing already. PiperOrigin-RevId: 243819466 --- .../main/java/com/google/android/exoplayer2/ExoPlayerImpl.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/library/core/src/main/java/com/google/android/exoplayer2/ExoPlayerImpl.java b/library/core/src/main/java/com/google/android/exoplayer2/ExoPlayerImpl.java index 2568d8ec40..8e5a6d2a9b 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/ExoPlayerImpl.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/ExoPlayerImpl.java @@ -631,8 +631,7 @@ import java.util.concurrent.CopyOnWriteArrayList; playbackInfo.resetToNewPosition( playbackInfo.periodId, /* startPositionUs= */ 0, playbackInfo.contentPositionUs); } - if ((!this.playbackInfo.timeline.isEmpty() || hasPendingPrepare) - && playbackInfo.timeline.isEmpty()) { + if (!this.playbackInfo.timeline.isEmpty() && playbackInfo.timeline.isEmpty()) { // Update the masking variables, which are used when the timeline becomes empty. maskingPeriodIndex = 0; maskingWindowIndex = 0;