@castlabs/prestoplay 6.31.1 → 6.32.0-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +32 -0
- package/README.md +2 -2
- package/cjs/cl.adobe.js +3 -3
- package/cjs/cl.airplay.js +3 -3
- package/cjs/cl.broadpeak.js +18 -18
- package/cjs/cl.cast.js +127 -125
- package/cjs/cl.cdn.js +13 -0
- package/cjs/cl.conviva.js +32 -32
- package/cjs/cl.core.js +615 -610
- package/cjs/cl.crypto.js +9 -9
- package/cjs/cl.dash.js +101 -95
- package/cjs/cl.externs.js +113 -44
- package/cjs/cl.freewheel.js +26 -26
- package/cjs/cl.hls.js +78 -78
- package/cjs/cl.hlssmpte.js +6 -6
- package/cjs/cl.htmlcue.js +30 -30
- package/cjs/cl.ima.js +26 -26
- package/cjs/cl.mediatailor.js +3 -3
- package/cjs/cl.mse.js +351 -350
- package/cjs/cl.muxdata.js +14 -14
- package/cjs/cl.onboard.js +4 -4
- package/cjs/cl.persistent.js +14 -14
- package/cjs/cl.playlist.js +6 -6
- package/cjs/cl.simid.js +16 -16
- package/cjs/cl.smooth.js +71 -71
- package/cjs/cl.thumbnails.js +26 -26
- package/cjs/cl.tizen.js +71 -71
- package/cjs/cl.ttml.js +29 -29
- package/cjs/cl.verimatrix.js +5 -5
- package/cjs/cl.vimond.js +11 -11
- package/cjs/cl.vr.js +19 -19
- package/cjs/cl.vtt.js +14 -14
- package/cjs/cl.yospace.js +4 -4
- package/cjs/cl.youbora.js +40 -40
- package/cl.adobe.js +3 -3
- package/cl.airplay.js +3 -3
- package/cl.broadpeak.js +14 -14
- package/cl.cast.js +102 -101
- package/cl.cdn.js +7 -0
- package/cl.conviva.js +27 -27
- package/cl.core.js +498 -495
- package/cl.crypto.js +9 -9
- package/cl.dash.js +91 -87
- package/cl.externs.js +109 -44
- package/cl.freewheel.js +20 -20
- package/cl.hls.js +82 -82
- package/cl.hlssmpte.js +5 -5
- package/cl.htmlcue.js +26 -26
- package/cl.ima.js +20 -20
- package/cl.mediatailor.js +2 -2
- package/cl.mse.js +301 -300
- package/cl.muxdata.js +13 -13
- package/cl.onboard.js +4 -4
- package/cl.persistent.js +10 -10
- package/cl.playlist.js +5 -5
- package/cl.simid.js +14 -14
- package/cl.smooth.js +61 -61
- package/cl.thumbnails.js +19 -19
- package/cl.tizen.js +56 -56
- package/cl.ttml.js +22 -22
- package/cl.verimatrix.js +4 -4
- package/cl.vimond.js +8 -8
- package/cl.vr.js +14 -14
- package/cl.vtt.js +12 -12
- package/cl.yospace.js +3 -3
- package/cl.youbora.js +31 -31
- package/package.json +7 -1
- package/typings.d.ts +328 -114
package/cjs/cl.crypto.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
(function(){var g={}; var _ = _ || {}
|
|
2
|
-
var f=function(window){var
|
|
3
|
-
t;t++)n[t]=128>t?t<<1:t<<1^283;for(t=0;256>t;t++){var u=q^q<<1^q<<2^q<<3^q<<4;u=u>>>8^u&255^99;a[p]=u;b[u]=p;var
|
|
4
|
-
this.f=!1;this.g=new _.M("clpp.crypto")},
|
|
5
|
-
_.
|
|
6
|
-
_.H(n),a.g.warn("Could not fetch AES key",g),b.onError(new _.O(1,7,7104,null,g)),n["return"](c);case 3:return _.F(n,5),k=a.f?new
|
|
7
|
-
|
|
2
|
+
var f=function(window){var YU=function(){this.B=[0,1,2,4,8,16,32,64,128,27,54];this.D=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)];this.l=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)];this.A=new Uint32Array(256);this.o=new Uint32Array(256);this.w=new Uint32Array(0);this.h=this.a=this.j=this.f=null;var a=this.A,b=this.o,c=this.D,d=c[0],e=c[1],f=c[2];c=c[3];var g=this.l,k=g[0],l=g[1],m=g[2];g=g[3];var n=new Uint32Array(256),p=0,q=0,t;for(t=0;256>
|
|
3
|
+
t;t++)n[t]=128>t?t<<1:t<<1^283;for(t=0;256>t;t++){var u=q^q<<1^q<<2^q<<3^q<<4;u=u>>>8^u&255^99;a[p]=u;b[u]=p;var z=n[p],B=n[z],D=n[B],C=257*n[u]^16843008*u;d[p]=C<<24|C>>>8;e[p]=C<<16|C>>>16;f[p]=C<<8|C>>>24;c[p]=C;C=16843009*D^65537*B^257*z^16843008*p;k[u]=C<<24|C>>>8;l[u]=C<<16|C>>>16;m[u]=C<<8|C>>>24;g[u]=C;p?(p=z^n[n[n[D^z]]],q^=n[n[q]]):p=q=1}},ZU=function(a){a=_.aj(a);for(var b=new Uint32Array(4),c=0;4>c;c++)b[c]=a.getUint32(4*c);return b},$U=function(){this.a=null},aV=function(){this.a={};
|
|
4
|
+
this.f=!1;this.g=new _.M("clpp.crypto")},cV=function(a,b){return function(c){var d,e,f;return _.I(function(g){if(1==g.a){d=c.request||null;if(!(d&&2===d.type&&d.keyInfo&&c.data))return g.C(2);e=d.uris[0];a.g.debug("Decrypting AES-128-encrypted video segment",e);f=c;return _.y(g,bV(a,b,c.data,d.keyInfo,e),3)}2!=g.a&&(f.data=g.f);return g["return"](c)})}},dV=function(a,b,c){var d,e,f,g,k,l;return _.I(function(m){if(1==m.a){d=_.dl(c);if(e=(new _.tm(c)).a.hostname.endsWith(".drmtoday.com"))f=b.getConfiguration(),
|
|
5
|
+
_.er(d,f);g=c+JSON.stringify(d.headers);if(a.a[g])return m["return"](a.a[g]);_.F(m,2);return _.y(m,b.getNetworkEngine().fetch(d).U,4)}if(2!=m.a)return k=m.f,a.a[g]=k.data,m["return"](k.data);l=_.H(m);e&&1001===l.code&&412===l.data.status&&a.g.warn("Wrong DRMtoday credentials, server responded with 412.");throw l;})},bV=function(a,b,c,d,e){var f,g,k,l,m;return _.I(function(n){switch(n.a){case 1:return f=new ArrayBuffer(0),_.F(n,2),_.y(n,dV(a,b,d.url),4);case 4:f=n.f;_.G(n,3);break;case 2:return g=
|
|
6
|
+
_.H(n),a.g.warn("Could not fetch AES key",g),b.onError(new _.O(1,7,7104,null,g)),n["return"](c);case 3:return _.F(n,5),k=a.f?new $U:new YU,_.y(n,k.importKey(f),7);case 7:return _.y(n,k.decrypt(c,d.iv),8);case 8:return l=n.f,n["return"](l);case 5:return m=_.H(n),a.g.warn("Could not decrypt segment data!",e,m),b.onError(new _.O(1,3,3103,null,m)),n["return"](c)}})};
|
|
7
|
+
YU.prototype.importKey=function(a){a=ZU(a);for(var b=!0,c=0;c<a.length&&b;)b=a[c]===this.w[c],c++;if(b)return new Promise(function(n){return n()});this.w=a;this.a=a.length;if(4!==this.a&&6!==this.a&&8!==this.a)throw Error("Invalid aes key size\x3d"+this.a);this.h=4*(this.a+7);this.f=new Uint32Array(this.h);this.j=new Uint32Array(this.h);b=this.A;var d=this.B;var e=this.l;c=e[0];var f=e[1],g=e[2],k=e[3],l=0,m=0;for(e=0;e<this.h;e++)e<this.a?l=this.f[e]=a[e]:(m=l,0===e%this.a?(m=m<<8|m>>>24,m=b[m>>>
|
|
8
8
|
24]<<24|b[m>>>16&255]<<16|b[m>>>8&255]<<8|b[m&255],m^=d[e/this.a|0]<<24):6<this.a&&4===e%this.a&&(m=b[m>>>24]<<24|b[m>>>16&255]<<16|b[m>>>8&255]<<8|b[m&255]),l=(this.f[e-this.a]^m)>>>0,this.f[e]=l);for(a=0;a<this.h;a++)e=this.h-a,m=a&3?this.f[e]:this.f[e-4],this.j[a]=4>a||4>=e?m:c[b[m>>>24]]^f[b[m>>>16&255]]^g[b[m>>>8&255]]^k[b[m&255]],this.j[a]>>>=0;return new Promise(function(n){return n()})};
|
|
9
|
-
|
|
10
|
-
m[
|
|
11
|
-
|
|
9
|
+
YU.prototype.decrypt=function(a,b){var c=0,d=this.a+6,e=this.j,f=this.o,g=this.l,k=g[0],l=g[1],m=g[2];g=g[3];var n=ZU(b),p=n[0],q=n[1],t=n[2];n=n[3];for(var u=_.$i(a),z=new Int32Array(u.length),B,D,C,E,x,J,L,U,V,ta,za,va,qa,Fa=this.G.bind(this);c<u.length;){U=Fa(u[c]);V=Fa(u[c+1]);ta=Fa(u[c+2]);za=Fa(u[c+3]);x=U^e[0];J=za^e[1];L=ta^e[2];E=V^e[3];va=4;for(qa=1;qa<d;qa++)B=k[x>>>24]^l[J>>16&255]^m[L>>8&255]^g[E&255]^e[va],D=k[J>>>24]^l[L>>16&255]^m[E>>8&255]^g[x&255]^e[va+1],C=k[L>>>24]^l[E>>16&255]^
|
|
10
|
+
m[x>>8&255]^g[J&255]^e[va+2],E=k[E>>>24]^l[x>>16&255]^m[J>>8&255]^g[L&255]^e[va+3],x=B,J=D,L=C,va+=4;B=f[x>>>24]<<24^f[J>>16&255]<<16^f[L>>8&255]<<8^f[E&255]^e[va];D=f[J>>>24]<<24^f[L>>16&255]<<16^f[E>>8&255]<<8^f[x&255]^e[va+1];C=f[L>>>24]<<24^f[E>>16&255]<<16^f[x>>8&255]<<8^f[J&255]^e[va+2];E=f[E>>>24]<<24^f[x>>16&255]<<16^f[J>>8&255]<<8^f[L&255]^e[va+3];va+=3;z[c]=Fa(B^p);z[c+1]=Fa(E^q);z[c+2]=Fa(C^t);z[c+3]=Fa(D^n);p=U;q=V;t=ta;n=za;c+=4}return new Promise(function(sc){var ab=z.buffer;var Uc=
|
|
11
|
+
ab.byteLength,Pd=Uc&&(new DataView(ab)).getUint8(Uc-1);ab=Pd?ab.slice(0,Uc-Pd):ab;sc(ab)})};YU.prototype.destroy=function(){this.B=this.j=this.f=this.l=this.D=this.o=this.A=this.h=this.a=this.w=null;return new Promise(function(a){return a()})};YU.prototype.G=function(a){return a<<24|(a&65280)<<8|(a&16711680)>>8|a>>>24};$U.prototype.importKey=function(a){var b=this,c;return _.I(function(d){if(1==d.a)return c=b,_.y(d,crypto.subtle.importKey("raw",a,{name:"AES-CBC"},!1,["decrypt"]),2);c.a=d.f;_.A(d)})};$U.prototype.decrypt=function(a,b){var c=this,d;return _.I(function(e){if(1==e.a)return _.y(e,crypto.subtle.decrypt({name:"AES-CBC",iv:b},c.a,a),2);d=e.f;return e["return"](d)})};$U.prototype.destroy=function(){this.a=null;return new Promise(function(a){return a()})};_.w(aV,_.jv);aV.prototype.install=function(){if(window.crypto&&crypto.subtle){var a=crypto.subtle.decrypt;a=typeof crypto.subtle.importKey===_.ue&&typeof a===_.ue}else a=!1;(this.f=a)||this.g.warn("No WebCrypto APIs found. Will fallback to software AES")};aV.prototype.playerConstructed=function(a){var b=cV(this,a);a.getNetworkEngine().yd(b)};aV.prototype.uninstall=function(){this.a={}};aV.prototype.id=function(){return"crypto"};_.K("clpp.crypto.CryptoComponent",aV);};
|
|
12
12
|
if(typeof(module)!="undefined"&&module.exports){var x=require("./cl.core.js");_ = x._;(f.call(g,this));module.exports=g;}
|
|
13
13
|
else if (typeof(define)!="undefined"&&define.amd) {define(["./cl.core"], function(c){_=c._;(f.call(g,this));return g;});}
|
|
14
14
|
else{_=this.clpp._;(f.call(g,this));}
|