We see this attempting to play VOD using our player (I'd have to provide more details of stream/license privately).
This works for us up to 2.6.7 but fails in later versions.
Note that our content pipeline produces MPDs that include protection data info for Widevine, PlayReady and ClearKey. This is because we have different platforms that use different Key Systems.
From 2.6.8 the clearKey key isn't used and WideVine is selected instead, so video doesn't play as the content is clearKey encrypted.
Previously (from #2318) there was a check in ProtectionKeyController.getSupportedKeySystemsFromContentProtection to see if the initData for a key system existed or not. This was removed in 2.6.8 as a result of PR #2451 (this diff). Putting the check back in fixes the problem for us.
Does anyone know why this bit of code was removed? It doesn鈥檛 seem directly related to the work in the PR.
[47][MediaPlayer] [dash.js 2.9.0] MediaPlayer has been initialized
dashjs.js:14648 [64][Protection] EME detected on this user agent! (ProtectionModel_21Jan2015)
dashjs.js:14648 [84][MediaPlayer] Streaming Initialized
dashjs.js:14648 [127][MediaPlayer] Playback Initialized
dashjs.js:14648 [420][DashParser] Parsing complete: ( xml2json: 59.1ms, objectiron: 1.30ms, total: 0.0604s)
dashjs.js:14648 [507][ManifestUpdater] Manifest has been refreshed at Tue Sep 18 2018 10:08:13 GMT+0100 (British Summer Time)[1537261693.642]
dashjs.js:14648 [689][AbrController] AbrController (video) switch from 0 to 2/4 (buffer: 0) .
dashjs.js:14648 [744][Stream] No text data.
dashjs.js:14648 [745][Stream] No fragmentedText data.
dashjs.js:14648 [747][Stream] No embeddedText data.
dashjs.js:14648 [748][Stream] No muxed data.
dashjs.js:14648 [760][Stream] No image data.
dashjs.js:14648 [816][ProtectionController] DRM: KeySystem Access Granted (com.widevine.alpha)! Selecting key system...
dashjs.js:14648 [979][BufferController][video] Init fragment finished loading saving to video's init cache
dashjs.js:14648 [1010][ScheduleController][video] OnFragmentLoadingCompleted - Url: https://itvpnpdotcom-a.akamaihd.net/1-0694-9561-001/18/1/VAR011/1-0694-9561-001_18_1_VAR011.ism/dash/1-0694-9561-001_18_1_VAR011-video=866017.dash
dashjs.js:14648 [1041][BufferController][audio] Init fragment finished loading saving to audio's init cache
dashjs.js:14648 [1060][ScheduleController][audio] OnFragmentLoadingCompleted - Url: https://itvpnpdotcom-a.akamaihd.net/1-0694-9561-001/18/1/VAR011/1-0694-9561-001_18_1_VAR011.ism/dash/1-0694-9561-001_18_1_VAR011-audio=128000.dash
dashjs.js:14648 [1129][ScheduleController][video] Top quality video index has changed from undefined to 4
dashjs.js:14648 [1242][PlaybackController] Native video element event: loadedmetadata
dashjs.js:14648 [1244][ScheduleController][audio] Top quality audio index has changed from undefined to 0
dashjs.js:14648 [1575][ScheduleController][audio] OnFragmentLoadingCompleted - Url: https://itvpnpdotcom-a.akamaihd.net/1-0694-9561-001/18/1/VAR011/1-0694-9561-001_18_1_VAR011.ism/dash/1-0694-9561-001_18_1_VAR011-audio=128000-0.dash
dashjs.js:14648 [1628][AbrController] AbrController (audio) switching from throughput to buffer occupancy ABR rule (buffer: 12.011).
dashjs.js:14648 [1795][ScheduleController][video] OnFragmentLoadingCompleted - Url: https://itvpnpdotcom-a.akamaihd.net/1-0694-9561-001/18/1/VAR011/1-0694-9561-001_18_1_VAR011.ism/dash/1-0694-9561-001_18_1_VAR011-video=866017-0.dash
Hi, indeed this code has been removed by mistake. Maybe a rebase issue, don't remember.
I will create a new PR to revert this change.
Thanks for pointed out.
See PR #2770
Thanks for looking at this so quickly!
@JohnIball, please, whenever you have time for testing, may you confirm #PR2770 solves your problem?
Thanks!
@epiclabsDASH yes, I tested the change and it's working fine now.
Great, many thanks!