private void updateTrackSelectionPlaybackSpeed(float playbackSpeed) { MediaPeriodHolder periodHolder = queue.getFrontPeriod(); while (periodHolder != null) { if (periodHolder.trackSelectorResult != null) { TrackSelection[] trackSelections = periodHolder.trackSelectorResult.selections.getAll(); for (TrackSelection trackSelection : trackSelections) { if (trackSelection != null) { trackSelection.onPlaybackSpeed(playbackSpeed); } } } periodHolder = periodHolder.next; } }
/** * 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; }
MediaPeriodHolder mediaPeriodHolder = getFrontPeriod(); while (mediaPeriodHolder != null) { if (mediaPeriodHolder.uid.equals(periodUid)) { mediaPeriodHolder = getFrontPeriod(); while (mediaPeriodHolder != null) { int indexOfHolderInTimeline = timeline.getIndexOfPeriod(mediaPeriodHolder.uid);
MediaPeriodHolder lastValidPeriodHolder = getFrontPeriod(); if (lastValidPeriodHolder == null) { return true;
MediaPeriodHolder periodHolder = getFrontPeriod(); while (periodHolder != null) { if (previousPeriodHolder == null) {
MediaPeriodHolder periodHolder = queue.getFrontPeriod(); long contentPositionUs = playbackInfo.contentPositionUs; Object playingPeriodUid =