@castlabs/prestoplay 6.6.0 → 6.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/CHANGELOG.md +17 -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 +110 -110
  6. package/cjs/cl.conviva.js +33 -33
  7. package/cjs/cl.core.js +406 -406
  8. package/cjs/cl.crypto.js +8 -8
  9. package/cjs/cl.dash.js +71 -71
  10. package/cjs/cl.externs.js +17 -6
  11. package/cjs/cl.freewheel.js +24 -24
  12. package/cjs/cl.hls.js +49 -48
  13. package/cjs/cl.hlssmpte.js +6 -6
  14. package/cjs/cl.htmlcue.js +30 -30
  15. package/cjs/cl.ima.js +22 -22
  16. package/cjs/cl.mse.js +256 -257
  17. package/cjs/cl.muxdata.js +12 -12
  18. package/cjs/cl.onboard.js +3 -3
  19. package/cjs/cl.persistent.js +14 -14
  20. package/cjs/cl.playlist.js +6 -6
  21. package/cjs/cl.smooth.js +71 -70
  22. package/cjs/cl.thumbnails.js +24 -24
  23. package/cjs/cl.tizen.js +71 -71
  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 +20 -20
  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 +357 -356
  36. package/cl.crypto.js +8 -8
  37. package/cl.dash.js +66 -66
  38. package/cl.externs.js +17 -6
  39. package/cl.freewheel.js +19 -19
  40. package/cl.hls.js +40 -40
  41. package/cl.hlssmpte.js +5 -5
  42. package/cl.htmlcue.js +25 -25
  43. package/cl.ima.js +16 -16
  44. package/cl.mse.js +199 -200
  45. package/cl.muxdata.js +8 -8
  46. package/cl.onboard.js +2 -2
  47. package/cl.persistent.js +9 -9
  48. package/cl.playlist.js +4 -4
  49. package/cl.smooth.js +59 -58
  50. package/cl.thumbnails.js +16 -16
  51. package/cl.tizen.js +57 -57
  52. package/cl.ttml.js +12 -12
  53. package/cl.verimatrix.js +4 -4
  54. package/cl.vimond.js +8 -8
  55. package/cl.vr.js +13 -13
  56. package/cl.vtt.js +11 -11
  57. package/cl.youbora.js +15 -15
  58. package/package.json +5 -1
  59. package/typings.d.ts +100 -96
