shaka-project / eme-encryption-scheme-polyfill Goto Github PK
View Code? Open in Web Editor NEWA polyfill to add support for EncryptionScheme queries in EME and MediaCapabilities.
License: Apache License 2.0
A polyfill to add support for EncryptionScheme queries in EME and MediaCapabilities.
License: Apache License 2.0
Can both EME & MC polyfills scripts be loaded on CDNJS, JSdeliver or another CDN? It would be nice, because our node-modules folder isn't available to the public. so NPMing these files locally doesn't help us for that matter.
When compiling with --jscomp_error '*'
, there are compiler errors. This doesn't occur in the Shaka Player environment because the settings there are not as strict.
Something has gone wrong with transpilation since dependency upgrades in 761dece, and now the last three releases all contain ES6 code. This causes issues Shaka Player tests to fail on Tizen with:
Safari 3.0 (Tizen 3.0) ERROR
An error was thrown in afterAll
Uncaught SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode
The code in demo/ doesn't get pushed on a GitHub Actions workflow, so the gh-pages branch is badly out of date. We should build an automated workflow for this to make sure it's updated on push to main.
Feedback on the spec has led to cbcs-recommended
being renamed to cbcs-1-9
. The polyfill must be updated as well, and a new version published.
The export code at the bottom of the module seems to be broken. It seems it was not tested thoroughly enough in its final form.
There is a bug in the minified bundle (but not in the source) where requestMediaKeySystemAccess sometimes resolves to undefined
.
I can't use eme-encryption-scheme-polyfill v. 2.0.4 in KaiOS devices (KaiOS v. 2.5.x)
dist/eme-encryption-scheme-polyfill.js
SyntaxError: missing = in const declaration [eme-encryption-scheme-polyfill.js:8:1151]
or
index.js
SyntaxError: missing : after property id [index.js:71:15]
This issue is based on next fact:
KaiOS v. 2.5.x is based on Gecko 48
Gecko 48 is unsupported async/awat functions
Please, make version without async/await
Hi,
Using the polyfill recently we faced an issue with PlayReady DRM playback on a specific version of the legacy MS Edge browser (42.17134.1098.0) that playready DRM is not supported.
After debugging it was observed that the issue occurs in hasEncryptionScheme check. When there is no video or audio capabilities it will throw an error
https://github.com/google/eme-encryption-scheme-polyfill/blob/96a56700b293fbe2a801a19706b3f8708bc16b68/index.js#L482-L494
Microsoft Edge 42.17134.1098.0 has the issue with incorrect capabilities, so we see the error
This MR will resolve this issue #14
The MediaCapabilities API mirrors parts of the EME spec in many ways, including the MediaKeySystemMediaCapability
object where this encryptionScheme
field was added.
We should consider polyfilling the equivalent feature in MediaCapabilities, too. It's likely that most of the code would be shared.
See w3c/media-capabilities#100
Tagging @chcunningham
You didn't change the copyright placeholder at the bottom of the LICENSE file.
Copyright notice with year and name filled
Copyright placeholder
Copyright [yyyy] [name of copyright owner]
The EME part of the polyfill checks to make sure it isn't installed twice, but the MCap polyfill doesn't. This leads to infinite recursion when the polyfill tries to call the original, but ends up calling itself.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.