Commit 1051580a by bachinger Committed by Oliver Woodman

Improve naming of the methods of LivePlaybackSpeedControl

PiperOrigin-RevId: 338232327
parent 54506b50
...@@ -181,19 +181,19 @@ public final class DefaultLivePlaybackSpeedControl implements LivePlaybackSpeedC ...@@ -181,19 +181,19 @@ public final class DefaultLivePlaybackSpeedControl implements LivePlaybackSpeedC
} }
@Override @Override
public void updateLiveConfiguration(LiveConfiguration liveConfiguration) { public void setLiveConfiguration(LiveConfiguration liveConfiguration) {
this.mediaConfiguration = liveConfiguration; this.mediaConfiguration = liveConfiguration;
lastPlaybackSpeedUpdateMs = C.TIME_UNSET; lastPlaybackSpeedUpdateMs = C.TIME_UNSET;
} }
@Override @Override
public void overrideTargetLiveOffsetUs(long liveOffsetUs) { public void setTargetLiveOffsetOverrideUs(long liveOffsetUs) {
this.targetLiveOffsetOverrideUs = liveOffsetUs; this.targetLiveOffsetOverrideUs = liveOffsetUs;
lastPlaybackSpeedUpdateMs = C.TIME_UNSET; lastPlaybackSpeedUpdateMs = C.TIME_UNSET;
} }
@Override @Override
public float adjustPlaybackSpeed(long liveOffsetUs) { public float getAdjustedPlaybackSpeed(long liveOffsetUs) {
long targetLiveOffsetUs = getTargetLiveOffsetUs(); long targetLiveOffsetUs = getTargetLiveOffsetUs();
if (targetLiveOffsetUs == C.TIME_UNSET) { if (targetLiveOffsetUs == C.TIME_UNSET) {
return 1f; return 1f;
......
...@@ -870,7 +870,8 @@ import java.util.concurrent.atomic.AtomicBoolean; ...@@ -870,7 +870,8 @@ import java.util.concurrent.atomic.AtomicBoolean;
if (playbackInfo.playWhenReady if (playbackInfo.playWhenReady
&& isCurrentPeriodInMovingLiveWindow() && isCurrentPeriodInMovingLiveWindow()
&& playbackInfo.playbackParameters.speed == 1f) { && playbackInfo.playbackParameters.speed == 1f) {
float adjustedSpeed = livePlaybackSpeedControl.adjustPlaybackSpeed(getCurrentLiveOffsetUs()); float adjustedSpeed =
livePlaybackSpeedControl.getAdjustedPlaybackSpeed(getCurrentLiveOffsetUs());
if (mediaClock.getPlaybackParameters().speed != adjustedSpeed) { if (mediaClock.getPlaybackParameters().speed != adjustedSpeed) {
mediaClock.setPlaybackParameters(playbackInfo.playbackParameters.withSpeed(adjustedSpeed)); mediaClock.setPlaybackParameters(playbackInfo.playbackParameters.withSpeed(adjustedSpeed));
} }
...@@ -1798,9 +1799,9 @@ import java.util.concurrent.atomic.AtomicBoolean; ...@@ -1798,9 +1799,9 @@ import java.util.concurrent.atomic.AtomicBoolean;
} }
int windowIndex = newTimeline.getPeriodByUid(newPeriodId.periodUid, period).windowIndex; int windowIndex = newTimeline.getPeriodByUid(newPeriodId.periodUid, period).windowIndex;
newTimeline.getWindow(windowIndex, window); newTimeline.getWindow(windowIndex, window);
livePlaybackSpeedControl.updateLiveConfiguration(window.mediaItem.liveConfiguration); livePlaybackSpeedControl.setLiveConfiguration(window.mediaItem.liveConfiguration);
if (positionForTargetOffsetOverrideUs != C.TIME_UNSET) { if (positionForTargetOffsetOverrideUs != C.TIME_UNSET) {
livePlaybackSpeedControl.overrideTargetLiveOffsetUs( livePlaybackSpeedControl.setTargetLiveOffsetOverrideUs(
getLiveOffsetUs(newTimeline, newPeriodId.periodUid, positionForTargetOffsetOverrideUs)); getLiveOffsetUs(newTimeline, newPeriodId.periodUid, positionForTargetOffsetOverrideUs));
} else { } else {
Object windowUid = window.uid; Object windowUid = window.uid;
...@@ -1811,7 +1812,7 @@ import java.util.concurrent.atomic.AtomicBoolean; ...@@ -1811,7 +1812,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
} }
if (!Util.areEqual(oldWindowUid, windowUid)) { if (!Util.areEqual(oldWindowUid, windowUid)) {
// Reset overridden target live offset to media values if window changes. // Reset overridden target live offset to media values if window changes.
livePlaybackSpeedControl.overrideTargetLiveOffsetUs(C.TIME_UNSET); livePlaybackSpeedControl.setTargetLiveOffsetOverrideUs(C.TIME_UNSET);
} }
} }
} }
......
...@@ -24,20 +24,21 @@ import com.google.android.exoplayer2.MediaItem.LiveConfiguration; ...@@ -24,20 +24,21 @@ import com.google.android.exoplayer2.MediaItem.LiveConfiguration;
public interface LivePlaybackSpeedControl { public interface LivePlaybackSpeedControl {
/** /**
* Updates the live configuration defined by the media. * Sets the live configuration defined by the media.
* *
* @param liveConfiguration The {@link LiveConfiguration} as defined by the media. * @param liveConfiguration The {@link LiveConfiguration} as defined by the media.
*/ */
void updateLiveConfiguration(LiveConfiguration liveConfiguration); void setLiveConfiguration(LiveConfiguration liveConfiguration);
/** /**
* Overrides the {@link #updateLiveConfiguration configured} target live offset in microseconds, * Sets the target live offset in microseconds that overrides the live offset {@link
* or {@code C.TIME_UNSET} to delete a previous override. * #setLiveConfiguration configured} by the media. Passing {@code C.TIME_UNSET} deletes a previous
* override.
* *
* <p>If no target live offset is configured by {@link #updateLiveConfiguration}, this override * <p>If no target live offset is configured by {@link #setLiveConfiguration}, this override has
* has no effect. * no effect.
*/ */
void overrideTargetLiveOffsetUs(long liveOffsetUs); void setTargetLiveOffsetOverrideUs(long liveOffsetUs);
/** /**
* Returns the adjusted playback speed in order get closer towards the {@link * Returns the adjusted playback speed in order get closer towards the {@link
...@@ -46,7 +47,7 @@ public interface LivePlaybackSpeedControl { ...@@ -46,7 +47,7 @@ public interface LivePlaybackSpeedControl {
* @param liveOffsetUs The current live offset, in microseconds. * @param liveOffsetUs The current live offset, in microseconds.
* @return The adjusted playback speed. * @return The adjusted playback speed.
*/ */
float adjustPlaybackSpeed(long liveOffsetUs); float getAdjustedPlaybackSpeed(long liveOffsetUs);
/** /**
* Returns the current target live offset, in microseconds, or {@link C#TIME_UNSET} if no target * Returns the current target live offset, in microseconds, or {@link C#TIME_UNSET} if no target
......
...@@ -40,7 +40,7 @@ public class DefaultLivePlaybackSpeedControlTest { ...@@ -40,7 +40,7 @@ public class DefaultLivePlaybackSpeedControlTest {
public void getTargetLiveOffsetUs_afterUpdateLiveConfiguration_usesMediaLiveOffset() { public void getTargetLiveOffsetUs_afterUpdateLiveConfiguration_usesMediaLiveOffset() {
DefaultLivePlaybackSpeedControl defaultLivePlaybackSpeedControl = DefaultLivePlaybackSpeedControl defaultLivePlaybackSpeedControl =
new DefaultLivePlaybackSpeedControl.Builder().build(); new DefaultLivePlaybackSpeedControl.Builder().build();
defaultLivePlaybackSpeedControl.updateLiveConfiguration( defaultLivePlaybackSpeedControl.setLiveConfiguration(
new LiveConfiguration( new LiveConfiguration(
/* targetLiveOffsetMs= */ 42, /* minPlaybackSpeed= */ 1f, /* maxPlaybackSpeed= */ 1f)); /* targetLiveOffsetMs= */ 42, /* minPlaybackSpeed= */ 1f, /* maxPlaybackSpeed= */ 1f));
...@@ -52,8 +52,8 @@ public class DefaultLivePlaybackSpeedControlTest { ...@@ -52,8 +52,8 @@ public class DefaultLivePlaybackSpeedControlTest {
DefaultLivePlaybackSpeedControl defaultLivePlaybackSpeedControl = DefaultLivePlaybackSpeedControl defaultLivePlaybackSpeedControl =
new DefaultLivePlaybackSpeedControl.Builder().build(); new DefaultLivePlaybackSpeedControl.Builder().build();
defaultLivePlaybackSpeedControl.overrideTargetLiveOffsetUs(123_456_789); defaultLivePlaybackSpeedControl.setTargetLiveOffsetOverrideUs(123_456_789);
defaultLivePlaybackSpeedControl.updateLiveConfiguration( defaultLivePlaybackSpeedControl.setLiveConfiguration(
new LiveConfiguration( new LiveConfiguration(
/* targetLiveOffsetMs= */ 42, /* minPlaybackSpeed= */ 1f, /* maxPlaybackSpeed= */ 1f)); /* targetLiveOffsetMs= */ 42, /* minPlaybackSpeed= */ 1f, /* maxPlaybackSpeed= */ 1f));
...@@ -67,7 +67,7 @@ public class DefaultLivePlaybackSpeedControlTest { ...@@ -67,7 +67,7 @@ public class DefaultLivePlaybackSpeedControlTest {
getTargetLiveOffsetUs_afterOverrideTargetLiveOffset_withoutMediaConfiguration_returnsUnset() { getTargetLiveOffsetUs_afterOverrideTargetLiveOffset_withoutMediaConfiguration_returnsUnset() {
DefaultLivePlaybackSpeedControl defaultLivePlaybackSpeedControl = DefaultLivePlaybackSpeedControl defaultLivePlaybackSpeedControl =
new DefaultLivePlaybackSpeedControl.Builder().build(); new DefaultLivePlaybackSpeedControl.Builder().build();
defaultLivePlaybackSpeedControl.overrideTargetLiveOffsetUs(123_456_789); defaultLivePlaybackSpeedControl.setTargetLiveOffsetOverrideUs(123_456_789);
long targetLiveOffsetUs = defaultLivePlaybackSpeedControl.getTargetLiveOffsetUs(); long targetLiveOffsetUs = defaultLivePlaybackSpeedControl.getTargetLiveOffsetUs();
...@@ -79,11 +79,11 @@ public class DefaultLivePlaybackSpeedControlTest { ...@@ -79,11 +79,11 @@ public class DefaultLivePlaybackSpeedControlTest {
getTargetLiveOffsetUs_afterOverrideTargetLiveOffsetUsWithTimeUnset_usesMediaLiveOffset() { getTargetLiveOffsetUs_afterOverrideTargetLiveOffsetUsWithTimeUnset_usesMediaLiveOffset() {
DefaultLivePlaybackSpeedControl defaultLivePlaybackSpeedControl = DefaultLivePlaybackSpeedControl defaultLivePlaybackSpeedControl =
new DefaultLivePlaybackSpeedControl.Builder().build(); new DefaultLivePlaybackSpeedControl.Builder().build();
defaultLivePlaybackSpeedControl.overrideTargetLiveOffsetUs(123_456_789); defaultLivePlaybackSpeedControl.setTargetLiveOffsetOverrideUs(123_456_789);
defaultLivePlaybackSpeedControl.updateLiveConfiguration( defaultLivePlaybackSpeedControl.setLiveConfiguration(
new LiveConfiguration( new LiveConfiguration(
/* targetLiveOffsetMs= */ 42, /* minPlaybackSpeed= */ 1f, /* maxPlaybackSpeed= */ 1f)); /* targetLiveOffsetMs= */ 42, /* minPlaybackSpeed= */ 1f, /* maxPlaybackSpeed= */ 1f));
defaultLivePlaybackSpeedControl.overrideTargetLiveOffsetUs(C.TIME_UNSET); defaultLivePlaybackSpeedControl.setTargetLiveOffsetOverrideUs(C.TIME_UNSET);
long targetLiveOffsetUs = defaultLivePlaybackSpeedControl.getTargetLiveOffsetUs(); long targetLiveOffsetUs = defaultLivePlaybackSpeedControl.getTargetLiveOffsetUs();
...@@ -94,14 +94,14 @@ public class DefaultLivePlaybackSpeedControlTest { ...@@ -94,14 +94,14 @@ public class DefaultLivePlaybackSpeedControlTest {
public void adjustPlaybackSpeed_liveOffsetMatchesTargetOffset_returnsUnitSpeed() { public void adjustPlaybackSpeed_liveOffsetMatchesTargetOffset_returnsUnitSpeed() {
DefaultLivePlaybackSpeedControl defaultLivePlaybackSpeedControl = DefaultLivePlaybackSpeedControl defaultLivePlaybackSpeedControl =
new DefaultLivePlaybackSpeedControl.Builder().build(); new DefaultLivePlaybackSpeedControl.Builder().build();
defaultLivePlaybackSpeedControl.updateLiveConfiguration( defaultLivePlaybackSpeedControl.setLiveConfiguration(
new LiveConfiguration( new LiveConfiguration(
/* targetLiveOffsetMs= */ 2_000, /* targetLiveOffsetMs= */ 2_000,
/* minPlaybackSpeed= */ C.RATE_UNSET, /* minPlaybackSpeed= */ C.RATE_UNSET,
/* maxPlaybackSpeed= */ C.RATE_UNSET)); /* maxPlaybackSpeed= */ C.RATE_UNSET));
float adjustedSpeed = float adjustedSpeed =
defaultLivePlaybackSpeedControl.adjustPlaybackSpeed(/* liveOffsetUs= */ 2_000_000); defaultLivePlaybackSpeedControl.getAdjustedPlaybackSpeed(/* liveOffsetUs= */ 2_000_000);
assertThat(adjustedSpeed).isEqualTo(1f); assertThat(adjustedSpeed).isEqualTo(1f);
} }
...@@ -110,19 +110,19 @@ public class DefaultLivePlaybackSpeedControlTest { ...@@ -110,19 +110,19 @@ public class DefaultLivePlaybackSpeedControlTest {
public void adjustPlaybackSpeed_liveOffsetWithinAcceptableErrorMargin_returnsUnitSpeed() { public void adjustPlaybackSpeed_liveOffsetWithinAcceptableErrorMargin_returnsUnitSpeed() {
DefaultLivePlaybackSpeedControl defaultLivePlaybackSpeedControl = DefaultLivePlaybackSpeedControl defaultLivePlaybackSpeedControl =
new DefaultLivePlaybackSpeedControl.Builder().build(); new DefaultLivePlaybackSpeedControl.Builder().build();
defaultLivePlaybackSpeedControl.updateLiveConfiguration( defaultLivePlaybackSpeedControl.setLiveConfiguration(
new LiveConfiguration( new LiveConfiguration(
/* targetLiveOffsetMs= */ 2_000, /* targetLiveOffsetMs= */ 2_000,
/* minPlaybackSpeed= */ C.RATE_UNSET, /* minPlaybackSpeed= */ C.RATE_UNSET,
/* maxPlaybackSpeed= */ C.RATE_UNSET)); /* maxPlaybackSpeed= */ C.RATE_UNSET));
float adjustedSpeedJustAboveLowerErrorMargin = float adjustedSpeedJustAboveLowerErrorMargin =
defaultLivePlaybackSpeedControl.adjustPlaybackSpeed( defaultLivePlaybackSpeedControl.getAdjustedPlaybackSpeed(
/* liveOffsetUs= */ 2_000_000 /* liveOffsetUs= */ 2_000_000
- DefaultLivePlaybackSpeedControl.MAXIMUM_LIVE_OFFSET_ERROR_US_FOR_UNIT_SPEED - DefaultLivePlaybackSpeedControl.MAXIMUM_LIVE_OFFSET_ERROR_US_FOR_UNIT_SPEED
+ 1); + 1);
float adjustedSpeedJustBelowUpperErrorMargin = float adjustedSpeedJustBelowUpperErrorMargin =
defaultLivePlaybackSpeedControl.adjustPlaybackSpeed( defaultLivePlaybackSpeedControl.getAdjustedPlaybackSpeed(
/* liveOffsetUs= */ 2_000_000 /* liveOffsetUs= */ 2_000_000
+ DefaultLivePlaybackSpeedControl.MAXIMUM_LIVE_OFFSET_ERROR_US_FOR_UNIT_SPEED + DefaultLivePlaybackSpeedControl.MAXIMUM_LIVE_OFFSET_ERROR_US_FOR_UNIT_SPEED
- 1); - 1);
...@@ -135,14 +135,14 @@ public class DefaultLivePlaybackSpeedControlTest { ...@@ -135,14 +135,14 @@ public class DefaultLivePlaybackSpeedControlTest {
public void adjustPlaybackSpeed_withLiveOffsetGreaterThanTargetOffset_returnsAdjustedSpeed() { public void adjustPlaybackSpeed_withLiveOffsetGreaterThanTargetOffset_returnsAdjustedSpeed() {
DefaultLivePlaybackSpeedControl defaultLivePlaybackSpeedControl = DefaultLivePlaybackSpeedControl defaultLivePlaybackSpeedControl =
new DefaultLivePlaybackSpeedControl.Builder().setProportionalControlFactor(0.01f).build(); new DefaultLivePlaybackSpeedControl.Builder().setProportionalControlFactor(0.01f).build();
defaultLivePlaybackSpeedControl.updateLiveConfiguration( defaultLivePlaybackSpeedControl.setLiveConfiguration(
new LiveConfiguration( new LiveConfiguration(
/* targetLiveOffsetMs= */ 2_000, /* targetLiveOffsetMs= */ 2_000,
/* minPlaybackSpeed= */ C.RATE_UNSET, /* minPlaybackSpeed= */ C.RATE_UNSET,
/* maxPlaybackSpeed= */ C.RATE_UNSET)); /* maxPlaybackSpeed= */ C.RATE_UNSET));
float adjustedSpeed = float adjustedSpeed =
defaultLivePlaybackSpeedControl.adjustPlaybackSpeed(/* liveOffsetUs= */ 2_500_000); defaultLivePlaybackSpeedControl.getAdjustedPlaybackSpeed(/* liveOffsetUs= */ 2_500_000);
float expectedSpeedAccordingToDocumentation = 1f + 0.01f * (2.5f - 2f); float expectedSpeedAccordingToDocumentation = 1f + 0.01f * (2.5f - 2f);
assertThat(adjustedSpeed).isEqualTo(expectedSpeedAccordingToDocumentation); assertThat(adjustedSpeed).isEqualTo(expectedSpeedAccordingToDocumentation);
...@@ -153,15 +153,15 @@ public class DefaultLivePlaybackSpeedControlTest { ...@@ -153,15 +153,15 @@ public class DefaultLivePlaybackSpeedControlTest {
public void adjustPlaybackSpeed_withLiveOffsetLowerThanTargetOffset_returnsAdjustedSpeed() { public void adjustPlaybackSpeed_withLiveOffsetLowerThanTargetOffset_returnsAdjustedSpeed() {
DefaultLivePlaybackSpeedControl defaultLivePlaybackSpeedControl = DefaultLivePlaybackSpeedControl defaultLivePlaybackSpeedControl =
new DefaultLivePlaybackSpeedControl.Builder().setProportionalControlFactor(0.01f).build(); new DefaultLivePlaybackSpeedControl.Builder().setProportionalControlFactor(0.01f).build();
defaultLivePlaybackSpeedControl.overrideTargetLiveOffsetUs(2_000_000); defaultLivePlaybackSpeedControl.setTargetLiveOffsetOverrideUs(2_000_000);
defaultLivePlaybackSpeedControl.updateLiveConfiguration( defaultLivePlaybackSpeedControl.setLiveConfiguration(
new LiveConfiguration( new LiveConfiguration(
/* targetLiveOffsetMs= */ 2_000, /* targetLiveOffsetMs= */ 2_000,
/* minPlaybackSpeed= */ C.RATE_UNSET, /* minPlaybackSpeed= */ C.RATE_UNSET,
/* maxPlaybackSpeed= */ C.RATE_UNSET)); /* maxPlaybackSpeed= */ C.RATE_UNSET));
float adjustedSpeed = float adjustedSpeed =
defaultLivePlaybackSpeedControl.adjustPlaybackSpeed(/* liveOffsetUs= */ 1_500_000); defaultLivePlaybackSpeedControl.getAdjustedPlaybackSpeed(/* liveOffsetUs= */ 1_500_000);
float expectedSpeedAccordingToDocumentation = 1f + 0.01f * (1.5f - 2f); float expectedSpeedAccordingToDocumentation = 1f + 0.01f * (1.5f - 2f);
assertThat(adjustedSpeed).isEqualTo(expectedSpeedAccordingToDocumentation); assertThat(adjustedSpeed).isEqualTo(expectedSpeedAccordingToDocumentation);
...@@ -173,14 +173,15 @@ public class DefaultLivePlaybackSpeedControlTest { ...@@ -173,14 +173,15 @@ public class DefaultLivePlaybackSpeedControlTest {
adjustPlaybackSpeed_withLiveOffsetGreaterThanTargetOffset_clampedToFallbackMaximumSpeed() { adjustPlaybackSpeed_withLiveOffsetGreaterThanTargetOffset_clampedToFallbackMaximumSpeed() {
DefaultLivePlaybackSpeedControl defaultLivePlaybackSpeedControl = DefaultLivePlaybackSpeedControl defaultLivePlaybackSpeedControl =
new DefaultLivePlaybackSpeedControl.Builder().setFallbackMaxPlaybackSpeed(1.5f).build(); new DefaultLivePlaybackSpeedControl.Builder().setFallbackMaxPlaybackSpeed(1.5f).build();
defaultLivePlaybackSpeedControl.updateLiveConfiguration( defaultLivePlaybackSpeedControl.setLiveConfiguration(
new LiveConfiguration( new LiveConfiguration(
/* targetLiveOffsetMs= */ 2_000, /* targetLiveOffsetMs= */ 2_000,
/* minPlaybackSpeed= */ C.RATE_UNSET, /* minPlaybackSpeed= */ C.RATE_UNSET,
/* maxPlaybackSpeed= */ C.RATE_UNSET)); /* maxPlaybackSpeed= */ C.RATE_UNSET));
float adjustedSpeed = float adjustedSpeed =
defaultLivePlaybackSpeedControl.adjustPlaybackSpeed(/* liveOffsetUs= */ 999_999_999_999L); defaultLivePlaybackSpeedControl.getAdjustedPlaybackSpeed(
/* liveOffsetUs= */ 999_999_999_999L);
assertThat(adjustedSpeed).isEqualTo(1.5f); assertThat(adjustedSpeed).isEqualTo(1.5f);
} }
...@@ -190,14 +191,15 @@ public class DefaultLivePlaybackSpeedControlTest { ...@@ -190,14 +191,15 @@ public class DefaultLivePlaybackSpeedControlTest {
adjustPlaybackSpeed_withLiveOffsetLowerThanTargetOffset_clampedToFallbackMinimumSpeed() { adjustPlaybackSpeed_withLiveOffsetLowerThanTargetOffset_clampedToFallbackMinimumSpeed() {
DefaultLivePlaybackSpeedControl defaultLivePlaybackSpeedControl = DefaultLivePlaybackSpeedControl defaultLivePlaybackSpeedControl =
new DefaultLivePlaybackSpeedControl.Builder().setFallbackMinPlaybackSpeed(0.5f).build(); new DefaultLivePlaybackSpeedControl.Builder().setFallbackMinPlaybackSpeed(0.5f).build();
defaultLivePlaybackSpeedControl.updateLiveConfiguration( defaultLivePlaybackSpeedControl.setLiveConfiguration(
new LiveConfiguration( new LiveConfiguration(
/* targetLiveOffsetMs= */ 2_000, /* targetLiveOffsetMs= */ 2_000,
/* minPlaybackSpeed= */ C.RATE_UNSET, /* minPlaybackSpeed= */ C.RATE_UNSET,
/* maxPlaybackSpeed= */ C.RATE_UNSET)); /* maxPlaybackSpeed= */ C.RATE_UNSET));
float adjustedSpeed = float adjustedSpeed =
defaultLivePlaybackSpeedControl.adjustPlaybackSpeed(/* liveOffsetUs= */ -999_999_999_999L); defaultLivePlaybackSpeedControl.getAdjustedPlaybackSpeed(
/* liveOffsetUs= */ -999_999_999_999L);
assertThat(adjustedSpeed).isEqualTo(0.5f); assertThat(adjustedSpeed).isEqualTo(0.5f);
} }
...@@ -207,14 +209,15 @@ public class DefaultLivePlaybackSpeedControlTest { ...@@ -207,14 +209,15 @@ public class DefaultLivePlaybackSpeedControlTest {
adjustPlaybackSpeed_andMediaProvidedMaxSpeedWithLiveOffsetGreaterThanTargetOffset_clampedToMediaMaxSpeed() { adjustPlaybackSpeed_andMediaProvidedMaxSpeedWithLiveOffsetGreaterThanTargetOffset_clampedToMediaMaxSpeed() {
DefaultLivePlaybackSpeedControl defaultLivePlaybackSpeedControl = DefaultLivePlaybackSpeedControl defaultLivePlaybackSpeedControl =
new DefaultLivePlaybackSpeedControl.Builder().setFallbackMaxPlaybackSpeed(1.5f).build(); new DefaultLivePlaybackSpeedControl.Builder().setFallbackMaxPlaybackSpeed(1.5f).build();
defaultLivePlaybackSpeedControl.updateLiveConfiguration( defaultLivePlaybackSpeedControl.setLiveConfiguration(
new LiveConfiguration( new LiveConfiguration(
/* targetLiveOffsetMs= */ 2_000, /* targetLiveOffsetMs= */ 2_000,
/* minPlaybackSpeed= */ C.RATE_UNSET, /* minPlaybackSpeed= */ C.RATE_UNSET,
/* maxPlaybackSpeed= */ 2f)); /* maxPlaybackSpeed= */ 2f));
float adjustedSpeed = float adjustedSpeed =
defaultLivePlaybackSpeedControl.adjustPlaybackSpeed(/* liveOffsetUs= */ 999_999_999_999L); defaultLivePlaybackSpeedControl.getAdjustedPlaybackSpeed(
/* liveOffsetUs= */ 999_999_999_999L);
assertThat(adjustedSpeed).isEqualTo(2f); assertThat(adjustedSpeed).isEqualTo(2f);
} }
...@@ -224,14 +227,15 @@ public class DefaultLivePlaybackSpeedControlTest { ...@@ -224,14 +227,15 @@ public class DefaultLivePlaybackSpeedControlTest {
adjustPlaybackSpeed_andMediaProvidedMinSpeedWithLiveOffsetLowerThanTargetOffset_clampedToMediaMinSpeed() { adjustPlaybackSpeed_andMediaProvidedMinSpeedWithLiveOffsetLowerThanTargetOffset_clampedToMediaMinSpeed() {
DefaultLivePlaybackSpeedControl defaultLivePlaybackSpeedControl = DefaultLivePlaybackSpeedControl defaultLivePlaybackSpeedControl =
new DefaultLivePlaybackSpeedControl.Builder().setFallbackMinPlaybackSpeed(0.5f).build(); new DefaultLivePlaybackSpeedControl.Builder().setFallbackMinPlaybackSpeed(0.5f).build();
defaultLivePlaybackSpeedControl.updateLiveConfiguration( defaultLivePlaybackSpeedControl.setLiveConfiguration(
new LiveConfiguration( new LiveConfiguration(
/* targetLiveOffsetMs= */ 2_000, /* targetLiveOffsetMs= */ 2_000,
/* minPlaybackSpeed= */ 0.2f, /* minPlaybackSpeed= */ 0.2f,
/* maxPlaybackSpeed= */ C.RATE_UNSET)); /* maxPlaybackSpeed= */ C.RATE_UNSET));
float adjustedSpeed = float adjustedSpeed =
defaultLivePlaybackSpeedControl.adjustPlaybackSpeed(/* liveOffsetUs= */ -999_999_999_999L); defaultLivePlaybackSpeedControl.getAdjustedPlaybackSpeed(
/* liveOffsetUs= */ -999_999_999_999L);
assertThat(adjustedSpeed).isEqualTo(0.2f); assertThat(adjustedSpeed).isEqualTo(0.2f);
} }
...@@ -240,20 +244,20 @@ public class DefaultLivePlaybackSpeedControlTest { ...@@ -240,20 +244,20 @@ public class DefaultLivePlaybackSpeedControlTest {
public void adjustPlaybackSpeed_repeatedCallWithinMinUpdateInterval_returnsSameAdjustedSpeed() { public void adjustPlaybackSpeed_repeatedCallWithinMinUpdateInterval_returnsSameAdjustedSpeed() {
DefaultLivePlaybackSpeedControl defaultLivePlaybackSpeedControl = DefaultLivePlaybackSpeedControl defaultLivePlaybackSpeedControl =
new DefaultLivePlaybackSpeedControl.Builder().setMinUpdateIntervalMs(123).build(); new DefaultLivePlaybackSpeedControl.Builder().setMinUpdateIntervalMs(123).build();
defaultLivePlaybackSpeedControl.updateLiveConfiguration( defaultLivePlaybackSpeedControl.setLiveConfiguration(
new LiveConfiguration( new LiveConfiguration(
/* targetLiveOffsetMs= */ 2_000, /* targetLiveOffsetMs= */ 2_000,
/* minPlaybackSpeed= */ C.RATE_UNSET, /* minPlaybackSpeed= */ C.RATE_UNSET,
/* maxPlaybackSpeed= */ C.RATE_UNSET)); /* maxPlaybackSpeed= */ C.RATE_UNSET));
float adjustedSpeed1 = float adjustedSpeed1 =
defaultLivePlaybackSpeedControl.adjustPlaybackSpeed(/* liveOffsetUs= */ 1_500_000); defaultLivePlaybackSpeedControl.getAdjustedPlaybackSpeed(/* liveOffsetUs= */ 1_500_000);
ShadowSystemClock.advanceBy(Duration.ofMillis(122)); ShadowSystemClock.advanceBy(Duration.ofMillis(122));
float adjustedSpeed2 = float adjustedSpeed2 =
defaultLivePlaybackSpeedControl.adjustPlaybackSpeed(/* liveOffsetUs= */ 2_500_000); defaultLivePlaybackSpeedControl.getAdjustedPlaybackSpeed(/* liveOffsetUs= */ 2_500_000);
ShadowSystemClock.advanceBy(Duration.ofMillis(2)); ShadowSystemClock.advanceBy(Duration.ofMillis(2));
float adjustedSpeed3 = float adjustedSpeed3 =
defaultLivePlaybackSpeedControl.adjustPlaybackSpeed(/* liveOffsetUs= */ 2_500_000); defaultLivePlaybackSpeedControl.getAdjustedPlaybackSpeed(/* liveOffsetUs= */ 2_500_000);
assertThat(adjustedSpeed1).isEqualTo(adjustedSpeed2); assertThat(adjustedSpeed1).isEqualTo(adjustedSpeed2);
assertThat(adjustedSpeed3).isNotEqualTo(adjustedSpeed2); assertThat(adjustedSpeed3).isNotEqualTo(adjustedSpeed2);
...@@ -263,21 +267,21 @@ public class DefaultLivePlaybackSpeedControlTest { ...@@ -263,21 +267,21 @@ public class DefaultLivePlaybackSpeedControlTest {
public void adjustPlaybackSpeed_repeatedCallAfterUpdateLiveConfiguration_updatesSpeedAgain() { public void adjustPlaybackSpeed_repeatedCallAfterUpdateLiveConfiguration_updatesSpeedAgain() {
DefaultLivePlaybackSpeedControl defaultLivePlaybackSpeedControl = DefaultLivePlaybackSpeedControl defaultLivePlaybackSpeedControl =
new DefaultLivePlaybackSpeedControl.Builder().setMinUpdateIntervalMs(123).build(); new DefaultLivePlaybackSpeedControl.Builder().setMinUpdateIntervalMs(123).build();
defaultLivePlaybackSpeedControl.updateLiveConfiguration( defaultLivePlaybackSpeedControl.setLiveConfiguration(
new LiveConfiguration( new LiveConfiguration(
/* targetLiveOffsetMs= */ 2_000, /* targetLiveOffsetMs= */ 2_000,
/* minPlaybackSpeed= */ C.RATE_UNSET, /* minPlaybackSpeed= */ C.RATE_UNSET,
/* maxPlaybackSpeed= */ C.RATE_UNSET)); /* maxPlaybackSpeed= */ C.RATE_UNSET));
float adjustedSpeed1 = float adjustedSpeed1 =
defaultLivePlaybackSpeedControl.adjustPlaybackSpeed(/* liveOffsetUs= */ 1_500_000); defaultLivePlaybackSpeedControl.getAdjustedPlaybackSpeed(/* liveOffsetUs= */ 1_500_000);
defaultLivePlaybackSpeedControl.updateLiveConfiguration( defaultLivePlaybackSpeedControl.setLiveConfiguration(
new LiveConfiguration( new LiveConfiguration(
/* targetLiveOffsetMs= */ 2_000, /* targetLiveOffsetMs= */ 2_000,
/* minPlaybackSpeed= */ C.RATE_UNSET, /* minPlaybackSpeed= */ C.RATE_UNSET,
/* maxPlaybackSpeed= */ C.RATE_UNSET)); /* maxPlaybackSpeed= */ C.RATE_UNSET));
float adjustedSpeed2 = float adjustedSpeed2 =
defaultLivePlaybackSpeedControl.adjustPlaybackSpeed(/* liveOffsetUs= */ 2_500_000); defaultLivePlaybackSpeedControl.getAdjustedPlaybackSpeed(/* liveOffsetUs= */ 2_500_000);
assertThat(adjustedSpeed1).isNotEqualTo(adjustedSpeed2); assertThat(adjustedSpeed1).isNotEqualTo(adjustedSpeed2);
} }
...@@ -286,17 +290,17 @@ public class DefaultLivePlaybackSpeedControlTest { ...@@ -286,17 +290,17 @@ public class DefaultLivePlaybackSpeedControlTest {
public void adjustPlaybackSpeed_repeatedCallAfterNewTargetLiveOffset_updatesSpeedAgain() { public void adjustPlaybackSpeed_repeatedCallAfterNewTargetLiveOffset_updatesSpeedAgain() {
DefaultLivePlaybackSpeedControl defaultLivePlaybackSpeedControl = DefaultLivePlaybackSpeedControl defaultLivePlaybackSpeedControl =
new DefaultLivePlaybackSpeedControl.Builder().setMinUpdateIntervalMs(123).build(); new DefaultLivePlaybackSpeedControl.Builder().setMinUpdateIntervalMs(123).build();
defaultLivePlaybackSpeedControl.updateLiveConfiguration( defaultLivePlaybackSpeedControl.setLiveConfiguration(
new LiveConfiguration( new LiveConfiguration(
/* targetLiveOffsetMs= */ 2_000, /* targetLiveOffsetMs= */ 2_000,
/* minPlaybackSpeed= */ C.RATE_UNSET, /* minPlaybackSpeed= */ C.RATE_UNSET,
/* maxPlaybackSpeed= */ C.RATE_UNSET)); /* maxPlaybackSpeed= */ C.RATE_UNSET));
float adjustedSpeed1 = float adjustedSpeed1 =
defaultLivePlaybackSpeedControl.adjustPlaybackSpeed(/* liveOffsetUs= */ 1_500_000); defaultLivePlaybackSpeedControl.getAdjustedPlaybackSpeed(/* liveOffsetUs= */ 1_500_000);
defaultLivePlaybackSpeedControl.overrideTargetLiveOffsetUs(2_000_001); defaultLivePlaybackSpeedControl.setTargetLiveOffsetOverrideUs(2_000_001);
float adjustedSpeed2 = float adjustedSpeed2 =
defaultLivePlaybackSpeedControl.adjustPlaybackSpeed(/* liveOffsetUs= */ 2_500_000); defaultLivePlaybackSpeedControl.getAdjustedPlaybackSpeed(/* liveOffsetUs= */ 2_500_000);
assertThat(adjustedSpeed1).isNotEqualTo(adjustedSpeed2); assertThat(adjustedSpeed1).isNotEqualTo(adjustedSpeed2);
} }
......
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