eme-encryption-scheme-polyfill
Advanced tools
Comparing version 1.0.2 to 1.0.3
@@ -0,1 +1,7 @@ | ||
## 1.0.3 (2019-12-05) | ||
Bugfixes: | ||
- Update cbcs-recommended to cbcs-1-9 to keep up with spec changes | ||
## 1.0.2 (2019-12-02) | ||
@@ -2,0 +8,0 @@ |
@@ -8,2 +8,2 @@ /*! | ||
!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).EmeEncryptionSchemePolyfill=e()}}(function(){var e={exports:{}};function i(e,i,t){return t?i?i(e):e:(e&&e.then||(e=Promise.resolve(e)),i?e.then(i):e)}var t=function(){function e(){}return e.install=function(){e.originalRMKSA_||navigator.requestMediaKeySystemAccess&&MediaKeySystemAccess.prototype.getConfiguration&&(e.originalRMKSA_=navigator.requestMediaKeySystemAccess,navigator.requestMediaKeySystemAccess=e.probeRMKSA_)},e.guessSupportedScheme_=function(e){return e.startsWith("com.widevine")?"cenc":e.startsWith("com.microsoft")?"cenc":e.startsWith("com.adobe")?"cenc":e.startsWith("org.w3")?"cenc":e.startsWith("com.apple")?"cbcs-recommended":(console.warn("EmeEncryptionSchemePolyfill: Unknown key system:",e,"Please contribute!"),null)},e.probeRMKSA_=function(t,r){try{var n=this;return i(e.originalRMKSA_.call(n,t,r),function(i){var o=i.getConfiguration(),a=o.videoCapabilities&&o.videoCapabilities[0],s=o.audioCapabilities&&o.audioCapabilities[0];return void 0!==(a||s).encryptionScheme?(navigator.requestMediaKeySystemAccess=e.originalRMKSA_,i):(navigator.requestMediaKeySystemAccess=e.polyfillRMKSA_,e.polyfillRMKSA_.call(n,t,r))})}catch(o){return Promise.reject(o)}},e.polyfillRMKSA_=function(t,n){try{var o=e.guessSupportedScheme_(t),a=[],s=n,l=Array.isArray(s),c=0;for(s=l?s:s[Symbol.iterator]();;){var u;if(l){if(c>=s.length)break;u=s[c++]}else{if((c=s.next()).done)break;u=c.value}var f=u,p=e.filterCapabilities_(f.videoCapabilities,o),d=e.filterCapabilities_(f.audioCapabilities,o);if(f.videoCapabilities&&f.videoCapabilities.length&&!p.length);else if(f.audioCapabilities&&f.audioCapabilities.length&&!d.length);else{var y=Object.assign({},f);y.videoCapabilities=p,y.audioCapabilities=d,a.push(y)}}if(!a.length){var m=new Error("Unsupported keySystem or supportedConfigurations.");throw m.name="NotSupportedError",m.code=DOMException.NOT_SUPPORTED_ERR,m}return i(e.originalRMKSA_.call(this,t,a),function(e){return new r(e,o)})}catch(h){return Promise.reject(h)}},e.filterCapabilities_=function(e,i){return e?e.filter(function(e){return!e.encryptionScheme||e.encryptionScheme==i}):e},e}(),r=function(){function e(e,i){this.mksa_=e,this.scheme_=i,this.keySystem=e.keySystem}var i=e.prototype;return i.getConfiguration=function(){var e=this.mksa_.getConfiguration();if(e.videoCapabilities){var i=e.videoCapabilities,t=Array.isArray(i),r=0;for(i=t?i:i[Symbol.iterator]();;){var n;if(t){if(r>=i.length)break;n=i[r++]}else{if((r=i.next()).done)break;n=r.value}n.encryptionScheme=this.scheme_}}if(e.audioCapabilities){var o=e.audioCapabilities,a=Array.isArray(o),s=0;for(o=a?o:o[Symbol.iterator]();;){var l;if(a){if(s>=o.length)break;l=o[s++]}else{if((s=o.next()).done)break;l=s.value}l.encryptionScheme=this.scheme_}}return e},i.createMediaKeys=function(){return this.mksa_.createMediaKeys()},e}();return t.originalRMKSA_,e.exports&&(e.exports=t),e=e.exports}); | ||
!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).EmeEncryptionSchemePolyfill=e()}}(function(){var e={exports:{}};function i(e,i,t){return t?i?i(e):e:(e&&e.then||(e=Promise.resolve(e)),i?e.then(i):e)}var t=function(){function e(){}return e.install=function(){e.originalRMKSA_||navigator.requestMediaKeySystemAccess&&MediaKeySystemAccess.prototype.getConfiguration&&(e.originalRMKSA_=navigator.requestMediaKeySystemAccess,navigator.requestMediaKeySystemAccess=e.probeRMKSA_)},e.guessSupportedScheme_=function(e){return e.startsWith("com.widevine")?"cenc":e.startsWith("com.microsoft")?"cenc":e.startsWith("com.adobe")?"cenc":e.startsWith("org.w3")?"cenc":e.startsWith("com.apple")?"cbcs-1-9":(console.warn("EmeEncryptionSchemePolyfill: Unknown key system:",e,"Please contribute!"),null)},e.probeRMKSA_=function(t,r){try{var n=this;return i(e.originalRMKSA_.call(n,t,r),function(i){var a=i.getConfiguration(),o=a.videoCapabilities&&a.videoCapabilities[0],s=a.audioCapabilities&&a.audioCapabilities[0];return void 0!==(o||s).encryptionScheme?(navigator.requestMediaKeySystemAccess=e.originalRMKSA_,i):(navigator.requestMediaKeySystemAccess=e.polyfillRMKSA_,e.polyfillRMKSA_.call(n,t,r))})}catch(a){return Promise.reject(a)}},e.polyfillRMKSA_=function(t,n){try{var a=e.guessSupportedScheme_(t),o=[],s=n,l=Array.isArray(s),c=0;for(s=l?s:s[Symbol.iterator]();;){var u;if(l){if(c>=s.length)break;u=s[c++]}else{if((c=s.next()).done)break;u=c.value}var f=u,p=e.filterCapabilities_(f.videoCapabilities,a),y=e.filterCapabilities_(f.audioCapabilities,a);if(f.videoCapabilities&&f.videoCapabilities.length&&!p.length);else if(f.audioCapabilities&&f.audioCapabilities.length&&!y.length);else{var d=Object.assign({},f);d.videoCapabilities=p,d.audioCapabilities=y,o.push(d)}}if(!o.length){var m=new Error("Unsupported keySystem or supportedConfigurations.");throw m.name="NotSupportedError",m.code=DOMException.NOT_SUPPORTED_ERR,m}return i(e.originalRMKSA_.call(this,t,o),function(e){return new r(e,a)})}catch(h){return Promise.reject(h)}},e.filterCapabilities_=function(e,i){return e?e.filter(function(e){return!e.encryptionScheme||e.encryptionScheme==i}):e},e}(),r=function(){function e(e,i){this.mksa_=e,this.scheme_=i,this.keySystem=e.keySystem}var i=e.prototype;return i.getConfiguration=function(){var e=this.mksa_.getConfiguration();if(e.videoCapabilities){var i=e.videoCapabilities,t=Array.isArray(i),r=0;for(i=t?i:i[Symbol.iterator]();;){var n;if(t){if(r>=i.length)break;n=i[r++]}else{if((r=i.next()).done)break;n=r.value}n.encryptionScheme=this.scheme_}}if(e.audioCapabilities){var a=e.audioCapabilities,o=Array.isArray(a),s=0;for(a=o?a:a[Symbol.iterator]();;){var l;if(o){if(s>=a.length)break;l=a[s++]}else{if((s=a.next()).done)break;l=s.value}l.encryptionScheme=this.scheme_}}return e},i.createMediaKeys=function(){return this.mksa_.createMediaKeys()},e}();return t.originalRMKSA_,e.exports&&(e.exports=t),e=e.exports}); |
@@ -76,3 +76,3 @@ /*! | ||
} else if (keySystem.startsWith('com.apple')) { | ||
return 'cbcs-recommended'; | ||
return 'cbcs-1-9'; | ||
} | ||
@@ -79,0 +79,0 @@ |
{ | ||
"name": "eme-encryption-scheme-polyfill", | ||
"description": "A polyfill for the encryptionScheme field in EME", | ||
"version": "1.0.2", | ||
"version": "1.0.3", | ||
"license": "Apache-2.0", | ||
@@ -6,0 +6,0 @@ "author": "Google", |
30878