@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.
- package/CHANGELOG.md +29 -0
- package/cjs/cl.adobe.js +3 -3
- package/cjs/cl.airplay.js +3 -3
- package/cjs/cl.broadpeak.js +19 -19
- package/cjs/cl.cast.js +129 -127
- package/cjs/cl.conviva.js +32 -32
- package/cjs/cl.core.js +620 -625
- package/cjs/cl.crypto.js +9 -9
- package/cjs/cl.dash.js +101 -101
- package/cjs/cl.externs.js +45 -41
- package/cjs/cl.freewheel.js +25 -25
- package/cjs/cl.hls.js +76 -76
- package/cjs/cl.hlssmpte.js +6 -6
- package/cjs/cl.htmlcue.js +30 -30
- package/cjs/cl.ima.js +26 -26
- package/cjs/cl.mediatailor.js +3 -3
- package/cjs/cl.mse.js +359 -352
- package/cjs/cl.muxdata.js +14 -14
- package/cjs/cl.onboard.js +4 -4
- package/cjs/cl.persistent.js +14 -14
- package/cjs/cl.playlist.js +6 -6
- package/cjs/cl.simid.js +16 -16
- package/cjs/cl.smooth.js +71 -71
- package/cjs/cl.thumbnails.js +26 -26
- package/cjs/cl.tizen.js +72 -72
- package/cjs/cl.ttml.js +29 -29
- package/cjs/cl.verimatrix.js +5 -5
- package/cjs/cl.vimond.js +12 -12
- package/cjs/cl.vr.js +19 -19
- package/cjs/cl.vtt.js +14 -14
- package/cjs/cl.yospace.js +4 -4
- package/cjs/cl.youbora.js +35 -35
- package/cl.adobe.js +3 -3
- package/cl.airplay.js +3 -3
- package/cl.broadpeak.js +14 -14
- package/cl.cast.js +101 -102
- package/cl.conviva.js +27 -27
- package/cl.core.js +497 -503
- package/cl.crypto.js +9 -9
- package/cl.dash.js +89 -89
- package/cl.externs.js +50 -42
- package/cl.freewheel.js +20 -20
- package/cl.hls.js +82 -82
- package/cl.hlssmpte.js +5 -5
- package/cl.htmlcue.js +26 -26
- package/cl.ima.js +20 -20
- package/cl.mediatailor.js +2 -2
- package/cl.mse.js +305 -303
- package/cl.muxdata.js +13 -13
- package/cl.onboard.js +5 -4
- package/cl.persistent.js +11 -11
- package/cl.playlist.js +5 -5
- package/cl.simid.js +14 -14
- package/cl.smooth.js +61 -61
- package/cl.thumbnails.js +19 -19
- package/cl.tizen.js +57 -57
- package/cl.ttml.js +22 -22
- package/cl.verimatrix.js +4 -4
- package/cl.vimond.js +8 -8
- package/cl.vr.js +14 -14
- package/cl.vtt.js +12 -12
- package/cl.yospace.js +3 -3
- package/cl.youbora.js +30 -30
- package/package.json +1 -1
- 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
|
|
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},
|
|
3
|
-
new
|
|
4
|
-
a.a.getShaderInfoLog(b));return b},
|
|
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
|
|
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
|
|
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
|
|
8
|
-
if(void 0!==d&&_.
|
|
9
|
-
|
|
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&&(
|
|
11
|
-
var b=this.f;this.o||a.readyState!==a.HAVE_ENOUGH_DATA||(this.o=new
|
|
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===
|
|
14
|
-
this.B,!1)}ia(a){a.preventDefault();var b=a.clientX;let c=a.clientY;a.type===
|
|
15
|
-
_.
|
|
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
|
|
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},
|
|
3
|
-
c+60*b+3600*(Number(a[1])||0)},
|
|
4
|
-
_.
|
|
5
|
-
b," The region will be ignored."),null)},
|
|
6
|
-
"WEBVTT\n\n";for(const c of a)b+=
|
|
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 _.
|
|
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,
|
|
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 _.
|
|
10
|
-
new _.I(_.D,2,2008);let c=0,d=[],e;const f=[];let g=!1,h=!1,k=!1,l=null;(new _.
|
|
11
|
-
_.
|
|
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(_.
|
|
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
|
|
2
|
-
break a;case
|
|
3
|
-
const b=this.a;this.a.shutdown();this.a=null;a.trigger(new _.H(_.
|
|
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
|
|
2
|
-
this.m=c;this.a=new _.
|
|
3
|
-
return c&&c.url}getBitrate(){return this.j().streamBandwidth}getThroughput(){return this.j().estimatedBandwidth}getPlayrate(){return this.m.
|
|
4
|
-
_.
|
|
5
|
-
break;case 4:this.w()&&this.f();this.A();this.fireBufferEnd();this.firePause();break;case _.
|
|
6
|
-
10003===c.code&&this.plugin.getAdsAdapter()||(c=
|
|
7
|
-
this.m=c;this.j=this.a=null;this.f=new _.
|
|
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.
|
|
10
|
-
this.f.on(this.m,_.
|
|
11
|
-
_.
|
|
12
|
-
c);this.fireQuartile(c)}F(){this.h("ad clicked");const c=this.a&&this.a.
|
|
13
|
-
|
|
14
|
-
d)}getIsLive(){return this.player.isLive()}getResource(){const b=this.player.
|
|
15
|
-
_.
|
|
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 _.
|
|
17
|
-
break;default:
|
|
18
|
-
this.plugin.setVideoOptions({"content.subtitles":b||c})}w(){this.a||(this.a=new _.
|
|
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.
|
|
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}
|
|
21
|
-
return b&&0<b.getAdVolume()}getExpectedBreaks(){return this.h&&this.h.getCuePoints().length}getGivenBreaks(){return this.getExpectedBreaks()}getExpectedAds(){return this.a&&this.a.
|
|
22
|
-
b);return b}getPlayerName(){return _.
|
|
23
|
-
2)),b.on(this.player,_.
|
|
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(
|
|
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&&
|
|
26
|
-
!1;const c=b.getConfiguration().npaw;return _.
|
|
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},
|
|
28
|
-
b=>({code:`${b.code}`,message:b.message,severity:b.severity}),
|
|
29
|
-
var c=a.npaw;void 0===c[
|
|
30
|
-
|
|
31
|
-
a.youbora;void 0===c[
|
|
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
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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 -
|
|
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
|
/**
|