Commit 42967290 by ibaker Committed by Ian Baker

Migrate usages of deprecated MediaItem symbols

#minor-release

PiperOrigin-RevId: 407847729
parent 1f1b1275
...@@ -300,12 +300,13 @@ public class TimelineTest { ...@@ -300,12 +300,13 @@ public class TimelineTest {
window.isSeekable = true; window.isSeekable = true;
window.isDynamic = true; window.isDynamic = true;
window.liveConfiguration = window.liveConfiguration =
new LiveConfiguration( new LiveConfiguration.Builder()
/* targetOffsetMs= */ 1, .setTargetOffsetMs(1)
/* minOffsetMs= */ 2, .setMinOffsetMs(2)
/* maxOffsetMs= */ 3, .setMaxOffsetMs(3)
/* minPlaybackSpeed= */ 0.5f, .setMinPlaybackSpeed(0.5f)
/* maxPlaybackSpeed= */ 1.5f); .setMaxPlaybackSpeed(1.5f)
.build();
window.isPlaceholder = true; window.isPlaceholder = true;
window.defaultPositionUs = 444; window.defaultPositionUs = 444;
window.durationUs = 555; window.durationUs = 555;
......
...@@ -21,6 +21,7 @@ import static com.google.common.truth.Truth.assertThat; ...@@ -21,6 +21,7 @@ import static com.google.common.truth.Truth.assertThat;
import android.net.Uri; import android.net.Uri;
import androidx.media3.common.C; import androidx.media3.common.C;
import androidx.media3.common.MediaItem; import androidx.media3.common.MediaItem;
import androidx.media3.common.MediaItem.SubtitleConfiguration;
import androidx.media3.common.MimeTypes; import androidx.media3.common.MimeTypes;
import androidx.media3.common.Player; import androidx.media3.common.Player;
import androidx.media3.common.text.Cue; import androidx.media3.common.text.Cue;
...@@ -47,15 +48,16 @@ public final class ClippedPlaybackTest { ...@@ -47,15 +48,16 @@ public final class ClippedPlaybackTest {
MediaItem mediaItem = MediaItem mediaItem =
new MediaItem.Builder() new MediaItem.Builder()
.setUri("asset:///media/mp4/sample.mp4") .setUri("asset:///media/mp4/sample.mp4")
.setSubtitles( .setSubtitleConfigurations(
ImmutableList.of( ImmutableList.of(
new MediaItem.Subtitle( new SubtitleConfiguration.Builder(Uri.parse("asset:///media/webvtt/typical"))
Uri.parse("asset:///media/webvtt/typical"), .setMimeType(MimeTypes.TEXT_VTT)
MimeTypes.TEXT_VTT, .setLanguage("en")
"en", .setSelectionFlags(C.SELECTION_FLAG_DEFAULT)
C.SELECTION_FLAG_DEFAULT))) .build()))
// Expect the clipping to affect both subtitles and video. // Expect the clipping to affect both subtitles and video.
.setClipEndPositionMs(1000) .setClippingConfiguration(
new MediaItem.ClippingConfiguration.Builder().setEndPositionMs(1000).build())
.build(); .build();
AtomicReference<ExoPlayer> player = new AtomicReference<>(); AtomicReference<ExoPlayer> player = new AtomicReference<>();
TextCapturingPlaybackListener textCapturer = new TextCapturingPlaybackListener(); TextCapturingPlaybackListener textCapturer = new TextCapturingPlaybackListener();
...@@ -83,21 +85,24 @@ public final class ClippedPlaybackTest { ...@@ -83,21 +85,24 @@ public final class ClippedPlaybackTest {
ImmutableList.of( ImmutableList.of(
new MediaItem.Builder() new MediaItem.Builder()
.setUri("asset:///media/mp4/sample.mp4") .setUri("asset:///media/mp4/sample.mp4")
.setSubtitles( .setSubtitleConfigurations(
ImmutableList.of( ImmutableList.of(
new MediaItem.Subtitle( new SubtitleConfiguration.Builder(
Uri.parse("asset:///media/webvtt/typical"), Uri.parse("asset:///media/webvtt/typical"))
MimeTypes.TEXT_VTT, .setMimeType(MimeTypes.TEXT_VTT)
"en", .setLanguage("en")
C.SELECTION_FLAG_DEFAULT))) .setSelectionFlags(C.SELECTION_FLAG_DEFAULT)
.build()))
// Expect the clipping to affect both subtitles and video. // Expect the clipping to affect both subtitles and video.
.setClipEndPositionMs(1000) .setClippingConfiguration(
new MediaItem.ClippingConfiguration.Builder().setEndPositionMs(1000).build())
.build(), .build(),
new MediaItem.Builder() new MediaItem.Builder()
.setUri("asset:///media/mp4/sample.mp4") .setUri("asset:///media/mp4/sample.mp4")
// Not needed for correctness, just makes test run faster. Must be longer than the // Not needed for correctness, just makes test run faster. Must be longer than the
// subtitle content (3.5s). // subtitle content (3.5s).
.setClipEndPositionMs(4_000) .setClippingConfiguration(
new MediaItem.ClippingConfiguration.Builder().setEndPositionMs(4_000).build())
.build()); .build());
AtomicReference<ExoPlayer> player = new AtomicReference<>(); AtomicReference<ExoPlayer> player = new AtomicReference<>();
TextCapturingPlaybackListener textCapturer = new TextCapturingPlaybackListener(); TextCapturingPlaybackListener textCapturer = new TextCapturingPlaybackListener();
......
...@@ -45,12 +45,13 @@ public class DefaultLivePlaybackSpeedControlTest { ...@@ -45,12 +45,13 @@ public class DefaultLivePlaybackSpeedControlTest {
DefaultLivePlaybackSpeedControl defaultLivePlaybackSpeedControl = DefaultLivePlaybackSpeedControl defaultLivePlaybackSpeedControl =
new DefaultLivePlaybackSpeedControl.Builder().build(); new DefaultLivePlaybackSpeedControl.Builder().build();
defaultLivePlaybackSpeedControl.setLiveConfiguration( defaultLivePlaybackSpeedControl.setLiveConfiguration(
new LiveConfiguration( new LiveConfiguration.Builder()
/* targetLiveOffsetMs= */ 42, .setTargetOffsetMs(42)
/* minLiveOffsetMs= */ 5, .setMinOffsetMs(5)
/* maxLiveOffsetMs= */ 400, .setMaxOffsetMs(400)
/* minPlaybackSpeed= */ 1f, .setMinPlaybackSpeed(1f)
/* maxPlaybackSpeed= */ 1f)); .setMaxPlaybackSpeed(1f)
.build());
assertThat(defaultLivePlaybackSpeedControl.getTargetLiveOffsetUs()).isEqualTo(42_000); assertThat(defaultLivePlaybackSpeedControl.getTargetLiveOffsetUs()).isEqualTo(42_000);
} }
...@@ -61,12 +62,13 @@ public class DefaultLivePlaybackSpeedControlTest { ...@@ -61,12 +62,13 @@ public class DefaultLivePlaybackSpeedControlTest {
DefaultLivePlaybackSpeedControl defaultLivePlaybackSpeedControl = DefaultLivePlaybackSpeedControl defaultLivePlaybackSpeedControl =
new DefaultLivePlaybackSpeedControl.Builder().build(); new DefaultLivePlaybackSpeedControl.Builder().build();
defaultLivePlaybackSpeedControl.setLiveConfiguration( defaultLivePlaybackSpeedControl.setLiveConfiguration(
new LiveConfiguration( new LiveConfiguration.Builder()
/* targetLiveOffsetMs= */ 4321, .setTargetOffsetMs(4321)
/* minLiveOffsetMs= */ 5, .setMinOffsetMs(5)
/* maxLiveOffsetMs= */ 400, .setMaxOffsetMs(400)
/* minPlaybackSpeed= */ 1f, .setMinPlaybackSpeed(1f)
/* maxPlaybackSpeed= */ 1f)); .setMaxPlaybackSpeed(1f)
.build());
assertThat(defaultLivePlaybackSpeedControl.getTargetLiveOffsetUs()).isEqualTo(400_000); assertThat(defaultLivePlaybackSpeedControl.getTargetLiveOffsetUs()).isEqualTo(400_000);
} }
...@@ -77,12 +79,13 @@ public class DefaultLivePlaybackSpeedControlTest { ...@@ -77,12 +79,13 @@ public class DefaultLivePlaybackSpeedControlTest {
DefaultLivePlaybackSpeedControl defaultLivePlaybackSpeedControl = DefaultLivePlaybackSpeedControl defaultLivePlaybackSpeedControl =
new DefaultLivePlaybackSpeedControl.Builder().build(); new DefaultLivePlaybackSpeedControl.Builder().build();
defaultLivePlaybackSpeedControl.setLiveConfiguration( defaultLivePlaybackSpeedControl.setLiveConfiguration(
new LiveConfiguration( new LiveConfiguration.Builder()
/* targetLiveOffsetMs= */ 3, .setTargetOffsetMs(3)
/* minLiveOffsetMs= */ 5, .setMinOffsetMs(5)
/* maxLiveOffsetMs= */ 400, .setMaxOffsetMs(400)
/* minPlaybackSpeed= */ 1f, .setMinPlaybackSpeed(1f)
/* maxPlaybackSpeed= */ 1f)); .setMaxPlaybackSpeed(1f)
.build());
assertThat(defaultLivePlaybackSpeedControl.getTargetLiveOffsetUs()).isEqualTo(5_000); assertThat(defaultLivePlaybackSpeedControl.getTargetLiveOffsetUs()).isEqualTo(5_000);
} }
...@@ -94,12 +97,13 @@ public class DefaultLivePlaybackSpeedControlTest { ...@@ -94,12 +97,13 @@ public class DefaultLivePlaybackSpeedControlTest {
defaultLivePlaybackSpeedControl.setTargetLiveOffsetOverrideUs(321_000); defaultLivePlaybackSpeedControl.setTargetLiveOffsetOverrideUs(321_000);
defaultLivePlaybackSpeedControl.setLiveConfiguration( defaultLivePlaybackSpeedControl.setLiveConfiguration(
new LiveConfiguration( new LiveConfiguration.Builder()
/* targetLiveOffsetMs= */ 42, .setTargetOffsetMs(42)
/* minLiveOffsetMs= */ 5, .setMinOffsetMs(5)
/* maxLiveOffsetMs= */ 400, .setMaxOffsetMs(400)
/* minPlaybackSpeed= */ 1f, .setMinPlaybackSpeed(1f)
/* maxPlaybackSpeed= */ 1f)); .setMaxPlaybackSpeed(1f)
.build());
long targetLiveOffsetUs = defaultLivePlaybackSpeedControl.getTargetLiveOffsetUs(); long targetLiveOffsetUs = defaultLivePlaybackSpeedControl.getTargetLiveOffsetUs();
...@@ -114,12 +118,13 @@ public class DefaultLivePlaybackSpeedControlTest { ...@@ -114,12 +118,13 @@ public class DefaultLivePlaybackSpeedControlTest {
defaultLivePlaybackSpeedControl.setTargetLiveOffsetOverrideUs(123_456_789); defaultLivePlaybackSpeedControl.setTargetLiveOffsetOverrideUs(123_456_789);
defaultLivePlaybackSpeedControl.setLiveConfiguration( defaultLivePlaybackSpeedControl.setLiveConfiguration(
new LiveConfiguration( new LiveConfiguration.Builder()
/* targetLiveOffsetMs= */ 42, .setTargetOffsetMs(42)
/* minLiveOffsetMs= */ 5, .setMinOffsetMs(5)
/* maxLiveOffsetMs= */ 400, .setMaxOffsetMs(400)
/* minPlaybackSpeed= */ 1f, .setMinPlaybackSpeed(1f)
/* maxPlaybackSpeed= */ 1f)); .setMaxPlaybackSpeed(1f)
.build());
long targetLiveOffsetUs = defaultLivePlaybackSpeedControl.getTargetLiveOffsetUs(); long targetLiveOffsetUs = defaultLivePlaybackSpeedControl.getTargetLiveOffsetUs();
...@@ -134,12 +139,13 @@ public class DefaultLivePlaybackSpeedControlTest { ...@@ -134,12 +139,13 @@ public class DefaultLivePlaybackSpeedControlTest {
defaultLivePlaybackSpeedControl.setTargetLiveOffsetOverrideUs(3_141); defaultLivePlaybackSpeedControl.setTargetLiveOffsetOverrideUs(3_141);
defaultLivePlaybackSpeedControl.setLiveConfiguration( defaultLivePlaybackSpeedControl.setLiveConfiguration(
new LiveConfiguration( new LiveConfiguration.Builder()
/* targetLiveOffsetMs= */ 42, .setTargetOffsetMs(42)
/* minLiveOffsetMs= */ 5, .setMinOffsetMs(5)
/* maxLiveOffsetMs= */ 400, .setMaxOffsetMs(400)
/* minPlaybackSpeed= */ 1f, .setMinPlaybackSpeed(1f)
/* maxPlaybackSpeed= */ 1f)); .setMaxPlaybackSpeed(1f)
.build());
long targetLiveOffsetUs = defaultLivePlaybackSpeedControl.getTargetLiveOffsetUs(); long targetLiveOffsetUs = defaultLivePlaybackSpeedControl.getTargetLiveOffsetUs();
...@@ -165,12 +171,13 @@ public class DefaultLivePlaybackSpeedControlTest { ...@@ -165,12 +171,13 @@ public class DefaultLivePlaybackSpeedControlTest {
new DefaultLivePlaybackSpeedControl.Builder().build(); new DefaultLivePlaybackSpeedControl.Builder().build();
defaultLivePlaybackSpeedControl.setTargetLiveOffsetOverrideUs(123_456_789); defaultLivePlaybackSpeedControl.setTargetLiveOffsetOverrideUs(123_456_789);
defaultLivePlaybackSpeedControl.setLiveConfiguration( defaultLivePlaybackSpeedControl.setLiveConfiguration(
new LiveConfiguration( new LiveConfiguration.Builder()
/* targetLiveOffsetMs= */ 42, .setTargetOffsetMs(42)
/* minLiveOffsetMs= */ 5, .setMinOffsetMs(5)
/* maxLiveOffsetMs= */ 400, .setMaxOffsetMs(400)
/* minPlaybackSpeed= */ 1f, .setMinPlaybackSpeed(1f)
/* maxPlaybackSpeed= */ 1f)); .setMaxPlaybackSpeed(1f)
.build());
defaultLivePlaybackSpeedControl.setTargetLiveOffsetOverrideUs(C.TIME_UNSET); defaultLivePlaybackSpeedControl.setTargetLiveOffsetOverrideUs(C.TIME_UNSET);
long targetLiveOffsetUs = defaultLivePlaybackSpeedControl.getTargetLiveOffsetUs(); long targetLiveOffsetUs = defaultLivePlaybackSpeedControl.getTargetLiveOffsetUs();
...@@ -185,12 +192,13 @@ public class DefaultLivePlaybackSpeedControlTest { ...@@ -185,12 +192,13 @@ public class DefaultLivePlaybackSpeedControlTest {
.setTargetLiveOffsetIncrementOnRebufferMs(3) .setTargetLiveOffsetIncrementOnRebufferMs(3)
.build(); .build();
defaultLivePlaybackSpeedControl.setLiveConfiguration( defaultLivePlaybackSpeedControl.setLiveConfiguration(
new LiveConfiguration( new LiveConfiguration.Builder()
/* targetLiveOffsetMs= */ 42, .setTargetOffsetMs(42)
/* minLiveOffsetMs= */ 5, .setMinOffsetMs(5)
/* maxLiveOffsetMs= */ 400, .setMaxOffsetMs(400)
/* minPlaybackSpeed= */ 1f, .setMinPlaybackSpeed(1f)
/* maxPlaybackSpeed= */ 1f)); .setMaxPlaybackSpeed(1f)
.build());
long targetLiveOffsetBeforeUs = defaultLivePlaybackSpeedControl.getTargetLiveOffsetUs(); long targetLiveOffsetBeforeUs = defaultLivePlaybackSpeedControl.getTargetLiveOffsetUs();
defaultLivePlaybackSpeedControl.notifyRebuffer(); defaultLivePlaybackSpeedControl.notifyRebuffer();
...@@ -207,12 +215,13 @@ public class DefaultLivePlaybackSpeedControlTest { ...@@ -207,12 +215,13 @@ public class DefaultLivePlaybackSpeedControlTest {
.setTargetLiveOffsetIncrementOnRebufferMs(3) .setTargetLiveOffsetIncrementOnRebufferMs(3)
.build(); .build();
defaultLivePlaybackSpeedControl.setLiveConfiguration( defaultLivePlaybackSpeedControl.setLiveConfiguration(
new LiveConfiguration( new LiveConfiguration.Builder()
/* targetLiveOffsetMs= */ 42, .setTargetOffsetMs(42)
/* minLiveOffsetMs= */ 5, .setMinOffsetMs(5)
/* maxLiveOffsetMs= */ 400, .setMaxOffsetMs(400)
/* minPlaybackSpeed= */ 1f, .setMinPlaybackSpeed(1f)
/* maxPlaybackSpeed= */ 1f)); .setMaxPlaybackSpeed(1f)
.build());
List<Long> targetOffsetsUs = new ArrayList<>(); List<Long> targetOffsetsUs = new ArrayList<>();
for (int i = 0; i < 500; i++) { for (int i = 0; i < 500; i++) {
...@@ -232,12 +241,13 @@ public class DefaultLivePlaybackSpeedControlTest { ...@@ -232,12 +241,13 @@ public class DefaultLivePlaybackSpeedControlTest {
.setTargetLiveOffsetIncrementOnRebufferMs(0) .setTargetLiveOffsetIncrementOnRebufferMs(0)
.build(); .build();
defaultLivePlaybackSpeedControl.setLiveConfiguration( defaultLivePlaybackSpeedControl.setLiveConfiguration(
new LiveConfiguration( new LiveConfiguration.Builder()
/* targetLiveOffsetMs= */ 42, .setTargetOffsetMs(42)
/* minLiveOffsetMs= */ 5, .setMinOffsetMs(5)
/* maxLiveOffsetMs= */ 400, .setMaxOffsetMs(400)
/* minPlaybackSpeed= */ 1f, .setMinPlaybackSpeed(1f)
/* maxPlaybackSpeed= */ 1f)); .setMaxPlaybackSpeed(1f)
.build());
defaultLivePlaybackSpeedControl.notifyRebuffer(); defaultLivePlaybackSpeedControl.notifyRebuffer();
long targetLiveOffsetUs = defaultLivePlaybackSpeedControl.getTargetLiveOffsetUs(); long targetLiveOffsetUs = defaultLivePlaybackSpeedControl.getTargetLiveOffsetUs();
...@@ -253,12 +263,13 @@ public class DefaultLivePlaybackSpeedControlTest { ...@@ -253,12 +263,13 @@ public class DefaultLivePlaybackSpeedControlTest {
.setTargetLiveOffsetIncrementOnRebufferMs(3) .setTargetLiveOffsetIncrementOnRebufferMs(3)
.build(); .build();
defaultLivePlaybackSpeedControl.setLiveConfiguration( defaultLivePlaybackSpeedControl.setLiveConfiguration(
new LiveConfiguration( new LiveConfiguration.Builder()
/* targetLiveOffsetMs= */ 42, .setTargetOffsetMs(42)
/* minLiveOffsetMs= */ 5, .setMinOffsetMs(5)
/* maxLiveOffsetMs= */ 400, .setMaxOffsetMs(400)
/* minPlaybackSpeed= */ 1f, .setMinPlaybackSpeed(1f)
/* maxPlaybackSpeed= */ 1f)); .setMaxPlaybackSpeed(1f)
.build());
defaultLivePlaybackSpeedControl.notifyRebuffer(); defaultLivePlaybackSpeedControl.notifyRebuffer();
defaultLivePlaybackSpeedControl.setTargetLiveOffsetOverrideUs(321_000); defaultLivePlaybackSpeedControl.setTargetLiveOffsetOverrideUs(321_000);
...@@ -275,22 +286,24 @@ public class DefaultLivePlaybackSpeedControlTest { ...@@ -275,22 +286,24 @@ public class DefaultLivePlaybackSpeedControlTest {
.setTargetLiveOffsetIncrementOnRebufferMs(3) .setTargetLiveOffsetIncrementOnRebufferMs(3)
.build(); .build();
defaultLivePlaybackSpeedControl.setLiveConfiguration( defaultLivePlaybackSpeedControl.setLiveConfiguration(
new LiveConfiguration( new LiveConfiguration.Builder()
/* targetLiveOffsetMs= */ 42, .setTargetOffsetMs(42)
/* minLiveOffsetMs= */ 5, .setMinOffsetMs(5)
/* maxLiveOffsetMs= */ 400, .setMaxOffsetMs(400)
/* minPlaybackSpeed= */ 1f, .setMinPlaybackSpeed(1f)
/* maxPlaybackSpeed= */ 1f)); .setMaxPlaybackSpeed(1f)
.build());
long targetLiveOffsetBeforeUs = defaultLivePlaybackSpeedControl.getTargetLiveOffsetUs(); long targetLiveOffsetBeforeUs = defaultLivePlaybackSpeedControl.getTargetLiveOffsetUs();
defaultLivePlaybackSpeedControl.notifyRebuffer(); defaultLivePlaybackSpeedControl.notifyRebuffer();
defaultLivePlaybackSpeedControl.setLiveConfiguration( defaultLivePlaybackSpeedControl.setLiveConfiguration(
new LiveConfiguration( new LiveConfiguration.Builder()
/* targetLiveOffsetMs= */ 42, .setTargetOffsetMs(42)
/* minLiveOffsetMs= */ 3, .setMinOffsetMs(3)
/* maxLiveOffsetMs= */ 450, .setMaxOffsetMs(450)
/* minPlaybackSpeed= */ 0.9f, .setMinPlaybackSpeed(0.9f)
/* maxPlaybackSpeed= */ 1.1f)); .setMaxPlaybackSpeed(1.1f)
.build());
long targetLiveOffsetAfterUs = defaultLivePlaybackSpeedControl.getTargetLiveOffsetUs(); long targetLiveOffsetAfterUs = defaultLivePlaybackSpeedControl.getTargetLiveOffsetUs();
assertThat(targetLiveOffsetAfterUs).isGreaterThan(targetLiveOffsetBeforeUs); assertThat(targetLiveOffsetAfterUs).isGreaterThan(targetLiveOffsetBeforeUs);
...@@ -305,21 +318,23 @@ public class DefaultLivePlaybackSpeedControlTest { ...@@ -305,21 +318,23 @@ public class DefaultLivePlaybackSpeedControlTest {
.setTargetLiveOffsetIncrementOnRebufferMs(3) .setTargetLiveOffsetIncrementOnRebufferMs(3)
.build(); .build();
defaultLivePlaybackSpeedControl.setLiveConfiguration( defaultLivePlaybackSpeedControl.setLiveConfiguration(
new LiveConfiguration( new LiveConfiguration.Builder()
/* targetLiveOffsetMs= */ 42, .setTargetOffsetMs(42)
/* minLiveOffsetMs= */ 5, .setMinOffsetMs(5)
/* maxLiveOffsetMs= */ 400, .setMaxOffsetMs(400)
/* minPlaybackSpeed= */ 1f, .setMinPlaybackSpeed(1f)
/* maxPlaybackSpeed= */ 1f)); .setMaxPlaybackSpeed(1f)
.build());
defaultLivePlaybackSpeedControl.notifyRebuffer(); defaultLivePlaybackSpeedControl.notifyRebuffer();
defaultLivePlaybackSpeedControl.setLiveConfiguration( defaultLivePlaybackSpeedControl.setLiveConfiguration(
new LiveConfiguration( new LiveConfiguration.Builder()
/* targetLiveOffsetMs= */ 39, .setTargetOffsetMs(39)
/* minLiveOffsetMs= */ 3, .setMinOffsetMs(3)
/* maxLiveOffsetMs= */ 450, .setMaxOffsetMs(450)
/* minPlaybackSpeed= */ 0.9f, .setMinPlaybackSpeed(0.9f)
/* maxPlaybackSpeed= */ 1.1f)); .setMaxPlaybackSpeed(1.1f)
.build());
long targetLiveOffsetUs = defaultLivePlaybackSpeedControl.getTargetLiveOffsetUs(); long targetLiveOffsetUs = defaultLivePlaybackSpeedControl.getTargetLiveOffsetUs();
assertThat(targetLiveOffsetUs).isEqualTo(39_000); assertThat(targetLiveOffsetUs).isEqualTo(39_000);
...@@ -334,12 +349,13 @@ public class DefaultLivePlaybackSpeedControlTest { ...@@ -334,12 +349,13 @@ public class DefaultLivePlaybackSpeedControlTest {
.setMinUpdateIntervalMs(100) .setMinUpdateIntervalMs(100)
.build(); .build();
defaultLivePlaybackSpeedControl.setLiveConfiguration( defaultLivePlaybackSpeedControl.setLiveConfiguration(
new LiveConfiguration( new LiveConfiguration.Builder()
/* targetLiveOffsetMs= */ 42_000, .setTargetOffsetMs(42_000)
/* minLiveOffsetMs= */ 5_000, .setMinOffsetMs(5_000)
/* maxLiveOffsetMs= */ 400_000, .setMaxOffsetMs(400_000)
/* minPlaybackSpeed= */ 0.9f, .setMinPlaybackSpeed(0.9f)
/* maxPlaybackSpeed= */ 1.1f)); .setMaxPlaybackSpeed(1.1f)
.build());
defaultLivePlaybackSpeedControl.notifyRebuffer(); defaultLivePlaybackSpeedControl.notifyRebuffer();
long targetLiveOffsetAfterRebufferUs = defaultLivePlaybackSpeedControl.getTargetLiveOffsetUs(); long targetLiveOffsetAfterRebufferUs = defaultLivePlaybackSpeedControl.getTargetLiveOffsetUs();
...@@ -372,12 +388,13 @@ public class DefaultLivePlaybackSpeedControlTest { ...@@ -372,12 +388,13 @@ public class DefaultLivePlaybackSpeedControlTest {
.setMinUpdateIntervalMs(100) .setMinUpdateIntervalMs(100)
.build(); .build();
defaultLivePlaybackSpeedControl.setLiveConfiguration( defaultLivePlaybackSpeedControl.setLiveConfiguration(
new LiveConfiguration( new LiveConfiguration.Builder()
/* targetLiveOffsetMs= */ 42_000, .setTargetOffsetMs(42_000)
/* minLiveOffsetMs= */ 5_000, .setMinOffsetMs(5_000)
/* maxLiveOffsetMs= */ 400_000, .setMaxOffsetMs(400_000)
/* minPlaybackSpeed= */ 0.9f, .setMinPlaybackSpeed(0.9f)
/* maxPlaybackSpeed= */ 1.1f)); .setMaxPlaybackSpeed(1.1f)
.build());
defaultLivePlaybackSpeedControl.notifyRebuffer(); defaultLivePlaybackSpeedControl.notifyRebuffer();
long targetLiveOffsetAfterRebufferUs = defaultLivePlaybackSpeedControl.getTargetLiveOffsetUs(); long targetLiveOffsetAfterRebufferUs = defaultLivePlaybackSpeedControl.getTargetLiveOffsetUs();
...@@ -409,12 +426,13 @@ public class DefaultLivePlaybackSpeedControlTest { ...@@ -409,12 +426,13 @@ public class DefaultLivePlaybackSpeedControlTest {
DefaultLivePlaybackSpeedControl defaultLivePlaybackSpeedControl = DefaultLivePlaybackSpeedControl defaultLivePlaybackSpeedControl =
new DefaultLivePlaybackSpeedControl.Builder().build(); new DefaultLivePlaybackSpeedControl.Builder().build();
defaultLivePlaybackSpeedControl.setLiveConfiguration( defaultLivePlaybackSpeedControl.setLiveConfiguration(
new LiveConfiguration( new LiveConfiguration.Builder()
/* targetLiveOffsetMs= */ 42_000, .setTargetOffsetMs(42_000)
/* minLiveOffsetMs= */ 5_000, .setMinOffsetMs(5_000)
/* maxLiveOffsetMs= */ 400_000, .setMaxOffsetMs(400_000)
/* minPlaybackSpeed= */ 0.9f, .setMinPlaybackSpeed(0.9f)
/* maxPlaybackSpeed= */ 1.1f)); .setMaxPlaybackSpeed(1.1f)
.build());
long targetLiveOffsetBeforeUs = defaultLivePlaybackSpeedControl.getTargetLiveOffsetUs(); long targetLiveOffsetBeforeUs = defaultLivePlaybackSpeedControl.getTargetLiveOffsetUs();
// Pretend to have a buffered duration at around the target duration with some artificial noise. // Pretend to have a buffered duration at around the target duration with some artificial noise.
...@@ -441,12 +459,13 @@ public class DefaultLivePlaybackSpeedControlTest { ...@@ -441,12 +459,13 @@ public class DefaultLivePlaybackSpeedControlTest {
.setMinPossibleLiveOffsetSmoothingFactor(0f) .setMinPossibleLiveOffsetSmoothingFactor(0f)
.build(); .build();
defaultLivePlaybackSpeedControl.setLiveConfiguration( defaultLivePlaybackSpeedControl.setLiveConfiguration(
new LiveConfiguration( new LiveConfiguration.Builder()
/* targetLiveOffsetMs= */ 42_000, .setTargetOffsetMs(42_000)
/* minLiveOffsetMs= */ 5_000, .setMinOffsetMs(5_000)
/* maxLiveOffsetMs= */ 400_000, .setMaxOffsetMs(400_000)
/* minPlaybackSpeed= */ 0.9f, .setMinPlaybackSpeed(0.9f)
/* maxPlaybackSpeed= */ 1.1f)); .setMaxPlaybackSpeed(1.1f)
.build());
long targetLiveOffsetBeforeUs = defaultLivePlaybackSpeedControl.getTargetLiveOffsetUs(); long targetLiveOffsetBeforeUs = defaultLivePlaybackSpeedControl.getTargetLiveOffsetUs();
// Pretend to have a buffered duration at around the target duration with some artificial noise. // Pretend to have a buffered duration at around the target duration with some artificial noise.
...@@ -475,12 +494,13 @@ public class DefaultLivePlaybackSpeedControlTest { ...@@ -475,12 +494,13 @@ public class DefaultLivePlaybackSpeedControlTest {
.setMinUpdateIntervalMs(100) .setMinUpdateIntervalMs(100)
.build(); .build();
defaultLivePlaybackSpeedControl.setLiveConfiguration( defaultLivePlaybackSpeedControl.setLiveConfiguration(
new LiveConfiguration( new LiveConfiguration.Builder()
/* targetLiveOffsetMs= */ 42_000, .setTargetOffsetMs(42_000)
/* minLiveOffsetMs= */ 5_000, .setMinOffsetMs(5_000)
/* maxLiveOffsetMs= */ 400_000, .setMaxOffsetMs(400_000)
/* minPlaybackSpeed= */ 0.9f, .setMinPlaybackSpeed(0.9f)
/* maxPlaybackSpeed= */ 1.1f)); .setMaxPlaybackSpeed(1.1f)
.build());
long targetLiveOffsetBeforeUs = defaultLivePlaybackSpeedControl.getTargetLiveOffsetUs(); long targetLiveOffsetBeforeUs = defaultLivePlaybackSpeedControl.getTargetLiveOffsetUs();
defaultLivePlaybackSpeedControl.getAdjustedPlaybackSpeed( defaultLivePlaybackSpeedControl.getAdjustedPlaybackSpeed(
...@@ -496,12 +516,13 @@ public class DefaultLivePlaybackSpeedControlTest { ...@@ -496,12 +516,13 @@ public class DefaultLivePlaybackSpeedControlTest {
DefaultLivePlaybackSpeedControl defaultLivePlaybackSpeedControl = DefaultLivePlaybackSpeedControl defaultLivePlaybackSpeedControl =
new DefaultLivePlaybackSpeedControl.Builder().build(); new DefaultLivePlaybackSpeedControl.Builder().build();
defaultLivePlaybackSpeedControl.setLiveConfiguration( defaultLivePlaybackSpeedControl.setLiveConfiguration(
new LiveConfiguration( new LiveConfiguration.Builder()
/* targetLiveOffsetMs= */ 2_000, .setTargetOffsetMs(2_000)
/* minLiveOffsetMs= */ C.TIME_UNSET, .setMinOffsetMs(C.TIME_UNSET)
/* maxLiveOffsetMs= */ C.TIME_UNSET, .setMaxOffsetMs(C.TIME_UNSET)
/* minPlaybackSpeed= */ C.RATE_UNSET, .setMinPlaybackSpeed(C.RATE_UNSET)
/* maxPlaybackSpeed= */ C.RATE_UNSET)); .setMaxPlaybackSpeed(C.RATE_UNSET)
.build());
float adjustedSpeed = float adjustedSpeed =
defaultLivePlaybackSpeedControl.getAdjustedPlaybackSpeed( defaultLivePlaybackSpeedControl.getAdjustedPlaybackSpeed(
...@@ -517,12 +538,13 @@ public class DefaultLivePlaybackSpeedControlTest { ...@@ -517,12 +538,13 @@ public class DefaultLivePlaybackSpeedControlTest {
.setMaxLiveOffsetErrorMsForUnitSpeed(5) .setMaxLiveOffsetErrorMsForUnitSpeed(5)
.build(); .build();
defaultLivePlaybackSpeedControl.setLiveConfiguration( defaultLivePlaybackSpeedControl.setLiveConfiguration(
new LiveConfiguration( new LiveConfiguration.Builder()
/* targetLiveOffsetMs= */ 2_000, .setTargetOffsetMs(2_000)
/* minLiveOffsetMs= */ C.TIME_UNSET, .setMinOffsetMs(C.TIME_UNSET)
/* maxLiveOffsetMs= */ C.TIME_UNSET, .setMaxOffsetMs(C.TIME_UNSET)
/* minPlaybackSpeed= */ C.RATE_UNSET, .setMinPlaybackSpeed(C.RATE_UNSET)
/* maxPlaybackSpeed= */ C.RATE_UNSET)); .setMaxPlaybackSpeed(C.RATE_UNSET)
.build());
float adjustedSpeedJustAboveLowerErrorMargin = float adjustedSpeedJustAboveLowerErrorMargin =
defaultLivePlaybackSpeedControl.getAdjustedPlaybackSpeed( defaultLivePlaybackSpeedControl.getAdjustedPlaybackSpeed(
...@@ -540,12 +562,13 @@ public class DefaultLivePlaybackSpeedControlTest { ...@@ -540,12 +562,13 @@ public class DefaultLivePlaybackSpeedControlTest {
DefaultLivePlaybackSpeedControl defaultLivePlaybackSpeedControl = DefaultLivePlaybackSpeedControl defaultLivePlaybackSpeedControl =
new DefaultLivePlaybackSpeedControl.Builder().setProportionalControlFactor(0.01f).build(); new DefaultLivePlaybackSpeedControl.Builder().setProportionalControlFactor(0.01f).build();
defaultLivePlaybackSpeedControl.setLiveConfiguration( defaultLivePlaybackSpeedControl.setLiveConfiguration(
new LiveConfiguration( new LiveConfiguration.Builder()
/* targetLiveOffsetMs= */ 2_000, .setTargetOffsetMs(2_000)
/* minLiveOffsetMs= */ C.TIME_UNSET, .setMinOffsetMs(C.TIME_UNSET)
/* maxLiveOffsetMs= */ C.TIME_UNSET, .setMaxOffsetMs(C.TIME_UNSET)
/* minPlaybackSpeed= */ C.RATE_UNSET, .setMinPlaybackSpeed(C.RATE_UNSET)
/* maxPlaybackSpeed= */ C.RATE_UNSET)); .setMaxPlaybackSpeed(C.RATE_UNSET)
.build());
float adjustedSpeed = float adjustedSpeed =
defaultLivePlaybackSpeedControl.getAdjustedPlaybackSpeed( defaultLivePlaybackSpeedControl.getAdjustedPlaybackSpeed(
...@@ -562,12 +585,13 @@ public class DefaultLivePlaybackSpeedControlTest { ...@@ -562,12 +585,13 @@ public class DefaultLivePlaybackSpeedControlTest {
new DefaultLivePlaybackSpeedControl.Builder().setProportionalControlFactor(0.01f).build(); new DefaultLivePlaybackSpeedControl.Builder().setProportionalControlFactor(0.01f).build();
defaultLivePlaybackSpeedControl.setTargetLiveOffsetOverrideUs(2_000_000); defaultLivePlaybackSpeedControl.setTargetLiveOffsetOverrideUs(2_000_000);
defaultLivePlaybackSpeedControl.setLiveConfiguration( defaultLivePlaybackSpeedControl.setLiveConfiguration(
new LiveConfiguration( new LiveConfiguration.Builder()
/* targetLiveOffsetMs= */ 2_000, .setTargetOffsetMs(2_000)
/* minLiveOffsetMs= */ C.TIME_UNSET, .setMinOffsetMs(C.TIME_UNSET)
/* maxLiveOffsetMs= */ C.TIME_UNSET, .setMaxOffsetMs(C.TIME_UNSET)
/* minPlaybackSpeed= */ C.RATE_UNSET, .setMinPlaybackSpeed(C.RATE_UNSET)
/* maxPlaybackSpeed= */ C.RATE_UNSET)); .setMaxPlaybackSpeed(C.RATE_UNSET)
.build());
float adjustedSpeed = float adjustedSpeed =
defaultLivePlaybackSpeedControl.getAdjustedPlaybackSpeed( defaultLivePlaybackSpeedControl.getAdjustedPlaybackSpeed(
...@@ -584,12 +608,13 @@ public class DefaultLivePlaybackSpeedControlTest { ...@@ -584,12 +608,13 @@ public class DefaultLivePlaybackSpeedControlTest {
DefaultLivePlaybackSpeedControl defaultLivePlaybackSpeedControl = DefaultLivePlaybackSpeedControl defaultLivePlaybackSpeedControl =
new DefaultLivePlaybackSpeedControl.Builder().setFallbackMaxPlaybackSpeed(1.5f).build(); new DefaultLivePlaybackSpeedControl.Builder().setFallbackMaxPlaybackSpeed(1.5f).build();
defaultLivePlaybackSpeedControl.setLiveConfiguration( defaultLivePlaybackSpeedControl.setLiveConfiguration(
new LiveConfiguration( new LiveConfiguration.Builder()
/* targetLiveOffsetMs= */ 2_000, .setTargetOffsetMs(2_000)
/* minLiveOffsetMs= */ C.TIME_UNSET, .setMinOffsetMs(C.TIME_UNSET)
/* maxLiveOffsetMs= */ C.TIME_UNSET, .setMaxOffsetMs(C.TIME_UNSET)
/* minPlaybackSpeed= */ C.RATE_UNSET, .setMinPlaybackSpeed(C.RATE_UNSET)
/* maxPlaybackSpeed= */ C.RATE_UNSET)); .setMaxPlaybackSpeed(C.RATE_UNSET)
.build());
float adjustedSpeed = float adjustedSpeed =
defaultLivePlaybackSpeedControl.getAdjustedPlaybackSpeed( defaultLivePlaybackSpeedControl.getAdjustedPlaybackSpeed(
...@@ -604,12 +629,13 @@ public class DefaultLivePlaybackSpeedControlTest { ...@@ -604,12 +629,13 @@ public class DefaultLivePlaybackSpeedControlTest {
DefaultLivePlaybackSpeedControl defaultLivePlaybackSpeedControl = DefaultLivePlaybackSpeedControl defaultLivePlaybackSpeedControl =
new DefaultLivePlaybackSpeedControl.Builder().setFallbackMinPlaybackSpeed(0.5f).build(); new DefaultLivePlaybackSpeedControl.Builder().setFallbackMinPlaybackSpeed(0.5f).build();
defaultLivePlaybackSpeedControl.setLiveConfiguration( defaultLivePlaybackSpeedControl.setLiveConfiguration(
new LiveConfiguration( new LiveConfiguration.Builder()
/* targetLiveOffsetMs= */ 2_000, .setTargetOffsetMs(2_000)
/* minLiveOffsetMs= */ C.TIME_UNSET, .setMinOffsetMs(C.TIME_UNSET)
/* maxLiveOffsetMs= */ C.TIME_UNSET, .setMaxOffsetMs(C.TIME_UNSET)
/* minPlaybackSpeed= */ C.RATE_UNSET, .setMinPlaybackSpeed(C.RATE_UNSET)
/* maxPlaybackSpeed= */ C.RATE_UNSET)); .setMaxPlaybackSpeed(C.RATE_UNSET)
.build());
float adjustedSpeed = float adjustedSpeed =
defaultLivePlaybackSpeedControl.getAdjustedPlaybackSpeed( defaultLivePlaybackSpeedControl.getAdjustedPlaybackSpeed(
...@@ -624,12 +650,13 @@ public class DefaultLivePlaybackSpeedControlTest { ...@@ -624,12 +650,13 @@ public class DefaultLivePlaybackSpeedControlTest {
DefaultLivePlaybackSpeedControl defaultLivePlaybackSpeedControl = DefaultLivePlaybackSpeedControl defaultLivePlaybackSpeedControl =
new DefaultLivePlaybackSpeedControl.Builder().setFallbackMaxPlaybackSpeed(1.5f).build(); new DefaultLivePlaybackSpeedControl.Builder().setFallbackMaxPlaybackSpeed(1.5f).build();
defaultLivePlaybackSpeedControl.setLiveConfiguration( defaultLivePlaybackSpeedControl.setLiveConfiguration(
new LiveConfiguration( new LiveConfiguration.Builder()
/* targetLiveOffsetMs= */ 2_000, .setTargetOffsetMs(2_000)
/* minLiveOffsetMs= */ C.TIME_UNSET, .setMinOffsetMs(C.TIME_UNSET)
/* maxLiveOffsetMs= */ C.TIME_UNSET, .setMaxOffsetMs(C.TIME_UNSET)
/* minPlaybackSpeed= */ C.RATE_UNSET, .setMinPlaybackSpeed(C.RATE_UNSET)
/* maxPlaybackSpeed= */ 2f)); .setMaxPlaybackSpeed(2f)
.build());
float adjustedSpeed = float adjustedSpeed =
defaultLivePlaybackSpeedControl.getAdjustedPlaybackSpeed( defaultLivePlaybackSpeedControl.getAdjustedPlaybackSpeed(
...@@ -644,12 +671,13 @@ public class DefaultLivePlaybackSpeedControlTest { ...@@ -644,12 +671,13 @@ public class DefaultLivePlaybackSpeedControlTest {
DefaultLivePlaybackSpeedControl defaultLivePlaybackSpeedControl = DefaultLivePlaybackSpeedControl defaultLivePlaybackSpeedControl =
new DefaultLivePlaybackSpeedControl.Builder().setFallbackMinPlaybackSpeed(0.5f).build(); new DefaultLivePlaybackSpeedControl.Builder().setFallbackMinPlaybackSpeed(0.5f).build();
defaultLivePlaybackSpeedControl.setLiveConfiguration( defaultLivePlaybackSpeedControl.setLiveConfiguration(
new LiveConfiguration( new LiveConfiguration.Builder()
/* targetLiveOffsetMs= */ 2_000, .setTargetOffsetMs(2_000)
/* minLiveOffsetMs= */ C.TIME_UNSET, .setMinOffsetMs(C.TIME_UNSET)
/* maxLiveOffsetMs= */ C.TIME_UNSET, .setMaxOffsetMs(C.TIME_UNSET)
/* minPlaybackSpeed= */ 0.2f, .setMinPlaybackSpeed(0.2f)
/* maxPlaybackSpeed= */ C.RATE_UNSET)); .setMaxPlaybackSpeed(C.RATE_UNSET)
.build());
float adjustedSpeed = float adjustedSpeed =
defaultLivePlaybackSpeedControl.getAdjustedPlaybackSpeed( defaultLivePlaybackSpeedControl.getAdjustedPlaybackSpeed(
...@@ -663,12 +691,13 @@ public class DefaultLivePlaybackSpeedControlTest { ...@@ -663,12 +691,13 @@ public class DefaultLivePlaybackSpeedControlTest {
DefaultLivePlaybackSpeedControl defaultLivePlaybackSpeedControl = DefaultLivePlaybackSpeedControl defaultLivePlaybackSpeedControl =
new DefaultLivePlaybackSpeedControl.Builder().setMinUpdateIntervalMs(123).build(); new DefaultLivePlaybackSpeedControl.Builder().setMinUpdateIntervalMs(123).build();
defaultLivePlaybackSpeedControl.setLiveConfiguration( defaultLivePlaybackSpeedControl.setLiveConfiguration(
new LiveConfiguration( new LiveConfiguration.Builder()
/* targetLiveOffsetMs= */ 2_000, .setTargetOffsetMs(2_000)
/* minLiveOffsetMs= */ C.TIME_UNSET, .setMinOffsetMs(C.TIME_UNSET)
/* maxLiveOffsetMs= */ C.TIME_UNSET, .setMaxOffsetMs(C.TIME_UNSET)
/* minPlaybackSpeed= */ C.RATE_UNSET, .setMinPlaybackSpeed(C.RATE_UNSET)
/* maxPlaybackSpeed= */ C.RATE_UNSET)); .setMaxPlaybackSpeed(C.RATE_UNSET)
.build());
float adjustedSpeed1 = float adjustedSpeed1 =
defaultLivePlaybackSpeedControl.getAdjustedPlaybackSpeed( defaultLivePlaybackSpeedControl.getAdjustedPlaybackSpeed(
...@@ -692,23 +721,25 @@ public class DefaultLivePlaybackSpeedControlTest { ...@@ -692,23 +721,25 @@ public class DefaultLivePlaybackSpeedControlTest {
DefaultLivePlaybackSpeedControl defaultLivePlaybackSpeedControl = DefaultLivePlaybackSpeedControl defaultLivePlaybackSpeedControl =
new DefaultLivePlaybackSpeedControl.Builder().setMinUpdateIntervalMs(123).build(); new DefaultLivePlaybackSpeedControl.Builder().setMinUpdateIntervalMs(123).build();
defaultLivePlaybackSpeedControl.setLiveConfiguration( defaultLivePlaybackSpeedControl.setLiveConfiguration(
new LiveConfiguration( new LiveConfiguration.Builder()
/* targetLiveOffsetMs= */ 2_000, .setTargetOffsetMs(2_000)
/* minLiveOffsetMs= */ C.TIME_UNSET, .setMinOffsetMs(C.TIME_UNSET)
/* maxLiveOffsetMs= */ C.TIME_UNSET, .setMaxOffsetMs(C.TIME_UNSET)
/* minPlaybackSpeed= */ C.RATE_UNSET, .setMinPlaybackSpeed(C.RATE_UNSET)
/* maxPlaybackSpeed= */ C.RATE_UNSET)); .setMaxPlaybackSpeed(C.RATE_UNSET)
.build());
float adjustedSpeed1 = float adjustedSpeed1 =
defaultLivePlaybackSpeedControl.getAdjustedPlaybackSpeed( defaultLivePlaybackSpeedControl.getAdjustedPlaybackSpeed(
/* liveOffsetUs= */ 1_500_000, /* bufferedDurationUs= */ 1_000_000); /* liveOffsetUs= */ 1_500_000, /* bufferedDurationUs= */ 1_000_000);
defaultLivePlaybackSpeedControl.setLiveConfiguration( defaultLivePlaybackSpeedControl.setLiveConfiguration(
new LiveConfiguration( new LiveConfiguration.Builder()
/* targetLiveOffsetMs= */ 2_000, .setTargetOffsetMs(2_000)
/* minLiveOffsetMs= */ C.TIME_UNSET, .setMinOffsetMs(C.TIME_UNSET)
/* maxLiveOffsetMs= */ C.TIME_UNSET, .setMaxOffsetMs(C.TIME_UNSET)
/* minPlaybackSpeed= */ C.RATE_UNSET, .setMinPlaybackSpeed(C.RATE_UNSET)
/* maxPlaybackSpeed= */ C.RATE_UNSET)); .setMaxPlaybackSpeed(C.RATE_UNSET)
.build());
float adjustedSpeed2 = float adjustedSpeed2 =
defaultLivePlaybackSpeedControl.getAdjustedPlaybackSpeed( defaultLivePlaybackSpeedControl.getAdjustedPlaybackSpeed(
/* liveOffsetUs= */ 2_500_000, /* bufferedDurationUs= */ 1_000_000); /* liveOffsetUs= */ 2_500_000, /* bufferedDurationUs= */ 1_000_000);
...@@ -722,23 +753,25 @@ public class DefaultLivePlaybackSpeedControlTest { ...@@ -722,23 +753,25 @@ public class DefaultLivePlaybackSpeedControlTest {
DefaultLivePlaybackSpeedControl defaultLivePlaybackSpeedControl = DefaultLivePlaybackSpeedControl defaultLivePlaybackSpeedControl =
new DefaultLivePlaybackSpeedControl.Builder().setMinUpdateIntervalMs(123).build(); new DefaultLivePlaybackSpeedControl.Builder().setMinUpdateIntervalMs(123).build();
defaultLivePlaybackSpeedControl.setLiveConfiguration( defaultLivePlaybackSpeedControl.setLiveConfiguration(
new LiveConfiguration( new LiveConfiguration.Builder()
/* targetLiveOffsetMs= */ 2_000, .setTargetOffsetMs(2_000)
/* minLiveOffsetMs= */ C.TIME_UNSET, .setMinOffsetMs(C.TIME_UNSET)
/* maxLiveOffsetMs= */ C.TIME_UNSET, .setMaxOffsetMs(C.TIME_UNSET)
/* minPlaybackSpeed= */ C.RATE_UNSET, .setMinPlaybackSpeed(C.RATE_UNSET)
/* maxPlaybackSpeed= */ C.RATE_UNSET)); .setMaxPlaybackSpeed(C.RATE_UNSET)
.build());
float adjustedSpeed1 = float adjustedSpeed1 =
defaultLivePlaybackSpeedControl.getAdjustedPlaybackSpeed( defaultLivePlaybackSpeedControl.getAdjustedPlaybackSpeed(
/* liveOffsetUs= */ 1_500_000, /* bufferedDurationUs= */ 1_000_000); /* liveOffsetUs= */ 1_500_000, /* bufferedDurationUs= */ 1_000_000);
defaultLivePlaybackSpeedControl.setLiveConfiguration( defaultLivePlaybackSpeedControl.setLiveConfiguration(
new LiveConfiguration( new LiveConfiguration.Builder()
/* targetLiveOffsetMs= */ 1_000, .setTargetOffsetMs(1_000)
/* minLiveOffsetMs= */ C.TIME_UNSET, .setMinOffsetMs(C.TIME_UNSET)
/* maxLiveOffsetMs= */ C.TIME_UNSET, .setMaxOffsetMs(C.TIME_UNSET)
/* minPlaybackSpeed= */ C.RATE_UNSET, .setMinPlaybackSpeed(C.RATE_UNSET)
/* maxPlaybackSpeed= */ C.RATE_UNSET)); .setMaxPlaybackSpeed(C.RATE_UNSET)
.build());
float adjustedSpeed2 = float adjustedSpeed2 =
defaultLivePlaybackSpeedControl.getAdjustedPlaybackSpeed( defaultLivePlaybackSpeedControl.getAdjustedPlaybackSpeed(
/* liveOffsetUs= */ 2_500_000, /* bufferedDurationUs= */ 1_000_000); /* liveOffsetUs= */ 2_500_000, /* bufferedDurationUs= */ 1_000_000);
...@@ -752,12 +785,13 @@ public class DefaultLivePlaybackSpeedControlTest { ...@@ -752,12 +785,13 @@ public class DefaultLivePlaybackSpeedControlTest {
DefaultLivePlaybackSpeedControl defaultLivePlaybackSpeedControl = DefaultLivePlaybackSpeedControl defaultLivePlaybackSpeedControl =
new DefaultLivePlaybackSpeedControl.Builder().setMinUpdateIntervalMs(123).build(); new DefaultLivePlaybackSpeedControl.Builder().setMinUpdateIntervalMs(123).build();
defaultLivePlaybackSpeedControl.setLiveConfiguration( defaultLivePlaybackSpeedControl.setLiveConfiguration(
new LiveConfiguration( new LiveConfiguration.Builder()
/* targetLiveOffsetMs= */ 2_000, .setTargetOffsetMs(2_000)
/* minLiveOffsetMs= */ C.TIME_UNSET, .setMinOffsetMs(C.TIME_UNSET)
/* maxLiveOffsetMs= */ C.TIME_UNSET, .setMaxOffsetMs(C.TIME_UNSET)
/* minPlaybackSpeed= */ C.RATE_UNSET, .setMinPlaybackSpeed(C.RATE_UNSET)
/* maxPlaybackSpeed= */ C.RATE_UNSET)); .setMaxPlaybackSpeed(C.RATE_UNSET)
.build());
float adjustedSpeed1 = float adjustedSpeed1 =
defaultLivePlaybackSpeedControl.getAdjustedPlaybackSpeed( defaultLivePlaybackSpeedControl.getAdjustedPlaybackSpeed(
...@@ -775,12 +809,13 @@ public class DefaultLivePlaybackSpeedControlTest { ...@@ -775,12 +809,13 @@ public class DefaultLivePlaybackSpeedControlTest {
DefaultLivePlaybackSpeedControl defaultLivePlaybackSpeedControl = DefaultLivePlaybackSpeedControl defaultLivePlaybackSpeedControl =
new DefaultLivePlaybackSpeedControl.Builder().setMinUpdateIntervalMs(123).build(); new DefaultLivePlaybackSpeedControl.Builder().setMinUpdateIntervalMs(123).build();
defaultLivePlaybackSpeedControl.setLiveConfiguration( defaultLivePlaybackSpeedControl.setLiveConfiguration(
new LiveConfiguration( new LiveConfiguration.Builder()
/* targetLiveOffsetMs= */ 2_000, .setTargetOffsetMs(2_000)
/* minLiveOffsetMs= */ C.TIME_UNSET, .setMinOffsetMs(C.TIME_UNSET)
/* maxLiveOffsetMs= */ C.TIME_UNSET, .setMaxOffsetMs(C.TIME_UNSET)
/* minPlaybackSpeed= */ C.RATE_UNSET, .setMinPlaybackSpeed(C.RATE_UNSET)
/* maxPlaybackSpeed= */ C.RATE_UNSET)); .setMaxPlaybackSpeed(C.RATE_UNSET)
.build());
float adjustedSpeed1 = float adjustedSpeed1 =
defaultLivePlaybackSpeedControl.getAdjustedPlaybackSpeed( defaultLivePlaybackSpeedControl.getAdjustedPlaybackSpeed(
......
...@@ -93,12 +93,22 @@ public final class DefaultMediaSourceFactoryTest { ...@@ -93,12 +93,22 @@ public final class DefaultMediaSourceFactoryTest {
public void createMediaSource_withSubtitle_isMergingMediaSource() { public void createMediaSource_withSubtitle_isMergingMediaSource() {
DefaultMediaSourceFactory defaultMediaSourceFactory = DefaultMediaSourceFactory defaultMediaSourceFactory =
new DefaultMediaSourceFactory((Context) ApplicationProvider.getApplicationContext()); new DefaultMediaSourceFactory((Context) ApplicationProvider.getApplicationContext());
List<MediaItem.Subtitle> subtitles = List<MediaItem.SubtitleConfiguration> subtitleConfigurations =
Arrays.asList( Arrays.asList(
new MediaItem.Subtitle(Uri.parse(URI_TEXT), MimeTypes.APPLICATION_TTML, "en"), new MediaItem.SubtitleConfiguration.Builder(Uri.parse(URI_TEXT))
new MediaItem.Subtitle( .setMimeType(MimeTypes.APPLICATION_TTML)
Uri.parse(URI_TEXT), MimeTypes.APPLICATION_TTML, "de", C.SELECTION_FLAG_DEFAULT)); .setLanguage("en")
MediaItem mediaItem = new MediaItem.Builder().setUri(URI_MEDIA).setSubtitles(subtitles).build(); .build(),
new MediaItem.SubtitleConfiguration.Builder(Uri.parse(URI_TEXT))
.setMimeType(MimeTypes.APPLICATION_TTML)
.setLanguage("de")
.setSelectionFlags(C.SELECTION_FLAG_DEFAULT)
.build());
MediaItem mediaItem =
new MediaItem.Builder()
.setUri(URI_MEDIA)
.setSubtitleConfigurations(subtitleConfigurations)
.build();
MediaSource mediaSource = defaultMediaSourceFactory.createMediaSource(mediaItem); MediaSource mediaSource = defaultMediaSourceFactory.createMediaSource(mediaItem);
...@@ -110,7 +120,11 @@ public final class DefaultMediaSourceFactoryTest { ...@@ -110,7 +120,11 @@ public final class DefaultMediaSourceFactoryTest {
DefaultMediaSourceFactory defaultMediaSourceFactory = DefaultMediaSourceFactory defaultMediaSourceFactory =
new DefaultMediaSourceFactory((Context) ApplicationProvider.getApplicationContext()); new DefaultMediaSourceFactory((Context) ApplicationProvider.getApplicationContext());
MediaItem mediaItem = MediaItem mediaItem =
new MediaItem.Builder().setUri(URI_MEDIA).setClipStartPositionMs(1000L).build(); new MediaItem.Builder()
.setUri(URI_MEDIA)
.setClippingConfiguration(
new MediaItem.ClippingConfiguration.Builder().setStartPositionMs(1000L).build())
.build();
MediaSource mediaSource = defaultMediaSourceFactory.createMediaSource(mediaItem); MediaSource mediaSource = defaultMediaSourceFactory.createMediaSource(mediaItem);
...@@ -122,7 +136,11 @@ public final class DefaultMediaSourceFactoryTest { ...@@ -122,7 +136,11 @@ public final class DefaultMediaSourceFactoryTest {
DefaultMediaSourceFactory defaultMediaSourceFactory = DefaultMediaSourceFactory defaultMediaSourceFactory =
new DefaultMediaSourceFactory((Context) ApplicationProvider.getApplicationContext()); new DefaultMediaSourceFactory((Context) ApplicationProvider.getApplicationContext());
MediaItem mediaItem = MediaItem mediaItem =
new MediaItem.Builder().setUri(URI_MEDIA).setClipEndPositionMs(1000L).build(); new MediaItem.Builder()
.setUri(URI_MEDIA)
.setClippingConfiguration(
new MediaItem.ClippingConfiguration.Builder().setEndPositionMs(1000L).build())
.build();
MediaSource mediaSource = defaultMediaSourceFactory.createMediaSource(mediaItem); MediaSource mediaSource = defaultMediaSourceFactory.createMediaSource(mediaItem);
...@@ -134,7 +152,13 @@ public final class DefaultMediaSourceFactoryTest { ...@@ -134,7 +152,13 @@ public final class DefaultMediaSourceFactoryTest {
DefaultMediaSourceFactory defaultMediaSourceFactory = DefaultMediaSourceFactory defaultMediaSourceFactory =
new DefaultMediaSourceFactory((Context) ApplicationProvider.getApplicationContext()); new DefaultMediaSourceFactory((Context) ApplicationProvider.getApplicationContext());
MediaItem mediaItem = MediaItem mediaItem =
new MediaItem.Builder().setUri(URI_MEDIA).setClipRelativeToDefaultPosition(true).build(); new MediaItem.Builder()
.setUri(URI_MEDIA)
.setClippingConfiguration(
new MediaItem.ClippingConfiguration.Builder()
.setRelativeToDefaultPosition(true)
.build())
.build();
MediaSource mediaSource = defaultMediaSourceFactory.createMediaSource(mediaItem); MediaSource mediaSource = defaultMediaSourceFactory.createMediaSource(mediaItem);
...@@ -148,7 +172,10 @@ public final class DefaultMediaSourceFactoryTest { ...@@ -148,7 +172,10 @@ public final class DefaultMediaSourceFactoryTest {
MediaItem mediaItem = MediaItem mediaItem =
new MediaItem.Builder() new MediaItem.Builder()
.setUri(URI_MEDIA) .setUri(URI_MEDIA)
.setClipEndPositionMs(C.TIME_END_OF_SOURCE) .setClippingConfiguration(
new MediaItem.ClippingConfiguration.Builder()
.setEndPositionMs(C.TIME_END_OF_SOURCE)
.build())
.build(); .build();
MediaSource mediaSource = defaultMediaSourceFactory.createMediaSource(mediaItem); MediaSource mediaSource = defaultMediaSourceFactory.createMediaSource(mediaItem);
......
...@@ -1055,8 +1055,13 @@ public final class DashMediaSource extends BaseMediaSource { ...@@ -1055,8 +1055,13 @@ public final class DashMediaSource extends BaseMediaSource {
maxPlaybackSpeed = manifest.serviceDescription.maxPlaybackSpeed; maxPlaybackSpeed = manifest.serviceDescription.maxPlaybackSpeed;
} }
liveConfiguration = liveConfiguration =
new MediaItem.LiveConfiguration( new MediaItem.LiveConfiguration.Builder()
targetOffsetMs, minLiveOffsetMs, maxLiveOffsetMs, minPlaybackSpeed, maxPlaybackSpeed); .setTargetOffsetMs(targetOffsetMs)
.setMinOffsetMs(minLiveOffsetMs)
.setMaxOffsetMs(maxLiveOffsetMs)
.setMinPlaybackSpeed(minPlaybackSpeed)
.setMaxPlaybackSpeed(maxPlaybackSpeed)
.build();
} }
private void scheduleManifestRefresh(long delayUntilNextLoadMs) { private void scheduleManifestRefresh(long delayUntilNextLoadMs) {
......
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