Commit 410228ac by tonihei Committed by Oliver Woodman

Rename isLast to isFinal in MediaPeriodHolder.

This better reflects the purpose of this flag and makes code more readable.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=160246573
parent 076a77e5
...@@ -453,8 +453,8 @@ import java.io.IOException; ...@@ -453,8 +453,8 @@ import java.io.IOException;
releasePeriodHoldersFrom(lastValidPeriodHolder.next); releasePeriodHoldersFrom(lastValidPeriodHolder.next);
lastValidPeriodHolder.next = null; lastValidPeriodHolder.next = null;
} }
// Update isLast flag. // Update isFinal flag.
lastValidPeriodHolder.isLast = isLastPeriod(lastValidPeriodHolder.periodIndex); lastValidPeriodHolder.isFinal = isFinalPeriod(lastValidPeriodHolder.periodIndex);
// Handle cases where loadingPeriodHolder or readingPeriodHolder have been removed. // Handle cases where loadingPeriodHolder or readingPeriodHolder have been removed.
if (!seenLoadingPeriodHolder) { if (!seenLoadingPeriodHolder) {
loadingPeriodHolder = lastValidPeriodHolder; loadingPeriodHolder = lastValidPeriodHolder;
...@@ -570,7 +570,7 @@ import java.io.IOException; ...@@ -570,7 +570,7 @@ import java.io.IOException;
if (allRenderersEnded if (allRenderersEnded
&& (playingPeriodDurationUs == C.TIME_UNSET && (playingPeriodDurationUs == C.TIME_UNSET
|| playingPeriodDurationUs <= playbackInfo.positionUs) || playingPeriodDurationUs <= playbackInfo.positionUs)
&& playingPeriodHolder.isLast) { && playingPeriodHolder.isFinal) {
setState(ExoPlayer.STATE_ENDED); setState(ExoPlayer.STATE_ENDED);
stopRenderers(); stopRenderers();
} else if (state == ExoPlayer.STATE_BUFFERING) { } else if (state == ExoPlayer.STATE_BUFFERING) {
...@@ -916,7 +916,7 @@ import java.io.IOException; ...@@ -916,7 +916,7 @@ import java.io.IOException;
? loadingPeriodHolder.startPositionUs ? loadingPeriodHolder.startPositionUs
: loadingPeriodHolder.mediaPeriod.getBufferedPositionUs(); : loadingPeriodHolder.mediaPeriod.getBufferedPositionUs();
if (loadingPeriodBufferedPositionUs == C.TIME_END_OF_SOURCE) { if (loadingPeriodBufferedPositionUs == C.TIME_END_OF_SOURCE) {
if (loadingPeriodHolder.isLast) { if (loadingPeriodHolder.isFinal) {
return true; return true;
} }
loadingPeriodBufferedPositionUs = timeline.getPeriod(loadingPeriodHolder.periodIndex, period) loadingPeriodBufferedPositionUs = timeline.getPeriod(loadingPeriodHolder.periodIndex, period)
...@@ -1010,7 +1010,7 @@ import java.io.IOException; ...@@ -1010,7 +1010,7 @@ import java.io.IOException;
} }
// The current period is in the new timeline. Update the holder and playbackInfo. // The current period is in the new timeline. Update the holder and playbackInfo.
periodHolder.setPeriodIndex(periodIndex, isLastPeriod(periodIndex)); periodHolder.setPeriodIndex(periodIndex, isFinalPeriod(periodIndex));
boolean seenReadingPeriod = periodHolder == readingPeriodHolder; boolean seenReadingPeriod = periodHolder == readingPeriodHolder;
if (periodIndex != playbackInfo.periodIndex) { if (periodIndex != playbackInfo.periodIndex) {
playbackInfo = playbackInfo.copyWithPeriodIndex(periodIndex); playbackInfo = playbackInfo.copyWithPeriodIndex(periodIndex);
...@@ -1025,7 +1025,7 @@ import java.io.IOException; ...@@ -1025,7 +1025,7 @@ import java.io.IOException;
if (periodIndex != C.INDEX_UNSET if (periodIndex != C.INDEX_UNSET
&& periodHolder.uid.equals(timeline.getPeriod(periodIndex, period, true).uid)) { && periodHolder.uid.equals(timeline.getPeriod(periodIndex, period, true).uid)) {
// The holder is consistent with the new timeline. Update its index and continue. // The holder is consistent with the new timeline. Update its index and continue.
periodHolder.setPeriodIndex(periodIndex, isLastPeriod(periodIndex)); periodHolder.setPeriodIndex(periodIndex, isFinalPeriod(periodIndex));
seenReadingPeriod |= (periodHolder == readingPeriodHolder); seenReadingPeriod |= (periodHolder == readingPeriodHolder);
} else { } else {
// The holder is inconsistent with the new timeline. // The holder is inconsistent with the new timeline.
...@@ -1093,7 +1093,7 @@ import java.io.IOException; ...@@ -1093,7 +1093,7 @@ import java.io.IOException;
return newPeriodIndex; return newPeriodIndex;
} }
private boolean isLastPeriod(int periodIndex) { private boolean isFinalPeriod(int periodIndex) {
int windowIndex = timeline.getPeriod(periodIndex, period).windowIndex; int windowIndex = timeline.getPeriod(periodIndex, period).windowIndex;
return !timeline.getWindow(windowIndex, window).isDynamic return !timeline.getWindow(windowIndex, window).isDynamic
&& timeline.isLastPeriod(periodIndex, period, window, repeatMode); && timeline.isLastPeriod(periodIndex, period, window, repeatMode);
...@@ -1229,7 +1229,7 @@ import java.io.IOException; ...@@ -1229,7 +1229,7 @@ import java.io.IOException;
eventHandler.obtainMessage(MSG_POSITION_DISCONTINUITY, playbackInfo).sendToTarget(); eventHandler.obtainMessage(MSG_POSITION_DISCONTINUITY, playbackInfo).sendToTarget();
} }
if (readingPeriodHolder.isLast) { if (readingPeriodHolder.isFinal) {
for (int i = 0; i < renderers.length; i++) { for (int i = 0; i < renderers.length; i++) {
Renderer renderer = renderers[i]; Renderer renderer = renderers[i];
SampleStream sampleStream = readingPeriodHolder.sampleStreams[i]; SampleStream sampleStream = readingPeriodHolder.sampleStreams[i];
...@@ -1298,7 +1298,7 @@ import java.io.IOException; ...@@ -1298,7 +1298,7 @@ import java.io.IOException;
newLoadingPeriodIndex = playbackInfo.periodIndex; newLoadingPeriodIndex = playbackInfo.periodIndex;
} else { } else {
int loadingPeriodIndex = loadingPeriodHolder.periodIndex; int loadingPeriodIndex = loadingPeriodHolder.periodIndex;
if (loadingPeriodHolder.isLast || !loadingPeriodHolder.isFullyBuffered() if (loadingPeriodHolder.isFinal || !loadingPeriodHolder.isFullyBuffered()
|| timeline.getPeriod(loadingPeriodIndex, period).getDurationUs() == C.TIME_UNSET) { || timeline.getPeriod(loadingPeriodIndex, period).getDurationUs() == C.TIME_UNSET) {
// Either the existing loading period is the last period, or we are not ready to advance to // Either the existing loading period is the last period, or we are not ready to advance to
// loading the next period because it hasn't been fully buffered or its duration is unknown. // loading the next period because it hasn't been fully buffered or its duration is unknown.
...@@ -1313,12 +1313,11 @@ import java.io.IOException; ...@@ -1313,12 +1313,11 @@ import java.io.IOException;
} }
newLoadingPeriodIndex = timeline.getNextPeriodIndex(loadingPeriodIndex, period, window, newLoadingPeriodIndex = timeline.getNextPeriodIndex(loadingPeriodIndex, period, window,
repeatMode); repeatMode);
} if (newLoadingPeriodIndex == C.INDEX_UNSET) {
// The next period is not available yet.
if (newLoadingPeriodIndex == C.INDEX_UNSET) { mediaSource.maybeThrowSourceInfoRefreshError();
// The next period is not available yet. return;
mediaSource.maybeThrowSourceInfoRefreshError(); }
return;
} }
long newLoadingPeriodStartPositionUs; long newLoadingPeriodStartPositionUs;
...@@ -1356,7 +1355,7 @@ import java.io.IOException; ...@@ -1356,7 +1355,7 @@ import java.io.IOException;
: (loadingPeriodHolder.getRendererOffset() : (loadingPeriodHolder.getRendererOffset()
+ timeline.getPeriod(loadingPeriodHolder.periodIndex, period).getDurationUs()); + timeline.getPeriod(loadingPeriodHolder.periodIndex, period).getDurationUs());
int holderIndex = loadingPeriodHolder == null ? 0 : loadingPeriodHolder.index + 1; int holderIndex = loadingPeriodHolder == null ? 0 : loadingPeriodHolder.index + 1;
boolean isLastPeriod = isLastPeriod(newLoadingPeriodIndex); boolean isLastPeriod = isFinalPeriod(newLoadingPeriodIndex);
timeline.getPeriod(newLoadingPeriodIndex, period, true); timeline.getPeriod(newLoadingPeriodIndex, period, true);
MediaPeriodHolder newPeriodHolder = new MediaPeriodHolder(renderers, rendererCapabilities, MediaPeriodHolder newPeriodHolder = new MediaPeriodHolder(renderers, rendererCapabilities,
rendererPositionOffsetUs, trackSelector, loadControl, mediaSource, period.uid, rendererPositionOffsetUs, trackSelector, loadControl, mediaSource, period.uid,
...@@ -1508,7 +1507,7 @@ import java.io.IOException; ...@@ -1508,7 +1507,7 @@ import java.io.IOException;
public int periodIndex; public int periodIndex;
public long startPositionUs; public long startPositionUs;
public boolean isLast; public boolean isFinal;
public boolean prepared; public boolean prepared;
public boolean hasEnabledTracks; public boolean hasEnabledTracks;
public MediaPeriodHolder next; public MediaPeriodHolder next;
...@@ -1524,8 +1523,8 @@ import java.io.IOException; ...@@ -1524,8 +1523,8 @@ import java.io.IOException;
public MediaPeriodHolder(Renderer[] renderers, RendererCapabilities[] rendererCapabilities, public MediaPeriodHolder(Renderer[] renderers, RendererCapabilities[] rendererCapabilities,
long rendererPositionOffsetUs, TrackSelector trackSelector, LoadControl loadControl, long rendererPositionOffsetUs, TrackSelector trackSelector, LoadControl loadControl,
MediaSource mediaSource, Object periodUid, int index, int periodIndex, boolean isLastPeriod, MediaSource mediaSource, Object periodUid, int index, int periodIndex,
long startPositionUs) { boolean isFinalPeriod, long startPositionUs) {
this.renderers = renderers; this.renderers = renderers;
this.rendererCapabilities = rendererCapabilities; this.rendererCapabilities = rendererCapabilities;
this.rendererPositionOffsetUs = rendererPositionOffsetUs; this.rendererPositionOffsetUs = rendererPositionOffsetUs;
...@@ -1535,7 +1534,7 @@ import java.io.IOException; ...@@ -1535,7 +1534,7 @@ import java.io.IOException;
this.uid = Assertions.checkNotNull(periodUid); this.uid = Assertions.checkNotNull(periodUid);
this.index = index; this.index = index;
this.periodIndex = periodIndex; this.periodIndex = periodIndex;
this.isLast = isLastPeriod; this.isFinal = isFinalPeriod;
this.startPositionUs = startPositionUs; this.startPositionUs = startPositionUs;
sampleStreams = new SampleStream[renderers.length]; sampleStreams = new SampleStream[renderers.length];
mayRetainStreamFlags = new boolean[renderers.length]; mayRetainStreamFlags = new boolean[renderers.length];
...@@ -1554,9 +1553,9 @@ import java.io.IOException; ...@@ -1554,9 +1553,9 @@ import java.io.IOException;
return rendererPositionOffsetUs - startPositionUs; return rendererPositionOffsetUs - startPositionUs;
} }
public void setPeriodIndex(int periodIndex, boolean isLast) { public void setPeriodIndex(int periodIndex, boolean isFinal) {
this.periodIndex = periodIndex; this.periodIndex = periodIndex;
this.isLast = isLast; this.isFinal = isFinal;
} }
public boolean isFullyBuffered() { public boolean isFullyBuffered() {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment