Fix playback of short duration content

Issue #1837

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=133944552
This commit is contained in:
olly 2016-09-22 05:57:00 -07:00 committed by Oliver Woodman
parent e1ab1e3256
commit 57a2749a9d

View File

@ -458,13 +458,12 @@ import java.io.IOException;
startRenderers(); startRenderers();
} }
} }
} else if (state == ExoPlayer.STATE_READY) { } else if (state == ExoPlayer.STATE_READY
if (enabledRenderers.length > 0 ? !allRenderersReadyOrEnded : !isTimelineReady) { && (enabledRenderers.length > 0 ? !allRenderersReadyOrEnded : !isTimelineReady)) {
rebuffering = playWhenReady; rebuffering = playWhenReady;
setState(ExoPlayer.STATE_BUFFERING); setState(ExoPlayer.STATE_BUFFERING);
stopRenderers(); stopRenderers();
} }
}
if (state == ExoPlayer.STATE_BUFFERING) { if (state == ExoPlayer.STATE_BUFFERING) {
for (Renderer renderer : enabledRenderers) { for (Renderer renderer : enabledRenderers) {
@ -995,10 +994,18 @@ import java.io.IOException;
eventHandler.obtainMessage(MSG_POSITION_DISCONTINUITY, playbackInfo).sendToTarget(); eventHandler.obtainMessage(MSG_POSITION_DISCONTINUITY, playbackInfo).sendToTarget();
} }
updateTimelineState(); updateTimelineState();
if (readingPeriodHolder != null && readingPeriodHolder.isLast) {
readingPeriodHolder = null;
for (Renderer renderer : enabledRenderers) {
renderer.setCurrentStreamIsFinal();
}
}
if (readingPeriodHolder == null) { if (readingPeriodHolder == null) {
// The renderers have their final SampleStreams. // The renderers have their final SampleStreams.
return; return;
} }
for (Renderer renderer : enabledRenderers) { for (Renderer renderer : enabledRenderers) {
if (!renderer.hasReadStreamToEnd()) { if (!renderer.hasReadStreamToEnd()) {
return; return;
@ -1029,11 +1036,6 @@ import java.io.IOException;
} }
} }
} }
} else if (readingPeriodHolder.isLast) {
readingPeriodHolder = null;
for (Renderer renderer : enabledRenderers) {
renderer.setCurrentStreamIsFinal();
}
} }
} }