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

PlayReady IE11 Streams not working #890

Closed
hussam-i-am opened this issue Jun 16, 2017 · 14 comments
Closed

PlayReady IE11 Streams not working #890

hussam-i-am opened this issue Jun 16, 2017 · 14 comments
Assignees
Labels
status: archived Archived and locked; will not be updated type: bug Something isn't working correctly

Comments

@hussam-i-am
Copy link

hussam-i-am commented Jun 16, 2017

Have you read the FAQ and checked for duplicate issues:

What version of Shaka Player are you using: 2.1.1

Can you reproduce the issue with our latest release version: Yes

Can you reproduce the issue with the latest code from master: Didn't try

Are you using the demo app or your own custom app: Both

If custom app, can you reproduce the issue using our demo app: With some streams

What browser and OS are you using: IE11 / Windows 10

What did you do?

Shaka Demo Page: Trying to load Axinom Multi-DRM on IE11. Works in EDGE.
Custom App: Emailed Playready stream with custom headers. Also, works on EDGE, but not on IE11.

Both produce the RESTRICTIONS_CANNOT_BE_MET error.

NOTE: Seems like none of the Playready/Multi-DRM streams are working on IE11, producing different errors.

@joeyparrish
Copy link
Member

Please try the latest release. We fixed PlayReady-related issues in v2.1.3, and we just released v2.1.4 today.

@chrisfillmore
Copy link
Contributor

Fwiw I've seen the same behaviour in IE11 and Tizen because the polyfill uses the fake KEY_ID_, same as #884. Although playback still works, at least in some cases.

@joeyparrish
Copy link
Member

Ah, that make sense. This is probably a duplicate of #884, then, for a different platform.

If that is the case, I would expect playback to work on content where all video streams use the same key ID, or in cases where the key IDs are not in the manifest but all keys are returned in the license.

One way or another, we need to make sure Shaka Player works as well as it can without key statuses.

@joeyparrish joeyparrish added type: bug Something isn't working correctly and removed needs triage labels Jun 19, 2017
@joeyparrish
Copy link
Member

I believe the same root cause is at work in both this issue and #884, and that a solution to this will work around #891.

@hussam-i-am
Copy link
Author

Just checking in, will this be released soon?

@joeyparrish
Copy link
Member

I'm sorry we haven't made a release lately. Due to vacations and illness, I've been falling behind on things. I believe this can be cherry-picked cleanly to v2.1.x and be released in v2.1.5, either this week or next week.

@hussam-i-am
Copy link
Author

Thanks for the update, feel better!

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.

@hussam-i-am
Copy link
Author

hussam-i-am commented Jul 17, 2017 via email

@hussam-i-am
Copy link
Author

Actually, did some more testing, and the fix might be working. We'll do further verification once 2.1.5 is released.

@joeyparrish
Copy link
Member

The tag is out, as is NPM. I am still pushing the release out through other channels, after which I'll announce via email. But you can go ahead with the github tag or NPM release.

@hussam-i-am
Copy link
Author

hussam-i-am commented Jul 17, 2017 via email

@jstephenson01
Copy link

@joeyparrish , I was seeing the same Manifest.Restrictions_Cannot_Be_Met while playing a dash manifest in the Shaka Demo v2.1.4 in IE11 (Win10). I updated to Shaka v2.1.5, the asset is playing now ("Invalid argument" box pops up on player) but i am seeing new errors/warnings in the console(below)... (i also see that this user was seeing same https://groups.google.com/forum/#!topic/shaka-player-users/e_k0Bd5VEvM)

DOM7011: The code on this page disabled back and forward caching. For more information, see: http://go.microsoft.com/fwlink/?LinkID=291337
demo
HTML1300: Navigation occurred.
demo
HTML1500: Tag cannot be self-closing. Use an explicit closing tag.
demo (99,13)
Patching input event support on IE.
Using ms-prefixed EME v20140218
Using native MSE as-is.
Using Promises polyfill.
Using VTTCue polyfill from 3 argument TextTrackCue.
No Period ID given for Period with start time 0, Assigning a default
The last segment should not end before the end of the Period. [object Object]
"The last segment should not end before the end of the Period."
{
[functions]: ,
proto: { },
endByte: 123230,
endTime: 1353.875,
position: 22,
startByte: 118531,
startTime: 1320
}

Should only receive a Shaka error
(text:7) failed fetch and append: code=undefined
Wrong error type!
Player error Error: Invalid argument.
"Player error"
{
[functions]: ,
proto: { },
description: "Invalid argument.",
message: "Invalid argument.",
name: "Error",
number: -2147024809,
severity: 2,
stack: "Error: Invalid argument.
at Anonymous function (http://10.99.146.203/shaka-playerv2-5/lib/media/text_engine.js:181:7)
at wrapper (http://10.99.146.203/shaka-playerv2-5/lib/polyfill/promise.js:344:9)
at shaka.polyfill.Promise.flush (http://10.99.146.203/shaka-playerv2-5/lib/polyfill/promise.js:451:7)"
}

Got a synthetic key status event, so we don't know the real key statuses. If we don't have all the keys, you'll need to set restrictions so we don't select those tracks.
Should only receive a Shaka error
(text:7) failed fetch and append: code=undefined
Wrong error type!
Player error Error: Invalid argument.
"Player error"
{
[functions]: ,
proto: { },
description: "Invalid argument.",
message: "Invalid argument.",
name: "Error",
number: -2147024809,
severity: 2,
stack: "Error: Invalid argument.
at Anonymous function (http://10.99.146.203/shaka-playerv2-5/lib/media/text_engine.js:181:7)
at wrapper (http://10.99.146.203/shaka-playerv2-5/lib/polyfill/promise.js:344:9)
at shaka.polyfill.Promise.flush (http://10.99.146.203/shaka-playerv2-5/lib/polyfill/promise.js:451:7)"
}

Got a synthetic key status event, so we don't know the real key statuses. If we don't have all the keys, you'll need to set restrictions so we don't select those tracks.

@TheModMaker
Copy link
Contributor

@jstephenson01 This issue has been fixed so please don't post to this issue. Please start a new issue for your issue. Also include a test stream that reproduces your problem since I can play our PlayReady test assets without problem.

@shaka-project shaka-project locked and limited conversation to collaborators Mar 22, 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
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

6 participants