Rename MediaItem.ClippingProperties to ClippingConfiguration
This is more consistent with the other MediaItem inner classes which are all Configurations. The old class and fields are left deprecated for backwards compatibility. MediaItem.Builder#setClippingProperties is directly renamed (without deprecation) because it only exists on the dev-v2 branch and hasn't been included in a numbered ExoPlayer release. PiperOrigin-RevId: 399471414
This commit is contained in:
parent
b6b39cf7cf
commit
8db6ea4649
@ -69,7 +69,7 @@ public final class MediaItem implements Bundleable {
|
|||||||
@Nullable private String mimeType;
|
@Nullable private String mimeType;
|
||||||
// TODO: Change this to ClippingProperties once all the deprecated individual setters are
|
// TODO: Change this to ClippingProperties once all the deprecated individual setters are
|
||||||
// removed.
|
// removed.
|
||||||
private ClippingProperties.Builder clippingProperties;
|
private ClippingConfiguration.Builder clippingConfiguration;
|
||||||
// TODO: Change this to @Nullable DrmConfiguration once all the deprecated individual setters
|
// TODO: Change this to @Nullable DrmConfiguration once all the deprecated individual setters
|
||||||
// are removed.
|
// are removed.
|
||||||
private DrmConfiguration.Builder drmConfiguration;
|
private DrmConfiguration.Builder drmConfiguration;
|
||||||
@ -86,7 +86,7 @@ public final class MediaItem implements Bundleable {
|
|||||||
/** Creates a builder. */
|
/** Creates a builder. */
|
||||||
@SuppressWarnings("deprecation") // Temporarily uses DrmConfiguration.Builder() constructor.
|
@SuppressWarnings("deprecation") // Temporarily uses DrmConfiguration.Builder() constructor.
|
||||||
public Builder() {
|
public Builder() {
|
||||||
clippingProperties = new ClippingProperties.Builder();
|
clippingConfiguration = new ClippingConfiguration.Builder();
|
||||||
drmConfiguration = new DrmConfiguration.Builder();
|
drmConfiguration = new DrmConfiguration.Builder();
|
||||||
streamKeys = Collections.emptyList();
|
streamKeys = Collections.emptyList();
|
||||||
subtitles = Collections.emptyList();
|
subtitles = Collections.emptyList();
|
||||||
@ -95,7 +95,7 @@ public final class MediaItem implements Bundleable {
|
|||||||
|
|
||||||
private Builder(MediaItem mediaItem) {
|
private Builder(MediaItem mediaItem) {
|
||||||
this();
|
this();
|
||||||
clippingProperties = mediaItem.clippingProperties.buildUpon();
|
clippingConfiguration = mediaItem.clippingConfiguration.buildUpon();
|
||||||
mediaId = mediaItem.mediaId;
|
mediaId = mediaItem.mediaId;
|
||||||
mediaMetadata = mediaItem.mediaMetadata;
|
mediaMetadata = mediaItem.mediaMetadata;
|
||||||
liveConfiguration = mediaItem.liveConfiguration.buildUpon();
|
liveConfiguration = mediaItem.liveConfiguration.buildUpon();
|
||||||
@ -162,59 +162,59 @@ public final class MediaItem implements Bundleable {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Sets the {@link ClippingProperties}, defaults to {@link ClippingProperties#UNSET}. */
|
/** Sets the {@link ClippingConfiguration}, defaults to {@link ClippingConfiguration#UNSET}. */
|
||||||
public Builder setClippingProperties(ClippingProperties clippingProperties) {
|
public Builder setClippingConfiguration(ClippingConfiguration clippingConfiguration) {
|
||||||
this.clippingProperties = clippingProperties.buildUpon();
|
this.clippingConfiguration = clippingConfiguration.buildUpon();
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @deprecated Use {@link #setClippingProperties(ClippingProperties)} and {@link
|
* @deprecated Use {@link #setClippingConfiguration(ClippingConfiguration)} and {@link
|
||||||
* ClippingProperties.Builder#setStartPositionMs(long)} instead.
|
* ClippingConfiguration.Builder#setStartPositionMs(long)} instead.
|
||||||
*/
|
*/
|
||||||
@Deprecated
|
@Deprecated
|
||||||
public Builder setClipStartPositionMs(@IntRange(from = 0) long startPositionMs) {
|
public Builder setClipStartPositionMs(@IntRange(from = 0) long startPositionMs) {
|
||||||
clippingProperties.setStartPositionMs(startPositionMs);
|
clippingConfiguration.setStartPositionMs(startPositionMs);
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @deprecated Use {@link #setClippingProperties(ClippingProperties)} and {@link
|
* @deprecated Use {@link #setClippingConfiguration(ClippingConfiguration)} and {@link
|
||||||
* ClippingProperties.Builder#setEndPositionMs(long)} instead.
|
* ClippingConfiguration.Builder#setEndPositionMs(long)} instead.
|
||||||
*/
|
*/
|
||||||
@Deprecated
|
@Deprecated
|
||||||
public Builder setClipEndPositionMs(long endPositionMs) {
|
public Builder setClipEndPositionMs(long endPositionMs) {
|
||||||
clippingProperties.setEndPositionMs(endPositionMs);
|
clippingConfiguration.setEndPositionMs(endPositionMs);
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @deprecated Use {@link #setClippingProperties(ClippingProperties)} and {@link
|
* @deprecated Use {@link #setClippingConfiguration(ClippingConfiguration)} and {@link
|
||||||
* ClippingProperties.Builder#setRelativeToLiveWindow(boolean)} instead.
|
* ClippingConfiguration.Builder#setRelativeToLiveWindow(boolean)} instead.
|
||||||
*/
|
*/
|
||||||
@Deprecated
|
@Deprecated
|
||||||
public Builder setClipRelativeToLiveWindow(boolean relativeToLiveWindow) {
|
public Builder setClipRelativeToLiveWindow(boolean relativeToLiveWindow) {
|
||||||
clippingProperties.setRelativeToLiveWindow(relativeToLiveWindow);
|
clippingConfiguration.setRelativeToLiveWindow(relativeToLiveWindow);
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @deprecated Use {@link #setClippingProperties(ClippingProperties)} and {@link
|
* @deprecated Use {@link #setClippingConfiguration(ClippingConfiguration)} and {@link
|
||||||
* ClippingProperties.Builder#setRelativeToDefaultPosition(boolean)} instead.
|
* ClippingConfiguration.Builder#setRelativeToDefaultPosition(boolean)} instead.
|
||||||
*/
|
*/
|
||||||
@Deprecated
|
@Deprecated
|
||||||
public Builder setClipRelativeToDefaultPosition(boolean relativeToDefaultPosition) {
|
public Builder setClipRelativeToDefaultPosition(boolean relativeToDefaultPosition) {
|
||||||
clippingProperties.setRelativeToDefaultPosition(relativeToDefaultPosition);
|
clippingConfiguration.setRelativeToDefaultPosition(relativeToDefaultPosition);
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @deprecated Use {@link #setClippingProperties(ClippingProperties)} and {@link
|
* @deprecated Use {@link #setClippingConfiguration(ClippingConfiguration)} and {@link
|
||||||
* ClippingProperties.Builder#setStartsAtKeyFrame(boolean)} instead.
|
* ClippingConfiguration.Builder#setStartsAtKeyFrame(boolean)} instead.
|
||||||
*/
|
*/
|
||||||
@Deprecated
|
@Deprecated
|
||||||
public Builder setClipStartsAtKeyFrame(boolean startsAtKeyFrame) {
|
public Builder setClipStartsAtKeyFrame(boolean startsAtKeyFrame) {
|
||||||
clippingProperties.setStartsAtKeyFrame(startsAtKeyFrame);
|
clippingConfiguration.setStartsAtKeyFrame(startsAtKeyFrame);
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -505,7 +505,7 @@ public final class MediaItem implements Bundleable {
|
|||||||
}
|
}
|
||||||
return new MediaItem(
|
return new MediaItem(
|
||||||
mediaId != null ? mediaId : DEFAULT_MEDIA_ID,
|
mediaId != null ? mediaId : DEFAULT_MEDIA_ID,
|
||||||
clippingProperties.build(),
|
clippingConfiguration.buildClippingProperties(),
|
||||||
localConfiguration,
|
localConfiguration,
|
||||||
liveConfiguration.build(),
|
liveConfiguration.build(),
|
||||||
mediaMetadata != null ? mediaMetadata : MediaMetadata.EMPTY);
|
mediaMetadata != null ? mediaMetadata : MediaMetadata.EMPTY);
|
||||||
@ -1368,12 +1368,13 @@ public final class MediaItem implements Bundleable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** Optionally clips the media item to a custom start and end position. */
|
/** Optionally clips the media item to a custom start and end position. */
|
||||||
public static final class ClippingProperties implements Bundleable {
|
// TODO: Mark this final when ClippingProperties is deleted.
|
||||||
|
public static class ClippingConfiguration implements Bundleable {
|
||||||
|
|
||||||
/** A clipping properties configuration with default values. */
|
/** A clipping configuration with default values. */
|
||||||
public static final ClippingProperties UNSET = new ClippingProperties.Builder().build();
|
public static final ClippingConfiguration UNSET = new ClippingConfiguration.Builder().build();
|
||||||
|
|
||||||
/** Builder for {@link ClippingProperties} instances. */
|
/** Builder for {@link ClippingConfiguration} instances. */
|
||||||
public static final class Builder {
|
public static final class Builder {
|
||||||
private long startPositionMs;
|
private long startPositionMs;
|
||||||
private long endPositionMs;
|
private long endPositionMs;
|
||||||
@ -1386,12 +1387,12 @@ public final class MediaItem implements Bundleable {
|
|||||||
endPositionMs = C.TIME_END_OF_SOURCE;
|
endPositionMs = C.TIME_END_OF_SOURCE;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Builder(ClippingProperties clippingProperties) {
|
private Builder(ClippingConfiguration clippingConfiguration) {
|
||||||
startPositionMs = clippingProperties.startPositionMs;
|
startPositionMs = clippingConfiguration.startPositionMs;
|
||||||
endPositionMs = clippingProperties.endPositionMs;
|
endPositionMs = clippingConfiguration.endPositionMs;
|
||||||
relativeToLiveWindow = clippingProperties.relativeToLiveWindow;
|
relativeToLiveWindow = clippingConfiguration.relativeToLiveWindow;
|
||||||
relativeToDefaultPosition = clippingProperties.relativeToDefaultPosition;
|
relativeToDefaultPosition = clippingConfiguration.relativeToDefaultPosition;
|
||||||
startsAtKeyFrame = clippingProperties.startsAtKeyFrame;
|
startsAtKeyFrame = clippingConfiguration.startsAtKeyFrame;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1444,9 +1445,16 @@ public final class MediaItem implements Bundleable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a {@link ClippingProperties} instance initialized with the values of this builder.
|
* Returns a {@link ClippingConfiguration} instance initialized with the values of this
|
||||||
|
* builder.
|
||||||
*/
|
*/
|
||||||
public ClippingProperties build() {
|
public ClippingConfiguration build() {
|
||||||
|
return buildClippingProperties();
|
||||||
|
}
|
||||||
|
|
||||||
|
/** @deprecated Use {@link #build()} instead. */
|
||||||
|
@Deprecated
|
||||||
|
public ClippingProperties buildClippingProperties() {
|
||||||
return new ClippingProperties(this);
|
return new ClippingProperties(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1476,7 +1484,7 @@ public final class MediaItem implements Bundleable {
|
|||||||
/** Sets whether the start point is guaranteed to be a key frame. */
|
/** Sets whether the start point is guaranteed to be a key frame. */
|
||||||
public final boolean startsAtKeyFrame;
|
public final boolean startsAtKeyFrame;
|
||||||
|
|
||||||
private ClippingProperties(Builder builder) {
|
private ClippingConfiguration(Builder builder) {
|
||||||
this.startPositionMs = builder.startPositionMs;
|
this.startPositionMs = builder.startPositionMs;
|
||||||
this.endPositionMs = builder.endPositionMs;
|
this.endPositionMs = builder.endPositionMs;
|
||||||
this.relativeToLiveWindow = builder.relativeToLiveWindow;
|
this.relativeToLiveWindow = builder.relativeToLiveWindow;
|
||||||
@ -1494,11 +1502,11 @@ public final class MediaItem implements Bundleable {
|
|||||||
if (this == obj) {
|
if (this == obj) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if (!(obj instanceof ClippingProperties)) {
|
if (!(obj instanceof ClippingConfiguration)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
ClippingProperties other = (ClippingProperties) obj;
|
ClippingConfiguration other = (ClippingConfiguration) obj;
|
||||||
|
|
||||||
return startPositionMs == other.startPositionMs
|
return startPositionMs == other.startPositionMs
|
||||||
&& endPositionMs == other.endPositionMs
|
&& endPositionMs == other.endPositionMs
|
||||||
@ -1547,10 +1555,10 @@ public final class MediaItem implements Bundleable {
|
|||||||
return bundle;
|
return bundle;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Object that can restore {@link ClippingProperties} from a {@link Bundle}. */
|
/** Object that can restore {@link ClippingConfiguration} from a {@link Bundle}. */
|
||||||
public static final Creator<ClippingProperties> CREATOR =
|
public static final Creator<ClippingProperties> CREATOR =
|
||||||
bundle ->
|
bundle ->
|
||||||
new ClippingProperties.Builder()
|
new ClippingConfiguration.Builder()
|
||||||
.setStartPositionMs(
|
.setStartPositionMs(
|
||||||
bundle.getLong(keyForField(FIELD_START_POSITION_MS), /* defaultValue= */ 0))
|
bundle.getLong(keyForField(FIELD_START_POSITION_MS), /* defaultValue= */ 0))
|
||||||
.setEndPositionMs(
|
.setEndPositionMs(
|
||||||
@ -1563,13 +1571,24 @@ public final class MediaItem implements Bundleable {
|
|||||||
bundle.getBoolean(keyForField(FIELD_RELATIVE_TO_DEFAULT_POSITION), false))
|
bundle.getBoolean(keyForField(FIELD_RELATIVE_TO_DEFAULT_POSITION), false))
|
||||||
.setStartsAtKeyFrame(
|
.setStartsAtKeyFrame(
|
||||||
bundle.getBoolean(keyForField(FIELD_STARTS_AT_KEY_FRAME), false))
|
bundle.getBoolean(keyForField(FIELD_STARTS_AT_KEY_FRAME), false))
|
||||||
.build();
|
.buildClippingProperties();
|
||||||
|
|
||||||
private static String keyForField(@ClippingProperties.FieldNumber int field) {
|
private static String keyForField(@ClippingConfiguration.FieldNumber int field) {
|
||||||
return Integer.toString(field, Character.MAX_RADIX);
|
return Integer.toString(field, Character.MAX_RADIX);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** @deprecated Use {@link ClippingConfiguration} instead. */
|
||||||
|
@Deprecated
|
||||||
|
public static final class ClippingProperties extends ClippingConfiguration {
|
||||||
|
public static final ClippingProperties UNSET =
|
||||||
|
new ClippingConfiguration.Builder().buildClippingProperties();
|
||||||
|
|
||||||
|
private ClippingProperties(Builder builder) {
|
||||||
|
super(builder);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The default media ID that is used if the media ID is not explicitly set by {@link
|
* The default media ID that is used if the media ID is not explicitly set by {@link
|
||||||
* Builder#setMediaId(String)}.
|
* Builder#setMediaId(String)}.
|
||||||
@ -1597,12 +1616,15 @@ public final class MediaItem implements Bundleable {
|
|||||||
public final MediaMetadata mediaMetadata;
|
public final MediaMetadata mediaMetadata;
|
||||||
|
|
||||||
/** The clipping properties. */
|
/** The clipping properties. */
|
||||||
public final ClippingProperties clippingProperties;
|
public final ClippingConfiguration clippingConfiguration;
|
||||||
|
/** @deprecated Use {@link #clippingConfiguration} instead. */
|
||||||
|
@Deprecated public final ClippingProperties clippingProperties;
|
||||||
|
|
||||||
@SuppressWarnings("deprecation") // Using PlaybackProperties until it's deleted.
|
// Using PlaybackProperties and ClippingProperties until they're deleted.
|
||||||
|
@SuppressWarnings("deprecation")
|
||||||
private MediaItem(
|
private MediaItem(
|
||||||
String mediaId,
|
String mediaId,
|
||||||
ClippingProperties clippingProperties,
|
ClippingProperties clippingConfiguration,
|
||||||
@Nullable PlaybackProperties localConfiguration,
|
@Nullable PlaybackProperties localConfiguration,
|
||||||
LiveConfiguration liveConfiguration,
|
LiveConfiguration liveConfiguration,
|
||||||
MediaMetadata mediaMetadata) {
|
MediaMetadata mediaMetadata) {
|
||||||
@ -1611,7 +1633,8 @@ public final class MediaItem implements Bundleable {
|
|||||||
this.playbackProperties = localConfiguration;
|
this.playbackProperties = localConfiguration;
|
||||||
this.liveConfiguration = liveConfiguration;
|
this.liveConfiguration = liveConfiguration;
|
||||||
this.mediaMetadata = mediaMetadata;
|
this.mediaMetadata = mediaMetadata;
|
||||||
this.clippingProperties = clippingProperties;
|
this.clippingConfiguration = clippingConfiguration;
|
||||||
|
this.clippingProperties = clippingConfiguration;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Returns a {@link Builder} initialized with the values of this instance. */
|
/** Returns a {@link Builder} initialized with the values of this instance. */
|
||||||
@ -1631,7 +1654,7 @@ public final class MediaItem implements Bundleable {
|
|||||||
MediaItem other = (MediaItem) obj;
|
MediaItem other = (MediaItem) obj;
|
||||||
|
|
||||||
return Util.areEqual(mediaId, other.mediaId)
|
return Util.areEqual(mediaId, other.mediaId)
|
||||||
&& clippingProperties.equals(other.clippingProperties)
|
&& clippingConfiguration.equals(other.clippingConfiguration)
|
||||||
&& Util.areEqual(localConfiguration, other.localConfiguration)
|
&& Util.areEqual(localConfiguration, other.localConfiguration)
|
||||||
&& Util.areEqual(liveConfiguration, other.liveConfiguration)
|
&& Util.areEqual(liveConfiguration, other.liveConfiguration)
|
||||||
&& Util.areEqual(mediaMetadata, other.mediaMetadata);
|
&& Util.areEqual(mediaMetadata, other.mediaMetadata);
|
||||||
@ -1642,7 +1665,7 @@ public final class MediaItem implements Bundleable {
|
|||||||
int result = mediaId.hashCode();
|
int result = mediaId.hashCode();
|
||||||
result = 31 * result + (localConfiguration != null ? localConfiguration.hashCode() : 0);
|
result = 31 * result + (localConfiguration != null ? localConfiguration.hashCode() : 0);
|
||||||
result = 31 * result + liveConfiguration.hashCode();
|
result = 31 * result + liveConfiguration.hashCode();
|
||||||
result = 31 * result + clippingProperties.hashCode();
|
result = 31 * result + clippingConfiguration.hashCode();
|
||||||
result = 31 * result + mediaMetadata.hashCode();
|
result = 31 * result + mediaMetadata.hashCode();
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
@ -1676,7 +1699,7 @@ public final class MediaItem implements Bundleable {
|
|||||||
bundle.putString(keyForField(FIELD_MEDIA_ID), mediaId);
|
bundle.putString(keyForField(FIELD_MEDIA_ID), mediaId);
|
||||||
bundle.putBundle(keyForField(FIELD_LIVE_CONFIGURATION), liveConfiguration.toBundle());
|
bundle.putBundle(keyForField(FIELD_LIVE_CONFIGURATION), liveConfiguration.toBundle());
|
||||||
bundle.putBundle(keyForField(FIELD_MEDIA_METADATA), mediaMetadata.toBundle());
|
bundle.putBundle(keyForField(FIELD_MEDIA_METADATA), mediaMetadata.toBundle());
|
||||||
bundle.putBundle(keyForField(FIELD_CLIPPING_PROPERTIES), clippingProperties.toBundle());
|
bundle.putBundle(keyForField(FIELD_CLIPPING_PROPERTIES), clippingConfiguration.toBundle());
|
||||||
return bundle;
|
return bundle;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1687,6 +1710,7 @@ public final class MediaItem implements Bundleable {
|
|||||||
*/
|
*/
|
||||||
public static final Creator<MediaItem> CREATOR = MediaItem::fromBundle;
|
public static final Creator<MediaItem> CREATOR = MediaItem::fromBundle;
|
||||||
|
|
||||||
|
@SuppressWarnings("deprecation") // Unbundling to ClippingProperties while it still exists.
|
||||||
private static MediaItem fromBundle(Bundle bundle) {
|
private static MediaItem fromBundle(Bundle bundle) {
|
||||||
String mediaId = checkNotNull(bundle.getString(keyForField(FIELD_MEDIA_ID), DEFAULT_MEDIA_ID));
|
String mediaId = checkNotNull(bundle.getString(keyForField(FIELD_MEDIA_ID), DEFAULT_MEDIA_ID));
|
||||||
@Nullable
|
@Nullable
|
||||||
@ -1705,16 +1729,16 @@ public final class MediaItem implements Bundleable {
|
|||||||
mediaMetadata = MediaMetadata.CREATOR.fromBundle(mediaMetadataBundle);
|
mediaMetadata = MediaMetadata.CREATOR.fromBundle(mediaMetadataBundle);
|
||||||
}
|
}
|
||||||
@Nullable
|
@Nullable
|
||||||
Bundle clippingPropertiesBundle = bundle.getBundle(keyForField(FIELD_CLIPPING_PROPERTIES));
|
Bundle clippingConfigurationBundle = bundle.getBundle(keyForField(FIELD_CLIPPING_PROPERTIES));
|
||||||
ClippingProperties clippingProperties;
|
ClippingProperties clippingConfiguration;
|
||||||
if (clippingPropertiesBundle == null) {
|
if (clippingConfigurationBundle == null) {
|
||||||
clippingProperties = ClippingProperties.UNSET;
|
clippingConfiguration = ClippingProperties.UNSET;
|
||||||
} else {
|
} else {
|
||||||
clippingProperties = ClippingProperties.CREATOR.fromBundle(clippingPropertiesBundle);
|
clippingConfiguration = ClippingConfiguration.CREATOR.fromBundle(clippingConfigurationBundle);
|
||||||
}
|
}
|
||||||
return new MediaItem(
|
return new MediaItem(
|
||||||
mediaId,
|
mediaId,
|
||||||
clippingProperties,
|
clippingConfiguration,
|
||||||
/* playbackProperties= */ null,
|
/* playbackProperties= */ null,
|
||||||
liveConfiguration,
|
liveConfiguration,
|
||||||
mediaMetadata);
|
mediaMetadata);
|
||||||
|
@ -307,12 +307,13 @@ public class MediaItemTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void builderSetClippingProperties() {
|
@SuppressWarnings("deprecation") // Testing deprecated field
|
||||||
|
public void builderSetClippingConfiguration() {
|
||||||
MediaItem mediaItem =
|
MediaItem mediaItem =
|
||||||
new MediaItem.Builder()
|
new MediaItem.Builder()
|
||||||
.setUri(URI_STRING)
|
.setUri(URI_STRING)
|
||||||
.setClippingProperties(
|
.setClippingConfiguration(
|
||||||
new MediaItem.ClippingProperties.Builder()
|
new MediaItem.ClippingConfiguration.Builder()
|
||||||
.setStartPositionMs(1000L)
|
.setStartPositionMs(1000L)
|
||||||
.setEndPositionMs(2000L)
|
.setEndPositionMs(2000L)
|
||||||
.setRelativeToLiveWindow(true)
|
.setRelativeToLiveWindow(true)
|
||||||
@ -321,40 +322,41 @@ public class MediaItemTest {
|
|||||||
.build())
|
.build())
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
assertThat(mediaItem.clippingProperties.startPositionMs).isEqualTo(1000L);
|
assertThat(mediaItem.clippingConfiguration.startPositionMs).isEqualTo(1000L);
|
||||||
assertThat(mediaItem.clippingProperties.endPositionMs).isEqualTo(2000L);
|
assertThat(mediaItem.clippingConfiguration.endPositionMs).isEqualTo(2000L);
|
||||||
assertThat(mediaItem.clippingProperties.relativeToLiveWindow).isTrue();
|
assertThat(mediaItem.clippingConfiguration.relativeToLiveWindow).isTrue();
|
||||||
assertThat(mediaItem.clippingProperties.relativeToDefaultPosition).isTrue();
|
assertThat(mediaItem.clippingConfiguration.relativeToDefaultPosition).isTrue();
|
||||||
assertThat(mediaItem.clippingProperties.startsAtKeyFrame).isTrue();
|
assertThat(mediaItem.clippingConfiguration.startsAtKeyFrame).isTrue();
|
||||||
|
assertThat(mediaItem.clippingConfiguration).isEqualTo(mediaItem.clippingProperties);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void clippingPropertiesDefaults() {
|
public void clippingConfigurationDefaults() {
|
||||||
MediaItem.ClippingProperties clippingProperties =
|
MediaItem.ClippingConfiguration clippingConfiguration =
|
||||||
new MediaItem.ClippingProperties.Builder().build();
|
new MediaItem.ClippingConfiguration.Builder().build();
|
||||||
|
|
||||||
assertThat(clippingProperties.startPositionMs).isEqualTo(0L);
|
assertThat(clippingConfiguration.startPositionMs).isEqualTo(0L);
|
||||||
assertThat(clippingProperties.endPositionMs).isEqualTo(C.TIME_END_OF_SOURCE);
|
assertThat(clippingConfiguration.endPositionMs).isEqualTo(C.TIME_END_OF_SOURCE);
|
||||||
assertThat(clippingProperties.relativeToLiveWindow).isFalse();
|
assertThat(clippingConfiguration.relativeToLiveWindow).isFalse();
|
||||||
assertThat(clippingProperties.relativeToDefaultPosition).isFalse();
|
assertThat(clippingConfiguration.relativeToDefaultPosition).isFalse();
|
||||||
assertThat(clippingProperties.startsAtKeyFrame).isFalse();
|
assertThat(clippingConfiguration.startsAtKeyFrame).isFalse();
|
||||||
assertThat(clippingProperties).isEqualTo(MediaItem.ClippingProperties.UNSET);
|
assertThat(clippingConfiguration).isEqualTo(MediaItem.ClippingConfiguration.UNSET);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void clippingPropertiesBuilder_throwsOnInvalidValues() {
|
public void clippingConfigurationBuilder_throwsOnInvalidValues() {
|
||||||
MediaItem.ClippingProperties.Builder clippingPropertiesBuilder =
|
MediaItem.ClippingConfiguration.Builder clippingConfigurationBuilder =
|
||||||
new MediaItem.ClippingProperties.Builder();
|
new MediaItem.ClippingConfiguration.Builder();
|
||||||
assertThrows(
|
assertThrows(
|
||||||
IllegalArgumentException.class, () -> clippingPropertiesBuilder.setStartPositionMs(-1));
|
IllegalArgumentException.class, () -> clippingConfigurationBuilder.setStartPositionMs(-1));
|
||||||
assertThrows(
|
assertThrows(
|
||||||
IllegalArgumentException.class, () -> clippingPropertiesBuilder.setEndPositionMs(-1));
|
IllegalArgumentException.class, () -> clippingConfigurationBuilder.setEndPositionMs(-1));
|
||||||
|
|
||||||
MediaItem.ClippingProperties clippingProperties = clippingPropertiesBuilder.build();
|
MediaItem.ClippingConfiguration clippingConfiguration = clippingConfigurationBuilder.build();
|
||||||
|
|
||||||
// Check neither of the setters succeeded in mutating the builder.
|
// Check neither of the setters succeeded in mutating the builder.
|
||||||
assertThat(clippingProperties.startPositionMs).isEqualTo(0L);
|
assertThat(clippingConfiguration.startPositionMs).isEqualTo(0L);
|
||||||
assertThat(clippingProperties.endPositionMs).isEqualTo(C.TIME_END_OF_SOURCE);
|
assertThat(clippingConfiguration.endPositionMs).isEqualTo(C.TIME_END_OF_SOURCE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@ -363,7 +365,7 @@ public class MediaItemTest {
|
|||||||
MediaItem mediaItem =
|
MediaItem mediaItem =
|
||||||
new MediaItem.Builder().setUri(URI_STRING).setClipStartPositionMs(1000L).build();
|
new MediaItem.Builder().setUri(URI_STRING).setClipStartPositionMs(1000L).build();
|
||||||
|
|
||||||
assertThat(mediaItem.clippingProperties.startPositionMs).isEqualTo(1000L);
|
assertThat(mediaItem.clippingConfiguration.startPositionMs).isEqualTo(1000L);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@ -380,7 +382,7 @@ public class MediaItemTest {
|
|||||||
MediaItem mediaItem =
|
MediaItem mediaItem =
|
||||||
new MediaItem.Builder().setUri(URI_STRING).setClipEndPositionMs(1000L).build();
|
new MediaItem.Builder().setUri(URI_STRING).setClipEndPositionMs(1000L).build();
|
||||||
|
|
||||||
assertThat(mediaItem.clippingProperties.endPositionMs).isEqualTo(1000L);
|
assertThat(mediaItem.clippingConfiguration.endPositionMs).isEqualTo(1000L);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@ -393,7 +395,7 @@ public class MediaItemTest {
|
|||||||
.setClipEndPositionMs(C.TIME_END_OF_SOURCE)
|
.setClipEndPositionMs(C.TIME_END_OF_SOURCE)
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
assertThat(mediaItem.clippingProperties.endPositionMs).isEqualTo(C.TIME_END_OF_SOURCE);
|
assertThat(mediaItem.clippingConfiguration.endPositionMs).isEqualTo(C.TIME_END_OF_SOURCE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@ -415,9 +417,9 @@ public class MediaItemTest {
|
|||||||
.setClipStartsAtKeyFrame(true)
|
.setClipStartsAtKeyFrame(true)
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
assertThat(mediaItem.clippingProperties.relativeToDefaultPosition).isTrue();
|
assertThat(mediaItem.clippingConfiguration.relativeToDefaultPosition).isTrue();
|
||||||
assertThat(mediaItem.clippingProperties.relativeToLiveWindow).isTrue();
|
assertThat(mediaItem.clippingConfiguration.relativeToLiveWindow).isTrue();
|
||||||
assertThat(mediaItem.clippingProperties.startsAtKeyFrame).isTrue();
|
assertThat(mediaItem.clippingConfiguration.startsAtKeyFrame).isTrue();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@ -605,8 +607,8 @@ 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())
|
||||||
.setClippingProperties(
|
.setClippingConfiguration(
|
||||||
new MediaItem.ClippingProperties.Builder()
|
new MediaItem.ClippingConfiguration.Builder()
|
||||||
.setEndPositionMs(1000)
|
.setEndPositionMs(1000)
|
||||||
.setRelativeToDefaultPosition(true)
|
.setRelativeToDefaultPosition(true)
|
||||||
.setRelativeToLiveWindow(true)
|
.setRelativeToLiveWindow(true)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user