Unable to create MediaKeys with clearkey on Chrome. Works on firefox
Created by: ashutoshsingh0223
Environment
-
The MPD passes the DASH-IF Conformance Tool on https://conformance.dashif.org/ -
The stream has correct Access-Control-Allow-Origin headers (CORS) -
There are no network errors such as 404s in the browser console when trying to play the stream -
The issue observed is not mentioned on https://github.com/Dash-Industry-Forum/dash.js/wiki/FAQ -
The issue occurs in the latest reference client on http://reference.dashif.org/dash.js/ and not just on my page
- Link to playable MPD file: https://private-ott.ams3.digitaloceanspaces.com/blckmail/blackmail.mpd
- Dash.js version: 3.1.3
- Browser name/version: Chrome Version 85.0.4183.83 (Official Build) (64-bit)
- OS name/version: Ubuntu 18.04 Bionc Release
Steps to reproduce
- Please provide clear steps to reproduce your problem
- If the bug is intermittent, give a rough frequency if possible
Observed behaviour
Describe what the player is doing that is unexpected or undesired behaviour.
Console output
[3757][ProtectionController] DRM: KeySystem Access Granted (org.w3.clearkey)! Selecting key system...
Debug.js:168 [3759][PlaybackController] Native video element event: loadedmetadata
Debug.js:168 [3760][ScheduleController][audio] Top quality audio index has changed from undefined to 0
Debug.js:168 [3763][ScheduleController][video] Top quality video index has changed from undefined to 2
Debug.js:168 [3771][Stream] DRM: KeySystem Access Denied! -- Error selecting key system! -- Error selecting keys system (org.w3.clearkey)! Could not create MediaKeys -- TODO
doLog @ Debug.js:168
fatal @ Debug.js:123
onProtectionError @ Stream.js:353
(anonymous) @ EventBus.js:88
trigger @ EventBus.js:88
onKeySystemSelected @ ProtectionController.js:538
(anonymous) @ EventBus.js:88
trigger @ EventBus.js:88
(anonymous) @ ProtectionModel_21Jan2015.js:158
Promise.catch (async)
selectKeySystem @ ProtectionModel_21Jan2015.js:157
onKeySystemAccessComplete @ ProtectionController.js:496
(anonymous) @ EventBus.js:88
trigger @ EventBus.js:88
(anonymous) @ ProtectionModel_21Jan2015.js:321
Promise.then (async)
(anonymous) @ ProtectionModel_21Jan2015.js:315
requestKeySystemAccessInternal @ ProtectionModel_21Jan2015.js:330
requestKeySystemAccess @ ProtectionModel_21Jan2015.js:142
(anonymous) @ ProtectionController.js:547
selectKeySystem @ ProtectionController.js:547
onNeedKey @ ProtectionController.js:807
(anonymous) @ EventBus.js:88
trigger @ EventBus.js:88
handleEvent @ ProtectionModel_21Jan2015.js:354
Debug.js:168 [17531][PlaybackController] Native video element event: play
Debug.js:168 [17543][PlaybackController] Native video element event: waiting
My encryption works on firefox which means I encryted it right. I am using the example from dashjs samples on this repo. Path samples/drm/clearkey.html
I just changed the prot data to:
const protData = {
"org.w3.clearkey": {
"clearkeys": {
"QyFWeBI0EjQSNBI0EjQSNA": "EjQSNBI0EjQSNBI0EjQSNA"
}
}
};
Is there some other configuration to be done. Everything works on firefox but not on chrome