You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Playback crashes with the following error:
E/EventLogger: playerFailed [eventTime=4.38, mediaPos=0.00, window=0, period=0, errorCode=ERROR_CODE_DRM_LICENSE_ACQUISITION_FAILED
One workaround is
in DashManifestParser.java
in parseContentProtection(),
add the case to parse clearkey
case "urn:uuid:e2719d58-a985-b3c9-781a-b030af78d30e":
uuid = C.CLEARKEY_UUID;
schemeType = "clearkey";
break;
Parse the clearkey url in the same method
if (XmlPullParserUtil.isStartTag(xpp, "clearkey:Laurl")) {
if (xpp.next() == XmlPullParser.TEXT) {
licenseServerUrl = xpp.getText();
}
}
In parseAdaptationSet(), after line 416 while parsing the Content Protection, add
} else if (XmlPullParserUtil.isStartTag(xpp, "ContentProtection")) {
Pair<String, SchemeData> contentProtection = parseContentProtection(xpp);
if (contentProtection.first != null) {
drmSchemeType = contentProtection.first;
}
if (contentProtection.second != null) {
if (drmSchemeType != null && drmSchemeType == "clearkey") {
// update the license url of cenc
for (int i = 0;i<drmSchemeDatas.size();i++) {
if (drmSchemeDatas.get(i).uuid == C.COMMON_PSSH_UUID &&
drmSchemeDatas.get(i).licenseServerUrl == null)
drmSchemeDatas.get(i).licenseServerUrl = contentProtection.second.licenseServerUrl;
}
}
drmSchemeDatas.add(contentProtection.second);
}
Please let me know what you think OR if I am missing anything.
Thanks.
I think the content is configured as expected (see #3138 (comment) as a verification that both ContentProtection tags are expected, and Dash-Industry-Forum/dash.js#3343 for another example where parsing the license url is requested).
And the proposed solution also looks sensible to me. Would you be willing to send a PR with the suggested changes?
I'll mark the issue as an enhancement in the meantime (because it's not a bug, more a new feature to detect Clearkey LicenseURLs).
ExoPlayer Version
2.17.1
Devices that reproduce the issue
Pixel 5
Devices that do not reproduce the issue
No response
Reproducible in the demo app?
Yes
Reproduction steps
Added
to media.exolist.json.
Works if I specify the drm license uri
Expected result
The media plays successfully.
Actual result
Playback crashes with the following error:
E/EventLogger: playerFailed [eventTime=4.38, mediaPos=0.00, window=0, period=0, errorCode=ERROR_CODE_DRM_LICENSE_ACQUISITION_FAILED
One workaround is
in DashManifestParser.java
Please let me know what you think OR if I am missing anything.
Thanks.
Media
https://media.axprod.net/TestVectors/v7-MultiDRM-SingleKey/Manifest_1080p_ClearKey.mpd
Bug Report
adb bugreport
to [email protected] after filing this issue.The text was updated successfully, but these errors were encountered: