From bb1261da3c275a3d58ab965ab11f175b0597f80e Mon Sep 17 00:00:00 2001 From: krocard Date: Mon, 22 Mar 2021 18:40:12 +0000 Subject: [PATCH] setPlaybackParameters no longer accepts null for DEFAULT Null was an alias for DEFAULT. Remove this for nullness safety in the API. The ExoPlayer implementation still checks for null and replaces it by DEFAULT, so this is ABI compatible. PiperOrigin-RevId: 364370017 --- RELEASENOTES.md | 4 +++- .../google/android/exoplayer2/ext/cast/CastPlayer.java | 2 +- .../main/java/com/google/android/exoplayer2/Player.java | 8 ++++---- .../java/com/google/android/exoplayer2/ExoPlayerImpl.java | 2 +- .../com/google/android/exoplayer2/SimpleExoPlayer.java | 2 +- .../google/android/exoplayer2/testutil/StubExoPlayer.java | 2 +- 6 files changed, 11 insertions(+), 9 deletions(-) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 6e84849c7e..0d62e8a798 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -30,10 +30,12 @@ * Reset playback speed when live playback speed control becomes unused ([#8664](https://github.com/google/ExoPlayer/issues/8664)). * Fix playback position issue when re-preparing playback after a - BehindLiveWindowException + `BehindLiveWindowException` ([#8675](https://github.com/google/ExoPlayer/issues/8675)). * Add a `Listener` interface to receive all player events in a single object. + * `Player.setPlaybackParameters` no longer accepts null, use + `PlaybackParameters.DEFAULT` instead. * HLS: * Fix issue that could cause playback to become stuck if corresponding `EXT-X-DISCONTINUITY` tags in different media playlists occur at diff --git a/extensions/cast/src/main/java/com/google/android/exoplayer2/ext/cast/CastPlayer.java b/extensions/cast/src/main/java/com/google/android/exoplayer2/ext/cast/CastPlayer.java index 3742c9a607..4462e4cfa1 100644 --- a/extensions/cast/src/main/java/com/google/android/exoplayer2/ext/cast/CastPlayer.java +++ b/extensions/cast/src/main/java/com/google/android/exoplayer2/ext/cast/CastPlayer.java @@ -469,7 +469,7 @@ public final class CastPlayer extends BasePlayer { } @Override - public void setPlaybackParameters(@Nullable PlaybackParameters playbackParameters) { + public void setPlaybackParameters(PlaybackParameters playbackParameters) { // Unsupported by the RemoteMediaClient API. Do nothing. } diff --git a/library/common/src/main/java/com/google/android/exoplayer2/Player.java b/library/common/src/main/java/com/google/android/exoplayer2/Player.java index 7f5b6e8385..f668e4df76 100644 --- a/library/common/src/main/java/com/google/android/exoplayer2/Player.java +++ b/library/common/src/main/java/com/google/android/exoplayer2/Player.java @@ -1491,16 +1491,16 @@ public interface Player { void next(); /** - * Attempts to set the playback parameters. Passing {@code null} sets the parameters to the - * default, {@link PlaybackParameters#DEFAULT}, which means there is no speed or pitch adjustment. + * Attempts to set the playback parameters. Passing {@link PlaybackParameters#DEFAULT} resets the + * player to the default, which means there is no speed or pitch adjustment. * *

Playback parameters changes may cause the player to buffer. {@link * EventListener#onPlaybackParametersChanged(PlaybackParameters)} will be called whenever the * currently active playback parameters change. * - * @param playbackParameters The playback parameters, or {@code null} to use the defaults. + * @param playbackParameters The playback parameters. */ - void setPlaybackParameters(@Nullable PlaybackParameters playbackParameters); + void setPlaybackParameters(PlaybackParameters playbackParameters); /** * Changes the rate at which playback occurs. The pitch is not changed. 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 f86ee73bde..c81c2c71f4 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 @@ -669,7 +669,7 @@ import java.util.concurrent.CopyOnWriteArraySet; } @Override - public void setPlaybackParameters(@Nullable PlaybackParameters playbackParameters) { + public void setPlaybackParameters(PlaybackParameters playbackParameters) { if (playbackParameters == null) { playbackParameters = PlaybackParameters.DEFAULT; } 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 8aa879ea9a..9a55918922 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 @@ -1467,7 +1467,7 @@ public class SimpleExoPlayer extends BasePlayer } @Override - public void setPlaybackParameters(@Nullable PlaybackParameters playbackParameters) { + public void setPlaybackParameters(PlaybackParameters playbackParameters) { verifyApplicationThread(); player.setPlaybackParameters(playbackParameters); } 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 a51fdbbc42..722fca7895 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 @@ -281,7 +281,7 @@ public abstract class StubExoPlayer extends BasePlayer implements ExoPlayer { } @Override - public void setPlaybackParameters(@Nullable PlaybackParameters playbackParameters) { + public void setPlaybackParameters(PlaybackParameters playbackParameters) { throw new UnsupportedOperationException(); }