@castlabs/prestoplay 6.12.0 → 6.13.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.
- package/CHANGELOG.md +22 -0
- package/cjs/cl.adobe.js +3 -3
- package/cjs/cl.airplay.js +3 -3
- package/cjs/cl.broadpeak.js +6 -6
- package/cjs/cl.cast.js +106 -106
- package/cjs/cl.conviva.js +33 -33
- package/cjs/cl.core.js +504 -505
- package/cjs/cl.crypto.js +9 -9
- package/cjs/cl.dash.js +72 -72
- package/cjs/cl.externs.js +53 -50
- package/cjs/cl.freewheel.js +22 -22
- package/cjs/cl.hls.js +66 -66
- package/cjs/cl.hlssmpte.js +6 -6
- package/cjs/cl.htmlcue.js +30 -30
- package/cjs/cl.ima.js +21 -21
- package/cjs/cl.mse.js +269 -267
- package/cjs/cl.muxdata.js +14 -14
- package/cjs/cl.onboard.js +3 -3
- package/cjs/cl.persistent.js +13 -13
- package/cjs/cl.playlist.js +6 -6
- package/cjs/cl.simid.js +15 -15
- package/cjs/cl.smooth.js +71 -71
- package/cjs/cl.thumbnails.js +26 -24
- package/cjs/cl.tizen.js +68 -68
- package/cjs/cl.ttml.js +28 -28
- package/cjs/cl.verimatrix.js +5 -5
- package/cjs/cl.vimond.js +13 -13
- package/cjs/cl.vr.js +19 -19
- package/cjs/cl.vtt.js +14 -14
- package/cjs/cl.youbora.js +16 -16
- package/cjs/polyfill.min.js +26 -23
- package/cl.adobe.js +3 -3
- package/cl.airplay.js +3 -3
- package/cl.broadpeak.js +5 -5
- package/cl.cast.js +83 -83
- package/cl.conviva.js +27 -27
- package/cl.core.js +416 -416
- package/cl.crypto.js +9 -9
- package/cl.dash.js +67 -67
- package/cl.externs.js +53 -50
- package/cl.freewheel.js +15 -15
- package/cl.hls.js +69 -69
- package/cl.hlssmpte.js +5 -5
- package/cl.htmlcue.js +26 -26
- package/cl.ima.js +15 -15
- package/cl.mse.js +232 -231
- package/cl.muxdata.js +12 -12
- package/cl.onboard.js +4 -4
- package/cl.persistent.js +10 -10
- package/cl.playlist.js +5 -5
- package/cl.simid.js +13 -13
- package/cl.smooth.js +59 -59
- package/cl.thumbnails.js +19 -17
- 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.youbora.js +13 -13
- package/package.json +1 -1
- package/typings.d.ts +82 -13
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 _.H(1,9,9004,"Unable to initialize shader");a.useProgram(this.f);this.g=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.g=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.g={x:0,y:0};this.R=new
|
|
8
|
-
if(void 0!==d&&_.
|
|
9
|
-
|
|
10
|
-
this.w&&cancelAnimationFrame(this.w);this.g.x=0;this.l=this.j=this.g.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 Lt="touchmove",Mt="touchstart",Ot=function(a,b,c){c*=.5;const d=Math.sqrt(a*a+b*b),e=Math.sin(c);return new Nt(a/d*e,b/d*e,0/d*e,Math.cos(c))},Pt=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)},Qt=function(a,b){isFinite(b)?(a.x*=b,a.y*=b,a.a*=b):(a.x=0,a.y=0,a.a=0)},Rt=function(a,b){return a.x*b.x+a.y*b.y+a.a*b.a},St=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},Tt=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},Vt=function(a){var b=new Ut(0,0,0),c=new Ut(0,0,1);const d=new Ut,e=new Ut,f=new Ut;a=a.a;var g=
|
|
3
|
+
new Ut(0,1,0);f.x=b.x-g.x;f.y=b.y-g.y;f.a=b.a-g.a;g=f.length();Qt(f,1/g);c=St(d,c,f);g=c.length();Qt(c,1/g);St(e,f,d);a[0]=d.x;a[1]=d.y;a[2]=d.a;a[3]=-Rt(d,b);a[4]=e.x;a[5]=e.y;a[6]=e.a;a[7]=-Rt(e,b);a[8]=f.x;a[9]=f.y;a[10]=f.a;a[11]=-Rt(f,b);a[12]=0;a[13]=0;a[14]=0;a[15]=1},Wt=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},Xt=function(a){a.a&&(a.a.removeEventListener("mousemove",a.A,!1),a.a.removeEventListener(Lt,a.A,!1),a.a.removeEventListener("mouseup",a.B,!1),a.a.removeEventListener("touchend",a.B,!1))},Yt=function(a){const b=Ot(1,0,a.l*Math.PI/180);Pt(Ot(0,1,a.j*Math.PI/180),a.R);Pt(b,a.T);Vt(a.aa);Tt(a.ba,a.R,a.aa);Tt(a.G,a.T,a.ba)},Nt=class{constructor(a,b,c,d){this.x=a||0;this.y=b||0;this.a=c||0;this.f=d||1}};var Ut=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 Zt=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,q,t,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]=q;A[7]=t;A[11]=v;A[15]=y;return this}};var $t=class{constructor(a){this.a=a;this.f=a.createProgram();this.l=Wt(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=Wt(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.g=a.getUniformLocation(this.f,"Mvpm");a.uniform1i(a.getUniformLocation(this.f,"Texture0"),0);a.useProgram(null)}};var au=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.g=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 bu=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 cu={alpha:!1,depth:!0,stencil:!1,antialias:!0,premultipliedAlpha:!1,preserveDrawingBuffer:!1,devicePixelRatio:1},du=class extends _.jt{constructor(){super();this.o=this.w=this.K=this.I=this.C=this.Z=this.G=this.f=this.a=this.m=null;this.h=new _.R("clpp.vr");this.H=70;this.W=1;this.N=this.M=!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.g={x:0,y:0};this.R=new Zt;this.T=new Zt;this.aa=new Zt;this.ba=new Zt;this.A=this.ja.bind(this);this.B=this.Ga.bind(this);this.J=this.ea.bind(this)}onPlayerCreated(a){this.h.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&&_.Bg(d))this.H=d;else throw new _.H(1,7,7100,"fieldOfView configuration must be a number");if(void 0!==e&&_.Bg(e)&&0<e)this.W=e;else throw new _.H(1,7,7100,"sensitivity configuration must be a positive number");this.M=!!f;this.N=!!c}if(a=a.getSurface())if((d=a.getMedia())&&d.tagName.toLowerCase()===_.w){this.h.info("Initialize VR Surface");if(!this.a){this.a=document.createElement("canvas");this.a.style.width="100%";this.f=this.a.getContext("webgl",cu)||this.a.getContext("experimental-webgl",
|
|
9
|
+
cu);if(!this.f)throw new _.H(1,9,9003,"Unable to create GL context");this.G=new Zt;Vt(this.G);this.Z=new au(this.f);this.C=new $t(this.f);this.I=new Zt;this.K=new Zt;this.o=this.w=null;this.a.addEventListener(_.gf,this.F)}a.addElementToContainer(this.a,!0,!0);a.hideMediaElement();b.vr.attachMouseListener&&(this.a.addEventListener("mousedown",this.J,!1),this.a.addEventListener(Mt,this.J,!1));this.F();this.V()}else this.h.info("No video element found, can not initialize VR plugin");else this.h.info("No surface found, can not initialize VR plugin")}}onPlayerWillRelease(){this.h.info("Releasing VR plugin resources");
|
|
10
|
+
this.w&&cancelAnimationFrame(this.w);this.g.x=0;this.l=this.j=this.g.y=0;this.f&&(delete this.f,this.f=null);this.a&&(Xt(this),this.a.removeEventListener(_.gf,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 _.x(function*(){a.m=null})}id(){return"vr"}V(){if(this.m&&this.f){var a=this.m.getSurface();if(a&&(a=a.getMedia())&&a.tagName.toLowerCase()===_.w){this.w=requestAnimationFrame(this.V.bind(this));
|
|
11
|
+
var b=this.f;this.o||a.readyState!==a.HAVE_ENOUGH_DATA||(this.o=new bu(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=Tt(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.g,!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.Z;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.g);a=this.o;a.a.bindTexture(a.a.TEXTURE_2D,null);this.C.a.useProgram(null)}}}}
|
|
14
|
-
this.B,!1)}ja(a){a.preventDefault();var b=a.clientX;let c=a.clientY;a.type===
|
|
15
|
-
_.z("clpp.vr.VrPlugin"
|
|
13
|
+
0,a.g);a=this.o;a.a.bindTexture(a.a.TEXTURE_2D,null);this.C.a.useProgram(null)}}}}ea(a){this.h.debug("Mouse Down. Enable VR mouse interaction");a.preventDefault();if(0===a.button||a.type===Mt)a.type===Mt?a.touches[0]&&(this.g.x=a.touches[0].clientX,this.g.y=a.touches[0].clientY):(this.g.x=a.clientX,this.g.y=a.clientY),this.h.debug("Mouse Start coordinates:",this.g,a),this.a.addEventListener("mousemove",this.A,!1),this.a.addEventListener(Lt,this.A,!1),this.a.addEventListener("mouseup",this.B,!1),this.a.addEventListener("touchend",
|
|
14
|
+
this.B,!1)}ja(a){a.preventDefault();var b=a.clientX;let c=a.clientY;a.type===Lt&&a.touches[0]&&(b=a.touches[0].clientX,c=a.touches[0].clientY);a=this.g.x-b;const d=this.g.y-c;this.g.x=b;this.g.y=c;b=this.W;const {Sf:e,Tf:f}={Sf:a*b*(this.M?-1:1),Tf:d*b*(this.N?-1:1)};this.j+=e;this.l+=f;Yt(this)}Ga(a){this.h.debug("Mouse Up. Removing mouse interaction listeners");a.preventDefault();Xt(this)}Dg(a,b){this.l=b;this.j=a;Yt(this)}lg(){return{x:this.j,y:this.l}}Rg(a){this.H=a;this.F()}};
|
|
15
|
+
_.z("clpp.vr.VrPlugin",du);du.prototype.setCameraFieldOfView=du.prototype.Rg;du.prototype.getCameraCoordinates=du.prototype.lg;du.prototype.moveCamera=du.prototype.Dg;du.Id="vr";_.ro(new class{create(){return new du}});};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
|
-
_.Tc);else if(d=/^region:(.*)$/.exec(b)){if(b=
|
|
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||_.C("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 _.H(_.G,2,2008);let c=0,d=[],e;const f=[];let g=!1,h=!1,k=!1,l=null;(new _.
|
|
11
|
-
_.P(q));v&1024&&q.skip(4);v&2048&&(E.
|
|
12
|
-
b.periodStart+a/this.a)):this.h.error("WVTT sample duration unknown, and no default found!")}while(q.sampleSize&&y<q.sampleSize)}return{cues:f.filter(_.
|
|
1
|
+
import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var st=" The setting will be ignored.",tt="VTT parser encountered an invalid VTT setting: ",ut="application/x-subrip",vt="text/srt",wt='text/vtt; codecs\x3d"vtt"',xt='text/vtt; codecs\x3d"wvtt"',yt=function(a){return a.a==a.f.length?null:(a=_.ki(a,/[^ \t\n]*/gm))?a[0]:null},zt=function(a){_.ki(a,/[ \t]+/gm)},At=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},Bt=function(a){a=_.ki(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)},Dt=function(a,b,c){let d;if(d=/^align:(start|middle|center|end|left|right)$/.exec(b))b=d[1],"middle"==b?a.textAlign=_.kr:a.textAlign=_.qr[b.toUpperCase()];else if(d=/^vertical:(lr|rl)$/.exec(b))a.writingMode="lr"==d[1]?_.Mf:_.Nf;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==_.de||b==_.qf?_.de:b==_.ee||b==_.Ld?_.ee:
|
|
4
|
+
_.Tc);else if(d=/^region:(.*)$/.exec(b)){if(b=Ct(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=_.rr[c[2].toUpperCase()]);else if(c=/^line:(-?\d+)(?:,(start|end|center))?$/.exec(b))a.lineInterpretation=_.mr,a.line=Number(c[1]),c[2]&&(a.lineAlign=_.rr[c[2].toUpperCase()]);else{a=!1;break a}a=!0}return a}return!0},Ct=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)},Ft=function(a,b,c){let d,e,f;(new _.el).L("payl",_.Zk(g=>{d=_.Qh(g)})).L("iden",_.Zk(g=>{e=_.Qh(g)})).L("sttg",_.Zk(g=>{f=_.Qh(g)})).parse(a);return d?Et(d,e,f,b,c):null},Et=function(a,b,c,d,e){a=new _.pr(d,e,a,_.Zf);b&&(a.id=b);if(c)for(b=new _.li(c),c=yt(b);c;)Dt(a,c,[])||_.C(tt,c,st),zt(b),c=yt(b);return a},Gt=class{a(a){a=_.Qh(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+=At(c)}return _.Uh(b)}},Ht=class{create(){return new Gt}probe(a,b){return(a===vt||a===ut)&&b===_.zf}};var It=class{constructor(a){this.a=a}parseInit(){}parseMedia(a,b){a=_.Qh(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(_.G,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=Bt(new _.li(d[1]));if(null==a)throw new _.H(_.G,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 _.li(f.replace(/\n/g," "));d=new _.ur;yt(e);zt(e);for(var g=yt(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,st);zt(e);g=yt(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 _.li(l[0]);g=Bt(d);const q=_.ki(d,/[ \t]+--\x3e[ \t]+/g);k=Bt(d);if(null==g||null==q||null==k)throw new _.H(_.G,2,2001);g+=h;k+=h;l=l.slice(1).join("\n").trim();g=new _.pr(g,k,l,_.Zf);e&&(g.id=e);zt(d);for(k=yt(d);k;)Dt(g,k,c)||_.C(tt,k,st),zt(d),k=yt(d);null!=e&&(g.id=e);c=g}c&&m.push(c)}return{cues:m,styles:f}}};var Jt=class extends It{parseMedia(a,b){return super.parseMedia((new Gt).a(a),b)}};var Kt=class{constructor(){this.a=null;this.h=new _.R("clpp.vtt.mp4")}parseInit(a){let b=!1;(new _.el).L(_.pe,_.Xk).L(_.Cf,_.Xk).L(_.ke,_.Xk).$("mdhd",c=>{0==c.version?(c.reader.skip(4),c.reader.skip(4),this.a=_.P(c.reader),c.reader.skip(4)):(c.reader.skip(8),c.reader.skip(8),this.a=_.P(c.reader),c.reader.skip(8));c.reader.skip(4)}).L(_.oe,_.Xk).L(_.tf,_.Xk).$(_.vf,_.Yk).L("wvtt",()=>{b=!0}).parse(a);if(!this.a)throw new _.H(_.G,2,2008);if(!b)throw new _.H(_.G,2,2008);}parseMedia(a,b){if(!this.a)throw this.h.error("No init segment for MP4+VTT!"),
|
|
10
|
+
new _.H(_.G,2,2008);let c=0,d=[],e;const f=[];let g=!1,h=!1,k=!1,l=null;(new _.el).L("moof",_.Xk).L("traf",_.Xk).$("tfdt",q=>{g=!0;c=0==q.version?_.P(q.reader):_.Sk(q.reader)}).$("tfhd",q=>{var t=q.flags;q=q.reader;q.skip(4);t&1&&q.skip(8);t&2&&q.skip(4);l=t&8?_.P(q):null}).$("trun",q=>{h=!0;{var t=q.version,v=q.flags;q=q.reader;const y=_.P(q);v&1&&q.skip(4);v&4&&q.skip(4);const A=[];for(let D=0;D<y;D++){const E={duration:null,sampleSize:null,xe:null};v&256&&(E.duration=_.P(q));v&512&&(E.sampleSize=
|
|
11
|
+
_.P(q));v&1024&&q.skip(4);v&2048&&(E.xe=0==t?_.P(q):_.Rk(q));A.push(E)}d=A}}).L(_.je,_.Zk(q=>{k=!0;e=q})).parse(a);if(!k&&!g&&!h)throw new _.H(_.G,2,2008);a=c;var m=new DataView(e.buffer,e.byteOffset,e.byteLength);m=new _.Rl(m,!1);for(const q of d){const t=q.duration||l,v=q.xe?c+q.xe:a;a=v+(t||0);let y=0;do{const A=_.P(m);y+=A;var n=_.P(m);n=_.Wk(n);let D=null;"vttc"==n?8<A&&(D=_.Uk(m,A-8)):("vtte"!=n&&this.h.error("Unknown box "+n+"! Skipping!"),m.skip(A-8));t?D&&f.push(Ft(D,b.periodStart+v/this.a,
|
|
12
|
+
b.periodStart+a/this.a)):this.h.error("WVTT sample duration unknown, and no default found!")}while(q.sampleSize&&y<q.sampleSize)}return{cues:f.filter(_.lh),styles:[]}}};_.z("clpp.vtt.VttComponent",class extends _.Js{constructor(){super();this.j=new Ht}f(){_.Wq[_.zf]=It;_.Wq[wt]=It;_.Wq[xt]=It;_.Wq[_.wc]=Kt;_.Wq[vt]=Jt;_.Wq[ut]=Jt;_.ej.push(this.j)}a(){_.Xq(_.zf);_.Xq(wt);_.Xq(xt);_.Xq(_.wc);_.Xq(vt);_.Xq(ut);_.gj(this.j)}id(){return"subtitles-vtt"}});};f.call(g, window);
|
package/cl.youbora.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
|
-
9100)),!1;"6.8.49"!==youbora.VERSION&&(a.h.warn("Youbora SDK version is not supported. The supported version is 6.8.49, found "+`version ${youbora.VERSION}. Some or all features of YouboraPlugin `+"may not work correctly."),b.onError(new _.H(1,9,9102)));return!0},
|
|
3
|
-
a.code?"ad error":_.
|
|
4
|
-
d,e)}getIsLive(){return this.m.isLive()}getResource(){const c=this.m.getLoadedSource();return c&&c.url}getBitrate(){return this.l().streamBandwidth}getThroughput(){return this.l().estimatedBandwidth}getPlayrate(){return this.m.getPlaybackRate()}getFramesPerSecond(){var c=this.m.getTrackManager();return c&&(c=c.
|
|
5
|
-
youbora.Util.logAllEvents(this.m),this.a.on(this.m,_.
|
|
6
|
-
this.f();break;case _.
|
|
7
|
-
(c=c.keySystem,(c=c.startsWith(_.
|
|
8
|
-
c);c=c.adsTimeline;this.w=!!c&&c.jb()}C(c){this.h.debug("Casting",c);this.fireCasted()}j(c,...d){this.h.debug(`Reporting "${c}" event to Youbora`,...d)}}return new b(a)};var
|
|
1
|
+
import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var kt="clpp.npaw.YouboraPlugin",lt="content.isLive",mt=function(a,b){if(b.namespace()===_.dd)return a.h.info("Youbora does not report when casting."),!1;const c=b.getConfiguration().youbora;if(!_.zg(c))return a.h.warn("Youbora plugin is loaded but not configured. Will do nothing."),!1;if(!c.accountCode)return a.h.warn("accountCode key is missing in Youbora config"),b.onError(new _.H(1,9,9101)),!1;if(_.B(window.youbora))return a.h.warn("Youbora SDK not found."),b.onError(new _.H(1,9,
|
|
2
|
+
9100)),!1;"6.8.49"!==youbora.VERSION&&(a.h.warn("Youbora SDK version is not supported. The supported version is 6.8.49, found "+`version ${youbora.VERSION}. Some or all features of YouboraPlugin `+"may not work correctly."),b.onError(new _.H(1,9,9102)));return!0},nt=a=>(a=a.getConfiguration().youbora)&&a.errorFilter?a.errorFilter:b=>({code:`${b.code}`,message:b.message,severity:b.severity}),ot=(a,b,c,d)=>{b=nt(b)(a);if(!b)return c.debug("Error not sent to Youbora",a.code,a.message),null;a=10003===
|
|
3
|
+
a.code?"ad error":_.Nd;b.severity===_.G?(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 pt=a=>{class b extends youbora.Adapter{constructor(c){super(c);this.m=c;this.a=new _.hr;this.h=new _.R("clpp.npaw.YouboraAdapter");this.g=this.w=!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.ia())&&(c=f.width,d=f.height,e=f.bandwidth);c&&d&&e||(f=this.l(),c=c||f.width,d=d||f.height,e=e||f.streamBandwidth);return youbora.Util.buildRenditionString(c,
|
|
4
|
+
d,e)}getIsLive(){return this.m.isLive()}getResource(){const c=this.m.getLoadedSource();return c&&c.url}getBitrate(){return this.l().streamBandwidth}getThroughput(){return this.l().estimatedBandwidth}getPlayrate(){return this.m.getPlaybackRate()}getFramesPerSecond(){var c=this.m.getTrackManager();return c&&(c=c.Ma())?c.frameRate:null}getPlayerName(){return _.pa}getVersion(){return"6.13.0-castlabsadapter-js"}getPlayerVersion(){return _.da}registerListeners(){this.m&&this.a&&(this.h.debug("registering listeners"),
|
|
5
|
+
youbora.Util.logAllEvents(this.m),this.a.on(this.m,_.rf,this.I.bind(this)),this.a.on(this.m,_.Nd,this.F.bind(this)),this.a.on(this.m,_.Kf,this.H.bind(this)),this.a.on(this.m,_.Jf,this.G.bind(this)),this.a.on(this.m,_.nc,this.B.bind(this)),this.a.on(this.m,_.Pc,this.C.bind(this)))}unregisterListeners(){this.h.debug(_.Jb);_.Tg(this.a)}dispose(){super.dispose()}l(){return this.m.getStats()||_.$m()}o(){return!!this.m.getConfiguration().autoplay}I(c){c=c.detail;this.j("state change",c);if(c)switch(c.currentState){case _.on:this.o()&&
|
|
6
|
+
this.f();break;case _.qn:this.f();this.A();this.fireResume();this.fireBufferEnd();break;case _.pn:this.o()&&this.f();this.A();this.fireBufferEnd();this.firePause();break;case _.nn:this.fireBufferEnd();this.fireStop();break;case _.en:this.fireBufferEnd();this.w&&this.plugin.getAdsAdapter()?this.firePause():this.fireStop();break;case _.hn:this.fireBufferBegin();break;default:this.h.debug("Unhandled state",c)}}f(){this.plugin.isInitiated||(this.g=!1,this.fireInit())}A(){var c=this.m.getDrmInfo();c&&
|
|
7
|
+
(c=c.keySystem,(c=c.startsWith(_.rd)?"Widevine":c.startsWith(_.nd)?"FairPlay":c.match(/^com\.(microsoft|chromecast)\.playready/)?"PlayReady":c.startsWith(_.Ce)?"ClearKey":c.startsWith(_.md)?"Primetime":c)&&this.plugin.setOptions({"content.drm":c}));this.fireJoin()}F(c){!(c=c.detail)||this.g||10003===c.code&&this.plugin.getAdsAdapter()||(c=ot(c,this.m,this.h,this))&&c.severity===_.G&&(this.g=!0)}H(){this.j(_.kf);this.m.isEnded()||(this.f(),this.fireSeekBegin())}G(){this.j(_.jf);this.fireSeekEnd()}B(c){this.h.debug("adsTimeline",
|
|
8
|
+
c);c=c.adsTimeline;this.w=!!c&&c.jb()}C(c){this.h.debug("Casting",c);this.fireCasted()}j(c,...d){this.h.debug(`Reporting "${c}" event to Youbora`,...d)}}return new b(a)};var qt=a=>{class b extends youbora.Adapter{constructor(c){super(c);this.m=c;this.j=this.a=null;this.f=new _.hr;this.h=new _.R("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.vb(),this.a.ub(),this.a.ib()));return c}getBitrate(){return this.a&&this.a.ib()}getPlayhead(){const c=this.m.getAdsManager();return c&&c.getPosition()}getResource(){return this.a&&this.a.getMediaUrl()}getTitle(){return this.a&&
|
|
9
9
|
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.Va()){case 0:d=c.Preroll;break;case 2:d=c.Postroll;break;case 1:d=c.Midroll}this.h.debug("Ad position",d);return d}getIsSkippable(){return this.a&&-1!==this.a.getSkipTimeOffset()}getAudioEnabled(){const c=this.m.getAdsManager();return c&&0<c.getVolume()}getExpectedBreaks(){return this.j&&
|
|
10
|
-
this.j.getCuePoints().length}getGivenBreaks(){return this.getExpectedBreaks()}getExpectedAds(){return this.a&&this.a.xb()}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.h.debug("is container visible",c);return c}getPlayerName(){return _.pa}getVersion(){return"6.
|
|
11
|
-
this.f&&(this.f.on(this.m,_.nc,this.
|
|
12
|
-
this.f.on(this.m,_.Xb,this.B.bind(this)),this.f.on(this.m,_.Yb,this.C.bind(this)),this.f.on(this.m,_.gc,this.w.bind(this)))}unregisterListeners(){_.
|
|
10
|
+
this.j.getCuePoints().length}getGivenBreaks(){return this.getExpectedBreaks()}getExpectedAds(){return this.a&&this.a.xb()}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.h.debug("is container visible",c);return c}getPlayerName(){return _.pa}getVersion(){return"6.13.0-castlabsadsadapter-js"}getPlayerVersion(){return _.da}registerListeners(){this.m&&
|
|
11
|
+
this.f&&(this.f.on(this.m,_.nc,this.N.bind(this)),this.f.on(this.m,_.jc,this.M.bind(this)),this.f.on(this.m,_.fc,this.I.bind(this)),this.f.on(this.m,_.hc,this.J.bind(this)),this.f.on(this.m,_.ac,this.G.bind(this)),this.f.on(this.m,_.bc,this.o.bind(this,1)),this.f.on(this.m,_.ec,this.o.bind(this,2)),this.f.on(this.m,_.lc,this.o.bind(this,3)),this.f.on(this.m,_.$b,this.F.bind(this)),this.f.on(this.m,_.ic,this.K.bind(this)),this.f.on(this.m,_.Nd,this.H.bind(this)),this.f.on(this.m,_.Wb,this.A.bind(this)),
|
|
12
|
+
this.f.on(this.m,_.Xb,this.B.bind(this)),this.f.on(this.m,_.Yb,this.C.bind(this)),this.f.on(this.m,_.gc,this.w.bind(this)))}unregisterListeners(){_.Tg(this.f)}dispose(){super.dispose()}N(c){this.h.debug("ad timeline changed",c);this.j=c.adsTimeline}M(c){this.a=c.ad;this.g("ad start",this.a);this.fireStart();this.fireJoin()}G(){this.g("ad ended");this.fireStop()}I(){this.g("ad pause");this.w();this.firePause()}J(){this.g("ad resume");this.w();this.fireResume()}C(){this.l=!0;this.g("ad buffering started");
|
|
13
13
|
this.fireBufferBegin()}w(){this.l&&(this.g("ad buffering ended"),this.l=!1,this.fireBufferEnd())}o(c){this.g("ad quartile",c);this.fireQuartile(c)}F(){this.g("ad clicked");const c=this.a&&this.a.Lb();this.h.debug("ad click through url: ",c);this.fireClick(c)}K(){this.g("ad skipped");this.fireSkip()}A(c){this.a=c.ad;this.g("ad break start",this.a);this.fireBreakStart()}B(){this.g("ad break stop");this.fireBreakStop();if(this.getPosition()===youbora.Constants.AdPosition.Postroll){const c=this.plugin.getAdapter();
|
|
14
|
-
c&&c.fireStop()}}H(c){(c=c.detail)&&10003===c.code&&
|
|
15
|
-
a.youbora;void 0===c[
|
|
14
|
+
c&&c.fireStop()}}H(c){(c=c.detail)&&10003===c.code&&ot(c,this.m,this.h,this)}g(c,...d){this.h.debug(`Reporting "${c}" event to Youbora`,...d)}}return new b(a)};var rt=class extends _.jt{constructor(){super();this.a=null;this.h=new _.R(kt);this.m=null}te(a){this.a&&(this.a.removeAdsAdapter(),this.a.removeAdapter());if(this.a=a)this.a.setAdapter(pt(this.m)),this.a.setAdsAdapter(qt(this.m))}getAdapter(){return this.a&&this.a.getAdapter()}getAdsAdapter(){return this.a&&this.a.getAdsAdapter()}onPlayerCreated(a){this.m=a;mt(this,a)&&(a=a.getConfiguration().youbora,this.te(new youbora.Plugin(a)))}onContentWillLoad(a,b){if(mt(this,a)){a=a.getConfiguration();var c=
|
|
15
|
+
a.youbora;void 0===c[lt]&&(c[lt]=b.isLive);void 0===c["content.title"]&&(c["content.title"]=b.name);void 0===c.viewerId&&(c.viewerId=a.viewerId);this.a||this.te(new youbora.Plugin(c));this.a.setOptions(c)}}onPlayerWillRelease(){}onPlayerWillDestroy(){}id(){return"youbora"}};_.z(kt,rt);rt.prototype.getAdsAdapter=rt.prototype.getAdsAdapter;rt.prototype.getAdapter=rt.prototype.getAdapter;rt.prototype.setYouboraPlugin=rt.prototype.te;rt.Id="youbora";_.ro(new class{create(){return new rt}});};f.call(g, window);
|
package/package.json
CHANGED
package/typings.d.ts
CHANGED
|
@@ -137,19 +137,19 @@ export namespace clpp {
|
|
|
137
137
|
*/
|
|
138
138
|
id(): string;
|
|
139
139
|
/**
|
|
140
|
-
* Callback that is triggered after content is loaded
|
|
140
|
+
* Callback that is triggered after content is loaded.
|
|
141
141
|
*
|
|
142
142
|
* @param player The player
|
|
143
143
|
* @param optArgs Optional arguments
|
|
144
144
|
*/
|
|
145
145
|
onContentLoaded(player: clpp.Player, ...optArgs: any[]): void|Promise<void>;
|
|
146
146
|
/**
|
|
147
|
-
* Callback that is triggered before content is loaded
|
|
147
|
+
* Callback that is triggered before content is loaded.
|
|
148
148
|
*
|
|
149
149
|
* @param player The player
|
|
150
150
|
* @param source The chosen source
|
|
151
151
|
*/
|
|
152
|
-
onContentWillLoad(player: clpp.Player, source: clpp.Source): void
|
|
152
|
+
onContentWillLoad(player: clpp.Player, source: clpp.Source): void|Promise<void>;
|
|
153
153
|
/**
|
|
154
154
|
* Callback that is triggered when the player is created, i.e. when an instance
|
|
155
155
|
* of {@link clpp.Player} is created.
|
|
@@ -164,7 +164,7 @@ export namespace clpp {
|
|
|
164
164
|
*/
|
|
165
165
|
onPlayerWillDestroy(player: clpp.Player): void;
|
|
166
166
|
/**
|
|
167
|
-
* Callback that is triggered when the player is released
|
|
167
|
+
* Callback that is triggered when the player is released.
|
|
168
168
|
*
|
|
169
169
|
* @param player The player
|
|
170
170
|
*/
|
|
@@ -172,7 +172,7 @@ export namespace clpp {
|
|
|
172
172
|
}
|
|
173
173
|
|
|
174
174
|
/**
|
|
175
|
-
*
|
|
175
|
+
* Implementations of this factory are used to create new player plugins.
|
|
176
176
|
*/
|
|
177
177
|
export interface PlayerPluginFactory {
|
|
178
178
|
/**
|
|
@@ -1313,6 +1313,10 @@ export namespace clpp {
|
|
|
1313
1313
|
* Tizen specific configuration
|
|
1314
1314
|
*/
|
|
1315
1315
|
tizen?: Partial<clpp.TizenConfiguration>;
|
|
1316
|
+
/**
|
|
1317
|
+
* Trick play specific configuration
|
|
1318
|
+
*/
|
|
1319
|
+
trickPlay?: Partial<clpp.TrickPlayConfiguration>;
|
|
1316
1320
|
/**
|
|
1317
1321
|
* TTML component configuration.
|
|
1318
1322
|
*/
|
|
@@ -2318,6 +2322,41 @@ export namespace clpp {
|
|
|
2318
2322
|
value: string;
|
|
2319
2323
|
}
|
|
2320
2324
|
|
|
2325
|
+
/**
|
|
2326
|
+
* Configuration for Trick play.
|
|
2327
|
+
* This is only available for MSE player.
|
|
2328
|
+
*/
|
|
2329
|
+
export type TrickPlayConfiguration = {
|
|
2330
|
+
/**
|
|
2331
|
+
* If enabled,
|
|
2332
|
+
* and the content contains a Trickplay (usually I-frame only) track,
|
|
2333
|
+
* it will be selected during Trickplay playback.
|
|
2334
|
+
*/
|
|
2335
|
+
preferTrickPlayTracks?: boolean;
|
|
2336
|
+
/**
|
|
2337
|
+
* {@link clpp.SpeedUpMode}
|
|
2338
|
+
* Decoder mode
|
|
2339
|
+
* This is the default mode.
|
|
2340
|
+
* The player will play the content at the indicated speed.
|
|
2341
|
+
* Decoder mode is limited in range of playback rates,
|
|
2342
|
+
* support also varies per platforms.
|
|
2343
|
+
* This mode cannot be used for backwards playback.
|
|
2344
|
+
* For playback rates < 0, or other unsupported rates we
|
|
2345
|
+
* fallback to Seek mode by default.
|
|
2346
|
+
* Seek mode
|
|
2347
|
+
* This mode internally pause the playback
|
|
2348
|
+
* and continuously perform seek operations.
|
|
2349
|
+
* This mode is preferable for very high playback rates,
|
|
2350
|
+
* as only a few segments must be downloaded,
|
|
2351
|
+
* also with seeking mode is possible to perform backwards playback.
|
|
2352
|
+
* This mode is also recommended as default for platform
|
|
2353
|
+
* where decoder mode is limited.
|
|
2354
|
+
* With Seek mode playback will continuously stutter,
|
|
2355
|
+
* so hiding the buffering indicator on your app UI is encouraged.
|
|
2356
|
+
*/
|
|
2357
|
+
speedUpMode?: clpp.SpeedUpMode;
|
|
2358
|
+
}
|
|
2359
|
+
|
|
2321
2360
|
/**
|
|
2322
2361
|
* TTML component configuration.
|
|
2323
2362
|
*/
|
|
@@ -2729,6 +2768,23 @@ export namespace clpp {
|
|
|
2729
2768
|
severity: clpp.Error.Severity;
|
|
2730
2769
|
}
|
|
2731
2770
|
|
|
2771
|
+
/**
|
|
2772
|
+
* Speed-up mode to use during trick play.
|
|
2773
|
+
*/
|
|
2774
|
+
export enum SpeedUpMode {
|
|
2775
|
+
/**
|
|
2776
|
+
* Decoder mode
|
|
2777
|
+
* play the content at the indicated speed, using native play rate.
|
|
2778
|
+
*/
|
|
2779
|
+
DECODER = "decoder",
|
|
2780
|
+
/**
|
|
2781
|
+
* Seek mode
|
|
2782
|
+
* will internally pause the playback and continuously perform
|
|
2783
|
+
* seek operations.
|
|
2784
|
+
*/
|
|
2785
|
+
SEEK = "seek",
|
|
2786
|
+
}
|
|
2787
|
+
|
|
2732
2788
|
/**
|
|
2733
2789
|
* Timeline cue types.
|
|
2734
2790
|
*/
|
|
@@ -3600,8 +3656,12 @@ export namespace clpp {
|
|
|
3600
3656
|
setNetworkEngine(engine: clpp.net.NetworkEngine): void;
|
|
3601
3657
|
/**
|
|
3602
3658
|
* Set speed of the playback, where 1 means "normal" speed.
|
|
3659
|
+
* For MSE playback, optional `speedUpMode` can be passed.
|
|
3660
|
+
* {@link clpp.SpeedUpMode}
|
|
3603
3661
|
*
|
|
3604
3662
|
* @param rate The rate
|
|
3663
|
+
* @param opt_mode The speedUpMode
|
|
3664
|
+
* to use during trick play
|
|
3605
3665
|
*
|
|
3606
3666
|
* @example // Play at double speed.
|
|
3607
3667
|
*
|
|
@@ -3614,8 +3674,16 @@ export namespace clpp {
|
|
|
3614
3674
|
* @example // Play at normal speed.
|
|
3615
3675
|
*
|
|
3616
3676
|
* player.setPlaybackRate(1);
|
|
3677
|
+
*
|
|
3678
|
+
* @example // Play at double speed backwards.
|
|
3679
|
+
*
|
|
3680
|
+
* player.setPlaybackRate(-2);
|
|
3681
|
+
*
|
|
3682
|
+
* @example // Play at double speed, using seek mode.
|
|
3683
|
+
*
|
|
3684
|
+
* player.setPlaybackRate(2, 'seek');
|
|
3617
3685
|
*/
|
|
3618
|
-
setPlaybackRate(rate: number): void;
|
|
3686
|
+
setPlaybackRate(rate: number, opt_mode?: clpp.SpeedUpMode): void;
|
|
3619
3687
|
/**
|
|
3620
3688
|
* Use this to set the volume of the video as a value between 0 and 1. Please
|
|
3621
3689
|
* note that on some platforms setting the volume is not permitted. For
|
|
@@ -4166,6 +4234,10 @@ export namespace clpp {
|
|
|
4166
4234
|
* Thumbnail file(s) failed to load.
|
|
4167
4235
|
*/
|
|
4168
4236
|
THUMBNAILS_FAILED_TO_LOAD = 2013,
|
|
4237
|
+
/**
|
|
4238
|
+
* Thumbnail-related error.
|
|
4239
|
+
*/
|
|
4240
|
+
THUMBNAIL_ERROR = 2014,
|
|
4169
4241
|
/**
|
|
4170
4242
|
* Some component tried to read past the end of a buffer. The segment index,
|
|
4171
4243
|
* init segment, or PSSH may be malformed.
|
|
@@ -7823,16 +7895,13 @@ export namespace clpp {
|
|
|
7823
7895
|
* is requested for.
|
|
7824
7896
|
*
|
|
7825
7897
|
* @example // Access the thumbnails plugin and add a thumbnail to a container element,
|
|
7826
|
-
|
|
7898
|
+
scaling the thumbnail to a width of 180 pixels.
|
|
7827
7899
|
*
|
|
7828
|
-
*
|
|
7829
|
-
*
|
|
7830
|
-
* // loaded
|
|
7831
|
-
* let thumbsPlugin = player.getPlugin(clpp.thumbnails.ThumbnailsPlugin.Id);
|
|
7900
|
+
* const container = document.getElementById('thumbnail-container');
|
|
7901
|
+
* const thumbsPlugin = player.getPlugin(clpp.thumbnails.ThumbnailsPlugin.Id);
|
|
7832
7902
|
*
|
|
7833
|
-
* // Get a thumbnail
|
|
7903
|
+
* // Get a thumbnail at 12 seconds
|
|
7834
7904
|
* thumbsPlugin.get(12)
|
|
7835
|
-
* .then(thumb => thumb.load())
|
|
7836
7905
|
* .then(thumb => thumb.element(180))
|
|
7837
7906
|
* .then(container.appendChild);
|
|
7838
7907
|
*/
|