@castlabs/prestoplay 6.32.0 → 6.33.0-beta.1

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 (65) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/cjs/cl.adobe.js +3 -3
  3. package/cjs/cl.airplay.js +3 -3
  4. package/cjs/cl.broadpeak.js +19 -19
  5. package/cjs/cl.cast.js +129 -127
  6. package/cjs/cl.conviva.js +32 -32
  7. package/cjs/cl.core.js +620 -625
  8. package/cjs/cl.crypto.js +9 -9
  9. package/cjs/cl.dash.js +101 -101
  10. package/cjs/cl.externs.js +45 -41
  11. package/cjs/cl.freewheel.js +25 -25
  12. package/cjs/cl.hls.js +76 -76
  13. package/cjs/cl.hlssmpte.js +6 -6
  14. package/cjs/cl.htmlcue.js +30 -30
  15. package/cjs/cl.ima.js +26 -26
  16. package/cjs/cl.mediatailor.js +3 -3
  17. package/cjs/cl.mse.js +359 -352
  18. package/cjs/cl.muxdata.js +14 -14
  19. package/cjs/cl.onboard.js +4 -4
  20. package/cjs/cl.persistent.js +14 -14
  21. package/cjs/cl.playlist.js +6 -6
  22. package/cjs/cl.simid.js +16 -16
  23. package/cjs/cl.smooth.js +71 -71
  24. package/cjs/cl.thumbnails.js +26 -26
  25. package/cjs/cl.tizen.js +72 -72
  26. package/cjs/cl.ttml.js +29 -29
  27. package/cjs/cl.verimatrix.js +5 -5
  28. package/cjs/cl.vimond.js +12 -12
  29. package/cjs/cl.vr.js +19 -19
  30. package/cjs/cl.vtt.js +14 -14
  31. package/cjs/cl.yospace.js +4 -4
  32. package/cjs/cl.youbora.js +35 -35
  33. package/cl.adobe.js +3 -3
  34. package/cl.airplay.js +3 -3
  35. package/cl.broadpeak.js +14 -14
  36. package/cl.cast.js +101 -102
  37. package/cl.conviva.js +27 -27
  38. package/cl.core.js +497 -503
  39. package/cl.crypto.js +9 -9
  40. package/cl.dash.js +89 -89
  41. package/cl.externs.js +50 -42
  42. package/cl.freewheel.js +20 -20
  43. package/cl.hls.js +82 -82
  44. package/cl.hlssmpte.js +5 -5
  45. package/cl.htmlcue.js +26 -26
  46. package/cl.ima.js +20 -20
  47. package/cl.mediatailor.js +2 -2
  48. package/cl.mse.js +305 -303
  49. package/cl.muxdata.js +13 -13
  50. package/cl.onboard.js +5 -4
  51. package/cl.persistent.js +11 -11
  52. package/cl.playlist.js +5 -5
  53. package/cl.simid.js +14 -14
  54. package/cl.smooth.js +61 -61
  55. package/cl.thumbnails.js +19 -19
  56. package/cl.tizen.js +57 -57
  57. package/cl.ttml.js +22 -22
  58. package/cl.verimatrix.js +4 -4
  59. package/cl.vimond.js +8 -8
  60. package/cl.vr.js +14 -14
  61. package/cl.vtt.js +12 -12
  62. package/cl.yospace.js +3 -3
  63. package/cl.youbora.js +30 -30
  64. package/package.json +1 -1
  65. package/typings.d.ts +32 -24
package/cl.vr.js CHANGED
@@ -1,15 +1,15 @@
1
- import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var Rw="touchmove",Sw="touchstart",Uw=function(a,b,c){c*=.5;const d=Math.sqrt(a*a+b*b),e=Math.sin(c);return new Tw(a/d*e,b/d*e,0/d*e,Math.cos(c))},Vw=function(a,b){const c=a.x,d=a.y,e=a.a;a=a.f;b.set(1-2*(d*d+e*e),2*(c*d-e*a),2*(c*e+d*a),0,2*(c*d+e*a),1-2*(c*c+e*e),2*(d*e-c*a),0,2*(c*e-d*a),2*(d*e+c*a),1-2*(c*c+d*d),0,0,0,0,1)},Ww=function(a,b){isFinite(b)?(a.x*=b,a.y*=b,a.a*=b):(a.x=0,a.y=0,a.a=0)},Xw=function(a,b){return a.x*b.x+a.y*b.y+a.a*b.a},Yw=function(a,b,c){const d=b.x,e=b.y;
2
- b=b.a;const f=c.x,g=c.y;c=c.a;a.x=e*c-b*g;a.y=b*f-d*c;a.a=d*g-e*f;return a},Zw=function(a,b,c){b=b.a;c=c.a;const d=a.a;let e=0;do d[4*e]=b[4*e]*c[0]+b[4*e+1]*c[4]+b[4*e+2]*c[8]+b[4*e+3]*c[12],d[4*e+1]=b[4*e]*c[1]+b[4*e+1]*c[5]+b[4*e+2]*c[9]+b[4*e+3]*c[13],d[4*e+2]=b[4*e]*c[2]+b[4*e+1]*c[6]+b[4*e+2]*c[10]+b[4*e+3]*c[14],d[4*e+3]=b[4*e]*c[3]+b[4*e+1]*c[7]+b[4*e+2]*c[11]+b[4*e+3]*c[15];while(4>++e);return a},ax=function(a){var b=new $w(0,0,0),c=new $w(0,0,1);const d=new $w,e=new $w,f=new $w;a=a.a;var g=
3
- new $w(0,1,0);f.x=b.x-g.x;f.y=b.y-g.y;f.a=b.a-g.a;g=f.length();Ww(f,1/g);c=Yw(d,c,f);g=c.length();Ww(c,1/g);Yw(e,f,d);a[0]=d.x;a[1]=d.y;a[2]=d.a;a[3]=-Xw(d,b);a[4]=e.x;a[5]=e.y;a[6]=e.a;a[7]=-Xw(e,b);a[8]=f.x;a[9]=f.y;a[10]=f.a;a[11]=-Xw(f,b);a[12]=0;a[13]=0;a[14]=0;a[15]=1},bx=function(a,b,c){b=a.a.createShader(b?a.a.FRAGMENT_SHADER:a.a.VERTEX_SHADER);a.a.shaderSource(b,c);a.a.compileShader(b);if(!a.a.getShaderParameter(b,a.a.COMPILE_STATUS))throw new _.I(1,9,9004,"Unable to compile GL shader: "+
4
- a.a.getShaderInfoLog(b));return b},cx=function(a){a.a&&(a.a.removeEventListener("mousemove",a.A,!1),a.a.removeEventListener(Rw,a.A,!1),a.a.removeEventListener("mouseup",a.B,!1),a.a.removeEventListener("touchend",a.B,!1))},dx=function(a){const b=Uw(1,0,a.l*Math.PI/180);Vw(Uw(0,1,a.j*Math.PI/180),a.P);Vw(b,a.R);ax(a.X);Zw(a.ca,a.P,a.X);Zw(a.G,a.R,a.ca)},Tw=class{constructor(a,b,c,d){this.x=a||0;this.y=b||0;this.a=c||0;this.f=d||1}};var $w=class{constructor(a,b,c){this.x=a||0;this.y=b||0;this.a=c||0}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.a*this.a)}};var ex=class{constructor(){this.a=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])}set(a,b,c,d,e,f,g,h,k,l,m,n,p,u,v,y){const A=this.a;A[0]=a;A[4]=b;A[8]=c;A[12]=d;A[1]=e;A[5]=f;A[9]=g;A[13]=h;A[2]=k;A[6]=l;A[10]=m;A[14]=n;A[3]=p;A[7]=u;A[11]=v;A[15]=y;return this}};var fx=class{constructor(a){this.a=a;this.f=a.createProgram();this.l=bx(this,!1,"uniform highp mat4 Mvpm;\nattribute highp vec4 aPosition;\nattribute highp vec2 aTexCoord;\nvarying highp vec2 oTexCoord;\nvoid main()\n{\n gl_Position \x3d Mvpm * aPosition;\n oTexCoord \x3d aTexCoord;\n}\n");this.j=bx(this,!0,"precision highp float;\nuniform sampler2D Texture0;\nvarying highp vec2 oTexCoord;\nvoid main()\n{\n gl_FragColor \x3d texture2D(Texture0, oTexCoord);\n gl_FragColor.w \x3d 1.0;\n}\n");
5
- a.attachShader(this.f,this.l);a.attachShader(this.f,this.j);a.bindAttribLocation(this.f,0,"aPosition");a.bindAttribLocation(this.f,1,"aTexCoord");a.linkProgram(this.f);if(!a.getProgramParameter(this.f,a.LINK_STATUS))throw new _.I(1,9,9004,"Unable to initialize shader");a.useProgram(this.f);this.h=a.getUniformLocation(this.f,"Mvpm");a.uniform1i(a.getUniformLocation(this.f,"Texture0"),0);a.useProgram(null)}};var gx=class{constructor(a){this.a=a;var b=[];let c,d;for(d=0;70>=d;d++){var e=3>=d?d/4/64:67<=d?(63+(d-66)/4)/64:(d-3)/64;var f=(e-.5)*Math.PI;const g=Math.cos(f);for(c=0;128>=c;c++){const h=c/128,k=(.5+h)*Math.PI*2;128===c?(b.push(b[645*d]),b.push(b[645*d+1]),b.push(b[645*d+2])):(b.push(100*Math.cos(k)*g),b.push(100*Math.sin(k)*g),b.push(100*Math.sin(f)));0===d||70===d?b.push(.5):b.push(1-h);b.push(1-e)}}e=[];for(c=0;128>c;c++)for(d=0;70>d;d++)f=5*(129*d+c),e.push(b[f],b[f+1],b[f+2],b[f+3],b[f+
6
- 4]),f=5*(129*d+c+1),e.push(b[f],b[f+1],b[f+2],b[f+3],b[f+4]),f=5*(129*(d+1)+c),e.push(b[f],b[f+1],b[f+2],b[f+3],b[f+4]),f=5*(129*(d+1)+c),e.push(b[f],b[f+1],b[f+2],b[f+3],b[f+4]),f=5*(129*d+c+1),e.push(b[f],b[f+1],b[f+2],b[f+3],b[f+4]),f=5*(129*(d+1)+c+1),e.push(b[f],b[f+1],b[f+2],b[f+3],b[f+4]);this.h=e.length/5;this.f=a.createBuffer();b=new Float32Array(e);a.bindBuffer(a.ARRAY_BUFFER,this.f);a.bufferData(a.ARRAY_BUFFER,b,a.STATIC_DRAW)}};var hx=class{constructor(a,b){this.a=b;this.f=this.a.createTexture();b.activeTexture(b.TEXTURE0);b.bindTexture(b.TEXTURE_2D,this.f);b.texImage2D(b.TEXTURE_2D,0,b.RGB,b.RGB,b.UNSIGNED_BYTE,a);b.texParameteri(b.TEXTURE_2D,b.TEXTURE_MAG_FILTER,b.LINEAR);b.texParameteri(b.TEXTURE_2D,b.TEXTURE_MIN_FILTER,b.LINEAR);b.texParameteri(b.TEXTURE_2D,b.TEXTURE_WRAP_S,b.CLAMP_TO_EDGE);b.texParameteri(b.TEXTURE_2D,b.TEXTURE_WRAP_T,b.CLAMP_TO_EDGE);b.bindTexture(b.TEXTURE_2D,null)}};var ix={alpha:!1,depth:!0,stencil:!1,antialias:!0,premultipliedAlpha:!1,preserveDrawingBuffer:!1,devicePixelRatio:1},jx=class extends _.Uv{constructor(){super();this.o=this.w=this.K=this.I=this.C=this.W=this.G=this.f=this.a=this.m=null;this.g=new _.T("clpp.vr");this.H=70;this.U=1;this.M=this.L=!1;this.F=()=>{if(this.a&&this.f){this.f.viewport(0,0,this.a.width,this.a.height);{const a=this.K.a,b=Math.tan(.5*this.H*Math.PI/180);a[0]=1/(this.a.width/this.a.height*b);a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=1/
7
- b;a[6]=0;a[7]=0;a[8]=0;a[9]=0;a[10]=2E3/-1999.9;a[11]=200/-1999.9;a[12]=0;a[13]=0;a[14]=-1;a[15]=1}}};this.l=this.j=0;this.h={x:0,y:0};this.P=new ex;this.R=new ex;this.X=new ex;this.ca=new ex;this.A=this.ia.bind(this);this.B=this.Aa.bind(this);this.J=this.da.bind(this)}onPlayerCreated(a){this.g.info("Player created");this.m=a}onContentWillLoad(a){const b=a.getConfiguration();if(b.vr&&b.vr.enable){{var c=b.vr,d=c.fieldOfView;const e=c.sensitivity,f=c.invertHorizontalControl;c=c.invertVerticalControl;
8
- if(void 0!==d&&_.lh(d))this.H=d;else throw new _.I(1,7,7100,"fieldOfView configuration must be a number");if(void 0!==e&&_.lh(e)&&0<e)this.U=e;else throw new _.I(1,7,7100,"sensitivity configuration must be a positive number");this.L=!!f;this.M=!!c}if(a=a.getSurface())if((d=a.getMedia())&&d.tagName.toLowerCase()===_.t){this.g.info("Initialize VR Surface");if(!this.a){this.a=document.createElement("canvas");this.a.style.width="100%";this.f=this.a.getContext("webgl",ix)||this.a.getContext("experimental-webgl",
9
- ix);if(!this.f)throw new _.I(1,9,9003,"Unable to create GL context");this.G=new ex;ax(this.G);this.W=new gx(this.f);this.C=new fx(this.f);this.I=new ex;this.K=new ex;this.o=this.w=null;this.a.addEventListener(_.Bf,this.F)}a.addElementToContainer(this.a,!0,!0);a.hideMediaElement();b.vr.attachMouseListener&&(this.a.addEventListener("mousedown",this.J,!1),this.a.addEventListener(Sw,this.J,!1));this.F();this.S()}else this.g.info("No video element found, can not initialize VR plugin");else this.g.info("No surface found, can not initialize VR plugin")}}onPlayerWillRelease(){this.g.info("Releasing VR plugin resources");
10
- this.w&&cancelAnimationFrame(this.w);this.h.x=0;this.l=this.j=this.h.y=0;this.f&&(delete this.f,this.f=null);this.a&&(cx(this),this.a.removeEventListener(_.Bf,this.F),this.a.parentElement.removeChild(this.a),this.a.removeEventListener("mousedown",this.J,!1),delete this.a,this.a=null)}onPlayerWillDestroy(){const a=this;return _.w(function*(){a.m=null})}id(){return"vr"}S(){if(this.m&&this.f){var a=this.m.getSurface();if(a&&(a=a.getMedia())&&a.tagName.toLowerCase()===_.t){this.w=requestAnimationFrame(this.S.bind(this));
11
- var b=this.f;this.o||a.readyState!==a.HAVE_ENOUGH_DATA||(this.o=new hx(a,b));b.clearColor(0,0,0,1);b.clearDepth(1);b.clearStencil(0);b.enable(b.DEPTH_TEST);b.depthFunc(b.LEQUAL);b.frontFace(b.CCW);b.cullFace(b.BACK);b.disable(b.CULL_FACE);b.enable(b.BLEND);b.blendFunc(b.SRC_ALPHA,b.ONE_MINUS_SRC_ALPHA);b.depthMask(!0);b.clearColor(0,0,0,1);b.clear(b.COLOR_BUFFER_BIT|b.DEPTH_BUFFER_BIT);if(this.o){var c=this.C;c.a.useProgram(c.f);{c=Zw(this.I,this.K,this.G).a;let d;d=c[1];c[1]=c[4];c[4]=d;d=c[2];c[2]=
1
+ import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var Bw="touchmove",Cw="touchstart",Ew=function(a,b,c){c*=.5;const d=Math.sqrt(a*a+b*b),e=Math.sin(c);return new Dw(a/d*e,b/d*e,0/d*e,Math.cos(c))},Fw=function(a,b){const c=a.x,d=a.y,e=a.a;a=a.f;b.set(1-2*(d*d+e*e),2*(c*d-e*a),2*(c*e+d*a),0,2*(c*d+e*a),1-2*(c*c+e*e),2*(d*e-c*a),0,2*(c*e-d*a),2*(d*e+c*a),1-2*(c*c+d*d),0,0,0,0,1)},Gw=function(a,b){isFinite(b)?(a.x*=b,a.y*=b,a.a*=b):(a.x=0,a.y=0,a.a=0)},Hw=function(a,b){return a.x*b.x+a.y*b.y+a.a*b.a},Iw=function(a,b,c){const d=b.x,e=b.y;
2
+ b=b.a;const f=c.x,g=c.y;c=c.a;a.x=e*c-b*g;a.y=b*f-d*c;a.a=d*g-e*f;return a},Jw=function(a,b,c){b=b.a;c=c.a;const d=a.a;let e=0;do d[4*e]=b[4*e]*c[0]+b[4*e+1]*c[4]+b[4*e+2]*c[8]+b[4*e+3]*c[12],d[4*e+1]=b[4*e]*c[1]+b[4*e+1]*c[5]+b[4*e+2]*c[9]+b[4*e+3]*c[13],d[4*e+2]=b[4*e]*c[2]+b[4*e+1]*c[6]+b[4*e+2]*c[10]+b[4*e+3]*c[14],d[4*e+3]=b[4*e]*c[3]+b[4*e+1]*c[7]+b[4*e+2]*c[11]+b[4*e+3]*c[15];while(4>++e);return a},Lw=function(a){var b=new Kw(0,0,0),c=new Kw(0,0,1);const d=new Kw,e=new Kw,f=new Kw;a=a.a;var g=
3
+ new Kw(0,1,0);f.x=b.x-g.x;f.y=b.y-g.y;f.a=b.a-g.a;g=f.length();Gw(f,1/g);c=Iw(d,c,f);g=c.length();Gw(c,1/g);Iw(e,f,d);a[0]=d.x;a[1]=d.y;a[2]=d.a;a[3]=-Hw(d,b);a[4]=e.x;a[5]=e.y;a[6]=e.a;a[7]=-Hw(e,b);a[8]=f.x;a[9]=f.y;a[10]=f.a;a[11]=-Hw(f,b);a[12]=0;a[13]=0;a[14]=0;a[15]=1},Mw=function(a,b,c){b=a.a.createShader(b?a.a.FRAGMENT_SHADER:a.a.VERTEX_SHADER);a.a.shaderSource(b,c);a.a.compileShader(b);if(!a.a.getShaderParameter(b,a.a.COMPILE_STATUS))throw new _.I(1,9,9004,"Unable to compile GL shader: "+
4
+ a.a.getShaderInfoLog(b));return b},Nw=function(a){a.a&&(a.a.removeEventListener("mousemove",a.A,!1),a.a.removeEventListener(Bw,a.A,!1),a.a.removeEventListener("mouseup",a.B,!1),a.a.removeEventListener("touchend",a.B,!1))},Ow=function(a){const b=Ew(1,0,a.l*Math.PI/180);Fw(Ew(0,1,a.j*Math.PI/180),a.P);Fw(b,a.R);Lw(a.Z);Jw(a.ca,a.P,a.Z);Jw(a.G,a.R,a.ca)},Dw=class{constructor(a,b,c,d){this.x=a||0;this.y=b||0;this.a=c||0;this.f=d||1}};var Kw=class{constructor(a,b,c){this.x=a||0;this.y=b||0;this.a=c||0}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.a*this.a)}};var Pw=class{constructor(){this.a=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])}set(a,b,c,d,e,f,g,h,k,l,m,n,p,u,x,y){const A=this.a;A[0]=a;A[4]=b;A[8]=c;A[12]=d;A[1]=e;A[5]=f;A[9]=g;A[13]=h;A[2]=k;A[6]=l;A[10]=m;A[14]=n;A[3]=p;A[7]=u;A[11]=x;A[15]=y;return this}};var Qw=class{constructor(a){this.a=a;this.f=a.createProgram();this.l=Mw(this,!1,"uniform highp mat4 Mvpm;\nattribute highp vec4 aPosition;\nattribute highp vec2 aTexCoord;\nvarying highp vec2 oTexCoord;\nvoid main()\n{\n gl_Position \x3d Mvpm * aPosition;\n oTexCoord \x3d aTexCoord;\n}\n");this.j=Mw(this,!0,"precision highp float;\nuniform sampler2D Texture0;\nvarying highp vec2 oTexCoord;\nvoid main()\n{\n gl_FragColor \x3d texture2D(Texture0, oTexCoord);\n gl_FragColor.w \x3d 1.0;\n}\n");
5
+ a.attachShader(this.f,this.l);a.attachShader(this.f,this.j);a.bindAttribLocation(this.f,0,"aPosition");a.bindAttribLocation(this.f,1,"aTexCoord");a.linkProgram(this.f);if(!a.getProgramParameter(this.f,a.LINK_STATUS))throw new _.I(1,9,9004,"Unable to initialize shader");a.useProgram(this.f);this.h=a.getUniformLocation(this.f,"Mvpm");a.uniform1i(a.getUniformLocation(this.f,"Texture0"),0);a.useProgram(null)}};var Rw=class{constructor(a){this.a=a;var b=[];let c,d;for(d=0;70>=d;d++){var e=3>=d?d/4/64:67<=d?(63+(d-66)/4)/64:(d-3)/64;var f=(e-.5)*Math.PI;const g=Math.cos(f);for(c=0;128>=c;c++){const h=c/128,k=(.5+h)*Math.PI*2;128===c?(b.push(b[645*d]),b.push(b[645*d+1]),b.push(b[645*d+2])):(b.push(100*Math.cos(k)*g),b.push(100*Math.sin(k)*g),b.push(100*Math.sin(f)));0===d||70===d?b.push(.5):b.push(1-h);b.push(1-e)}}e=[];for(c=0;128>c;c++)for(d=0;70>d;d++)f=5*(129*d+c),e.push(b[f],b[f+1],b[f+2],b[f+3],b[f+
6
+ 4]),f=5*(129*d+c+1),e.push(b[f],b[f+1],b[f+2],b[f+3],b[f+4]),f=5*(129*(d+1)+c),e.push(b[f],b[f+1],b[f+2],b[f+3],b[f+4]),f=5*(129*(d+1)+c),e.push(b[f],b[f+1],b[f+2],b[f+3],b[f+4]),f=5*(129*d+c+1),e.push(b[f],b[f+1],b[f+2],b[f+3],b[f+4]),f=5*(129*(d+1)+c+1),e.push(b[f],b[f+1],b[f+2],b[f+3],b[f+4]);this.h=e.length/5;this.f=a.createBuffer();b=new Float32Array(e);a.bindBuffer(a.ARRAY_BUFFER,this.f);a.bufferData(a.ARRAY_BUFFER,b,a.STATIC_DRAW)}};var Sw=class{constructor(a,b){this.a=b;this.f=this.a.createTexture();b.activeTexture(b.TEXTURE0);b.bindTexture(b.TEXTURE_2D,this.f);b.texImage2D(b.TEXTURE_2D,0,b.RGB,b.RGB,b.UNSIGNED_BYTE,a);b.texParameteri(b.TEXTURE_2D,b.TEXTURE_MAG_FILTER,b.LINEAR);b.texParameteri(b.TEXTURE_2D,b.TEXTURE_MIN_FILTER,b.LINEAR);b.texParameteri(b.TEXTURE_2D,b.TEXTURE_WRAP_S,b.CLAMP_TO_EDGE);b.texParameteri(b.TEXTURE_2D,b.TEXTURE_WRAP_T,b.CLAMP_TO_EDGE);b.bindTexture(b.TEXTURE_2D,null)}};var Tw={alpha:!1,depth:!0,stencil:!1,antialias:!0,premultipliedAlpha:!1,preserveDrawingBuffer:!1,devicePixelRatio:1},Uw=class extends _.Ev{constructor(){super();this.o=this.w=this.K=this.I=this.C=this.W=this.G=this.f=this.a=this.m=null;this.g=new _.T("clpp.vr");this.H=70;this.U=1;this.M=this.L=!1;this.F=()=>{if(this.a&&this.f){this.f.viewport(0,0,this.a.width,this.a.height);{const a=this.K.a,b=Math.tan(.5*this.H*Math.PI/180);a[0]=1/(this.a.width/this.a.height*b);a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=1/
7
+ b;a[6]=0;a[7]=0;a[8]=0;a[9]=0;a[10]=2E3/-1999.9;a[11]=200/-1999.9;a[12]=0;a[13]=0;a[14]=-1;a[15]=1}}};this.l=this.j=0;this.h={x:0,y:0};this.P=new Pw;this.R=new Pw;this.Z=new Pw;this.ca=new Pw;this.A=this.ia.bind(this);this.B=this.Aa.bind(this);this.J=this.da.bind(this)}onPlayerCreated(a){this.g.info("Player created");this.m=a}onContentWillLoad(a){const b=a.getConfiguration();if(b.vr&&b.vr.enable){{var c=b.vr,d=c.fieldOfView;const e=c.sensitivity,f=c.invertHorizontalControl;c=c.invertVerticalControl;
8
+ if(void 0!==d&&_.fh(d))this.H=d;else throw new _.I(1,7,7100,"fieldOfView configuration must be a number");if(void 0!==e&&_.fh(e)&&0<e)this.U=e;else throw new _.I(1,7,7100,"sensitivity configuration must be a positive number");this.L=!!f;this.M=!!c}if(a=a.getSurface())if((d=a.getMedia())&&d.tagName.toLowerCase()===_.t){this.g.info("Initialize VR Surface");if(!this.a){this.a=document.createElement("canvas");this.a.style.width="100%";this.f=this.a.getContext("webgl",Tw)||this.a.getContext("experimental-webgl",
9
+ Tw);if(!this.f)throw new _.I(1,9,9003,"Unable to create GL context");this.G=new Pw;Lw(this.G);this.W=new Rw(this.f);this.C=new Qw(this.f);this.I=new Pw;this.K=new Pw;this.o=this.w=null;this.a.addEventListener(_.vf,this.F)}a.addElementToContainer(this.a,!0,!0);a.hideMediaElement();b.vr.attachMouseListener&&(this.a.addEventListener("mousedown",this.J,!1),this.a.addEventListener(Cw,this.J,!1));this.F();this.S()}else this.g.info("No video element found, can not initialize VR plugin");else this.g.info("No surface found, can not initialize VR plugin")}}onPlayerWillRelease(){this.g.info("Releasing VR plugin resources");
10
+ this.w&&cancelAnimationFrame(this.w);this.h.x=0;this.l=this.j=this.h.y=0;this.f&&(delete this.f,this.f=null);this.a&&(Nw(this),this.a.removeEventListener(_.vf,this.F),this.a.parentElement.removeChild(this.a),this.a.removeEventListener("mousedown",this.J,!1),delete this.a,this.a=null)}onPlayerWillDestroy(){const a=this;return _.v(function*(){a.m=null})}id(){return"vr"}S(){if(this.m&&this.f){var a=this.m.getSurface();if(a&&(a=a.getMedia())&&a.tagName.toLowerCase()===_.t){this.w=requestAnimationFrame(this.S.bind(this));
11
+ var b=this.f;this.o||a.readyState!==a.HAVE_ENOUGH_DATA||(this.o=new Sw(a,b));b.clearColor(0,0,0,1);b.clearDepth(1);b.clearStencil(0);b.enable(b.DEPTH_TEST);b.depthFunc(b.LEQUAL);b.frontFace(b.CCW);b.cullFace(b.BACK);b.disable(b.CULL_FACE);b.enable(b.BLEND);b.blendFunc(b.SRC_ALPHA,b.ONE_MINUS_SRC_ALPHA);b.depthMask(!0);b.clearColor(0,0,0,1);b.clear(b.COLOR_BUFFER_BIT|b.DEPTH_BUFFER_BIT);if(this.o){var c=this.C;c.a.useProgram(c.f);{c=Jw(this.I,this.K,this.G).a;let d;d=c[1];c[1]=c[4];c[4]=d;d=c[2];c[2]=
12
12
  c[8];c[8]=d;d=c[6];c[6]=c[9];c[9]=d;d=c[3];c[3]=c[12];c[12]=d;d=c[7];c[7]=c[13];c[13]=d;d=c[11];c[11]=c[14];c[14]=d}b.uniformMatrix4fv(this.C.h,!1,this.I.a);c=this.o;c.a.activeTexture(c.a.TEXTURE0);c.a.bindTexture(c.a.TEXTURE_2D,c.f);b.texImage2D(b.TEXTURE_2D,0,b.RGB,b.RGB,b.UNSIGNED_BYTE,a);a=this.W;a.a.bindBuffer(a.a.ARRAY_BUFFER,a.f);a.a.vertexAttribPointer(0,3,a.a.FLOAT,!1,20,0);a.a.vertexAttribPointer(1,2,a.a.FLOAT,!1,20,12);a.a.enableVertexAttribArray(0);a.a.enableVertexAttribArray(1);a.a.drawArrays(a.a.TRIANGLES,
13
- 0,a.h);a=this.o;a.a.bindTexture(a.a.TEXTURE_2D,null);this.C.a.useProgram(null)}}}}da(a){this.g.debug("Mouse Down. Enable VR mouse interaction");a.preventDefault();if(0===a.button||a.type===Sw)a.type===Sw?a.touches[0]&&(this.h.x=a.touches[0].clientX,this.h.y=a.touches[0].clientY):(this.h.x=a.clientX,this.h.y=a.clientY),this.g.debug("Mouse Start coordinates:",this.h,a),this.a.addEventListener("mousemove",this.A,!1),this.a.addEventListener(Rw,this.A,!1),this.a.addEventListener("mouseup",this.B,!1),this.a.addEventListener("touchend",
14
- this.B,!1)}ia(a){a.preventDefault();var b=a.clientX;let c=a.clientY;a.type===Rw&&a.touches[0]&&(b=a.touches[0].clientX,c=a.touches[0].clientY);a=this.h.x-b;const d=this.h.y-c;this.h.x=b;this.h.y=c;b=this.U;const {Dh:e,Eh:f}={Dh:a*b*(this.L?-1:1),Eh:d*b*(this.M?-1:1)};this.j+=e;this.l+=f;dx(this)}Aa(a){this.g.debug("Mouse Up. Removing mouse interaction listeners");a.preventDefault();cx(this)}xi(a,b){this.l=b;this.j=a;dx(this)}Yh(){return{x:this.j,y:this.l}}Ui(a){this.H=a;this.F()}};
15
- _.x("clpp.vr.VrPlugin",jx);jx.prototype.setCameraFieldOfView=jx.prototype.Ui;jx.prototype.getCameraCoordinates=jx.prototype.Yh;jx.prototype.moveCamera=jx.prototype.xi;jx.Id="vr";_.Pn(new class{create(){return new jx}});};f.call(g, window);
13
+ 0,a.h);a=this.o;a.a.bindTexture(a.a.TEXTURE_2D,null);this.C.a.useProgram(null)}}}}da(a){this.g.debug("Mouse Down. Enable VR mouse interaction");a.preventDefault();if(0===a.button||a.type===Cw)a.type===Cw?a.touches[0]&&(this.h.x=a.touches[0].clientX,this.h.y=a.touches[0].clientY):(this.h.x=a.clientX,this.h.y=a.clientY),this.g.debug("Mouse Start coordinates:",this.h,a),this.a.addEventListener("mousemove",this.A,!1),this.a.addEventListener(Bw,this.A,!1),this.a.addEventListener("mouseup",this.B,!1),this.a.addEventListener("touchend",
14
+ this.B,!1)}ia(a){a.preventDefault();var b=a.clientX;let c=a.clientY;a.type===Bw&&a.touches[0]&&(b=a.touches[0].clientX,c=a.touches[0].clientY);a=this.h.x-b;const d=this.h.y-c;this.h.x=b;this.h.y=c;b=this.U;const {Ah:e,Bh:f}={Ah:a*b*(this.L?-1:1),Bh:d*b*(this.M?-1:1)};this.j+=e;this.l+=f;Ow(this)}Aa(a){this.g.debug("Mouse Up. Removing mouse interaction listeners");a.preventDefault();Nw(this)}si(a,b){this.l=b;this.j=a;Ow(this)}Vh(){return{x:this.j,y:this.l}}Ti(a){this.H=a;this.F()}};
15
+ _.w("clpp.vr.VrPlugin",Uw);Uw.prototype.setCameraFieldOfView=Uw.prototype.Ti;Uw.prototype.getCameraCoordinates=Uw.prototype.Vh;Uw.prototype.moveCamera=Uw.prototype.si;Uw.Id="vr";_.En(new class{create(){return new Uw}});};f.call(g, window);
package/cl.vtt.js CHANGED
@@ -1,12 +1,12 @@
1
- import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var yw=" The setting will be ignored.",zw="VTT parser encountered an invalid VTT setting: ",Aw="application/x-subrip",Bw="text/srt",Cw='text/vtt; codecs\x3d"vtt"',Dw='text/vtt; codecs\x3d"wvtt"',Ew=function(a){return a.a===a.f.length?null:(a=_.kr(a,/[^ \t\n]*/gm))?a[0]:null},Fw=function(a){_.kr(a,/[ \t]+/gm)},Gw=function(a){let b="";for(a=a.split(/\n/);3<a.length;){for(var c=3;c<a.length;++c)a[2]+=`\n${a[c]}`;a.splice(3,a.length-3)}if(3!==a.length)return"";c=0;!a[0].match(/\d+:\d+:\d+/)&&
2
- a[1].match(/\d+:\d+:\d+/)&&(b+=`${a[0].match(/\w+/)}\n`,++c);if(a[c].match(/\d+:\d+:\d+/)){const d=a[1].match(/(\d+):(\d+):(\d+)(?:,(\d+))?\s*--?>\s*(\d+):(\d+):(\d+)(?:,(\d+))?/);if(d)b+=`${d[1]}:${d[2]}:${d[3]}.${d[4]} --> `,b+=`${d[5]}:${d[6]}:${d[7]}.${d[8]}\n`,++c;else return""}else return"";a[c]&&(b+=`${a[c]}\n\n`);return b},Hw=function(a){a=_.kr(a,/(?:(\d{1,}):)?(\d{2}):(\d{2})\.(\d{2,3})/g);if(null==a)return null;const b=Number(a[2]),c=Number(a[3]);return 59<b||59<c?null:Number(a[4])/1E3+
3
- c+60*b+3600*(Number(a[1])||0)},Jw=function(a,b,c){let d;if(d=/^align:(start|middle|center|end|left|right)$/.exec(b))b=d[1],"middle"===b?a.textAlign=_.pu:a.textAlign=_.vu[b.toUpperCase()];else if(d=/^vertical:(lr|rl)$/.exec(b))a.writingMode="lr"===d[1]?_.xg:_.yg;else if(d=/^size:([\d.]+)%$/.exec(b))a.size=Number(d[1]);else if(d=/^position:([\d.]+)%(?:,(line-left|line-right|center|start|end))?$/.exec(b))a.position=Number(d[1]),d[2]&&(b=d[2],a.positionAlign=b===_.ne||b===_.Qf?_.ne:b===_.oe||b===_.Wd?
4
- _.oe:_.Yc);else if(d=/^region:(.*)$/.exec(b)){if(b=Iw(c,d[1]))a.region=b}else{a:{if(c=/^line:([\d.]+)%(?:,(start|end|center))?$/.exec(b))a.lineInterpretation=1,a.line=Number(c[1]),c[2]&&(a.lineAlign=_.wu[c[2].toUpperCase()]);else if(c=/^line:(-?\d+)(?:,(start|end|center))?$/.exec(b))a.lineInterpretation=_.ru,a.line=Number(c[1]),c[2]&&(a.lineAlign=_.wu[c[2].toUpperCase()]);else{a=!1;break a}a=!0}return a}return!0},Iw=function(a,b){a=a.filter(c=>c.id===b);return a.length?a[0]:(_.B("VTT parser could not find a region with id: ",
5
- b," The region will be ignored."),null)},Lw=function(a,b,c){let d,e,f;(new _.ip).N("payl",_.dp(g=>{d=_.ni(g)})).N("iden",_.dp(g=>{e=_.ni(g)})).N("sttg",_.dp(g=>{f=_.ni(g)})).parse(a);return d?Kw(d,e,f,b,c):null},Kw=function(a,b,c,d,e){a=new _.uu(d,e,a,_.Fg);b&&(a.id=b);if(c)for(b=new _.lr(c),c=Ew(b);c;)Jw(a,c,[])||_.B(zw,c,yw),Fw(b),c=Ew(b);return a},Mw=class{a(a){a=_.ni(a);a=a.replace(/\r+/g,"");a=a.replace(/^\s+|\s+$/g,"");a=a.replace(/<[a-zA-Z\\/][^>]*>/g,"");a=a.split("\n\n");let b="";if(0<a.length){b+=
6
- "WEBVTT\n\n";for(const c of a)b+=Gw(c)}return _.ri(b)}},Nw=class{create(){return new Mw}probe(a,b){return(a===Bw||a===Aw)&&b===_.$f}};var Ow=class{constructor(a){this.a=a}parseInit(){}parseMedia(a,b){a=_.ni(a);a=a.replace(/\r\n|\r(?=[^\n]|$)/gm,"\n");var c=a.split(/\n{2,}/m);if(!/^WEBVTT($|[ \t\n])/m.test(c[0]))throw new _.I(_.D,2,2E3);a=b.periodStart;if(c[0].includes("X-TIMESTAMP-MAP")){var d=c[0].match(/LOCAL:((?:(\d{1,}):)?(\d{2}):(\d{2})\.(\d{3}))/m),e=c[0].match(/MPEGTS:(\d+)/m);if(d&&e){a=Hw(new _.lr(d[1]));if(null==a)throw new _.I(_.D,2,2E3);e=Number(e[1]);for(d=b.segmentStart;95443.7176888889<=d;)d-=95443.7176888889,e+=
7
- 8589934592;a=b.periodStart+e/9E4-a}}else this.a.streaming.relativeTextTimestamp&&null!==b.segmentStart&&(a=b.segmentStart);b=[];for(var f of c)if(/^region/.test(f.toLowerCase())){e=new _.lr(f.replace(/\n/g," "));d=new _.zu;Ew(e);Fw(e);for(var g=Ew(e);g;){a:{var h;var k=d;var l=g;if(h=/^id:(.*)$/.exec(l))k.id=h[1];else if(h=/^width:(\d{1,2}|100)%$/.exec(l))k.width=Number(h[1]);else if(h=/^lines:(\d+)$/.exec(l))k.height=Number(h[1]),k.heightUnits=2;else if(h=/^regionanchor:(\d{1,2}|100)%,(\d{1,2}|100)%$/.exec(l))k.regionAnchorX=
8
- Number(h[1]),k.regionAnchorY=Number(h[2]);else if(h=/^viewportanchor:(\d{1,2}|100)%,(\d{1,2}|100)%$/.exec(l))k.viewportAnchorX=Number(h[1]),k.viewportAnchorY=Number(h[2]);else if(/^scroll:up$/.exec(l))k.scroll="up";else{k=!1;break a}k=!0}k||_.B("VTT parser encountered an invalid VTTRegion setting: ",g,yw);Fw(e);g=Ew(e)}e=d;b.push(e)}f=[];for(var m of c)if(/^style/.test(m.toLowerCase())){e=m.replace(/^style/i,"").replace(/\n/g," ");d=/[^{}]+{[^{}]*}/g;do(g=d.exec(e))&&f.push(g[0]);while(g)}m=[];for(const n of c)if(n.includes("--\x3e")){a:{l=
9
- n.split("\n");h=a;c=b;if(1===l.length&&!l[0]||/^NOTE($|[ \t])/.test(l[0])||"STYLE"===l[0]){c=null;break a}e=null;l[0].includes("--\x3e")||(e=l[0],l.splice(0,1));d=new _.lr(l[0]);g=Hw(d);const p=_.kr(d,/[ \t]+--\x3e[ \t]+/g);k=Hw(d);if(null==g||null==p||null==k)throw new _.I(_.D,2,2001);g+=h;k+=h;l=l.slice(1).join("\n").trim();g=new _.uu(g,k,l,_.Fg);e&&(g.id=e);Fw(d);for(k=Ew(d);k;)Jw(g,k,c)||_.B(zw,k,yw),Fw(d),k=Ew(d);null!=e&&(g.id=e);c=g}c&&m.push(c)}return{cues:m,styles:f}}};var Pw=class extends Ow{parseMedia(a,b){return super.parseMedia((new Mw).a(a),b)}};var Qw=class{constructor(){this.a=null;this.g=new _.T("clpp.vtt.mp4")}parseInit(a){let b=!1;(new _.ip).N(_.Ee,_.bp).N(_.ig,_.bp).N(_.ze,_.bp).fa("mdhd",c=>{0===c.version?(c.reader.skip(4),c.reader.skip(4),this.a=_.N(c.reader),c.reader.skip(4)):(c.reader.skip(8),c.reader.skip(8),this.a=_.N(c.reader),c.reader.skip(8));c.reader.skip(4)}).N(_.De,_.bp).N(_.Tf,_.bp).fa(_.Vf,_.cp).N("wvtt",()=>{b=!0}).parse(a);if(!this.a)throw new _.I(_.D,2,2008);if(!b)throw new _.I(_.D,2,2008);}parseMedia(a,b){if(!this.a)throw this.g.error("No init segment for MP4+VTT!"),
10
- new _.I(_.D,2,2008);let c=0,d=[],e;const f=[];let g=!1,h=!1,k=!1,l=null;(new _.ip).N("moof",_.bp).N("traf",_.bp).fa("tfdt",p=>{g=!0;c=0===p.version?_.N(p.reader):_.Xo(p.reader)}).fa("tfhd",p=>{var u=p.flags;p=p.reader;p.skip(4);u&1&&p.skip(8);u&2&&p.skip(4);l=u&8?_.N(p):null}).fa("trun",p=>{h=!0;{var u=p.version,v=p.flags;p=p.reader;const y=_.N(p);v&1&&p.skip(4);v&4&&p.skip(4);const A=[];for(let E=0;E<y;E++){const F={duration:null,sampleSize:null,If:null};v&256&&(F.duration=_.N(p));v&512&&(F.sampleSize=
11
- _.N(p));v&1024&&p.skip(4);v&2048&&(F.If=0===u?_.N(p):_.Wo(p));A.push(F)}d=A}}).N(_.ve,_.dp(p=>{k=!0;e=p})).parse(a);if(!k&&!g&&!h)throw new _.I(_.D,2,2008);a=c;var m=new DataView(e.buffer,e.byteOffset,e.byteLength);m=new _.aq(m,!1);for(const p of d){const u=p.duration||l,v=p.If?c+p.If:a;a=v+(u||0);let y=0;do{const A=_.N(m);y+=A;var n=_.N(m);n=_.ap(n);let E=null;"vttc"===n?8<A&&(E=_.Zo(m,A-8)):("vtte"!==n&&this.g.error("Unknown box "+n+"! Skipping!"),m.skip(A-8));u?E&&f.push(Lw(E,b.periodStart+v/this.a,
12
- b.periodStart+a/this.a)):this.g.error("WVTT sample duration unknown, and no default found!")}while(p.sampleSize&&y<p.sampleSize)}return{cues:f.filter(_.Jm),styles:[]}}};_.x("clpp.vtt.VttComponent",class extends _.Ev{constructor(){super();this.a=new Nw}install(){_.zt(_.$f,Ow);_.zt(Cw,Ow);_.zt(Dw,Ow);_.zt(_.Ac,Qw);_.zt(Bw,Pw);_.zt(Aw,Pw);_.Jr.push(this.a)}uninstall(){_.Bt(_.$f);_.Bt(Cw);_.Bt(Dw);_.Bt(_.Ac);_.Bt(Bw);_.Bt(Aw);_.Lr(this.a)}id(){return"subtitles-vtt"}});};f.call(g, window);
1
+ import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var iw=" The setting will be ignored.",jw="VTT parser encountered an invalid VTT setting: ",kw="application/x-subrip",lw="text/srt",mw='text/vtt; codecs\x3d"vtt"',nw='text/vtt; codecs\x3d"wvtt"',ow=function(a){return a.a===a.f.length?null:(a=_.Jo(a,/[^ \t\n]*/gm))?a[0]:null},pw=function(a){_.Jo(a,/[ \t]+/gm)},qw=function(a){let b="";for(a=a.split(/\n/);3<a.length;){for(var c=3;c<a.length;++c)a[2]+=`\n${a[c]}`;a.splice(3,a.length-3)}if(3!==a.length)return"";c=0;!a[0].match(/\d+:\d+:\d+/)&&
2
+ a[1].match(/\d+:\d+:\d+/)&&(b+=`${a[0].match(/\w+/)}\n`,++c);if(a[c].match(/\d+:\d+:\d+/)){const d=a[1].match(/(\d+):(\d+):(\d+)(?:,(\d+))?\s*--?>\s*(\d+):(\d+):(\d+)(?:,(\d+))?/);if(d)b+=`${d[1]}:${d[2]}:${d[3]}.${d[4]} --> `,b+=`${d[5]}:${d[6]}:${d[7]}.${d[8]}\n`,++c;else return""}else return"";a[c]&&(b+=`${a[c]}\n\n`);return b},rw=function(a){a=_.Jo(a,/(?:(\d{1,}):)?(\d{2}):(\d{2})\.(\d{2,3})/g);if(null==a)return null;const b=Number(a[2]),c=Number(a[3]);return 59<b||59<c?null:Number(a[4])/1E3+
3
+ c+60*b+3600*(Number(a[1])||0)},tw=function(a,b,c){let d;if(d=/^align:(start|middle|center|end|left|right)$/.exec(b))b=d[1],"middle"===b?a.textAlign=_.cu:a.textAlign=_.iu[b.toUpperCase()];else if(d=/^vertical:(lr|rl)$/.exec(b))a.writingMode="lr"===d[1]?_.og:_.pg;else if(d=/^size:([\d.]+)%$/.exec(b))a.size=Number(d[1]);else if(d=/^position:([\d.]+)%(?:,(line-left|line-right|center|start|end))?$/.exec(b))a.position=Number(d[1]),d[2]&&(b=d[2],a.positionAlign=b===_.he||b===_.Kf?_.he:b===_.ie||b===_.Qd?
4
+ _.ie:_.Wc);else if(d=/^region:(.*)$/.exec(b)){if(b=sw(c,d[1]))a.region=b}else{a:{if(c=/^line:([\d.]+)%(?:,(start|end|center))?$/.exec(b))a.lineInterpretation=1,a.line=Number(c[1]),c[2]&&(a.lineAlign=_.ju[c[2].toUpperCase()]);else if(c=/^line:(-?\d+)(?:,(start|end|center))?$/.exec(b))a.lineInterpretation=_.eu,a.line=Number(c[1]),c[2]&&(a.lineAlign=_.ju[c[2].toUpperCase()]);else{a=!1;break a}a=!0}return a}return!0},sw=function(a,b){a=a.filter(c=>c.id===b);return a.length?a[0]:(_.B("VTT parser could not find a region with id: ",
5
+ b," The region will be ignored."),null)},vw=function(a,b,c){let d,e,f;(new _.aq).N("payl",_.Wp(g=>{d=_.ii(g)})).N("iden",_.Wp(g=>{e=_.ii(g)})).N("sttg",_.Wp(g=>{f=_.ii(g)})).parse(a);return d?uw(d,e,f,b,c):null},uw=function(a,b,c,d,e){a=new _.hu(d,e,a,_.zg);b&&(a.id=b);if(c)for(b=new _.Ko(c),c=ow(b);c;)tw(a,c,[])||_.B(jw,c,iw),pw(b),c=ow(b);return a},ww=class{a(a){a=_.ii(a);a=a.replace(/\r+/g,"");a=a.replace(/^\s+|\s+$/g,"");a=a.replace(/<[a-zA-Z\\/][^>]*>/g,"");a=a.split("\n\n");let b="";if(0<a.length){b+=
6
+ "WEBVTT\n\n";for(const c of a)b+=qw(c)}return _.mi(b)}},xw=class{create(){return new ww}probe(a,b){return(a===lw||a===kw)&&b===_.Uf}};var yw=class{constructor(a){this.a=a}parseInit(){}parseMedia(a,b){a=_.ii(a);a=a.replace(/\r\n|\r(?=[^\n]|$)/gm,"\n");var c=a.split(/\n{2,}/m);if(!/^WEBVTT($|[ \t\n])/m.test(c[0]))throw new _.I(_.D,2,2E3);a=b.periodStart;if(c[0].includes("X-TIMESTAMP-MAP")){var d=c[0].match(/LOCAL:((?:(\d{1,}):)?(\d{2}):(\d{2})\.(\d{3}))/m),e=c[0].match(/MPEGTS:(\d+)/m);if(d&&e){a=rw(new _.Ko(d[1]));if(null==a)throw new _.I(_.D,2,2E3);e=Number(e[1]);for(d=b.segmentStart;95443.7176888889<=d;)d-=95443.7176888889,e+=
7
+ 8589934592;a=b.periodStart+e/9E4-a}}else this.a.streaming.relativeTextTimestamp&&null!==b.segmentStart&&(a=b.segmentStart);b=[];for(var f of c)if(/^region/.test(f.toLowerCase())){e=new _.Ko(f.replace(/\n/g," "));d=new _.mu;ow(e);pw(e);for(var g=ow(e);g;){a:{var h;var k=d;var l=g;if(h=/^id:(.*)$/.exec(l))k.id=h[1];else if(h=/^width:(\d{1,2}|100)%$/.exec(l))k.width=Number(h[1]);else if(h=/^lines:(\d+)$/.exec(l))k.height=Number(h[1]),k.heightUnits=2;else if(h=/^regionanchor:(\d{1,2}|100)%,(\d{1,2}|100)%$/.exec(l))k.regionAnchorX=
8
+ Number(h[1]),k.regionAnchorY=Number(h[2]);else if(h=/^viewportanchor:(\d{1,2}|100)%,(\d{1,2}|100)%$/.exec(l))k.viewportAnchorX=Number(h[1]),k.viewportAnchorY=Number(h[2]);else if(/^scroll:up$/.exec(l))k.scroll="up";else{k=!1;break a}k=!0}k||_.B("VTT parser encountered an invalid VTTRegion setting: ",g,iw);pw(e);g=ow(e)}e=d;b.push(e)}f=[];for(var m of c)if(/^style/.test(m.toLowerCase())){e=m.replace(/^style/i,"").replace(/\n/g," ");d=/[^{}]+{[^{}]*}/g;do(g=d.exec(e))&&f.push(g[0]);while(g)}m=[];for(const n of c)if(n.includes("--\x3e")){a:{l=
9
+ n.split("\n");h=a;c=b;if(1===l.length&&!l[0]||/^NOTE($|[ \t])/.test(l[0])||"STYLE"===l[0]){c=null;break a}e=null;l[0].includes("--\x3e")||(e=l[0],l.splice(0,1));d=new _.Ko(l[0]);g=rw(d);const p=_.Jo(d,/[ \t]+--\x3e[ \t]+/g);k=rw(d);if(null==g||null==p||null==k)throw new _.I(_.D,2,2001);g+=h;k+=h;l=l.slice(1).join("\n").trim();g=new _.hu(g,k,l,_.zg);e&&(g.id=e);pw(d);for(k=ow(d);k;)tw(g,k,c)||_.B(jw,k,iw),pw(d),k=ow(d);null!=e&&(g.id=e);c=g}c&&m.push(c)}return{cues:m,styles:f}}};var zw=class extends yw{parseMedia(a,b){return super.parseMedia((new ww).a(a),b)}};var Aw=class{constructor(){this.a=null;this.g=new _.T("clpp.vtt.mp4")}parseInit(a){let b=!1;(new _.aq).N(_.ve,_.Up).N(_.cg,_.Up).N(_.qe,_.Up).fa("mdhd",c=>{0===c.version?(c.reader.skip(4),c.reader.skip(4),this.a=_.Q(c.reader),c.reader.skip(4)):(c.reader.skip(8),c.reader.skip(8),this.a=_.Q(c.reader),c.reader.skip(8));c.reader.skip(4)}).N(_.ue,_.Up).N(_.Nf,_.Up).fa(_.Pf,_.Vp).N("wvtt",()=>{b=!0}).parse(a);if(!this.a)throw new _.I(_.D,2,2008);if(!b)throw new _.I(_.D,2,2008);}parseMedia(a,b){if(!this.a)throw this.g.error("No init segment for MP4+VTT!"),
10
+ new _.I(_.D,2,2008);let c=0,d=[],e;const f=[];let g=!1,h=!1,k=!1,l=null;(new _.aq).N("moof",_.Up).N("traf",_.Up).fa("tfdt",p=>{g=!0;c=0===p.version?_.Q(p.reader):_.Pp(p.reader)}).fa("tfhd",p=>{var u=p.flags;p=p.reader;p.skip(4);u&1&&p.skip(8);u&2&&p.skip(4);l=u&8?_.Q(p):null}).fa("trun",p=>{h=!0;{var u=p.version,x=p.flags;p=p.reader;const y=_.Q(p);x&1&&p.skip(4);x&4&&p.skip(4);const A=[];for(let E=0;E<y;E++){const F={duration:null,sampleSize:null,Gf:null};x&256&&(F.duration=_.Q(p));x&512&&(F.sampleSize=
11
+ _.Q(p));x&1024&&p.skip(4);x&2048&&(F.Gf=0===u?_.Q(p):_.Op(p));A.push(F)}d=A}}).N(_.pe,_.Wp(p=>{k=!0;e=p})).parse(a);if(!k&&!g&&!h)throw new _.I(_.D,2,2008);a=c;var m=new DataView(e.buffer,e.byteOffset,e.byteLength);m=new _.Gq(m,!1);for(const p of d){const u=p.duration||l,x=p.Gf?c+p.Gf:a;a=x+(u||0);let y=0;do{const A=_.Q(m);y+=A;var n=_.Q(m);n=_.Tp(n);let E=null;"vttc"===n?8<A&&(E=_.Rp(m,A-8)):("vtte"!==n&&this.g.error("Unknown box "+n+"! Skipping!"),m.skip(A-8));u?E&&f.push(vw(E,b.periodStart+x/this.a,
12
+ b.periodStart+a/this.a)):this.g.error("WVTT sample duration unknown, and no default found!")}while(p.sampleSize&&y<p.sampleSize)}return{cues:f.filter(_.vm),styles:[]}}};_.w("clpp.vtt.VttComponent",class extends _.jv{constructor(){super();this.a=new xw}install(){_.kt(_.Uf,yw);_.kt(mw,yw);_.kt(nw,yw);_.kt(_.yc,Aw);_.kt(lw,zw);_.kt(kw,zw);_.hp.push(this.a)}uninstall(){_.mt(_.Uf);_.mt(mw);_.mt(nw);_.mt(_.yc);_.mt(lw);_.mt(kw);_.jp(this.a)}id(){return"subtitles-vtt"}});};f.call(g, window);
package/cl.yospace.js CHANGED
@@ -1,3 +1,3 @@
1
- import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var tw="clpp.yospace.YospacePlugin",ww=class extends _.Uv{constructor(){super();this.a=null;this.g=new _.T(tw)}wg(){return this.a}onContentWillLoad(a,b){const c=this;return _.w(function*(){var d=a.getConfiguration().yospace;if(d.enabled){if(typeof window.YospaceAdManagement!==_.Ie)throw new _.I(_.D,9,7003,"Yospace SDK not found.");c.g.info("Yospace enabled.");a:{d=d.streamType||uw;var e=b.url;c.g.info("Creating Yospace session for stream type",d);switch(d){case uw:d=YospaceAdManagement.SessionVOD.create(e);
2
- break a;case vw:d=YospaceAdManagement.SessionLive.create(e);break a;default:d=YospaceAdManagement.SessionDVRLive.create(e)}}d=yield d;e=d.getSessionState();if(e!==YospaceAdManagement.SessionState.INITIALISED)throw c.g.error("Failed to initialize Yospace session. State:",e,"URL",b.url),new _.I(_.D,9,7003,"Yospace session failed to initialize.");a.trigger(new _.H(_.Sg,{detail:d}));b.url=d.getPlaybackUrl();c.g.info("Yospace session initialized. New URL:",b.url);c.a=d}})}onPlayerWillRelease(a){if(this.a){this.g.info("Shutting down Yospace session.");
3
- const b=this.a;this.a.shutdown();this.a=null;a.trigger(new _.H(_.Rg,{detail:b}))}}id(){return"yospace"}};_.x(tw,ww);ww.prototype.getSession=ww.prototype.wg;ww.Id="yospace";var xw=class{create(){return new ww}},uw=_.Fb,vw="LIVE";_.x("clpp.yospace.StreamType",{VOD:uw,LIVE:vw,DVR:"DVR"});_.Pn(new xw);};f.call(g, window);
1
+ import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var dw="clpp.yospace.YospacePlugin",gw=class extends _.Ev{constructor(){super();this.a=null;this.g=new _.T(dw)}sg(){return this.a}onContentWillLoad(a,b){const c=this;return _.v(function*(){var d=a.getConfiguration().yospace;if(d.enabled){if(typeof window.YospaceAdManagement!==_.Ce)throw new _.I(_.D,9,7003,"Yospace SDK not found.");c.g.info("Yospace enabled.");a:{d=d.streamType||ew;var e=b.url;c.g.info("Creating Yospace session for stream type",d);switch(d){case ew:d=YospaceAdManagement.SessionVOD.create(e);
2
+ break a;case fw:d=YospaceAdManagement.SessionLive.create(e);break a;default:d=YospaceAdManagement.SessionDVRLive.create(e)}}d=yield d;e=d.getSessionState();if(e!==YospaceAdManagement.SessionState.INITIALISED)throw c.g.error("Failed to initialize Yospace session. State:",e,"URL",b.url),new _.I(_.D,9,7003,"Yospace session failed to initialize.");a.trigger(new _.H(_.Mg,{detail:d}));b.url=d.getPlaybackUrl();c.g.info("Yospace session initialized. New URL:",b.url);c.a=d}})}onPlayerWillRelease(a){if(this.a){this.g.info("Shutting down Yospace session.");
3
+ const b=this.a;this.a.shutdown();this.a=null;a.trigger(new _.H(_.Lg,{detail:b}))}}id(){return"yospace"}};_.w(dw,gw);gw.prototype.getSession=gw.prototype.sg;gw.Id="yospace";var hw=class{create(){return new gw}},ew=_.Db,fw="LIVE";_.w("clpp.yospace.StreamType",{VOD:ew,LIVE:fw,DVR:"DVR"});_.En(new hw);};f.call(g, window);
package/cl.youbora.js CHANGED
@@ -1,31 +1,31 @@
1
- import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var Vv="Unhandled state",Wv="ad break start",Xv="ad buffering ended",Yv="ad buffering started",Zv="ad click through url: ",$v="ad timeline changed",aw="clpp.npaw.NpawPlugin",bw="clpp.npaw.YouboraPlugin",cw="content.isLive",dw="content.title",ew="is container visible",fw=function(a){return a.startsWith(_.xd)?"Widevine":a.startsWith(_.td)?"FairPlay":a.match(/^com\.(microsoft|chromecast)\.playready/)?"PlayReady":a.startsWith(_.Re)?"ClearKey":a.startsWith(_.sd)?"Primetime":a},hw=function(a){class b extends youbora.Adapter{constructor(c){super(c);
2
- this.m=c;this.a=new _.Qt;this.g=new _.T("clpp.npaw.YouboraAdapter");this.h=this.o=!1;this.registerListeners()}getPlayhead(){return this.getIsLive()?-1:this.m.getPosition()}getDuration(){return this.m.getDuration()}getRendition(){let c,d,e;var f=this.m.getTrackManager();f&&(f=f.ta())&&(c=f.width,d=f.height,e=f.bandwidth);c&&d&&e||(f=this.j(),c=c||f.width,d=d||f.height,e=e||f.streamBandwidth);return youbora.Util.buildRenditionString(c,d,e)}getIsLive(){return this.m.isLive()}getResource(){const c=this.m.Ra();
3
- return c&&c.url}getBitrate(){return this.j().streamBandwidth}getThroughput(){return this.j().estimatedBandwidth}getPlayrate(){return this.m.nc()}getFramesPerSecond(){var c=this.m.getTrackManager();return c&&(c=c.Ha())?c.frameRate:null}getPlayerName(){return _.ra}getVersion(){return"6.32.0-castlabsadapter-js"}getPlayerVersion(){return _.ea}registerListeners(){this.m&&this.a&&(this.g.debug("registering listeners"),youbora.Util.logAllEvents(this.m),this.a.on(this.m,_.Rf,this.I.bind(this)),this.a.on(this.m,
4
- _.Yd,this.F.bind(this)),this.a.on(this.m,_.ug,this.H.bind(this)),this.a.on(this.m,_.tg,this.G.bind(this)),this.a.on(this.m,_.qc,this.B.bind(this)),this.a.on(this.m,_.Tc,this.C.bind(this)))}unregisterListeners(){this.g.debug(_.Ab);_.Xh(this.a)}dispose(){super.dispose()}j(){return this.m.getStats()||_.ss()}w(){return!!this.m.getConfiguration().autoplay}I(c){c=c.detail;this.l("state change",c);if(c)switch(c.currentState){case 1:this.w()&&this.f();break;case 3:this.f();this.A();this.fireResume();this.fireBufferEnd();
5
- break;case 4:this.w()&&this.f();this.A();this.fireBufferEnd();this.firePause();break;case _.Fs:this.fireBufferEnd();this.fireStop();break;case 5:this.fireBufferEnd();this.o&&this.plugin.getAdsAdapter()?this.firePause():this.fireStop();break;case 2:this.fireBufferBegin();break;default:this.g.debug(Vv,c)}}f(){this.plugin.isInitiated||(this.h=!1,this.fireInit())}A(){var c=this.m.getDrmInfo();c&&(c=fw(c.keySystem))&&this.plugin.setOptions({"content.drm":c});this.fireJoin()}F(c){!(c=c.detail)||this.h||
6
- 10003===c.code&&this.plugin.getAdsAdapter()||(c=gw(c,this.m.getConfiguration().youbora,this.g,this))&&c.severity===_.D&&(this.h=!0)}H(){this.m.isEnded()||(this.l(_.Jf),this.f(),this.fireSeekBegin())}G(){this.l(_.If);this.fireSeekEnd()}B(c){this.g.debug("adsTimeline",c);this.o=(c=c.adsTimeline)&&c.Pb()}C(c){this.g.debug("Casting",c);this.fireCasted()}l(c,...d){this.g.debug(`Reporting "${c}" event to Youbora`,...d)}}return new b(a)},iw=function(a){class b extends youbora.Adapter{constructor(c){super(c);
7
- this.m=c;this.j=this.a=null;this.f=new _.Qt;this.g=new _.T("clpp.npaw.YouboraAdsAdapter");this.registerListeners();this.l=!1}getDuration(){return this.a&&this.a.getDuration()}getRendition(){let c=null;this.a&&(c=youbora.Util.buildRenditionString(this.a.Ua(),this.a.Ta(),this.a.Ba()));return c}getBitrate(){return this.a&&this.a.Ba()}getPlayhead(){const c=this.m.getAdsManager();return c&&c.getPosition()}getResource(){return this.a&&this.a.getMediaUrl()}getTitle(){return this.a&&this.a.getTitle()}getProvider(){return this.a&&
1
+ import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var Fv="Unhandled state",Gv="ad break start",Hv="ad buffering ended",Iv="ad buffering started",Jv="ad click through url: ",Kv="ad timeline changed",Lv="clpp.npaw.NpawPlugin",Mv="clpp.npaw.YouboraPlugin",Nv="content.isLive",Ov="content.title",Pv="is container visible",Qv=function(a){return a.startsWith(_.td)?"Widevine":a.startsWith(_.pd)?"FairPlay":a.match(/^com\.(microsoft|chromecast)\.playready/)?"PlayReady":a.startsWith(_.Le)?"ClearKey":a.startsWith(_.od)?"Primetime":a},Sv=function(a){class b extends youbora.Adapter{constructor(c){super(c);
2
+ this.m=c;this.a=new _.Bt;this.g=new _.T("clpp.npaw.YouboraAdapter");this.h=this.o=!1;this.registerListeners()}getPlayhead(){return this.getIsLive()?-1:this.m.getPosition()}getDuration(){return this.m.getDuration()}getRendition(){let c,d,e;var f=this.m.getTrackManager();f&&(f=f.ta())&&(c=f.width,d=f.height,e=f.bandwidth);c&&d&&e||(f=this.j(),c=c||f.width,d=d||f.height,e=e||f.streamBandwidth);return youbora.Util.buildRenditionString(c,d,e)}getIsLive(){return this.m.isLive()}getResource(){const c=this.m.Qa();
3
+ return c&&c.url}getBitrate(){return this.j().streamBandwidth}getThroughput(){return this.j().estimatedBandwidth}getPlayrate(){return this.m.lc()}getFramesPerSecond(){var c=this.m.getTrackManager();return c&&(c=c.Ha())?c.frameRate:null}getPlayerName(){return _.sa}getVersion(){return"6.33.0-beta.1-castlabsadapter-js"}getPlayerVersion(){return _.ea}registerListeners(){this.m&&this.a&&(this.g.debug("registering listeners"),youbora.Util.logAllEvents(this.m),this.a.on(this.m,_.Lf,this.I.bind(this)),this.a.on(this.m,
4
+ _.Sd,this.F.bind(this)),this.a.on(this.m,_.lg,this.H.bind(this)),this.a.on(this.m,_.kg,this.G.bind(this)),this.a.on(this.m,_.oc,this.B.bind(this)),this.a.on(this.m,_.Rc,this.C.bind(this)))}unregisterListeners(){this.g.debug(_.yb);_.Sh(this.a)}dispose(){super.dispose()}j(){return this.m.getStats()||_.Wr()}w(){return!!this.m.getConfiguration().autoplay}I(c){c=c.detail;this.l("state change",c);if(c)switch(c.currentState){case 1:this.w()&&this.f();break;case 3:this.f();this.A();this.fireResume();this.fireBufferEnd();
5
+ break;case 4:this.w()&&this.f();this.A();this.fireBufferEnd();this.firePause();break;case _.qo:this.fireBufferEnd();this.fireStop();break;case 5:this.fireBufferEnd();this.o&&this.plugin.getAdsAdapter()?this.firePause():this.fireStop();break;case 2:this.fireBufferBegin();break;default:this.g.debug(Fv,c)}}f(){this.plugin.isInitiated||(this.h=!1,this.fireInit())}A(){var c=this.m.getDrmInfo();c&&(c=Qv(c.keySystem))&&this.plugin.setOptions({"content.drm":c});this.fireJoin()}F(c){!(c=c.detail)||this.h||
6
+ 10003===c.code&&this.plugin.getAdsAdapter()||(c=Rv(c,this.m.getConfiguration().youbora,this.g,this))&&c.severity===_.D&&(this.h=!0)}H(){this.m.isEnded()||(this.l(_.Df),this.f(),this.fireSeekBegin())}G(){this.l(_.Cf);this.fireSeekEnd()}B(c){this.g.debug("adsTimeline",c);this.o=(c=c.adsTimeline)&&c.Pb()}C(c){this.g.debug("Casting",c);this.fireCasted()}l(c,...d){this.g.debug(`Reporting "${c}" event to Youbora`,...d)}}return new b(a)},Tv=function(a){class b extends youbora.Adapter{constructor(c){super(c);
7
+ this.m=c;this.j=this.a=null;this.f=new _.Bt;this.g=new _.T("clpp.npaw.YouboraAdsAdapter");this.registerListeners();this.l=!1}getDuration(){return this.a&&this.a.getDuration()}getRendition(){let c=null;this.a&&(c=youbora.Util.buildRenditionString(this.a.Ta(),this.a.Sa(),this.a.Ba()));return c}getBitrate(){return this.a&&this.a.Ba()}getPlayhead(){const c=this.m.getAdsManager();return c&&c.getPosition()}getResource(){return this.a&&this.a.getMediaUrl()}getTitle(){return this.a&&this.a.getTitle()}getProvider(){return this.a&&
8
8
  this.a.getAdvertiserName()}getCreativeId(){return this.a&&this.a.getCreativeId()}getPosition(){const c=youbora.Constants.AdPosition;let d=null;if(this.a)switch(this.a.Ca()){case 0:d=c.Preroll;break;case 2:d=c.Postroll;break;case 1:d=c.Midroll}this.g.debug("Ad position",d);return d}getIsSkippable(){return this.a&&-1!==this.a.getSkipTimeOffset()}getAudioEnabled(){const c=this.m.getAdsManager();return c&&0<c.getAdVolume()}getExpectedBreaks(){return this.j&&this.j.getCuePoints().length}getGivenBreaks(){return this.getExpectedBreaks()}getExpectedAds(){return this.a&&
9
- this.a.Va()}getGivenAds(){return this.getExpectedAds()}getBreaksTime(){return this.j&&this.j.getCuePoints().map(c=>-1===c?this.m.getDuration():c)}getIsFullscreen(){return this.m.getSurface().isFullscreen()}getIsVisible(){var c=this.m.getSurface().getContainer();c=youbora.Util.calculateAdViewability(c);this.g.debug(ew,c);return c}getPlayerName(){return _.ra}getVersion(){return"6.32.0-castlabsadsadapter-js"}getPlayerVersion(){return _.ea}registerListeners(){this.m&&this.f&&(this.f.on(this.m,_.qc,this.M.bind(this)),
10
- this.f.on(this.m,_.mc,this.L.bind(this)),this.f.on(this.m,_.hc,this.I.bind(this)),this.f.on(this.m,_.kc,this.J.bind(this)),this.f.on(this.m,_.Yb,this.G.bind(this)),this.f.on(this.m,_.Zb,this.o.bind(this,1)),this.f.on(this.m,_.ec,this.o.bind(this,2)),this.f.on(this.m,_.oc,this.o.bind(this,3)),this.f.on(this.m,_.Xb,this.F.bind(this)),this.f.on(this.m,_.lc,this.K.bind(this)),this.f.on(this.m,_.Yd,this.H.bind(this)),this.f.on(this.m,_.Ub,this.A.bind(this)),this.f.on(this.m,_.Vb,this.B.bind(this)),this.f.on(this.m,
11
- _.Wb,this.C.bind(this)),this.f.on(this.m,_.jc,this.w.bind(this)))}unregisterListeners(){_.Xh(this.f)}dispose(){super.dispose()}M(c){this.g.debug($v,c);this.j=c.adsTimeline}L(c){this.a=c.ad;this.h("ad start",this.a);this.fireStart();this.fireJoin()}G(){this.h("ad ended");this.fireStop()}I(){this.h("ad pause");this.w();this.firePause()}J(){this.h("ad resume");this.w();this.fireResume()}C(){this.l=!0;this.h(Yv);this.fireBufferBegin()}w(){this.l&&(this.h(Xv),this.l=!1,this.fireBufferEnd())}o(c){this.h("ad quartile",
12
- c);this.fireQuartile(c)}F(){this.h("ad clicked");const c=this.a&&this.a.Qa();this.g.debug(Zv,c);this.fireClick(c)}K(){this.h("ad skipped");this.fireSkip()}A(c){this.a=c.ad;this.h(Wv,this.a);this.fireBreakStart()}B(){this.h("ad break stop");this.fireBreakStop();if(this.getPosition()===youbora.Constants.AdPosition.Postroll){const c=this.plugin.getAdapter();c&&c.fireStop()}}H(c){(c=c.detail)&&10003===c.code&&gw(c,this.m.getConfiguration().youbora,this.g,this)}h(c,...d){this.g.debug(`Reporting "${c}" event to Youbora`,
13
- ...d)}}return new b(a)},kw=function(){class a extends NpawPluginAdapters.video.Shaka{constructor(){super();this.f=this.h=!1;this.a=null}getPlayhead(){return this.getIsLive()?-1:this.player.getPosition()}getDuration(){return this.player.getDuration()}getRendition(){let b=null,c=null,d=null;var e=this.player.getTrackManager();e&&(e=e.ta())&&(b=e.width,c=e.height,d=e.bandwidth);b&&c&&d||(e=this.j(),b=b||e.width,c=c||e.height,d=d||e.streamBandwidth);return this.getNpawUtils().buildRenditionString(b,c,
14
- d)}getIsLive(){return this.player.isLive()}getResource(){const b=this.player.Ra();return b&&b.url}getBitrate(){return this.j().streamBandwidth}getThroughput(){return this.j().estimatedBandwidth}getPlayrate(){return this.player.nc()}getFramesPerSecond(){var b=this.player.getTrackManager();return b&&(b=b.Ha())?b.frameRate:null}getPlayerName(){return _.ra}getVersion(){return"castlabs-adapter-6.32.0-js"}getPlayerVersion(){return _.ea}registerListeners(){const b=this.w();this.player&&b&&(b.on(this.player,
15
- _.Rf,this.K.bind(this)),b.on(this.player,_.Yd,this.H.bind(this)),b.on(this.player,_.Jf,this.J.bind(this)),b.on(this.player,_.If,this.I.bind(this)),b.on(this.player,_.qc,this.F.bind(this)),b.on(this.player,_.Tc,this.G.bind(this)),b.on(this.player,_.Lc,this.L.bind(this)),b.on(this.player,_.bg,this.M.bind(this)))}unregisterListeners(){jw.debug(_.Ab);_.Xh(this.w())}dispose(){this.unregisterListeners();this.f=this.h=!1;this.a=null}j(){return this.player.getStats()||_.ss()}o(){return!!this.player.getConfiguration().autoplay}K(b){b=
16
- b.detail;this.l("state change",b);if(b)switch(b.currentState){case 1:this.plugin.setVideoOptions({"content.subtitles":this.C()});this.o()&&this.fireStart();break;case 3:this.fireStart();this.A();this.fireResume();this.fireBufferEnd();break;case 4:this.o()&&this.fireStart();this.A();this.fireBufferEnd();this.firePause();break;case _.Fs:this.fireBufferEnd();this.fireStop();break;case 5:this.fireBufferEnd();this.h&&this.plugin.getAdsAdapter()?this.firePause():this.fireStop();break;case 2:this.fireBufferBegin();
17
- break;default:jw.debug(Vv,b)}}A(){this.fireJoin()}H(b){(b=b.detail)&&!this.f&&this.player&&10003!==b.code&&(b=gw(b,this.player.getConfiguration().npaw,jw,this))&&b.severity===_.D&&(this.f=!0)}J(){this.player.isEnded()||(this.l(_.Jf),this.fireSeekBegin())}B(b){const c=this.player.getTrackManager();if(!c)return null;let d=null;b===_.Zf&&(d=c.ua());b===_.q&&(d=c.ra());return d?d.language:null}L(){const b=this.B(_.q);this.plugin.setVideoOptions({"content.language":b})}M(){const b=this.B(_.Zf),c=this.C();
18
- this.plugin.setVideoOptions({"content.subtitles":b||c})}w(){this.a||(this.a=new _.Qt);return this.a}I(){this.l(_.If);this.fireSeekEnd()}F(b){jw.debug("adsTimeline",b);this.h=(b=b.adsTimeline)&&b.Pb()}G(b){jw.debug("Casting",b);this.fireCasted()}l(b,...c){jw.debug(`Reporting "${b}" event to NPAW`,...c)}C(){const b=this.player.getConfiguration();return b.npaw&&b.npaw.disabledSubtitlesLabel?b.npaw.disabledSubtitlesLabel:"off"}}return a},mw=function(){class a extends NpawPluginAdapters.ads.Ima{constructor(){super();
19
- this.j=this.h=this.l=this.a=null;this.o=!1}getDuration(){return this.a?this.a.getDuration():null}getRendition(){let b=null;this.a&&(b=this.getNpawUtils().buildRenditionString(this.a.Ua(),this.a.Ta(),this.a.Ba()));return b}getBitrate(){let b=null;this.a&&(b=this.a.Ba());return b}getPlayhead(){let b=null;const c=this.player.getAdsManager();c&&(b=c.getPosition());return b}getResource(){let b=null;this.a&&(b=this.a.getMediaUrl());return b}getTitle(){let b=null;this.a&&(b=this.a.getTitle());return b}getProvider(){let b=
20
- null;this.a&&(b=this.a.getAdvertiserName());return b}getCreativeId(){let b=null;this.a&&(b=this.a.getCreativeId());return b}dispose(){this.unregisterListeners();this.j=this.h=this.a=null}getPosition(){const b=this.getNpawReference().Constants.AdPosition;let c=null;if(this.a)switch(this.a.Ca()){case 0:c=b.Preroll;break;case 2:c=b.Postroll;break;case 1:c=b.Midroll}lw.debug("Ad position",c);return c}getIsSkippable(){return this.a&&-1!==this.a.getSkipTimeOffset()}getAudioEnabled(){const b=this.player.getAdsManager();
21
- return b&&0<b.getAdVolume()}getExpectedBreaks(){return this.h&&this.h.getCuePoints().length}getGivenBreaks(){return this.getExpectedBreaks()}getExpectedAds(){return this.a&&this.a.Va()}getGivenAds(){return this.getExpectedAds()}getBreaksTime(){return this.h&&this.h.getCuePoints().map(b=>-1===b?this.player.getDuration():b)}getIsFullscreen(){return this.player.getSurface().isFullscreen()}getIsVisible(){var b=this.player.getSurface().getContainer();b=this.getNpawUtils().calculateAdViewability(b);lw.debug(ew,
22
- b);return b}getPlayerName(){return _.ra}getVersion(){return"castlabs-ads-adapter-6.32.0-js"}getPlayerVersion(){return _.ea}B(){this.j||(this.j=new _.Qt);return this.j}registerListeners(){const b=this.B();this.player&&b&&(b.on(this.player,_.qc,this.R.bind(this)),b.on(this.player,_.mc,this.P.bind(this)),b.on(this.player,_.hc,this.K.bind(this)),b.on(this.player,_.kc,this.L.bind(this)),b.on(this.player,_.Yb,this.I.bind(this)),b.on(this.player,_.Zb,this.w.bind(this,1)),b.on(this.player,_.ec,this.w.bind(this,
23
- 2)),b.on(this.player,_.oc,this.w.bind(this,3)),b.on(this.player,_.Xb,this.H.bind(this)),b.on(this.player,_.lc,this.M.bind(this)),b.on(this.player,_.Yd,this.J.bind(this)),b.on(this.player,_.Ub,this.C.bind(this)),b.on(this.player,_.Vb,this.F.bind(this)),b.on(this.player,_.Wb,this.G.bind(this)),b.on(this.player,_.jc,this.S.bind(this)))}unregisterListeners(){_.Xh(this.B())}R(b){lw.debug($v,b);this.h=b.adsTimeline}P(b){this.a=b.ad;this.f("ad start",this.a);this.fireStart();this.fireJoin()}I(){this.f("ad ended");
24
- this.fireStop({adPlayhead:this.l})}K(){this.f("ad pause");this.A();this.firePause()}L(){this.f("ad resume");this.A();this.fireResume()}G(){this.o=!0;this.f(Yv);this.fireBufferBegin()}S(){this.l=this.getPlayhead();this.A()}A(){this.o&&(this.f(Xv),this.o=!1,this.fireBufferEnd())}w(b){this.f("ad quartile",b);this.fireQuartile(b)}H(){this.f("ad clicked");const b=this.a&&this.a.Qa();lw.debug(Zv,b);this.fireClick(b)}M(){this.f("ad skipped");this.fireSkip()}C(b){this.a=b.ad;this.f(Wv,this.a);this.fireBreakStart()}F(){this.f("ad break stop");
25
- this.fireBreakStop({adPlayhead:this.l});this.getPosition()===this.getNpawReference().Constants.AdPosition.Postroll&&this.fireStop({adPlayhead:this.l})}J(b){(b=b.detail)&&10003===b.code&&gw(b,this.player.getConfiguration().npaw,lw,this)}f(b,...c){lw.debug(`Reporting "${b}" event to NPAW`,...c)}}return a},nw=function(a){a.a&&(a.g.info("Removing NPAW Plugins",a.a),a.a.removeAdsAdapter(),a.a.removeAdapter())},ow=function(a,b){if(b.namespace()===_.id)return a.g.info("NPAW does not report when casting."),
26
- !1;const c=b.getConfiguration().npaw;return _.jh(c)?c.accountCode?_.z(window.NpawPlugin)||_.z(window.NpawPluginAdapters)?(a.g.warn("NPAW SDK not found."),b.onError(new _.I(1,9,9100)),!1):!0:(a.g.warn("accountCode key is missing in NPAW config"),b.onError(new _.I(1,9,9101)),!1):(a.g.warn("NPAW plugin is loaded but not configured. Will do nothing."),!1)},pw=function(a,b){if(b.namespace()===_.id)return a.g.info("Youbora does not report when casting."),!1;const c=b.getConfiguration().youbora;if(!_.jh(c))return a.g.debug("Youbora plugin is loaded but not configured. Will do nothing."),
27
- !1;if(!c.accountCode)return a.g.warn("accountCode key is missing in Youbora config"),b.onError(new _.I(1,9,9101)),!1;if(_.z(window.youbora))return a.g.warn("Youbora SDK not found."),b.onError(new _.I(1,9,9100)),!1;"6.8.59"!==youbora.VERSION&&(a.g.warn("Youbora SDK version is not supported. The supported version is 6.8.59, found "+`version ${youbora.VERSION}. Some or all features of YouboraPlugin `+"may not work correctly."),b.onError(new _.I(1,9,9102)));return!0},qw=a=>a&&a.errorFilter?a.errorFilter:
28
- b=>({code:`${b.code}`,message:b.message,severity:b.severity}),gw=(a,b,c,d)=>{b=qw(b)(a);if(!b)return c.debug("Error not sent to Youbora",a.code,a.message),null;a=10003===a.code?"ad error":_.Yd;b.severity===_.D?(d.fireFatalError(b.code,b.message,b.metadata),c.debug(`Reporting "fatal ${a}" to Youbora`,b.code,b)):(d.fireError(b.code,b.message,b.metadata),c.debug(`Reporting "${a}" to Youbora`,b.code,b));return b};var jw=new _.T("clpp.npaw.NpawAdapter");var lw=new _.T("clpp.npaw.NpawAdsAdapter");var rw=class extends _.Uv{constructor(){super();this.a=null;this.g=new _.T(aw);this.m=null}Df(a){nw(this);if(this.a=a)this.a.registerAdapterFromClass(this.m,kw()),this.a.registerAdsAdapterFromClass(this.m,mw())}ci(){return this.a}getAdapter(){return this.a&&this.a.getAdapter()}getAdsAdapter(){return this.a&&this.a.getAdsAdapter()}onPlayerCreated(a){this.m=a;ow(this,a)&&(a=a.getConfiguration().npaw,this.Df(new NpawPlugin(a.accountCode)))}onContentWillLoad(a,b){if(ow(this,a)){a=a.getConfiguration();
29
- var c=a.npaw;void 0===c[cw]&&(c[cw]=b.isLive);void 0===c[dw]&&(c[dw]=b.name);void 0===c.viewerId&&(c.viewerId=a.viewerId);this.a||this.Df(new NpawPlugin(c.accountCode));this.a.setAnalyticsOptions(c)}}onContentLoaded(a){const b={};(a=a.getDrmInfo())&&(a=fw(a.keySystem))&&(b["content.drm"]=a);this.g.info(_.Ke,b);this.a.setAnalyticsOptions(b)}onPlayerWillRelease(){}onPlayerWillDestroy(){nw(this);this.a&&this.a.destroy()}id(){return"npaw"}};_.x(aw,rw);rw.prototype.getAdsAdapter=rw.prototype.getAdsAdapter;
30
- rw.prototype.getAdapter=rw.prototype.getAdapter;rw.prototype.getNpawPlugin=rw.prototype.ci;rw.prototype.setNpawPlugin=rw.prototype.Df;rw.Id="npaw";new _.T(aw);var sw=class extends _.Uv{constructor(){super();this.a=null;this.g=new _.T(bw);this.m=null}Ef(a){this.a&&(this.a.removeAdsAdapter(),this.a.removeAdapter());if(this.a=a)this.a.setAdapter(hw(this.m)),this.a.setAdsAdapter(iw(this.m))}getAdapter(){return this.a&&this.a.getAdapter()}getAdsAdapter(){return this.a&&this.a.getAdsAdapter()}onPlayerCreated(a){this.m=a;pw(this,a)&&(a=a.getConfiguration().youbora,this.Ef(new youbora.Plugin(a)))}onContentWillLoad(a,b){if(pw(this,a)){a=a.getConfiguration();var c=
31
- a.youbora;void 0===c[cw]&&(c[cw]=b.isLive);void 0===c[dw]&&(c[dw]=b.name);void 0===c.viewerId&&(c.viewerId=a.viewerId);this.a||this.Ef(new youbora.Plugin(c));this.a.setOptions(c)}}onPlayerWillRelease(){}onPlayerWillDestroy(){}id(){return"youbora"}};_.x(bw,sw);sw.prototype.getAdsAdapter=sw.prototype.getAdsAdapter;sw.prototype.getAdapter=sw.prototype.getAdapter;sw.prototype.setYouboraPlugin=sw.prototype.Ef;sw.Id="youbora";_.Pn(new class{create(a){return a.npaw?new rw:a.youbora?new sw:null}});};f.call(g, window);
9
+ this.a.Ua()}getGivenAds(){return this.getExpectedAds()}getBreaksTime(){return this.j&&this.j.getCuePoints().map(c=>-1===c?this.m.getDuration():c)}getIsFullscreen(){return this.m.getSurface().isFullscreen()}getIsVisible(){var c=this.m.getSurface().getContainer();c=youbora.Util.calculateAdViewability(c);this.g.debug(Pv,c);return c}getPlayerName(){return _.sa}getVersion(){return"6.33.0-beta.1-castlabsadsadapter-js"}getPlayerVersion(){return _.ea}registerListeners(){this.m&&this.f&&(this.f.on(this.m,
10
+ _.oc,this.M.bind(this)),this.f.on(this.m,_.kc,this.L.bind(this)),this.f.on(this.m,_.dc,this.I.bind(this)),this.f.on(this.m,_.hc,this.J.bind(this)),this.f.on(this.m,_.Wb,this.G.bind(this)),this.f.on(this.m,_.Xb,this.o.bind(this,1)),this.f.on(this.m,_.cc,this.o.bind(this,2)),this.f.on(this.m,_.mc,this.o.bind(this,3)),this.f.on(this.m,_.Vb,this.F.bind(this)),this.f.on(this.m,_.jc,this.K.bind(this)),this.f.on(this.m,_.Sd,this.H.bind(this)),this.f.on(this.m,_.Sb,this.A.bind(this)),this.f.on(this.m,_.Tb,
11
+ this.B.bind(this)),this.f.on(this.m,_.Ub,this.C.bind(this)),this.f.on(this.m,_.ec,this.w.bind(this)))}unregisterListeners(){_.Sh(this.f)}dispose(){super.dispose()}M(c){this.g.debug(Kv,c);this.j=c.adsTimeline}L(c){this.a=c.ad;this.h("ad start",this.a);this.fireStart();this.fireJoin()}G(){this.h("ad ended");this.fireStop()}I(){this.h("ad pause");this.w();this.firePause()}J(){this.h("ad resume");this.w();this.fireResume()}C(){this.l=!0;this.h(Iv);this.fireBufferBegin()}w(){this.l&&(this.h(Hv),this.l=
12
+ !1,this.fireBufferEnd())}o(c){this.h("ad quartile",c);this.fireQuartile(c)}F(){this.h("ad clicked");const c=this.a&&this.a.Pa();this.g.debug(Jv,c);this.fireClick(c)}K(){this.h("ad skipped");this.fireSkip()}A(c){this.a=c.ad;this.h(Gv,this.a);this.fireBreakStart()}B(){this.h("ad break stop");this.fireBreakStop();if(this.getPosition()===youbora.Constants.AdPosition.Postroll){const c=this.plugin.getAdapter();c&&c.fireStop()}}H(c){(c=c.detail)&&10003===c.code&&Rv(c,this.m.getConfiguration().youbora,this.g,
13
+ this)}h(c,...d){this.g.debug(`Reporting "${c}" event to Youbora`,...d)}}return new b(a)},Vv=function(){class a extends NpawPluginAdapters.video.Shaka{constructor(){super();this.f=this.h=!1;this.a=null}getPlayhead(){return this.getIsLive()?-1:this.player.getPosition()}getDuration(){return this.player.getDuration()}getRendition(){let b=null,c=null,d=null;var e=this.player.getTrackManager();e&&(e=e.ta())&&(b=e.width,c=e.height,d=e.bandwidth);b&&c&&d||(e=this.j(),b=b||e.width,c=c||e.height,d=d||e.streamBandwidth);
14
+ return this.getNpawUtils().buildRenditionString(b,c,d)}getIsLive(){return this.player.isLive()}getResource(){const b=this.player.Qa();return b&&b.url}getBitrate(){return this.j().streamBandwidth}getThroughput(){return this.j().estimatedBandwidth}getPlayrate(){return this.player.lc()}getFramesPerSecond(){var b=this.player.getTrackManager();return b&&(b=b.Ha())?b.frameRate:null}getPlayerName(){return _.sa}getVersion(){return"castlabs-adapter-6.33.0-beta.1-js"}getPlayerVersion(){return _.ea}registerListeners(){const b=
15
+ this.w();this.player&&b&&(b.on(this.player,_.Lf,this.K.bind(this)),b.on(this.player,_.Sd,this.H.bind(this)),b.on(this.player,_.Df,this.J.bind(this)),b.on(this.player,_.Cf,this.I.bind(this)),b.on(this.player,_.oc,this.F.bind(this)),b.on(this.player,_.Rc,this.G.bind(this)),b.on(this.player,_.Jc,this.L.bind(this)),b.on(this.player,_.Wf,this.M.bind(this)))}unregisterListeners(){Uv.debug(_.yb);_.Sh(this.w())}dispose(){this.unregisterListeners();this.f=this.h=!1;this.a=null}j(){return this.player.getStats()||
16
+ _.Wr()}o(){return!!this.player.getConfiguration().autoplay}K(b){b=b.detail;this.l("state change",b);if(b)switch(b.currentState){case 1:this.plugin.setVideoOptions({"content.subtitles":this.C()});this.o()&&this.fireStart();break;case 3:this.fireStart();this.A();this.fireResume();this.fireBufferEnd();break;case 4:this.o()&&this.fireStart();this.A();this.fireBufferEnd();this.firePause();break;case _.qo:this.fireBufferEnd();this.fireStop();break;case 5:this.fireBufferEnd();this.h&&this.plugin.getAdsAdapter()?
17
+ this.firePause():this.fireStop();break;case 2:this.fireBufferBegin();break;default:Uv.debug(Fv,b)}}A(){this.fireJoin()}H(b){(b=b.detail)&&!this.f&&this.player&&10003!==b.code&&(b=Rv(b,this.player.getConfiguration().npaw,Uv,this))&&b.severity===_.D&&(this.f=!0)}J(){this.player.isEnded()||(this.l(_.Df),this.fireSeekBegin())}B(b){const c=this.player.getTrackManager();if(!c)return null;let d=null;b===_.Tf&&(d=c.ua());b===_.q&&(d=c.ra());return d?d.language:null}L(){const b=this.B(_.q);this.plugin.setVideoOptions({"content.language":b})}M(){const b=
18
+ this.B(_.Tf),c=this.C();this.plugin.setVideoOptions({"content.subtitles":b||c})}w(){this.a||(this.a=new _.Bt);return this.a}I(){this.l(_.Cf);this.fireSeekEnd()}F(b){Uv.debug("adsTimeline",b);this.h=(b=b.adsTimeline)&&b.Pb()}G(b){Uv.debug("Casting",b);this.fireCasted()}l(b,...c){Uv.debug(`Reporting "${b}" event to NPAW`,...c)}C(){const b=this.player.getConfiguration();return b.npaw&&b.npaw.disabledSubtitlesLabel?b.npaw.disabledSubtitlesLabel:"off"}}return a},Xv=function(){class a extends NpawPluginAdapters.ads.Ima{constructor(){super();
19
+ this.j=this.h=this.l=this.a=null;this.o=!1}getDuration(){return this.a?this.a.getDuration():null}getRendition(){let b=null;this.a&&(b=this.getNpawUtils().buildRenditionString(this.a.Ta(),this.a.Sa(),this.a.Ba()));return b}getBitrate(){let b=null;this.a&&(b=this.a.Ba());return b}getPlayhead(){let b=null;const c=this.player.getAdsManager();c&&(b=c.getPosition());return b}getResource(){let b=null;this.a&&(b=this.a.getMediaUrl());return b}getTitle(){let b=null;this.a&&(b=this.a.getTitle());return b}getProvider(){let b=
20
+ null;this.a&&(b=this.a.getAdvertiserName());return b}getCreativeId(){let b=null;this.a&&(b=this.a.getCreativeId());return b}dispose(){this.unregisterListeners();this.j=this.h=this.a=null}getPosition(){const b=this.getNpawReference().Constants.AdPosition;let c=null;if(this.a)switch(this.a.Ca()){case 0:c=b.Preroll;break;case 2:c=b.Postroll;break;case 1:c=b.Midroll}Wv.debug("Ad position",c);return c}getIsSkippable(){return this.a&&-1!==this.a.getSkipTimeOffset()}getAudioEnabled(){const b=this.player.getAdsManager();
21
+ return b&&0<b.getAdVolume()}getExpectedBreaks(){return this.h&&this.h.getCuePoints().length}getGivenBreaks(){return this.getExpectedBreaks()}getExpectedAds(){return this.a&&this.a.Ua()}getGivenAds(){return this.getExpectedAds()}getBreaksTime(){return this.h&&this.h.getCuePoints().map(b=>-1===b?this.player.getDuration():b)}getIsFullscreen(){return this.player.getSurface().isFullscreen()}getIsVisible(){var b=this.player.getSurface().getContainer();b=this.getNpawUtils().calculateAdViewability(b);Wv.debug(Pv,
22
+ b);return b}getPlayerName(){return _.sa}getVersion(){return"castlabs-ads-adapter-6.33.0-beta.1-js"}getPlayerVersion(){return _.ea}B(){this.j||(this.j=new _.Bt);return this.j}registerListeners(){const b=this.B();this.player&&b&&(b.on(this.player,_.oc,this.R.bind(this)),b.on(this.player,_.kc,this.P.bind(this)),b.on(this.player,_.dc,this.K.bind(this)),b.on(this.player,_.hc,this.L.bind(this)),b.on(this.player,_.Wb,this.I.bind(this)),b.on(this.player,_.Xb,this.w.bind(this,1)),b.on(this.player,_.cc,this.w.bind(this,
23
+ 2)),b.on(this.player,_.mc,this.w.bind(this,3)),b.on(this.player,_.Vb,this.H.bind(this)),b.on(this.player,_.jc,this.M.bind(this)),b.on(this.player,_.Sd,this.J.bind(this)),b.on(this.player,_.Sb,this.C.bind(this)),b.on(this.player,_.Tb,this.F.bind(this)),b.on(this.player,_.Ub,this.G.bind(this)),b.on(this.player,_.ec,this.S.bind(this)))}unregisterListeners(){_.Sh(this.B())}R(b){Wv.debug(Kv,b);this.h=b.adsTimeline}P(b){this.a=b.ad;this.f("ad start",this.a);this.fireStart();this.fireJoin()}I(){this.f("ad ended");
24
+ this.fireStop({adPlayhead:this.l})}K(){this.f("ad pause");this.A();this.firePause()}L(){this.f("ad resume");this.A();this.fireResume()}G(){this.o=!0;this.f(Iv);this.fireBufferBegin()}S(){this.l=this.getPlayhead();this.A()}A(){this.o&&(this.f(Hv),this.o=!1,this.fireBufferEnd())}w(b){this.f("ad quartile",b);this.fireQuartile(b)}H(){this.f("ad clicked");const b=this.a&&this.a.Pa();Wv.debug(Jv,b);this.fireClick(b)}M(){this.f("ad skipped");this.fireSkip()}C(b){this.a=b.ad;this.f(Gv,this.a);this.fireBreakStart()}F(){this.f("ad break stop");
25
+ this.fireBreakStop({adPlayhead:this.l});this.getPosition()===this.getNpawReference().Constants.AdPosition.Postroll&&this.fireStop({adPlayhead:this.l})}J(b){(b=b.detail)&&10003===b.code&&Rv(b,this.player.getConfiguration().npaw,Wv,this)}f(b,...c){Wv.debug(`Reporting "${b}" event to NPAW`,...c)}}return a},Yv=function(a){a.a&&(a.g.info("Removing NPAW Plugins",a.a),a.a.removeAdsAdapter(),a.a.removeAdapter())},Zv=function(a,b){if(b.namespace()===_.gd)return a.g.info("NPAW does not report when casting."),
26
+ !1;const c=b.getConfiguration().npaw;return _.dh(c)?c.accountCode?_.z(window.NpawPlugin)||_.z(window.NpawPluginAdapters)?(a.g.warn("NPAW SDK not found."),b.onError(new _.I(1,9,9100)),!1):!0:(a.g.warn("accountCode key is missing in NPAW config"),b.onError(new _.I(1,9,9101)),!1):(a.g.warn("NPAW plugin is loaded but not configured. Will do nothing."),!1)},$v=function(a,b){if(b.namespace()===_.gd)return a.g.info("Youbora does not report when casting."),!1;const c=b.getConfiguration().youbora;if(!_.dh(c))return a.g.debug("Youbora plugin is loaded but not configured. Will do nothing."),
27
+ !1;if(!c.accountCode)return a.g.warn("accountCode key is missing in Youbora config"),b.onError(new _.I(1,9,9101)),!1;if(_.z(window.youbora))return a.g.warn("Youbora SDK not found."),b.onError(new _.I(1,9,9100)),!1;"6.8.59"!==youbora.VERSION&&(a.g.warn("Youbora SDK version is not supported. The supported version is 6.8.59, found "+`version ${youbora.VERSION}. Some or all features of YouboraPlugin `+"may not work correctly."),b.onError(new _.I(1,9,9102)));return!0},aw=a=>a&&a.errorFilter?a.errorFilter:
28
+ b=>({code:`${b.code}`,message:b.message,severity:b.severity}),Rv=(a,b,c,d)=>{b=aw(b)(a);if(!b)return c.debug("Error not sent to Youbora",a.code,a.message),null;a=10003===a.code?"ad error":_.Sd;b.severity===_.D?(d.fireFatalError(b.code,b.message,b.metadata),c.debug(`Reporting "fatal ${a}" to Youbora`,b.code,b)):(d.fireError(b.code,b.message,b.metadata),c.debug(`Reporting "${a}" to Youbora`,b.code,b));return b};var Uv=new _.T("clpp.npaw.NpawAdapter");var Wv=new _.T("clpp.npaw.NpawAdsAdapter");var bw=class extends _.Ev{constructor(){super();this.a=null;this.g=new _.T(Lv);this.m=null}Bf(a){Yv(this);if(this.a=a)this.a.registerAdapterFromClass(this.m,Vv()),this.a.registerAdsAdapterFromClass(this.m,Xv())}$h(){return this.a}getAdapter(){return this.a&&this.a.getAdapter()}getAdsAdapter(){return this.a&&this.a.getAdsAdapter()}onPlayerCreated(a){this.m=a;Zv(this,a)&&(a=a.getConfiguration().npaw,this.Bf(new NpawPlugin(a.accountCode)))}onContentWillLoad(a,b){if(Zv(this,a)){a=a.getConfiguration();
29
+ var c=a.npaw;void 0===c[Nv]&&(c[Nv]=b.isLive);void 0===c[Ov]&&(c[Ov]=b.name);void 0===c.viewerId&&(c.viewerId=a.viewerId);this.a||this.Bf(new NpawPlugin(c.accountCode));this.a.setAnalyticsOptions(c)}}onContentLoaded(a){const b={};(a=a.getDrmInfo())&&(a=Qv(a.keySystem))&&(b["content.drm"]=a);this.g.info(_.Ee,b);this.a.setAnalyticsOptions(b)}onPlayerWillRelease(){}onPlayerWillDestroy(){Yv(this);this.a&&this.a.destroy()}id(){return"npaw"}};_.w(Lv,bw);bw.prototype.getAdsAdapter=bw.prototype.getAdsAdapter;
30
+ bw.prototype.getAdapter=bw.prototype.getAdapter;bw.prototype.getNpawPlugin=bw.prototype.$h;bw.prototype.setNpawPlugin=bw.prototype.Bf;bw.Id="npaw";new _.T(Lv);var cw=class extends _.Ev{constructor(){super();this.a=null;this.g=new _.T(Mv);this.m=null}Cf(a){this.a&&(this.a.removeAdsAdapter(),this.a.removeAdapter());if(this.a=a)this.a.setAdapter(Sv(this.m)),this.a.setAdsAdapter(Tv(this.m))}getAdapter(){return this.a&&this.a.getAdapter()}getAdsAdapter(){return this.a&&this.a.getAdsAdapter()}onPlayerCreated(a){this.m=a;$v(this,a)&&(a=a.getConfiguration().youbora,this.Cf(new youbora.Plugin(a)))}onContentWillLoad(a,b){if($v(this,a)){a=a.getConfiguration();var c=
31
+ a.youbora;void 0===c[Nv]&&(c[Nv]=b.isLive);void 0===c[Ov]&&(c[Ov]=b.name);void 0===c.viewerId&&(c.viewerId=a.viewerId);this.a||this.Cf(new youbora.Plugin(c));this.a.setOptions(c)}}onPlayerWillRelease(){}onPlayerWillDestroy(){}id(){return"youbora"}};_.w(Mv,cw);cw.prototype.getAdsAdapter=cw.prototype.getAdsAdapter;cw.prototype.getAdapter=cw.prototype.getAdapter;cw.prototype.setYouboraPlugin=cw.prototype.Cf;cw.Id="youbora";_.En(new class{create(a){return a.npaw?new bw:a.youbora?new cw:null}});};f.call(g, window);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@castlabs/prestoplay",
3
3
  "description": "PRESTOplay Video Player",
