mirror of
https://github.com/samsonjs/media.git
synced 2026-04-27 15:07:40 +00:00
Fix condition for re-enabling renderers to handle reading ahead.
Issue: #2252 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=143433510
This commit is contained in:
parent
faff5ec910
commit
04968a6da5
1 changed files with 6 additions and 4 deletions
|
|
@ -1319,7 +1319,6 @@ import java.io.IOException;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
playingPeriodHolder = periodHolder;
|
|
||||||
int enabledRendererCount = 0;
|
int enabledRendererCount = 0;
|
||||||
boolean[] rendererWasEnabledFlags = new boolean[renderers.length];
|
boolean[] rendererWasEnabledFlags = new boolean[renderers.length];
|
||||||
for (int i = 0; i < renderers.length; i++) {
|
for (int i = 0; i < renderers.length; i++) {
|
||||||
|
|
@ -1329,10 +1328,12 @@ import java.io.IOException;
|
||||||
if (newSelection != null) {
|
if (newSelection != null) {
|
||||||
enabledRendererCount++;
|
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
|
// 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
|
// needed to play the next period, or because we need to re-enable it as its current stream
|
||||||
// the renderer thinks that its current stream is final.
|
// is final and it's not reading ahead.
|
||||||
if (renderer == rendererMediaClockSource) {
|
if (renderer == rendererMediaClockSource) {
|
||||||
// Sync standaloneMediaClock so that it can take over timing responsibilities.
|
// Sync standaloneMediaClock so that it can take over timing responsibilities.
|
||||||
standaloneMediaClock.setPositionUs(rendererMediaClock.getPositionUs());
|
standaloneMediaClock.setPositionUs(rendererMediaClock.getPositionUs());
|
||||||
|
|
@ -1344,6 +1345,7 @@ import java.io.IOException;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
playingPeriodHolder = periodHolder;
|
||||||
eventHandler.obtainMessage(MSG_TRACKS_CHANGED, periodHolder.getTrackInfo()).sendToTarget();
|
eventHandler.obtainMessage(MSG_TRACKS_CHANGED, periodHolder.getTrackInfo()).sendToTarget();
|
||||||
enableRenderers(rendererWasEnabledFlags, enabledRendererCount);
|
enableRenderers(rendererWasEnabledFlags, enabledRendererCount);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue