/** * Clears the queue. * * @param keepFrontPeriodUid Whether the queue should keep the id of the media period in the front * of queue (typically the playing one) for later reuse. */ public void clear(boolean keepFrontPeriodUid) { MediaPeriodHolder front = getFrontPeriod(); if (front != null) { oldFrontPeriodUid = keepFrontPeriodUid ? front.uid : null; oldFrontPeriodWindowSequenceNumber = front.info.id.windowSequenceNumber; front.release(); removeAfter(front); } else if (!keepFrontPeriodUid) { oldFrontPeriodUid = null; } playing = null; loading = null; reading = null; length = 0; }
|| !periodHolder.uid.equals(timeline.getUidOfPeriod(periodIndex))) { return !removeAfter(previousPeriodHolder); if (periodInfo == null) { return !removeAfter(previousPeriodHolder); return !removeAfter(previousPeriodHolder);
boolean readingPeriodRemoved = removeAfter(lastValidPeriodHolder);
boolean recreateStreams = queue.removeAfter(playingPeriodHolder); } else { queue.removeAfter(periodHolder); if (periodHolder.prepared) { long loadingPeriodPositionUs =
while (newPlayingPeriodHolder != null) { if (periodId.equals(newPlayingPeriodHolder.info.id) && newPlayingPeriodHolder.prepared) { queue.removeAfter(newPlayingPeriodHolder); break;