4
- "version": "6.32.0",
4
+ "version": "6.33.0-beta.1",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/castlabs/prestoplay-web.git"
package/typings.d.ts CHANGED
@@ -321,7 +321,7 @@ export namespace clpp {
321
321
  */
322
322
  useSenderAbrConfig?: boolean;
323
323
  /**
324
- * Enable to pass on current sender {@link clpp.StreamingConfiguration} to reciver.
324
+ * Enable to pass on current sender {@link clpp.StreamingConfiguration} to receiver.
325
325
  */
326
326
  useSenderStreamingConfig?: boolean;
327
327
  }
@@ -1352,9 +1352,7 @@ export namespace clpp {
1352
1352
  */
1353
1353
  drm?: Partial<clpp.DrmConfiguration>|null;
1354
1354
  /**
1355
- * The DRM configuration resolver. Only works on MSE, not compatible
1356
- * with {@link clpp.onboard.OnboardComponent}, {@link clpp.drm.HeaderDrmComponent}
1357
- * nor {@link clpp.verimatrix.VcasComponent}.
1355
+ * The DRM configuration resolver. Only works on MSE.
1358
1356
  */
1359
1357
  drmResolver?: Partial<clpp.DrmConfigurationResolver>;
1360
1358
  /**
@@ -1378,6 +1376,11 @@ export namespace clpp {
1378
1376
  * load promise will only resolve once actual media data are loaded.
1379
1377
  */
1380
1378
  forceWaitForTracks?: boolean;
1379
+ /**
1380
+ * If true, forces the use of XHR for HTTP(S) requests instead of the
1381
+ * Fetch API. By default Fetch API is selected if available.
1382
+ */
1383
+ forceXhr?: boolean;
1381
1384
  /**
1382
1385
  * FreeWheel ads configuration.
1383
1386
  */
@@ -1906,7 +1909,7 @@ export namespace clpp {
1906
1909
  }
1907
1910
 
1908
1911
  /**
1909
- * Safari-related configuration.
1912
+ * Safari configuration, specifically for the native player delegate.
1910
1913
  */
1911
1914
  export type SafariConfiguration = {
1912
1915
  /**
@@ -2262,6 +2265,13 @@ export namespace clpp {
2262
2265
  * When set to |true|, live edge chasing algorithm will be enabled.
2263
2266
  */
2264
2267
  enableLiveEdgeChasing: boolean;
2268
+ /**
2269
+ * Defaults to true.
2270
+ *
2271
+ * When enabled, the player monitors segment downloads and aborts
2272
+ * any request that has been running longer than rebufferingGoal.
2273
+ */
2274
+ enableStalledSegmentAbort?: boolean;
2265
2275
  /**
2266
2276
  * If this is true, native TS support will be used where possible. Otherwise
2267
2277
  * we will transmux TS content even if not strictly necessary
@@ -3598,15 +3608,6 @@ export namespace clpp {
3598
3608
  * Triggered by the Yospace plugin when the Yospace session has been shut down.
3599
3609
  */
3600
3610
  YOSPACE_SESSION_ENDED = "yospace-session-ended",
3601
- /**
3602
- * Triggered when location selection and priorities are updated
3603
- * for a BaseUriCollection
3604
- */
3605
- CONTENT_STEERING_CHANGE = "content-steering-change",
3606
- /**
3607
- * Triggered when a service location is banned/unbanned
3608
- */
3609
- CONTENT_STEERING_LOCATION_BAN_UPDATE = "content-steering-location-ban-update",
3610
3611
  }
3611
3612
 
3612
3613
  /**
@@ -3804,7 +3805,7 @@ export namespace clpp {
3804
3805
  destroy(): Promise<void>;
3805
3806
  /**
3806
3807
  * Returns the ads manager or null if not available.
3807
- * The ads manager is available when {@link clpp.Player.open} is resolved.
3808
+ * The ads manager is available when {@link clpp.Player#open} is resolved.
3808
3809
  */
3809
3810
  getAdsManager(): clpp.ads.IAdsManager|null;
3810
3811
  /**
@@ -3814,11 +3815,9 @@ export namespace clpp {
3814
3815
  * ahead of the playback position.
3815
3816
  *
3816
3817
  * @param opt_type Optional track type. If
3817
- * provided and supported by the current player backend, this returns the
3818
+ * provided and supported by the current platform, this returns the
3818
3819
  * buffer info for the given track type. If this is not supported by the
3819
- * current player, the total time range will be returned instead. The
3820
- * results {@link clpp.BufferInfo#type} property can be checked to see what
3821
- * ranges were returned
3820
+ * current platform, the total time range will be returned instead.
3822
3821
  */
3823
3822
  getBufferInfo(opt_type?: clpp.Track.Type|string): clpp.BufferInfo;
3824
3823
  /**
@@ -5459,6 +5458,9 @@ export namespace clpp {
5459
5458
  * An internal error which indicates that an operation was aborted.
5460
5459
  * For example the load promise might be rejected with this error when
5461
5460
  * another load call has been executed.
5461
+ * When this error is raised from the network stack, the
5462
+ * {@link clpp.Error#data|data} property contains an object with the
5463
+ * following properties:
5462
5464
  */
5463
5465
  OPERATION_ABORTED = 7001,
5464
5466
  /**
@@ -5733,7 +5735,7 @@ export namespace clpp {
5733
5735
  */
5734
5736
  ERROR = 6,
5735
5737
  /**
5736
- * 7 - Used exclusively to indicate previous state, when it has no state yet
5738
+ * 7 - This state is deprecated, the player will never get to this state.
5737
5739
  */
5738
5740
  UNSET = 7,
5739
5741
  }
