diff --git a/library/core/src/main/java/com/google/android/exoplayer2/ExoPlayerImpl.java b/library/core/src/main/java/com/google/android/exoplayer2/ExoPlayerImpl.java index 57fc421bc6..7f9b25b606 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/ExoPlayerImpl.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/ExoPlayerImpl.java @@ -331,14 +331,14 @@ import java.util.concurrent.CopyOnWriteArraySet; @Override public int getNextWindowIndex() { - return timeline.getNextWindowIndex(getCurrentWindowIndex(), getRepeatMode(), - getShuffleModeEnabled()); + return timeline.isEmpty() ? C.INDEX_UNSET + : timeline.getNextWindowIndex(getCurrentWindowIndex(), repeatMode, shuffleModeEnabled); } @Override public int getPreviousWindowIndex() { - return timeline.getPreviousWindowIndex(getCurrentWindowIndex(), getRepeatMode(), - getShuffleModeEnabled()); + return timeline.isEmpty() ? C.INDEX_UNSET + : timeline.getPreviousWindowIndex(getCurrentWindowIndex(), repeatMode, shuffleModeEnabled); } @Override diff --git a/library/core/src/main/java/com/google/android/exoplayer2/Timeline.java b/library/core/src/main/java/com/google/android/exoplayer2/Timeline.java index b83a99295a..783278a121 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/Timeline.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/Timeline.java @@ -564,7 +564,7 @@ public abstract class Timeline { boolean shuffleModeEnabled) { switch (repeatMode) { case Player.REPEAT_MODE_OFF: - return windowIndex == getLastWindowIndex(shuffleModeEnabled) ? C.INDEX_UNSET + return windowIndex == getLastWindowIndex(shuffleModeEnabled) ? C.INDEX_UNSET : windowIndex + 1; case Player.REPEAT_MODE_ONE: return windowIndex;