@castlabs/prestoplay 6.25.2 → 6.27.0

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 (69) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/README.md +5 -5
  3. package/cjs/cl.adobe.js +3 -3
  4. package/cjs/cl.airplay.js +3 -3
  5. package/cjs/cl.broadpeak.js +7 -7
  6. package/cjs/cl.cast.js +115 -114
  7. package/cjs/cl.conviva.js +32 -32
  8. package/cjs/cl.core.js +620 -620
  9. package/cjs/cl.crypto.js +9 -9
  10. package/cjs/cl.dash.js +89 -88
  11. package/cjs/cl.externs.js +89 -51
  12. package/cjs/cl.freewheel.js +25 -25
  13. package/cjs/cl.hls.js +79 -77
  14. package/cjs/cl.hlssmpte.js +6 -6
  15. package/cjs/cl.htmlcue.js +30 -30
  16. package/cjs/cl.ima.js +24 -24
  17. package/cjs/cl.mediatailor.js +3 -3
  18. package/cjs/cl.mse.js +351 -336
  19. package/cjs/cl.muxdata.js +15 -15
  20. package/cjs/cl.onboard.js +3 -3
  21. package/cjs/cl.persistent.js +15 -15
  22. package/cjs/cl.playlist.js +6 -6
  23. package/cjs/cl.sessions.js +16 -16
  24. package/cjs/cl.simid.js +17 -17
  25. package/cjs/cl.smooth.js +72 -72
  26. package/cjs/cl.thumbnails.js +26 -26
  27. package/cjs/cl.tizen.js +73 -72
  28. package/cjs/cl.ttml.js +29 -29
  29. package/cjs/cl.verimatrix.js +5 -5
  30. package/cjs/cl.vimond.js +12 -12
  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 +39 -37
  35. package/cjs/polyfill.min.js +15 -3
  36. package/cl.adobe.js +3 -3
  37. package/cl.airplay.js +3 -3
  38. package/cl.broadpeak.js +5 -5
  39. package/cl.cast.js +92 -90
  40. package/cl.conviva.js +27 -27
  41. package/cl.core.js +496 -500
  42. package/cl.crypto.js +9 -9
  43. package/cl.dash.js +82 -82
  44. package/cl.externs.js +89 -51
  45. package/cl.freewheel.js +19 -19
  46. package/cl.hls.js +80 -80
  47. package/cl.hlssmpte.js +5 -5
  48. package/cl.htmlcue.js +26 -26
  49. package/cl.ima.js +17 -17
  50. package/cl.mediatailor.js +3 -3
  51. package/cl.mse.js +305 -294
  52. package/cl.muxdata.js +13 -13
  53. package/cl.onboard.js +4 -4
  54. package/cl.persistent.js +11 -11
  55. package/cl.playlist.js +5 -5
  56. package/cl.sessions.js +10 -10
  57. package/cl.simid.js +14 -14
  58. package/cl.smooth.js +60 -60
  59. package/cl.thumbnails.js +19 -19
  60. package/cl.tizen.js +57 -57
  61. package/cl.ttml.js +22 -22
  62. package/cl.verimatrix.js +4 -4
  63. package/cl.vimond.js +8 -8
  64. package/cl.vr.js +15 -15
  65. package/cl.vtt.js +12 -12
  66. package/cl.yospace.js +3 -3
  67. package/cl.youbora.js +29 -28
  68. package/package.json +3 -3
  69. package/typings.d.ts +124 -3
