@castlabs/prestoplay 6.19.1 → 6.20.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 +25 -0
- package/README.md +8 -6
- package/cjs/cl.adobe.js +3 -3
- package/cjs/cl.airplay.js +3 -3
- package/cjs/cl.broadpeak.js +7 -7
- package/cjs/cl.cast.js +108 -108
- package/cjs/cl.conviva.js +33 -33
- package/cjs/cl.core.js +571 -567
- package/cjs/cl.crypto.js +9 -9
- package/cjs/cl.dash.js +77 -77
- package/cjs/cl.externs.js +34 -35
- package/cjs/cl.freewheel.js +21 -20
- package/cjs/cl.hls.js +71 -70
- package/cjs/cl.hlssmpte.js +6 -6
- package/cjs/cl.htmlcue.js +29 -28
- package/cjs/cl.ima.js +24 -24
- package/cjs/cl.mse.js +311 -309
- package/cjs/cl.muxdata.js +15 -15
- package/cjs/cl.onboard.js +3 -3
- package/cjs/cl.persistent.js +13 -13
- package/cjs/cl.playlist.js +6 -6
- package/cjs/cl.sessions.js +16 -16
- package/cjs/cl.simid.js +15 -15
- package/cjs/cl.smooth.js +72 -71
- package/cjs/cl.thumbnails.js +26 -26
- package/cjs/cl.tizen.js +69 -69
- package/cjs/cl.ttml.js +29 -28
- package/cjs/cl.verimatrix.js +5 -5
- package/cjs/cl.vimond.js +13 -12
- package/cjs/cl.vr.js +19 -19
- package/cjs/cl.vtt.js +14 -14
- package/cjs/cl.youbora.js +16 -16
- package/cl.adobe.js +3 -3
- package/cl.airplay.js +3 -3
- package/cl.broadpeak.js +5 -5
- package/cl.cast.js +88 -88
- package/cl.conviva.js +27 -27
- package/cl.core.js +459 -455
- package/cl.crypto.js +9 -9
- package/cl.dash.js +72 -72
- package/cl.externs.js +34 -35
- package/cl.freewheel.js +18 -18
- package/cl.hls.js +74 -74
- package/cl.hlssmpte.js +5 -5
- package/cl.htmlcue.js +26 -25
- package/cl.ima.js +17 -17
- package/cl.mse.js +278 -276
- package/cl.muxdata.js +13 -13
- package/cl.onboard.js +4 -4
- package/cl.persistent.js +10 -10
- package/cl.playlist.js +5 -5
- package/cl.sessions.js +10 -10
- package/cl.simid.js +13 -13
- package/cl.smooth.js +59 -59
- 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 -9
- package/cl.vr.js +14 -14
- package/cl.vtt.js +12 -12
- package/cl.youbora.js +14 -14
- package/clpp.styles.css +0 -8
- package/package.json +1 -1
- package/typings.d.ts +36 -14
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
|
-
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},
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
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.O=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 sv="touchmove",uv="touchstart",wv=function(a,b,c){c*=.5;const d=Math.sqrt(a*a+b*b),e=Math.sin(c);return new vv(a/d*e,b/d*e,0/d*e,Math.cos(c))},xv=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)},yv=function(a,b){isFinite(b)?(a.x*=b,a.y*=b,a.a*=b):(a.x=0,a.y=0,a.a=0)},zv=function(a,b){return a.x*b.x+a.y*b.y+a.a*b.a},Av=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},Bv=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},Dv=function(a){var b=new Cv(0,0,0),c=new Cv(0,0,1);const d=new Cv,e=new Cv,f=new Cv;a=a.a;var g=
|
|
3
|
+
new Cv(0,1,0);f.x=b.x-g.x;f.y=b.y-g.y;f.a=b.a-g.a;g=f.length();yv(f,1/g);c=Av(d,c,f);g=c.length();yv(c,1/g);Av(e,f,d);a[0]=d.x;a[1]=d.y;a[2]=d.a;a[3]=-zv(d,b);a[4]=e.x;a[5]=e.y;a[6]=e.a;a[7]=-zv(e,b);a[8]=f.x;a[9]=f.y;a[10]=f.a;a[11]=-zv(f,b);a[12]=0;a[13]=0;a[14]=0;a[15]=1},Ev=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 _.G(1,9,9004,"Unable to compile GL shader: "+
|
|
4
|
+
a.a.getShaderInfoLog(b));return b},Fv=function(a){a.a&&(a.a.removeEventListener("mousemove",a.A,!1),a.a.removeEventListener(sv,a.A,!1),a.a.removeEventListener("mouseup",a.B,!1),a.a.removeEventListener("touchend",a.B,!1))},Gv=function(a){const b=wv(1,0,a.l*Math.PI/180);xv(wv(0,1,a.j*Math.PI/180),a.O);xv(b,a.R);Dv(a.Y);Bv(a.Z,a.O,a.Y);Bv(a.G,a.R,a.Z)},vv=class{constructor(a,b,c,d){this.x=a||0;this.y=b||0;this.a=c||0;this.f=d||1}};var Cv=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 Hv=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,u,v,y){const A=this.a;A[0]=a;A[4]=b;A[8]=c;A[12]=d;A[1]=e;A[5]=f;A[9]=g;A[13]=h;A[2]=k;A[6]=l;A[10]=m;A[14]=n;A[3]=q;A[7]=u;A[11]=v;A[15]=y;return this}};var Iv=class{constructor(a){this.a=a;this.f=a.createProgram();this.l=Ev(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=Ev(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 _.G(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 Jv=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 Kv=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 Lv={alpha:!1,depth:!0,stencil:!1,antialias:!0,premultipliedAlpha:!1,preserveDrawingBuffer:!1,devicePixelRatio:1},Mv=class extends _.Ru{constructor(){super();this.o=this.w=this.K=this.I=this.C=this.X=this.G=this.f=this.a=this.m=null;this.g=new _.R("clpp.vr");this.H=70;this.V=1;this.M=this.L=!1;this.F=()=>{if(this.a&&this.f){this.f.viewport(0,0,this.a.width,this.a.height);{const a=this.K.a,b=Math.tan(.5*this.H*Math.PI/180);a[0]=1/(this.a.width/this.a.height*b);a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=1/
|
|
7
|
+
b;a[6]=0;a[7]=0;a[8]=0;a[9]=0;a[10]=2E3/-1999.9;a[11]=200/-1999.9;a[12]=0;a[13]=0;a[14]=-1;a[15]=1}}};this.l=this.j=0;this.h={x:0,y:0};this.O=new Hv;this.R=new Hv;this.Y=new Hv;this.Z=new Hv;this.A=this.da.bind(this);this.B=this.ia.bind(this);this.J=this.ba.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&&_.Wg(d))this.H=d;else throw new _.G(1,7,7100,"fieldOfView configuration must be a number");if(void 0!==e&&_.Wg(e)&&0<e)this.V=e;else throw new _.G(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",Lv)||this.a.getContext("experimental-webgl",
|
|
9
|
+
Lv);if(!this.f)throw new _.G(1,9,9003,"Unable to create GL context");this.G=new Hv;Dv(this.G);this.X=new Jv(this.f);this.C=new Iv(this.f);this.I=new Hv;this.K=new Hv;this.o=this.w=null;this.a.addEventListener(_.xf,this.F)}a.addElementToContainer(this.a,!0,!0);a.hideMediaElement();b.vr.attachMouseListener&&(this.a.addEventListener("mousedown",this.J,!1),this.a.addEventListener(uv,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&&(Fv(this),this.a.removeEventListener(_.xf,this.F),this.a.parentElement.removeChild(this.a),this.a.removeEventListener("mousedown",this.J,!1),delete this.a,this.a=null)}onPlayerWillDestroy(){const a=this;return _.w(function*(){a.m=null})}id(){return"vr"}S(){if(this.m&&this.f){var a=this.m.getSurface();if(a&&(a=a.getMedia())&&a.tagName.toLowerCase()===_.t){this.w=requestAnimationFrame(this.S.bind(this));
|
|
11
|
+
var b=this.f;this.o||a.readyState!==a.HAVE_ENOUGH_DATA||(this.o=new Kv(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=Bv(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.X;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)}}}}ba(a){this.g.debug("Mouse Down. Enable VR mouse interaction");a.preventDefault();if(0===a.button||a.type===
|
|
14
|
-
this.B,!1)}da(a){a.preventDefault();var b=a.clientX;let c=a.clientY;a.type===
|
|
15
|
-
_.x("clpp.vr.VrPlugin",
|
|
13
|
+
0,a.h);a=this.o;a.a.bindTexture(a.a.TEXTURE_2D,null);this.C.a.useProgram(null)}}}}ba(a){this.g.debug("Mouse Down. Enable VR mouse interaction");a.preventDefault();if(0===a.button||a.type===uv)a.type===uv?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(sv,this.A,!1),this.a.addEventListener("mouseup",this.B,!1),this.a.addEventListener("touchend",
|
|
14
|
+
this.B,!1)}da(a){a.preventDefault();var b=a.clientX;let c=a.clientY;a.type===sv&&a.touches[0]&&(b=a.touches[0].clientX,c=a.touches[0].clientY);a=this.h.x-b;const d=this.h.y-c;this.h.x=b;this.h.y=c;b=this.V;const {mg:e,ng:f}={mg:a*b*(this.L?-1:1),ng:d*b*(this.M?-1:1)};this.j+=e;this.l+=f;Gv(this)}ia(a){this.g.debug("Mouse Up. Removing mouse interaction listeners");a.preventDefault();Fv(this)}bh(a,b){this.l=b;this.j=a;Gv(this)}Gg(){return{x:this.j,y:this.l}}vh(a){this.H=a;this.F()}};
|
|
15
|
+
_.x("clpp.vr.VrPlugin",Mv);Mv.prototype.setCameraFieldOfView=Mv.prototype.vh;Mv.prototype.getCameraCoordinates=Mv.prototype.Gg;Mv.prototype.moveCamera=Mv.prototype.bh;Mv.Id="vr";_.Hq(new class{create(){return new Mv}});};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 _.G(_.E,2,2008);let c=0,d=[],e;const f=[];let g=!1,h=!1,k=!1,l=null;(new _.
|
|
11
|
-
_.O(q));v&1024&&q.skip(4);v&2048&&(
|
|
12
|
-
b.periodStart+a/this.a)):this.g.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 $u=" The setting will be ignored.",av="VTT parser encountered an invalid VTT setting: ",bv="application/x-subrip",cv="text/srt",dv='text/vtt; codecs\x3d"vtt"',ev='text/vtt; codecs\x3d"wvtt"',fv=function(a){return a.a===a.f.length?null:(a=_.Zi(a,/[^ \t\n]*/gm))?a[0]:null},gv=function(a){_.Zi(a,/[ \t]+/gm)},hv=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},iv=function(a){a=_.Zi(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)},kv=function(a,b,c){let d;if(d=/^align:(start|middle|center|end|left|right)$/.exec(b))b=d[1],"middle"===b?a.textAlign=_.Us:a.textAlign=_.$s[b.toUpperCase()];else if(d=/^vertical:(lr|rl)$/.exec(b))a.writingMode="lr"===d[1]?_.ig:_.jg;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===_.Lf?_.he:b===_.ie||b===_.Sd?
|
|
4
|
+
_.ie:_.bd);else if(d=/^region:(.*)$/.exec(b)){if(b=jv(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=_.at[c[2].toUpperCase()]);else if(c=/^line:(-?\d+)(?:,(start|end|center))?$/.exec(b))a.lineInterpretation=_.Ws,a.line=Number(c[1]),c[2]&&(a.lineAlign=_.at[c[2].toUpperCase()]);else{a=!1;break a}a=!0}return a}return!0},jv=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)},mv=function(a,b,c){let d,e,f;(new _.em).N("payl",_.$l(g=>{d=_.Ei(g)})).N("iden",_.$l(g=>{e=_.Ei(g)})).N("sttg",_.$l(g=>{f=_.Ei(g)})).parse(a);return d?lv(d,e,f,b,c):null},lv=function(a,b,c,d,e){a=new _.Zs(d,e,a,_.tg);b&&(a.id=b);if(c)for(b=new _.$i(c),c=fv(b);c;)kv(a,c,[])||_.B(av,c,$u),gv(b),c=fv(b);return a},nv=class{a(a){a=_.Ei(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+=hv(c)}return _.Ii(b)}},ov=class{create(){return new nv}probe(a,b){return(a===cv||a===bv)&&b===_.Uf}};var pv=class{constructor(a){this.a=a}parseInit(){}parseMedia(a,b){a=_.Ei(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 _.G(_.E,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=iv(new _.$i(d[1]));if(null==a)throw new _.G(_.E,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 _.$i(f.replace(/\n/g," "));d=new _.dt;fv(e);gv(e);for(var g=fv(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,$u);gv(e);g=fv(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 _.$i(l[0]);g=iv(d);const q=_.Zi(d,/[ \t]+--\x3e[ \t]+/g);k=iv(d);if(null==g||null==q||null==k)throw new _.G(_.E,2,2001);g+=h;k+=h;l=l.slice(1).join("\n").trim();g=new _.Zs(g,k,l,_.tg);e&&(g.id=e);gv(d);for(k=fv(d);k;)kv(g,k,c)||_.B(av,k,$u),gv(d),k=fv(d);null!=e&&(g.id=e);c=g}c&&m.push(c)}return{cues:m,styles:f}}};var qv=class extends pv{parseMedia(a,b){return super.parseMedia((new nv).a(a),b)}};var rv=class{constructor(){this.a=null;this.g=new _.R("clpp.vtt.mp4")}parseInit(a){let b=!1;(new _.em).N(_.ze,_.Yl).N(_.Xf,_.Yl).N(_.ue,_.Yl).ca("mdhd",c=>{0===c.version?(c.reader.skip(4),c.reader.skip(4),this.a=_.O(c.reader),c.reader.skip(4)):(c.reader.skip(8),c.reader.skip(8),this.a=_.O(c.reader),c.reader.skip(8));c.reader.skip(4)}).N(_.ye,_.Yl).N(_.Of,_.Yl).ca(_.Qf,_.Zl).N("wvtt",()=>{b=!0}).parse(a);if(!this.a)throw new _.G(_.E,2,2008);if(!b)throw new _.G(_.E,2,2008);}parseMedia(a,b){if(!this.a)throw this.g.error("No init segment for MP4+VTT!"),
|
|
10
|
+
new _.G(_.E,2,2008);let c=0,d=[],e;const f=[];let g=!1,h=!1,k=!1,l=null;(new _.em).N("moof",_.Yl).N("traf",_.Yl).ca("tfdt",q=>{g=!0;c=0===q.version?_.O(q.reader):_.Tl(q.reader)}).ca("tfhd",q=>{var u=q.flags;q=q.reader;q.skip(4);u&1&&q.skip(8);u&2&&q.skip(4);l=u&8?_.O(q):null}).ca("trun",q=>{h=!0;{var u=q.version,v=q.flags;q=q.reader;const y=_.O(q);v&1&&q.skip(4);v&4&&q.skip(4);const A=[];for(let D=0;D<y;D++){const H={duration:null,sampleSize:null,Ke:null};v&256&&(H.duration=_.O(q));v&512&&(H.sampleSize=
|
|
11
|
+
_.O(q));v&1024&&q.skip(4);v&2048&&(H.Ke=0===u?_.O(q):_.Sl(q));A.push(H)}d=A}}).N(_.te,_.$l(q=>{k=!0;e=q})).parse(a);if(!k&&!g&&!h)throw new _.G(_.E,2,2008);a=c;var m=new DataView(e.buffer,e.byteOffset,e.byteLength);m=new _.Rm(m,!1);for(const q of d){const u=q.duration||l,v=q.Ke?c+q.Ke:a;a=v+(u||0);let y=0;do{const A=_.O(m);y+=A;var n=_.O(m);n=_.Xl(n);let D=null;"vttc"===n?8<A&&(D=_.Vl(m,A-8)):("vtte"!==n&&this.g.error("Unknown box "+n+"! Skipping!"),m.skip(A-8));u?D&&f.push(mv(D,b.periodStart+v/this.a,
|
|
12
|
+
b.periodStart+a/this.a)):this.g.error("WVTT sample duration unknown, and no default found!")}while(q.sampleSize&&y<q.sampleSize)}return{cues:f.filter(_.Zh),styles:[]}}};_.x("clpp.vtt.VttComponent",class extends _.qu{constructor(){super();this.j=new ov}f(){_.Es(_.Uf,pv);_.Es(dv,pv);_.Es(ev,pv);_.Es(_.Dc,rv);_.Es(cv,qv);_.Es(bv,qv);_.Wj.push(this.j)}a(){_.Gs(_.Uf);_.Gs(dv);_.Gs(ev);_.Gs(_.Dc);_.Gs(cv);_.Gs(bv);_.Yj(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.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 _.G(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,_.Mf,this.I.bind(this)),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.Db()}C(c){this.g.debug("Casting",c);this.fireCasted()}j(c,...d){this.g.debug(`Reporting "${c}" event to Youbora`,...d)}}return new b(a)};var
|
|
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.
|
|
10
|
-
this.j.getCuePoints().length}getGivenBreaks(){return this.getExpectedBreaks()}getExpectedAds(){return this.a&&this.a.nb()}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("is container visible",c);return c}getPlayerName(){return _.
|
|
11
|
-
this.f&&(this.f.on(this.m,_.
|
|
12
|
-
this.f.on(this.m,_.
|
|
1
|
+
import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var Su="clpp.npaw.YouboraPlugin",Tu="content.isLive",Uu=function(a,b){if(b.namespace()===_.jd)return a.g.info("Youbora does not report when casting."),!1;const c=b.getConfiguration().youbora;if(!_.Ug(c))return a.g.debug("Youbora plugin is loaded but not configured. Will do nothing."),!1;if(!c.accountCode)return a.g.warn("accountCode key is missing in Youbora config"),b.onError(new _.G(1,9,9101)),!1;if(_.z(window.youbora))return a.g.warn("Youbora SDK not found."),b.onError(new _.G(1,9,
|
|
2
|
+
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 _.G(1,9,9102)));return!0},Vu=a=>(a=a.getConfiguration().youbora)&&a.errorFilter?a.errorFilter:b=>({code:`${b.code}`,message:b.message,severity:b.severity}),Wu=(a,b,c,d)=>{b=Vu(b)(a);if(!b)return c.debug("Error not sent to Youbora",a.code,a.message),null;a=10003===
|
|
3
|
+
a.code?"ad error":_.Ud;b.severity===_.E?(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 Xu=a=>{class b extends youbora.Adapter{constructor(c){super(c);this.m=c;this.a=new _.Rs;this.g=new _.R("clpp.npaw.YouboraAdapter");this.h=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.ma())&&(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.20.0-castlabsadapter-js"}getPlayerVersion(){return _.da}registerListeners(){this.m&&this.a&&(this.g.debug("registering listeners"),
|
|
5
|
+
youbora.Util.logAllEvents(this.m),this.a.on(this.m,_.Mf,this.I.bind(this)),this.a.on(this.m,_.Ud,this.F.bind(this)),this.a.on(this.m,_.fg,this.H.bind(this)),this.a.on(this.m,_.eg,this.G.bind(this)),this.a.on(this.m,_.vc,this.B.bind(this)),this.a.on(this.m,_.Yc,this.C.bind(this)))}unregisterListeners(){this.g.debug(_.Pb);_.ph(this.a)}dispose(){super.dispose()}l(){return this.m.getStats()||_.bo()}o(){return!!this.m.getConfiguration().autoplay}I(c){c=c.detail;this.j("state change",c);if(c)switch(c.currentState){case _.qo:this.o()&&
|
|
6
|
+
this.f();break;case _.so:this.f();this.A();this.fireResume();this.fireBufferEnd();break;case _.ro:this.o()&&this.f();this.A();this.fireBufferEnd();this.firePause();break;case _.po:this.fireBufferEnd();this.fireStop();break;case _.ho:this.fireBufferEnd();this.w&&this.plugin.getAdsAdapter()?this.firePause():this.fireStop();break;case _.ko:this.fireBufferBegin();break;default:this.g.debug("Unhandled state",c)}}f(){this.plugin.isInitiated||(this.h=!1,this.fireInit())}A(){var c=this.m.getDrmInfo();c&&
|
|
7
|
+
(c=c.keySystem,(c=c.startsWith(_.xd)?"Widevine":c.startsWith(_.sd)?"FairPlay":c.match(/^com\.(microsoft|chromecast)\.playready/)?"PlayReady":c.startsWith(_.Le)?"ClearKey":c.startsWith(_.rd)?"Primetime":c)&&this.plugin.setOptions({"content.drm":c}));this.fireJoin()}F(c){!(c=c.detail)||this.h||10003===c.code&&this.plugin.getAdsAdapter()||(c=Wu(c,this.m,this.g,this))&&c.severity===_.E&&(this.h=!0)}H(){this.m.isEnded()||(this.j(_.Ef),this.f(),this.fireSeekBegin())}G(){this.j(_.Df);this.fireSeekEnd()}B(c){this.g.debug("adsTimeline",
|
|
8
|
+
c);c=c.adsTimeline;this.w=!!c&&c.Db()}C(c){this.g.debug("Casting",c);this.fireCasted()}j(c,...d){this.g.debug(`Reporting "${c}" event to Youbora`,...d)}}return new b(a)};var Yu=a=>{class b extends youbora.Adapter{constructor(c){super(c);this.m=c;this.j=this.a=null;this.f=new _.Rs;this.g=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.lb(),this.a.kb(),this.a.Za()));return c}getBitrate(){return this.a&&this.a.Za()}getPlayhead(){const c=this.m.getAdsManager();return c&&c.getPosition()}getResource(){return this.a&&this.a.getMediaUrl()}getTitle(){return this.a&&
|
|
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.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.getVolume()}getExpectedBreaks(){return this.j&&
|
|
10
|
+
this.j.getCuePoints().length}getGivenBreaks(){return this.getExpectedBreaks()}getExpectedAds(){return this.a&&this.a.nb()}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("is container visible",c);return c}getPlayerName(){return _.pa}getVersion(){return"6.20.0-castlabsadsadapter-js"}getPlayerVersion(){return _.da}registerListeners(){this.m&&
|
|
11
|
+
this.f&&(this.f.on(this.m,_.vc,this.M.bind(this)),this.f.on(this.m,_.rc,this.L.bind(this)),this.f.on(this.m,_.nc,this.I.bind(this)),this.f.on(this.m,_.pc,this.J.bind(this)),this.f.on(this.m,_.fc,this.G.bind(this)),this.f.on(this.m,_.gc,this.o.bind(this,1)),this.f.on(this.m,_.mc,this.o.bind(this,2)),this.f.on(this.m,_.tc,this.o.bind(this,3)),this.f.on(this.m,_.ec,this.F.bind(this)),this.f.on(this.m,_.qc,this.K.bind(this)),this.f.on(this.m,_.Ud,this.H.bind(this)),this.f.on(this.m,_.bc,this.A.bind(this)),
|
|
12
|
+
this.f.on(this.m,_.cc,this.B.bind(this)),this.f.on(this.m,_.dc,this.C.bind(this)),this.f.on(this.m,_.oc,this.w.bind(this)))}unregisterListeners(){_.ph(this.f)}dispose(){super.dispose()}M(c){this.g.debug("ad timeline changed",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("ad buffering started");
|
|
13
13
|
this.fireBufferBegin()}w(){this.l&&(this.h("ad buffering ended"),this.l=!1,this.fireBufferEnd())}o(c){this.h("ad quartile",c);this.fireQuartile(c)}F(){this.h("ad clicked");const c=this.a&&this.a.xb();this.g.debug("ad click through url: ",c);this.fireClick(c)}K(){this.h("ad skipped");this.fireSkip()}A(c){this.a=c.ad;this.h("ad break start",this.a);this.fireBreakStart()}B(){this.h("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&&Wu(c,this.m,this.g,this)}h(c,...d){this.g.debug(`Reporting "${c}" event to Youbora`,...d)}}return new b(a)};var Zu=class extends _.Ru{constructor(){super();this.a=null;this.g=new _.R(Su);this.m=null}Fe(a){this.a&&(this.a.removeAdsAdapter(),this.a.removeAdapter());if(this.a=a)this.a.setAdapter(Xu(this.m)),this.a.setAdsAdapter(Yu(this.m))}getAdapter(){return this.a&&this.a.getAdapter()}getAdsAdapter(){return this.a&&this.a.getAdsAdapter()}onPlayerCreated(a){this.m=a;Uu(this,a)&&(a=a.getConfiguration().youbora,this.Fe(new youbora.Plugin(a)))}onContentWillLoad(a,b){if(Uu(this,a)){a=a.getConfiguration();var c=
|
|
15
|
+
a.youbora;void 0===c[Tu]&&(c[Tu]=b.isLive);void 0===c["content.title"]&&(c["content.title"]=b.name);void 0===c.viewerId&&(c.viewerId=a.viewerId);this.a||this.Fe(new youbora.Plugin(c));this.a.setOptions(c)}}onPlayerWillRelease(){}onPlayerWillDestroy(){}id(){return"youbora"}};_.x(Su,Zu);Zu.prototype.getAdsAdapter=Zu.prototype.getAdsAdapter;Zu.prototype.getAdapter=Zu.prototype.getAdapter;Zu.prototype.setYouboraPlugin=Zu.prototype.Fe;Zu.Id="youbora";_.Hq(new class{create(){return new Zu}});};f.call(g, window);
|
package/clpp.styles.css
CHANGED
package/package.json
CHANGED
package/typings.d.ts
CHANGED
|
@@ -252,6 +252,16 @@ export namespace clpp {
|
|
|
252
252
|
useSwitchIntervalForInitialSwitch: boolean;
|
|
253
253
|
}
|
|
254
254
|
|
|
255
|
+
/**
|
|
256
|
+
* Configuration section for the Adobe analytics plugin.
|
|
257
|
+
*/
|
|
258
|
+
export type AdobeConfiguration = {
|
|
259
|
+
/**
|
|
260
|
+
* Enables the Adobe analytics plugin.
|
|
261
|
+
*/
|
|
262
|
+
enabled?: boolean;
|
|
263
|
+
}
|
|
264
|
+
|
|
255
265
|
/**
|
|
256
266
|
* Configuration for ads.
|
|
257
267
|
*/
|
|
@@ -1163,6 +1173,10 @@ export namespace clpp {
|
|
|
1163
1173
|
* ABR configuration and settings.
|
|
1164
1174
|
*/
|
|
1165
1175
|
abr?: Partial<clpp.AbrConfiguration>;
|
|
1176
|
+
/**
|
|
1177
|
+
* Adobe analytics plugin configuration.
|
|
1178
|
+
*/
|
|
1179
|
+
adobe?: Partial<clpp.AdobeConfiguration>;
|
|
1166
1180
|
/**
|
|
1167
1181
|
* Ads configuration.
|
|
1168
1182
|
*/
|
|
@@ -1982,7 +1996,7 @@ export namespace clpp {
|
|
|
1982
1996
|
* might be invalid. If true, player adds missing tags and fixes
|
|
1983
1997
|
* timestamps. For now, support is limited to native HLS (Safari).
|
|
1984
1998
|
*/
|
|
1985
|
-
addMissingTimelineCues
|
|
1999
|
+
addMissingTimelineCues?: boolean;
|
|
1986
2000
|
/**
|
|
1987
2001
|
* Defaults to false.
|
|
1988
2002
|
*
|
|
@@ -2386,6 +2400,11 @@ export namespace clpp {
|
|
|
2386
2400
|
* if it is defined in {@link clpp.PlayerConfiguration}.
|
|
2387
2401
|
*/
|
|
2388
2402
|
configurationId?: string;
|
|
2403
|
+
/**
|
|
2404
|
+
* A map containing custom attributes of the EXT-X-DATERANGE HLS tag
|
|
2405
|
+
* (aka client-defined attributes) in case this cue comes from HLS.
|
|
2406
|
+
*/
|
|
2407
|
+
customAttributes?: Record<string, any>;
|
|
2389
2408
|
/**
|
|
2390
2409
|
* The presentation time (in seconds) that the cue should end.
|
|
2391
2410
|
* Allowed values follow the same rules as startTime. It is possible
|
|
@@ -3025,6 +3044,10 @@ export namespace clpp {
|
|
|
3025
3044
|
* Identifies mp4 files
|
|
3026
3045
|
*/
|
|
3027
3046
|
MP4 = "video/mp4",
|
|
3047
|
+
/**
|
|
3048
|
+
* Identifies mp3 files
|
|
3049
|
+
*/
|
|
3050
|
+
MP3 = "audio/mp3",
|
|
3028
3051
|
}
|
|
3029
3052
|
|
|
3030
3053
|
/**
|
|
@@ -3512,10 +3535,9 @@ export namespace clpp {
|
|
|
3512
3535
|
* configuration that contains the castlabs license and all configuration
|
|
3513
3536
|
* properties that will be applied to all playback sessions.
|
|
3514
3537
|
*
|
|
3515
|
-
* @param element The media element or the ID of the
|
|
3516
|
-
*
|
|
3517
|
-
*
|
|
3518
|
-
* player configuration
|
|
3538
|
+
* @param element The media element or the ID of the media element.
|
|
3539
|
+
* @param opt_configuration The global player configuration. It must not contain
|
|
3540
|
+
* the `source` attribute.
|
|
3519
3541
|
* @param opt_viewConfiguration The global player view configuration.
|
|
3520
3542
|
*/
|
|
3521
3543
|
constructor(element: HTMLMediaElement|string, opt_configuration?: clpp.PlayerConfiguration, opt_viewConfiguration?: clpp.PlayerSurfaceConfiguration);
|
|
@@ -3674,9 +3696,11 @@ export namespace clpp {
|
|
|
3674
3696
|
/**
|
|
3675
3697
|
* Tell the player to load given content.
|
|
3676
3698
|
* You may load content by passing a `string`, a {@link clpp.Source}, an array
|
|
3677
|
-
* of sources or player configuration.
|
|
3678
|
-
*
|
|
3679
|
-
*
|
|
3699
|
+
* of sources or player configuration. In case of player configuration it
|
|
3700
|
+
* must not contain the `license` attribute.
|
|
3701
|
+
* If multiple sources are passed to the `load` method, the player will play
|
|
3702
|
+
* the first source which is playable on that platform. Please refer to
|
|
3703
|
+
* the examples below for more details.
|
|
3680
3704
|
* If the player is already playing another source, it will release itself
|
|
3681
3705
|
* first before loading the new source.
|
|
3682
3706
|
*
|
|
@@ -4127,7 +4151,6 @@ export namespace clpp {
|
|
|
4127
4151
|
*/
|
|
4128
4152
|
bandwidth: number|null;
|
|
4129
4153
|
codec: string|null;
|
|
4130
|
-
drmInfo: string|null;
|
|
4131
4154
|
/**
|
|
4132
4155
|
* The height in pixel of this track if this is a video track and
|
|
4133
4156
|
* information about the size is available
|
|
@@ -5630,8 +5653,7 @@ export namespace clpp {
|
|
|
5630
5653
|
* will not be available, but the proxy will still function otherwise.
|
|
5631
5654
|
* @param onResumeLocal Callback function to add specific logic that should be
|
|
5632
5655
|
* executed after session ends. If not provided, default callback
|
|
5633
|
-
* implementation
|
|
5634
|
-
* state.
|
|
5656
|
+
* implementation is used.
|
|
5635
5657
|
*/
|
|
5636
5658
|
constructor(player: clpp.Player, receiverAppId: string, onResumeLocal?: Function);
|
|
5637
5659
|
/**
|
|
@@ -6647,17 +6669,17 @@ export namespace clpp {
|
|
|
6647
6669
|
/**
|
|
6648
6670
|
* Returns the instance of the ad container.
|
|
6649
6671
|
*/
|
|
6650
|
-
getAdContainer(): Element;
|
|
6672
|
+
getAdContainer(): Element|null;
|
|
6651
6673
|
/**
|
|
6652
6674
|
* Returns the instance of the ad display container.
|
|
6653
6675
|
* {@link https://developers.google.com/interactive-media-ads/docs/sdks/html5/client-side/reference/js/google.ima.AdDisplayContainer | google.ima.AdDisplayContainer}
|
|
6654
6676
|
*/
|
|
6655
|
-
getAdDisplayContainer(): any;
|
|
6677
|
+
getAdDisplayContainer(): any|null;
|
|
6656
6678
|
/**
|
|
6657
6679
|
* Returns the instance of the ads loader.
|
|
6658
6680
|
* {@link https://developers.google.com/interactive-media-ads/docs/sdks/html5/client-side/reference/js/google.ima.AdsLoader | google.ima.AdsLoader}
|
|
6659
6681
|
*/
|
|
6660
|
-
getAdsLoader(): any;
|
|
6682
|
+
getAdsLoader(): any|null;
|
|
6661
6683
|
/**
|
|
6662
6684
|
* Check if Client Side IMA SDK is available.
|
|
6663
6685
|
*/
|