update ExoPlayerTest to use get/setPlaybackSpeed

PiperOrigin-RevId: 300554337
This commit is contained in:
bachinger 2020-03-12 15:34:58 +00:00 committed by Oliver Woodman
parent 920117b081
commit 1e387601a6
3 changed files with 32 additions and 44 deletions

View File

@ -963,8 +963,8 @@ public final class ExoPlayerTest {
throw new IllegalStateException(e); throw new IllegalStateException(e);
} }
}) })
// Set playback parameters (while the fake media period is not yet prepared). // Set playback speed (while the fake media period is not yet prepared).
.setPlaybackParameters(new PlaybackParameters(/* speed= */ 2f)) .setPlaybackSpeed(2f)
// Complete preparation of the fake media period. // Complete preparation of the fake media period.
.executeRunnable(() -> fakeMediaPeriodHolder[0].setPreparationComplete()) .executeRunnable(() -> fakeMediaPeriodHolder[0].setPreparationComplete())
.build(); .build();
@ -3177,17 +3177,17 @@ public final class ExoPlayerTest {
new ActionSchedule.Builder(TAG) new ActionSchedule.Builder(TAG)
.pause() .pause()
.waitForPlaybackState(Player.STATE_READY) .waitForPlaybackState(Player.STATE_READY)
.setPlaybackParameters(new PlaybackParameters(1.1f)) .setPlaybackSpeed(1.1f)
.setPlaybackParameters(new PlaybackParameters(1.2f)) .setPlaybackSpeed(1.2f)
.setPlaybackParameters(new PlaybackParameters(1.3f)) .setPlaybackSpeed(1.3f)
.play() .play()
.build(); .build();
List<PlaybackParameters> reportedPlaybackParameters = new ArrayList<>(); List<Float> reportedPlaybackSpeeds = new ArrayList<>();
EventListener listener = EventListener listener =
new EventListener() { new EventListener() {
@Override @Override
public void onPlaybackParametersChanged(PlaybackParameters playbackParameters) { public void onPlaybackSpeedChanged(float playbackSpeed) {
reportedPlaybackParameters.add(playbackParameters); reportedPlaybackSpeeds.add(playbackSpeed);
} }
}; };
new ExoPlayerTestRunner.Builder() new ExoPlayerTestRunner.Builder()
@ -3197,12 +3197,7 @@ public final class ExoPlayerTest {
.start() .start()
.blockUntilEnded(TIMEOUT_MS); .blockUntilEnded(TIMEOUT_MS);
assertThat(reportedPlaybackParameters) assertThat(reportedPlaybackSpeeds).containsExactly(1.1f, 1.2f, 1.3f).inOrder();
.containsExactly(
new PlaybackParameters(1.1f),
new PlaybackParameters(1.2f),
new PlaybackParameters(1.3f))
.inOrder();
} }
@Test @Test
@ -3228,17 +3223,17 @@ public final class ExoPlayerTest {
new ActionSchedule.Builder(TAG) new ActionSchedule.Builder(TAG)
.pause() .pause()
.waitForPlaybackState(Player.STATE_READY) .waitForPlaybackState(Player.STATE_READY)
.setPlaybackParameters(new PlaybackParameters(1.1f)) .setPlaybackSpeed(1.1f)
.setPlaybackParameters(new PlaybackParameters(1.2f)) .setPlaybackSpeed(1.2f)
.setPlaybackParameters(new PlaybackParameters(1.3f)) .setPlaybackSpeed(1.3f)
.play() .play()
.build(); .build();
List<PlaybackParameters> reportedPlaybackParameters = new ArrayList<>(); List<Float> reportedPlaybackParameters = new ArrayList<>();
EventListener listener = EventListener listener =
new EventListener() { new EventListener() {
@Override @Override
public void onPlaybackParametersChanged(PlaybackParameters playbackParameters) { public void onPlaybackSpeedChanged(float playbackSpeed) {
reportedPlaybackParameters.add(playbackParameters); reportedPlaybackParameters.add(playbackSpeed);
} }
}; };
new ExoPlayerTestRunner.Builder() new ExoPlayerTestRunner.Builder()
@ -3251,11 +3246,7 @@ public final class ExoPlayerTest {
.blockUntilEnded(TIMEOUT_MS); .blockUntilEnded(TIMEOUT_MS);
assertThat(reportedPlaybackParameters) assertThat(reportedPlaybackParameters)
.containsExactly( .containsExactly(1.1f, 1.2f, 1.3f, Player.DEFAULT_PLAYBACK_SPEED)
new PlaybackParameters(1.1f),
new PlaybackParameters(1.2f),
new PlaybackParameters(1.3f),
PlaybackParameters.DEFAULT)
.inOrder(); .inOrder();
} }

View File

