shaka-player: Android MediaDrm provisioning fails on closed network
Have you read the FAQ and checked for duplicate open issues?:
Yes.
What version of Shaka Player are you using?:
2.3.7
Can you reproduce the issue with our latest release version?:
Yes
Can you reproduce the issue with the latest code from master?:
Yes
Are you using the demo app or your own custom app?:
Both
If custom app, can you reproduce the issue using our demo app?:
Yes
What browser and OS are you using?:
Chrome 66.0.3359.126
What did you do?
Deployed Shaka player to an offline media server, which also hosts the Widevine license server.
On some Android devices, all using the latest Chrome 66 build, with a variety of hardware manufacturers including Huawei, Samsung and LG, some of these devices fail to even request a license in an offline server environment (neither our server nor client devices have internet access). However, the same client devices which receive this error can also successfully play back Widevine-encrypted content from the Shaka demo site. Inspecting the network traffic of each client device, none of the devices which produce this error are attempting to call our license server.
We deployed the same instance of shaka player onto an internet-enabled server and were able to get to the license server request stage, which failed due to not being able to connect to our offline server, as expected.
From this, I believe the only difference between these two setups is that one server has internet access and the other does not. As far as I know, the non-working devices have been provisioned by WV and can play other WV encrypted content online without any issues.
What did you expect to happen? License requested and obtained followed by video playback. What actually happened? Upon loading the player and attempting to play, I get:-
Shaka Error DRM.FAILED_TO_GENERATE_LICENSE_REQUEST (Create session aborted.)
This is followed by further errors, such as “failed to get buffered range for audio DOMException: Failed to read the ‘buffered’ property from ‘SourceBuffer’: This SourceBuffer has been removed from the parent media source.”. I suspect these errors happen because the license request failure.
The video does not even attempt to play the first 10s of clear video, but it does on the internet-enabled server before stopping playback at 10s due to the network connectivity to our offline servers license server failing.
I have attached a sample MPD in case this is believed to be an issue with our packaging, which I do not think is the case. Tears_Of_Steel-En.mpd.txt
Is there anything obvious we should be doing to resolve this? Known bugs, or otherwise plain stupidity on our part? Thanks!
About this issue
- Original URL
- State: closed
- Created 6 years ago
- Comments: 25 (4 by maintainers)
@garfieldjty just as an FYI, this issue is tracked by Chromium here - https://bugs.chromium.org/p/chromium/issues/detail?id=866625
Note, it is targeted for Chrome 74. It has previously been targeted for Chrome 70, 71, 72 and 73. However, it has been ‘started’ and ‘assigned’ to a Chromium dev since January 11th. As yet, it is still not working in the latest build of Canary.