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

View File

@ -22,7 +22,6 @@ import com.google.android.exoplayer2.C;
import com.google.android.exoplayer2.ExoPlaybackException;
import com.google.android.exoplayer2.ExoPlayer;
import com.google.android.exoplayer2.IllegalSeekPositionException;
import com.google.android.exoplayer2.PlaybackParameters;
import com.google.android.exoplayer2.Player;
import com.google.android.exoplayer2.PlayerMessage;
import com.google.android.exoplayer2.PlayerMessage.Target;
@ -609,27 +608,26 @@ public abstract class Action {
}
}
/** Calls {@link Player#setPlaybackParameters(PlaybackParameters)}. */
public static final class SetPlaybackParameters extends Action {
/** Calls {@link Player#setPlaybackSpeed(float)}. */
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 playbackParameters The playback parameters.
* @param playbackSpeed The playback speed.
*/
public SetPlaybackParameters(String tag, @Nullable PlaybackParameters playbackParameters) {
super(
tag,
"SetPlaybackParameters:"
+ (playbackParameters == null ? "null" : playbackParameters.speed));
this.playbackParameters = playbackParameters;
public SetPlaybackSpeed(String tag, float playbackSpeed) {
super(tag, "SetPlaybackSpeed:" + playbackSpeed);
this.playbackSpeed = playbackSpeed;
}
@Override
protected void doActionImpl(
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 com.google.android.exoplayer2.C;
import com.google.android.exoplayer2.ExoPlaybackException;
import com.google.android.exoplayer2.PlaybackParameters;
import com.google.android.exoplayer2.Player;
import com.google.android.exoplayer2.PlayerMessage;
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.SetAudioAttributes;
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.SetRepeatMode;
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.
* @see Player#setPlaybackParameters(PlaybackParameters)
* @see Player#setPlaybackSpeed(float)
*/
public Builder setPlaybackParameters(PlaybackParameters playbackParameters) {
return apply(new SetPlaybackParameters(tag, playbackParameters));
public Builder setPlaybackSpeed(float playbackSpeed) {
return apply(new SetPlaybackSpeed(tag, playbackSpeed));
}
/**