@ -22,7 +22,6 @@ import com.google.android.exoplayer2.C;
import com.google.android.exoplayer2.ExoPlaybackException; import com.google.android.exoplayer2.ExoPlaybackException;
import com.google.android.exoplayer2.ExoPlayer; import com.google.android.exoplayer2.ExoPlayer;
import com.google.android.exoplayer2.IllegalSeekPositionException; import com.google.android.exoplayer2.IllegalSeekPositionException;
import com.google.android.exoplayer2.PlaybackParameters;
import com.google.android.exoplayer2.Player; import com.google.android.exoplayer2.Player;
import com.google.android.exoplayer2.PlayerMessage; import com.google.android.exoplayer2.PlayerMessage;
import com.google.android.exoplayer2.PlayerMessage.Target; import com.google.android.exoplayer2.PlayerMessage.Target;
@ -609,27 +608,26 @@ public abstract class Action {
} }
} }
/** Calls {@link Player#setPlaybackParameters(PlaybackParameters)}. */ /** Calls {@link Player#setPlaybackSpeed(float)}. */
public static final class SetPlaybackParameters extends Action { public static final class SetPlaybackSpeed extends Action {
@Nullable private final PlaybackParameters playbackParameters; private final float playbackSpeed;
/** /**
* Creates a set playback speed action instance.
*
* @param tag A tag to use for logging. * @param tag A tag to use for logging.
* @param playbackParameters The playback parameters. * @param playbackSpeed The playback speed.
*/ */
public SetPlaybackParameters(String tag, @Nullable PlaybackParameters playbackParameters) { public SetPlaybackSpeed(String tag, float playbackSpeed) {
super( super(tag, "SetPlaybackSpeed:" + playbackSpeed);
tag, this.playbackSpeed = playbackSpeed;
"SetPlaybackParameters:"
+ (playbackParameters == null ? "null" : playbackParameters.speed));
this.playbackParameters = playbackParameters;
} }
@Override @Override
protected void doActionImpl( protected void doActionImpl(
SimpleExoPlayer player, DefaultTrackSelector trackSelector, @Nullable Surface surface) { SimpleExoPlayer player, DefaultTrackSelector trackSelector, @Nullable Surface surface) {
player.setPlaybackParameters(playbackParameters); player.setPlaybackSpeed(playbackSpeed);
} }
} }

View File

@ -20,7 +20,6 @@ import android.view.Surface;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import com.google.android.exoplayer2.C; import com.google.android.exoplayer2.C;
import com.google.android.exoplayer2.ExoPlaybackException; import com.google.android.exoplayer2.ExoPlaybackException;
import com.google.android.exoplayer2.PlaybackParameters;
import com.google.android.exoplayer2.Player; import com.google.android.exoplayer2.Player;
import com.google.android.exoplayer2.PlayerMessage; import com.google.android.exoplayer2.PlayerMessage;
import com.google.android.exoplayer2.PlayerMessage.Target; import com.google.android.exoplayer2.PlayerMessage.Target;
@ -36,7 +35,7 @@ import com.google.android.exoplayer2.testutil.Action.Seek;
import com.google.android.exoplayer2.testutil.Action.SendMessages; import com.google.android.exoplayer2.testutil.Action.SendMessages;
import com.google.android.exoplayer2.testutil.Action.SetAudioAttributes; import com.google.android.exoplayer2.testutil.Action.SetAudioAttributes;
import com.google.android.exoplayer2.testutil.Action.SetPlayWhenReady; import com.google.android.exoplayer2.testutil.Action.SetPlayWhenReady;
import com.google.android.exoplayer2.testutil.Action.SetPlaybackParameters; import com.google.android.exoplayer2.testutil.Action.SetPlaybackSpeed;
import com.google.android.exoplayer2.testutil.Action.SetRendererDisabled; import com.google.android.exoplayer2.testutil.Action.SetRendererDisabled;
import com.google.android.exoplayer2.testutil.Action.SetRepeatMode; import com.google.android.exoplayer2.testutil.Action.SetRepeatMode;
import com.google.android.exoplayer2.testutil.Action.SetShuffleModeEnabled; import com.google.android.exoplayer2.testutil.Action.SetShuffleModeEnabled;
@ -213,14 +212,14 @@ public final class ActionSchedule {
} }
/** /**
* Schedules a playback parameters setting action. * Schedules a playback speed setting action.
* *
* @param playbackParameters The playback parameters to set. * @param playbackSpeed The playback speed to set.
* @return The builder, for convenience. * @return The builder, for convenience.
* @see Player#setPlaybackParameters(PlaybackParameters) * @see Player#setPlaybackSpeed(float)
*/ */
public Builder setPlaybackParameters(PlaybackParameters playbackParameters) { public Builder setPlaybackSpeed(float playbackSpeed) {
return apply(new SetPlaybackParameters(tag, playbackParameters)); return apply(new SetPlaybackSpeed(tag, playbackSpeed));
} }
/** /**