@@ -6050,6 +6052,13 @@ export namespace clpp {
6050
6052
  * Returns instance of Queue.
6051
6053
  */
6052
6054
  function createCastQueue(): clpp.cast.Queue;
6055
+ /**
6056
+ * Add a listener for when Chromecast Sender SDK is ready to be used.
6057
+ *
6058
+ * @param callback a callback called when Chromecast Sender SDK
6059
+ * is ready to be used.
6060
+ */
6061
+ function onReady(callback: Function): void;
6053
6062
  export class CastProxy {
6054
6063
  /**
6055
6064
  * @param player a player instance
@@ -6885,10 +6894,6 @@ export namespace clpp {
6885
6894
  }
6886
6895
 
6887
6896
  namespace eme {
6888
- export class EmeFactory {
6889
-
6890
- }
6891
-
6892
6897
  namespace EmeFactory {
6893
6898
  /**
6894
6899
  * Versions of Encrypted Media Extensions (EME) API.
@@ -7931,6 +7936,9 @@ export namespace clpp {
7931
7936
  CONTENT_STEERING = 7,
7932
7937
  }
7933
7938
 
7939
+ /**
7940
+ * Create an object representing an HTTP request.
7941
+ */
7934
7942
  function makeRequest(source: Record<string, any>|string, opt_attemptParameters?: clpp.net.AttemptParameters): clpp.net.Request;
7935
7943
  export class NetworkEngine {
7936
7944
  /**