diff --git a/library/core/src/main/java/com/google/android/exoplayer2/ExoPlayer.java b/library/core/src/main/java/com/google/android/exoplayer2/ExoPlayer.java index b35f617048..f845ece3c7 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/ExoPlayer.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/ExoPlayer.java @@ -486,10 +486,8 @@ public interface ExoPlayer extends Player { * Removes the media item at the given index of the playlist. * * @param index The index at which to remove the media item. - * @return The removed {@link MediaSource} or null if no item exists at the given index. */ - @Nullable - MediaSource removeMediaItem(int index); + void removeMediaItem(int index); /** * Removes a range of media items from the playlist. 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 97ba989c34..0f3e1d98ab 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 @@ -368,10 +368,8 @@ import java.util.concurrent.TimeoutException; } @Override - public MediaSource removeMediaItem(int index) { - List mediaSourceHolders = - removeMediaItemsInternal(/* fromIndex= */ index, /* toIndex= */ index + 1); - return mediaSourceHolders.isEmpty() ? null : mediaSourceHolders.get(0).mediaSource; + public void removeMediaItem(int index) { + removeMediaItemsInternal(/* fromIndex= */ index, /* toIndex= */ index + 1); } @Override @@ -956,7 +954,7 @@ import java.util.concurrent.TimeoutException; return holders; } - private List removeMediaItemsInternal(int fromIndex, int toIndex) { + private void removeMediaItemsInternal(int fromIndex, int toIndex) { Assertions.checkArgument( fromIndex >= 0 && toIndex >= fromIndex && toIndex <= mediaSourceHolders.size()); int currentWindowIndex = getCurrentWindowIndex(); @@ -965,8 +963,7 @@ import java.util.concurrent.TimeoutException; Timeline oldTimeline = getCurrentTimeline(); int currentMediaSourceCount = mediaSourceHolders.size(); pendingOperationAcks++; - List removedHolders = - removeMediaSourceHolders(fromIndex, /* toIndexExclusive= */ toIndex); + removeMediaSourceHolders(fromIndex, /* toIndexExclusive= */ toIndex); Timeline timeline = maskTimelineAndWindowIndex(currentWindowIndex, currentPositionMs, oldTimeline); // Player transitions to STATE_ENDED if the current index is part of the removed tail. @@ -987,7 +984,6 @@ import java.util.concurrent.TimeoutException; listener.onPlayerStateChanged(currentPlayWhenReady, STATE_ENDED); } }); - return removedHolders; } private List removeMediaSourceHolders( diff --git a/library/core/src/main/java/com/google/android/exoplayer2/SimpleExoPlayer.java b/library/core/src/main/java/com/google/android/exoplayer2/SimpleExoPlayer.java index a3dd3018ed..709d8d9aab 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/SimpleExoPlayer.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/SimpleExoPlayer.java @@ -1290,9 +1290,9 @@ public class SimpleExoPlayer extends BasePlayer } @Override - public MediaSource removeMediaItem(int index) { + public void removeMediaItem(int index) { verifyApplicationThread(); - return player.removeMediaItem(index); + player.removeMediaItem(index); } @Override diff --git a/testutils/src/main/java/com/google/android/exoplayer2/testutil/StubExoPlayer.java b/testutils/src/main/java/com/google/android/exoplayer2/testutil/StubExoPlayer.java index b1851106dc..62666eac09 100644 --- a/testutils/src/main/java/com/google/android/exoplayer2/testutil/StubExoPlayer.java +++ b/testutils/src/main/java/com/google/android/exoplayer2/testutil/StubExoPlayer.java @@ -190,7 +190,7 @@ public abstract class StubExoPlayer extends BasePlayer implements ExoPlayer { } @Override - public MediaSource removeMediaItem(int index) { + public void removeMediaItem(int index) { throw new UnsupportedOperationException(); }