From cfd13ce6d9a67616415f3fc10021b44137e16e12 Mon Sep 17 00:00:00 2001 From: sr1990 Date: Sat, 14 May 2022 11:25:32 -0700 Subject: [PATCH 1/2] [DASH][ClearKey] Parse ClearKey license URL in MPD. --- .../android/exoplayer2/drm/DrmInitData.java | 2 +- .../dash/manifest/DashManifestParser.java | 18 +++++++++++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/library/common/src/main/java/com/google/android/exoplayer2/drm/DrmInitData.java b/library/common/src/main/java/com/google/android/exoplayer2/drm/DrmInitData.java index dddb87e55ac..af50de1e6bc 100644 --- a/library/common/src/main/java/com/google/android/exoplayer2/drm/DrmInitData.java +++ b/library/common/src/main/java/com/google/android/exoplayer2/drm/DrmInitData.java @@ -263,7 +263,7 @@ public static final class SchemeData implements Parcelable { */ public final UUID uuid; /** The URL of the server to which license requests should be made. May be null if unknown. */ - @Nullable public final String licenseServerUrl; + @Nullable public String licenseServerUrl; /** The mimeType of {@link #data}. */ public final String mimeType; /** The initialization data. May be null for scheme support checks only. */ diff --git a/library/dash/src/main/java/com/google/android/exoplayer2/source/dash/manifest/DashManifestParser.java b/library/dash/src/main/java/com/google/android/exoplayer2/source/dash/manifest/DashManifestParser.java index 5bf2a6e4e78..ca1b7ff738f 100644 --- a/library/dash/src/main/java/com/google/android/exoplayer2/source/dash/manifest/DashManifestParser.java +++ b/library/dash/src/main/java/com/google/android/exoplayer2/source/dash/manifest/DashManifestParser.java @@ -429,6 +429,15 @@ protected AdaptationSet parseAdaptationSet( drmSchemeType = contentProtection.first; } if (contentProtection.second != null) { + // In case of clear key, update the licence server url of + // previously parsed common encryption drmSchemeData. + if (drmSchemeType != null && drmSchemeType == "clearkey") { + for (int i = 0;i Date: Sun, 15 May 2022 09:26:17 -0700 Subject: [PATCH 2/2] Changing for loop. --- .../source/dash/manifest/DashManifestParser.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/library/dash/src/main/java/com/google/android/exoplayer2/source/dash/manifest/DashManifestParser.java b/library/dash/src/main/java/com/google/android/exoplayer2/source/dash/manifest/DashManifestParser.java index ca1b7ff738f..02232296081 100644 --- a/library/dash/src/main/java/com/google/android/exoplayer2/source/dash/manifest/DashManifestParser.java +++ b/library/dash/src/main/java/com/google/android/exoplayer2/source/dash/manifest/DashManifestParser.java @@ -432,10 +432,10 @@ protected AdaptationSet parseAdaptationSet( // In case of clear key, update the licence server url of // previously parsed common encryption drmSchemeData. if (drmSchemeType != null && drmSchemeType == "clearkey") { - for (int i = 0;i