Skip to content

Commit

Permalink
Fix condition for re-enabling renderers to handle reading ahead.
Browse files Browse the repository at this point in the history
Issue: #2252

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=143433510
  • Loading branch information
andrewlewis authored and ojw28 committed Jan 4, 2017
1 parent faff5ec commit 04968a6
Showing 1 changed file with 6 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -1319,7 +1319,6 @@ private void setPlayingPeriodHolder(MediaPeriodHolder periodHolder) throws ExoPl
return;
}

playingPeriodHolder = periodHolder;
int enabledRendererCount = 0;
boolean[] rendererWasEnabledFlags = new boolean[renderers.length];
for (int i = 0; i < renderers.length; i++) {
Expand All @@ -1329,10 +1328,12 @@ private void setPlayingPeriodHolder(MediaPeriodHolder periodHolder) throws ExoPl
if (newSelection != null) {
enabledRendererCount++;
}
if (rendererWasEnabledFlags[i] && (newSelection == null || renderer.isCurrentStreamFinal())) {
if (rendererWasEnabledFlags[i] && (newSelection == null
|| (renderer.isCurrentStreamFinal()
&& renderer.getStream() == playingPeriodHolder.sampleStreams[i]))) {
// The renderer should be disabled before playing the next period, either because it's not
// needed to play the next period, or because we need to disable and re-enable it because
// the renderer thinks that its current stream is final.
// needed to play the next period, or because we need to re-enable it as its current stream
// is final and it's not reading ahead.
if (renderer == rendererMediaClockSource) {
// Sync standaloneMediaClock so that it can take over timing responsibilities.
standaloneMediaClock.setPositionUs(rendererMediaClock.getPositionUs());
Expand All @@ -1344,6 +1345,7 @@ private void setPlayingPeriodHolder(MediaPeriodHolder periodHolder) throws ExoPl
}
}

playingPeriodHolder = periodHolder;
eventHandler.obtainMessage(MSG_TRACKS_CHANGED, periodHolder.getTrackInfo()).sendToTarget();
enableRenderers(rendererWasEnabledFlags, enabledRendererCount);
}
Expand Down

0 comments on commit 04968a6

Please sign in to comment.