diff --git a/library/src/main/java/com/google/android/exoplayer2/C.java b/library/src/main/java/com/google/android/exoplayer2/C.java index 961550a174..a157fd85a9 100644 --- a/library/src/main/java/com/google/android/exoplayer2/C.java +++ b/library/src/main/java/com/google/android/exoplayer2/C.java @@ -444,14 +444,15 @@ public final class C { public static final UUID UUID_NIL = new UUID(0L, 0L); /** - * UUID for the PSSH box and MPEG-DASH Content Protection. - * W3C. + * UUID for the + * CENC DRM + * scheme. */ public static final UUID CENC_UUID = new UUID(0x1077EFECC0B24D02L, 0xACE33C1E52E2FB4BL); /** * UUID for the Widevine DRM scheme. - *

+ *

* Widevine is supported on Android devices running Android 4.3 (API Level 18) and up. */ public static final UUID WIDEVINE_UUID = new UUID(0xEDEF8BA979D64ACEL, 0xA3C827DCD51D21EDL); diff --git a/library/src/main/java/com/google/android/exoplayer2/drm/DefaultDrmSessionManager.java b/library/src/main/java/com/google/android/exoplayer2/drm/DefaultDrmSessionManager.java index 68c88c4f10..bc57b7e810 100644 --- a/library/src/main/java/com/google/android/exoplayer2/drm/DefaultDrmSessionManager.java +++ b/library/src/main/java/com/google/android/exoplayer2/drm/DefaultDrmSessionManager.java @@ -103,12 +103,8 @@ public class DefaultDrmSessionManager implements DrmSe /** Releases an existing offline license. */ public static final int MODE_RELEASE = 3; - /** - * The format to use when ClearKey encryption. - */ - private static final String CENC_INIT_DATA_FORMAT = "cenc"; - private static final String TAG = "OfflineDrmSessionMngr"; + private static final String CENC_SCHEME_MIME_TYPE = "cenc"; private static final int MSG_PROVISION = 0; private static final int MSG_KEYS = 1; @@ -345,20 +341,11 @@ public class DefaultDrmSessionManager implements DrmSe schemeInitData = psshData; } } - if (C.CENC_UUID.equals(uuid)) { - // If "video/mp4" and "audio/mp4" are not supported as CENC schema, change it to "cenc". - // Before 7.1.x in API 25, "video/mp4" and "audio/mp4" are not supported. - if (MimeTypes.VIDEO_MP4.equals(schemeMimeType) || MimeTypes.AUDIO_MP4.equals( - schemeMimeType)) { - if (Util.SDK_INT >= 26) { - // Nothing to do. - } else if (Util.SDK_INT == 25 && !MediaDrm.isCryptoSchemeSupported(uuid, - schemeMimeType)) { - schemeMimeType = CENC_INIT_DATA_FORMAT; - } else if (Util.SDK_INT <= 24) { - schemeMimeType = CENC_INIT_DATA_FORMAT; - } - } + if (Util.SDK_INT < 26 && C.CENC_UUID.equals(uuid) + && (MimeTypes.VIDEO_MP4.equals(schemeMimeType) + || MimeTypes.AUDIO_MP4.equals(schemeMimeType))) { + // Prior to API level 26 the CDM only accepted "cenc" as the scheme mime type. + schemeMimeType = CENC_SCHEME_MIME_TYPE; } } state = STATE_OPENING;