@castlabs/prestoplay 6.8.0 → 6.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/CHANGELOG.md +66 -0
  2. package/cjs/cl.adobe.js +3 -3
  3. package/cjs/cl.airplay.js +3 -3
  4. package/cjs/cl.broadpeak.js +6 -6
  5. package/cjs/cl.cast.js +111 -110
  6. package/cjs/cl.conviva.js +33 -33
  7. package/cjs/cl.core.js +414 -411
  8. package/cjs/cl.crypto.js +10 -9
  9. package/cjs/cl.dash.js +72 -72
  10. package/cjs/cl.externs.js +36 -37
  11. package/cjs/cl.freewheel.js +24 -24
  12. package/cjs/cl.hls.js +73 -67
  13. package/cjs/cl.hlssmpte.js +6 -6
  14. package/cjs/cl.htmlcue.js +29 -31
  15. package/cjs/cl.ima.js +22 -22
  16. package/cjs/cl.mse.js +275 -274
  17. package/cjs/cl.muxdata.js +14 -15
  18. package/cjs/cl.onboard.js +3 -3
  19. package/cjs/cl.persistent.js +13 -13
  20. package/cjs/cl.playlist.js +6 -6
  21. package/cjs/cl.smooth.js +70 -70
  22. package/cjs/cl.thumbnails.js +24 -24
  23. package/cjs/cl.tizen.js +70 -70
  24. package/cjs/cl.ttml.js +27 -27
  25. package/cjs/cl.verimatrix.js +5 -5
  26. package/cjs/cl.vimond.js +13 -13
  27. package/cjs/cl.vr.js +19 -19
  28. package/cjs/cl.vtt.js +14 -14
  29. package/cjs/cl.youbora.js +19 -19
  30. package/cl.adobe.js +3 -3
  31. package/cl.airplay.js +3 -3
  32. package/cl.broadpeak.js +5 -5
  33. package/cl.cast.js +88 -88
  34. package/cl.conviva.js +27 -27
  35. package/cl.core.js +366 -362
  36. package/cl.crypto.js +9 -9
  37. package/cl.dash.js +66 -66
  38. package/cl.externs.js +36 -37
  39. package/cl.freewheel.js +19 -19
  40. package/cl.hls.js +61 -58
  41. package/cl.hlssmpte.js +5 -5
  42. package/cl.htmlcue.js +26 -25
  43. package/cl.ima.js +17 -17
  44. package/cl.mse.js +238 -239
  45. package/cl.muxdata.js +12 -12
  46. package/cl.onboard.js +4 -4
  47. package/cl.persistent.js +9 -9
  48. package/cl.playlist.js +5 -5
  49. package/cl.smooth.js +59 -58
  50. package/cl.thumbnails.js +17 -17
  51. package/cl.tizen.js +57 -57
  52. package/cl.ttml.js +22 -22
  53. package/cl.verimatrix.js +4 -4
  54. package/cl.vimond.js +8 -8
  55. package/cl.vr.js +14 -14
  56. package/cl.vtt.js +12 -12
  57. package/cl.youbora.js +15 -15
  58. package/package.json +1 -1
  59. package/typings.d.ts +74 -2
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 jq=" The setting will be ignored.",kq="VTT parser encountered an invalid VTT setting: ",lq="application/x-subrip",mq="text/srt",nq='text/vtt; codecs\x3d"vtt"',oq='text/vtt; codecs\x3d"wvtt"',pq=function(a){return a.a==a.f.length?null:(a=_.ah(a,/[^ \t\n]*/gm))?a[0]:null},qq=function(a){_.ah(a,/[ \t]+/gm)},rq=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},sq=function(a){a=_.ah(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)},uq=function(a,b,c){let d;if(d=/^align:(start|middle|center|end|left|right)$/.exec(b))b=d[1],"middle"==b?a.textAlign=_.mo:a.textAlign=_.so[b.toUpperCase()];else if(d=/^vertical:(lr|rl)$/.exec(b))a.writingMode="lr"==d[1]?_.Ee:_.Fe;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==_.ld||b==_.ie?_.ld:b==_.md||b==_.Yc?_.md:
4
- _.tc);else if(d=/^region:(.*)$/.exec(b)){if(b=tq(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=_.to[c[2].toUpperCase()]);else if(c=/^line:(-?\d+)(?:,(start|end|center))?$/.exec(b))a.lineInterpretation=_.oo,a.line=Number(c[1]),c[2]&&(a.lineAlign=_.to[c[2].toUpperCase()]);else{a=!1;break a}a=!0}return a}return!0},tq=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)},wq=function(a,b,c){let d,e,f;(new _.Lj).M("payl",_.Gj(g=>{d=_.Eg(g)})).M("iden",_.Gj(g=>{e=_.Eg(g)})).M("sttg",_.Gj(g=>{f=_.Eg(g)})).parse(a);return d?vq(d,e,f,b,c):null},vq=function(a,b,c,d,e){a=new _.ro(d,e,a);b&&(a.id=b);if(c)for(b=new _.bh(c),c=pq(b);c;)uq(a,c,[])||_.C(kq,c,jq),qq(b),c=pq(b);return a},xq=class{a(a){a=_.Eg(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+=rq(c)}return _.Ig(b)}},yq=class{create(){return new xq}probe(a,b){return(a===mq||a===lq)&&b===_.se}};var zq=class{constructor(a){this.a=a}parseInit(){}parseMedia(a,b){a=_.Eg(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=sq(new _.bh(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 _.bh(f.replace(/\n/g," "));d=new _.wo;pq(e);qq(e);for(var g=pq(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,jq);qq(e);g=pq(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 _.bh(l[0]);g=sq(d);const q=_.ah(d,/[ \t]+--\x3e[ \t]+/g);k=sq(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 _.ro(g,k,l,_.Oe);e&&(g.id=e);qq(d);for(k=pq(d);k;)uq(g,k,c)||_.C(kq,k,jq),qq(d),k=pq(d);null!=e&&(g.id=e);c=g}c&&m.push(c)}return{cues:m,styles:f}}};var Aq=class extends zq{parseMedia(a,b){return super.parseMedia((new xq).a(a),b)}};var Bq=class{constructor(){this.a=null;this.f=new _.P("clpp.vtt.mp4")}parseInit(a){let b=!1;(new _.Lj).M(_.wd,_.Ej).M(_.ve,_.Ej).M(_.rd,_.Ej).Z("mdhd",c=>{0==c.version?(c.reader.skip(4),c.reader.skip(4),this.a=_.N(c.reader),c.reader.skip(4)):(c.reader.skip(8),c.reader.skip(8),this.a=_.N(c.reader),c.reader.skip(8));c.reader.skip(4)}).M(_.vd,_.Ej).M(_.le,_.Ej).Z(_.ne,_.Fj).M("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.f.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 _.Lj).M("moof",_.Ej).M("traf",_.Ej).Z("tfdt",q=>{g=!0;c=0==q.version?_.N(q.reader):_.Aj(q.reader)}).Z("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?_.N(q):null}).Z("trun",q=>{h=!0;{var t=q.version,u=q.flags;q=q.reader;const x=_.N(q);u&1&&q.skip(4);u&4&&q.skip(4);const z=[];for(let E=0;E<x;E++){const D={duration:null,sampleSize:null,ae:null};u&256&&(D.duration=_.N(q));u&512&&(D.sampleSize=
11
- _.N(q));u&1024&&q.skip(4);u&2048&&(D.ae=0==t?_.N(q):_.yj(q));z.push(D)}d=z}}).M(_.qd,_.Gj(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 _.qk(m,!1);for(const q of d){const t=q.duration||l,u=q.ae?c+q.ae:a;a=u+(t||0);let x=0;do{const z=_.N(m);x+=z;var n=_.N(m);n=_.Dj(n);let E=null;"vttc"==n?8<z&&(E=_.Bj(m,z-8)):("vtte"!=n&&this.f.error("Unknown box "+n+"! Skipping!"),m.skip(z-8));t?E&&f.push(wq(E,b.periodStart+u/this.a,
12
- b.periodStart+a/this.a)):this.f.error("WVTT sample duration unknown, and no default found!")}while(q.sampleSize&&x<q.sampleSize)}return{cues:f.filter(_.bg),styles:[]}}};_.A("clpp.vtt.VttComponent",class extends _.Ap{constructor(){super();this.h=new yq}f(){_.Xn[_.se]=zq;_.Xn[nq]=zq;_.Xn[oq]=zq;_.Xn[_.Xb]=Bq;_.Xn[mq]=Aq;_.Xn[lq]=Aq;_.Rh.push(this.h)}a(){_.Yn(_.se);_.Yn(nq);_.Yn(oq);_.Yn(_.Xb);_.Yn(mq);_.Yn(lq);_.Th(this.h)}id(){return _.qe}});};f.call(g, window);
1
+ import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var oq=" The setting will be ignored.",pq="VTT parser encountered an invalid VTT setting: ",qq="application/x-subrip",rq="text/srt",sq='text/vtt; codecs\x3d"vtt"',tq='text/vtt; codecs\x3d"wvtt"',uq=function(a){return a.a==a.f.length?null:(a=_.eh(a,/[^ \t\n]*/gm))?a[0]:null},vq=function(a){_.eh(a,/[ \t]+/gm)},wq=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},xq=function(a){a=_.eh(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)},zq=function(a,b,c){let d;if(d=/^align:(start|middle|center|end|left|right)$/.exec(b))b=d[1],"middle"==b?a.textAlign=_.so:a.textAlign=_.yo[b.toUpperCase()];else if(d=/^vertical:(lr|rl)$/.exec(b))a.writingMode="lr"==d[1]?_.He:_.Ie;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==_.nd||b==_.le?_.nd:b==_.od||b==_.Zc?_.od:
4
+ _.vc);else if(d=/^region:(.*)$/.exec(b)){if(b=yq(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=_.zo[c[2].toUpperCase()]);else if(c=/^line:(-?\d+)(?:,(start|end|center))?$/.exec(b))a.lineInterpretation=_.uo,a.line=Number(c[1]),c[2]&&(a.lineAlign=_.zo[c[2].toUpperCase()]);else{a=!1;break a}a=!0}return a}return!0},yq=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)},Bq=function(a,b,c){let d,e,f;(new _.Qj).L("payl",_.Lj(g=>{d=_.Ig(g)})).L("iden",_.Lj(g=>{e=_.Ig(g)})).L("sttg",_.Lj(g=>{f=_.Ig(g)})).parse(a);return d?Aq(d,e,f,b,c):null},Aq=function(a,b,c,d,e){a=new _.xo(d,e,a,_.Pe);b&&(a.id=b);if(c)for(b=new _.fh(c),c=uq(b);c;)zq(a,c,[])||_.C(pq,c,oq),vq(b),c=uq(b);return a},Cq=class{a(a){a=_.Ig(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+=wq(c)}return _.Mg(b)}},Dq=class{create(){return new Cq}probe(a,b){return(a===rq||a===qq)&&b===_.ve}};var Eq=class{constructor(a){this.a=a}parseInit(){}parseMedia(a,b){a=_.Ig(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=xq(new _.fh(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 _.fh(f.replace(/\n/g," "));d=new _.Co;uq(e);vq(e);for(var g=uq(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,oq);vq(e);g=uq(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 _.fh(l[0]);g=xq(d);const q=_.eh(d,/[ \t]+--\x3e[ \t]+/g);k=xq(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 _.xo(g,k,l,_.Pe);e&&(g.id=e);vq(d);for(k=uq(d);k;)zq(g,k,c)||_.C(pq,k,oq),vq(d),k=uq(d);null!=e&&(g.id=e);c=g}c&&m.push(c)}return{cues:m,styles:f}}};var Fq=class extends Eq{parseMedia(a,b){return super.parseMedia((new Cq).a(a),b)}};var Gq=class{constructor(){this.a=null;this.f=new _.Q("clpp.vtt.mp4")}parseInit(a){let b=!1;(new _.Qj).L(_.yd,_.Jj).L(_.ye,_.Jj).L(_.td,_.Jj).Z("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(_.xd,_.Jj).L(_.oe,_.Jj).Z(_.qe,_.Kj).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.f.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 _.Qj).L("moof",_.Jj).L("traf",_.Jj).Z("tfdt",q=>{g=!0;c=0==q.version?_.P(q.reader):_.Ej(q.reader)}).Z("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}).Z("trun",q=>{h=!0;{var t=q.version,v=q.flags;q=q.reader;const x=_.P(q);v&1&&q.skip(4);v&4&&q.skip(4);const A=[];for(let D=0;D<x;D++){const E={duration:null,sampleSize:null,je:null};v&256&&(E.duration=_.P(q));v&512&&(E.sampleSize=
11
+ _.P(q));v&1024&&q.skip(4);v&2048&&(E.je=0==t?_.P(q):_.Dj(q));A.push(E)}d=A}}).L(_.sd,_.Lj(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 _.wk(m,!1);for(const q of d){const t=q.duration||l,v=q.je?c+q.je:a;a=v+(t||0);let x=0;do{const A=_.P(m);x+=A;var n=_.P(m);n=_.Ij(n);let D=null;"vttc"==n?8<A&&(D=_.Gj(m,A-8)):("vtte"!=n&&this.f.error("Unknown box "+n+"! Skipping!"),m.skip(A-8));t?D&&f.push(Bq(D,b.periodStart+v/this.a,
12
+ b.periodStart+a/this.a)):this.f.error("WVTT sample duration unknown, and no default found!")}while(q.sampleSize&&x<q.sampleSize)}return{cues:f.filter(_.fg),styles:[]}}};_.z("clpp.vtt.VttComponent",class extends _.Fp{constructor(){super();this.h=new Dq}f(){_.co[_.ve]=Eq;_.co[sq]=Eq;_.co[tq]=Eq;_.co[_.Xb]=Gq;_.co[rq]=Fq;_.co[qq]=Fq;_.Wh.push(this.h)}a(){_.eo(_.ve);_.eo(sq);_.eo(tq);_.eo(_.Xb);_.eo(rq);_.eo(qq);_.Yh(this.h)}id(){return _.te}});};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 bq="clpp.npaw.YouboraPlugin",cq="content.isLive",dq=function(a,b){if(b.namespace()===_.zc)return a.f.info("Youbora does not report when casting."),!1;const c=b.getConfiguration().youbora;if(!_.of(c))return a.f.warn("Youbora plugin is loaded but not configured. Will do nothing."),!1;if(!c.accountCode)return a.f.warn("accountCode key is missing in Youbora config"),b.onError(new _.H(1,9,9101)),!1;if(_.B(window.youbora))return a.f.warn("Youbora SDK not found."),b.onError(new _.H(1,9,
2
- 9100)),!1;"6.8.49"!==youbora.VERSION&&(a.f.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},eq=a=>(a=a.getConfiguration().youbora)&&a.errorFilter?a.errorFilter:b=>({code:`${b.code}`,message:b.message,severity:b.severity}),fq=(a,b,c,d)=>{b=eq(b)(a);if(!b)return c.debug("Error not sent to Youbora",a.code,a.message),null;a=10003===
3
- a.code?"ad error":_.$c;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 gq=a=>{class b extends youbora.Adapter{constructor(c){super(c);this.l=c;this.a=new _.jo;this.f=new _.P("clpp.npaw.YouboraAdapter");this.h=this.w=!1;this.registerListeners()}getPlayhead(){return this.getIsLive()?-1:this.l.getPosition()}getDuration(){return this.l.getDuration()}getRendition(){let c,d,e;var f=this.l.getTrackManager();f&&(f=f.ia())&&(c=f.width,d=f.height,e=f.bandwidth);c&&d&&e||(f=this.m(),c=c||f.width,d=d||f.height,e=e||f.streamBandwidth);return youbora.Util.buildRenditionString(c,
4
- d,e)}getIsLive(){return this.l.isLive()}getResource(){const c=this.l.getLoadedSource();return c&&c.url}getBitrate(){return this.m().streamBandwidth}getThroughput(){return this.m().estimatedBandwidth}getPlayrate(){return this.l.getPlaybackRate()}getFramesPerSecond(){var c=this.l.getTrackManager();return c&&(c=c.Ga())?c.frameRate:null}getPlayerName(){return _.ma}getVersion(){return"6.8.0-castlabsadapter-js"}getPlayerVersion(){return _.da}registerListeners(){this.l&&this.a&&(this.f.debug("registering listeners"),
5
- youbora.Util.logAllEvents(this.l),this.a.on(this.l,_.je,this.I.bind(this)),this.a.on(this.l,_.$c,this.F.bind(this)),this.a.on(this.l,_.Ce,this.H.bind(this)),this.a.on(this.l,_.Be,this.G.bind(this)),this.a.on(this.l,_.Nb,this.B.bind(this)),this.a.on(this.l,_.pc,this.C.bind(this)))}unregisterListeners(){this.f.debug(_.ob);_.Mf(this.a)}dispose(){super.dispose()}m(){return this.l.getStats()||_.rl()}o(){return!!this.l.getConfiguration().autoplay}I(c){c=c.detail;this.j("state change",c);if(c)switch(c.currentState){case _.Fl:this.o()&&
6
- this.g();break;case _.Hl:this.g();this.A();this.fireResume();this.fireBufferEnd();break;case _.Gl:this.o()&&this.g();this.A();this.fireBufferEnd();this.firePause();break;case _.El:this.fireBufferEnd();this.fireStop();break;case _.wl:this.fireBufferEnd();this.w&&this.plugin.getAdsAdapter()?this.firePause():this.fireStop();break;case _.zl:this.fireBufferBegin();break;default:this.f.debug("Unhandled state",c)}}g(){this.plugin.isInitiated||(this.h=!1,this.fireInit())}A(){var c=this.l.getDrmInfo();c&&
7
- (c=c.keySystem,(c=c.startsWith(_.Jc)?"Widevine":c.startsWith(_.Hc)?"FairPlay":c.match(/^com\.(microsoft|chromecast)\.playready/)?"PlayReady":c.startsWith(_.Jd)?"ClearKey":c.startsWith(_.Gc)?"Primetime":c)&&this.plugin.setOptions({"content.drm":c}));this.fireJoin()}F(c){!(c=c.detail)||this.h||10003===c.code&&this.plugin.getAdsAdapter()||(c=fq(c,this.l,this.f,this))&&c.severity===_.G&&(this.h=!0)}H(){this.j(_.ee);this.l.isEnded()||(this.g(),this.fireSeekBegin())}G(){this.j(_.de);this.fireSeekEnd()}B(c){this.f.debug("adsTimeline",
8
- c);c=c.adsTimeline;this.w=!!c&&c.fb()}C(c){this.f.debug("Casting",c);this.fireCasted()}j(c,...d){this.f.debug(`Reporting "${c}" event to Youbora`,...d)}}return new b(a)};var hq=a=>{class b extends youbora.Adapter{constructor(c){super(c);this.l=c;this.j=this.a=null;this.f=new _.jo;this.h=new _.P("clpp.npaw.YouboraAdsAdapter");this.registerListeners();this.m=!1}getDuration(){return this.a&&this.a.getDuration()}getRendition(){let c=null;this.a&&(c=youbora.Util.buildRenditionString(this.a.qb(),this.a.pb(),this.a.eb()));return c}getBitrate(){return this.a&&this.a.eb()}getPlayhead(){const c=this.l.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.Qa()){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.l.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.sb()}getGivenAds(){return this.getExpectedAds()}getBreaksTime(){return this.j&&this.j.getCuePoints().map(c=>-1===c?this.l.getDuration():c)}getIsFullscreen(){return this.l.getSurface().isFullscreen()}getIsVisible(){var c=this.l.getSurface().getContainer();c=youbora.Util.calculateAdViewability(c);this.h.debug("is container visible",c);return c}getPlayerName(){return _.ma}getVersion(){return"6.8.0-castlabsadsadapter-js"}getPlayerVersion(){return _.da}registerListeners(){this.l&&
11
- this.f&&(this.f.on(this.l,_.Nb,this.N.bind(this)),this.f.on(this.l,_.Jb,this.L.bind(this)),this.f.on(this.l,_.Fb,this.I.bind(this)),this.f.on(this.l,_.Hb,this.J.bind(this)),this.f.on(this.l,_.Ab,this.G.bind(this)),this.f.on(this.l,_.Bb,this.o.bind(this,1)),this.f.on(this.l,_.Eb,this.o.bind(this,2)),this.f.on(this.l,_.Lb,this.o.bind(this,3)),this.f.on(this.l,_.zb,this.F.bind(this)),this.f.on(this.l,_.Ib,this.K.bind(this)),this.f.on(this.l,_.$c,this.H.bind(this)),this.f.on(this.l,_.wb,this.A.bind(this)),
12
- this.f.on(this.l,_.xb,this.B.bind(this)),this.f.on(this.l,_.yb,this.C.bind(this)),this.f.on(this.l,_.Gb,this.w.bind(this)))}unregisterListeners(){_.Mf(this.f)}dispose(){super.dispose()}N(c){this.h.debug("ad timeline changed",c);this.j=c.adsTimeline}L(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.m=!0;this.g("ad buffering started");
13
- this.fireBufferBegin()}w(){this.m&&(this.g("ad buffering ended"),this.m=!1,this.fireBufferEnd())}o(c){this.g("ad quartile",c);this.fireQuartile(c)}F(){this.g("ad clicked");const c=this.a&&this.a.Fb();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&&fq(c,this.l,this.h,this)}g(c,...d){this.h.debug(`Reporting "${c}" event to Youbora`,...d)}}return new b(a)};var iq=class extends _.aq{constructor(){super();this.a=null;this.f=new _.P(bq);this.l=null}Xd(a){this.a&&(this.a.removeAdsAdapter(),this.a.removeAdapter());if(this.a=a)this.a.setAdapter(gq(this.l)),this.a.setAdsAdapter(hq(this.l))}getAdapter(){return this.a&&this.a.getAdapter()}getAdsAdapter(){return this.a&&this.a.getAdsAdapter()}onPlayerCreated(a){this.l=a;dq(this,a)&&(a=a.getConfiguration().youbora,this.Xd(new youbora.Plugin(a)))}onContentWillLoad(a,b){if(dq(this,a)){a=a.getConfiguration();var c=
15
- a.youbora;void 0===c[cq]&&(c[cq]=b.isLive);void 0===c["content.title"]&&(c["content.title"]=b.name);void 0===c.viewerId&&(c.viewerId=a.viewerId);this.a||this.Xd(new youbora.Plugin(c));this.a.setOptions(c)}}onPlayerWillRelease(){}onPlayerWillDestroy(){}id(){return"youbora"}};_.A(bq,iq);iq.prototype.getAdsAdapter=iq.prototype.getAdsAdapter;iq.prototype.getAdapter=iq.prototype.getAdapter;iq.prototype.setYouboraPlugin=iq.prototype.Xd;iq.Id="youbora";_.Hm(new class{create(){return new iq}});};f.call(g, window);
1
+ import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var gq="clpp.npaw.YouboraPlugin",hq="content.isLive",iq=function(a,b){if(b.namespace()===_.Bc)return a.f.info("Youbora does not report when casting."),!1;const c=b.getConfiguration().youbora;if(!_.pf(c))return a.f.warn("Youbora plugin is loaded but not configured. Will do nothing."),!1;if(!c.accountCode)return a.f.warn("accountCode key is missing in Youbora config"),b.onError(new _.H(1,9,9101)),!1;if(_.B(window.youbora))return a.f.warn("Youbora SDK not found."),b.onError(new _.H(1,9,
2
+ 9100)),!1;"6.8.49"!==youbora.VERSION&&(a.f.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},jq=a=>(a=a.getConfiguration().youbora)&&a.errorFilter?a.errorFilter:b=>({code:`${b.code}`,message:b.message,severity:b.severity}),kq=(a,b,c,d)=>{b=jq(b)(a);if(!b)return c.debug("Error not sent to Youbora",a.code,a.message),null;a=10003===
3
+ a.code?"ad error":_.ad;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 lq=a=>{class b extends youbora.Adapter{constructor(c){super(c);this.l=c;this.a=new _.po;this.f=new _.Q("clpp.npaw.YouboraAdapter");this.h=this.w=!1;this.registerListeners()}getPlayhead(){return this.getIsLive()?-1:this.l.getPosition()}getDuration(){return this.l.getDuration()}getRendition(){let c,d,e;var f=this.l.getTrackManager();f&&(f=f.ia())&&(c=f.width,d=f.height,e=f.bandwidth);c&&d&&e||(f=this.m(),c=c||f.width,d=d||f.height,e=e||f.streamBandwidth);return youbora.Util.buildRenditionString(c,
4
+ d,e)}getIsLive(){return this.l.isLive()}getResource(){const c=this.l.getLoadedSource();return c&&c.url}getBitrate(){return this.m().streamBandwidth}getThroughput(){return this.m().estimatedBandwidth}getPlayrate(){return this.l.getPlaybackRate()}getFramesPerSecond(){var c=this.l.getTrackManager();return c&&(c=c.Ja())?c.frameRate:null}getPlayerName(){return _.ma}getVersion(){return"6.10.0-castlabsadapter-js"}getPlayerVersion(){return _.da}registerListeners(){this.l&&this.a&&(this.f.debug("registering listeners"),
5
+ youbora.Util.logAllEvents(this.l),this.a.on(this.l,_.me,this.I.bind(this)),this.a.on(this.l,_.ad,this.F.bind(this)),this.a.on(this.l,_.Fe,this.H.bind(this)),this.a.on(this.l,_.Ee,this.G.bind(this)),this.a.on(this.l,_.Nb,this.B.bind(this)),this.a.on(this.l,_.rc,this.C.bind(this)))}unregisterListeners(){this.f.debug(_.ob);_.Nf(this.a)}dispose(){super.dispose()}m(){return this.l.getStats()||_.xl()}o(){return!!this.l.getConfiguration().autoplay}I(c){c=c.detail;this.j("state change",c);if(c)switch(c.currentState){case _.Ll:this.o()&&
6
+ this.g();break;case _.Nl:this.g();this.A();this.fireResume();this.fireBufferEnd();break;case _.Ml:this.o()&&this.g();this.A();this.fireBufferEnd();this.firePause();break;case _.Kl:this.fireBufferEnd();this.fireStop();break;case _.Cl:this.fireBufferEnd();this.w&&this.plugin.getAdsAdapter()?this.firePause():this.fireStop();break;case _.Fl:this.fireBufferBegin();break;default:this.f.debug("Unhandled state",c)}}g(){this.plugin.isInitiated||(this.h=!1,this.fireInit())}A(){var c=this.l.getDrmInfo();c&&
7
+ (c=c.keySystem,(c=c.startsWith(_.Lc)?"Widevine":c.startsWith(_.Jc)?"FairPlay":c.match(/^com\.(microsoft|chromecast)\.playready/)?"PlayReady":c.startsWith(_.Ld)?"ClearKey":c.startsWith(_.Ic)?"Primetime":c)&&this.plugin.setOptions({"content.drm":c}));this.fireJoin()}F(c){!(c=c.detail)||this.h||10003===c.code&&this.plugin.getAdsAdapter()||(c=kq(c,this.l,this.f,this))&&c.severity===_.G&&(this.h=!0)}H(){this.j(_.he);this.l.isEnded()||(this.g(),this.fireSeekBegin())}G(){this.j(_.ge);this.fireSeekEnd()}B(c){this.f.debug("adsTimeline",
8
+ c);c=c.adsTimeline;this.w=!!c&&c.hb()}C(c){this.f.debug("Casting",c);this.fireCasted()}j(c,...d){this.f.debug(`Reporting "${c}" event to Youbora`,...d)}}return new b(a)};var mq=a=>{class b extends youbora.Adapter{constructor(c){super(c);this.l=c;this.j=this.a=null;this.f=new _.po;this.h=new _.Q("clpp.npaw.YouboraAdsAdapter");this.registerListeners();this.m=!1}getDuration(){return this.a&&this.a.getDuration()}getRendition(){let c=null;this.a&&(c=youbora.Util.buildRenditionString(this.a.sb(),this.a.rb(),this.a.gb()));return c}getBitrate(){return this.a&&this.a.gb()}getPlayhead(){const c=this.l.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.Sa()){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.l.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.ub()}getGivenAds(){return this.getExpectedAds()}getBreaksTime(){return this.j&&this.j.getCuePoints().map(c=>-1===c?this.l.getDuration():c)}getIsFullscreen(){return this.l.getSurface().isFullscreen()}getIsVisible(){var c=this.l.getSurface().getContainer();c=youbora.Util.calculateAdViewability(c);this.h.debug("is container visible",c);return c}getPlayerName(){return _.ma}getVersion(){return"6.10.0-castlabsadsadapter-js"}getPlayerVersion(){return _.da}registerListeners(){this.l&&
11
+ this.f&&(this.f.on(this.l,_.Nb,this.N.bind(this)),this.f.on(this.l,_.Jb,this.M.bind(this)),this.f.on(this.l,_.Fb,this.I.bind(this)),this.f.on(this.l,_.Hb,this.J.bind(this)),this.f.on(this.l,_.Ab,this.G.bind(this)),this.f.on(this.l,_.Bb,this.o.bind(this,1)),this.f.on(this.l,_.Eb,this.o.bind(this,2)),this.f.on(this.l,_.Lb,this.o.bind(this,3)),this.f.on(this.l,_.zb,this.F.bind(this)),this.f.on(this.l,_.Ib,this.K.bind(this)),this.f.on(this.l,_.ad,this.H.bind(this)),this.f.on(this.l,_.wb,this.A.bind(this)),
12
+ this.f.on(this.l,_.xb,this.B.bind(this)),this.f.on(this.l,_.yb,this.C.bind(this)),this.f.on(this.l,_.Gb,this.w.bind(this)))}unregisterListeners(){_.Nf(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.m=!0;this.g("ad buffering started");
13
+ this.fireBufferBegin()}w(){this.m&&(this.g("ad buffering ended"),this.m=!1,this.fireBufferEnd())}o(c){this.g("ad quartile",c);this.fireQuartile(c)}F(){this.g("ad clicked");const c=this.a&&this.a.Hb();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&&kq(c,this.l,this.h,this)}g(c,...d){this.h.debug(`Reporting "${c}" event to Youbora`,...d)}}return new b(a)};var nq=class extends _.fq{constructor(){super();this.a=null;this.f=new _.Q(gq);this.l=null}ee(a){this.a&&(this.a.removeAdsAdapter(),this.a.removeAdapter());if(this.a=a)this.a.setAdapter(lq(this.l)),this.a.setAdsAdapter(mq(this.l))}getAdapter(){return this.a&&this.a.getAdapter()}getAdsAdapter(){return this.a&&this.a.getAdsAdapter()}onPlayerCreated(a){this.l=a;iq(this,a)&&(a=a.getConfiguration().youbora,this.ee(new youbora.Plugin(a)))}onContentWillLoad(a,b){if(iq(this,a)){a=a.getConfiguration();var c=
15
+ a.youbora;void 0===c[hq]&&(c[hq]=b.isLive);void 0===c["content.title"]&&(c["content.title"]=b.name);void 0===c.viewerId&&(c.viewerId=a.viewerId);this.a||this.ee(new youbora.Plugin(c));this.a.setOptions(c)}}onPlayerWillRelease(){}onPlayerWillDestroy(){}id(){return"youbora"}};_.z(gq,nq);nq.prototype.getAdsAdapter=nq.prototype.getAdsAdapter;nq.prototype.getAdapter=nq.prototype.getAdapter;nq.prototype.setYouboraPlugin=nq.prototype.ee;nq.Id="youbora";_.Nm(new class{create(){return new nq}});};f.call(g, window);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@castlabs/prestoplay",
3
3
  "description": "PRESTOplay Video Player",
4
- "version": "6.8.0",
4
+ "version": "6.10.0",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/castlabs/prestoplay-web.git"
package/typings.d.ts CHANGED
@@ -1346,6 +1346,12 @@ export namespace clpp {
1346
1346
  * generated
1347
1347
  */
1348
1348
  disableContainer: boolean;
1349
+ /**
1350
+ * If true, a performance patch will be applied on webOS 4,5,6 devices
1351
+ * in order to reduce startup time by setting
1352
+ * 'controls' attribute on the video element.
1353
+ */
1354
+ webOSStartupPatch: boolean;
1349
1355
  }
1350
1356
 
1351
1357
  /**
@@ -1576,6 +1582,11 @@ export namespace clpp {
1576
1582
  * Note that in order for this feature to work, NAME attributes of
1577
1583
  * #EXT-X-MEDIA tags must be unique per type (i.e. no two audio tracks
1578
1584
  * share the same name, no two text tracks share the same name).
1585
+ *
1586
+ *
1587
+ * Note that this requires an additional load of the manifest since
1588
+ * this information is currently not exposed directly by Safaris native
1589
+ * player. For this reason, fetching additional meta-data is off by default.
1579
1590
  */
1580
1591
  enableMetadata?: boolean;
1581
1592
  }
@@ -1887,6 +1898,28 @@ export namespace clpp {
1887
1898
  * that the manifest times and the segment media times are in alignment
1888
1899
  */
1889
1900
  ignoreDrift: boolean;
1901
+ /**
1902
+ * Defaults to false.
1903
+ *
1904
+ * The option allows the player to ignore the Managed Media Source (MMS)
1905
+ * `startstreaming` and `endstreaming` events. These events are normally used
1906
+ * as hints from the User Agent to optimize streaming performance in relation
1907
+ * to network conditions and device power management.
1908
+ * When this option is set to `true`, the application will ignore these hints,
1909
+ * enabling continuous streaming regardless of the underlying network
1910
+ * conditions or device constraints. This can be particularly useful in
1911
+ * scenarios where consistent streaming is prioritized over battery and
1912
+ * bandwidth optimization.
1913
+ * Setting this option to `false` (default) will allow the application to
1914
+ * adhere to the `startstreaming` and `endstreaming` events. This is
1915
+ * recommended for general use cases to ensure an optimal balance between
1916
+ * streaming performance and resource utilization.
1917
+ * Note:
1918
+ * Use this option judiciously, as ignoring these hints can impact device
1919
+ * battery life and network efficiency, especially in varying network
1920
+ * conditions or on constrained devices.
1921
+ */
1922
+ ignoreManagedMediaSourceStreamingHints?: boolean;
1890
1923
  /**
1891
1924
  * Defaults to false.
1892
1925
  *
@@ -2151,6 +2184,28 @@ export namespace clpp {
2151
2184
  value: string;
2152
2185
  }
2153
2186
 
2187
+ /**
2188
+ * Information about the wall-clock time of the player's timeline. It can be
2189
+ * used to display the wall-clock time of the playback of a live stream
2190
+ * in the UI.
2191
+ * This is only available for HLS playback via the MSE player.
2192
+ */
2193
+ export type TimelineOffset = {
2194
+ /**
2195
+ * The offset in seconds that can be added to timeline position and seek
2196
+ * range in order to get the wall-clock time for these values.
2197
+ */
2198
+ offsetDateTime: number;
2199
+ /**
2200
+ * The wall-clock time in seconds of the initial start of the seek range.
2201
+ * (Seek range changes during live playback as new segments become available
2202
+ * and old ones stop being available. This value refers to the seek range
2203
+ * at the very beginning of playback of the stream.) This value is taken
2204
+ * directly from the EXT-X-PROGRAM-DATE-TIME HLS tag.
2205
+ */
2206
+ seekRangeStartDateTime: number;
2207
+ }
2208
+
2154
2209
  /**
2155
2210
  * Conviva plugin configuration.
2156
2211
  */
@@ -3159,6 +3214,12 @@ export namespace clpp {
3159
3214
  * Returns an array of timeline cues.
3160
3215
  */
3161
3216
  getTimelineCues(): Array<clpp.TimelineCue>;
3217
+ /**
3218
+ * Returns the timeline offset for live HLS streams when MSE Player is used.
3219
+ * The timeline offset is based on the value of the EXT-X-PROGRAM-DATE-TIME
3220
+ * tag.
3221
+ */
3222
+ getTimelineOffset(): clpp.TimelineOffset|null;
3162
3223
  /**
3163
3224
  * Returns track manager.
3164
3225
  */
@@ -3701,12 +3762,21 @@ export namespace clpp {
3701
3762
  label: string|null;
3702
3763
  /**
3703
3764
  * The language associated with this track.
3765
+ * This value is normalized - language part is always lowercase
3766
+ * and translated to ISO-639-1 if possible.
3704
3767
  */
3705
3768
  language: string|null;
3706
3769
  /**
3707
3770
  * The MIME type of this track.
3708
3771
  */
3709
3772
  mimeType: string|null;
3773
+ /**
3774
+ * The original language manifest value associated with this track.
3775
+ * Language value of the track, as it is present in the manifest.
3776
+ * This is the exact value provided in the manifest;
3777
+ * for normalized value use `language` property.
3778
+ */
3779
+ originalLanguage: string|null;
3710
3780
  /**
3711
3781
  * Renditions of this track.
3712
3782
  */
@@ -7352,9 +7422,11 @@ export namespace clpp {
7352
7422
  * Creates a DataViewReader, which abstracts a DataView object.
7353
7423
  *
7354
7424
  * @param dataView The data view
7355
- * @param opt_littleEndian Read data as little endian
7425
+ * @param endian Endianness,
7426
+ * by default little endian. True for little endian, false
7427
+ * for big endian.
7356
7428
  */
7357
- constructor(dataView: DataView, opt_littleEndian?: boolean);
7429
+ constructor(dataView: DataView, endian?: boolean);
7358
7430
 
7359
7431
  }
7360
7432
  }