-
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
document browser support and porting #66
Comments
Curious if IE11 is supported for clear dash. We have played around with poly filling promise and customevent with no luck. The console is showing errors when parsing the mpd. |
I was able to get Internet Explorer 11 on Windows 8.1 to play back a DASH manifest. It wasn't perfect, but it's a start. Here's what I did.
I used the "Car (YT DASH test) - MP4" test manifest. It does adaption, but seeking is broken (which is why I think we needed to comment out the setter of currentTime). Chrome still worked like it did before. It's very much a proof of concept. Also, I didn't try playing an encrypted file as I don't have a PlayReady license server setup. |
I also got clear dash playback on IE11 / windows 8.1. I haven't changed the Instead of commenting out the line I had no issues seeking. I have not tried it with the shaka manifests as I was using my companies own content. My next target, after I get the promise polyfill completed is to playback PR encrypted streams. |
@baseballbrad3, some of these changes have already happened since v1.3.0, so please try the latest sources from master if you intend to work on browser support. See a849f03, which removes reliance on node.children, 9ebd522, which adds a polyfill for CustomEvent, and 5a8a98f, which allows load.js to function without currentScript. @rob-vualto, would you care to contribute a patch to set currentTime after loadedmetadata fires? |
Hey guys, we're interested in getting IE11/Edge to work with PlayReady protected content; I gave it a try after using the above work-arounds (thanks!). It fails because Shaka selects the no-op polyfill for MediaKeys (shaka.polyfill.PatchedMediaKeys.nop). I think IE implements a different version of the EME spec compared to the latest and the older v01b - I believe it's this one - http://www.w3.org/TR/2014/WD-encrypted-media-20140218. So it may be possible to write a new polyfill for this implementation, but really I don't know how similar/different they are, or if this is possible. I'll spend a bit of time investigating... |
I believe an IE11 EME polyfill should be possible. If we can write one for Chrome's prefixed, non-OO EME, I presume IE11 should be simpler than that. IE's EME implementation isn't Promise-based or up-to-date, but it's object-oriented, so you should be able to wrap or alias things and just add a few extra methods. |
So I've spent a bit of time trying to implement a polyfill for EME spec v20140218, and did manage to get a very rough version working with our real PlayReady protected media. It's still a long way from a PR, but feel free to have a look at this commit: A couple notes:
|
My preference would be 1b, but I'm flexible.
Thanks! |
Cheers |
shaka.player.Player.isBrowserSupported() will return false if Promises are not available, but does not give detailed reports on what is missing. I see that when you switched to defineProperty, you also switched from value/writable to get/set. Does defineProperty work with value/writable on IE11? I'm trying to understand if defineProperty is the necessary fix or if get/set is the necessary fix. |
In any case, let's continue discussion of IE on another issue. I will be writing a brief porting doc soon and will close this issue when that is done. |
We need to document what features are required for a browser to be supported, as well as what can be done to add support for more browsers through polyfills.
Here's a very brief rundown until a full doc can be written.
Required features:
Optional features:
Support test:
http://shaka-player-demo.appspot.com/support.html
The text was updated successfully, but these errors were encountered: