private void handlePeriodPrepared(MediaPeriod mediaPeriod) throws ExoPlaybackException { if (!queue.isLoading(mediaPeriod)) { // Stale event. return; } MediaPeriodHolder loadingPeriodHolder = queue.getLoadingPeriod(); loadingPeriodHolder.handlePrepared(mediaClock.getPlaybackParameters().speed); updateLoadControlTrackSelection( loadingPeriodHolder.trackGroups, loadingPeriodHolder.trackSelectorResult); if (!queue.hasPlayingPeriod()) { // This is the first prepared period, so start playing it. MediaPeriodHolder playingPeriodHolder = queue.advancePlayingPeriod(); resetRendererPosition(playingPeriodHolder.info.startPositionUs); updatePlayingPeriodRenderers(/* oldPlayingPeriodHolder= */ null); } maybeContinueLoading(); }
break; newPlayingPeriodHolder = queue.advancePlayingPeriod();
: Player.DISCONTINUITY_REASON_AD_INSERTION; MediaPeriodHolder oldPlayingPeriodHolder = playingPeriodHolder; playingPeriodHolder = queue.advancePlayingPeriod(); updatePlayingPeriodRenderers(oldPlayingPeriodHolder); playbackInfo =