package/cjs/cl.crypto.js CHANGED
@@ -1,14 +1,14 @@
1
1
  (function(){var g={}; var _ = _ || {}
2
- var f=function(window){var TV=function(){this.B=[0,1,2,4,8,16,32,64,128,27,54];this.C=[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.C,d=c[0],e=c[1],f=c[2];c=c[3];var g=this.l,h=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 v=q^q<<1^q<<2^q<<3^q<<4;v=v>>>8^v&255^99;a[p]=v;b[v]=p;var z=n[p],A=n[z],D=n[A],G=257*n[v]^16843008*v;d[p]=G<<24|G>>>8;e[p]=G<<16|G>>>16;f[p]=G<<8|G>>>24;c[p]=G;G=16843009*D^65537*A^257*z^16843008*p;h[v]=G<<24|G>>>8;l[v]=G<<16|G>>>16;m[v]=G<<8|G>>>24;g[v]=G;p?(p=z^n[n[n[D^z]]],q^=n[n[q]]):p=q=1}},UV=function(a){a=_.Vj(a);for(var b=new Uint32Array(4),c=0;4>c;c++)b[c]=a.getUint32(4*c);return b},VV=function(){this.a=null},WV=function(){this.j={};
4
- this.l=!1;this.g=new _.J("clpp.crypto")},YV=function(a,b){return function(c){var d,e,f;return _.H(function(g){if(1==g.a){d=c.request||null;if(!(d&&2===d.type&&d.keyInfo&&c.data))return g.D(2);e=d.uris[0];a.g.debug("Decrypting AES-128-encrypted video segment",e);f=c;return _.x(g,XV(a,b,c.data,d.keyInfo,e),3)}2!=g.a&&(f.data=g.f);return g["return"](c)})}},ZV=function(a,b,c){var d,e,f,g,h,l;return _.H(function(m){if(1==m.a){d=_.ck(c);if(e=(new _.dj(c)).ab.endsWith(".drmtoday.com"))f=b.getConfiguration(),
5
- _.Rn(d,f);g=c+JSON.stringify(d.headers);if(a.j[g])return m["return"](a.j[g]);_.C(m,2);return _.x(m,b.getNetworkEngine().fetch(d).S,4)}if(2!=m.a)return h=m.f,a.j[g]=h.data,m["return"](h.data);l=_.E(m);e&&1001===l.code&&412===l.data.status&&a.g.warn("Wrong DRMtoday credentials, server responded with 412.");throw l;})},XV=function(a,b,c,d,e){var f,g,h,l,m;return _.H(function(n){switch(n.a){case 1:return f=new ArrayBuffer(0),_.C(n,2),_.x(n,ZV(a,b,d.url),4);case 4:f=n.f;_.uh(n,3);break;case 2:return g=
6
- _.E(n),a.g.warn("Could not fetch AES key",g),b.onError(new _.N(1,7,7104,null,g)),n["return"](c);case 3:return _.C(n,5),h=a.l?new VV:new TV,_.x(n,h.importKey(f),7);case 7:return _.x(n,h.decrypt(c,d.iv),8);case 8:return l=n.f,n["return"](l);case 5:return m=_.E(n),a.g.warn("Could not decrypt segment data!",e,m),b.onError(new _.N(1,3,3103,null,m)),n["return"](c)}})};
7
- TV.prototype.importKey=function(a){a=UV(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],h=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 hW=function(){this.B=[0,1,2,4,8,16,32,64,128,27,54];this.F=[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.F,d=c[0],e=c[1],f=c[2];c=c[3];var g=this.l,h=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],A=n[y],B=n[A],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*B^65537*A^257*y^16843008*p;h[u]=C<<24|C>>>8;l[u]=C<<16|C>>>16;m[u]=C<<8|C>>>24;g[u]=C;p?(p=y^n[n[n[B^y]]],q^=n[n[q]]):p=q=1}},iW=function(a){a=_.nj(a);for(var b=new Uint32Array(4),c=0;4>c;c++)b[c]=a.getUint32(4*c);return b},jW=function(){this.a=null},kW=function(){this.j={};
4
+ this.l=!1;this.g=new _.K("clpp.crypto")},mW=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,lW(a,b,c.data,d.keyInfo,e),3)}2!=g.a&&(f.data=g.f);return g["return"](c)})}},nW=function(a,b,c){var d,e,f,g,h,l;return _.I(function(m){if(1==m.a){d=_.Yj(c);if(e=(new _.qj(c)).a.hostname.endsWith(".drmtoday.com"))f=b.getConfiguration(),
5
+ _.jo(d,f);g=c+JSON.stringify(d.headers);if(a.j[g])return m["return"](a.j[g]);_.F(m,2);return _.x(m,b.getNetworkEngine().fetch(d).T,4)}if(2!=m.a)return h=m.f,a.j[g]=h.data,m["return"](h.data);l=_.H(m);e&&1001===l.code&&412===l.data.status&&a.g.warn("Wrong DRMtoday credentials, server responded with 412.");throw l;})},lW=function(a,b,c,d,e){var f,g,h,l,m;return _.I(function(n){switch(n.a){case 1:return f=new ArrayBuffer(0),_.F(n,2),_.x(n,nW(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),h=a.l?new jW:new hW,_.x(n,h.importKey(f),7);case 7:return _.x(n,h.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
+ hW.prototype.importKey=function(a){a=iW(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],h=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]]^h[b[m&255]],this.j[a]>>>=0;return new Promise(function(n){return n()})};
9
- TV.prototype.decrypt=function(a,b){var c=0,d=this.a+6,e=this.j,f=this.o,g=this.l,h=g[0],l=g[1],m=g[2];g=g[3];var n=UV(b),p=n[0],q=n[1],t=n[2];n=n[3];for(var v=_.Uj(a),z=new Int32Array(v.length),A,D,G,B,F,M,R,ka,U,qa,Ba,Ca,Da,Na=this.G.bind(this);c<v.length;){ka=Na(v[c]);U=Na(v[c+1]);qa=Na(v[c+2]);Ba=Na(v[c+3]);F=ka^e[0];M=Ba^e[1];R=qa^e[2];B=U^e[3];Ca=4;for(Da=1;Da<d;Da++)A=h[F>>>24]^l[M>>16&255]^m[R>>8&255]^g[B&255]^e[Ca],D=h[M>>>24]^l[R>>16&255]^m[B>>8&255]^g[F&255]^e[Ca+1],G=h[R>>>24]^l[B>>16&
10
- 255]^m[F>>8&255]^g[M&255]^e[Ca+2],B=h[B>>>24]^l[F>>16&255]^m[M>>8&255]^g[R&255]^e[Ca+3],F=A,M=D,R=G,Ca+=4;A=f[F>>>24]<<24^f[M>>16&255]<<16^f[R>>8&255]<<8^f[B&255]^e[Ca];D=f[M>>>24]<<24^f[R>>16&255]<<16^f[B>>8&255]<<8^f[F&255]^e[Ca+1];G=f[R>>>24]<<24^f[B>>16&255]<<16^f[F>>8&255]<<8^f[M&255]^e[Ca+2];B=f[B>>>24]<<24^f[F>>16&255]<<16^f[M>>8&255]<<8^f[R&255]^e[Ca+3];Ca+=3;z[c]=Na(A^p);z[c+1]=Na(B^q);z[c+2]=Na(G^t);z[c+3]=Na(D^n);p=ka;q=U;t=qa;n=Ba;c+=4}return new Promise(function(zb){var me=z.buffer;var Cf=
11
- me.byteLength,Fg=Cf&&(new DataView(me)).getUint8(Cf-1);me=Fg?me.slice(0,Cf-Fg):me;zb(me)})};TV.prototype.destroy=function(){this.B=this.j=this.f=this.l=this.C=this.o=this.A=this.h=this.a=this.w=null;return new Promise(function(a){return a()})};TV.prototype.G=function(a){return a<<24|(a&65280)<<8|(a&16711680)>>8|a>>>24};VV.prototype.importKey=function(a){var b=this,c;return _.H(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;_.y(d)})};VV.prototype.decrypt=function(a,b){var c=this,d;return _.H(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)})};VV.prototype.destroy=function(){this.a=null;return new Promise(function(a){return a()})};_.w(WV,_.Bu);WV.prototype.f=function(){if(window.crypto&&crypto.subtle){var a=crypto.subtle.decrypt;a=typeof crypto.subtle.importKey===_.oe&&typeof a===_.oe}else a=!1;(this.l=a)||this.g.warn("No WebCrypto APIs found. Will fallback to software AES")};WV.prototype.o=function(a){var b=YV(this,a);a.getNetworkEngine().fd(b)};WV.prototype.a=function(){this.j={}};WV.prototype.id=function(){return"crypto"};_.I("clpp.crypto.CryptoComponent",WV);};
9
+ hW.prototype.decrypt=function(a,b){var c=0,d=this.a+6,e=this.j,f=this.o,g=this.l,h=g[0],l=g[1],m=g[2];g=g[3];var n=iW(b),p=n[0],q=n[1],t=n[2];n=n[3];for(var u=_.mj(a),y=new Int32Array(u.length),A,B,C,E,D,L,P,U,V,ra,Da,wa,Ea,Oa=this.G.bind(this);c<u.length;){U=Oa(u[c]);V=Oa(u[c+1]);ra=Oa(u[c+2]);Da=Oa(u[c+3]);D=U^e[0];L=Da^e[1];P=ra^e[2];E=V^e[3];wa=4;for(Ea=1;Ea<d;Ea++)A=h[D>>>24]^l[L>>16&255]^m[P>>8&255]^g[E&255]^e[wa],B=h[L>>>24]^l[P>>16&255]^m[E>>8&255]^g[D&255]^e[wa+1],C=h[P>>>24]^l[E>>16&255]^
10
+ m[D>>8&255]^g[L&255]^e[wa+2],E=h[E>>>24]^l[D>>16&255]^m[L>>8&255]^g[P&255]^e[wa+3],D=A,L=B,P=C,wa+=4;A=f[D>>>24]<<24^f[L>>16&255]<<16^f[P>>8&255]<<8^f[E&255]^e[wa];B=f[L>>>24]<<24^f[P>>16&255]<<16^f[E>>8&255]<<8^f[D&255]^e[wa+1];C=f[P>>>24]<<24^f[E>>16&255]<<16^f[D>>8&255]<<8^f[L&255]^e[wa+2];E=f[E>>>24]<<24^f[D>>16&255]<<16^f[L>>8&255]<<8^f[P&255]^e[wa+3];wa+=3;y[c]=Oa(A^p);y[c+1]=Oa(E^q);y[c+2]=Oa(C^t);y[c+3]=Oa(B^n);p=U;q=V;t=ra;n=Da;c+=4}return new Promise(function(zb){var pe=y.buffer;var Df=
11
+ pe.byteLength,Hg=Df&&(new DataView(pe)).getUint8(Df-1);pe=Hg?pe.slice(0,Df-Hg):pe;zb(pe)})};hW.prototype.destroy=function(){this.B=this.j=this.f=this.l=this.F=this.o=this.A=this.h=this.a=this.w=null;return new Promise(function(a){return a()})};hW.prototype.G=function(a){return a<<24|(a&65280)<<8|(a&16711680)>>8|a>>>24};jW.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;_.z(d)})};jW.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)})};jW.prototype.destroy=function(){this.a=null;return new Promise(function(a){return a()})};_.w(kW,_.Wu);kW.prototype.f=function(){if(window.crypto&&crypto.subtle){var a=crypto.subtle.decrypt;a=typeof crypto.subtle.importKey===_.le&&typeof a===_.le}else a=!1;(this.l=a)||this.g.warn("No WebCrypto APIs found. Will fallback to software AES")};kW.prototype.o=function(a){var b=mW(this,a);a.getNetworkEngine().bd(b)};kW.prototype.a=function(){this.j={}};kW.prototype.id=function(){return"crypto"};_.J("clpp.crypto.CryptoComponent",kW);};
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));}