Don't ignore first period when updating information to new Timeline.

This while loop started with the second period in the queue and the
first one was always ignored.

PiperOrigin-RevId: 297812937
This commit is contained in:
tonihei 2020-02-28 12:06:04 +00:00 committed by Oliver Woodman
parent 91a87b3fa0
commit 28cefe12c5

View File

@ -1552,14 +1552,12 @@ import java.util.concurrent.atomic.AtomicBoolean;
} else if (!timeline.isEmpty()) { } else if (!timeline.isEmpty()) {
// Something changed. Seek to new start position. // Something changed. Seek to new start position.
@Nullable MediaPeriodHolder periodHolder = queue.getPlayingPeriod(); @Nullable MediaPeriodHolder periodHolder = queue.getPlayingPeriod();
if (periodHolder != null) { while (periodHolder != null) {
// Update the new playing media period info if it already exists. // Update the new playing media period info if it already exists.
while (periodHolder.getNext() != null) { if (periodHolder.info.id.equals(newPeriodId)) {
periodHolder = periodHolder.getNext(); periodHolder.info = queue.getUpdatedMediaPeriodInfo(timeline, periodHolder.info);
if (periodHolder.info.id.equals(newPeriodId)) {
periodHolder.info = queue.getUpdatedMediaPeriodInfo(timeline, periodHolder.info);
}
} }
periodHolder = periodHolder.getNext();
} }
newPositionUs = seekToPeriodPosition(newPeriodId, newPositionUs, forceBufferingState); newPositionUs = seekToPeriodPosition(newPeriodId, newPositionUs, forceBufferingState);
} }