From d42c23706b615d1987f988fe219ab0fe61d44ac6 Mon Sep 17 00:00:00 2001 From: ibaker Date: Wed, 1 Nov 2023 05:57:08 -0700 Subject: [PATCH] Add warning log if DASH manifest contains incomplete ClearKey info Unfortunately we can't fail any more obviously at this point, because manifests often contain config for multiple DRM schemes, and when parsing the manifest we don't know which scheme is going to be used for playback. It would be unreasonable to fail playback due to incomplete ClearKey config if playback was otherwise going to succeed using e.g. Widevine. * Issue: androidx/media#777 * Issue: androidx/media#563 * Issue: google/ExoPlayer#9169 #minor-release PiperOrigin-RevId: 578491484 --- .../media3/exoplayer/dash/manifest/DashManifestParser.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/libraries/exoplayer_dash/src/main/java/androidx/media3/exoplayer/dash/manifest/DashManifestParser.java b/libraries/exoplayer_dash/src/main/java/androidx/media3/exoplayer/dash/manifest/DashManifestParser.java index 2d8b496f79..18424128d3 100644 --- a/libraries/exoplayer_dash/src/main/java/androidx/media3/exoplayer/dash/manifest/DashManifestParser.java +++ b/libraries/exoplayer_dash/src/main/java/androidx/media3/exoplayer/dash/manifest/DashManifestParser.java @@ -593,6 +593,11 @@ public class DashManifestParser extends DefaultHandler } data = PsshAtomUtil.buildPsshAtom(C.COMMON_PSSH_UUID, defaultKids, null); uuid = C.COMMON_PSSH_UUID; + } else { + Log.w( + TAG, + "Ignoring with schemeIdUri=\"urn:mpeg:dash:mp4protection:2011\"" + + " (ClearKey) due to missing required default_KID attribute."); } break; case "urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95":