@castlabs/prestoplay 6.29.0 → 6.30.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 (66) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/cjs/cl.adobe.js +3 -3
  3. package/cjs/cl.airplay.js +3 -3
  4. package/cjs/cl.broadpeak.js +7 -7
  5. package/cjs/cl.cast.js +129 -127
  6. package/cjs/cl.conviva.js +32 -32
  7. package/cjs/cl.core.js +619 -621
  8. package/cjs/cl.crypto.js +9 -9
  9. package/cjs/cl.dash.js +92 -89
  10. package/cjs/cl.externs.js +36 -35
  11. package/cjs/cl.freewheel.js +25 -25
  12. package/cjs/cl.hls.js +78 -79
  13. package/cjs/cl.hlssmpte.js +6 -6
  14. package/cjs/cl.htmlcue.js +30 -30
  15. package/cjs/cl.ima.js +25 -24
  16. package/cjs/cl.mediatailor.js +3 -3
  17. package/cjs/cl.mse.js +352 -351
  18. package/cjs/cl.muxdata.js +14 -14
  19. package/cjs/cl.onboard.js +4 -4
  20. package/cjs/cl.persistent.js +15 -15
  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 +71 -71
  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 +38 -38
  33. package/cjs/polyfill.min.js +2 -2
  34. package/cl.adobe.js +3 -3
  35. package/cl.airplay.js +3 -3
  36. package/cl.broadpeak.js +6 -6
  37. package/cl.cast.js +101 -99
  38. package/cl.conviva.js +27 -27
  39. package/cl.core.js +486 -486
  40. package/cl.crypto.js +9 -9
  41. package/cl.dash.js +84 -83
  42. package/cl.externs.js +36 -35
  43. package/cl.freewheel.js +19 -19
  44. package/cl.hls.js +82 -82
  45. package/cl.hlssmpte.js +5 -5
  46. package/cl.htmlcue.js +26 -26
  47. package/cl.ima.js +19 -18
  48. package/cl.mediatailor.js +2 -2
  49. package/cl.mse.js +303 -303
  50. package/cl.muxdata.js +13 -13
  51. package/cl.onboard.js +4 -4
  52. package/cl.persistent.js +11 -11
  53. package/cl.playlist.js +5 -5
  54. package/cl.simid.js +14 -14
  55. package/cl.smooth.js +60 -60
  56. package/cl.thumbnails.js +19 -19
  57. package/cl.tizen.js +56 -56
  58. package/cl.ttml.js +22 -22
  59. package/cl.verimatrix.js +4 -4
  60. package/cl.vimond.js +8 -8
  61. package/cl.vr.js +14 -14
  62. package/cl.vtt.js +12 -12
  63. package/cl.yospace.js +3 -3
  64. package/cl.youbora.js +31 -31
  65. package/package.json +1 -1
  66. package/typings.d.ts +11 -1
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 Tw="touchmove",Uw="touchstart",Ww=function(a,b,c){c*=.5;const d=Math.sqrt(a*a+b*b),e=Math.sin(c);return new Vw(a/d*e,b/d*e,0/d*e,Math.cos(c))},Xw=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)},Yw=function(a,b){isFinite(b)?(a.x*=b,a.y*=b,a.a*=b):(a.x=0,a.y=0,a.a=0)},Zw=function(a,b){return a.x*b.x+a.y*b.y+a.a*b.a},$w=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},ax=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},cx=function(a){var b=new bx(0,0,0),c=new bx(0,0,1);const d=new bx,e=new bx,f=new bx;a=a.a;var g=
3
- new bx(0,1,0);f.x=b.x-g.x;f.y=b.y-g.y;f.a=b.a-g.a;g=f.length();Yw(f,1/g);c=$w(d,c,f);g=c.length();Yw(c,1/g);$w(e,f,d);a[0]=d.x;a[1]=d.y;a[2]=d.a;a[3]=-Zw(d,b);a[4]=e.x;a[5]=e.y;a[6]=e.a;a[7]=-Zw(e,b);a[8]=f.x;a[9]=f.y;a[10]=f.a;a[11]=-Zw(f,b);a[12]=0;a[13]=0;a[14]=0;a[15]=1},dx=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 _.H(1,9,9004,"Unable to compile GL shader: "+
4
- a.a.getShaderInfoLog(b));return b},ex=function(a){a.a&&(a.a.removeEventListener("mousemove",a.A,!1),a.a.removeEventListener(Tw,a.A,!1),a.a.removeEventListener("mouseup",a.B,!1),a.a.removeEventListener("touchend",a.B,!1))},fx=function(a){const b=Ww(1,0,a.l*Math.PI/180);Xw(Ww(0,1,a.j*Math.PI/180),a.P);Xw(b,a.R);cx(a.ba);ax(a.ca,a.P,a.ba);ax(a.G,a.R,a.ca)},Vw=class{constructor(a,b,c,d){this.x=a||0;this.y=b||0;this.a=c||0;this.f=d||1}};var bx=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 gx=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 hx=class{constructor(a){this.a=a;this.f=a.createProgram();this.l=dx(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=dx(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 _.H(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 ix=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 jx=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 kx={alpha:!1,depth:!0,stencil:!1,antialias:!0,premultipliedAlpha:!1,preserveDrawingBuffer:!1,devicePixelRatio:1},lx=class extends _.Uv{constructor(){super();this.o=this.w=this.K=this.I=this.C=this.Y=this.G=this.f=this.a=this.m=null;this.g=new _.S("clpp.vr");this.H=70;this.V=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 gx;this.R=new gx;this.ba=new gx;this.ca=new gx;this.A=this.ia.bind(this);this.B=this.za.bind(this);this.J=this.ha.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&&_.kh(d))this.H=d;else throw new _.H(1,7,7100,"fieldOfView configuration must be a number");if(void 0!==e&&_.kh(e)&&0<e)this.V=e;else throw new _.H(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",kx)||this.a.getContext("experimental-webgl",
9
- kx);if(!this.f)throw new _.H(1,9,9003,"Unable to create GL context");this.G=new gx;cx(this.G);this.Y=new ix(this.f);this.C=new hx(this.f);this.I=new gx;this.K=new gx;this.o=this.w=null;this.a.addEventListener(_.Af,this.F)}a.addElementToContainer(this.a,!0,!0);a.hideMediaElement();b.vr.attachMouseListener&&(this.a.addEventListener("mousedown",this.J,!1),this.a.addEventListener(Uw,this.J,!1));this.F();this.T()}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&&(ex(this),this.a.removeEventListener(_.Af,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"}T(){if(this.m&&this.f){var a=this.m.getSurface();if(a&&(a=a.getMedia())&&a.tagName.toLowerCase()===_.t){this.w=requestAnimationFrame(this.T.bind(this));
11
- var b=this.f;this.o||a.readyState!==a.HAVE_ENOUGH_DATA||(this.o=new jx(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=ax(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 Nw="touchmove",Ow="touchstart",Qw=function(a,b,c){c*=.5;const d=Math.sqrt(a*a+b*b),e=Math.sin(c);return new Pw(a/d*e,b/d*e,0/d*e,Math.cos(c))},Rw=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)},Sw=function(a,b){isFinite(b)?(a.x*=b,a.y*=b,a.a*=b):(a.x=0,a.y=0,a.a=0)},Tw=function(a,b){return a.x*b.x+a.y*b.y+a.a*b.a},Uw=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},Vw=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},Xw=function(a){var b=new Ww(0,0,0),c=new Ww(0,0,1);const d=new Ww,e=new Ww,f=new Ww;a=a.a;var g=
3
+ new Ww(0,1,0);f.x=b.x-g.x;f.y=b.y-g.y;f.a=b.a-g.a;g=f.length();Sw(f,1/g);c=Uw(d,c,f);g=c.length();Sw(c,1/g);Uw(e,f,d);a[0]=d.x;a[1]=d.y;a[2]=d.a;a[3]=-Tw(d,b);a[4]=e.x;a[5]=e.y;a[6]=e.a;a[7]=-Tw(e,b);a[8]=f.x;a[9]=f.y;a[10]=f.a;a[11]=-Tw(f,b);a[12]=0;a[13]=0;a[14]=0;a[15]=1},Yw=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},Zw=function(a){a.a&&(a.a.removeEventListener("mousemove",a.A,!1),a.a.removeEventListener(Nw,a.A,!1),a.a.removeEventListener("mouseup",a.B,!1),a.a.removeEventListener("touchend",a.B,!1))},$w=function(a){const b=Qw(1,0,a.l*Math.PI/180);Rw(Qw(0,1,a.j*Math.PI/180),a.P);Rw(b,a.R);Xw(a.ba);Vw(a.ca,a.P,a.ba);Vw(a.G,a.R,a.ca)},Pw=class{constructor(a,b,c,d){this.x=a||0;this.y=b||0;this.a=c||0;this.f=d||1}};var Ww=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 ax=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 bx=class{constructor(a){this.a=a;this.f=a.createProgram();this.l=Yw(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=Yw(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 cx=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 dx=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 ex={alpha:!1,depth:!0,stencil:!1,antialias:!0,premultipliedAlpha:!1,preserveDrawingBuffer:!1,devicePixelRatio:1},fx=class extends _.Ov{constructor(){super();this.o=this.w=this.K=this.I=this.C=this.Y=this.G=this.f=this.a=this.m=null;this.g=new _.T("clpp.vr");this.H=70;this.V=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 ax;this.R=new ax;this.ba=new ax;this.ca=new ax;this.A=this.ia.bind(this);this.B=this.Aa.bind(this);this.J=this.ga.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&&_.kh(d))this.H=d;else throw new _.I(1,7,7100,"fieldOfView configuration must be a number");if(void 0!==e&&_.kh(e)&&0<e)this.V=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",ex)||this.a.getContext("experimental-webgl",
9
+ ex);if(!this.f)throw new _.I(1,9,9003,"Unable to create GL context");this.G=new ax;Xw(this.G);this.Y=new cx(this.f);this.C=new bx(this.f);this.I=new ax;this.K=new ax;this.o=this.w=null;this.a.addEventListener(_.Af,this.F)}a.addElementToContainer(this.a,!0,!0);a.hideMediaElement();b.vr.attachMouseListener&&(this.a.addEventListener("mousedown",this.J,!1),this.a.addEventListener(Ow,this.J,!1));this.F();this.T()}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&&(Zw(this),this.a.removeEventListener(_.Af,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"}T(){if(this.m&&this.f){var a=this.m.getSurface();if(a&&(a=a.getMedia())&&a.tagName.toLowerCase()===_.t){this.w=requestAnimationFrame(this.T.bind(this));
11
+ var b=this.f;this.o||a.readyState!==a.HAVE_ENOUGH_DATA||(this.o=new dx(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=Vw(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.Y;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)}}}}ha(a){this.g.debug("Mouse Down. Enable VR mouse interaction");a.preventDefault();if(0===a.button||a.type===Uw)a.type===Uw?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(Tw,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===Tw&&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.V;const {qh:e,rh:f}={qh:a*b*(this.L?-1:1),rh:d*b*(this.M?-1:1)};this.j+=e;this.l+=f;fx(this)}za(a){this.g.debug("Mouse Up. Removing mouse interaction listeners");a.preventDefault();ex(this)}hi(a,b){this.l=b;this.j=a;fx(this)}Lh(){return{x:this.j,y:this.l}}Hi(a){this.H=a;this.F()}};
15
- _.x("clpp.vr.VrPlugin",lx);lx.prototype.setCameraFieldOfView=lx.prototype.Hi;lx.prototype.getCameraCoordinates=lx.prototype.Lh;lx.prototype.moveCamera=lx.prototype.hi;lx.Id="vr";_.Wn(new class{create(){return new lx}});};f.call(g, window);
13
+ 0,a.h);a=this.o;a.a.bindTexture(a.a.TEXTURE_2D,null);this.C.a.useProgram(null)}}}}ga(a){this.g.debug("Mouse Down. Enable VR mouse interaction");a.preventDefault();if(0===a.button||a.type===Ow)a.type===Ow?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(Nw,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===Nw&&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.V;const {xh:e,yh:f}={xh:a*b*(this.L?-1:1),yh:d*b*(this.M?-1:1)};this.j+=e;this.l+=f;$w(this)}Aa(a){this.g.debug("Mouse Up. Removing mouse interaction listeners");a.preventDefault();Zw(this)}oi(a,b){this.l=b;this.j=a;$w(this)}Sh(){return{x:this.j,y:this.l}}Ni(a){this.H=a;this.F()}};
15
+ _.x("clpp.vr.VrPlugin",fx);fx.prototype.setCameraFieldOfView=fx.prototype.Ni;fx.prototype.getCameraCoordinates=fx.prototype.Sh;fx.prototype.moveCamera=fx.prototype.oi;fx.Id="vr";_.Qn(new class{create(){return new fx}});};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 Aw=" The setting will be ignored.",Bw="VTT parser encountered an invalid VTT setting: ",Cw="application/x-subrip",Dw="text/srt",Ew='text/vtt; codecs\x3d"vtt"',Fw='text/vtt; codecs\x3d"wvtt"',Gw=function(a){return a.a===a.f.length?null:(a=_.pr(a,/[^ \t\n]*/gm))?a[0]:null},Hw=function(a){_.pr(a,/[ \t]+/gm)},Iw=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},Jw=function(a){a=_.pr(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)},Lw=function(a,b,c){let d;if(d=/^align:(start|middle|center|end|left|right)$/.exec(b))b=d[1],"middle"===b?a.textAlign=_.qu:a.textAlign=_.wu[b.toUpperCase()];else if(d=/^vertical:(lr|rl)$/.exec(b))a.writingMode="lr"===d[1]?_.wg:_.xg;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===_.me||b===_.Pf?_.me:b===_.ne||b===_.Vd?
4
- _.ne:_.Wc);else if(d=/^region:(.*)$/.exec(b)){if(b=Kw(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=_.xu[c[2].toUpperCase()]);else if(c=/^line:(-?\d+)(?:,(start|end|center))?$/.exec(b))a.lineInterpretation=_.su,a.line=Number(c[1]),c[2]&&(a.lineAlign=_.xu[c[2].toUpperCase()]);else{a=!1;break a}a=!0}return a}return!0},Kw=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)},Nw=function(a,b,c){let d,e,f;(new _.op).N("payl",_.jp(g=>{d=_.pi(g)})).N("iden",_.jp(g=>{e=_.pi(g)})).N("sttg",_.jp(g=>{f=_.pi(g)})).parse(a);return d?Mw(d,e,f,b,c):null},Mw=function(a,b,c,d,e){a=new _.vu(d,e,a,_.Eg);b&&(a.id=b);if(c)for(b=new _.qr(c),c=Gw(b);c;)Lw(a,c,[])||_.B(Bw,c,Aw),Hw(b),c=Gw(b);return a},Ow=class{a(a){a=_.pi(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+=Iw(c)}return _.ti(b)}},Pw=class{create(){return new Ow}probe(a,b){return(a===Dw||a===Cw)&&b===_.Zf}};var Qw=class{constructor(a){this.a=a}parseInit(){}parseMedia(a,b){a=_.pi(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 _.H(_.C,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=Jw(new _.qr(d[1]));if(null==a)throw new _.H(_.C,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 _.qr(f.replace(/\n/g," "));d=new _.Au;Gw(e);Hw(e);for(var g=Gw(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,Aw);Hw(e);g=Gw(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 _.qr(l[0]);g=Jw(d);const p=_.pr(d,/[ \t]+--\x3e[ \t]+/g);k=Jw(d);if(null==g||null==p||null==k)throw new _.H(_.C,2,2001);g+=h;k+=h;l=l.slice(1).join("\n").trim();g=new _.vu(g,k,l,_.Eg);e&&(g.id=e);Hw(d);for(k=Gw(d);k;)Lw(g,k,c)||_.B(Bw,k,Aw),Hw(d),k=Gw(d);null!=e&&(g.id=e);c=g}c&&m.push(c)}return{cues:m,styles:f}}};var Rw=class extends Qw{parseMedia(a,b){return super.parseMedia((new Ow).a(a),b)}};var Sw=class{constructor(){this.a=null;this.g=new _.S("clpp.vtt.mp4")}parseInit(a){let b=!1;(new _.op).N(_.De,_.hp).N(_.hg,_.hp).N(_.ye,_.hp).ea("mdhd",c=>{0===c.version?(c.reader.skip(4),c.reader.skip(4),this.a=_.M(c.reader),c.reader.skip(4)):(c.reader.skip(8),c.reader.skip(8),this.a=_.M(c.reader),c.reader.skip(8));c.reader.skip(4)}).N(_.Ce,_.hp).N(_.Sf,_.hp).ea(_.Uf,_.ip).N("wvtt",()=>{b=!0}).parse(a);if(!this.a)throw new _.H(_.C,2,2008);if(!b)throw new _.H(_.C,2,2008);}parseMedia(a,b){if(!this.a)throw this.g.error("No init segment for MP4+VTT!"),
10
- new _.H(_.C,2,2008);let c=0,d=[],e;const f=[];let g=!1,h=!1,k=!1,l=null;(new _.op).N("moof",_.hp).N("traf",_.hp).ea("tfdt",p=>{g=!0;c=0===p.version?_.M(p.reader):_.cp(p.reader)}).ea("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?_.M(p):null}).ea("trun",p=>{h=!0;{var u=p.version,v=p.flags;p=p.reader;const y=_.M(p);v&1&&p.skip(4);v&4&&p.skip(4);const A=[];for(let D=0;D<y;D++){const E={duration:null,sampleSize:null,qf:null};v&256&&(E.duration=_.M(p));v&512&&(E.sampleSize=
11
- _.M(p));v&1024&&p.skip(4);v&2048&&(E.qf=0===u?_.M(p):_.bp(p));A.push(E)}d=A}}).N(_.xe,_.jp(p=>{k=!0;e=p})).parse(a);if(!k&&!g&&!h)throw new _.H(_.C,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,v=p.qf?c+p.qf:a;a=v+(u||0);let y=0;do{const A=_.M(m);y+=A;var n=_.M(m);n=_.gp(n);let D=null;"vttc"===n?8<A&&(D=_.ep(m,A-8)):("vtte"!==n&&this.g.error("Unknown box "+n+"! Skipping!"),m.skip(A-8));u?D&&f.push(Nw(D,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(_.Qm),styles:[]}}};_.x("clpp.vtt.VttComponent",class extends _.Ev{constructor(){super();this.a=new Pw}install(){_.zt(_.Zf,Qw);_.zt(Ew,Qw);_.zt(Fw,Qw);_.zt(_.zc,Sw);_.zt(Dw,Rw);_.zt(Cw,Rw);_.Pr.push(this.a)}uninstall(){_.Bt(_.Zf);_.Bt(Ew);_.Bt(Fw);_.Bt(_.zc);_.Bt(Dw);_.Bt(Cw);_.Rr(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 uw=" The setting will be ignored.",vw="VTT parser encountered an invalid VTT setting: ",ww="application/x-subrip",xw="text/srt",yw='text/vtt; codecs\x3d"vtt"',zw='text/vtt; codecs\x3d"wvtt"',Aw=function(a){return a.a===a.f.length?null:(a=_.jr(a,/[^ \t\n]*/gm))?a[0]:null},Bw=function(a){_.jr(a,/[ \t]+/gm)},Cw=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},Dw=function(a){a=_.jr(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)},Fw=function(a,b,c){let d;if(d=/^align:(start|middle|center|end|left|right)$/.exec(b))b=d[1],"middle"===b?a.textAlign=_.ju:a.textAlign=_.pu[b.toUpperCase()];else if(d=/^vertical:(lr|rl)$/.exec(b))a.writingMode="lr"===d[1]?_.wg:_.xg;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===_.me||b===_.Pf?_.me:b===_.ne||b===_.Vd?
4
+ _.ne:_.Xc);else if(d=/^region:(.*)$/.exec(b)){if(b=Ew(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=_.qu[c[2].toUpperCase()]);else if(c=/^line:(-?\d+)(?:,(start|end|center))?$/.exec(b))a.lineInterpretation=_.lu,a.line=Number(c[1]),c[2]&&(a.lineAlign=_.qu[c[2].toUpperCase()]);else{a=!1;break a}a=!0}return a}return!0},Ew=function(a,b){a=a.filter(c=>c.id===b);return a.length?a[0]:(_.C("VTT parser could not find a region with id: ",
5
+ b," The region will be ignored."),null)},Hw=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?Gw(d,e,f,b,c):null},Gw=function(a,b,c,d,e){a=new _.ou(d,e,a,_.Eg);b&&(a.id=b);if(c)for(b=new _.kr(c),c=Aw(b);c;)Fw(a,c,[])||_.C(vw,c,uw),Bw(b),c=Aw(b);return a},Iw=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+=Cw(c)}return _.ri(b)}},Jw=class{create(){return new Iw}probe(a,b){return(a===xw||a===ww)&&b===_.Zf}};var Kw=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=Dw(new _.kr(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 _.kr(f.replace(/\n/g," "));d=new _.tu;Aw(e);Bw(e);for(var g=Aw(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||_.C("VTT parser encountered an invalid VTTRegion setting: ",g,uw);Bw(e);g=Aw(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 _.kr(l[0]);g=Dw(d);const p=_.jr(d,/[ \t]+--\x3e[ \t]+/g);k=Dw(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 _.ou(g,k,l,_.Eg);e&&(g.id=e);Bw(d);for(k=Aw(d);k;)Fw(g,k,c)||_.C(vw,k,uw),Bw(d),k=Aw(d);null!=e&&(g.id=e);c=g}c&&m.push(c)}return{cues:m,styles:f}}};var Lw=class extends Kw{parseMedia(a,b){return super.parseMedia((new Iw).a(a),b)}};var Mw=class{constructor(){this.a=null;this.g=new _.T("clpp.vtt.mp4")}parseInit(a){let b=!1;(new _.ip).N(_.De,_.bp).N(_.hg,_.bp).N(_.ye,_.bp).ea("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(_.Ce,_.bp).N(_.Sf,_.bp).ea(_.Uf,_.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).ea("tfdt",p=>{g=!0;c=0===p.version?_.N(p.reader):_.Xo(p.reader)}).ea("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}).ea("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 B={duration:null,sampleSize:null,zf:null};v&256&&(B.duration=_.N(p));v&512&&(B.sampleSize=
11
+ _.N(p));v&1024&&p.skip(4);v&2048&&(B.zf=0===u?_.N(p):_.Wo(p));A.push(B)}d=A}}).N(_.xe,_.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.zf?c+p.zf: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(Hw(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(_.Km),styles:[]}}};_.x("clpp.vtt.VttComponent",class extends _.yv{constructor(){super();this.a=new Jw}install(){_.tt(_.Zf,Kw);_.tt(yw,Kw);_.tt(zw,Kw);_.tt(_.Ac,Mw);_.tt(xw,Lw);_.tt(ww,Lw);_.Jr.push(this.a)}uninstall(){_.vt(_.Zf);_.vt(yw);_.vt(zw);_.vt(_.Ac);_.vt(xw);_.vt(ww);_.Lr(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 vw="clpp.yospace.YospacePlugin",yw=class extends _.Uv{constructor(){super();this.a=null;this.g=new _.S(vw)}gg(){return this.a}onContentWillLoad(a,b){const c=this;return _.w(function*(){var d=a.getConfiguration().yospace;if(d.enabled){if(typeof window.YospaceAdManagement!==_.He)throw new _.H(_.C,9,7003,"Yospace SDK not found.");c.g.info("Yospace enabled.");a:{d=d.streamType||ww;var e=b.url;c.g.info("Creating Yospace session for stream type",d);switch(d){case ww:d=YospaceAdManagement.SessionVOD.create(e);
2
- break a;case xw: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 _.H(_.C,9,7003,"Yospace session failed to initialize.");a.trigger(new _.G(_.Rg,{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 _.G(_.Qg,{detail:b}))}}id(){return"yospace"}};_.x(vw,yw);yw.prototype.getSession=yw.prototype.gg;yw.Id="yospace";var zw=class{create(){return new yw}},ww=_.Db,xw="LIVE";_.x("clpp.yospace.StreamType",{VOD:ww,LIVE:xw,DVR:"DVR"});_.Wn(new zw);};f.call(g, window);
1
+ import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var pw="clpp.yospace.YospacePlugin",sw=class extends _.Ov{constructor(){super();this.a=null;this.g=new _.T(pw)}og(){return this.a}onContentWillLoad(a,b){const c=this;return _.w(function*(){var d=a.getConfiguration().yospace;if(d.enabled){if(typeof window.YospaceAdManagement!==_.He)throw new _.I(_.D,9,7003,"Yospace SDK not found.");c.g.info("Yospace enabled.");a:{d=d.streamType||qw;var e=b.url;c.g.info("Creating Yospace session for stream type",d);switch(d){case qw:d=YospaceAdManagement.SessionVOD.create(e);
2
+ break a;case rw: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(_.Rg,{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(_.Qg,{detail:b}))}}id(){return"yospace"}};_.x(pw,sw);sw.prototype.getSession=sw.prototype.og;sw.Id="yospace";var tw=class{create(){return new sw}},qw=_.Fb,rw="LIVE";_.x("clpp.yospace.StreamType",{VOD:qw,LIVE:rw,DVR:"DVR"});_.Qn(new tw);};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="accountCode key is missing in Youbora config",Xv="ad break start",Yv="ad buffering ended",Zv="ad buffering started",$v="ad click through url: ",aw="ad timeline changed",bw="clpp.npaw.NpawPlugin",cw="clpp.npaw.YouboraPlugin",dw="content.isLive",ew="content.title",fw="is container visible",gw="youbora",hw=function(a){return a.startsWith(_.vd)?"Widevine":a.startsWith(_.rd)?"FairPlay":a.match(/^com\.(microsoft|chromecast)\.playready/)?"PlayReady":a.startsWith(_.Qe)?
2
- "ClearKey":a.startsWith(_.qd)?"Primetime":a},jw=function(a){class b extends youbora.Adapter{constructor(c){super(c);this.m=c;this.a=new _.Qt;this.g=new _.S("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.ra())&&(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);
3
- return youbora.Util.buildRenditionString(c,d,e)}getIsLive(){return this.m.isLive()}getResource(){const c=this.m.getLoadedSource();return c&&c.url}getBitrate(){return this.j().streamBandwidth}getThroughput(){return this.j().estimatedBandwidth}getPlayrate(){return this.m.getPlaybackRate()}getFramesPerSecond(){var c=this.m.getTrackManager();return c&&(c=c.Fa())?c.frameRate:null}getPlayerName(){return _.ra}getVersion(){return"6.29.0-castlabsadapter-js"}getPlayerVersion(){return _.ea}registerListeners(){this.m&&
4
- this.a&&(this.g.debug("registering listeners"),youbora.Util.logAllEvents(this.m),this.a.on(this.m,_.Qf,this.I.bind(this)),this.a.on(this.m,_.Xd,this.F.bind(this)),this.a.on(this.m,_.tg,this.H.bind(this)),this.a.on(this.m,_.sg,this.G.bind(this)),this.a.on(this.m,_.pc,this.B.bind(this)),this.a.on(this.m,_.Rc,this.C.bind(this)))}unregisterListeners(){this.g.debug(_.xb);_.Xh(this.a)}dispose(){super.dispose()}j(){return this.m.getStats()||_.ss()}w(){return!!this.m.getConfiguration().autoplay}I(c){c=c.detail;
5
- 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();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=
6
- this.m.getDrmInfo();c&&(c=hw(c.keySystem))&&this.plugin.setOptions({"content.drm":c});this.fireJoin()}F(c){!(c=c.detail)||this.h||10003===c.code&&this.plugin.getAdsAdapter()||(c=iw(c,this.m,this.g,this))&&c.severity===_.C&&(this.h=!0)}H(){this.m.isEnded()||(this.l(_.If),this.f(),this.fireSeekBegin())}G(){this.l(_.Hf);this.fireSeekEnd()}B(c){this.g.debug("adsTimeline",c);this.o=(c=c.adsTimeline)&&c.Hb()}C(c){this.g.debug("Casting",c);this.fireCasted()}l(c,...d){this.g.debug(`Reporting "${c}" event to Youbora`,
7
- ...d)}}return new b(a)},kw=function(a){class b extends youbora.Adapter{constructor(c){super(c);this.m=c;this.j=this.a=null;this.f=new _.Qt;this.g=new _.S("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.cb(),this.a.bb(),this.a.Oa()));return c}getBitrate(){return this.a&&this.a.Oa()}getPlayhead(){const c=this.m.getAdsManager();return c&&c.getPosition()}getResource(){return this.a&&
8
- this.a.getMediaUrl()}getTitle(){return this.a&&this.a.getTitle()}getProvider(){return this.a&&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.Pa()){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<
9
- c.getVolume()}getExpectedBreaks(){return this.j&&this.j.getCuePoints().length}getGivenBreaks(){return this.getExpectedBreaks()}getExpectedAds(){return this.a&&this.a.eb()}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(fw,c);return c}getPlayerName(){return _.ra}getVersion(){return"6.29.0-castlabsadsadapter-js"}getPlayerVersion(){return _.ea}registerListeners(){this.m&&
10
- this.f&&(this.f.on(this.m,_.pc,this.M.bind(this)),this.f.on(this.m,_.lc,this.L.bind(this)),this.f.on(this.m,_.hc,this.I.bind(this)),this.f.on(this.m,_.jc,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,_.gc,this.o.bind(this,2)),this.f.on(this.m,_.nc,this.o.bind(this,3)),this.f.on(this.m,_.Vb,this.F.bind(this)),this.f.on(this.m,_.kc,this.K.bind(this)),this.f.on(this.m,_.Xd,this.H.bind(this)),this.f.on(this.m,_.Sb,this.A.bind(this)),
11
- this.f.on(this.m,_.Tb,this.B.bind(this)),this.f.on(this.m,_.Ub,this.C.bind(this)),this.f.on(this.m,_.ic,this.w.bind(this)))}unregisterListeners(){_.Xh(this.f)}dispose(){super.dispose()}M(c){this.g.debug(aw,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(Zv);this.fireBufferBegin()}w(){this.l&&
12
- (this.h(Yv),this.l=!1,this.fireBufferEnd())}o(c){this.h("ad quartile",c);this.fireQuartile(c)}F(){this.h("ad clicked");const c=this.a&&this.a.ob();this.g.debug($v,c);this.fireClick(c)}K(){this.h("ad skipped");this.fireSkip()}A(c){this.a=c.ad;this.h(Xv,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&&iw(c,this.m,this.g,this)}h(c,
13
- ...d){this.g.debug(`Reporting "${c}" event to Youbora`,...d)}}return new b(a)},mw=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.ra())&&(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.getLoadedSource();return b&&b.url}getBitrate(){return this.j().streamBandwidth}getThroughput(){return this.j().estimatedBandwidth}getPlayrate(){return this.player.getPlaybackRate()}getFramesPerSecond(){var b=this.player.getTrackManager();return b&&(b=b.Fa())?b.frameRate:null}getPlayerName(){return _.ra}getVersion(){return"castlabs-adapter-6.29.0-js"}getPlayerVersion(){return _.ea}registerListeners(){const b=
15
- this.w();this.player&&b&&(b.on(this.player,_.Qf,this.K.bind(this)),b.on(this.player,_.Xd,this.H.bind(this)),b.on(this.player,_.If,this.J.bind(this)),b.on(this.player,_.Hf,this.I.bind(this)),b.on(this.player,_.pc,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,_.ag,this.M.bind(this)))}unregisterListeners(){lw.debug(_.xb);_.Xh(this.w())}dispose(){this.unregisterListeners();this.f=this.h=!1;this.a=null}j(){return this.player.getStats()||
16
- _.ss()}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 _.Fs: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:lw.debug(Vv,b)}}A(){this.fireJoin()}H(b){(b=b.detail)&&!this.f&&this.player&&10003!==b.code&&(b=iw(b,this.player,lw,this))&&b.severity===_.C&&(this.f=!0)}J(){this.player.isEnded()||(this.l(_.If),this.fireSeekBegin())}B(b){const c=this.player.getTrackManager();if(!c)return null;let d=null;b===_.Yf&&(d=c.ua());b===_.q&&(d=c.pa());return d?d.language:null}L(){const b=this.B(_.q);this.plugin.setVideoOptions({"content.language":b})}M(){const b=
18
- this.B(_.Yf),c=this.C();this.plugin.setVideoOptions({"content.subtitles":b||c})}w(){this.a||(this.a=new _.Qt);return this.a}I(){this.l(_.Hf);this.fireSeekEnd()}F(b){lw.debug("adsTimeline",b);this.h=(b=b.adsTimeline)&&b.Hb()}G(b){lw.debug("Casting",b);this.fireCasted()}l(b,...c){lw.debug(`Reporting "${b}" event to NPAW`,...c)}C(){const b=this.player.getConfiguration();return b.youbora&&b.youbora.disabledSubtitlesLabel?b.youbora.disabledSubtitlesLabel:"off"}}return a},ow=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.cb(),this.a.bb(),this.a.Oa()));return b}getBitrate(){let b=null;this.a&&(b=this.a.Oa());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.Pa()){case 0:c=b.Preroll;break;case 2:c=b.Postroll;break;case 1:c=b.Midroll}nw.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.getVolume()}getExpectedBreaks(){return this.h&&this.h.getCuePoints().length}getGivenBreaks(){return this.getExpectedBreaks()}getExpectedAds(){return this.a&&this.a.eb()}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);nw.debug(fw,
22
- b);return b}getPlayerName(){return _.ra}getVersion(){return"castlabs-ads-adapter-6.29.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,_.pc,this.R.bind(this)),b.on(this.player,_.lc,this.P.bind(this)),b.on(this.player,_.hc,this.K.bind(this)),b.on(this.player,_.jc,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,_.gc,this.w.bind(this,
23
- 2)),b.on(this.player,_.nc,this.w.bind(this,3)),b.on(this.player,_.Vb,this.H.bind(this)),b.on(this.player,_.kc,this.M.bind(this)),b.on(this.player,_.Xd,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,_.ic,this.T.bind(this)))}unregisterListeners(){_.Xh(this.B())}R(b){nw.debug(aw,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(Zv);this.fireBufferBegin()}T(){this.l=this.getPlayhead();this.A()}A(){this.o&&(this.f(Yv),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.ob();nw.debug($v,b);this.fireClick(b)}M(){this.f("ad skipped");this.fireSkip()}C(b){this.a=b.ad;this.f(Xv,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&&iw(b,this.player,nw,this)}f(b,...c){nw.debug(`Reporting "${b}" event to NPAW`,...c)}}return a},pw=function(a){a.a&&(a.g.info("Removing NPAW Plugins",a.a),a.a.removeAdsAdapter(),a.a.removeAdapter())},qw=function(a,b){if(b.namespace()===_.gd)return a.g.info("NPAW does not report when casting."),!1;const c=b.getConfiguration().youbora;
26
- return _.ih(c)?c.accountCode?_.z(window.NpawPlugin)||_.z(window.NpawPluginAdapters)?(a.g.warn("NPAW SDK not found."),b.onError(new _.H(1,9,9100)),!1):!0:(a.g.warn(Wv),b.onError(new _.H(1,9,9101)),!1):(a.g.warn("NPAW plugin is loaded but not configured. Will do nothing."),!1)},rw=function(a,b){if(b.namespace()===_.gd)return a.g.info("Youbora does not report when casting."),!1;const c=b.getConfiguration().youbora;if(!_.ih(c))return a.g.debug("Youbora plugin is loaded but not configured. Will do nothing."),
27
- !1;if(!c.accountCode)return a.g.warn(Wv),b.onError(new _.H(1,9,9101)),!1;if(_.z(window.youbora))return a.g.warn("Youbora SDK not found."),b.onError(new _.H(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 _.H(1,9,9102)));return!0},sw=a=>(a=a.getConfiguration().youbora)&&a.errorFilter?a.errorFilter:b=>({code:`${b.code}`,
28
- message:b.message,severity:b.severity}),iw=(a,b,c,d)=>{b=sw(b)(a);if(!b)return c.debug("Error not sent to Youbora",a.code,a.message),null;a=10003===a.code?"ad error":_.Xd;b.severity===_.C?(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 lw=new _.S("clpp.npaw.NpawAdapter");var nw=new _.S("clpp.npaw.NpawAdsAdapter");var tw=class extends _.Uv{constructor(){super();this.a=null;this.g=new _.S(bw);this.m=null}kf(a){pw(this);if(this.a=a)this.a.registerAdapterFromClass(this.m,mw()),this.a.registerAdsAdapterFromClass(this.m,ow())}Qh(){return this.a}getAdapter(){return this.a&&this.a.getAdapter()}getAdsAdapter(){return this.a&&this.a.getAdsAdapter()}onPlayerCreated(a){this.m=a;qw(this,a)&&(a=a.getConfiguration().youbora,this.kf(new NpawPlugin(a.accountCode)))}onContentWillLoad(a,b){if(qw(this,a)){a=a.getConfiguration();
29
- var c=a.youbora;void 0===c[dw]&&(c[dw]=b.isLive);void 0===c[ew]&&(c[ew]=b.name);void 0===c.viewerId&&(c.viewerId=a.viewerId);this.a||this.kf(new NpawPlugin(c.accountCode));this.a.setAnalyticsOptions(c)}}onContentLoaded(a){const b={};(a=a.getDrmInfo())&&(a=hw(a.keySystem))&&(b["content.drm"]=a);this.g.info(_.Je,b);this.a.setAnalyticsOptions(b)}onPlayerWillRelease(){}onPlayerWillDestroy(){pw(this);this.a.destroy()}id(){return gw}};_.x(bw,tw);tw.prototype.getAdsAdapter=tw.prototype.getAdsAdapter;
30
- tw.prototype.getAdapter=tw.prototype.getAdapter;tw.prototype.getNpawPlugin=tw.prototype.Qh;tw.prototype.setNpawPlugin=tw.prototype.kf;tw.Id=gw;new _.S(bw);var uw=class extends _.Uv{constructor(){super();this.a=null;this.g=new _.S(cw);this.m=null}lf(a){this.a&&(this.a.removeAdsAdapter(),this.a.removeAdapter());if(this.a=a)this.a.setAdapter(jw(this.m)),this.a.setAdsAdapter(kw(this.m))}getAdapter(){return this.a&&this.a.getAdapter()}getAdsAdapter(){return this.a&&this.a.getAdsAdapter()}onPlayerCreated(a){this.m=a;rw(this,a)&&(a=a.getConfiguration().youbora,this.lf(new youbora.Plugin(a)))}onContentWillLoad(a,b){if(rw(this,a)){a=a.getConfiguration();var c=
31
- a.youbora;void 0===c[dw]&&(c[dw]=b.isLive);void 0===c[ew]&&(c[ew]=b.name);void 0===c.viewerId&&(c.viewerId=a.viewerId);this.a||this.lf(new youbora.Plugin(c));this.a.setOptions(c)}}onPlayerWillRelease(){}onPlayerWillDestroy(){}id(){return gw}};_.x(cw,uw);uw.prototype.getAdsAdapter=uw.prototype.getAdsAdapter;uw.prototype.getAdapter=uw.prototype.getAdapter;uw.prototype.setYouboraPlugin=uw.prototype.lf;uw.Id=gw;_.Wn(new class{create(a){return a.youbora&&a.youbora.v7?new tw:new uw}});};f.call(g, window);
1
+ import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var Pv="Unhandled state",Qv="accountCode key is missing in Youbora config",Rv="ad break start",Sv="ad buffering ended",Tv="ad buffering started",Uv="ad click through url: ",Vv="ad timeline changed",Wv="clpp.npaw.NpawPlugin",Xv="clpp.npaw.YouboraPlugin",Yv="content.isLive",Zv="content.title",$v="is container visible",aw="youbora",bw=function(a){return a.startsWith(_.wd)?"Widevine":a.startsWith(_.sd)?"FairPlay":a.match(/^com\.(microsoft|chromecast)\.playready/)?"PlayReady":a.startsWith(_.Qe)?
2
+ "ClearKey":a.startsWith(_.rd)?"Primetime":a},dw=function(a){class b extends youbora.Adapter{constructor(c){super(c);this.m=c;this.a=new _.Kt;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.ra())&&(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);
3
+ return youbora.Util.buildRenditionString(c,d,e)}getIsLive(){return this.m.isLive()}getResource(){const c=this.m.getLoadedSource();return c&&c.url}getBitrate(){return this.j().streamBandwidth}getThroughput(){return this.j().estimatedBandwidth}getPlayrate(){return this.m.getPlaybackRate()}getFramesPerSecond(){var c=this.m.getTrackManager();return c&&(c=c.Fa())?c.frameRate:null}getPlayerName(){return _.ra}getVersion(){return"6.30.0-castlabsadapter-js"}getPlayerVersion(){return _.ea}registerListeners(){this.m&&
4
+ this.a&&(this.g.debug("registering listeners"),youbora.Util.logAllEvents(this.m),this.a.on(this.m,_.Qf,this.I.bind(this)),this.a.on(this.m,_.Xd,this.F.bind(this)),this.a.on(this.m,_.tg,this.H.bind(this)),this.a.on(this.m,_.sg,this.G.bind(this)),this.a.on(this.m,_.pc,this.B.bind(this)),this.a.on(this.m,_.Sc,this.C.bind(this)))}unregisterListeners(){this.g.debug(_.zb);_.Xh(this.a)}dispose(){super.dispose()}j(){return this.m.getStats()||_.ms()}w(){return!!this.m.getConfiguration().autoplay}I(c){c=c.detail;
5
+ 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();break;case 4:this.w()&&this.f();this.A();this.fireBufferEnd();this.firePause();break;case _.zs: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(Pv,c)}}f(){this.plugin.isInitiated||(this.h=!1,this.fireInit())}A(){var c=
6
+ this.m.getDrmInfo();c&&(c=bw(c.keySystem))&&this.plugin.setOptions({"content.drm":c});this.fireJoin()}F(c){!(c=c.detail)||this.h||10003===c.code&&this.plugin.getAdsAdapter()||(c=cw(c,this.m,this.g,this))&&c.severity===_.D&&(this.h=!0)}H(){this.m.isEnded()||(this.l(_.If),this.f(),this.fireSeekBegin())}G(){this.l(_.Hf);this.fireSeekEnd()}B(c){this.g.debug("adsTimeline",c);this.o=(c=c.adsTimeline)&&c.Ib()}C(c){this.g.debug("Casting",c);this.fireCasted()}l(c,...d){this.g.debug(`Reporting "${c}" event to Youbora`,
7
+ ...d)}}return new b(a)},ew=function(a){class b extends youbora.Adapter{constructor(c){super(c);this.m=c;this.j=this.a=null;this.f=new _.Kt;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.eb(),this.a.cb(),this.a.Pa()));return c}getBitrate(){return this.a&&this.a.Pa()}getPlayhead(){const c=this.m.getAdsManager();return c&&c.getPosition()}getResource(){return this.a&&
8
+ this.a.getMediaUrl()}getTitle(){return this.a&&this.a.getTitle()}getProvider(){return this.a&&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.Qa()){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<
9
+ c.getVolume()}getExpectedBreaks(){return this.j&&this.j.getCuePoints().length}getGivenBreaks(){return this.getExpectedBreaks()}getExpectedAds(){return this.a&&this.a.fb()}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($v,c);return c}getPlayerName(){return _.ra}getVersion(){return"6.30.0-castlabsadsadapter-js"}getPlayerVersion(){return _.ea}registerListeners(){this.m&&
10
+ this.f&&(this.f.on(this.m,_.pc,this.M.bind(this)),this.f.on(this.m,_.lc,this.L.bind(this)),this.f.on(this.m,_.hc,this.I.bind(this)),this.f.on(this.m,_.jc,this.J.bind(this)),this.f.on(this.m,_.Xb,this.G.bind(this)),this.f.on(this.m,_.Yb,this.o.bind(this,1)),this.f.on(this.m,_.gc,this.o.bind(this,2)),this.f.on(this.m,_.nc,this.o.bind(this,3)),this.f.on(this.m,_.Wb,this.F.bind(this)),this.f.on(this.m,_.kc,this.K.bind(this)),this.f.on(this.m,_.Xd,this.H.bind(this)),this.f.on(this.m,_.Tb,this.A.bind(this)),
11
+ this.f.on(this.m,_.Ub,this.B.bind(this)),this.f.on(this.m,_.Vb,this.C.bind(this)),this.f.on(this.m,_.ic,this.w.bind(this)))}unregisterListeners(){_.Xh(this.f)}dispose(){super.dispose()}M(c){this.g.debug(Vv,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(Tv);this.fireBufferBegin()}w(){this.l&&
12
+ (this.h(Sv),this.l=!1,this.fireBufferEnd())}o(c){this.h("ad quartile",c);this.fireQuartile(c)}F(){this.h("ad clicked");const c=this.a&&this.a.pb();this.g.debug(Uv,c);this.fireClick(c)}K(){this.h("ad skipped");this.fireSkip()}A(c){this.a=c.ad;this.h(Rv,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&&cw(c,this.m,this.g,this)}h(c,
13
+ ...d){this.g.debug(`Reporting "${c}" event to Youbora`,...d)}}return new b(a)},gw=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.ra())&&(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.getLoadedSource();return b&&b.url}getBitrate(){return this.j().streamBandwidth}getThroughput(){return this.j().estimatedBandwidth}getPlayrate(){return this.player.getPlaybackRate()}getFramesPerSecond(){var b=this.player.getTrackManager();return b&&(b=b.Fa())?b.frameRate:null}getPlayerName(){return _.ra}getVersion(){return"castlabs-adapter-6.30.0-js"}getPlayerVersion(){return _.ea}registerListeners(){const b=
15
+ this.w();this.player&&b&&(b.on(this.player,_.Qf,this.K.bind(this)),b.on(this.player,_.Xd,this.H.bind(this)),b.on(this.player,_.If,this.J.bind(this)),b.on(this.player,_.Hf,this.I.bind(this)),b.on(this.player,_.pc,this.F.bind(this)),b.on(this.player,_.Sc,this.G.bind(this)),b.on(this.player,_.Kc,this.L.bind(this)),b.on(this.player,_.ag,this.M.bind(this)))}unregisterListeners(){fw.debug(_.zb);_.Xh(this.w())}dispose(){this.unregisterListeners();this.f=this.h=!1;this.a=null}j(){return this.player.getStats()||
16
+ _.ms()}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 _.zs: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:fw.debug(Pv,b)}}A(){this.fireJoin()}H(b){(b=b.detail)&&!this.f&&this.player&&10003!==b.code&&(b=cw(b,this.player,fw,this))&&b.severity===_.D&&(this.f=!0)}J(){this.player.isEnded()||(this.l(_.If),this.fireSeekBegin())}B(b){const c=this.player.getTrackManager();if(!c)return null;let d=null;b===_.Yf&&(d=c.va());b===_.q&&(d=c.pa());return d?d.language:null}L(){const b=this.B(_.q);this.plugin.setVideoOptions({"content.language":b})}M(){const b=
18
+ this.B(_.Yf),c=this.C();this.plugin.setVideoOptions({"content.subtitles":b||c})}w(){this.a||(this.a=new _.Kt);return this.a}I(){this.l(_.Hf);this.fireSeekEnd()}F(b){fw.debug("adsTimeline",b);this.h=(b=b.adsTimeline)&&b.Ib()}G(b){fw.debug("Casting",b);this.fireCasted()}l(b,...c){fw.debug(`Reporting "${b}" event to NPAW`,...c)}C(){const b=this.player.getConfiguration();return b.youbora&&b.youbora.disabledSubtitlesLabel?b.youbora.disabledSubtitlesLabel:"off"}}return a},iw=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.eb(),this.a.cb(),this.a.Pa()));return b}getBitrate(){let b=null;this.a&&(b=this.a.Pa());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.Qa()){case 0:c=b.Preroll;break;case 2:c=b.Postroll;break;case 1:c=b.Midroll}hw.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.getVolume()}getExpectedBreaks(){return this.h&&this.h.getCuePoints().length}getGivenBreaks(){return this.getExpectedBreaks()}getExpectedAds(){return this.a&&this.a.fb()}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);hw.debug($v,
22
+ b);return b}getPlayerName(){return _.ra}getVersion(){return"castlabs-ads-adapter-6.30.0-js"}getPlayerVersion(){return _.ea}B(){this.j||(this.j=new _.Kt);return this.j}registerListeners(){const b=this.B();this.player&&b&&(b.on(this.player,_.pc,this.R.bind(this)),b.on(this.player,_.lc,this.P.bind(this)),b.on(this.player,_.hc,this.K.bind(this)),b.on(this.player,_.jc,this.L.bind(this)),b.on(this.player,_.Xb,this.I.bind(this)),b.on(this.player,_.Yb,this.w.bind(this,1)),b.on(this.player,_.gc,this.w.bind(this,
23
+ 2)),b.on(this.player,_.nc,this.w.bind(this,3)),b.on(this.player,_.Wb,this.H.bind(this)),b.on(this.player,_.kc,this.M.bind(this)),b.on(this.player,_.Xd,this.J.bind(this)),b.on(this.player,_.Tb,this.C.bind(this)),b.on(this.player,_.Ub,this.F.bind(this)),b.on(this.player,_.Vb,this.G.bind(this)),b.on(this.player,_.ic,this.T.bind(this)))}unregisterListeners(){_.Xh(this.B())}R(b){hw.debug(Vv,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(Tv);this.fireBufferBegin()}T(){this.l=this.getPlayhead();this.A()}A(){this.o&&(this.f(Sv),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.pb();hw.debug(Uv,b);this.fireClick(b)}M(){this.f("ad skipped");this.fireSkip()}C(b){this.a=b.ad;this.f(Rv,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&&cw(b,this.player,hw,this)}f(b,...c){hw.debug(`Reporting "${b}" event to NPAW`,...c)}}return a},jw=function(a){a.a&&(a.g.info("Removing NPAW Plugins",a.a),a.a.removeAdsAdapter(),a.a.removeAdapter())},kw=function(a,b){if(b.namespace()===_.hd)return a.g.info("NPAW does not report when casting."),!1;const c=b.getConfiguration().youbora;
26
+ return _.ih(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(Qv),b.onError(new _.I(1,9,9101)),!1):(a.g.warn("NPAW plugin is loaded but not configured. Will do nothing."),!1)},lw=function(a,b){if(b.namespace()===_.hd)return a.g.info("Youbora does not report when casting."),!1;const c=b.getConfiguration().youbora;if(!_.ih(c))return a.g.debug("Youbora plugin is loaded but not configured. Will do nothing."),
27
+ !1;if(!c.accountCode)return a.g.warn(Qv),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},mw=a=>(a=a.getConfiguration().youbora)&&a.errorFilter?a.errorFilter:b=>({code:`${b.code}`,
28
+ message:b.message,severity:b.severity}),cw=(a,b,c,d)=>{b=mw(b)(a);if(!b)return c.debug("Error not sent to Youbora",a.code,a.message),null;a=10003===a.code?"ad error":_.Xd;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 fw=new _.T("clpp.npaw.NpawAdapter");var hw=new _.T("clpp.npaw.NpawAdsAdapter");var nw=class extends _.Ov{constructor(){super();this.a=null;this.g=new _.T(Wv);this.m=null}uf(a){jw(this);if(this.a=a)this.a.registerAdapterFromClass(this.m,gw()),this.a.registerAdsAdapterFromClass(this.m,iw())}Xh(){return this.a}getAdapter(){return this.a&&this.a.getAdapter()}getAdsAdapter(){return this.a&&this.a.getAdsAdapter()}onPlayerCreated(a){this.m=a;kw(this,a)&&(a=a.getConfiguration().youbora,this.uf(new NpawPlugin(a.accountCode)))}onContentWillLoad(a,b){if(kw(this,a)){a=a.getConfiguration();
29
+ var c=a.youbora;void 0===c[Yv]&&(c[Yv]=b.isLive);void 0===c[Zv]&&(c[Zv]=b.name);void 0===c.viewerId&&(c.viewerId=a.viewerId);this.a||this.uf(new NpawPlugin(c.accountCode));this.a.setAnalyticsOptions(c)}}onContentLoaded(a){const b={};(a=a.getDrmInfo())&&(a=bw(a.keySystem))&&(b["content.drm"]=a);this.g.info(_.Je,b);this.a.setAnalyticsOptions(b)}onPlayerWillRelease(){}onPlayerWillDestroy(){jw(this);this.a.destroy()}id(){return aw}};_.x(Wv,nw);nw.prototype.getAdsAdapter=nw.prototype.getAdsAdapter;
30
+ nw.prototype.getAdapter=nw.prototype.getAdapter;nw.prototype.getNpawPlugin=nw.prototype.Xh;nw.prototype.setNpawPlugin=nw.prototype.uf;nw.Id=aw;new _.T(Wv);var ow=class extends _.Ov{constructor(){super();this.a=null;this.g=new _.T(Xv);this.m=null}vf(a){this.a&&(this.a.removeAdsAdapter(),this.a.removeAdapter());if(this.a=a)this.a.setAdapter(dw(this.m)),this.a.setAdsAdapter(ew(this.m))}getAdapter(){return this.a&&this.a.getAdapter()}getAdsAdapter(){return this.a&&this.a.getAdsAdapter()}onPlayerCreated(a){this.m=a;lw(this,a)&&(a=a.getConfiguration().youbora,this.vf(new youbora.Plugin(a)))}onContentWillLoad(a,b){if(lw(this,a)){a=a.getConfiguration();var c=
31
+ a.youbora;void 0===c[Yv]&&(c[Yv]=b.isLive);void 0===c[Zv]&&(c[Zv]=b.name);void 0===c.viewerId&&(c.viewerId=a.viewerId);this.a||this.vf(new youbora.Plugin(c));this.a.setOptions(c)}}onPlayerWillRelease(){}onPlayerWillDestroy(){}id(){return aw}};_.x(Xv,ow);ow.prototype.getAdsAdapter=ow.prototype.getAdsAdapter;ow.prototype.getAdapter=ow.prototype.getAdapter;ow.prototype.setYouboraPlugin=ow.prototype.vf;ow.Id=aw;_.Qn(new class{create(a){return a.youbora&&a.youbora.v7?new nw:new ow}});};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.29.0",
4
+ "version": "6.30.0",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/castlabs/prestoplay-web.git"
package/typings.d.ts CHANGED
@@ -875,6 +875,11 @@ export namespace clpp {
875
875
  * Enables preloading of video assets.
876
876
  */
877
877
  enablePreloading: boolean;
878
+ /**
879
+ * Set to true when using custom playback on SmartTV and iOS to enforce
880
+ * VAST playback (required to play plain VAST without VMAP).
881
+ */
882
+ isVast?: boolean;
878
883
  /**
879
884
  * Timeout (in milliseconds) when loading a video ad media file.
880
885
  * Use -1 for the default of 8 seconds.
@@ -3306,7 +3311,7 @@ export namespace clpp {
3306
3311
  */
3307
3312
  DRM_LICENSE_REQUESTED = "drmlicenserequested",
3308
3313
  /**
3309
- * Triggered when an attempt to autoplay the media was block by the platform.
3314
+ * Triggered when an attempt to autoplay the media was blocked by the platform.
3310
3315
  */
3311
3316
  AUTOPLAY_NOT_ALLOWED = "autoplaynotallowed",
3312
3317
  /**
@@ -3434,6 +3439,11 @@ export namespace clpp {
3434
3439
  * Triggered when status of cast receiver changed.
3435
3440
  */
3436
3441
  CAST_STATUS_CHANGED = "caststatuschanged",
3442
+ /**
3443
+ * Triggered when the cast receiver app goes into the background, or from
3444
+ * background back to foreground.
3445
+ */
3446
+ CAST_VISIBILITY_CHANGED = "castvisibilitychanged",
3437
3447
  /**
3438
3448
  * Triggered when status of AirPlay availability changed.
3439
3449
  */