package/cl.hls.js CHANGED
@@ -1,40 +1,40 @@
1
- import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var Mz="CLOSED-CAPTIONS",Nz="Could not parse MP4 segment start time.",Oz="EXT-X-BYTERANGE",Pz="EXT-X-DISCONTINUITY",Qz="EXT-X-DISCONTINUITY-SEQUENCE",Rz="EXT-X-ENDLIST",Sz="EXT-X-MEDIA-SEQUENCE",Tz="EXT-X-PART-INF",Uz="EXT-X-PLAYLIST-TYPE",Vz="EXT-X-PRELOAD-HINT",Wz="EXT-X-SERVER-CONTROL",Xz="EXT-X-STREAM-INF",Yz="EXT-X-TARGETDURATION",Zz="EXTINF",$z="Guessing audio-only",aA="SAMPLE-AES-CTR",bA="SUBTITLES",cA="application/vnd.apple.mpegurl",dA=function(a,b){a=a.getAttribute(b);if(!a)throw new _.H(_.F,
2
- 4,4023,b);return a.value},eA=function(a){if(1>a.a)throw _.yj();--a.a},fA=function(a,b){return a.filter(c=>c.name==b)},gA=function(a,b){return a.filter(c=>dA(c,"TYPE")===b)},hA=function(a,b){a=fA(a,b);return a.length?a[0]:null},iA=function(a,b){return _.wu([a],[b])[0]},jA=function(a,b){return _.Yg(a.a++,b)},nA=function(a,b,c,d){const e=[];let f=[],g=[];c.forEach(h=>{/^(#EXT)/.test(h)?(h=jA(a,h),kA.includes(h.name)?d.push(h):lA.includes(h.name)?"EXT-X-PART"===h.name?g.push(h):h.name===Vz&&"PART"===
3
- _.sg(h,"TYPE")&&g.push(h):f.push(h)):/^#(?!EXT)/m.test(h)||(h=iA(b,h.trim()),e.push(new mA(h,f,g)),f=[],g=[])});g.length&&e.push(new mA(null,f,g));return e},qA=function(a,b,c){b=_.Fg(b);b=b.replace(/\r\n|\r(?=[^\n]|$)/gm,"\n").trim();const d=b.split(/\n+/m);if(!/^#EXTM3U($|[ \t\n])/m.test(d[0]))throw new _.H(_.F,4,4015);b=0;let e=!0;for(var f of d)if(f=f.trim(),!f.length||/^#(?!EXT)/m.test(f)||e)e=!1;else{var g=jA(a,f);--a.a;if(kA.includes(g.name)){b=1;break}else g.name==Xz&&(e=!0)}f=[];e=!0;for(var h of _.yu(d)){let {Wc:k,
4
- item:l,next:m}=h;l=l.trim();if(!l.length||/^#(?!EXT)/m.test(l)||e)e=!1;else{g=jA(a,l);if(oA.includes(g.name)){if(1!=b)throw new _.H(_.F,4,4017);h=d.splice(k,d.length-k);a=nA(a,c,h,f);return new pA(c,b,f,a)}f.push(g);g.name==Xz&&(g.attributes.push(new _.Wg(_.mb,m)),e=!0)}}return new pA(c,b,f)},rA=function(a,b=0){return b+10<=a.length&&73===a[b]&&68===a[b+1]&&51===a[b+2]&&255>a[b+3]&&255>a[b+4]&&128>a[b+6]&&128>a[b+7]&&128>a[b+8]&&128>a[b+9]?!0:!1},sA=function(a){function b(h,k,l){let m="";for(;k<l;k++)m+=
5
- "%"+("00"+h[k].toString(16)).slice(-2);return m}function c(h){return h[0]<<21|h[1]<<14|h[2]<<7|h[3]}function d(){throw new _.H(_.F,4,4030);}rA(a)||d();let e=10;a[5]&64&&(e=e+4+c(a.subarray(10,14)));do{var f=c(a.subarray(e+4,e+8));1>f&&d();var g=String.fromCharCode(a[e],a[e+1],a[e+2],a[e+3]);if("PRIV"===g){g=a.subarray(e+10,e+f+10);for(let h=0;h<g.byteLength;h++)if(0===g[h]){if("com.apple.streaming.transportStreamTimestamp"===unescape(b(g,0,h)))return a=g.subarray(h+1),f=(a[3]&1)<<30|a[4]<<22|a[5]<<
6
- 14|a[6]<<6|a[7]>>>2,f*=4,f+=a[7]&3,Math.round(f/9E4);break}}rA(a,e)||d();e+=10;e+=f}while(e<a.byteLength);return d()},tA=function(a,b){let c=null,d=0;try{(new _.Nj).N(_.xd,_.N).N(_.we,_.N).N(_.sd,_.N).Y("mdhd",g=>{g.H.skip(0==g.version?8:16);d=_.M(g.H);g.Qa.stop()}).parse(b,!0)}catch(g){c=g}if(c||!d)throw _.eq.error("Unable to find timescale in init segment!"),new _.H(_.F,4,4030,{message:Nz,df:c&&c.message?c.message:null},c);let e=0,f=!1;try{(new _.Nj).N("moof",_.N).N("traf",_.N).Y("tfdt",g=>{e=(0==
7
- g.version?_.M(g.H):_.Dj(g.H))/d;f=!0;g.Qa.stop()}).parse(a,!0)}catch(g){c=g}if(c||!f)throw new _.H(_.F,4,4030,{message:Nz,df:c&&c.message?c.message:null},c);return e},uA=function(a){for(;a.getPosition()<a.wa()-1;){const b=a.getPosition();if(71===_.zj(a))return eA(a),b}return-1},vA=function(a){function b(){d.seek(e+188);f=_.zj(d);71!=f&&(d.seek(e+192),f=_.zj(d));71!=f&&(d.seek(e+204),f=_.zj(d));71!=f&&c();eA(d)}function c(){throw new _.H(_.F,4,4030);}const d=new _.wk(new DataView(a),!1);let e=0,f=
8
- 0;e=uA(d);0>e&&(_.eq.error("Unable to find sync byte in TS after scanning."),c());for(;;){e=d.getPosition();f=_.zj(d);71!=f&&c();a=_.Aj(d);if(8191===(a&8191)){b();continue}if(!(a&16384)){b();continue}a=(_.zj(d)&48)>>4;0!=a&&2!=a||c();3==a&&(a=_.zj(d),d.skip(a));if(1!=_.M(d)>>8){b();continue}d.skip(3);a=_.zj(d)>>6;0!=a&&1!=a||c();0==_.zj(d)&&c();a=_.zj(d);const g=_.Aj(d),h=_.Aj(d);return(1073741824*((a&14)>>1)+((g&65534)<<14|(h&65534)>>1))/9E4}},wA=function(a){var b=dA(a,"METHOD");const c=["SAMPLE-AES",
9
- aA];if(!c.includes(b))return _.Kf("PlayReady in HLS is only supported with [",c.join(", "),"], not",b),null;a=dA(a,_.mb);b=_.ho(a);a=null;b=_.G(b.data);try{a=_.nu(_.Dk(b))}catch(d){a=b}return _.xu(_.Hc,[{initDataType:_.rc,initData:a}],"")},yA=function(a,b){b=_.ch([b],a.g.attemptParameters);b.type=1;return xA(a,b)},EA=function(a,b){return _.w(function*(){var c=qA(a.M,b,a.A);if(1===c.type){a.G.set(a.A,c);c=(new _.fg(c.a[0].a)).pa.split(".").pop();var d=zA.audio[c],e="";zA.video[c]?e="avc1.42E01E":d&&
10
- (e="mp4a.40.2");{c=a.M;d=a.A;e=a.g.hlsDefaultCodecs||e;var f=[];const h=[];h.push(new _.Wg(_.ja,"0"));h.push(new _.Wg(_.mb,d));e.length&&h.push(new _.Wg(_.la,e));f.push(new _.Xg(c.a++,Xz,h));c=new pA(d,0,f)}}c=yield AA(a,c.ta);if(!a.D)throw new _.H(_.F,7,7001);a.D.filterAllPeriods([c]);e=Infinity;d=0;f=Infinity;for(var g of a.a.values())e=Math.min(e,g.Fd),d=Math.max(d,g.Fd),g.stream.type!=_.r&&(f=Math.min(f,g.duration));a.j!=BA?(a.h=new _.Bz(0,a.T,!1),_.Uu(a.h,1)):a.h=new _.Bz(null,0,!0);CA(a);if(a.j!=
11
- BA){a.W=a.F;a.j===DA&&(g=Math.max(f,a.h.Od),isNaN(a.g.availabilityWindowOverride)||(g=a.g.availabilityWindowOverride),a.h.ac=g);for(g=0;95443.7176888889<=d;)g+=95443.7176888889,d-=95443.7176888889;if(g){a.f.debug("Offsetting live streams by",g,"to compensate for rollover");for(const h of a.a.values())95443.7176888889>h.Fd?(a.f.debug("Offset applied to",h.stream.type),h.segmentIndex.offset(g)):a.f.debug("Offset NOT applied to",h.stream.type)}}else{a.h.Mb(f);a.h.offset(-e);for(const h of a.a.values())h.segmentIndex.offset(-e),
12
- _.gv(h.segmentIndex,f)}a.J={presentationTimeline:a.h,periods:[c],offlineSessionIds:[],minBufferTime:0}})},HA=function(a,b){return _.w(function*(){var c=new _.fg(b.Xe);if(a.g.hlsLowLatency){var d=c.a;if(b.cf){var e=b.segmentIndex;if(e=e.a[e.a.length-1]){const h=e.a,k=h.length-1;e={Gf:e.position,Mf:h&&0<h.length?k:null}}else e=null;const {Gf:f,Mf:g}=e;null!==f&&(d.add("_HLS_msn",f),null!==g&&d.add("_HLS_part",g))}e=d;_.qg(e);e.g&&_.ig(c,d)}c=yield yA(a,c.toString());c=qA(a.M,c.data,c.uri);if(1!=c.type)throw new _.H(_.F,
13
- 4,4017);d=b.stream;d=yield FA(a,b.cd,c,d.type,d.mimeType,d.codecs,d.keyInfo||null,b.jf);b.segmentIndex.replace(d);d=d[d.length-1];hA(c.ta,Rz)&&(GA(a,BA),a.h.Mb(d.endTime))})},FA=function(a,b,c,d,e,f,g,h){return _.w(function*(){var k=c.a;const l=IA(c,g);var m=(m=hA(c.ta,Sz))?Number(m.value):0;null===a.O&&(a.O=yield JA(a,b,l,k[0],m,g,e,f,d));const n=a.O;a.f.debug("First segment",k[0].a.split("/").pop(),"starts at",n);var q=hA(c.ta,Qz);let t=q?Number(q.value):0;h.has(t)||h.set(t,m);if(!q)for(;h.has(t+
14
- 1)&&h.get(t+1)<m;)t++;q=a.K.get(t)||0;const u=[];for(const E of _.yu(k)){var y=E.Wc;k=E.item;{var A=u[u.length-1];const D=0==y?n:A.endTime;y=m+y;hA(k.ta,Pz)&&(t++,h.set(t,y),q=yield KA(a,t,b,l,k,y,g,e,f,D,d));A=LA(a,A,k,y,D,q,g,d,c.f);k=hA(k.ta,Zz);A&&(a.g.hlsLowLatency||k)&&u.push(A)}}a.V.push(u);CA(a);return u})},GA=function(a,b){a.j=b;if(a.h){b=a.h;var c=a.j==BA;b.j=c;b.m=c}a.j!=BA||a.w.stop()},AA=function(a,b){return _.w(function*(){var c=fA(b,"EXT-X-MEDIA"),d=fA(b,Xz),e=fA(b,"EXT-X-IMAGE-STREAM-INF");
15
- for(var f of d){var g=_.sg(f,"AUDIO"),h=_.sg(f,"VIDEO"),k=_.sg(f,bA);const l=MA(a,f);if(k){const m=_.Gh(_.r,l);a.m.set(k,m);k=l.indexOf(m);-1<k&&l.splice(k,1)}g&&(k=NA(_.Zb,l),a.m.set(g,k));h&&(g=NA(_.v,l),a.m.set(h,g))}yield OA(a,c);f=gA(c,Mz);for(const l of f)f=PA(l),h=dA(l,_.Da),g=dA(l,"INSTREAM-ID"),a.L.get(h)||a.L.set(h,new Map),a.L.get(h).set(g,f);d=yield QA(a,d);c=yield RA(a,c);e=yield SA(a,e);return{startTime:0,variants:d,textStreams:c,thumbStreams:e}})},OA=function(a,b){return _.w(function*(){b=
16
- b.filter(d=>{const e=_.sg(d,_.mb)||"";return _.sg(d,"TYPE")!==bA&&""!==e});b.length&&(yield TA(a,b[0]));const c=b.slice(1).map(d=>TA(a,d));yield Promise.all(c)})},QA=function(a,b){return _.w(function*(){var c=f=>_.w(function*(){const g=_.sg(f,"FRAME-RATE"),h=Number(dA(f,_.ja));var k=_.sg(f,_.$a);const [l,m]=k?k.split("x"):[null,null];return(k=yield UA(a,f,k,g))?VA(a,k.audio,k.video,h,l,m,g):[]});let d=0;var e=Infinity;for(let f=0;f<b.length;++f){const g=Number(dA(b[f],_.ja));g<e&&(e=g,d=f)}e=b.splice(d,
17
- 1).pop();e=yield c(e);c=b.map(c);c=yield Promise.all(c);c.splice(d,0,e);return c.reduce(_.uu,[]).filter(_.eg)})},RA=function(a,b){return _.w(function*(){var c=gA(b,bA),d=c.map(f=>_.w(function*(){try{return(yield TA(a,f)).stream}catch(g){throw g;}}));d=yield Promise.all(d);for(const f of c){var e=dA(f,_.Da);if(c=a.m.get(e))if(e=a.o.get(e))for(const g of e)g.stream.codecs=c}return d.filter(f=>f)})},SA=function(a,b){return _.w(function*(){const c=b.map(d=>_.w(function*(){return(yield WA(a,d)).stream}));
18
- return(yield Promise.all(c)).filter(d=>d)})},MA=function(a,b){var c=_.sg(b,_.la,a.g.hlsDefaultCodecs||"avc1.42E01E,mp4a.40.2").split(/\s*,\s*/);b=new Set;const d=[];for(const e of c)c=_.Fu(e)[0],b.has(c)?a.f.debug("Ignoring duplicate codec"):(d.push(e),b.add(c));return d},NA=function(a,b){if(1==b.length)return b[0];a=_.Gh(a,b);if(null!=a)return a;throw new _.H(_.F,4,4025,{codecList:b});},TA=function(a,b){return _.w(function*(){const c=dA(b,_.Da);var d="";let e=dA(b,"TYPE").toLowerCase();e==_.gu&&
19
- (e=_.r);e!==_.r&&c&&a.m.has(c)&&(d=a.m.get(c));const f=dA(b,_.mb);if(a.a.has(f))return a.a.get(f);const g=PA(b),h=_.sg(b,"NAME"),k=b.getAttribute("DEFAULT"),l=b.getAttribute("AUTOSELECT"),m=_.sg(b,"CHANNELS");d=yield XA(a,f,d,e,g,!!k&&!!l,h,e==_.Zb?m?parseInt(m.split("/")[0],10):null:null,null);if(null==d)return null;a.o.has(c)?a.o.get(c).push(d):a.o.set(c,[d]);if(a.a.has(f))return a.a.get(f);a.a.set(f,d);return d})},WA=function(a,b){return _.w(function*(){const c=dA(b,_.mb);if(a.a.has(c))return a.a.get(c);
20
- var d=_.sg(b,_.la)||"jpg",e=PA(b);const f=_.sg(b,"NAME");d=yield XA(a,c,d,_.cd,e,!1,f,null,null);if(null===d)return null;if(a.a.has(c))return a.a.get(c);if(e=_.sg(b,_.ja))d.stream.bandwidth=Number(e);a.a.set(c,d);return d})},UA=function(a,b,c,d){return _.w(function*(){let e=MA(a,b);var f=_.sg(b,"AUDIO"),g=_.sg(b,"VIDEO"),h=f||g;h=h&&a.o.has(h)?a.o.get(h):[];f={audio:f?h:[],video:g?h:[]};a.f.debug("Guessing stream type for",b.toString());g=!1;const k=dA(b,_.mb),l=f.audio.find(q=>q.cd===k);var m=_.Gh(_.v,
21
- e);m=c||d||m;1!==e.length||m?!h.length&&1<e.length?(a.f.debug("Guessing multiplexed audio+video"),h=_.v,e=[e.join(",")]):f.audio.length&&l?(a.f.debug($z),h=_.Zb,g=!0):f.video.length?(a.f.debug($z),h=_.Zb):(a.f.debug("Guessing video-only"),h=_.v):(h=_.Zb,a.f.debug($z));let n;g||(n=yield YA(a,b,e,h));if(n)f[n.stream.type]=[n];else if(null===n)return a.f.debug("streamInfo is null"),null;ZA(f);return f})},VA=function(a,b,c,d,e,f,g){c.forEach(l=>{if(l=l.stream)l.width=Number(e)||void 0,l.height=Number(f)||
22
- void 0,l.frameRate=Number(g)||void 0});b.length||(b=[null]);c.length||(c=[null]);const h=[];for(const l of b)for(const m of c){var k=l?l.stream:null;const n=m?m.stream:null,q=l?l.drmInfos:null,t=m?m.drmInfos:null;b=(m?m.cd:"")+" - "+(l?l.cd:"");let u;if(k&&n)if(q.length&&t.length?0<_.Hu(q,t).length:1)u=_.Hu(q,t);else{a.f.warn("Incompatible DRM info in HLS variant. Skipping.");continue}else k?u=q:n&&(u=t);a.X.has(b)?a.f.debug("Skipping variant which only differs in text streams."):(k=$A(a,k,n,d,u),
23
- h.push(k),a.X.add(b))}return h},YA=function(a,b,c,d){return _.w(function*(){const e=dA(b,_.mb);if(a.a.has(e))return a.a.get(e);var f=_.sg(b,Mz),g=null;d==_.v&&f&&"NONE"!=f&&(g=a.L.get(f));f=NA(d,c);g=yield XA(a,e,f,d,_.ye,!1,null,null,g);if(null==g)return null;if(a.a.has(e))return a.a.get(e);a.a.set(e,g);return g})},ZA=function(a){for(const b of a.audio.concat(a.video))a=b.stream.codecs.split(","),a=a.filter(c=>"mp4a.40.34"!=c),b.stream.codecs=a.join(",")},$A=function(a,b,c,d,e){return{id:a.$++,language:b?
24
- b.language:_.ye,primary:!!b&&b.primary||!!c&&c.primary,audio:b,video:c,bandwidth:d,drmInfos:e,allowedByApplication:!0,allowedByKeySystem:!0}},PA=function(a){a=_.sg(a,"LANGUAGE")||_.ye;return _.Oh(a)},XA=function(a,b,c,d,e,f,g,h,k){return _.w(function*(){let l=iA(a.A,b);var m=null;if(a.j==BA&&a.G.has(l)){var n=a.G.get(l);a.G.delete(l)}else{var q=yield yA(a,l);l=q.uri;n=qA(a.M,q.data,l)}if(1!=n.type)throw new _.H(_.F,4,4017);aB(a,n);q=yield bB(a,d,c,n);const t=[];n.a.forEach(fd=>{fd=fA(fd.ta,"EXT-X-KEY");
25
- t.push.apply(t,fd)});let u=!1;const y=[];let A=null;for(var E of t){var D=dA(E,"METHOD"),ma=_.sg(E,"KEYFORMAT","identity");"NONE"!=D&&("AES-128"==D?(m=_.sg(E,"IV",""),m={method:"AES-128",url:iA(a.A,dA(E,_.mb)),iv:m?_.hj((m||"0x").slice(2)):null},a.I=!0):(u=!0,(D=(D=cB[ma])?D(E,q):null)?(D.keyIds.length&&(A=D.keyIds[0]),y.push(D)):a.f.warn("Unsupported HLS KEYFORMAT",ma)))}if(u&&!y.length&&!a.I)throw new _.H(_.F,4,4026);E=new Map;var na=yield FA(a,b,n,d,q,c,m,E);ma=na[0].startTime;D=na[na.length-1].endTime;
26
- const uf=D-ma;na=new _.Cz(na);const vf=a.g.hlsLowLatency?_.zx:_.Yt,wf=IA(n,m);let Ra=void 0;d==_.r&&(Ra=_.fu);n=(n=hA(n.ta,Wz))?"YES"===_.sg(n,"CAN-BLOCK-RELOAD"):!1;return{stream:{id:a.$++,originalId:g,createSegmentIndex:Promise.resolve.bind(Promise),findSegmentPosition:na.f.bind(na),getSegmentReference:na.get.bind(na),adjustSegmentDurations:na.g.bind(na),getDuration:na.getDuration.bind(na),segmentIndex:na,segmentLookupStrategy:vf,initSegmentReference:wf,mimeType:q,codecs:c,kind:Ra,encrypted:u,keyId:A,
27
- language:e,label:g,type:d,primary:f,trickModeVideo:null,emsgSchemeIdUris:null,frameRate:void 0,width:void 0,height:void 0,bandwidth:void 0,roles:[],channelsCount:h,closedCaptions:k,keyInfo:m},segmentIndex:na,drmInfos:y,cd:b,Xe:l,Fd:ma,vg:D,duration:uf,jf:E,cf:n}})},aB=function(a,b){var c=hA(b.ta,Uz),d=hA(b.ta,Rz);d=c&&"VOD"==c.value||d;c=c&&"EVENT"==c.value&&!d;c=!d&&!c;if(d)GA(a,BA);else{c?GA(a,DA):GA(a,dB);d=hA(b.ta,Yz);if(!d)throw new _.H(_.F,4,4024,{missingTag:Yz});d=Number(d.value);c=hA(b.ta,
28
- Tz);a.g.hlsLowLatency&&c?(d=Number(dA(c,"PART-TARGET")),a.F=Math.min(d,a.F),a.C=Math.max(d,a.C),b=hA(b.ta,Wz),a.T=b?Number(dA(b,"PART-HOLD-BACK")):0):(a.C=Math.max(d,a.C),a.F=Math.min(d,a.F),a.T=3*a.C)}},bB=function(a,b,c,d){return _.w(function*(){var e=d.a[0].a;const f=(new _.fg(e)).pa.split(".").pop(),g=zA[b][f];if(g)return g;if(b==_.r)return c&&"vtt"!=c?_.Tb:_.te;e=_.ch([e],a.g.attemptParameters);e.method="HEAD";e.type=2;e=(yield xA(a,e)).headers["content-type"];if(!e)throw new _.H(_.F,4,4021,
29
- f);return e.split(";")[0]})},IA=function(a,b){var c=fA(a.ta,"EXT-X-MAP");if(!c.length)return null;if(1<c.length)throw new _.H(_.F,4,4020);c=c[0];var d=dA(c,_.mb);const e=iA(a.f,d);a=0;d=null;if(c=_.sg(c,"BYTERANGE"))a=c.split("@"),c=Number(a[0]),a=Number(a[1]),d=a+c-1;return new _.Az(()=>[e],a,d,b)},CA=function(a){a.h&&(a.V.forEach(b=>{_.Tu(a.h,b,0)}),a.V=[])},eB=function(a,b){var c=0;let d=null;b&&(c=b.split("@"),b=Number(c[0]),c=c[1]?Number(c[1]):a.Ba+1,d=c+b-1);return[c,d]},fB=function(a,b,c,d,
30
- e,f,g){const h=[];for(const n of _.yu(b.f)){b=n.Wc;const q=n.item;{var k=0==b?a:h[h.length-1],l=0==b?d:k.endTime,m=Number(_.sg(q,"DURATION"));m=l+m;const t=_.sg(q,"BYTERANGE"),[u,y]=eB(k,t);k=_.sg(q,_.mb);const A=(k=iA(g,k))?[k]:[];l=new _.bv(c,l,m,()=>A,u,y,e,f,!1,null,null,null,null);if("YES"===_.sg(q,"INDEPENDENT")||0===b)l.g=!0;h.push(l)}}return h},LA=function(a,b,c,d,e,f,g,h,k){var l=c.ta,m=c.a;const n=m?[m]:[];m=hA(l,Zz);(g=g?Object.assign({},g):null)&&!g.iv&&(g.iv=_.kj(new Uint8Array(12),new Uint8Array([d>>
31
- 24&255,d>>16&255,d>>8&255,d&255])));var q=null,t=null,u=null;h===_.cd&&(t=hA(l,"EXT-X-TILES"),q="1x1",t&&(q=_.sg(t,"LAYOUT")||"1x1",u=(u=_.sg(t,"DURATION"))?Number(u):null),[q,t]=q.split("x").map(y=>parseInt(y,10)));if(0===c.f.length&&!m)throw new _.H(_.F,4,4024,{missingTag:Zz});h=null;if(0<c.f.length)if(a.g.hlsLowLatency)h=fB(b,c,d,e,f,g,k);else return null;c=a=0;k=null;m?(a=e+Number(m.value.split(",")[0]),l=hA(l,Oz),[c,k]=eB(b,l?l.value:null)):a=h[h.length-1].endTime;return new _.bv(d,e,a,()=>n,
32
- c,k,f,g,!1,null,q,t,u,h)},JA=function(a,b,c,d,e,f,g,h,k,l){return _.w(function*(){var m=LA(a,null,d,e,0,0,f,k,"");if(!m)return 0;if(a.J&&!l){var n=a.a.get(b).segmentIndex.get(m.position);if(n)return a.f.debug("Found segment start time in previous manifest"),n.startTime;a.f.debug("Unable to find segment start time in previous manifest!")}a.f.debug("Fetching segment to find start time");if("audio/mpeg"==g)return 0;if(g==_.$b)return m=yield gB(a,m),n=_.G(m.data),rA(n)?sA(n):vA(m.data);if(g==_.Je||g==
33
- _.cc)return m=[gB(a,m)],c&&m.push(gB(a,c)),m=yield Promise.all(m),tA(m[0].data,(m[1]||m[0]).data);if(g==_.Ie)return m=yield gB(a,m),vA(m.data);if(g===_.bc||g===_.ac||!MediaSource.isTypeSupported(`${g.split("/")[0]||""}/mp4;codecs="${h}"`))return 0;throw new _.H(_.F,4,4030);})},KA=function(a,b,c,d,e,f,g,h,k,l,m){return _.w(function*(){let n;a.K.has(b)?n=a.K.get(b):(n=(yield JA(a,c,d,e,f,g,h,k,m,!0))-l,a.f.debug("Discontinuity segment offset",n),a.K.set(b,n));return n})},xA=function(a,b){if(!a.B)throw new _.H(_.F,
34
- 7,7001);b=a.D.networkingEngine.fetch(b);_.jh(a.B,b);return b.R},gB=function(a,b){return _.w(function*(){const c=b.f(),d=_.Qu(b.Ea(),b.La,b.La+2048-1,a.g.attemptParameters);d.type=2;const e=_.Qu(b.Ea(),b.La,b.Ba,a.g.attemptParameters);e.type=2;c&&(e.keyInfo=c);try{return yield xA(a,a.I?e:d)}catch(f){if(7001==f.code||a.I)throw f;a.f.warn("Unable to fetch a partial HLS segment! Falling back to a full segment request, which is expensive! Your server should support Range requests and CORS preflights.",
35
- d.uris[0]);return yield xA(a,e)}})},pA=class{constructor(a,b,c,d){this.f=a;this.type=b;this.ta=c;this.a=d||null}},mA=class{constructor(a,b,c=[]){this.ta=b;this.a=a;this.f=c}},kA=[Yz,Sz,Qz,Uz,"EXT-X-MAP","EXT-X-I-FRAMES-ONLY",Rz,Wz,Tz],oA=[Zz,Oz,Pz,"EXT-X-PROGRAM-DATE-TIME","EXT-X-KEY","EXT-X-DATERANGE"],lA=["EXT-X-PART",Vz],hB=class{constructor(){this.a=0}},iB=class{constructor(){this.g=this.D=null;this.$=1;this.T=0;this.o=new Map;this.X=new Set;this.a=new Map;this.h=null;this.A="";this.M=new hB;
36
- this.W=0;this.S=new Map;this.w=new _.Uh(()=>{this.wb()});this.j=BA;this.J=null;this.C=0;this.F=Infinity;this.B=new _.So;this.V=[];this.L=new Map;this.I=!1;this.m=new Map;this.O=null;this.f=new _.O("clpp.hls.HlsParser");this.G=new Map;this.K=new Map}configure(a){this.g=a}setCurrentVariant(a){const b=a.video?a.video.id:null;a=a.audio?a.audio.id:null;this.S.clear();for(const c of this.a.keys()){const d=this.a.get(c);!d.stream||d.stream.id!==b&&d.stream.id!==a||this.S.set(c,d)}}start(a,b){const c=this;
37
- return _.w(function*(){c.D=b;var d=yield yA(c,a);c.A=d.uri;yield EA(c,d.data);d=c.W;0<d&&c.w.aa(d);return c.J})}stop(){this.w&&(this.w.stop(),this.w=null);const a=[];this.B&&(a.push(this.B.destroy()),this.B=null);this.g=this.D=null;this.X.clear();this.a.clear();this.G.clear();this.J=null;this.o.clear();this.m.clear();return Promise.all(a)}update(){const a=this;return _.w(function*(){if(a.j!=BA){var b=[];a.O=null;var c=Array.from(a.a.values()),d=Array.from(a.S.values());c=a.g.hlsLowLatency&&0<d.length?
38
- d:c;yield HA(a,c[0]);for(d=1;d<c.length;d++)b.push(HA(a,c[d]));yield Promise.all(b)}})}onExpirationUpdated(){}wb(){const a=this;return _.w(function*(){a.f.debug(_.Rt);if(a.D)try{yield a.update(),a.w.aa(a.W)}catch(b){a.D&&(a.D.onError(b),1===b.severity&&a.w.aa(.1))}})}},zA={audio:{mp4:_.cc,m4s:_.cc,m4i:_.cc,m4a:_.cc,cmfa:_.cc,ts:_.Ie,aac:_.$b,ec3:_.bc,ac3:_.ac},video:{mp4:_.Je,m4s:_.Je,m4i:_.Je,m4v:_.Je,cmfv:_.Je,ts:_.Ie},text:{mp4:_.Tb,m4s:_.Tb,m4i:_.Tb,cmft:_.Tb,vtt:_.te,ttml:_.Wb},image:{jpg:_.dd,
39
- jpeg:_.dd,png:"image/png",svg:"image/svg+xml",webp:"image/webp",avif:"image/avif"}},cB={"com.apple.streamingkeydelivery":function(a,b){if(b===_.Ie)throw new _.H(_.F,4,4041);return _.xu(_.Gc,[{initDataType:_.he,initData:new Uint8Array(0)}],"")},"com.microsoft.playready":wA,"urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95":wA,"urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed":function(a){var b=dA(a,"METHOD");const c=["SAMPLE-AES",aA];if(!c.includes(b))return _.Kf("Widevine in HLS is only supported with [",
40
- c.join(", "),"], not",b),null;b=dA(a,_.mb);b=_.ho(b);b=_.G(b.data);b=_.xu(_.Ic,[{initDataType:_.rc,initData:b}],"");if(a=_.sg(a,"KEYID"))b.keyIds=[a.substr(2).toLowerCase()];return b}},BA="VOD",dB="EVENT",DA="LIVE";_.x("clpp.hls.HlsComponent",class extends _.Lp{constructor(){super()}f(){_.Ln.m3u8=iB;_.Jn[_.Qi]=iB;_.Jn[cA]=iB}a(){_.jv("m3u8");_.kv(_.Qi);_.kv(cA)}id(){return"hls"}});};f.call(g, window);
1
+ import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var Mz="CLOSED-CAPTIONS",Nz="Could not parse MP4 segment start time.",Oz="EXT-X-BYTERANGE",Pz="EXT-X-DISCONTINUITY",Qz="EXT-X-DISCONTINUITY-SEQUENCE",Rz="EXT-X-ENDLIST",Sz="EXT-X-MAP",Tz="EXT-X-MEDIA-SEQUENCE",Uz="EXT-X-PART-INF",Vz="EXT-X-PLAYLIST-TYPE",Wz="EXT-X-PRELOAD-HINT",Xz="EXT-X-SERVER-CONTROL",Yz="EXT-X-STREAM-INF",Zz="EXT-X-TARGETDURATION",$z="EXTINF",aA="Guessing audio-only",bA="SAMPLE-AES-CTR",cA="SUBTITLES",dA="application/vnd.apple.mpegurl",eA=function(a,b){a=a.getAttribute(b);
2
+ if(!a)throw new _.G(_.F,4,4023,b);return a.value},fA=function(a){if(1>a.a)throw _.xj();--a.a},gA=function(a,b){return a.filter(c=>c.name==b)},hA=function(a,b){return a.filter(c=>eA(c,"TYPE")===b)},iA=function(a,b){a=gA(a,b);return a.length?a[0]:null},jA=function(a,b){return _.wu([a],[b])[0]},nA=function(a,b,c){const d=[],e=[];let f=[],g=[];c.forEach(h=>{/^(#EXT)/.test(h)?(h=_.yg(a.a++,h),kA.includes(h.name)?d.push(h):lA.includes(h.name)?"EXT-X-PART"===h.name?g.push(h):h.name===Wz&&"PART"===_.rg(h,
3
+ "TYPE")&&g.push(h):f.push(h)):/^#(?!EXT)/m.test(h)||(h=jA(b,h.trim()),e.push(new mA(h,f,g)),f=[],g=[])});0<g.length&&e.push(new mA(null,f,g));return{$:e,fa:d}},oA=function(a,b=0){return b+10<=a.length&&73===a[b]&&68===a[b+1]&&51===a[b+2]&&255>a[b+3]&&255>a[b+4]&&128>a[b+6]&&128>a[b+7]&&128>a[b+8]&&128>a[b+9]?!0:!1},pA=function(a){function b(h,k,l){let m="";for(;k<l;k++)m+="%"+("00"+h[k].toString(16)).slice(-2);return m}function c(h){return h[0]<<21|h[1]<<14|h[2]<<7|h[3]}function d(){throw new _.G(_.F,
4
+ 4,4030);}oA(a)||d();let e=10;a[5]&64&&(e=e+4+c(a.subarray(10,14)));do{var f=c(a.subarray(e+4,e+8));1>f&&d();var g=String.fromCharCode(a[e],a[e+1],a[e+2],a[e+3]);if("PRIV"===g){g=a.subarray(e+10,e+f+10);for(let h=0;h<g.byteLength;h++)if(0===g[h]){if("com.apple.streaming.transportStreamTimestamp"===unescape(b(g,0,h)))return a=g.subarray(h+1),f=(a[3]&1)<<30|a[4]<<22|a[5]<<14|a[6]<<6|a[7]>>>2,f*=4,f+=a[7]&3,Math.round(f/9E4);break}}oA(a,e)||d();e+=10;e+=f}while(e<a.byteLength);return d()},qA=function(a,
5
+ b){let c=null,d=0;try{(new _.Mj).M(_.wd,_.N).M(_.we,_.N).M(_.rd,_.N).X("mdhd",g=>{g.reader.skip(0==g.version?8:16);d=_.M(g.reader);g.parser.stop()}).parse(b,!0)}catch(g){c=g}if(c||!d)throw _.eq.error("Unable to find timescale in init segment!"),new _.G(_.F,4,4030,Nz,c);let e=0,f=!1;try{(new _.Mj).M("moof",_.N).M("traf",_.N).X("tfdt",g=>{e=(0==g.version?_.M(g.reader):_.Cj(g.reader))/d;f=!0;g.parser.stop()}).parse(a,!0)}catch(g){c=g}if(c||!f)throw new _.G(_.F,4,4030,Nz,c);return e},rA=function(a){for(;a.getPosition()<
6
+ a.wa()-1;){const b=a.getPosition();if(71===_.yj(a))return fA(a),b}return-1},sA=function(a){function b(){d.seek(e+188);f=_.yj(d);71!=f&&(d.seek(e+192),f=_.yj(d));71!=f&&(d.seek(e+204),f=_.yj(d));71!=f&&c();fA(d)}function c(){throw new _.G(_.F,4,4030);}const d=new _.vk(new DataView(a),!1);let e=0,f=0;e=rA(d);0>e&&(_.eq.error("Unable to find sync byte in TS after scanning."),c());for(;;){e=d.getPosition();f=_.yj(d);71!=f&&c();a=_.zj(d);if(8191===(a&8191)){b();continue}if(!(a&16384)){b();continue}a=(_.yj(d)&
7
+ 48)>>4;0!=a&&2!=a||c();3==a&&(a=_.yj(d),d.skip(a));if(1!=_.M(d)>>8){b();continue}d.skip(3);a=_.yj(d)>>6;0!=a&&1!=a||c();0==_.yj(d)&&c();a=_.yj(d);const g=_.zj(d),h=_.zj(d);return(1073741824*((a&14)>>1)+((g&65534)<<14|(h&65534)>>1))/9E4}},tA=function(a,b,c){return _.w(function*(){const d=b.f(),e=_.Qu(b.Ca(),b.Ta,b.Ta+2048-1,a.a.attemptParameters);e.type=2;const f=_.Qu(b.Ca(),b.Ta,b.Ja,a.a.attemptParameters);f.type=2;d&&(f.keyInfo=d);try{return yield a.g(c?f:e)}catch(g){if(7001===g.code||c)throw g;
8
+ a.f.warn("Unable to fetch a partial HLS segment! Falling back to a full segment request, which is expensive! Your server should support Range requests and CORS pre-flights.",e.uris[0]);try{return yield a.g(f)}catch(h){throw a.f.error("Failed to fetch media segment to parse its start timestamp.",f.uris[0],h),new _.G(_.F,4,4030,"Failed to fetch the media segment.");}}})},uA=function(a,b,c,d,e,f){return _.w(function*(){a.f.debug("Fetching segment to find start time");if("audio/mpeg"===d||d===_.dc||d===
9
+ _.cc)return 0;if(d===_.bc){var g=yield tA(a,c,f);const h=_.H(g.data);return oA(h)?pA(h):sA(g.data)}if(d===_.Je||d===_.ec)return g=[tA(a,c,f)],b&&g.push(tA(a,b,!0)),g=yield Promise.all(g),qA(g[0].data,(g[1]||g[0]).data);if(d===_.Ie)return g=yield tA(a,c,f),sA(g.data);if(!MediaSource.isTypeSupported(`${d.split("/")[0]||""}/mp4;codecs="${e}"`))return 0;throw new _.G(_.F,4,4030);})},vA=function(a){var b=eA(a,"METHOD");const c=["SAMPLE-AES",bA];if(!c.includes(b))return _.Jf("PlayReady in HLS is only supported with [",
10
+ c.join(", "),"], not",b),null;a=eA(a,_.mb);b=_.go(a);a=null;b=_.H(b.data);try{a=_.nu(_.Fk(b))}catch(d){a=b}return _.xu(_.Jc,[{initDataType:_.tc,initData:a}],"")},wA=function(a,b){return _.w(function*(){var c=_.bh([b],a.g.attemptParameters);c.type=1;c=yield a.R(c);let d="";try{d=_.Ig(c.data)}catch(e){throw new _.G(_.F,4,4042);}d=d.replace(/\r\n|\r(?=[^\n]|$)/gm,"\n");d=d.trim();return{text:d,response:c}})},DA=function(a,b){return _.w(function*(){var c=xA(a,b,a.w,"");if(1===c.type){a.G.set(a.w,c);c=
11
+ _.Qo(c.$[0].a)||"";c=null!=_.Po.video[c]?_.u:null!=_.Po.audio[c]?_.ac:null;var d="";c===_.u?d="avc1.42E01E":c===_.ac&&(d="mp4a.40.2");{c=a.aa;var e=a.w;d=a.g.hlsDefaultCodecs||d;const h=[],k=[];k.push(new _.wg(_.ka,"0"));k.push(new _.wg(_.mb,e));d.length&&k.push(new _.wg(_.ma,d));h.push(new _.xg(c.a++,Yz,k));c=new yA(e,0,h)}}c=yield zA(a,c.fa);if(!a.D)throw new _.G(_.F,7,7001);a.D.filterAllPeriods([c]);d=e=Infinity;for(var f of a.a.values())e=Math.min(e,f.Dd),f.type!==_.r&&(d=Math.min(d,f.duration));
12
+ a.j===AA?a.h=new _.Bz(null,0,!0):(a.h=new _.Bz(0,a.S,!1),_.Uu(a.h,1));BA(a);if(a.j===AA){a.h.Lb(d);a.h.offset(-e);for(const h of a.a.values())h.segmentIndex.offset(-e),_.gv(h.segmentIndex,d)}else{a.V=a.F;a.j===CA&&(f=Math.max(d,a.h.Md),isNaN(a.g.availabilityWindowOverride)||(f=a.g.availabilityWindowOverride),a.h.Zb=f);f=0;for(var g of a.a.values())f=Math.max(f,g.Dd);for(g=0;95443.7176888889<=f;)g+=95443.7176888889,f-=95443.7176888889;if(g){a.f.debug("Offsetting live streams by",g,"to compensate for rollover");
13
+ for(const h of a.a.values())95443.7176888889>h.Dd?(a.f.debug("Offset applied to",h.type),h.segmentIndex.offset(g)):a.f.debug("Offset NOT applied to",h.type)}}return{presentationTimeline:a.h,periods:[c],offlineSessionIds:[],minBufferTime:0}})},GA=function(a,b){return _.w(function*(){var c=new _.eg(b.Ue);if(a.g.hlsLowLatency){var d=c.a;if(b.$e){var e=b.segmentIndex;if(e=e.a[e.a.length-1]){var f=e.a,g=f.length-1;e={Bf:e.position,Hf:f&&0<f.length?g:null}}else e=null;const {Bf:l,Hf:m}=e;null!==l&&(d.add("_HLS_msn",
14
+ l),null!==m&&d.add("_HLS_part",m))}e=d;_.pg(e);e.g&&_.hg(c,d)}const {response:h,text:k}=yield wA(a,c.toString());c=xA(a,k,h.uri,b.Jc);if(1!==c.type)throw new _.G(_.F,4,4017);d=yield EA(a,b.Jc,c,b.type,b.mimeType,b.codecs,b.keyInfo||null,b.ef);b.$=d;b.segmentIndex.replace(d);d=d[d.length-1];iA(c.fa,Rz)&&(FA(a,AA),a.h.Lb(d.endTime))})},xA=function(a,b,c,d){a:{a=a.aa;b=b.trim().split(/\n+/m);if(!/^#EXTM3U($|[ \t\n])/m.test(b[0]))throw new _.G(_.F,4,4015);var e=b,f=0,g=!0;for(h of e){var h=h.trim();if(!h.length||
15
+ /^#(?!EXT)/m.test(h)||g)g=!1;else if(e=_.yg(0,h),kA.includes(e.name)){f=1;break}else e.name===Yz&&(g=!0)}h=f;f=[];g=!0;for(var k of _.yu(b)){let {Wc:l,item:m,next:n}=k;m=m.trim();if(!m.length||/^#(?!EXT)/m.test(m)||g)g=!1;else{e=m;e=_.yg(a.a++,e);if(HA.includes(e.name)){if(1!==h)throw new _.G(_.F,4,4017);k=b.splice(l,b.length-l);a=nA(a,c,k);c=new yA(c,h,f.concat(a.fa),a.$);break a}f.push(e);e.name===Yz&&(e.attributes.push(new _.wg(_.mb,n)),g=!0)}}c=new yA(c,h,f)}c.f=d;return c},EA=function(a,b,c,
16
+ d,e,f,g,h){return _.w(function*(){var k=c.$;const l=IA(c,g);var m=(m=iA(c.fa,Tz))?Number(m.value):0;null===a.J&&(a.J=yield JA(a,b,l,k[0],m,g,e,f,d));const n=a.J;a.f.debug("First segment",k[0].a.split("/").pop(),"starts at",n);var q=iA(c.fa,Qz);let t=q?Number(q.value):0;h.has(t)||h.set(t,m);if(!q)for(;h.has(t+1)&&h.get(t+1)<m;)t++;q=a.H.get(t)||0;const v=[];for(const E of _.yu(k)){var y=E.Wc;k=E.item;{var A=v[v.length-1];const D=0==y?n:A.endTime;y=m+y;iA(k.fa,Pz)&&(t++,h.set(t,y),q=yield KA(a,t,b,
17
+ l,k,y,g,e,f,D,d));A=LA(a,A,k,y,D,q,g,d,c.a);k=iA(k.fa,$z);A&&(a.g.hlsLowLatency||k)&&v.push(A)}}a.U.push(v);BA(a);return v})},FA=function(a,b){a.j=b;if(a.h){b=a.h;var c=a.j===AA;b.j=c;b.m=c}a.j===AA&&a.o.stop()},zA=function(a,b){return _.w(function*(){var c=gA(b,"EXT-X-MEDIA"),d=gA(b,Yz),e=gA(b,"EXT-X-IMAGE-STREAM-INF");var f=new Map;for(var g of d){var h=_.rg(g,"AUDIO"),k=_.rg(g,"VIDEO"),l=_.rg(g,cA);const m=MA(a,g);if(l){const n=_.Fh(_.r,m);f.set(l,n);l=m.indexOf(n);-1<l&&m.splice(l,1)}h&&(l=NA(_.ac,
18
+ m),f.set(h,l));k&&(h=NA(_.u,m),f.set(k,h))}a.B=f;yield OA(a,c);f=hA(c,Mz);for(const m of f)f=PA(m),g=eA(m,_.Ca),k=eA(m,"INSTREAM-ID"),a.I.get(g)||a.I.set(g,new Map),a.I.get(g).set(k,f);d=yield QA(a,d);c=yield RA(a,c);e=yield SA(a,e);return{startTime:0,variants:d,textStreams:c,thumbStreams:e}})},OA=function(a,b){return _.w(function*(){b=b.filter(d=>{const e=_.rg(d,_.mb)||"";return _.rg(d,"TYPE")!==cA&&""!==e});b.length&&(yield TA(a,b[0]));const c=b.slice(1).map(d=>TA(a,d));yield Promise.all(c)})},
19
+ QA=function(a,b){return _.w(function*(){var c=f=>_.w(function*(){const g=_.rg(f,"FRAME-RATE"),h=Number(eA(f,_.ka));var k=_.rg(f,_.Za);const [l,m]=k?k.split("x"):[null,null];return(k=yield UA(a,f,k,g))?VA(a,k.audio,k.video,h,l,m,g):[]});let d=0;var e=Infinity;for(let f=0;f<b.length;++f){const g=Number(eA(b[f],_.ka));g<e&&(e=g,d=f)}e=b.splice(d,1).pop();e=yield c(e);c=b.map(c);c=yield Promise.all(c);c.splice(d,0,e);return c.reduce(_.uu,[]).filter(_.dg)})},RA=function(a,b){return _.w(function*(){var c=
20
+ hA(b,cA),d=c.map(f=>_.w(function*(){try{return yield TA(a,f)}catch(g){throw g;}}));d=yield Promise.all(d);for(const f of c){var e=eA(f,_.Ca);if(c=a.B.get(e))if(e=a.m.get(e))for(const g of e)g.codecs=c}return d.filter(f=>f)})},SA=function(a,b){return _.w(function*(){const c=b.map(d=>_.w(function*(){return WA(a,d)}));return(yield Promise.all(c)).filter(d=>d)})},MA=function(a,b){var c=_.rg(b,_.ma,a.g.hlsDefaultCodecs||"avc1.42E01E,mp4a.40.2").split(/\s*,\s*/);b=new Set;const d=[];for(const e of c)c=
21
+ _.Fu(e)[0],b.has(c)?a.f.debug("Ignoring duplicate codec"):(d.push(e),b.add(c));return d},NA=function(a,b){if(1===b.length)return b[0];a=_.Fh(a,b);if(null!=a)return a;throw new _.G(_.F,4,4025,{codecList:b});},TA=function(a,b){return _.w(function*(){const c=eA(b,_.Ca);var d="";let e=eA(b,"TYPE").toLowerCase();e===_.gu&&(e=_.r);e!==_.r&&c&&a.B.has(c)&&(d=a.B.get(c));const f=eA(b,_.mb);if(a.a.has(f))return a.a.get(f);const g=PA(b),h=_.rg(b,"NAME"),k=b.getAttribute("DEFAULT"),l=b.getAttribute("AUTOSELECT"),
22
+ m=_.rg(b,"CHANNELS");d=yield XA(a,f,d,e,g,!!k&&!!l,h,e==_.ac?m?parseInt(m.split("/")[0],10):null:null,null);a.m.has(c)?a.m.get(c).push(d):a.m.set(c,[d]);if(a.a.has(f))return a.a.get(f);a.a.set(f,d);return d})},WA=function(a,b){return _.w(function*(){const c=eA(b,_.mb);if(a.a.has(c))return a.a.get(c);var d=_.rg(b,_.ma)||"jpg",e=PA(b);const f=_.rg(b,"NAME");d=yield XA(a,c,d,_.ed,e,!1,f,null,null);if(a.a.has(c))return a.a.get(c);if(e=_.rg(b,_.ka))d.bandwidth=Number(e);a.a.set(c,d);return d})},UA=function(a,
23
+ b,c,d){return _.w(function*(){let e=MA(a,b);var f=_.rg(b,"AUDIO"),g=_.rg(b,"VIDEO"),h=f||g;h=h&&a.m.has(h)?a.m.get(h):[];f={audio:f?h:[],video:g?h:[]};a.f.debug("Guessing stream type for",b.toString());g=!1;const k=eA(b,_.mb);var l=f.audio.find(n=>n.Jc===k),m=_.Fh(_.u,e);m=c||d||m;1!==e.length||m?!h.length&&1<e.length?(a.f.debug("Guessing multiplexed audio+video"),h=_.u,e=[e.join(",")]):f.audio.length&&l?(a.f.debug(aA),h=_.ac,g=!0):f.video.length?(a.f.debug(aA),h=_.ac):(a.f.debug("Guessing video-only"),
24
+ h=_.u):(h=_.ac,a.f.debug(aA));l=null;g||(l=yield YA(a,b,e,h));if(l)f[l.type]=[l];else if(null===l)return a.f.debug("stream is null"),null;ZA(f);return f})},VA=function(a,b,c,d,e,f,g){c.forEach(l=>{l&&(l.width=Number(e)||void 0,l.height=Number(f)||void 0,l.frameRate=Number(g)||void 0)});b.length||(b=[null]);c.length||(c=[null]);const h=[];for(const l of b)for(const m of c){var k=l?l.drmInfos:null;const n=m?m.drmInfos:null;b=(m?m.Jc:"")+" - "+(l?l.Jc:"");let q;if(l&&m)if(k.length&&n.length?0<_.Hu(k,
25
+ n).length:1)q=_.Hu(k,n);else{a.f.warn("Incompatible DRM info in HLS variant. Skipping.");continue}else l?q=k:m&&(q=n);a.W.has(b)?a.f.debug("Skipping variant which only differs in text streams."):(k=$A(a,l,m,d,q),h.push(k),a.W.add(b))}return h},YA=function(a,b,c,d){return _.w(function*(){const e=eA(b,_.mb);if(a.a.has(e))return a.a.get(e);var f=_.rg(b,Mz),g=null;d==_.u&&f&&"NONE"!==f&&(g=a.I.get(f));f=NA(d,c);g=yield XA(a,e,f,d,_.ye,!1,null,null,g);if(a.a.has(e))return a.a.get(e);a.a.set(e,g);return g})},
26
+ ZA=function(a){for(const b of a.audio.concat(a.video))a=b.codecs.split(","),a=a.filter(c=>"mp4a.40.34"!==c),b.codecs=a.join(",")},$A=function(a,b,c,d,e){return{id:a.Z++,language:b?b.language:_.ye,primary:!!b&&b.primary||!!c&&c.primary,audio:b,video:c,bandwidth:d,drmInfos:e,allowedByApplication:!0,allowedByKeySystem:!0}},PA=function(a){a=_.rg(a,"LANGUAGE")||_.ye;return _.Nh(a)},XA=function(a,b,c,d,e,f,g,h,k){return _.w(function*(){let l=jA(a.w,b);var m=null;if(a.j===AA&&a.G.has(l)){var n=a.G.get(l);
27
+ a.G.delete(l)}else{const {response:rb,text:pa}=yield wA(a,l);l=rb.uri;n=xA(a,pa,l,b)}if(1!==n.type)throw new _.G(_.F,4,4017);aB(a,n);const q=yield bB(a,d,c,n),t=[];n.$.forEach(rb=>{rb=gA(rb.fa,"EXT-X-KEY");t.push.apply(t,rb)});let v=!1;const y=[];let A=null;for(var E of t){var D=eA(E,"METHOD"),ha=_.rg(E,"KEYFORMAT","identity");"NONE"!==D&&("AES-128"===D?(m=_.rg(E,"IV",""),m={method:"AES-128",url:jA(a.w,eA(E,_.mb)),iv:m?_.gj((m||"0x").slice(2)):null},a.L=!0):(v=!0,(D=(D=cB[ha])?D(E,q):null)?(D.keyIds.length&&
28
+ (A=D.keyIds[0]),y.push(D)):a.f.warn("Unsupported HLS KEYFORMAT",ha)))}if(v&&!y.length&&!a.L)throw new _.G(_.F,4,4026);E=new Map;ha=yield EA(a,b,n,d,q,c,m,E);D=ha[0].startTime;const gb=ha[ha.length-1].endTime,vf=gb-D,yb=new _.Cz(ha),wf=a.g.hlsLowLatency?_.zx:_.Yt,Ta=IA(n,m);let Hd=void 0;d==_.r&&(Hd=_.fu);n=(n=iA(n.fa,Xz))?"YES"===_.rg(n,"CAN-BLOCK-RELOAD"):!1;return{id:a.Z++,originalId:g,createSegmentIndex:Promise.resolve.bind(Promise),findSegmentPosition:yb.f.bind(yb),getSegmentReference:yb.get.bind(yb),
29
+ adjustSegmentDurations:yb.g.bind(yb),getDuration:yb.getDuration.bind(yb),segmentIndex:yb,segmentLookupStrategy:wf,initSegmentReference:Ta,mimeType:q,codecs:c,kind:Hd,encrypted:v,keyId:A,language:e,label:g,type:d,primary:f,trickModeVideo:null,emsgSchemeIdUris:null,frameRate:void 0,width:void 0,height:void 0,bandwidth:void 0,roles:[],channelsCount:h,closedCaptions:k,keyInfo:m,$:ha,drmInfos:y,Jc:b,Ue:l,Dd:D,qg:gb,duration:vf,ef:E,$e:n}})},aB=function(a,b){var c=iA(b.fa,Vz),d=iA(b.fa,Rz);d=c&&"VOD"===
30
+ c.value||d;c=c&&"EVENT"===c.value&&!d;c=!d&&!c;if(d)FA(a,AA);else{c?FA(a,CA):FA(a,dB);d=iA(b.fa,Zz);if(!d)throw new _.G(_.F,4,4024,{missingTag:Zz});d=Number(d.value);c=iA(b.fa,Uz);a.g.hlsLowLatency&&c?(d=Number(eA(c,"PART-TARGET")),a.F=Math.min(d,a.F),a.C=Math.max(d,a.C),b=iA(b.fa,Xz),a.S=b?Number(eA(b,"PART-HOLD-BACK")):0):(a.C=Math.max(d,a.C),a.F=Math.min(d,a.F),a.S=3*a.C)}},bB=function(a,b,c,d){return _.w(function*(){var e=d.$[0];const f=e.a;e=(e=iA(e.fa,Sz))?eA(e,_.mb):null;return eB(a,b,c,f,
31
+ e)})},IA=function(a,b){var c=gA(a.$[0].fa,Sz);if(!c.length)return null;if(1<a.$.map(f=>gA(f.fa,Sz)).reduce((f,g)=>f.concat(g),[]).length)throw new _.G(_.F,4,4020);c=c[0];var d=eA(c,_.mb);const e=jA(a.a,d);a=0;d=null;if(c=_.rg(c,"BYTERANGE"))a=c.split("@"),c=Number(a[0]),a=Number(a[1]),d=a+c-1;return new _.Az(()=>[e],a,d,b)},BA=function(a){a.h&&(a.U.forEach(b=>{_.Tu(a.h,b,0)}),a.U=[])},fB=function(a,b){var c=0;let d=null;b&&(c=b.split("@"),b=Number(c[0]),c=c[1]?Number(c[1]):a.Ja+1,d=c+b-1);return[c,
32
+ d]},hB=function(a,b,c,d,e,f,g){const h=[];for(const n of _.yu(b.f)){b=n.Wc;const q=n.item;{var k=0==b?a:h[h.length-1],l=0==b?d:k.endTime,m=Number(_.rg(q,"DURATION"));m=l+m;const t=_.rg(q,"BYTERANGE"),[v,y]=fB(k,t);k=_.rg(q,_.mb);const A=(k=jA(g,k))?[k]:[];l=new gB(c,l,m,()=>A,v,y,e,f,!1,null,null,null,null);if("YES"===_.rg(q,"INDEPENDENT")||0===b)l.g=!0;h.push(l)}}return h},LA=function(a,b,c,d,e,f,g,h,k){var l=c.fa,m=c.a;const n=m?[m]:[];m=iA(l,$z);(g=g?Object.assign({},g):null)&&!g.iv&&(g.iv=_.jj(new Uint8Array(12),
33
+ new Uint8Array([d>>24&255,d>>16&255,d>>8&255,d&255])));var q=null,t=null,v=null;h===_.ed&&(t=iA(l,"EXT-X-TILES"),q="1x1",t&&(q=_.rg(t,"LAYOUT")||"1x1",v=(v=_.rg(t,"DURATION"))?Number(v):null),[q,t]=q.split("x").map(y=>parseInt(y,10)));if(0===c.f.length&&!m)throw new _.G(_.F,4,4024,{missingTag:$z});h=null;if(0<c.f.length)if(a.g.hlsLowLatency)h=hB(b,c,d,e,f,g,k);else return null;c=a=0;k=null;m?(a=e+Number(m.value.split(",")[0]),l=iA(l,Oz),[c,k]=fB(b,l?l.value:null)):a=h[h.length-1].endTime;return new gB(d,
34
+ e,a,()=>n,c,k,f,g,!1,null,q,t,v,h)},JA=function(a,b,c,d,e,f,g,h,k,l){return _.w(function*(){const m=LA(a,null,d,e,0,0,f,k,"");if(!m)return 0;if(a.N&&!l){{var n=m.position;const q=a.a.get(b);n=q?(n=q.segmentIndex.get(n))?n.startTime:null:null}if(null!=n)return a.f.debug("Found segment start time in previous manifest"),n;a.f.debug("Unable to find segment start time in previous manifest!")}return uA(a.ca,c,m,g,h,a.L)})},KA=function(a,b,c,d,e,f,g,h,k,l,m){return _.w(function*(){let n;a.H.has(b)?n=a.H.get(b):
35
+ (n=(yield JA(a,c,d,e,f,g,h,k,m,!0))-l,a.f.debug("Discontinuity segment offset",n),a.H.set(b,n));return n})},eB=function(a,b,c,d,e){return _.w(function*(){const f=[d,e].filter(Boolean);var g=_.Ih(f,b,c);if(g)return g;g=_.bh([d],a.g.attemptParameters);g.method="HEAD";g.type=2;g=(yield a.R(g)).headers["content-type"];if(!g)throw new _.G(_.F,4,4021,f.join(", "));return g.split(";")[0]})},yA=class{constructor(a,b,c,d){if(1===b){if(!d||0===d.length)throw new _.G(_.F,4,4043,"Media playlist must have at least one segment!");
36
+ if(null==d[0].a)throw new _.G(_.F,4,4043,"Media playlist must have at least one full segment!");}this.a=a;this.f="";this.type=b;this.fa=c;this.$=1===b?d:null}},mA=class{constructor(a,b,c){c=void 0===c?[]:c;this.fa=b;this.a=a;this.f=c}},kA=[Qz,Rz,"EXT-X-I-FRAMES-ONLY",Tz,Uz,Vz,Xz,Zz],HA=[$z,Oz,"EXT-X-DATERANGE",Pz,"EXT-X-KEY",Sz,"EXT-X-PROGRAM-DATE-TIME"],lA=["EXT-X-PART",Wz],iB=class{constructor(){this.a=0}},jB=class{constructor(a){this.f=new _.O("clpp.hls.MediaReader");this.g=a;this.a={attemptParameters:_.Zg()}}};var gB=class extends _.bv{constructor(a,b,c,d,e,f,g,h,k,l,m,n,q,t){t=void 0===t?[]:t;super(a,b,c,d,e,f,g,h,k,void 0===l?null:l,void 0===m?null:m,void 0===n?null:n,void 0===q?null:q,t);this.initSegment=void 0}};var kB=class{constructor(){this.g=this.D=null;this.Z=1;this.S=0;this.m=new Map;this.W=new Set;this.a=new Map;this.h=null;this.w="";this.aa=new iB;this.V=0;this.K=new Map;this.o=new _.Th(()=>{this.vb()});this.j=AA;this.N=null;this.C=0;this.F=Infinity;this.A=new _.So;this.U=[];this.I=new Map;this.L=!1;this.B=new Map;this.J=null;this.f=new _.O("clpp.hls.HlsParser");this.G=new Map;this.H=new Map;this.ca=new jB(this.R.bind(this))}configure(a){this.g=a;this.ca.a=a}setCurrentVariant(a){const b=a.video?a.video.id:
37
+ null;a=a.audio?a.audio.id:null;this.K.clear();for(const c of this.a.keys()){const d=this.a.get(c);d.id!==b&&d.id!==a||this.K.set(c,d)}}start(a,b){const c=this;return _.w(function*(){c.D=b;const {response:d,text:e}=yield wA(c,a);c.w=d.uri;const f=yield DA(c,e);c.N=f;const g=c.V;0<g&&c.o.ba(g);return f})}stop(){this.o&&(this.o.stop(),this.o=null);const a=[];this.A&&(a.push(this.A.destroy()),this.A=null);this.g=this.D=null;this.W.clear();this.a.clear();this.G.clear();this.N=null;this.m.clear();this.B.clear();
38
+ return Promise.all(a)}update(){const a=this;return _.w(function*(){if(a.j!==AA){var b=[];a.J=null;var c=Array.from(a.a.values()),d=Array.from(a.K.values());c=a.g.hlsLowLatency&&0<d.length?d:c;yield GA(a,c[0]);for(d=1;d<c.length;d++)b.push(GA(a,c[d]));yield Promise.all(b)}})}onExpirationUpdated(){}vb(){const a=this;return _.w(function*(){a.f.debug(_.Rt);if(a.D)try{yield a.update(),a.o.ba(a.V)}catch(b){a.D&&(a.D.onError(b),1===b.severity&&a.o.ba(.1))}})}R(a){if(!this.A)throw new _.G(_.F,7,7001);a=this.D.networkingEngine.fetch(a);
39
+ _.ih(this.A,a);return a.P}},cB={"com.apple.streamingkeydelivery":function(a,b){if(b===_.Ie)throw new _.G(_.F,4,4041);return _.xu(_.Ic,[{initDataType:_.he,initData:new Uint8Array(0)}],"")},"com.microsoft.playready":vA,"urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95":vA,"urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed":function(a){var b=eA(a,"METHOD");const c=["SAMPLE-AES",bA];if(!c.includes(b))return _.Jf("Widevine in HLS is only supported with [",c.join(", "),"], not",b),null;b=eA(a,_.mb);b=_.go(b);
40
+ b=_.H(b.data);b=_.xu(_.Kc,[{initDataType:_.tc,initData:b}],"");if(a=_.rg(a,"KEYID"))b.keyIds=[a.substr(2).toLowerCase()];return b}},AA="VOD",dB="EVENT",CA="LIVE";_.x("clpp.hls.HlsComponent",class extends _.Lp{constructor(){super()}f(){_.Kn.m3u8=kB;_.In[_.Pi]=kB;_.In[dA]=kB}a(){_.jv("m3u8");_.kv(_.Pi);_.kv(dA)}id(){return"hls"}});};f.call(g, window);
package/cl.hlssmpte.js CHANGED
@@ -1,5 +1,5 @@
1
- import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var wI=function(a){a.a.one(a.l,_.od,()=>vI(a))},vI=function(a){const b=a.l.getSurface().getMedia();if(b)if(a.h){a.a.on(b.textTracks,_.Lb,d=>xI(a,d));var c=Array.from(b.textTracks);c.filter(d=>d.kind===_.ud).forEach(d=>{xI(a,{track:d})});!yI(c)&&a.m&&(a.f.warn("The metadata track is not present. Changing an audio track in order to enforce the creation of the metadata track."),zI(a,b))}else a.f.warn("The clpp.ttml.TextParser class is not available. Please register the ttml component first.");
2
- else a.f.warn("A video element is not available. Skipping.")},xI=function(a,b){b=b.track;b.kind===_.ud&&(a.f.info("The metadata track has been added."),b.mode=_.bd,a.a.on(b,_.Lc,c=>AI(a,c)))},yI=function(a){return a.some(b=>b.kind===_.ud)},zI=function(a,b){const c=a.l.getTrackManager(),d=c.ka(),e=c.getAudioTracks().find(g=>g!==d);if(e){var f=()=>c.qa(d);a.a.on(b.textTracks,_.Lb,g=>{g.track.kind===_.ud&&(a.a.off(b.textTracks,_.Lb,f),c.qa(d))});c.qa(e)}else a.f.warn("Can't enforce the creation of the metadata track if single audio track. Skipping.")},
3
- AI=function(a,b){const c=BI(a);c&&Array.from(b.target.activeCues||[]).forEach(d=>{if(d!==a.g&&Number.isFinite(d.startTime)&&Number.isFinite(d.endTime)&&"org.id3"===d.type&&d.value&&"TXXX"===d.value.key){var e=new CI(d);if(e.f===c&&null!==e.a){a.g=d;d=a.h.parseMedia(_.Jg(e.a),{periodStart:a.j,segmentStart:e.startTime,segmentEnd:e.endTime});const f=a.l.getTextDisplayer();f.remove(0,e.startTime);f.append(d.cues,d.styles)}}})},BI=function(a){return(a=a.l.getTrackManager().la())&&a.language&&a.language.toLowerCase()},
4
- CI=class{constructor(a){this.startTime=a.startTime;this.endTime=a.endTime;this.a=this.f=null;a=a.value;if(!_.z(a)){a:{var b=a.info;if(_.pf(b)&&(b=b.toLowerCase().match(/lang:(\w+)/))&&b[1]){b=b[1].toLowerCase();break a}b=null}this.f=b;a=a.data;this.a=a=_.pf(a)?a:null}}};var DI=class{constructor(a,b,c){this.l=a;this.m=b;this.j=c;this.a=new _.vo;this.h=(a=_.jo[_.Wb]||null)?new a(this.l.getConfiguration()):null;this.f=new _.O("clpp.hlssmpte.ImageCueHandler");this.g=null;wI(this)}destroy(){this.a.release();this.g=null;return Promise.resolve()}};var EI=class extends _.jq{constructor(){super();this.a=null;this.f=!1}onPlayerCreated(){}onContentWillLoad(a){if(this.f=_.hi()){var b=a.getConfiguration();b=_.kf(b.hlssmpte||{});typeof b.patchMetadataTrack!==_.gc&&(b.patchMetadataTrack=!1);_.qf(b.timestampOffset)||(b.timestampOffset=0);this.a=new DI(a,b.patchMetadataTrack,b.timestampOffset)}}onPlayerWillDestroy(){const a=this;return _.w(function*(){a.a&&(yield a.a.destroy(),a.a=null)})}id(){return"hlssmpte"}};_.x("clpp.hlssmpte.HlsSmptePlugin",EI);
5
- EI.Id="hlssmpte";_.Tm(new class{create(){return new EI}});};f.call(g, window);
1
+ import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var yI=function(a){a.a.one(a.l,_.nd,()=>xI(a))},xI=function(a){const b=a.l.getSurface().getMedia();if(b)if(a.h){a.a.on(b.textTracks,_.Nb,d=>zI(a,d));var c=Array.from(b.textTracks);c.filter(d=>d.kind===_.td).forEach(d=>{zI(a,{track:d})});!AI(c)&&a.m&&(a.f.warn("The metadata track is not present. Changing an audio track in order to enforce the creation of the metadata track."),BI(a,b))}else a.f.warn("The clpp.ttml.TextParser class is not available. Please register the ttml component first.");
2
+ else a.f.warn("A video element is not available. Skipping.")},zI=function(a,b){b=b.track;b.kind===_.td&&(a.f.info("The metadata track has been added."),b.mode=_.dd,a.a.on(b,_.Nc,c=>CI(a,c)))},AI=function(a){return a.some(b=>b.kind===_.td)},BI=function(a,b){const c=a.l.getTrackManager(),d=c.la(),e=c.getAudioTracks().find(g=>g!==d);if(e){var f=()=>c.qa(d);a.a.on(b.textTracks,_.Nb,g=>{g.track.kind===_.td&&(a.a.off(b.textTracks,_.Nb,f),c.qa(d))});c.qa(e)}else a.f.warn("Can't enforce the creation of the metadata track if single audio track. Skipping.")},
3
+ CI=function(a,b){const c=DI(a);c&&Array.from(b.target.activeCues||[]).forEach(d=>{if(d!==a.g&&Number.isFinite(d.startTime)&&Number.isFinite(d.endTime)&&"org.id3"===d.type&&d.value&&"TXXX"===d.value.key){var e=new EI(d);if(e.f===c&&null!==e.a){a.g=d;d=a.h.parseMedia(_.Mg(e.a),{periodStart:a.j,segmentStart:e.startTime,segmentEnd:e.endTime});const f=a.l.getTextDisplayer();f.remove(0,e.startTime);f.append(d.cues,d.styles)}}})},DI=function(a){return(a=a.l.getTrackManager().ma())&&a.language&&a.language.toLowerCase()},
4
+ EI=class{constructor(a){this.startTime=a.startTime;this.endTime=a.endTime;this.a=this.f=null;a=a.value;if(!_.z(a)){a:{var b=a.info;if(_.pf(b)&&(b=b.toLowerCase().match(/lang:(\w+)/))&&b[1]){b=b[1].toLowerCase();break a}b=null}this.f=b;a=a.data;this.a=a=_.pf(a)?a:null}}};var FI=class{constructor(a,b,c){this.l=a;this.m=b;this.j=c;this.a=new _.uo;this.h=(a=_.io[_.Yb]||null)?new a(this.l.getConfiguration()):null;this.f=new _.O("clpp.hlssmpte.ImageCueHandler");this.g=null;yI(this)}destroy(){this.a.release();this.g=null;return Promise.resolve()}};var GI=class extends _.jq{constructor(){super();this.a=null;this.f=!1}onPlayerCreated(){}onContentWillLoad(a){if(this.f=_.gi()){var b=a.getConfiguration();b=_.kf(b.hlssmpte||{});typeof b.patchMetadataTrack!==_.lc&&(b.patchMetadataTrack=!1);_.qf(b.timestampOffset)||(b.timestampOffset=0);this.a=new FI(a,b.patchMetadataTrack,b.timestampOffset)}}onPlayerWillDestroy(){const a=this;return _.w(function*(){a.a&&(yield a.a.destroy(),a.a=null)})}id(){return"hlssmpte"}};_.x("clpp.hlssmpte.HlsSmptePlugin",GI);
5
+ GI.Id="hlssmpte";_.Sm(new class{create(){return new GI}});};f.call(g, window);
package/cl.htmlcue.js CHANGED
@@ -1,25 +1,25 @@
1
- import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var oH="Unsupported unit",pH="clpp-text-plain",qH="clpp-text-ttml",rH="clpp.htmlcue.HtmlTextDisplayer",sH="initial",tH=function(a,b){let c=0,d=a.length-1;for(;c<=d;){const e=c+d>>1,f=b(a[e]);if(0===f)return e;0<f?c=e+1:d=e-1}return-1},uH=function(a){if(!a.input)return null;var b=a.input.match(/^([^<]*)(<[^>]+>?)?/);b=b[1]?b[1]:b[2];a.input=a.input.substr(b.length);return b},wH=function(a){let b=null;for(;b=a.match(/&(amp|lt|gt|lrm|rlm|nbsp);/);)a=a.replace(b[0],c=>vH[c]);return a},yH=
2
- function(a,b){xH(a,b);Array.from(b.getElementsByTagName("*")).forEach(c=>{xH(a,c)})},xH=function(a,b){for(const c in a)null!=a[c]&&(b.style[c]=a[c])},zH=function(a,b){return 0===a?"0":a+b},AH=function(a,b){return 1>Math.abs(a-b)||a<b},BH=function(a,b){return a<b&&1<Math.abs(a-b)},CH=function(a,b){return a>b&&1<Math.abs(a-b)},DH=function(a,b){return 1>Math.abs(a-b)||a>b},FH=function(a){const b=a.getBoundingClientRect();var c=getComputedStyle(a,null);const d=parseFloat(c.getPropertyValue("border-left-width"))||
3
- 0,e=parseFloat(c.getPropertyValue("border-right-width"))||0;var f=parseFloat(c.getPropertyValue("border-top-width"))||0;c=parseFloat(c.getPropertyValue("border-bottom-width"))||0;const g=(b.top||a.offsetTop)+f;f=(b.height||a.offsetHeight)-f-c;return new EH(b.left+d,b.right+e,g,(b.bottom||g+f)+c,f,(b.width||a.offsetWidth)-d-e)},GH=function(a){return new EH(a.f,a.g,a.h,a.a,a.height,a.width)},HH=function(a,b){return b.some(c=>BH(a.f,c.g)&&CH(a.g,c.f)&&BH(a.h,c.a)&&CH(a.a,c.h))},IH=function(a,b){return DH(a.h,
4
- b.h)&&AH(a.a,b.a)&&DH(a.f,b.f)&&AH(a.g,b.g)},JH=function(a,b,c){switch(c){case "+x":return BH(a.f,b.f);case "-x":return CH(a.g,b.g);case "+y":return BH(a.h,b.h);case "-y":return CH(a.a,b.a);default:throw Error("Unknown axis");}},KH=function(a){return a.f.writingMode===_.zo},LH=function(a){var b=a.a.childNodes[0],c=a.a.getBoundingClientRect();const d=b.getClientRects();b=c.height/d.length;c=c.width/d.length;return KH(a)?b:c},MH=function(a){switch(a.f.writingMode){case _.zo:return"horizontal-tb";case _.Ge:return _.Ge;
5
- case _.He:return _.He;default:throw Error("Unknown writing mode");}},NH=function(a){switch(a.f.positionAlign){case _.md:return _.jd;case "auto":case _.sc:return _.yo;case _.nd:return _.de}return a.f.textAlign},OH=function(a,b){if(typeof a.f.position===_.p&&typeof a.f.size===_.p)switch(b){case _.md:return a.f.position;case "auto":case _.sc:return a.f.position-a.f.size/2;case _.nd:return a.f.position-a.f.size}return 0},PH=function(a){if(!a.f.positionAlign)switch(a.f.textAlign){case _.jd:case _.jd:return _.md;
6
- case _.yo:return _.sc;case _.de:case _.de:return _.nd}return a.f.positionAlign},SH=function(a,b,c){return(QH(a)||RH(a))&&_.qf(c)?zH(c,_.Xd):QH(a)&&_.z(c)?zH(0,_.Xd):KH(a)&&_.qf(b)?zH(b,"%"):sH},TH=function(a,b,c){return KH(a)&&_.qf(c)?zH(c,_.Xd):(QH(a)||RH(a))&&_.qf(b)?zH(b,"%"):sH},RH=function(a){return a.f.writingMode===_.He},QH=function(a){return a.f.writingMode===_.Ge},UH=function(a,b){if(a.h)switch(b.writingMode){case _.zo:return["-y"];case _.Ge:return["+x"];case _.He:return["-x"]}a=[];switch(b.writingMode){case _.zo:a=
7
- ["+y","-y"];break;case _.Ge:a=["+x","-x"];break;case _.He:a=["-x","+x"]}0>b.line&&(a=a.reverse());return a},VH=function(a){for(a.g=[];0<a.f.childNodes.length;)a.f.removeChild(a.f.childNodes[0]);a.a=FH(a.j.a)},WH=function(a,b){VH(a.g);a.j.unshift(b);for(const c of a.j)a.g.append(c)},XH=function(a,b,c){a=a.f;const d=a.viewportAnchorUnits;if(d===_.Go)return a.viewportAnchorY/100*c-a.regionAnchorY/100*b;if(0===d)return a.viewportAnchorY-a.regionAnchorY;throw Error(oH);},ZH=function(a,b,c,d){const e=document.createElement(_.pe),
8
- f=e.dataset;f.name=b;f.for=c;d&&(f.name=`${b} (sandbox)`,f.sandbox=!0);c=document.head;c.appendChild(e);YH(a,c,b);a.f.debug(`Created HTML style element #${b}.`);return e.sheet},$H=function(a,b){a=`.${a.j} .clpp-text-container`;const c=`${a} .clpp-text-cue`;return b=b.replace(/::cue\((#[^)]+)\)/g,`${a} $1`).replace(/::cue\(([^)]+)\)/g,`${c} $1`).replace(/::cue-region\(([^)]+)\)/g,`${a} $1 .clpp-text-cue`).replace(/::cue/g,c).replace(/::cue-region/g,`${a} .clpp-text-cue-region .clpp-text-cue`).replace(/::ttml/g,
9
- a)},aI=function(a,b){let c=!1;try{a.g.insertRule(b,0);const d=a.g.cssRules[0];d instanceof CSSStyleRule&&(c=d.selectorText.split(",").every(e=>0===e.trim().indexOf(`.${a.j} `)))}catch(d){}0<a.g.cssRules.length&&a.g.deleteRule(0);return c},bI=function(a){if(null!=a.a){for(;0<a.a.cssRules.length;)a.a.deleteRule(0);a.m=[]}},YH=function(a,b,c){const d=new MutationObserver(e=>{e.forEach(f=>{f.removedNodes.forEach(g=>{g.id===c&&a.f.error(`PRESTOplay HTML style element #${c} has `+"been unexpectedly removed! Some styles will not work!")})})});
10
- d.observe(b,{subtree:!1,childList:!0});a.o.push(()=>d.disconnect())},cI=function(a){a=_.kf(a.getConfiguration().htmlcue||{});_.z(a.stretchSmpteImage)&&(a.stretchSmpteImage=!1);_.z(a.enableResizeObserver)&&(a.enableResizeObserver=!0);return a},iI=function(a,b){if((b||a.j)&&a.C){var c=a.l.getPosition();if(b||a.J!==c&&a.l.getState()===_.Tl)if(a.J=c,c=dI(a,c),b||(b=a.m,b=!(null===b&&null===c||null!==b&&null!==c&&b.start===c.start&&b.end===c.end)),b&&(a.m=c,eI(a),c)){b={color:a.getFontColor()||void 0,
11
- backgroundColor:a.getBackgroundColor()||void 0,fontFamily:a.getFontFamily()||void 0,textShadow:_.po(a)||void 0};c=a.f.slice(c.start,c.end+1);for(const k of c){c=a;var d=k,e=b,f=c.a.a,g=null;switch(d.payloadType){case _.Oe:g="clpp-text-vtt";break;case _.xe:g=qH;break;case _.xo:g=pH}g&&!f.classList.contains(g)&&_.nm(f,g);f=FH(c.a.a);if(0===f.width||0===f.height)c.M.warn("The height or width of the `.clpp-text-container` element is zero. Captions will not be displayed. Please check if the `clpp.styles.css` file has been included.");
12
- else{xH({fontSize:fI(c,d.containerRows)},c.a.a);f=null;g=d.payloadType===_.Oe;var h=d.payloadType===_.xe;d.region&&(g||h||d.backgroundImage)&&(c.A.has(d.region.id)?f=c.A.get(d.region.id):(f=new gI(d.region,{}),c.A.set(d.region.id,f),WH(c.a,f)));d=new hI(d,c.L,e);f?WH(f,d):WH(c.a,d)}}}}},jI=function(a){eI(a);a.J=null;a.m=null;a.f=[]},kI=function(a,b){return a.startTime<=b&&a.endTime>b},dI=function(a,b){var c=tH(a.f,d=>kI(d,b)?0:b!==d.startTime?b-d.startTime:b-d.endTime);if(-1===c)return null;{let d=
13
- c;for(;0<=d-1&&kI(a.f[d-1],b);)d--;for(;c+1<a.f.length&&kI(a.f[c+1],b);)c++;return{start:d,end:c}}},eI=function(a){a.A.clear();if(a.a){const b=a.a.a;b.classList.remove("clpp-text-vtt");b.classList.remove(qH);b.classList.remove(pH);a=a.a;VH(a.g);a.j=[]}},fI=function(a,b){const c=FH(a.a.a).height;if(null!==a.I)return a.getFontSize();if(null!==a.B)return a=a.getFontSizePercent(),`${Math.round(c*a)}px`;if(typeof b===_.p&&0<b)return`${Math.round(c/b)}px`;a=a.getFontSizePercent();return`${Math.round(c*
14
- a)}px`},oI=class{parse(a){a={input:a};const b=_.pm(_.Oc),c=[];let d=b;for(var e;null!==(e=uH(a));)if("\x3c"===e[0])if("/"===e[1])c.length&&c[c.length-1]===e.substr(2).replace("\x3e","")&&(c.pop(),d=d.parentNode);else{if(e=e.match(/^<([^.\s/0-9>]+)(\.[^\s\\>]+)?([^>\\]+)?(\\?)>?$/)){var f=e[1];var g=e[3];var h=lI[f];h?(h=_.pm(h),(f=mI[f])&&g&&h.setAttribute(f,g.trim()),g=h):g=null;!g||nI[g.localName]&&nI[g.localName]!==d.localName||(e[2]&&(g.className=e[2].substr(1).replace(/\./g," ")),c.push(e[1]),
15
- d.appendChild(g),d=g)}}else d.appendChild(document.createTextNode(wH(e)));return b}},lI={c:"c",i:"i",b:"b",u:"u",ruby:"ruby",rt:"rt",v:"v",lang:"lang"},mI={v:"voice",lang:"lang"},nI={rt:"ruby"},vH={"\x26amp;":"\x26","\x26lt;":"\x3c","\x26gt;":"\x3e","\x26lrm;":"\u200e","\x26rlm;":"\u200f","\x26nbsp;":"\u00a0"};var EH=class{constructor(a,b,c,d,e,f){this.f=a;this.g=b;this.h=c;this.a=d;this.height=e;this.width=f}};var pI=class{constructor(a,b,c){this.id=a;this.o=b;this.A=c;this.a=this.m();this.h=!1}init(){this.h=!0}w(){return!1}};var hI=class extends pI{constructor(a,b,c){super(a.id,"clpp-text-cue",{});this.j=b;this.f=a;this.g=!!this.f.backgroundImage;this.B=c}w(){return!this.g&&!(this.f.region&&this.f.region.displayAlign)}init(a){super.init(a);if(this.g)_.nm(this.a,"clpp-text-cue-image"),this.a.style.backgroundImage=`url("${this.f.backgroundImage}")`,this.j.stretchSmpteImage&&(this.a.style.backgroundSize="contain");else if(a){var b=this.f;if(b.payloadType===_.xe){var c=_.pm(_.Oc);c.innerHTML=b.payload;b=c}else b.payloadType===
16
- _.Oe?b=(new oI).parse(b.payload):(c=_.pm(_.Oc),c.textContent=b.payload,b=c);_.nm(b,this.o);this.id&&(b.id=this.id);for(d of this.f.cssClassList)_.nm(b,d);xH({writingMode:MH(this)},b);var d=b;this.a.appendChild(d);_.nm(this.a,"clpp-text-wrapper");for(var e of this.f.cssClassList)_.nm(this.a,`clpp-text-wrapper__${e}`);_.z(this.f.line)&&(this.f.lineInterpretation=_.Ao,this.f.line=KH(this)?-1:0);e=MH(this);xH({writingMode:e,webkitWritingMode:e,direction:sH,textAlign:NH(this)},this.a);if(!this.f.region||
17
- !this.f.region.displayAlign){e=OH(this,PH(this));xH({position:"absolute",left:SH(this,e,null),right:RH(this)&&_.z(null)?zH(0,_.Xd):sH,top:TH(this,e,null),width:KH(this)?zH(this.f.size,"%"):sH,height:QH(this)||RH(this)?zH(this.f.size,"%"):sH},this.a);b=this.f;a=KH(this)?a.height:a.width;c=LH(this);if(b.lineInterpretation===_.Ao){var f=c*Math.round(b.line);Math.abs(f)>a&&(f=c*(0>b.line?0:-1));0>f&&(f+=a)}else{f=c/a*100;let g=b.line;switch(b.lineAlign){case _.sc:g-=f/2;break;case _.Wc:g-=f}f=Math.round(g/
18
- 100*a)}RH(this)&&(f=a-f-c);a=f;xH({left:SH(this,e,a),right:RH(this)&&_.z(a)?zH(0,_.Xd):sH,top:TH(this,e,a)},this.a)}yH(this.B,d)}}m(){return _.pm(_.Oc)}};var qI=class{constructor(a,b){this.j=a;this.f=a.a;this.h=void 0===b?!1:b;this.a=FH(a.a);this.g=[]}append(a){const b=a.a;b.style.visibility=_.bd;this.f.appendChild(b);a.h||a.init(this.a);if(a.w()){a:{var c=FH(a.a);var d=UH(this,a.f),e=LH(a);const g=GH(c);let h=null,k=0;for(const l of d){for(;JH(c,this.a,l)||IH(c,this.a)&&HH(c,this.g);){d=c;var f=e;switch(l){case "+x":d.f+=f;d.g+=f;break;case "-x":d.f-=f;d.g-=f;break;case "+y":d.h+=f;d.a+=f;break;case "-y":d.h-=f,d.a-=f}}if(this.h||IH(c,this.a))break a;
19
- d=this.a;d=Math.max(0,Math.min(c.g,d.g)-Math.max(c.f,d.f))*Math.max(0,Math.min(c.a,d.a)-Math.max(c.h,d.h))/(c.height*c.width);d>k&&(h=GH(c),k=d);c=GH(g)}c=h||g}xH({top:zH(c.h-this.a.h,_.Xd),bottom:zH(this.a.a-c.a,_.Xd),left:zH(c.f-this.a.f,_.Xd),right:zH(this.a.g-c.g,_.Xd),height:zH(c.height,_.Xd),width:zH(c.width,_.Xd)},a.a)}b.style.visibility="visible";this.g.push(FH(a.a))}};var rI=class extends pI{constructor(a,b,c){super(a,b,c);this.g=null;this.j=[]}init(){this.g=new qI(this);this.h=!0}m(){const a=_.pm(_.Oc);_.nm(a,this.o);this.id&&(a.id=this.id);return a}};var gI=class extends rI{constructor(a,b){super(a.id,"clpp-text-cue-region",b);this.f=a}init(a){a:{var b=this.f;switch(b.widthUnits){case 0:b=b.width;break a;case _.Go:b=b.width/100*a.width;break a;default:throw Error(oH);}}var c=this.f;var d=c.viewportAnchorUnits;if(d===_.Go)c=c.viewportAnchorX/100*a.width-c.regionAnchorX/100*b;else if(0===d)c=c.viewportAnchorX-c.regionAnchorX;else throw Error(oH);d=a.height;const e=XH(this,d,a.height);xH(this.A,this.a);xH({left:zH(c,_.Xd),top:zH(e,_.Xd),width:zH(b,
20
- _.Xd),height:zH(d,_.Xd)},this.a);this.f.writingMode&&xH({display:"flex","flex-direction":this.f.writingMode},this.a);this.f.displayAlign&&xH({"justify-content":this.f.displayAlign},this.a);for(var f of this.f.cssClassList)_.nm(this.a,f);a:switch(f=this.f,f.heightUnits){case 0:f=f.height;break a;case _.Go:f=f.height/100*a.height;break a;case 2:f=f.height;c=new hI(new _.Do(0,1,"Lorem ipsum",_.xo),{},{});b=c.a;this.a.appendChild(b);c.init(FH(this.a));c=b.getBoundingClientRect().height;this.a.removeChild(b);
21
- b=c;f*=b;break a;default:throw Error(oH);}a=XH(this,f,a.height);xH({top:zH(a,_.Xd),height:zH(f,_.Xd)},this.a);this.g=new qI(this,!0);this.h=!0}getId(){return this.f.id}};var sI=class{constructor(a,b){this.f=new _.O("clpp.htmlcue.StyleManager");this.o=[];this.j=a.getSurface().getUniqueCssClass();this.h=b;this.m=[];this.a=ZH(this,this.h,this.j);this.g=ZH(this,this.h,this.j,!0);this.g.disabled=!0;this.f.debug(`Stylesheet ${this.h} has been created.`)}appendRule(a){if(null!=this.a&&!this.m.some(b=>b===a)){const b=$H(this,a);if(aI(this,b)){try{this.a.insertRule(b,this.a.cssRules.length),this.f.debug(`Added CSS rule ${b}`)}catch(c){this.f.error(`An error occurred when adding a CSS rule: ${b}`)}this.m.push(a)}else this.f.warn(`Stylesheet ${this.h} ignoring the CSS rule `+
22
- `because it's not safe: ${b}`)}}destroy(){const a=this;return _.w(function*(){null!=a.a&&(a.o.forEach(b=>b()),a.o=[],bI(a),document.head.removeChild(a.a.ownerNode),document.head.removeChild(a.g.ownerNode),a.a=null,a.g=null,a.f.debug(`Stylesheet ${a.h} has been destroyed.`))})}};var tI=class extends _.gq{constructor(a){super(a);this.M=new _.O(rH);this.l=a;this.L=cI(a);this.j=!1;this.f=[];this.C=a.getSurface().getContainer();this.h=new sI(a,"CLPP Subtitle Styles");this.a=new rI(null,"clpp-text-container",{});this.w=new _.bq(a.getSurface(),this.V.bind(this));this.J=null;this.C?(this.C.appendChild(this.a.a),this.a.init(null)):this.M.warn("No container element! Subtitles will not appear. Please check your player surface configuration or switch to NativeTextDisplayer.");this.F=
23
- new _.Uh(()=>{iI(this)});this.A=new Map;this.m=null}append(a,b){if(null!=this.h&&0!==a.length){for(const c of b)this.h.appendRule(c);a.sort((c,d)=>c.startTime!==d.startTime?c.startTime-d.startTime:c.endTime-d.endTime);b=this.f.findIndex(c=>c.startTime>=a[0].startTime);0===b?this.f=[]:0<b&&this.f.splice(0,b);for(const c of a)this.f.some(d=>d.payload!==c.payload?!1:d.startTime!==c.startTime?!1:d.endTime!==c.endTime?!1:!0)||this.f.push(c);this.m=null;iI(this,!1)}}g(){null==this.h||iI(this,!0)}destroy(){const a=
24
- this;return _.w(function*(){null!=a.h&&(jI(a),a.F.stop(),yield a.h.destroy(),a.h=null,a.C.removeChild(a.a.a),a.a=null,a.w.stop(),a.w=null,a.j=!1)})}remove(a,b){if(null==this.h)return!1;this.f=this.f.filter(c=>c.startTime<a||c.endTime>=b);this.m=null;iI(this,!0);return!0}isTextVisible(){return this.j}setTextVisibility(a){null!=this.h&&this.j!==a&&((this.j=a)?(this.F.Va(.25),this.L.enableResizeObserver&&this.w.start(),iI(this,!0)):(this.F.stop(),this.w.stop(),jI(this)))}V(){iI(this,!0)}};_.x(rH,tI);
25
- tI.prototype.setTextVisibility=tI.prototype.setTextVisibility;tI.prototype.isTextVisible=tI.prototype.isTextVisible;tI.prototype.remove=tI.prototype.remove;tI.prototype.destroy=tI.prototype.destroy;tI.prototype.append=tI.prototype.append;var uI=class{ba(a){return!!a.enableHtmlCue&&!_.ji()}create(a){return new tI(a)}};_.x("clpp.htmlcue.HtmlCueComponent",class extends _.Lp{f(){_.xl("html",new uI)}a(){}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 qH="Unsupported unit",rH="clpp-text-plain",sH="clpp-text-ttml",tH="clpp.htmlcue.HtmlTextDisplayer",uH="initial",vH=function(a,b){let c=0,d=a.length-1;for(;c<=d;){const e=c+d>>1,f=b(a[e]);if(0===f)return e;0<f?c=e+1:d=e-1}return-1},wH=function(a){if(!a.input)return null;var b=a.input.match(/^([^<]*)(<[^>]+>?)?/);b=b[1]?b[1]:b[2];a.input=a.input.substr(b.length);return b},yH=function(a){let b=null;for(;b=a.match(/&(amp|lt|gt|lrm|rlm|nbsp);/);)a=a.replace(b[0],c=>xH[c]);return a},AH=
2
+ function(a,b){zH(a,b);Array.from(b.getElementsByTagName("*")).forEach(c=>{zH(a,c)})},zH=function(a,b){for(const c in a)null!=a[c]&&(b.style[c]=a[c])},BH=function(a,b){return 0===a?"0":a+b},CH=function(a,b){return 1>Math.abs(a-b)||a<b},DH=function(a,b){return a<b&&1<Math.abs(a-b)},EH=function(a,b){return a>b&&1<Math.abs(a-b)},FH=function(a,b){return 1>Math.abs(a-b)||a>b},HH=function(a){const b=a.getBoundingClientRect();var c=getComputedStyle(a,null);const d=parseFloat(c.getPropertyValue("border-left-width"))||
3
+ 0,e=parseFloat(c.getPropertyValue("border-right-width"))||0;var f=parseFloat(c.getPropertyValue("border-top-width"))||0;c=parseFloat(c.getPropertyValue("border-bottom-width"))||0;const g=(b.top||a.offsetTop)+f;f=(b.height||a.offsetHeight)-f-c;return new GH(b.left+d,b.right+e,g,(b.bottom||g+f)+c,f,(b.width||a.offsetWidth)-d-e)},IH=function(a){return new GH(a.f,a.g,a.h,a.a,a.height,a.width)},JH=function(a,b){return b.some(c=>DH(a.f,c.g)&&EH(a.g,c.f)&&DH(a.h,c.a)&&EH(a.a,c.h))},KH=function(a,b){return FH(a.h,
4
+ b.h)&&CH(a.a,b.a)&&FH(a.f,b.f)&&CH(a.g,b.g)},LH=function(a,b,c){switch(c){case "+x":return DH(a.f,b.f);case "-x":return EH(a.g,b.g);case "+y":return DH(a.h,b.h);case "-y":return EH(a.a,b.a);default:throw Error("Unknown axis");}},MH=function(a){return a.f.writingMode===_.yo},NH=function(a){var b=a.a.childNodes[0],c=a.a.getBoundingClientRect();const d=b.getClientRects();b=c.height/d.length;c=c.width/d.length;return MH(a)?b:c},OH=function(a){switch(a.f.writingMode){case _.yo:return"horizontal-tb";case _.Ge:return _.Ge;
5
+ case _.He:return _.He;default:throw Error("Unknown writing mode");}},PH=function(a){switch(a.f.positionAlign){case _.ld:return _.id;case "auto":case _.uc:return _.xo;case _.md:return _.de}return a.f.textAlign},QH=function(a,b){if(typeof a.f.position===_.p&&typeof a.f.size===_.p)switch(b){case _.ld:return a.f.position;case "auto":case _.uc:return a.f.position-a.f.size/2;case _.md:return a.f.position-a.f.size}return 0},RH=function(a){if(!a.f.positionAlign)switch(a.f.textAlign){case _.id:case _.id:return _.ld;
6
+ case _.xo:return _.uc;case _.de:case _.de:return _.md}return a.f.positionAlign},UH=function(a,b,c){return(SH(a)||TH(a))&&_.qf(c)?BH(c,_.Xd):SH(a)&&_.z(c)?BH(0,_.Xd):MH(a)&&_.qf(b)?BH(b,"%"):uH},VH=function(a,b,c){return MH(a)&&_.qf(c)?BH(c,_.Xd):(SH(a)||TH(a))&&_.qf(b)?BH(b,"%"):uH},TH=function(a){return a.f.writingMode===_.He},SH=function(a){return a.f.writingMode===_.Ge},WH=function(a,b){if(a.h)switch(b.writingMode){case _.yo:return["-y"];case _.Ge:return["+x"];case _.He:return["-x"]}a=[];switch(b.writingMode){case _.yo:a=
7
+ ["+y","-y"];break;case _.Ge:a=["+x","-x"];break;case _.He:a=["-x","+x"]}0>b.line&&(a=a.reverse());return a},XH=function(a){for(a.g=[];0<a.f.childNodes.length;)a.f.removeChild(a.f.childNodes[0]);a.a=HH(a.j.a)},YH=function(a,b){XH(a.g);a.j.unshift(b);for(const c of a.j)a.g.append(c)},ZH=function(a,b,c){a=a.f;const d=a.viewportAnchorUnits;if(d===_.Fo)return a.viewportAnchorY/100*c-a.regionAnchorY/100*b;if(0===d)return a.viewportAnchorY-a.regionAnchorY;throw Error(qH);},aI=function(a,b,c,d){const e=document.createElement(_.pe),
8
+ f=e.dataset;f.name=b;f.for=c;d&&(f.name=`${b} (sandbox)`,f.sandbox=!0);c=document.head;c.appendChild(e);$H(a,c,b);a.f.debug(`Created HTML style element #${b}.`);return e.sheet},bI=function(a,b){a=`.${a.j} .clpp-text-container`;const c=`${a} .clpp-text-cue`;return b=b.replace(/::cue\((#[^)]+)\)/g,`${a} $1`).replace(/::cue\(([^)]+)\)/g,`${c} $1`).replace(/::cue-region\(([^)]+)\)/g,`${a} $1 .clpp-text-cue`).replace(/::cue/g,c).replace(/::cue-region/g,`${a} .clpp-text-cue-region .clpp-text-cue`).replace(/::ttml/g,
9
+ a)},cI=function(a,b){let c=!1;try{a.g.insertRule(b,0);const d=a.g.cssRules[0];d instanceof CSSStyleRule&&(c=d.selectorText.split(",").every(e=>0===e.trim().indexOf(`.${a.j} `)))}catch(d){}0<a.g.cssRules.length&&a.g.deleteRule(0);return c},dI=function(a){if(null!=a.a){for(;0<a.a.cssRules.length;)a.a.deleteRule(0);a.m=[]}},$H=function(a,b,c){const d=new MutationObserver(e=>{e.forEach(f=>{f.removedNodes.forEach(g=>{g.id===c&&a.f.error(`PRESTOplay HTML style element #${c} has `+"been unexpectedly removed! Some styles will not work!")})})});
10
+ d.observe(b,{subtree:!1,childList:!0});a.o.push(()=>d.disconnect())},eI=function(a){a=_.kf(a.getConfiguration().htmlcue||{});_.z(a.stretchSmpteImage)&&(a.stretchSmpteImage=!1);_.z(a.enableResizeObserver)&&(a.enableResizeObserver=!0);return a},kI=function(a,b){if((b||a.j)&&a.C){var c=a.l.getPosition();if(b||a.I!==c&&a.l.getState()===_.Sl)if(a.I=c,c=fI(a,c),b||(b=a.m,b=!(null===b&&null===c||null!==b&&null!==c&&b.start===c.start&&b.end===c.end)),b&&(a.m=c,gI(a),c)){b={color:a.getFontColor()||void 0,
11
+ backgroundColor:a.getBackgroundColor()||void 0,fontFamily:a.getFontFamily()||void 0,textShadow:_.oo(a)||void 0};c=a.f.slice(c.start,c.end+1);for(const k of c){c=a;var d=k,e=b,f=c.a.a,g=null;switch(d.payloadType){case _.Oe:g="clpp-text-vtt";break;case _.xe:g=sH;break;case _.wo:g=rH}g&&!f.classList.contains(g)&&_.mm(f,g);f=HH(c.a.a);if(0===f.width||0===f.height)c.L.warn("The height or width of the `.clpp-text-container` element is zero. Captions will not be displayed. Please check if the `clpp.styles.css` file has been included.");
12
+ else{zH({fontSize:hI(c,d.containerRows)},c.a.a);f=null;g=d.payloadType===_.Oe;var h=d.payloadType===_.xe;d.region&&(g||h||d.backgroundImage)&&(c.A.has(d.region.id)?f=c.A.get(d.region.id):(f=new iI(d.region,{}),c.A.set(d.region.id,f),YH(c.a,f)));d=new jI(d,c.K,e);f?YH(f,d):YH(c.a,d)}}}}},lI=function(a){gI(a);a.I=null;a.m=null;a.f=[]},mI=function(a,b){return a.startTime<=b&&a.endTime>b},fI=function(a,b){var c=vH(a.f,d=>mI(d,b)?0:b!==d.startTime?b-d.startTime:b-d.endTime);if(-1===c)return null;{let d=
13
+ c;for(;0<=d-1&&mI(a.f[d-1],b);)d--;for(;c+1<a.f.length&&mI(a.f[c+1],b);)c++;return{start:d,end:c}}},gI=function(a){a.A.clear();if(a.a){const b=a.a.a;b.classList.remove("clpp-text-vtt");b.classList.remove(sH);b.classList.remove(rH);a=a.a;XH(a.g);a.j=[]}},hI=function(a,b){const c=HH(a.a.a).height;if(null!==a.H)return a.getFontSize();if(null!==a.B)return a=a.getFontSizePercent(),`${Math.round(c*a)}px`;if(typeof b===_.p&&0<b)return`${Math.round(c/b)}px`;a=a.getFontSizePercent();return`${Math.round(c*
14
+ a)}px`},qI=class{parse(a){a={input:a};const b=_.om(_.Qc),c=[];let d=b;for(var e;null!==(e=wH(a));)if("\x3c"===e[0])if("/"===e[1])c.length&&c[c.length-1]===e.substr(2).replace("\x3e","")&&(c.pop(),d=d.parentNode);else{if(e=e.match(/^<([^.\s/0-9>]+)(\.[^\s\\>]+)?([^>\\]+)?(\\?)>?$/)){var f=e[1];var g=e[3];var h=nI[f];h?(h=_.om(h),(f=oI[f])&&g&&h.setAttribute(f,g.trim()),g=h):g=null;!g||pI[g.localName]&&pI[g.localName]!==d.localName||(e[2]&&(g.className=e[2].substr(1).replace(/\./g," ")),c.push(e[1]),
15
+ d.appendChild(g),d=g)}}else d.appendChild(document.createTextNode(yH(e)));return b}},nI={c:"c",i:"i",b:"b",u:"u",ruby:"ruby",rt:"rt",v:"v",lang:"lang"},oI={v:"voice",lang:"lang"},pI={rt:"ruby"},xH={"\x26amp;":"\x26","\x26lt;":"\x3c","\x26gt;":"\x3e","\x26lrm;":"\u200e","\x26rlm;":"\u200f","\x26nbsp;":"\u00a0"};var GH=class{constructor(a,b,c,d,e,f){this.f=a;this.g=b;this.h=c;this.a=d;this.height=e;this.width=f}};var rI=class{constructor(a,b,c){this.id=a;this.o=b;this.A=c;this.a=this.m();this.h=!1}init(){this.h=!0}w(){return!1}};var jI=class extends rI{constructor(a,b,c){super(a.id,"clpp-text-cue",{});this.j=b;this.f=a;this.g=!!this.f.backgroundImage;this.B=c}w(){return!this.g&&!(this.f.region&&this.f.region.displayAlign)}init(a){super.init(a);if(this.g)_.mm(this.a,"clpp-text-cue-image"),this.a.style.backgroundImage=`url("${this.f.backgroundImage}")`,this.j.stretchSmpteImage&&(this.a.style.backgroundSize="contain");else if(a){var b=this.f;if(b.payloadType===_.xe){var c=_.om(_.Qc);c.innerHTML=b.payload;b=c}else b.payloadType===
16
+ _.Oe?b=(new qI).parse(b.payload):(c=_.om(_.Qc),c.textContent=b.payload,b=c);_.mm(b,this.o);this.id&&(b.id=this.id);for(d of this.f.cssClassList)_.mm(b,d);zH({writingMode:OH(this)},b);var d=b;this.a.appendChild(d);_.mm(this.a,"clpp-text-wrapper");for(var e of this.f.cssClassList)_.mm(this.a,`clpp-text-wrapper__${e}`);_.z(this.f.line)&&(this.f.lineInterpretation=_.zo,this.f.line=MH(this)?-1:0);e=OH(this);zH({writingMode:e,webkitWritingMode:e,direction:uH,textAlign:PH(this)},this.a);if(!this.f.region||
17
+ !this.f.region.displayAlign){e=QH(this,RH(this));zH({position:"absolute",left:UH(this,e,null),right:TH(this)&&_.z(null)?BH(0,_.Xd):uH,top:VH(this,e,null),width:MH(this)?BH(this.f.size,"%"):uH,height:SH(this)||TH(this)?BH(this.f.size,"%"):uH},this.a);b=this.f;a=MH(this)?a.height:a.width;c=NH(this);if(b.lineInterpretation===_.zo){var f=c*Math.round(b.line);Math.abs(f)>a&&(f=c*(0>b.line?0:-1));0>f&&(f+=a)}else{f=c/a*100;let g=b.line;switch(b.lineAlign){case _.uc:g-=f/2;break;case _.Yc:g-=f}f=Math.round(g/
18
+ 100*a)}TH(this)&&(f=a-f-c);a=f;zH({left:UH(this,e,a),right:TH(this)&&_.z(a)?BH(0,_.Xd):uH,top:VH(this,e,a)},this.a)}AH(this.B,d)}}m(){return _.om(_.Qc)}};var sI=class{constructor(a,b){this.j=a;this.f=a.a;this.h=void 0===b?!1:b;this.a=HH(a.a);this.g=[]}append(a){const b=a.a;b.style.visibility=_.dd;this.f.appendChild(b);a.h||a.init(this.a);if(a.w()){a:{var c=HH(a.a);var d=WH(this,a.f),e=NH(a);const g=IH(c);let h=null,k=0;for(const l of d){for(;LH(c,this.a,l)||KH(c,this.a)&&JH(c,this.g);){d=c;var f=e;switch(l){case "+x":d.f+=f;d.g+=f;break;case "-x":d.f-=f;d.g-=f;break;case "+y":d.h+=f;d.a+=f;break;case "-y":d.h-=f,d.a-=f}}if(this.h||KH(c,this.a))break a;
19
+ d=this.a;d=Math.max(0,Math.min(c.g,d.g)-Math.max(c.f,d.f))*Math.max(0,Math.min(c.a,d.a)-Math.max(c.h,d.h))/(c.height*c.width);d>k&&(h=IH(c),k=d);c=IH(g)}c=h||g}zH({top:BH(c.h-this.a.h,_.Xd),bottom:BH(this.a.a-c.a,_.Xd),left:BH(c.f-this.a.f,_.Xd),right:BH(this.a.g-c.g,_.Xd),height:BH(c.height,_.Xd),width:BH(c.width,_.Xd)},a.a)}b.style.visibility="visible";this.g.push(HH(a.a))}};var tI=class extends rI{constructor(a,b,c){super(a,b,c);this.g=null;this.j=[]}init(){this.g=new sI(this);this.h=!0}m(){const a=_.om(_.Qc);_.mm(a,this.o);this.id&&(a.id=this.id);return a}};var iI=class extends tI{constructor(a,b){super(a.id,"clpp-text-cue-region",b);this.f=a}init(a){a:{var b=this.f;switch(b.widthUnits){case 0:b=b.width;break a;case _.Fo:b=b.width/100*a.width;break a;default:throw Error(qH);}}var c=this.f;var d=c.viewportAnchorUnits;if(d===_.Fo)c=c.viewportAnchorX/100*a.width-c.regionAnchorX/100*b;else if(0===d)c=c.viewportAnchorX-c.regionAnchorX;else throw Error(qH);d=a.height;const e=ZH(this,d,a.height);zH(this.A,this.a);zH({left:BH(c,_.Xd),top:BH(e,_.Xd),width:BH(b,
20
+ _.Xd),height:BH(d,_.Xd)},this.a);this.f.writingMode&&zH({display:"flex","flex-direction":this.f.writingMode},this.a);this.f.displayAlign&&zH({"justify-content":this.f.displayAlign},this.a);for(var f of this.f.cssClassList)_.mm(this.a,f);a:switch(f=this.f,f.heightUnits){case 0:f=f.height;break a;case _.Fo:f=f.height/100*a.height;break a;case 2:f=f.height;c=new jI(new _.Co(0,1,"Lorem ipsum",_.wo),{},{});b=c.a;this.a.appendChild(b);c.init(HH(this.a));c=b.getBoundingClientRect().height;this.a.removeChild(b);
21
+ b=c;f*=b;break a;default:throw Error(qH);}a=ZH(this,f,a.height);zH({top:BH(a,_.Xd),height:BH(f,_.Xd)},this.a);this.g=new sI(this,!0);this.h=!0}getId(){return this.f.id}};var uI=class{constructor(a,b){this.f=new _.O("clpp.htmlcue.StyleManager");this.o=[];this.j=a.getSurface().getUniqueCssClass();this.h=b;this.m=[];this.a=aI(this,this.h,this.j);this.g=aI(this,this.h,this.j,!0);this.g.disabled=!0;this.f.debug(`Stylesheet ${this.h} has been created.`)}appendRule(a){if(null!=this.a&&!this.m.some(b=>b===a)){const b=bI(this,a);if(cI(this,b)){try{this.a.insertRule(b,this.a.cssRules.length),this.f.debug(`Added CSS rule ${b}`)}catch(c){this.f.error(`An error occurred when adding a CSS rule: ${b}`)}this.m.push(a)}else this.f.warn(`Stylesheet ${this.h} ignoring the CSS rule `+
22
+ `because it's not safe: ${b}`)}}destroy(){const a=this;return _.w(function*(){null!=a.a&&(a.o.forEach(b=>b()),a.o=[],dI(a),document.head.removeChild(a.a.ownerNode),document.head.removeChild(a.g.ownerNode),a.a=null,a.g=null,a.f.debug(`Stylesheet ${a.h} has been destroyed.`))})}};var vI=class extends _.gq{constructor(a){super(a);this.L=new _.O(tH);this.l=a;this.K=eI(a);this.j=!1;this.f=[];this.C=a.getSurface().getContainer();this.h=new uI(a,"CLPP Subtitle Styles");this.a=new tI(null,"clpp-text-container",{});this.w=new _.bq(a.getSurface(),this.U.bind(this));this.I=null;this.C?(this.C.appendChild(this.a.a),this.a.init(null)):this.L.warn("No container element! Subtitles will not appear. Please check your player surface configuration or switch to NativeTextDisplayer.");this.F=
23
+ new _.Th(()=>{kI(this)});this.A=new Map;this.m=null}append(a,b){if(null!=this.h&&0!==a.length){for(const c of b)this.h.appendRule(c);a.sort((c,d)=>c.startTime!==d.startTime?c.startTime-d.startTime:c.endTime-d.endTime);b=this.f.findIndex(c=>c.startTime>=a[0].startTime);0===b?this.f=[]:0<b&&this.f.splice(0,b);for(const c of a)this.f.some(d=>d.payload!==c.payload?!1:d.startTime!==c.startTime?!1:d.endTime!==c.endTime?!1:!0)||this.f.push(c);this.m=null;kI(this,!1)}}g(){null==this.h||kI(this,!0)}destroy(){const a=
24
+ this;return _.w(function*(){null!=a.h&&(lI(a),a.F.stop(),yield a.h.destroy(),a.h=null,a.C.removeChild(a.a.a),a.a=null,a.w.stop(),a.w=null,a.j=!1)})}remove(a,b){if(null==this.h)return!1;this.f=this.f.filter(c=>c.startTime<a||c.endTime>=b);this.m=null;kI(this,!0);return!0}isTextVisible(){return this.j}setTextVisibility(a){null!=this.h&&this.j!==a&&((this.j=a)?(this.F.Ua(.25),this.K.enableResizeObserver&&this.w.start(),kI(this,!0)):(this.F.stop(),this.w.stop(),lI(this)))}U(){kI(this,!0)}};_.x(tH,vI);
25
+ vI.prototype.setTextVisibility=vI.prototype.setTextVisibility;vI.prototype.isTextVisible=vI.prototype.isTextVisible;vI.prototype.remove=vI.prototype.remove;vI.prototype.destroy=vI.prototype.destroy;vI.prototype.append=vI.prototype.append;var wI=class{da(a){return!!a.enableHtmlCue&&!_.ii()}create(a){return new vI(a)}};_.x("clpp.htmlcue.HtmlCueComponent",class extends _.Lp{f(){_.wl("html",new wI)}a(){}id(){return _.qe}});};f.call(g, window);
package/cl.ima.js CHANGED
@@ -1,16 +1,16 @@
1
- import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var ZG="clpp.ima.AdsManagerFactory",$G=function(a){a=a.K;const b=new google.ima.AdsRenderingSettings;b.restoreCustomPlaybackStateOnAdBreakComplete=!1;typeof a.bitrate===_.p&&(b.bitrate=a.bitrate);b.enablePreloading=typeof a.enablePreloading===_.gc?a.enablePreloading:!0;typeof a.loadVideoTimeout===_.p&&(b.loadVideoTimeout=a.loadVideoTimeout);Array.isArray(a.mimeTypes)&&(b.mimeTypes=a.mimeTypes);typeof a.playAdsAfterTime===_.p&&(b.playAdsAfterTime=a.playAdsAfterTime);typeof a.useStyledLinearAds===
2
- _.gc&&(b.useStyledLinearAds=a.useStyledLinearAds);b.uiElements=Array.isArray(a.uiElements)?a.uiElements:[];return b},aH=function(a){const b=a.a,c=a.w,d=google.ima.AdEvent.Type;c.on(b,d.LOADED,a.V.bind(a));c.on(b,d.CONTENT_PAUSE_REQUESTED,a.jc.bind(a));c.on(b,d.STARTED,a.X.bind(a));c.on(b,d.LOG,a.Ia.bind(a));c.on(b,d.AD_PROGRESS,a.Ya.bind(a));c.on(b,d.AD_BUFFERING,a.ea.bind(a));c.on(b,d.FIRST_QUARTILE,a.S.bind(a));c.on(b,d.MIDPOINT,a.Wa.bind(a));c.on(b,d.THIRD_QUARTILE,a.$.bind(a));c.on(b,d.PAUSED,
3
- a.Xa.bind(a));c.on(b,d.RESUMED,a.Za.bind(a));c.on(b,d.CLICK,a.O.bind(a));c.on(b,d.SKIPPED,a.W.bind(a));c.on(b,d.IMPRESSION,a.T.bind(a));c.on(b,d.COMPLETE,a.ja.bind(a));c.on(b,d.CONTENT_RESUME_REQUESTED,a.mc.bind(a));c.on(b,d.ALL_ADS_COMPLETED,a.Pb.bind(a))},bH=function(a,b){const c=b?a.ca.create(b.getErrorCode()):null;a.l.onError(new _.H(1,9,10003,{errorType:c},b))},cH=function(a,b,c){c=c&&c.getAd();let d=null;c&&(d={ad:new V(c,a.B,a.L)});a.l.trigger(new _.C(b,d))},dH=function(a){a.A=null;cH(a,_.Jb);
4
- a.m&&a.l.getSurface().hide(a.m)},eH=function(a){_.om(a.j,{visibility:"visible"})},gH=function(a){return _.w(function*(){a.J.initialize();const b=!!a.l.getConfiguration().muted;(yield a.G.canPlay(b))?fH(a):(cH(a,_.ec),a.M.warn(_.ia))})},hH=function(a,b){return _.w(function*(){a.J.initialize();yield b.play();fH(a)})},fH=function(a){a.a.init(a.j.offsetWidth,a.j.offsetHeight,google.ima.ViewMode.NORMAL);a.a.start();a.F=!0},iH=function(){return!window.google||!google.ima||!google.ima.AdsLoader},V=class{constructor(a,
5
- b,c){this.a=a;this.f=a.getAdPodInfo();this.h=b;this.g=c}nb(){return"Google IMA SDK"}ob(){return google.ima.VERSION}tb(){return 0}getId(){return this.a.getAdId()}getCreativeId(){return this.a.getCreativeId()}getApiFramework(){return this.a.getApiFramework()}getAdSystem(){return this.a.getAdSystem()}getAdvertiserName(){return this.a.getAdvertiserName()}getTitle(){return this.a.getTitle()}getDuration(){return this.a.getDuration()}getSkipTimeOffset(){return this.a.getSkipTimeOffset()}Zb(){return this.f?
6
- this.f.getIsBumper():!1}Eb(){let a=null;const b=this.a,c=Object.keys(b).find(d=>typeof b[d]===_.Cd&&typeof b[d].clickThroughUrl===_.ne);c&&(a=b[c].clickThroughUrl);return a}getMediaUrl(){return this.a.getMediaUrl()}qb(){return this.a.getVastMediaWidth()}pb(){return this.a.getVastMediaHeight()}eb(){return this.a.getVastMediaBitrate()}Pa(){return this.g?2:this.h?1:0}getPodIndex(){return this.f?this.f.getPodIndex():0}Fb(){return this.f?this.f.getTimeOffset():0}Gb(){return this.f?this.f.getAdPosition():
7
- 1}sb(){return this.f?this.f.getTotalAds():1}getWrapperAdIds(){return this.a.getWrapperAdIds()}getWrapperAdSystems(){return this.a.getWrapperAdSystems()}getWrapperCreativeIds(){return this.a.getWrapperCreativeIds()}};V.prototype.getWrapperCreativeIds=V.prototype.getWrapperCreativeIds;V.prototype.getWrapperAdSystems=V.prototype.getWrapperAdSystems;V.prototype.getWrapperAdIds=V.prototype.getWrapperAdIds;V.prototype.getSequenceLength=V.prototype.sb;V.prototype.getPositionInSequence=V.prototype.Gb;
8
- V.prototype.getPodTimeOffset=V.prototype.Fb;V.prototype.getPodIndex=V.prototype.getPodIndex;V.prototype.getPodType=V.prototype.Pa;V.prototype.getMediaBitrate=V.prototype.eb;V.prototype.getMediaHeight=V.prototype.pb;V.prototype.getMediaWidth=V.prototype.qb;V.prototype.getMediaUrl=V.prototype.getMediaUrl;V.prototype.getClickThroughUrl=V.prototype.Eb;V.prototype.isBumper=V.prototype.Zb;V.prototype.getSkipTimeOffset=V.prototype.getSkipTimeOffset;V.prototype.getDuration=V.prototype.getDuration;
9
- V.prototype.getTitle=V.prototype.getTitle;V.prototype.getAdvertiserName=V.prototype.getAdvertiserName;V.prototype.getAdSystem=V.prototype.getAdSystem;V.prototype.getApiFramework=V.prototype.getApiFramework;V.prototype.getCreativeId=V.prototype.getCreativeId;V.prototype.getId=V.prototype.getId;V.prototype.getTechnology=V.prototype.tb;V.prototype.getAdManagerVersion=V.prototype.ob;V.prototype.getAdManagerName=V.prototype.nb;var jH=class{create(a){const b=google.ima.AdError.ErrorCode;switch(a){case b.VAST_LOAD_TIMEOUT:case b.VAST_MEDIA_LOAD_TIMEOUT:case b.FAILED_TO_REQUEST_ADS:return 0;case b.VIDEO_PLAY_ERROR:return 1;default:return 2}}};var kH=class{constructor(a){this.a=a}getCuePoints(){return this.a}Hb(){return 0<=this.a.indexOf(0)||0===this.a.length}fb(){return 0<=this.a.indexOf(-1)}};kH.prototype.hasPostroll=kH.prototype.fb;kH.prototype.hasPreroll=kH.prototype.Hb;kH.prototype.getCuePoints=kH.prototype.getCuePoints;var lH=class{constructor(a){this.l=a;this.j=a.getSurface().getMedia();a=this.l.getConfiguration();this.K=a=_.kf(a.ima||{});this.m=this.l.Vb("ima").nc();this.J=this.l.Vb("ima").g;this.o=this.l.Vb("ima").a;this.G=new _.dq;this.M=new _.O("clpp.ima");this.h=this.a=null;this.f=new _.Yk;this.F=!1;this.w=new _.vo;this.ca=new jH;this.A=null;this.I=this.C=this.L=this.B=!1;this.g=null;{a=this.w;const b=google.ima.AdErrorEvent.Type.AD_ERROR;a.one(this.o,google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED,
10
- this.Ob.bind(this));a.on(this.o,b,this.Bb.bind(this));a.one(this.j,_.Xc,this.Qb.bind(this))}}Ob(a){this.a=a.getAdsManager(this.j,$G(this));this.a.isCustomPlaybackUsed()?(this.M.warn("IMA plugin does not work correctly right now on platforms with single video element. Disposing."),this.l.onError(new _.H(1,9,10002)),this.dispose()):(this.h=new _.bq(this.l.getSurface(),(b,c,d)=>{this.a.resize(b,c,d?google.ima.ViewMode.FULLSCREEN:google.ima.ViewMode.NORMAL)}),a=this.a.getCuePoints(),this.g=new kH(a),
11
- this.l.trigger(new _.C(_.Mb,{adsTimeline:this.g})),aH(this));this.f.resolve()}Bb(a){bH(this,a.getError());this.f.resolve()}jc(a){const b=this;return _.w(function*(){b.C=!0;yield b.l.pause();_.om(b.j,{visibility:_.bd});cH(b,_.vb,a);b.h.start()})}V(a){a.getAd().isLinear()?cH(this,_.Cb,a):(this.a.discardAdBreak(),this.B||(this.B=!0,this.l.play()))}X(a){this.A=a.getAd().getDuration();cH(this,_.Ib,a);this.l.getSurface().show(this.m)}Ia(a){a=a.getAdData();bH(this,a?a.adError:null);dH(this)}Ya(a){cH(this,
12
- _.Fb,a)}ea(a){cH(this,_.xb,a)}S(a){cH(this,_.Ab,a)}Wa(a){cH(this,_.Db,a)}$(a){cH(this,_.Kb,a)}Xa(a){cH(this,_.Eb,a)}Za(a){cH(this,_.Gb,a)}O(a){this.pause();cH(this,_.yb,a)}W(a){cH(this,_.Hb,a);dH(this)}T(a){cH(this,_.Bb,a)}ja(a){cH(this,_.zb,a);dH(this)}mc(){this.B=!0;if(!this.C)return this.l.play();this.C=!1;this.h.stop();this.l.isEnded()||this.l.play();cH(this,_.wb);eH(this)}Pb(){this.I=!0}Qb(){this.L=!0;this.o.contentComplete()}load(){const a=this;return _.w(function*(){var b=a.l;const c=a.K;try{if(typeof c.adTagUrl!==
13
- _.ne)throw new _.H(1,9,10001,{missingKeys:"adTagUrl"});}catch(f){return b.onError(f),a.f.resolve(),a.f}if(!c.adTagUrl)return a.f.resolve(),a.f;b=yield a.G.canPlay(!1);const d=yield a.G.canPlay(!0),e=new google.ima.AdsRequest;e.adTagUrl=c.adTagUrl;e.setAdWillAutoPlay(b);e.setAdWillPlayMuted(d);a.o.requestAds(e);return a.f})}start(a){const b=this;return _.w(function*(){b.a&&b.g&&!b.F?b.g.Hb()?yield gH(b):yield hH(b,a):yield a.play()})}resume(){this.a&&this.a.resume()}pause(){this.a&&this.a.pause()}skip(){this.a&&
14
- this.a.skip()}getVolume(){return this.a?this.a.getVolume():1}setVolume(a){this.a&&this.a.setVolume(a)}getPosition(){if(!this.a||null===this.A)return-1;const a=this.a.getRemainingTime();return 0>a?0:this.A-a}dispose(){return(new Promise(a=>{this.F&&this.g&&this.g.fb()&&!this.I?(this.w.one(this.a,google.ima.AdEvent.Type.ALL_ADS_COMPLETED,()=>{a();this.m&&this.l.getSurface().hide(this.m)}),_.Qf(this.w,this.a,[google.ima.AdEvent.Type.LOADED,google.ima.AdEvent.Type.STARTED],()=>{this.a&&this.a.discardAdBreak()})):
15
- a();this.a.discardAdBreak();this.o.contentComplete()})).then(()=>{eH(this);this.w.release();this.h&&(this.h.stop(),this.h=null);this.a&&(this.a.destroy(),this.a=null)})}};lH.prototype.getPosition=lH.prototype.getPosition;lH.prototype.setVolume=lH.prototype.setVolume;lH.prototype.getVolume=lH.prototype.getVolume;lH.prototype.skip=lH.prototype.skip;lH.prototype.pause=lH.prototype.pause;lH.prototype.resume=lH.prototype.resume;var mH=class extends _.jq{constructor(){super();this.a=this.g=this.f=null}onPlayerCreated(a){if(iH())return a.onError(new _.H(1,9,1E4));this.f=_.mm(_.Oc,{"class":"clpp-ima clpp-hidden"});a.getSurface().addElementToContainer(this.f);this.g=new google.ima.AdDisplayContainer(this.f,a.getSurface().getMedia());this.a=new google.ima.AdsLoader(this.g);this.a.getSettings().setPlayerType(_.pa);this.a.getSettings().setPlayerVersion(_.da);this.a.getSettings().setAutoPlayAdBreaks(!0)}onPlayerWillDestroy(a){this.a&&
16
- (this.a.destroy(),this.a=null);this.g&&(this.g.destroy(),this.g=null);this.f&&(a.getSurface().removeElementFromContainer(this.f),this.f=null)}uf(){return this.a}sf(){return this.g}nc(){return this.f}id(){return"ima"}};_.x("clpp.ima.ImaPlugin",mH);mH.prototype.getAdContainer=mH.prototype.nc;mH.prototype.getAdDisplayContainer=mH.prototype.sf;mH.prototype.getAdsLoader=mH.prototype.uf;mH.Id="ima";mH.isSdkMissing=iH;_.Tm(new class{create(){return new mH}});var nH=class{constructor(){this.a=new _.O(ZG)}name(){return ZG}ba(a,b){return a.namespace()===_.yc?!1:iH()?(this.a.warn("IMA SDK is not loaded."),!1):!(!b||!b.ima)}create(a){return new lH(a)}};nH.prototype.create=nH.prototype.create;nH.prototype.isSupported=nH.prototype.ba;nH.prototype.name=nH.prototype.name;_.jm(new nH);};f.call(g, window);
1
+ import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var aH="clpp.ima.AdsManagerFactory",bH=function(a){a=a.J;const b=new google.ima.AdsRenderingSettings;b.restoreCustomPlaybackStateOnAdBreakComplete=!1;typeof a.bitrate===_.p&&(b.bitrate=a.bitrate);b.enablePreloading=typeof a.enablePreloading===_.lc?a.enablePreloading:!0;typeof a.loadVideoTimeout===_.p&&(b.loadVideoTimeout=a.loadVideoTimeout);Array.isArray(a.mimeTypes)&&(b.mimeTypes=a.mimeTypes);typeof a.playAdsAfterTime===_.p&&(b.playAdsAfterTime=a.playAdsAfterTime);typeof a.useStyledLinearAds===
2
+ _.lc&&(b.useStyledLinearAds=a.useStyledLinearAds);b.uiElements=Array.isArray(a.uiElements)?a.uiElements:[];return b},cH=function(a){const b=a.a,c=a.w,d=google.ima.AdEvent.Type;c.on(b,d.LOADED,a.U.bind(a));c.on(b,d.CONTENT_PAUSE_REQUESTED,a.hc.bind(a));c.on(b,d.STARTED,a.W.bind(a));c.on(b,d.LOG,a.Ha.bind(a));c.on(b,d.AD_PROGRESS,a.Xa.bind(a));c.on(b,d.AD_BUFFERING,a.ca.bind(a));c.on(b,d.FIRST_QUARTILE,a.R.bind(a));c.on(b,d.MIDPOINT,a.Va.bind(a));c.on(b,d.THIRD_QUARTILE,a.Z.bind(a));c.on(b,d.PAUSED,
3
+ a.Wa.bind(a));c.on(b,d.RESUMED,a.Ya.bind(a));c.on(b,d.CLICK,a.N.bind(a));c.on(b,d.SKIPPED,a.V.bind(a));c.on(b,d.IMPRESSION,a.S.bind(a));c.on(b,d.COMPLETE,a.ka.bind(a));c.on(b,d.CONTENT_RESUME_REQUESTED,a.lc.bind(a));c.on(b,d.ALL_ADS_COMPLETED,a.Ob.bind(a))},dH=function(a,b){const c=b?a.aa.create(b.getErrorCode()):null;a.l.onError(new _.G(1,9,10003,{errorType:c},b))},eH=function(a,b,c){c=c&&c.getAd();let d=null;c&&(d={ad:new V(c,a.B,a.K)});a.l.trigger(new _.C(b,d))},fH=function(a){a.A=null;eH(a,_.Lb);
4
+ a.m&&a.l.getSurface().hide(a.m)},gH=function(a){_.nm(a.j,{visibility:"visible"})},iH=function(a){return _.w(function*(){a.I.initialize();const b=!!a.l.getConfiguration().muted;(yield a.G.canPlay(b))?hH(a):(eH(a,_.gc),a.L.warn(_.ja))})},jH=function(a,b){return _.w(function*(){a.I.initialize();yield b.play();hH(a)})},hH=function(a){a.a.init(a.j.offsetWidth,a.j.offsetHeight,google.ima.ViewMode.NORMAL);a.a.start();a.F=!0},kH=function(){return!window.google||!google.ima||!google.ima.AdsLoader},V=class{constructor(a,
5
+ b,c){this.a=a;this.f=a.getAdPodInfo();this.h=b;this.g=c}mb(){return"Google IMA SDK"}nb(){return google.ima.VERSION}sb(){return 0}getId(){return this.a.getAdId()}getCreativeId(){return this.a.getCreativeId()}getApiFramework(){return this.a.getApiFramework()}getAdSystem(){return this.a.getAdSystem()}getAdvertiserName(){return this.a.getAdvertiserName()}getTitle(){return this.a.getTitle()}getDuration(){return this.a.getDuration()}getSkipTimeOffset(){return this.a.getSkipTimeOffset()}Xb(){return this.f?
6
+ this.f.getIsBumper():!1}Db(){let a=null;const b=this.a,c=Object.keys(b).find(d=>typeof b[d]===_.Bd&&typeof b[d].clickThroughUrl===_.ne);c&&(a=b[c].clickThroughUrl);return a}getMediaUrl(){return this.a.getMediaUrl()}pb(){return this.a.getVastMediaWidth()}ob(){return this.a.getVastMediaHeight()}cb(){return this.a.getVastMediaBitrate()}Oa(){return this.g?2:this.h?1:0}getPodIndex(){return this.f?this.f.getPodIndex():0}Eb(){return this.f?this.f.getTimeOffset():0}Fb(){return this.f?this.f.getAdPosition():
7
+ 1}rb(){return this.f?this.f.getTotalAds():1}getWrapperAdIds(){return this.a.getWrapperAdIds()}getWrapperAdSystems(){return this.a.getWrapperAdSystems()}getWrapperCreativeIds(){return this.a.getWrapperCreativeIds()}};V.prototype.getWrapperCreativeIds=V.prototype.getWrapperCreativeIds;V.prototype.getWrapperAdSystems=V.prototype.getWrapperAdSystems;V.prototype.getWrapperAdIds=V.prototype.getWrapperAdIds;V.prototype.getSequenceLength=V.prototype.rb;V.prototype.getPositionInSequence=V.prototype.Fb;
8
+ V.prototype.getPodTimeOffset=V.prototype.Eb;V.prototype.getPodIndex=V.prototype.getPodIndex;V.prototype.getPodType=V.prototype.Oa;V.prototype.getMediaBitrate=V.prototype.cb;V.prototype.getMediaHeight=V.prototype.ob;V.prototype.getMediaWidth=V.prototype.pb;V.prototype.getMediaUrl=V.prototype.getMediaUrl;V.prototype.getClickThroughUrl=V.prototype.Db;V.prototype.isBumper=V.prototype.Xb;V.prototype.getSkipTimeOffset=V.prototype.getSkipTimeOffset;V.prototype.getDuration=V.prototype.getDuration;
9
+ V.prototype.getTitle=V.prototype.getTitle;V.prototype.getAdvertiserName=V.prototype.getAdvertiserName;V.prototype.getAdSystem=V.prototype.getAdSystem;V.prototype.getApiFramework=V.prototype.getApiFramework;V.prototype.getCreativeId=V.prototype.getCreativeId;V.prototype.getId=V.prototype.getId;V.prototype.getTechnology=V.prototype.sb;V.prototype.getAdManagerVersion=V.prototype.nb;V.prototype.getAdManagerName=V.prototype.mb;var lH=class{create(a){const b=google.ima.AdError.ErrorCode;switch(a){case b.VAST_LOAD_TIMEOUT:case b.VAST_MEDIA_LOAD_TIMEOUT:case b.FAILED_TO_REQUEST_ADS:return 0;case b.VIDEO_PLAY_ERROR:return 1;default:return 2}}};var mH=class{constructor(a){this.a=a}getCuePoints(){return this.a}Gb(){return 0<=this.a.indexOf(0)||0===this.a.length}eb(){return 0<=this.a.indexOf(-1)}};mH.prototype.hasPostroll=mH.prototype.eb;mH.prototype.hasPreroll=mH.prototype.Gb;mH.prototype.getCuePoints=mH.prototype.getCuePoints;var nH=class{constructor(a){this.l=a;this.j=a.getSurface().getMedia();a=this.l.getConfiguration();this.J=a=_.kf(a.ima||{});this.m=this.l.Tb("ima").mc();this.I=this.l.Tb("ima").g;this.o=this.l.Tb("ima").a;this.G=new _.dq;this.L=new _.O("clpp.ima");this.h=this.a=null;this.f=new _.Xk;this.F=!1;this.w=new _.uo;this.aa=new lH;this.A=null;this.H=this.C=this.K=this.B=!1;this.g=null;{a=this.w;const b=google.ima.AdErrorEvent.Type.AD_ERROR;a.one(this.o,google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED,
10
+ this.Nb.bind(this));a.on(this.o,b,this.Ab.bind(this));a.one(this.j,_.Zc,this.Pb.bind(this))}}Nb(a){this.a=a.getAdsManager(this.j,bH(this));this.a.isCustomPlaybackUsed()?(this.L.warn("IMA plugin does not work correctly right now on platforms with single video element. Disposing."),this.l.onError(new _.G(1,9,10002)),this.dispose()):(this.h=new _.bq(this.l.getSurface(),(b,c,d)=>{this.a.resize(b,c,d?google.ima.ViewMode.FULLSCREEN:google.ima.ViewMode.NORMAL)}),a=this.a.getCuePoints(),this.g=new mH(a),
11
+ this.l.trigger(new _.C(_.Ob,{adsTimeline:this.g})),cH(this));this.f.resolve()}Ab(a){dH(this,a.getError());this.f.resolve()}hc(a){const b=this;return _.w(function*(){b.C=!0;yield b.l.pause();_.nm(b.j,{visibility:_.dd});eH(b,_.wb,a);b.h.start()})}U(a){a.getAd().isLinear()?eH(this,_.Eb,a):(this.a.discardAdBreak(),this.B||(this.B=!0,this.l.play()))}W(a){this.A=a.getAd().getDuration();eH(this,_.Kb,a);this.l.getSurface().show(this.m)}Ha(a){a=a.getAdData();dH(this,a?a.adError:null);fH(this)}Xa(a){eH(this,
12
+ _.Hb,a)}ca(a){eH(this,_.zb,a)}R(a){eH(this,_.Cb,a)}Va(a){eH(this,_.Fb,a)}Z(a){eH(this,_.Mb,a)}Wa(a){eH(this,_.Gb,a)}Ya(a){eH(this,_.Ib,a)}N(a){this.pause();eH(this,_.Ab,a)}V(a){eH(this,_.Jb,a);fH(this)}S(a){eH(this,_.Db,a)}ka(a){eH(this,_.Bb,a);fH(this)}lc(){this.B=!0;if(!this.C)return this.l.play();this.C=!1;this.h.stop();this.l.isEnded()||this.l.play();eH(this,_.xb);gH(this)}Ob(){this.H=!0}Pb(){this.K=!0;this.o.contentComplete()}load(){const a=this;return _.w(function*(){var b=a.l;const c=a.J;try{if(typeof c.adTagUrl!==
13
+ _.ne)throw new _.G(1,9,10001,{missingKeys:"adTagUrl"});}catch(f){return b.onError(f),a.f.resolve(),a.f}if(!c.adTagUrl)return a.f.resolve(),a.f;b=yield a.G.canPlay(!1);const d=yield a.G.canPlay(!0),e=new google.ima.AdsRequest;e.adTagUrl=c.adTagUrl;e.setAdWillAutoPlay(b);e.setAdWillPlayMuted(d);a.o.requestAds(e);return a.f})}start(a){const b=this;return _.w(function*(){b.a&&b.g&&!b.F?b.g.Gb()?yield iH(b):yield jH(b,a):yield a.play()})}resume(){this.a&&this.a.resume()}pause(){this.a&&this.a.pause()}skip(){this.a&&
14
+ this.a.skip()}getVolume(){return this.a?this.a.getVolume():1}setVolume(a){this.a&&this.a.setVolume(a)}getPosition(){if(!this.a||null===this.A)return-1;const a=this.a.getRemainingTime();return 0>a?0:this.A-a}dispose(){return(new Promise(a=>{this.F&&this.g&&this.g.eb()&&!this.H?(this.w.one(this.a,google.ima.AdEvent.Type.ALL_ADS_COMPLETED,()=>{a();this.m&&this.l.getSurface().hide(this.m)}),_.Pf(this.w,this.a,[google.ima.AdEvent.Type.LOADED,google.ima.AdEvent.Type.STARTED],()=>{this.a&&this.a.discardAdBreak()})):
15
+ a();this.a.discardAdBreak();this.o.contentComplete()})).then(()=>{gH(this);this.w.release();this.h&&(this.h.stop(),this.h=null);this.a&&(this.a.destroy(),this.a=null)})}};nH.prototype.getPosition=nH.prototype.getPosition;nH.prototype.setVolume=nH.prototype.setVolume;nH.prototype.getVolume=nH.prototype.getVolume;nH.prototype.skip=nH.prototype.skip;nH.prototype.pause=nH.prototype.pause;nH.prototype.resume=nH.prototype.resume;var oH=class extends _.jq{constructor(){super();this.a=this.g=this.f=null}onPlayerCreated(a){if(kH())return a.onError(new _.G(1,9,1E4));this.f=_.lm(_.Qc,{"class":"clpp-ima clpp-hidden"});a.getSurface().addElementToContainer(this.f);this.g=new google.ima.AdDisplayContainer(this.f,a.getSurface().getMedia());this.a=new google.ima.AdsLoader(this.g);this.a.getSettings().setPlayerType(_.oa);this.a.getSettings().setPlayerVersion(_.da);this.a.getSettings().setAutoPlayAdBreaks(!0)}onPlayerWillDestroy(a){this.a&&
16
+ (this.a.destroy(),this.a=null);this.g&&(this.g.destroy(),this.g=null);this.f&&(a.getSurface().removeElementFromContainer(this.f),this.f=null)}qf(){return this.a}nf(){return this.g}mc(){return this.f}id(){return"ima"}};_.x("clpp.ima.ImaPlugin",oH);oH.prototype.getAdContainer=oH.prototype.mc;oH.prototype.getAdDisplayContainer=oH.prototype.nf;oH.prototype.getAdsLoader=oH.prototype.qf;oH.Id="ima";oH.isSdkMissing=kH;_.Sm(new class{create(){return new oH}});var pH=class{constructor(){this.a=new _.O(aH)}name(){return aH}da(a,b){return a.namespace()===_.Ac?!1:kH()?(this.a.warn("IMA SDK is not loaded."),!1):!(!b||!b.ima)}create(a){return new nH(a)}};pH.prototype.create=pH.prototype.create;pH.prototype.isSupported=pH.prototype.da;pH.prototype.name=pH.prototype.name;_.im(new pH);};f.call(g, window);