Skip to content
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

Shaka throws MANIFEST.RESTRICTIONS_CANNOT_BE_MET on Tizen 2016 #884

Closed
chrisfillmore opened this issue Jun 15, 2017 · 2 comments
Closed
Assignees
Labels
platform: TV/STB Issues affecting smart TV or set-top box platforms status: archived Archived and locked; will not be updated type: bug Something isn't working correctly
Milestone

Comments

@chrisfillmore
Copy link
Contributor

chrisfillmore commented Jun 15, 2017

On Tizen 2016 model TV's, Shaka dispatches MANIFEST.RESTRICTIONS_CANNOT_BE_MET, from Player#chooseStreams_. There aren't any playable variants because it uses the webkit MediaKeys polyfill, which uses the fake KEY_ID_:

// Construct fake key ID.  This is not done at load-time to avoid exceptions
// on unsupported browsers.  This particular fake key ID was suggested in
// w3c/encrypted-media#32.
PatchedMediaKeysWebkit.MediaKeyStatusMap.KEY_ID_ =
    (new Uint8Array([0])).buffer;

Thus none of the stream.keyId keys exist in the keyStatusMap in Player#onKeyStatus_, here:

var keyStatus = keyStatusMap[stream.keyId];
variant.allowedByKeySystem = !!keyStatus && restrictedStatuses.indexOf(keyStatus) < 0;

...and thus the variant is restricted.

But playback proceeds anyway. Can you share any more information about the meaning of this error? I didn't dig further into what happens when the player dispatches this error, so I'm not sure if this is expected behaviour or not.

Thanks!

@joeyparrish
Copy link
Member

I believe this is related to #890 and #891. In all three issues, there is a lack of key status information. We will try to address #890 first and see how well that work applies to Tizen.

joeyparrish pushed a commit that referenced this issue Jul 17, 2017
Our EME polyfills give a key status with a Key ID of '00' (a single 0
byte).  This breaks the Player logic for restricted tracks since it
assumes that those are not playable.  When we get this Key ID, we should
treat the key status as a global status, not for that specific Key ID.

Closes #884
Closes #890

Change-Id: I392550227274fb321d2c223eb8d483a0a4733186
@joeyparrish
Copy link
Member

The fix for this has been cherry-picked and will be released in v2.1.5.

@shaka-project shaka-project locked and limited conversation to collaborators Mar 22, 2018
@joeyparrish joeyparrish added the platform: TV/STB Issues affecting smart TV or set-top box platforms label Jul 17, 2018
@shaka-bot shaka-bot added the status: archived Archived and locked; will not be updated label Apr 15, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
platform: TV/STB Issues affecting smart TV or set-top box platforms status: archived Archived and locked; will not be updated type: bug Something isn't working correctly
Projects
None yet
Development

No branches or pull requests

4 participants