From 3e2cb9f89ab5061b6cc1e67fceedbdb3075eafe3 Mon Sep 17 00:00:00 2001 From: olly Date: Fri, 4 Nov 2016 04:07:57 -0700 Subject: [PATCH] Fix incorrect renderer reset enable position handlePeriodPrepared ->setPlayingPeriodHolder ->enableRenderers passes rendererPositionUs to renderer.enable(), but this value is not set correctly. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=138176114 --- .../com/google/android/exoplayer2/ExoPlayerImplInternal.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) 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 6d8f3af0c3..76e60c27b6 100644 --- a/library/src/main/java/com/google/android/exoplayer2/ExoPlayerImplInternal.java +++ b/library/src/main/java/com/google/android/exoplayer2/ExoPlayerImplInternal.java @@ -1069,12 +1069,12 @@ import java.io.IOException; if (playingPeriodHolder == null) { // This is the first prepared period, so start playing it. readingPeriodHolder = loadingPeriodHolder; + resetRendererPosition(readingPeriodHolder.startPositionUs); setPlayingPeriodHolder(readingPeriodHolder); if (playbackInfo.startPositionUs == C.TIME_UNSET) { // Update the playback info when seeking to a default position. playbackInfo = new PlaybackInfo(playingPeriodHolder.index, playingPeriodHolder.startPositionUs); - resetRendererPosition(playbackInfo.startPositionUs); updatePlaybackPositions(); eventHandler.obtainMessage(MSG_POSITION_DISCONTINUITY, playbackInfo).sendToTarget(); } @@ -1116,8 +1116,7 @@ import java.io.IOException; } } - private void setPlayingPeriodHolder(MediaPeriodHolder periodHolder) - throws ExoPlaybackException { + private void setPlayingPeriodHolder(MediaPeriodHolder periodHolder) throws ExoPlaybackException { int enabledRendererCount = 0; boolean[] rendererWasEnabledFlags = new boolean[renderers.length]; for (int i = 0; i < renderers.length; i++) {