diff --git a/demo/src/main/assets/media.exolist.json b/demo/src/main/assets/media.exolist.json index 6fba5bd65b..dd88f206c1 100644 --- a/demo/src/main/assets/media.exolist.json +++ b/demo/src/main/assets/media.exolist.json @@ -277,6 +277,18 @@ } ] }, + { + "name": "ClearKey DASH", + "samples": [ + { + "name": "Big Buck Bunny (CENC ClearKey)", + "uri": "http://html5.cablelabs.com:8100/cenc/ck/dash.mpd", + "extension": "mpd", + "drm_scheme": "cenc", + "drm_license_url": "https://wasabeef.jp/demos/cenc-ck-dash.json" + } + ] + }, { "name": "SmoothStreaming", "samples": [ diff --git a/demo/src/main/java/com/google/android/exoplayer2/demo/SampleChooserActivity.java b/demo/src/main/java/com/google/android/exoplayer2/demo/SampleChooserActivity.java index 946181284f..7377aa416d 100644 --- a/demo/src/main/java/com/google/android/exoplayer2/demo/SampleChooserActivity.java +++ b/demo/src/main/java/com/google/android/exoplayer2/demo/SampleChooserActivity.java @@ -267,6 +267,8 @@ public class SampleChooserActivity extends Activity { return C.WIDEVINE_UUID; case "playready": return C.PLAYREADY_UUID; + case "cenc": + return C.CENC_UUID; default: try { return UUID.fromString(typeString); 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 7e9fe46c10..961550a174 100644 --- a/library/src/main/java/com/google/android/exoplayer2/C.java +++ b/library/src/main/java/com/google/android/exoplayer2/C.java @@ -443,6 +443,12 @@ 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. + */ + public static final UUID CENC_UUID = new UUID(0x1077EFECC0B24D02L, 0xACE33C1E52E2FB4BL); + /** * UUID for the Widevine DRM scheme. *
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 3af0f8a5c0..68c88c4f10 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 @@ -35,6 +35,7 @@ import com.google.android.exoplayer2.drm.ExoMediaDrm.OnEventListener; import com.google.android.exoplayer2.drm.ExoMediaDrm.ProvisionRequest; import com.google.android.exoplayer2.extractor.mp4.PsshAtomUtil; import com.google.android.exoplayer2.util.Assertions; +import com.google.android.exoplayer2.util.MimeTypes; import com.google.android.exoplayer2.util.Util; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -102,6 +103,11 @@ public class DefaultDrmSessionManager