-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Windows 10 pro+ Edge 17 + CENC PlayReady + scrambled playback #1438
Comments
The problem is that your manifest uses some XML namespace logic we don't support. XML supports namespaces, but these namespaces can have different simple names but refer to the same thing. Plus, you can specify the namespace in multiple ways. For example, we look for an element So a fix would be to generate the manifest without this namespace logic; but we should update our manifest parser to account for XML namespaces better. We are also not getting an |
Some content providers are moving toward having PSSHs in the manifest only, and not in the content. This would explain the lack of 'encrypted' event. Has MediaKeys been attached to the video element? If MediaKeys has been attached to the video element, I would expect the browser to stop when it found encrypted content with no matching key. But perhaps Edge doesn't behave like others. |
MediaKeys has been attached, and the media does include |
Good news, I've looked into this more, and the XML fixes will be easy to add. So I will add it to v2.4. Bad news, your asset still won't play with the above fix due to an Edge bug. It may be related to the bug you linked or to https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/12658991/. Basically Edge is choking because the first Period is "fully" clear and the second is encrypted with a clear lead. For some reason, the encryption info in the second Period is being ignored and Edge thinks it is fully clear (hence the decoder problems). If you start playback at 60 seconds, the content plays fine on the latest release, and we get the The reason it works on Dash.js is because they reset |
The XML namespace problem has been fixed. But as I mentioned, your asset still won't play due to a bug in Edge. I also noticed that Firefox doesn't play this as well, so I filed a bug on Firefox (https://bugzilla.mozilla.org/show_bug.cgi?id=1463213). Filing a bug on Edge would be a bit harder since we don't have any easy-to-use PlayReady content to give as part of the repro. But if you file a bug on Edge, please tell us about it so we can follow along. |
XML allows namespace names to be any string. So instead of looking for the literal name 'cenc:pssh', we should be looking for the 'pssh' name in the correct namespace. Backported to v2.4.x Closes #1438 Change-Id: I724db3b7f0e60b4233b0fc40b1ed57698c6ce9ce
XML allows namespace names to be any string. So instead of looking for the literal name 'cenc:pssh', we should be looking for the 'pssh' name in the correct namespace. Backported to v2.3.x Closes #1438 Change-Id: I724db3b7f0e60b4233b0fc40b1ed57698c6ce9ce
The XML namespace fix will appear in v2.3.8 and v2.4.0 this week. |
Have you read the FAQ and checked for duplicate open issues?: Yes.
What version of Shaka Player are you using?: v2.3.7-uncompiled
Can you reproduce the issue with our latest release version?: Yes
Can you reproduce the issue with the latest code from
master
?:Are you using the demo app or your own custom app?: Demo app
If custom app, can you reproduce the issue using our demo app?: N/A
What browser and OS are you using?: Microsoft Edge 42.17134.1.0, EdgeHTML 17.17134, Windows 10 Pro
What are the manifest and license server URIs?:
Sent to shaka-player-issues@google.com
What did you do?
I was trying to verify the fix for https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/14593018/
What did you expect to happen?
Smooth playback
What actually happened?
I was trying to verify the fix for https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/14593018/ and observed weird playback due to decryption failure (I think). Same stream plays smoothly on Dash.js. This is CENC content.
The text was updated successfully, but these errors were encountered: