Commit 59cd783d by ibaker Committed by bachinger

Add MediaItem.ClippingProperties.Builder

PiperOrigin-RevId: 398232186
parent 13723000
...@@ -307,21 +307,67 @@ public class MediaItemTest { ...@@ -307,21 +307,67 @@ public class MediaItemTest {
} }
@Test @Test
public void builderSetStartPositionMs_setsStartPositionMs() { public void builderSetClippingProperties() {
MediaItem mediaItem = MediaItem mediaItem =
new MediaItem.Builder().setUri(URI_STRING).setClipStartPositionMs(1000L).build(); new MediaItem.Builder()
.setUri(URI_STRING)
.setClippingProperties(
new MediaItem.ClippingProperties.Builder()
.setStartPositionMs(1000L)
.setEndPositionMs(2000L)
.setRelativeToLiveWindow(true)
.setRelativeToDefaultPosition(true)
.setStartsAtKeyFrame(true)
.build())
.build();
assertThat(mediaItem.clippingProperties.startPositionMs).isEqualTo(1000L); assertThat(mediaItem.clippingProperties.startPositionMs).isEqualTo(1000L);
assertThat(mediaItem.clippingProperties.endPositionMs).isEqualTo(2000L);
assertThat(mediaItem.clippingProperties.relativeToLiveWindow).isTrue();
assertThat(mediaItem.clippingProperties.relativeToDefaultPosition).isTrue();
assertThat(mediaItem.clippingProperties.startsAtKeyFrame).isTrue();
} }
@Test @Test
public void builderSetStartPositionMs_zeroByDefault() { public void clippingPropertiesDefaults() {
MediaItem mediaItem = new MediaItem.Builder().setUri(URI_STRING).build(); MediaItem.ClippingProperties clippingProperties =
new MediaItem.ClippingProperties.Builder().build();
assertThat(mediaItem.clippingProperties.startPositionMs).isEqualTo(0); assertThat(clippingProperties.startPositionMs).isEqualTo(0L);
assertThat(clippingProperties.endPositionMs).isEqualTo(C.TIME_END_OF_SOURCE);
assertThat(clippingProperties.relativeToLiveWindow).isFalse();
assertThat(clippingProperties.relativeToDefaultPosition).isFalse();
assertThat(clippingProperties.startsAtKeyFrame).isFalse();
assertThat(clippingProperties).isEqualTo(MediaItem.ClippingProperties.UNSET);
} }
@Test @Test
public void clippingPropertiesBuilder_throwsOnInvalidValues() {
MediaItem.ClippingProperties.Builder clippingPropertiesBuilder =
new MediaItem.ClippingProperties.Builder();
assertThrows(
IllegalArgumentException.class, () -> clippingPropertiesBuilder.setStartPositionMs(-1));
assertThrows(
IllegalArgumentException.class, () -> clippingPropertiesBuilder.setEndPositionMs(-1));
MediaItem.ClippingProperties clippingProperties = clippingPropertiesBuilder.build();
// Check neither of the setters succeeded in mutating the builder.
assertThat(clippingProperties.startPositionMs).isEqualTo(0L);
assertThat(clippingProperties.endPositionMs).isEqualTo(C.TIME_END_OF_SOURCE);
}
@Test
@SuppressWarnings("deprecation") // Testing deprecated setter.
public void builderSetStartPositionMs_setsStartPositionMs() {
MediaItem mediaItem =
new MediaItem.Builder().setUri(URI_STRING).setClipStartPositionMs(1000L).build();
assertThat(mediaItem.clippingProperties.startPositionMs).isEqualTo(1000L);
}
@Test
@SuppressWarnings("deprecation") // Testing deprecated setter.
public void builderSetStartPositionMs_negativeValue_throws() { public void builderSetStartPositionMs_negativeValue_throws() {
MediaItem.Builder builder = new MediaItem.Builder(); MediaItem.Builder builder = new MediaItem.Builder();
...@@ -329,6 +375,7 @@ public class MediaItemTest { ...@@ -329,6 +375,7 @@ public class MediaItemTest {
} }
@Test @Test
@SuppressWarnings("deprecation") // Testing deprecated setter.
public void builderSetEndPositionMs_setsEndPositionMs() { public void builderSetEndPositionMs_setsEndPositionMs() {
MediaItem mediaItem = MediaItem mediaItem =
new MediaItem.Builder().setUri(URI_STRING).setClipEndPositionMs(1000L).build(); new MediaItem.Builder().setUri(URI_STRING).setClipEndPositionMs(1000L).build();
...@@ -337,13 +384,7 @@ public class MediaItemTest { ...@@ -337,13 +384,7 @@ public class MediaItemTest {
} }
@Test @Test
public void builderSetEndPositionMs_timeEndOfSourceByDefault() { @SuppressWarnings("deprecation") // Testing deprecated setter.
MediaItem mediaItem = new MediaItem.Builder().setUri(URI_STRING).build();
assertThat(mediaItem.clippingProperties.endPositionMs).isEqualTo(C.TIME_END_OF_SOURCE);
}
@Test
public void builderSetEndPositionMs_timeEndOfSource_setsEndPositionMs() { public void builderSetEndPositionMs_timeEndOfSource_setsEndPositionMs() {
MediaItem mediaItem = MediaItem mediaItem =
new MediaItem.Builder() new MediaItem.Builder()
...@@ -356,6 +397,7 @@ public class MediaItemTest { ...@@ -356,6 +397,7 @@ public class MediaItemTest {
} }
@Test @Test
@SuppressWarnings("deprecation") // Testing deprecated setter.
public void builderSetEndPositionMs_negativeValue_throws() { public void builderSetEndPositionMs_negativeValue_throws() {
MediaItem.Builder builder = new MediaItem.Builder(); MediaItem.Builder builder = new MediaItem.Builder();
...@@ -363,6 +405,7 @@ public class MediaItemTest { ...@@ -363,6 +405,7 @@ public class MediaItemTest {
} }
@Test @Test
@SuppressWarnings("deprecation") // Testing deprecated setter.
public void builderSetClippingFlags_setsClippingFlags() { public void builderSetClippingFlags_setsClippingFlags() {
MediaItem mediaItem = MediaItem mediaItem =
new MediaItem.Builder() new MediaItem.Builder()
...@@ -561,11 +604,14 @@ public class MediaItemTest { ...@@ -561,11 +604,14 @@ public class MediaItemTest {
new MediaItem.Builder() new MediaItem.Builder()
.setAdsConfiguration( .setAdsConfiguration(
new MediaItem.AdsConfiguration.Builder(Uri.parse(URI_STRING)).build()) new MediaItem.AdsConfiguration.Builder(Uri.parse(URI_STRING)).build())
.setClipEndPositionMs(1000) .setClippingProperties(
.setClipRelativeToDefaultPosition(true) new MediaItem.ClippingProperties.Builder()
.setClipRelativeToLiveWindow(true) .setEndPositionMs(1000)
.setClipStartPositionMs(100) .setRelativeToDefaultPosition(true)
.setClipStartsAtKeyFrame(true) .setRelativeToLiveWindow(true)
.setStartPositionMs(100)
.setStartsAtKeyFrame(true)
.build())
.setCustomCacheKey("key") .setCustomCacheKey("key")
.setDrmConfiguration( .setDrmConfiguration(
new MediaItem.DrmConfiguration.Builder(C.WIDEVINE_UUID) new MediaItem.DrmConfiguration.Builder(C.WIDEVINE_UUID)
......
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