/** * Resolves the specified timeline period and position to a {@link MediaPeriodId} that should be * played, returning an identifier for an ad group if one needs to be played before the specified * position, or an identifier for a content media period if not. * * @param periodUid The uid of the timeline period to play. * @param positionUs The next content position in the period to play. * @return The identifier for the first media period to play, taking into account unplayed ads. */ public MediaPeriodId resolveMediaPeriodIdForAds(Object periodUid, long positionUs) { long windowSequenceNumber = resolvePeriodIndexToWindowSequenceNumber(periodUid); return resolveMediaPeriodIdForAds(periodUid, positionUs, windowSequenceNumber); }
Object periodUid = periodPosition.first; long positionUs = periodPosition.second; MediaPeriodId periodId = queue.resolveMediaPeriodIdForAds(periodUid, positionUs); playbackInfo = playbackInfo.resetToNewPosition( Object periodUid = defaultPosition.first; long startPositionUs = defaultPosition.second; MediaPeriodId periodId = queue.resolveMediaPeriodIdForAds(periodUid, startPositionUs); playbackInfo = playbackInfo.resetToNewPosition( Object periodUid = defaultPosition.first; long startPositionUs = defaultPosition.second; MediaPeriodId periodId = queue.resolveMediaPeriodIdForAds(periodUid, startPositionUs); playbackInfo = playbackInfo.resetToNewPosition( newPeriodUid = defaultPosition.first; contentPositionUs = defaultPosition.second; MediaPeriodId periodId = queue.resolveMediaPeriodIdForAds(newPeriodUid, contentPositionUs); if (periodHolder != null) { if (playingPeriodId.isAd()) { MediaPeriodId periodId = queue.resolveMediaPeriodIdForAds(playingPeriodUid, contentPositionUs); if (!periodId.equals(playingPeriodId)) {
resolveMediaPeriodIdForAds(nextPeriodUid, startPositionUs, windowSequenceNumber); return getMediaPeriodInfo(periodId, startPositionUs, startPositionUs);
periodId = queue.resolveMediaPeriodIdForAds(periodUid, contentPositionUs); if (periodId.isAd()) { periodPositionUs = 0;