Commit bc0f3935 by kimvde Committed by Oliver Woodman

Re-order seekBack and seekForward in Player

This is more consistent with other Player methods like previous and
next.

PiperOrigin-RevId: 383832298
parent 699579fd
......@@ -4,8 +4,8 @@
* Core Library:
* Add `needsReconfiguration` API to the `MediaCodecAdapter` interface.
* Add `getSeekForwardIncrement`, `seekForward`, `getSeekBackIncrement`
and `seekBack` methods to `Player`.
* Add `getSeekBackIncrement`, `seekBack`, `getSeekForwardIncrement` and
`seekForward` methods to `Player`.
* Add `getMaxSeekToPreviousPosition`, `seekToPrevious` and `seekToNext`
methods to `Player`.
* Rename `Player` commands `COMMAND_SEEK_IN_CURRENT_MEDIA_ITEM`,
......
......@@ -115,8 +115,8 @@ public final class CastPlayer extends BasePlayer {
private final CastContext castContext;
private final MediaItemConverter mediaItemConverter;
private final long seekForwardIncrementMs;
private final long seekBackIncrementMs;
private final long seekForwardIncrementMs;
// TODO: Allow custom implementations of CastTimelineTracker.
private final CastTimelineTracker timelineTracker;
private final Timeline.Period period;
......@@ -151,8 +151,8 @@ public final class CastPlayer extends BasePlayer {
* <p>The returned player uses a {@link DefaultMediaItemConverter} and
*
* <p>{@code mediaItemConverter} is set to a {@link DefaultMediaItemConverter}, {@code
* seekForwardIncrementMs} is set to {@link C#DEFAULT_SEEK_FORWARD_INCREMENT_MS} and {@code
* seekBackIncrementMs} is set to {@link C#DEFAULT_SEEK_BACK_INCREMENT_MS}.
* seekBackIncrementMs} is set to {@link C#DEFAULT_SEEK_BACK_INCREMENT_MS} and {@code
* seekForwardIncrementMs} is set to {@link C#DEFAULT_SEEK_FORWARD_INCREMENT_MS}.
*
* @param castContext The context from which the cast session is obtained.
*/
......@@ -163,8 +163,8 @@ public final class CastPlayer extends BasePlayer {
/**
* Creates a new cast player.
*
* <p>{@code seekForwardIncrementMs} is set to {@link C#DEFAULT_SEEK_FORWARD_INCREMENT_MS} and
* {@code seekBackIncrementMs} is set to {@link C#DEFAULT_SEEK_BACK_INCREMENT_MS}.
* <p>{@code seekBackIncrementMs} is set to {@link C#DEFAULT_SEEK_BACK_INCREMENT_MS} and {@code
* seekForwardIncrementMs} is set to {@link C#DEFAULT_SEEK_FORWARD_INCREMENT_MS}.
*
* @param castContext The context from which the cast session is obtained.
* @param mediaItemConverter The {@link MediaItemConverter} to use.
......@@ -173,8 +173,8 @@ public final class CastPlayer extends BasePlayer {
this(
castContext,
mediaItemConverter,
C.DEFAULT_SEEK_FORWARD_INCREMENT_MS,
C.DEFAULT_SEEK_BACK_INCREMENT_MS);
C.DEFAULT_SEEK_BACK_INCREMENT_MS,
C.DEFAULT_SEEK_FORWARD_INCREMENT_MS);
}
/**
......@@ -182,21 +182,21 @@ public final class CastPlayer extends BasePlayer {
*
* @param castContext The context from which the cast session is obtained.
* @param mediaItemConverter The {@link MediaItemConverter} to use.
* @param seekForwardIncrementMs The {@link #seekForward()} increment, in milliseconds.
* @param seekBackIncrementMs The {@link #seekBack()} increment, in milliseconds.
* @throws IllegalArgumentException If {@code seekForwardIncrementMs} or {@code
* seekBackIncrementMs} is non-positive.
* @param seekForwardIncrementMs The {@link #seekForward()} increment, in milliseconds.
* @throws IllegalArgumentException If {@code seekBackIncrementMs} or {@code
* seekForwardIncrementMs} is non-positive.
*/
public CastPlayer(
CastContext castContext,
MediaItemConverter mediaItemConverter,
long seekForwardIncrementMs,
long seekBackIncrementMs) {
checkArgument(seekForwardIncrementMs > 0 && seekBackIncrementMs > 0);
long seekBackIncrementMs,
long seekForwardIncrementMs) {
checkArgument(seekBackIncrementMs > 0 && seekForwardIncrementMs > 0);
this.castContext = castContext;
this.mediaItemConverter = mediaItemConverter;
this.seekForwardIncrementMs = seekForwardIncrementMs;
this.seekBackIncrementMs = seekBackIncrementMs;
this.seekForwardIncrementMs = seekForwardIncrementMs;
timelineTracker = new CastTimelineTracker();
period = new Timeline.Period();
statusListener = new StatusListener();
......@@ -449,13 +449,13 @@ public final class CastPlayer extends BasePlayer {
}
@Override
public long getSeekForwardIncrement() {
return seekForwardIncrementMs;
public long getSeekBackIncrement() {
return seekBackIncrementMs;
}
@Override
public long getSeekBackIncrement() {
return seekBackIncrementMs;
public long getSeekForwardIncrement() {
return seekForwardIncrementMs;
}
@Override
......
......@@ -1104,19 +1104,19 @@ public class CastPlayerTest {
@Test
@SuppressWarnings("deprecation") // Mocks deprecated method used by the CastPlayer.
public void seekForward_notifiesPositionDiscontinuity() {
public void seekBack_notifiesPositionDiscontinuity() {
when(mockRemoteMediaClient.seek(anyLong())).thenReturn(mockPendingResult);
int[] mediaQueueItemIds = new int[] {1};
List<MediaItem> mediaItems = createMediaItems(mediaQueueItemIds);
int currentItemId = 1;
int[] streamTypes = new int[] {MediaInfo.STREAM_TYPE_BUFFERED};
long[] durationsMs = new long[] {2 * C.DEFAULT_SEEK_FORWARD_INCREMENT_MS};
long positionMs = 0;
long[] durationsMs = new long[] {3 * C.DEFAULT_SEEK_BACK_INCREMENT_MS};
long positionMs = 2 * C.DEFAULT_SEEK_BACK_INCREMENT_MS;
castPlayer.addMediaItems(mediaItems);
updateTimeLine(
mediaItems, mediaQueueItemIds, currentItemId, streamTypes, durationsMs, positionMs);
castPlayer.seekForward();
castPlayer.seekBack();
Player.PositionInfo oldPosition =
new Player.PositionInfo(
......@@ -1124,8 +1124,8 @@ public class CastPlayerTest {
/* windowIndex= */ 0,
/* periodUid= */ 1,
/* periodIndex= */ 0,
/* positionMs= */ 0,
/* contentPositionMs= */ 0,
/* positionMs= */ 2 * C.DEFAULT_SEEK_BACK_INCREMENT_MS,
/* contentPositionMs= */ 2 * C.DEFAULT_SEEK_BACK_INCREMENT_MS,
/* adGroupIndex= */ C.INDEX_UNSET,
/* adIndexInAdGroup= */ C.INDEX_UNSET);
Player.PositionInfo newPosition =
......@@ -1134,8 +1134,8 @@ public class CastPlayerTest {
/* windowIndex= */ 0,
/* periodUid= */ 1,
/* periodIndex= */ 0,
/* positionMs= */ C.DEFAULT_SEEK_FORWARD_INCREMENT_MS,
/* contentPositionMs= */ C.DEFAULT_SEEK_FORWARD_INCREMENT_MS,
/* positionMs= */ C.DEFAULT_SEEK_BACK_INCREMENT_MS,
/* contentPositionMs= */ C.DEFAULT_SEEK_BACK_INCREMENT_MS,
/* adGroupIndex= */ C.INDEX_UNSET,
/* adIndexInAdGroup= */ C.INDEX_UNSET);
InOrder inOrder = Mockito.inOrder(mockListener);
......@@ -1150,19 +1150,19 @@ public class CastPlayerTest {
@Test
@SuppressWarnings("deprecation") // Mocks deprecated method used by the CastPlayer.
public void seekBack_notifiesPositionDiscontinuity() {
public void seekForward_notifiesPositionDiscontinuity() {
when(mockRemoteMediaClient.seek(anyLong())).thenReturn(mockPendingResult);
int[] mediaQueueItemIds = new int[] {1};
List<MediaItem> mediaItems = createMediaItems(mediaQueueItemIds);
int currentItemId = 1;
int[] streamTypes = new int[] {MediaInfo.STREAM_TYPE_BUFFERED};
long[] durationsMs = new long[] {3 * C.DEFAULT_SEEK_BACK_INCREMENT_MS};
long positionMs = 2 * C.DEFAULT_SEEK_BACK_INCREMENT_MS;
long[] durationsMs = new long[] {2 * C.DEFAULT_SEEK_FORWARD_INCREMENT_MS};
long positionMs = 0;
castPlayer.addMediaItems(mediaItems);
updateTimeLine(
mediaItems, mediaQueueItemIds, currentItemId, streamTypes, durationsMs, positionMs);
castPlayer.seekBack();
castPlayer.seekForward();
Player.PositionInfo oldPosition =
new Player.PositionInfo(
......@@ -1170,8 +1170,8 @@ public class CastPlayerTest {
/* windowIndex= */ 0,
/* periodUid= */ 1,
/* periodIndex= */ 0,
/* positionMs= */ 2 * C.DEFAULT_SEEK_BACK_INCREMENT_MS,
/* contentPositionMs= */ 2 * C.DEFAULT_SEEK_BACK_INCREMENT_MS,
/* positionMs= */ 0,
/* contentPositionMs= */ 0,
/* adGroupIndex= */ C.INDEX_UNSET,
/* adIndexInAdGroup= */ C.INDEX_UNSET);
Player.PositionInfo newPosition =
......@@ -1180,8 +1180,8 @@ public class CastPlayerTest {
/* windowIndex= */ 0,
/* periodUid= */ 1,
/* periodIndex= */ 0,
/* positionMs= */ C.DEFAULT_SEEK_BACK_INCREMENT_MS,
/* contentPositionMs= */ C.DEFAULT_SEEK_BACK_INCREMENT_MS,
/* positionMs= */ C.DEFAULT_SEEK_FORWARD_INCREMENT_MS,
/* contentPositionMs= */ C.DEFAULT_SEEK_FORWARD_INCREMENT_MS,
/* adGroupIndex= */ C.INDEX_UNSET,
/* adIndexInAdGroup= */ C.INDEX_UNSET);
InOrder inOrder = Mockito.inOrder(mockListener);
......@@ -1209,8 +1209,8 @@ public class CastPlayerTest {
assertThat(castPlayer.isCommandAvailable(COMMAND_SEEK_TO_NEXT_WINDOW)).isTrue();
assertThat(castPlayer.isCommandAvailable(COMMAND_SEEK_TO_PREVIOUS_WINDOW)).isFalse();
assertThat(castPlayer.isCommandAvailable(COMMAND_SEEK_TO_WINDOW)).isTrue();
assertThat(castPlayer.isCommandAvailable(COMMAND_SEEK_FORWARD)).isTrue();
assertThat(castPlayer.isCommandAvailable(COMMAND_SEEK_BACK)).isTrue();
assertThat(castPlayer.isCommandAvailable(COMMAND_SEEK_FORWARD)).isTrue();
assertThat(castPlayer.isCommandAvailable(COMMAND_SET_SPEED_AND_PITCH)).isFalse();
assertThat(castPlayer.isCommandAvailable(COMMAND_SET_SHUFFLE_MODE)).isFalse();
assertThat(castPlayer.isCommandAvailable(COMMAND_SET_REPEAT_MODE)).isTrue();
......@@ -1247,8 +1247,8 @@ public class CastPlayerTest {
/* positionMs= */ C.TIME_UNSET);
assertThat(castPlayer.isCommandAvailable(COMMAND_SEEK_IN_CURRENT_WINDOW)).isFalse();
assertThat(castPlayer.isCommandAvailable(COMMAND_SEEK_FORWARD)).isFalse();
assertThat(castPlayer.isCommandAvailable(COMMAND_SEEK_BACK)).isFalse();
assertThat(castPlayer.isCommandAvailable(COMMAND_SEEK_FORWARD)).isFalse();
}
@Test
......@@ -1661,8 +1661,8 @@ public class CastPlayerTest {
Player.Commands.Builder builder = new Player.Commands.Builder();
builder.addAll(CastPlayer.PERMANENT_AVAILABLE_COMMANDS);
builder.add(COMMAND_SEEK_IN_CURRENT_WINDOW);
builder.add(COMMAND_SEEK_FORWARD);
builder.add(COMMAND_SEEK_BACK);
builder.add(COMMAND_SEEK_FORWARD);
builder.addAll(additionalCommands);
return builder.build();
}
......
......@@ -122,13 +122,13 @@ public abstract class BasePlayer implements Player {
}
@Override
public final void seekForward() {
seekToOffset(getSeekForwardIncrement());
public final void seekBack() {
seekToOffset(-getSeekBackIncrement());
}
@Override
public final void seekBack() {
seekToOffset(-getSeekBackIncrement());
public final void seekForward() {
seekToOffset(getSeekForwardIncrement());
}
@Override
......@@ -298,8 +298,8 @@ public abstract class BasePlayer implements Player {
.addIf(COMMAND_SEEK_TO_NEXT_WINDOW, hasNext() && !isPlayingAd())
.addIf(COMMAND_SEEK_TO_PREVIOUS_WINDOW, hasPrevious() && !isPlayingAd())
.addIf(COMMAND_SEEK_TO_WINDOW, !isPlayingAd())
.addIf(COMMAND_SEEK_FORWARD, isCurrentWindowSeekable() && !isPlayingAd())
.addIf(COMMAND_SEEK_BACK, isCurrentWindowSeekable() && !isPlayingAd())
.addIf(COMMAND_SEEK_FORWARD, isCurrentWindowSeekable() && !isPlayingAd())
.build();
}
......
......@@ -646,10 +646,10 @@ public final class C {
/** A default size in bytes for an individual allocation that forms part of a larger buffer. */
public static final int DEFAULT_BUFFER_SEGMENT_SIZE = 64 * 1024;
/** A default seek forward increment, in milliseconds. */
public static final long DEFAULT_SEEK_FORWARD_INCREMENT_MS = 15_000;
/** A default seek back increment, in milliseconds. */
public static final long DEFAULT_SEEK_BACK_INCREMENT_MS = 5000;
/** A default seek forward increment, in milliseconds. */
public static final long DEFAULT_SEEK_FORWARD_INCREMENT_MS = 15_000;
/**
* A default maximum position for which a seek to previous will seek to the previous window, in
......
......@@ -248,23 +248,23 @@ public class ForwardingPlayer implements Player {
}
@Override
public long getSeekForwardIncrement() {
return player.getSeekForwardIncrement();
public long getSeekBackIncrement() {
return player.getSeekBackIncrement();
}
@Override
public void seekForward() {
player.seekForward();
public void seekBack() {
player.seekBack();
}
@Override
public long getSeekBackIncrement() {
return player.getSeekBackIncrement();
public long getSeekForwardIncrement() {
return player.getSeekForwardIncrement();
}
@Override
public void seekBack() {
player.seekBack();
public void seekForward() {
player.seekForward();
}
@Override
......@@ -712,13 +712,13 @@ public class ForwardingPlayer implements Player {
}
@Override
public void onSeekForwardIncrementChanged(long seekForwardIncrementMs) {
eventListener.onSeekForwardIncrementChanged(seekForwardIncrementMs);
public void onSeekBackIncrementChanged(long seekBackIncrementMs) {
eventListener.onSeekBackIncrementChanged(seekBackIncrementMs);
}
@Override
public void onSeekBackIncrementChanged(long seekBackIncrementMs) {
eventListener.onSeekBackIncrementChanged(seekBackIncrementMs);
public void onSeekForwardIncrementChanged(long seekForwardIncrementMs) {
eventListener.onSeekForwardIncrementChanged(seekForwardIncrementMs);
}
@Override
......
......@@ -323,24 +323,24 @@ public interface Player {
default void onPlaybackParametersChanged(PlaybackParameters playbackParameters) {}
/**
* Called when the value of {@link #getSeekForwardIncrement()} changes.
* Called when the value of {@link #getSeekBackIncrement()} changes.
*
* <p>{@link #onEvents(Player, Events)} will also be called to report this event along with
* other events that happen in the same {@link Looper} message queue iteration.
*
* @param seekForwardIncrementMs The {@link #seekForward()} increment, in milliseconds.
* @param seekBackIncrementMs The {@link #seekBack()} increment, in milliseconds.
*/
default void onSeekForwardIncrementChanged(long seekForwardIncrementMs) {}
default void onSeekBackIncrementChanged(long seekBackIncrementMs) {}
/**
* Called when the value of {@link #getSeekBackIncrement()} changes.
* Called when the value of {@link #getSeekForwardIncrement()} changes.
*
* <p>{@link #onEvents(Player, Events)} will also be called to report this event along with
* other events that happen in the same {@link Looper} message queue iteration.
*
* @param seekBackIncrementMs The {@link #seekBack()} increment, in milliseconds.
* @param seekForwardIncrementMs The {@link #seekForward()} increment, in milliseconds.
*/
default void onSeekBackIncrementChanged(long seekBackIncrementMs) {}
default void onSeekForwardIncrementChanged(long seekForwardIncrementMs) {}
/**
* Called when the value of {@link #getMaxSeekToPreviousPosition()} changes.
......@@ -640,8 +640,8 @@ public interface Player {
COMMAND_SEEK_TO_NEXT_WINDOW,
COMMAND_SEEK_TO_PREVIOUS_WINDOW,
COMMAND_SEEK_TO_WINDOW,
COMMAND_SEEK_FORWARD,
COMMAND_SEEK_BACK,
COMMAND_SEEK_FORWARD,
COMMAND_SET_SPEED_AND_PITCH,
COMMAND_SET_SHUFFLE_MODE,
COMMAND_SET_REPEAT_MODE,
......@@ -1106,8 +1106,8 @@ public interface Player {
EVENT_AVAILABLE_COMMANDS_CHANGED,
EVENT_MEDIA_METADATA_CHANGED,
EVENT_PLAYLIST_METADATA_CHANGED,
EVENT_SEEK_FORWARD_INCREMENT_CHANGED,
EVENT_SEEK_BACK_INCREMENT_CHANGED,
EVENT_SEEK_FORWARD_INCREMENT_CHANGED,
EVENT_MAX_SEEK_TO_PREVIOUS_POSITION_CHANGED
})
@interface Event {}
......@@ -1148,10 +1148,10 @@ public interface Player {
int EVENT_MEDIA_METADATA_CHANGED = 15;
/** {@link #getPlaylistMetadata()} changed. */
int EVENT_PLAYLIST_METADATA_CHANGED = 16;
/** {@link #getSeekForwardIncrement()} changed. */
int EVENT_SEEK_FORWARD_INCREMENT_CHANGED = 17;
/** {@link #getSeekBackIncrement()} changed. */
int EVENT_SEEK_BACK_INCREMENT_CHANGED = 18;
int EVENT_SEEK_BACK_INCREMENT_CHANGED = 17;
/** {@link #getSeekForwardIncrement()} changed. */
int EVENT_SEEK_FORWARD_INCREMENT_CHANGED = 18;
/** {@link #getMaxSeekToPreviousPosition()} changed. */
int EVENT_MAX_SEEK_TO_PREVIOUS_POSITION_CHANGED = 19;
......@@ -1159,9 +1159,9 @@ public interface Player {
* Commands that can be executed on a {@code Player}. One of {@link #COMMAND_PLAY_PAUSE}, {@link
* #COMMAND_PREPARE_STOP}, {@link #COMMAND_SEEK_TO_DEFAULT_POSITION}, {@link
* #COMMAND_SEEK_IN_CURRENT_WINDOW}, {@link #COMMAND_SEEK_TO_NEXT_WINDOW}, {@link
* #COMMAND_SEEK_TO_PREVIOUS_WINDOW}, {@link #COMMAND_SEEK_TO_WINDOW}, {@link
* #COMMAND_SEEK_FORWARD}, {@link #COMMAND_SEEK_BACK}, {@link #COMMAND_SET_SPEED_AND_PITCH},
* {@link #COMMAND_SET_SHUFFLE_MODE}, {@link #COMMAND_SET_REPEAT_MODE}, {@link
* #COMMAND_SEEK_TO_PREVIOUS_WINDOW}, {@link #COMMAND_SEEK_TO_WINDOW}, {@link #COMMAND_SEEK_BACK},
* {@link #COMMAND_SEEK_FORWARD}, {@link #COMMAND_SET_SPEED_AND_PITCH}, {@link
* #COMMAND_SET_SHUFFLE_MODE}, {@link #COMMAND_SET_REPEAT_MODE}, {@link
* #COMMAND_GET_CURRENT_MEDIA_ITEM}, {@link #COMMAND_GET_MEDIA_ITEMS}, {@link
* #COMMAND_GET_MEDIA_ITEMS_METADATA}, {@link #COMMAND_SET_MEDIA_ITEMS_METADATA}, {@link
* #COMMAND_CHANGE_MEDIA_ITEMS}, {@link #COMMAND_GET_AUDIO_ATTRIBUTES}, {@link
......@@ -1180,8 +1180,8 @@ public interface Player {
COMMAND_SEEK_TO_NEXT_WINDOW,
COMMAND_SEEK_TO_PREVIOUS_WINDOW,
COMMAND_SEEK_TO_WINDOW,
COMMAND_SEEK_FORWARD,
COMMAND_SEEK_BACK,
COMMAND_SEEK_FORWARD,
COMMAND_SET_SPEED_AND_PITCH,
COMMAND_SET_SHUFFLE_MODE,
COMMAND_SET_REPEAT_MODE,
......@@ -1214,10 +1214,10 @@ public interface Player {
int COMMAND_SEEK_TO_PREVIOUS_WINDOW = 6;
/** Command to seek anywhere in any window. */
int COMMAND_SEEK_TO_WINDOW = 7;
/** Command to seek forward into the current window. */
int COMMAND_SEEK_FORWARD = 8;
/** Command to seek back into the current window. */
int COMMAND_SEEK_BACK = 9;
int COMMAND_SEEK_BACK = 8;
/** Command to seek forward into the current window. */
int COMMAND_SEEK_FORWARD = 9;
/** Command to set the playback speed and pitch. */
int COMMAND_SET_SPEED_AND_PITCH = 10;
/** Command to enable shuffling. */
......@@ -1624,17 +1624,6 @@ public interface Player {
void seekTo(int windowIndex, long positionMs);
/**
* Returns the {@link #seekForward()} increment.
*
* @return The seek forward increment, in milliseconds.
* @see Listener#onSeekForwardIncrementChanged(long)
*/
long getSeekForwardIncrement();
/** Seeks forward in the current window by {@link #getSeekForwardIncrement()} milliseconds. */
void seekForward();
/**
* Returns the {@link #seekBack()} increment.
*
* @return The seek back increment, in milliseconds.
......@@ -1646,6 +1635,17 @@ public interface Player {
void seekBack();
/**
* Returns the {@link #seekForward()} increment.
*
* @return The seek forward increment, in milliseconds.
* @see Listener#onSeekForwardIncrementChanged(long)
*/
long getSeekForwardIncrement();
/** Seeks forward in the current window by {@link #getSeekForwardIncrement()} milliseconds. */
void seekForward();
/**
* Returns whether a previous window exists, which may depend on the current repeat mode and
* whether shuffle mode is enabled.
*
......
......@@ -828,8 +828,8 @@ public interface ExoPlayer extends Player {
analyticsCollector,
useLazyPreparation,
seekParameters,
C.DEFAULT_SEEK_FORWARD_INCREMENT_MS,
C.DEFAULT_SEEK_BACK_INCREMENT_MS,
C.DEFAULT_SEEK_FORWARD_INCREMENT_MS,
livePlaybackSpeedControl,
releaseTimeoutMs,
pauseAtEndOfMediaItems,
......
......@@ -88,8 +88,8 @@ import java.util.concurrent.CopyOnWriteArraySet;
@Nullable private final AnalyticsCollector analyticsCollector;
private final Looper applicationLooper;
private final BandwidthMeter bandwidthMeter;
private final long seekForwardIncrementMs;
private final long seekBackIncrementMs;
private final long seekForwardIncrementMs;
private final Clock clock;
@RepeatMode private int repeatMode;
......@@ -127,8 +127,8 @@ import java.util.concurrent.CopyOnWriteArraySet;
* loads and other initial preparation steps happen immediately. If true, these initial
* preparations are triggered only when the player starts buffering the media.
* @param seekParameters The {@link SeekParameters}.
* @param seekForwardIncrementMs The {@link #seekForward()} increment in milliseconds.
* @param seekBackIncrementMs The {@link #seekBack()} increment in milliseconds.
* @param seekForwardIncrementMs The {@link #seekForward()} increment in milliseconds.
* @param livePlaybackSpeedControl The {@link LivePlaybackSpeedControl}.
* @param releaseTimeoutMs The timeout for calls to {@link #release()} in milliseconds.
* @param pauseAtEndOfMediaItems Whether to pause playback at the end of each media item.
......@@ -150,8 +150,8 @@ import java.util.concurrent.CopyOnWriteArraySet;
@Nullable AnalyticsCollector analyticsCollector,
boolean useLazyPreparation,
SeekParameters seekParameters,
long seekForwardIncrementMs,
long seekBackIncrementMs,
long seekForwardIncrementMs,
LivePlaybackSpeedControl livePlaybackSpeedControl,
long releaseTimeoutMs,
boolean pauseAtEndOfMediaItems,
......@@ -176,8 +176,8 @@ import java.util.concurrent.CopyOnWriteArraySet;
this.analyticsCollector = analyticsCollector;
this.useLazyPreparation = useLazyPreparation;
this.seekParameters = seekParameters;
this.seekForwardIncrementMs = seekForwardIncrementMs;
this.seekBackIncrementMs = seekBackIncrementMs;
this.seekForwardIncrementMs = seekForwardIncrementMs;
this.pauseAtEndOfMediaItems = pauseAtEndOfMediaItems;
this.applicationLooper = applicationLooper;
this.clock = clock;
......@@ -721,13 +721,13 @@ import java.util.concurrent.CopyOnWriteArraySet;
}
@Override
public long getSeekForwardIncrement() {
return seekForwardIncrementMs;
public long getSeekBackIncrement() {
return seekBackIncrementMs;
}
@Override
public long getSeekBackIncrement() {
return seekBackIncrementMs;
public long getSeekForwardIncrement() {
return seekForwardIncrementMs;
}
@Override
......
......@@ -129,8 +129,8 @@ public class SimpleExoPlayer extends BasePlayer
@C.VideoScalingMode private int videoScalingMode;
private boolean useLazyPreparation;
private SeekParameters seekParameters;
private long seekForwardIncrementMs;
private long seekBackIncrementMs;
private long seekForwardIncrementMs;
private LivePlaybackSpeedControl livePlaybackSpeedControl;
private long releaseTimeoutMs;
private long detachSurfaceTimeoutMs;
......@@ -167,8 +167,8 @@ public class SimpleExoPlayer extends BasePlayer
* <li>{@link C.VideoScalingMode}: {@link C#VIDEO_SCALING_MODE_DEFAULT}
* <li>{@code useLazyPreparation}: {@code true}
* <li>{@link SeekParameters}: {@link SeekParameters#DEFAULT}
* <li>{@code seekForwardIncrementMs}: {@link C#DEFAULT_SEEK_FORWARD_INCREMENT_MS}
* <li>{@code seekBackIncrementMs}: {@link C#DEFAULT_SEEK_BACK_INCREMENT_MS}
* <li>{@code seekForwardIncrementMs}: {@link C#DEFAULT_SEEK_FORWARD_INCREMENT_MS}
* <li>{@code releaseTimeoutMs}: {@link ExoPlayer#DEFAULT_RELEASE_TIMEOUT_MS}
* <li>{@code detachSurfaceTimeoutMs}: {@link #DEFAULT_DETACH_SURFACE_TIMEOUT_MS}
* <li>{@code pauseAtEndOfMediaItems}: {@code false}
......@@ -266,8 +266,8 @@ public class SimpleExoPlayer extends BasePlayer
videoScalingMode = C.VIDEO_SCALING_MODE_DEFAULT;
useLazyPreparation = true;
seekParameters = SeekParameters.DEFAULT;
seekForwardIncrementMs = C.DEFAULT_SEEK_FORWARD_INCREMENT_MS;
seekBackIncrementMs = C.DEFAULT_SEEK_BACK_INCREMENT_MS;
seekForwardIncrementMs = C.DEFAULT_SEEK_FORWARD_INCREMENT_MS;
livePlaybackSpeedControl = new DefaultLivePlaybackSpeedControl.Builder().build();
clock = Clock.DEFAULT;
releaseTimeoutMs = ExoPlayer.DEFAULT_RELEASE_TIMEOUT_MS;
......@@ -504,32 +504,32 @@ public class SimpleExoPlayer extends BasePlayer
}
/**
* Sets the {@link #seekForward()} increment.
* Sets the {@link #seekBack()} increment.
*
* @param seekForwardIncrementMs The seek forward increment, in milliseconds.
* @param seekBackIncrementMs The seek back increment, in milliseconds.
* @return This builder.
* @throws IllegalArgumentException If {@code seekForwardIncrementMs} is non-positive.
* @throws IllegalArgumentException If {@code seekBackIncrementMs} is non-positive.
* @throws IllegalStateException If {@link #build()} has already been called.
*/
public Builder setSeekForwardIncrementMs(@IntRange(from = 1) long seekForwardIncrementMs) {
checkArgument(seekForwardIncrementMs > 0);
public Builder setSeekBackIncrementMs(@IntRange(from = 1) long seekBackIncrementMs) {
checkArgument(seekBackIncrementMs > 0);
Assertions.checkState(!buildCalled);
this.seekForwardIncrementMs = seekForwardIncrementMs;
this.seekBackIncrementMs = seekBackIncrementMs;
return this;
}
/**
* Sets the {@link #seekBack()} increment.
* Sets the {@link #seekForward()} increment.
*
* @param seekBackIncrementMs The seek back increment, in milliseconds.
* @param seekForwardIncrementMs The seek forward increment, in milliseconds.
* @return This builder.
* @throws IllegalArgumentException If {@code seekBackIncrementMs} is non-positive.
* @throws IllegalArgumentException If {@code seekForwardIncrementMs} is non-positive.
* @throws IllegalStateException If {@link #build()} has already been called.
*/
public Builder setSeekBackIncrementMs(@IntRange(from = 1) long seekBackIncrementMs) {
checkArgument(seekBackIncrementMs > 0);
public Builder setSeekForwardIncrementMs(@IntRange(from = 1) long seekForwardIncrementMs) {
checkArgument(seekForwardIncrementMs > 0);
Assertions.checkState(!buildCalled);
this.seekBackIncrementMs = seekBackIncrementMs;
this.seekForwardIncrementMs = seekForwardIncrementMs;
return this;
}
......@@ -762,8 +762,8 @@ public class SimpleExoPlayer extends BasePlayer
analyticsCollector,
builder.useLazyPreparation,
builder.seekParameters,
builder.seekForwardIncrementMs,
builder.seekBackIncrementMs,
builder.seekForwardIncrementMs,
builder.livePlaybackSpeedControl,
builder.releaseTimeoutMs,
builder.pauseAtEndOfMediaItems,
......@@ -1603,15 +1603,15 @@ public class SimpleExoPlayer extends BasePlayer
}
@Override
public long getSeekForwardIncrement() {
public long getSeekBackIncrement() {
verifyApplicationThread();
return player.getSeekForwardIncrement();
return player.getSeekBackIncrement();
}
@Override
public long getSeekBackIncrement() {
public long getSeekForwardIncrement() {
verifyApplicationThread();
return player.getSeekBackIncrement();
return player.getSeekForwardIncrement();
}
@Override
......
......@@ -743,21 +743,21 @@ public class AnalyticsCollector
}
@Override
public void onSeekForwardIncrementChanged(long seekForwardIncrementMs) {
public void onSeekBackIncrementChanged(long seekBackIncrementMs) {
EventTime eventTime = generateCurrentPlayerMediaPeriodEventTime();
sendEvent(
eventTime,
AnalyticsListener.EVENT_SEEK_FORWARD_INCREMENT_CHANGED,
listener -> listener.onSeekForwardIncrementChanged(eventTime, seekForwardIncrementMs));
AnalyticsListener.EVENT_SEEK_BACK_INCREMENT_CHANGED,
listener -> listener.onSeekBackIncrementChanged(eventTime, seekBackIncrementMs));
}
@Override
public void onSeekBackIncrementChanged(long seekBackIncrementMs) {
public void onSeekForwardIncrementChanged(long seekForwardIncrementMs) {
EventTime eventTime = generateCurrentPlayerMediaPeriodEventTime();
sendEvent(
eventTime,
AnalyticsListener.EVENT_SEEK_BACK_INCREMENT_CHANGED,
listener -> listener.onSeekBackIncrementChanged(eventTime, seekBackIncrementMs));
AnalyticsListener.EVENT_SEEK_FORWARD_INCREMENT_CHANGED,
listener -> listener.onSeekForwardIncrementChanged(eventTime, seekForwardIncrementMs));
}
@Override
......
......@@ -172,8 +172,8 @@ public interface AnalyticsListener {
EVENT_AVAILABLE_COMMANDS_CHANGED,
EVENT_MEDIA_METADATA_CHANGED,
EVENT_PLAYLIST_METADATA_CHANGED,
EVENT_SEEK_FORWARD_INCREMENT_CHANGED,
EVENT_SEEK_BACK_INCREMENT_CHANGED,
EVENT_SEEK_FORWARD_INCREMENT_CHANGED,
EVENT_LOAD_STARTED,
EVENT_LOAD_COMPLETED,
EVENT_LOAD_CANCELED,
......@@ -256,10 +256,10 @@ public interface AnalyticsListener {
int EVENT_MEDIA_METADATA_CHANGED = Player.EVENT_MEDIA_METADATA_CHANGED;
/** {@link Player#getPlaylistMetadata()} changed. */
int EVENT_PLAYLIST_METADATA_CHANGED = Player.EVENT_PLAYLIST_METADATA_CHANGED;
/** {@link Player#getSeekForwardIncrement()} changed. */
int EVENT_SEEK_FORWARD_INCREMENT_CHANGED = Player.EVENT_SEEK_FORWARD_INCREMENT_CHANGED;
/** {@link Player#getSeekBackIncrement()} changed. */
int EVENT_SEEK_BACK_INCREMENT_CHANGED = Player.EVENT_SEEK_BACK_INCREMENT_CHANGED;
/** {@link Player#getSeekForwardIncrement()} changed. */
int EVENT_SEEK_FORWARD_INCREMENT_CHANGED = Player.EVENT_SEEK_FORWARD_INCREMENT_CHANGED;
/** {@link Player#getMaxSeekToPreviousPosition()} changed. */
int EVENT_MAX_SEEK_TO_PREVIOUS_POSITION_CHANGED =
Player.EVENT_MAX_SEEK_TO_PREVIOUS_POSITION_CHANGED;
......@@ -599,20 +599,20 @@ public interface AnalyticsListener {
EventTime eventTime, PlaybackParameters playbackParameters) {}
/**
* Called when the seek forward increment changed.
* Called when the seek back increment changed.
*
* @param eventTime The event time.
* @param seekForwardIncrementMs The seek forward increment, in milliseconds.
* @param seekBackIncrementMs The seek back increment, in milliseconds.
*/
default void onSeekForwardIncrementChanged(EventTime eventTime, long seekForwardIncrementMs) {}
default void onSeekBackIncrementChanged(EventTime eventTime, long seekBackIncrementMs) {}
/**
* Called when the seek back increment changed.
* Called when the seek forward increment changed.
*
* @param eventTime The event time.
* @param seekBackIncrementMs The seek back increment, in milliseconds.
* @param seekForwardIncrementMs The seek forward increment, in milliseconds.
*/
default void onSeekBackIncrementChanged(EventTime eventTime, long seekBackIncrementMs) {}
default void onSeekForwardIncrementChanged(EventTime eventTime, long seekForwardIncrementMs) {}
/**
* Called when the maximum position for which {@link Player#seekToPrevious()} seeks to the
......
......@@ -300,12 +300,12 @@ public class StubExoPlayer extends BasePlayer implements ExoPlayer {
}
@Override
public long getSeekForwardIncrement() {
public long getSeekBackIncrement() {
throw new UnsupportedOperationException();
}
@Override
public long getSeekBackIncrement() {
public long getSeekForwardIncrement() {
throw new UnsupportedOperationException();
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment