diff --git a/library/src/main/java/com/google/android/exoplayer2/ExoPlayerImpl.java b/library/src/main/java/com/google/android/exoplayer2/ExoPlayerImpl.java index f4b21aac04..6ced2315f9 100644 --- a/library/src/main/java/com/google/android/exoplayer2/ExoPlayerImpl.java +++ b/library/src/main/java/com/google/android/exoplayer2/ExoPlayerImpl.java @@ -243,16 +243,8 @@ import java.util.concurrent.CopyOnWriteArraySet; if (timeline == null || pendingSeekAcks > 0) { return maskingWindowPositionMs; } else { - int periodIndex = playbackInfo.periodIndex; - timeline.getPeriod(periodIndex, period); - int windowIndex = period.windowIndex; - timeline.getWindow(windowIndex, window); - if (window.firstPeriodIndex == periodIndex && window.lastPeriodIndex == periodIndex - && window.getPositionInFirstPeriodUs() == 0 - && window.getDurationUs() == period.getDurationUs()) { - return C.usToMs(playbackInfo.bufferedPositionUs); - } - return getCurrentPosition(); + timeline.getPeriod(playbackInfo.periodIndex, period); + return period.getPositionInWindowMs() + C.usToMs(playbackInfo.bufferedPositionUs); } } diff --git a/library/src/main/java/com/google/android/exoplayer2/ExoPlayerImplInternal.java b/library/src/main/java/com/google/android/exoplayer2/ExoPlayerImplInternal.java index 8cb15a0271..00520b2400 100644 --- a/library/src/main/java/com/google/android/exoplayer2/ExoPlayerImplInternal.java +++ b/library/src/main/java/com/google/android/exoplayer2/ExoPlayerImplInternal.java @@ -1071,7 +1071,7 @@ import java.io.IOException; long nextLoadPositionUs = loadingPeriodHolder.mediaPeriod.getNextLoadPositionUs(); if (nextLoadPositionUs != C.TIME_END_OF_SOURCE) { long loadingPeriodPositionUs = rendererPositionUs - - loadingPeriodHolder.rendererPositionOffsetUs + loadingPeriodHolder.startPositionUs; + - loadingPeriodHolder.rendererPositionOffsetUs; long bufferedDurationUs = nextLoadPositionUs - loadingPeriodPositionUs; boolean continueLoading = loadControl.shouldContinueLoading(bufferedDurationUs); setIsLoading(continueLoading);