Remove PlaybackInfo.startPositionUs

The only remaining use is to provide the initial position for the first media
period in the queue. At this point, the value is always equivalent to
PlaybackInfo.positionUs because they are set together to the same value in
PlaybackInfo.copyWithNewPosition.

PiperOrigin-RevId: 290749294
This commit is contained in:
tonihei 2020-01-21 16:35:03 +00:00 committed by Ian Baker
parent 2564a121dc
commit e7cdd16407
5 changed files with 5 additions and 24 deletions

View file

@ -825,17 +825,16 @@ import java.util.concurrent.TimeoutException;
Timeline timeline = playbackInfo.timeline;
MediaPeriodId mediaPeriodId = playbackInfo.periodId;
long contentPositionUs = playbackInfo.contentPositionUs;
long startPositionUs = playbackInfo.positionUs;
long positionUs = playbackInfo.positionUs;
if (clearPlaylist) {
timeline = Timeline.EMPTY;
mediaPeriodId = PlaybackInfo.getDummyPeriodForEmptyTimeline();
contentPositionUs = C.TIME_UNSET;
startPositionUs = 0;
positionUs = 0;
}
return new PlaybackInfo(
timeline,
mediaPeriodId,
startPositionUs,
contentPositionUs,
playbackState,
resetError ? null : playbackInfo.playbackError,
@ -843,9 +842,9 @@ import java.util.concurrent.TimeoutException;
clearPlaylist ? TrackGroupArray.EMPTY : playbackInfo.trackGroups,
clearPlaylist ? emptyTrackSelectorResult : playbackInfo.trackSelectorResult,
mediaPeriodId,
startPositionUs,
positionUs,
/* totalBufferedDurationUs= */ 0,
startPositionUs);
positionUs);
}
private void updatePlaybackInfo(

View file

@ -1167,7 +1167,6 @@ import java.util.concurrent.atomic.AtomicBoolean;
new PlaybackInfo(
timeline,
mediaPeriodId,
startPositionUs,
contentPositionUs,
playbackInfo.playbackState,
resetError ? null : playbackInfo.playbackError,

View file

@ -542,7 +542,7 @@ import com.google.android.exoplayer2.util.Assertions;
playbackInfo.timeline,
playbackInfo.periodId,
playbackInfo.contentPositionUs,
playbackInfo.startPositionUs);
playbackInfo.positionUs);
}
/**

View file

@ -37,12 +37,6 @@ import com.google.android.exoplayer2.trackselection.TrackSelectorResult;
public final Timeline timeline;
/** The {@link MediaPeriodId} of the currently playing media period in the {@link #timeline}. */
public final MediaPeriodId periodId;
/**
* The start position at which playback started in {@link #periodId} relative to the start of the
* associated period in the {@link #timeline}, in microseconds. Note that this value changes for
* each position discontinuity.
*/
public final long startPositionUs;
/**
* If {@link #periodId} refers to an ad, the position of the suspended content relative to the
* start of the associated period in the {@link #timeline}, in microseconds. {@link C#TIME_UNSET}
@ -91,7 +85,6 @@ import com.google.android.exoplayer2.trackselection.TrackSelectorResult;
return new PlaybackInfo(
Timeline.EMPTY,
DUMMY_MEDIA_PERIOD_ID,
/* startPositionUs= */ 0,
/* contentPositionUs= */ C.TIME_UNSET,
Player.STATE_IDLE,
/* playbackError= */ null,
@ -109,7 +102,6 @@ import com.google.android.exoplayer2.trackselection.TrackSelectorResult;
*
* @param timeline See {@link #timeline}.
* @param periodId See {@link #periodId}.
* @param startPositionUs See {@link #startPositionUs}.
* @param contentPositionUs See {@link #contentPositionUs}.
* @param playbackState See {@link #playbackState}.
* @param isLoading See {@link #isLoading}.
@ -123,7 +115,6 @@ import com.google.android.exoplayer2.trackselection.TrackSelectorResult;
public PlaybackInfo(
Timeline timeline,
MediaPeriodId periodId,
long startPositionUs,
long contentPositionUs,
@Player.State int playbackState,
@Nullable ExoPlaybackException playbackError,
@ -136,7 +127,6 @@ import com.google.android.exoplayer2.trackselection.TrackSelectorResult;
long positionUs) {
this.timeline = timeline;
this.periodId = periodId;
this.startPositionUs = startPositionUs;
this.contentPositionUs = contentPositionUs;
this.playbackState = playbackState;
this.playbackError = playbackError;
@ -178,7 +168,6 @@ import com.google.android.exoplayer2.trackselection.TrackSelectorResult;
return new PlaybackInfo(
timeline,
periodId,
positionUs,
periodId.isAd() ? contentPositionUs : C.TIME_UNSET,
playbackState,
playbackError,
@ -202,7 +191,6 @@ import com.google.android.exoplayer2.trackselection.TrackSelectorResult;
return new PlaybackInfo(
timeline,
periodId,
startPositionUs,
contentPositionUs,
playbackState,
playbackError,
@ -226,7 +214,6 @@ import com.google.android.exoplayer2.trackselection.TrackSelectorResult;
return new PlaybackInfo(
timeline,
periodId,
startPositionUs,
contentPositionUs,
playbackState,
playbackError,
@ -250,7 +237,6 @@ import com.google.android.exoplayer2.trackselection.TrackSelectorResult;
return new PlaybackInfo(
timeline,
periodId,
startPositionUs,
contentPositionUs,
playbackState,
playbackError,
@ -274,7 +260,6 @@ import com.google.android.exoplayer2.trackselection.TrackSelectorResult;
return new PlaybackInfo(
timeline,
periodId,
startPositionUs,
contentPositionUs,
playbackState,
playbackError,
@ -298,7 +283,6 @@ import com.google.android.exoplayer2.trackselection.TrackSelectorResult;
return new PlaybackInfo(
timeline,
periodId,
startPositionUs,
contentPositionUs,
playbackState,
playbackError,

View file

@ -343,7 +343,6 @@ public final class MediaPeriodQueueTest {
new PlaybackInfo(
timeline,
mediaPeriodQueue.resolveMediaPeriodIdForAds(timeline, periodUid, /* positionUs= */ 0),
/* startPositionUs= */ 0,
/* contentPositionUs= */ 0,
Player.STATE_READY,
/* playbackError= */ null,