@castlabs/prestoplay 6.31.0 → 6.32.0-beta.2

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.
Files changed (68) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/README.md +2 -2
  3. package/cjs/cl.adobe.js +3 -3
  4. package/cjs/cl.airplay.js +3 -3
  5. package/cjs/cl.broadpeak.js +18 -18
  6. package/cjs/cl.cast.js +127 -125
  7. package/cjs/cl.cdn.js +13 -0
  8. package/cjs/cl.conviva.js +32 -32
  9. package/cjs/cl.core.js +615 -610
  10. package/cjs/cl.crypto.js +9 -9
  11. package/cjs/cl.dash.js +101 -95
  12. package/cjs/cl.externs.js +113 -44
  13. package/cjs/cl.freewheel.js +26 -26
  14. package/cjs/cl.hls.js +78 -78
  15. package/cjs/cl.hlssmpte.js +6 -6
  16. package/cjs/cl.htmlcue.js +30 -30
  17. package/cjs/cl.ima.js +26 -26
  18. package/cjs/cl.mediatailor.js +3 -3
  19. package/cjs/cl.mse.js +351 -350
  20. package/cjs/cl.muxdata.js +14 -14
  21. package/cjs/cl.onboard.js +4 -4
  22. package/cjs/cl.persistent.js +14 -14
  23. package/cjs/cl.playlist.js +6 -6
  24. package/cjs/cl.simid.js +16 -16
  25. package/cjs/cl.smooth.js +71 -71
  26. package/cjs/cl.thumbnails.js +26 -26
  27. package/cjs/cl.tizen.js +71 -71
  28. package/cjs/cl.ttml.js +29 -29
  29. package/cjs/cl.verimatrix.js +5 -5
  30. package/cjs/cl.vimond.js +11 -11
  31. package/cjs/cl.vr.js +19 -19
  32. package/cjs/cl.vtt.js +14 -14
  33. package/cjs/cl.yospace.js +4 -4
  34. package/cjs/cl.youbora.js +40 -40
  35. package/cl.adobe.js +3 -3
  36. package/cl.airplay.js +3 -3
  37. package/cl.broadpeak.js +14 -14
  38. package/cl.cast.js +102 -101
  39. package/cl.cdn.js +7 -0
  40. package/cl.conviva.js +27 -27
  41. package/cl.core.js +498 -495
  42. package/cl.crypto.js +9 -9
  43. package/cl.dash.js +91 -87
  44. package/cl.externs.js +109 -44
  45. package/cl.freewheel.js +20 -20
  46. package/cl.hls.js +82 -82
  47. package/cl.hlssmpte.js +5 -5
  48. package/cl.htmlcue.js +26 -26
  49. package/cl.ima.js +20 -20
  50. package/cl.mediatailor.js +2 -2
  51. package/cl.mse.js +301 -300
  52. package/cl.muxdata.js +13 -13
  53. package/cl.onboard.js +4 -4
  54. package/cl.persistent.js +10 -10
  55. package/cl.playlist.js +5 -5
  56. package/cl.simid.js +14 -14
  57. package/cl.smooth.js +61 -61
  58. package/cl.thumbnails.js +19 -19
  59. package/cl.tizen.js +56 -56
  60. package/cl.ttml.js +22 -22
  61. package/cl.verimatrix.js +4 -4
  62. package/cl.vimond.js +8 -8
  63. package/cl.vr.js +14 -14
  64. package/cl.vtt.js +12 -12
  65. package/cl.yospace.js +3 -3
  66. package/cl.youbora.js +31 -31
  67. package/package.json +10 -1
  68. 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 JU=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 y=n[p],C=n[y],D=n[C],B=257*n[u]^16843008*u;d[p]=B<<24|B>>>8;e[p]=B<<16|B>>>16;f[p]=B<<8|B>>>24;c[p]=B;B=16843009*D^65537*C^257*y^16843008*p;k[u]=B<<24|B>>>8;l[u]=B<<16|B>>>16;m[u]=B<<8|B>>>24;g[u]=B;p?(p=y^n[n[n[D^y]]],q^=n[n[q]]):p=q=1}},KU=function(a){a=_.Wi(a);for(var b=new Uint32Array(4),c=0;4>c;c++)b[c]=a.getUint32(4*c);return b},LU=function(){this.a=null},MU=function(){this.a={};
4
- this.f=!1;this.g=new _.M("clpp.crypto")},OU=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 _.x(g,NU(a,b,c.data,d.keyInfo,e),3)}2!=g.a&&(f.data=g.f);return g["return"](c)})}},PU=function(a,b,c){var d,e,f,g,k,l;return _.I(function(m){if(1==m.a){d=_.Zk(c);if(e=(new _.pm(c)).a.hostname.endsWith(".drmtoday.com"))f=b.getConfiguration(),
5
- _.Qq(d,f);g=c+JSON.stringify(d.headers);if(a.a[g])return m["return"](a.a[g]);_.F(m,2);return _.x(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;})},NU=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),_.x(n,PU(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 LU:new JU,_.x(n,k.importKey(f),7);case 7:return _.x(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
- JU.prototype.importKey=function(a){a=KU(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>>>
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
- JU.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=KU(b),p=n[0],q=n[1],t=n[2];n=n[3];for(var u=_.Vi(a),y=new Int32Array(u.length),C,D,B,E,z,L,J,V,U,ta,wa,qa,za,Fa=this.G.bind(this);c<u.length;){V=Fa(u[c]);U=Fa(u[c+1]);ta=Fa(u[c+2]);wa=Fa(u[c+3]);z=V^e[0];L=wa^e[1];J=ta^e[2];E=U^e[3];qa=4;for(za=1;za<d;za++)C=k[z>>>24]^l[L>>16&255]^m[J>>8&255]^g[E&255]^e[qa],D=k[L>>>24]^l[J>>16&255]^m[E>>8&255]^g[z&255]^e[qa+1],B=k[J>>>24]^l[E>>16&255]^
10
- m[z>>8&255]^g[L&255]^e[qa+2],E=k[E>>>24]^l[z>>16&255]^m[L>>8&255]^g[J&255]^e[qa+3],z=C,L=D,J=B,qa+=4;C=f[z>>>24]<<24^f[L>>16&255]<<16^f[J>>8&255]<<8^f[E&255]^e[qa];D=f[L>>>24]<<24^f[J>>16&255]<<16^f[E>>8&255]<<8^f[z&255]^e[qa+1];B=f[J>>>24]<<24^f[E>>16&255]<<16^f[z>>8&255]<<8^f[L&255]^e[qa+2];E=f[E>>>24]<<24^f[z>>16&255]<<16^f[L>>8&255]<<8^f[J&255]^e[qa+3];qa+=3;y[c]=Fa(C^p);y[c+1]=Fa(E^q);y[c+2]=Fa(B^t);y[c+3]=Fa(D^n);p=V;q=U;t=ta;n=wa;c+=4}return new Promise(function(Ya){var ec=y.buffer;var qd=
11
- ec.byteLength,rd=qd&&(new DataView(ec)).getUint8(qd-1);ec=rd?ec.slice(0,qd-rd):ec;Ya(ec)})};JU.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()})};JU.prototype.G=function(a){return a<<24|(a&65280)<<8|(a&16711680)>>8|a>>>24};LU.prototype.importKey=function(a){var b=this,c;return _.I(function(d){if(1==d.a)return c=b,_.x(d,crypto.subtle.importKey("raw",a,{name:"AES-CBC"},!1,["decrypt"]),2);c.a=d.f;_.A(d)})};LU.prototype.decrypt=function(a,b){var c=this,d;return _.I(function(e){if(1==e.a)return _.x(e,crypto.subtle.decrypt({name:"AES-CBC",iv:b},c.a,a),2);d=e.f;return e["return"](d)})};LU.prototype.destroy=function(){this.a=null;return new Promise(function(a){return a()})};_.w(MU,_.av);_.r=MU.prototype;_.r.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")};_.r.playerConstructed=function(a){var b=OU(this,a);a.getNetworkEngine().Ud(b)};_.r.playerDestroyed=function(){};_.r.uninstall=function(){this.a={}};_.r.id=function(){return"crypto"};_.K("clpp.crypto.CryptoComponent",MU);};
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));}