Commit e804df8c by ibaker Committed by Christos Tsilopoulos

Rename MediaItem.DrmConfiguration.uuid to scheme

The type is already UUID so there's no need to duplicate that info in
the field name, and 'scheme' is a widely used term throughout both
ExoPlayer and android.os.MediaDrm documentation.

The old field remains deprecated for backwards compatibility.

The MediaItem.DrmConfiguration.Builder#setUuid method is renamed
directly (without deprecation) because it's not yet part of a released
ExoPlayer version.

PiperOrigin-RevId: 397961553
parent ab484a4b
......@@ -203,7 +203,7 @@ public class IntentUtil {
private static void addDrmConfigurationToIntent(
MediaItem.DrmConfiguration drmConfiguration, Intent intent, String extrasKeySuffix) {
intent.putExtra(DRM_SCHEME_EXTRA + extrasKeySuffix, drmConfiguration.uuid.toString());
intent.putExtra(DRM_SCHEME_EXTRA + extrasKeySuffix, drmConfiguration.scheme.toString());
intent.putExtra(
DRM_LICENSE_URI_EXTRA + extrasKeySuffix,
drmConfiguration.licenseUri != null ? drmConfiguration.licenseUri.toString() : null);
......
......@@ -329,7 +329,7 @@ public class PlayerActivity extends AppCompatActivity
showToast(R.string.error_drm_unsupported_before_api_18);
finish();
return Collections.emptyList();
} else if (!FrameworkMediaDrm.isCryptoSchemeSupported(drmConfiguration.uuid)) {
} else if (!FrameworkMediaDrm.isCryptoSchemeSupported(drmConfiguration.scheme)) {
showToast(R.string.error_drm_unsupported_scheme);
finish();
return Collections.emptyList();
......
......@@ -144,7 +144,7 @@ public final class DefaultMediaItemConverter implements MediaItemConverter {
private static JSONObject getDrmConfigurationJson(MediaItem.DrmConfiguration drmConfiguration)
throws JSONException {
JSONObject json = new JSONObject();
json.put(KEY_UUID, drmConfiguration.uuid);
json.put(KEY_UUID, drmConfiguration.scheme);
json.put(KEY_LICENSE_URI, drmConfiguration.licenseUri);
json.put(KEY_REQUEST_HEADERS, new JSONObject(drmConfiguration.requestHeaders));
return json;
......@@ -159,9 +159,9 @@ public final class DefaultMediaItemConverter implements MediaItemConverter {
MediaItem.DrmConfiguration drmConfiguration = mediaItem.playbackProperties.drmConfiguration;
String drmScheme;
if (C.WIDEVINE_UUID.equals(drmConfiguration.uuid)) {
if (C.WIDEVINE_UUID.equals(drmConfiguration.scheme)) {
drmScheme = "widevine";
} else if (C.PLAYREADY_UUID.equals(drmConfiguration.uuid)) {
} else if (C.PLAYREADY_UUID.equals(drmConfiguration.scheme)) {
drmScheme = "playready";
} else {
return null;
......
......@@ -261,7 +261,7 @@ public final class MediaItem implements Bundleable {
*/
@Deprecated
public Builder setDrmUuid(@Nullable UUID uuid) {
drmConfiguration.setNullableUuid(uuid);
drmConfiguration.setNullableScheme(uuid);
return this;
}
......@@ -486,7 +486,7 @@ public final class MediaItem implements Bundleable {
/** Returns a new {@link MediaItem} instance with the current builder values. */
public MediaItem build() {
// TODO: remove this check once all the deprecated individual DRM setters are removed.
checkState(drmConfiguration.licenseUri == null || drmConfiguration.uuid != null);
checkState(drmConfiguration.licenseUri == null || drmConfiguration.scheme != null);
@Nullable PlaybackProperties playbackProperties = null;
@Nullable Uri uri = this.uri;
if (uri != null) {
......@@ -494,7 +494,7 @@ public final class MediaItem implements Bundleable {
new PlaybackProperties(
uri,
mimeType,
drmConfiguration.uuid != null ? drmConfiguration.build() : null,
drmConfiguration.scheme != null ? drmConfiguration.build() : null,
adsConfiguration,
streamKeys,
customCacheKey,
......@@ -522,7 +522,7 @@ public final class MediaItem implements Bundleable {
public static final class Builder {
// TODO remove @Nullable annotation when the deprecated zero-arg constructor is removed.
@Nullable private UUID uuid;
@Nullable private UUID scheme;
@Nullable private Uri licenseUri;
private ImmutableMap<String, String> licenseRequestHeaders;
private boolean multiSession;
......@@ -534,10 +534,10 @@ public final class MediaItem implements Bundleable {
/**
* Constructs an instance.
*
* @param uuid The {@link UUID} of the protection scheme.
* @param scheme The {@link UUID} of the protection scheme.
*/
public Builder(UUID uuid) {
this.uuid = uuid;
public Builder(UUID scheme) {
this.scheme = scheme;
this.licenseRequestHeaders = ImmutableMap.of();
this.sessionForClearTypes = ImmutableList.of();
}
......@@ -553,7 +553,7 @@ public final class MediaItem implements Bundleable {
}
private Builder(DrmConfiguration drmConfiguration) {
this.uuid = drmConfiguration.uuid;
this.scheme = drmConfiguration.scheme;
this.licenseUri = drmConfiguration.licenseUri;
this.licenseRequestHeaders = drmConfiguration.requestHeaders;
this.multiSession = drmConfiguration.multiSession;
......@@ -564,8 +564,8 @@ public final class MediaItem implements Bundleable {
}
/** Sets the {@link UUID} of the protection scheme. */
public Builder setUuid(UUID uuid) {
this.uuid = uuid;
public Builder setScheme(UUID scheme) {
this.scheme = scheme;
return this;
}
......@@ -574,8 +574,8 @@ public final class MediaItem implements Bundleable {
* MediaItem.Builder#setDrmUuid(UUID)}.
*/
@Deprecated
private Builder setNullableUuid(@Nullable UUID uuid) {
this.uuid = uuid;
private Builder setNullableScheme(@Nullable UUID scheme) {
this.scheme = scheme;
return this;
}
......@@ -679,7 +679,10 @@ public final class MediaItem implements Bundleable {
}
/** The UUID of the protection scheme. */
public final UUID uuid;
public final UUID scheme;
/** @deprecated Use {@link #scheme} instead. */
@Deprecated public final UUID uuid;
/**
* Optional default DRM license server {@link Uri}. If {@code null} then the DRM license server
......@@ -712,7 +715,8 @@ public final class MediaItem implements Bundleable {
private DrmConfiguration(Builder builder) {
checkState(!(builder.forceDefaultLicenseUri && builder.licenseUri == null));
this.uuid = checkNotNull(builder.uuid);
this.scheme = checkNotNull(builder.scheme);
this.uuid = scheme;
this.licenseUri = builder.licenseUri;
this.requestHeaders = builder.licenseRequestHeaders;
this.multiSession = builder.multiSession;
......@@ -746,7 +750,7 @@ public final class MediaItem implements Bundleable {
}
DrmConfiguration other = (DrmConfiguration) obj;
return uuid.equals(other.uuid)
return scheme.equals(other.scheme)
&& Util.areEqual(licenseUri, other.licenseUri)
&& Util.areEqual(requestHeaders, other.requestHeaders)
&& multiSession == other.multiSession
......@@ -758,7 +762,7 @@ public final class MediaItem implements Bundleable {
@Override
public int hashCode() {
int result = uuid.hashCode();
int result = scheme.hashCode();
result = 31 * result + (licenseUri != null ? licenseUri.hashCode() : 0);
result = 31 * result + requestHeaders.hashCode();
result = 31 * result + (multiSession ? 1 : 0);
......
......@@ -106,6 +106,7 @@ public class MediaItemTest {
.build();
assertThat(mediaItem.playbackProperties.drmConfiguration).isNotNull();
assertThat(mediaItem.playbackProperties.drmConfiguration.scheme).isEqualTo(C.WIDEVINE_UUID);
assertThat(mediaItem.playbackProperties.drmConfiguration.uuid).isEqualTo(C.WIDEVINE_UUID);
assertThat(mediaItem.playbackProperties.drmConfiguration.licenseUri).isEqualTo(licenseUri);
assertThat(mediaItem.playbackProperties.drmConfiguration.requestHeaders)
......@@ -140,6 +141,7 @@ public class MediaItemTest {
.build();
assertThat(mediaItem.playbackProperties.drmConfiguration).isNotNull();
assertThat(mediaItem.playbackProperties.drmConfiguration.scheme).isEqualTo(C.CLEARKEY_UUID);
assertThat(mediaItem.playbackProperties.drmConfiguration.uuid).isEqualTo(C.CLEARKEY_UUID);
assertThat(mediaItem.playbackProperties.drmConfiguration.licenseUri).isNull();
assertThat(mediaItem.playbackProperties.drmConfiguration.requestHeaders).isEmpty();
......@@ -172,6 +174,7 @@ public class MediaItemTest {
.build();
assertThat(mediaItem.playbackProperties.drmConfiguration).isNotNull();
assertThat(mediaItem.playbackProperties.drmConfiguration.scheme).isEqualTo(C.WIDEVINE_UUID);
assertThat(mediaItem.playbackProperties.drmConfiguration.uuid).isEqualTo(C.WIDEVINE_UUID);
assertThat(mediaItem.playbackProperties.drmConfiguration.licenseUri).isEqualTo(licenseUri);
assertThat(mediaItem.playbackProperties.drmConfiguration.requestHeaders)
......
......@@ -107,7 +107,7 @@ public final class DefaultDrmSessionManagerProvider implements DrmSessionManager
DefaultDrmSessionManager drmSessionManager =
new DefaultDrmSessionManager.Builder()
.setUuidAndExoMediaDrmProvider(
drmConfiguration.uuid, FrameworkMediaDrm.DEFAULT_PROVIDER)
drmConfiguration.scheme, FrameworkMediaDrm.DEFAULT_PROVIDER)
.setMultiSession(drmConfiguration.multiSession)
.setPlayClearSamplesWithoutKeys(drmConfiguration.playClearContentWithoutKey)
.setUseDrmSessionsForClearContent(Ints.toArray(drmConfiguration.sessionForClearTypes))
......
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