Fix maskingX variables when timeline becomes empty

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=164840037
This commit is contained in:
olly 2017-08-10 04:45:40 -07:00 committed by Oliver Woodman
parent 88bae5d975
commit 1b28d83f16

View File

@ -448,6 +448,12 @@ import java.util.concurrent.CopyOnWriteArraySet;
case ExoPlayerImplInternal.MSG_SEEK_ACK: {
if (--pendingSeekAcks == 0) {
playbackInfo = (ExoPlayerImplInternal.PlaybackInfo) msg.obj;
if (timeline.isEmpty()) {
// Update the masking variables, which are used when the timeline is empty.
maskingPeriodIndex = 0;
maskingWindowIndex = 0;
maskingWindowPositionMs = 0;
}
if (msg.arg1 != 0) {
for (Player.EventListener listener : listeners) {
listener.onPositionDiscontinuity();
@ -472,6 +478,12 @@ import java.util.concurrent.CopyOnWriteArraySet;
timeline = sourceInfo.timeline;
manifest = sourceInfo.manifest;
playbackInfo = sourceInfo.playbackInfo;
if (pendingSeekAcks == 0 && timeline.isEmpty()) {
// Update the masking variables, which are used when the timeline is empty.
maskingPeriodIndex = 0;
maskingWindowIndex = 0;
maskingWindowPositionMs = 0;
}
for (Player.EventListener listener : listeners) {
listener.onTimelineChanged(timeline, manifest);
}