-
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
Chromecast + PlayReady - No variant tracks available #1070
Comments
I see some errors in the console which may be causing the track list to not get updated. I saw a change recently to fix some issues, so it may be fixed on master (but the receiver hasn't been updated to match). @theodab since you have been working on Chromecast recently and have fixed those bugs, can you take a look? |
Reproduced on macOS Sierra 10.12.6, with the nightly build and the newest receiver. The changes to receiver were mostly to fix error handling when casting. It looks like this is causing a 4012 error (MANIFEST.RESTRICTIONS_CANNOT_BE_MET), and the messed-up error handling was just kind of hiding that error. |
It could be that we're lacking key statuses on PlayReady on Chromecast. Just a guess. |
I am unable to reproduce a 4012 error with the latest code, but I can reproduce the original problem description (empty track list on the sender side). It appears that there is some timing issue with the cast proxy. If I tell the demo to reload the track list from the proxy by executing |
Now I am seeing error 4012. The order of things seems to be:
So the events and proxying seem to be correct. This may, in fact, be an issue with key statuses. |
There is a key status event from the PlayReady CDM on Chromecast, but no actual key statuses. We should be able to fix it. |
For some platforms and CDMs, such as PlayReady on Chromecast, there are no key statuses. We still get a key status event, but there is not even a synthetic key ID. In these cases, do not restrict tracks, as that would result in a 4012 error (RESTRICTIONS_CANNOT_BE_MET). Closes #1070 Change-Id: Ib3a853418629433cc9be491a0cf7981dd41a3f59
The fix has been cherry-picked for v2.2.9. |
Have you read the FAQ and checked for duplicate issues: yes
What version of Shaka Player are you using: v2.2.2
Can you reproduce the issue with our latest release version: yes
Can you reproduce the issue with the latest code from
master
: yesAre you using the demo app or your own custom app: demo app
If custom app, can you reproduce the issue using our demo app:
What browser and OS are you using: macOS High Sierra, Chrome(cast)
What are the manifest and license server URIs: https://shaka-player-demo.appspot.com/demo/#asset=//demo.unified-streaming.com/video/tears-of-steel/tears-of-steel-dash-playready.ism/.mpd;lang=en-US;logtoscreen;debug
What did you do?
Open https://shaka-player-demo.appspot.com/demo/#asset=//demo.unified-streaming.com/video/tears-of-steel/tears-of-steel-dash-playready.ism/.mpd;lang=en-US;logtoscreen;debug
Initiate a chromecast session
Look under Info and see that 'audio languages' and 'Video+audio track combinations' is empty
What did you expect to happen?
'Video+audio track combinations' and 'audio languages' should contain variant track information
What actually happened?
No variant track information was shown
I've tried to track down the issue and I found that
shaka.Player.prototype.onKeyStatus_
is setting allvariant.allowedByKeySystem
tofalse
.The text was updated successfully, but these errors were encountered: