@castlabs/prestoplay 6.26.0 → 6.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/cjs/cl.adobe.js +3 -3
  3. package/cjs/cl.airplay.js +3 -3
  4. package/cjs/cl.broadpeak.js +7 -7
  5. package/cjs/cl.cast.js +114 -113
  6. package/cjs/cl.conviva.js +29 -29
  7. package/cjs/cl.core.js +620 -621
  8. package/cjs/cl.crypto.js +7 -7
  9. package/cjs/cl.dash.js +84 -84
  10. package/cjs/cl.externs.js +83 -51
  11. package/cjs/cl.freewheel.js +25 -25
  12. package/cjs/cl.hls.js +79 -77
  13. package/cjs/cl.hlssmpte.js +6 -6
  14. package/cjs/cl.htmlcue.js +23 -23
  15. package/cjs/cl.ima.js +24 -24
  16. package/cjs/cl.mediatailor.js +3 -3
  17. package/cjs/cl.mse.js +350 -342
  18. package/cjs/cl.muxdata.js +15 -15
  19. package/cjs/cl.onboard.js +3 -3
  20. package/cjs/cl.persistent.js +15 -15
  21. package/cjs/cl.playlist.js +6 -6
  22. package/cjs/cl.sessions.js +16 -16
  23. package/cjs/cl.simid.js +17 -17
  24. package/cjs/cl.smooth.js +67 -67
  25. package/cjs/cl.thumbnails.js +26 -26
  26. package/cjs/cl.tizen.js +69 -68
  27. package/cjs/cl.ttml.js +29 -29
  28. package/cjs/cl.verimatrix.js +5 -5
  29. package/cjs/cl.vimond.js +12 -12
  30. package/cjs/cl.vr.js +19 -19
  31. package/cjs/cl.vtt.js +14 -14
  32. package/cjs/cl.yospace.js +4 -4
  33. package/cjs/cl.youbora.js +37 -37
  34. package/cjs/polyfill.min.js +15 -3
  35. package/cl.adobe.js +3 -3
  36. package/cl.airplay.js +3 -3
  37. package/cl.broadpeak.js +5 -5
  38. package/cl.cast.js +92 -90
  39. package/cl.conviva.js +27 -27
  40. package/cl.core.js +498 -503
  41. package/cl.crypto.js +9 -9
  42. package/cl.dash.js +82 -82
  43. package/cl.externs.js +83 -51
  44. package/cl.freewheel.js +19 -19
  45. package/cl.hls.js +80 -79
  46. package/cl.hlssmpte.js +5 -5
  47. package/cl.htmlcue.js +26 -26
  48. package/cl.ima.js +17 -17
  49. package/cl.mediatailor.js +3 -3
  50. package/cl.mse.js +305 -301
  51. package/cl.muxdata.js +13 -13
  52. package/cl.onboard.js +4 -4
  53. package/cl.persistent.js +11 -11
  54. package/cl.playlist.js +5 -5
  55. package/cl.sessions.js +10 -10
  56. package/cl.simid.js +14 -14
  57. package/cl.smooth.js +60 -60
  58. package/cl.thumbnails.js +19 -19
  59. package/cl.tizen.js +57 -57
  60. package/cl.ttml.js +22 -22
  61. package/cl.verimatrix.js +4 -4
  62. package/cl.vimond.js +8 -8
  63. package/cl.vr.js +15 -15
  64. package/cl.vtt.js +12 -12
  65. package/cl.yospace.js +3 -3
  66. package/cl.youbora.js +29 -29
  67. package/package.json +1 -1
  68. package/typings.d.ts +83 -0
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 SU=function(a){a.a.one(a.m,_.me,()=>RU(a))},RU=function(a){const b=a.m.getSurface().getMedia();if(b)if(a.h){a.a.on(b.textTracks,_.oc,d=>TU(a,d));var c=Array.from(b.textTracks);c.filter(d=>d.kind===_.ue).forEach(d=>{TU(a,{track:d})});!UU(c)&&a.l&&(a.g.warn("The metadata track is not present. Changing an audio track in order to enforce the creation of the metadata track."),VU(a,b))}else a.g.warn("The clpp.ttml.TextParser class is not available. Please register the ttml component first.");
2
- else a.g.warn("A video element is not available. Skipping.")},TU=function(a,b){b=b.track;b.kind===_.ue&&(a.g.info("The metadata track has been added."),b.mode=_.$d,a.a.on(b,_.yd,c=>WU(a,c)))},UU=function(a){return a.some(b=>b.kind===_.ue)},VU=function(a,b){const c=a.m.getTrackManager(),d=c.oa(),e=c.getAudioTracks().find(g=>g!==d);if(e){var f=()=>c.ya(d);a.a.on(b.textTracks,_.oc,g=>{g.track.kind===_.ue&&(a.a.off(b.textTracks,_.oc,f),c.ya(d))});c.ya(e)}else a.g.warn("Can't enforce the creation of the metadata track if single audio track. Skipping.")},
3
- WU=function(a,b){const c=XU(a);c&&Array.from(b.target.activeCues||[]).forEach(d=>{if(d!==a.f&&Number.isFinite(d.startTime)&&Number.isFinite(d.endTime)&&"org.id3"===d.type&&d.value&&"TXXX"===d.value.key){var e=new YU(d);if(e.f===c&&null!==e.a){a.f=d;d=a.h.parseMedia(_.Wi(e.a),{periodStart:a.j,segmentStart:e.startTime,segmentEnd:e.endTime});const f=a.m.getTextDisplayer();f.remove(0,e.startTime);f.append(d.cues,d.styles)}}})},XU=function(a){return(a=a.m.getTrackManager().ta())&&a.language&&a.language.toLowerCase()},
4
- YU=class{constructor(a){this.startTime=a.startTime;this.endTime=a.endTime;this.a=this.f=null;a=a.value;if(!_.B(a)){a:{var b=a.info;if(_.eh(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=_.eh(a)?a:null}}};var ZU=class{constructor(a,b,c){this.m=a;this.l=b;this.j=c;this.a=new _.Rt;this.h=(a=_.Dt(_.yc))?new a(this.m.getConfiguration()):null;this.g=new _.T("clpp.hlssmpte.ImageCueHandler");this.f=null;SU(this)}destroy(){this.a.release();this.f=null;return Promise.resolve()}};var $U=class extends _.Sv{constructor(){super();this.a=null;this.f=!1}onPlayerCreated(){}onContentWillLoad(a){if(this.f=_.Kk()){var b=a.getConfiguration();b=_.Zg(b.hlssmpte||{});typeof b.patchMetadataTrack!==_.Mc&&(b.patchMetadataTrack=!1);_.fh(b.timestampOffset)||(b.timestampOffset=0);this.a=new ZU(a,b.patchMetadataTrack,b.timestampOffset)}}onPlayerWillDestroy(){const a=this;return _.x(function*(){a.a&&(yield a.a.destroy(),a.a=null)})}id(){return"hlssmpte"}};_.z("clpp.hlssmpte.HlsSmptePlugin",$U);
5
- $U.Id="hlssmpte";_.Mr(new class{create(){return new $U}});};f.call(g, window);
1
+ import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var TU=function(a){a.a.one(a.m,_.oe,()=>SU(a))},SU=function(a){const b=a.m.getSurface().getMedia();if(b)if(a.h){a.a.on(b.textTracks,_.oc,d=>UU(a,d));var c=Array.from(b.textTracks);c.filter(d=>d.kind===_.ye).forEach(d=>{UU(a,{track:d})});!VU(c)&&a.l&&(a.g.warn("The metadata track is not present. Changing an audio track in order to enforce the creation of the metadata track."),WU(a,b))}else a.g.warn("The clpp.ttml.TextParser class is not available. Please register the ttml component first.");
2
+ else a.g.warn("A video element is not available. Skipping.")},UU=function(a,b){b=b.track;b.kind===_.ye&&(a.g.info("The metadata track has been added."),b.mode=_.be,a.a.on(b,_.zd,c=>XU(a,c)))},VU=function(a){return a.some(b=>b.kind===_.ye)},WU=function(a,b){const c=a.m.getTrackManager(),d=c.oa(),e=c.getAudioTracks().find(g=>g!==d);if(e){var f=()=>c.xa(d);a.a.on(b.textTracks,_.oc,g=>{g.track.kind===_.ye&&(a.a.off(b.textTracks,_.oc,f),c.xa(d))});c.xa(e)}else a.g.warn("Can't enforce the creation of the metadata track if single audio track. Skipping.")},
3
+ XU=function(a,b){const c=YU(a);c&&Array.from(b.target.activeCues||[]).forEach(d=>{if(d!==a.f&&Number.isFinite(d.startTime)&&Number.isFinite(d.endTime)&&"org.id3"===d.type&&d.value&&"TXXX"===d.value.key){var e=new ZU(d);if(e.f===c&&null!==e.a){a.f=d;d=a.h.parseMedia(_.Fi(e.a),{periodStart:a.j,segmentStart:e.startTime,segmentEnd:e.endTime});const f=a.m.getTextDisplayer();f.remove(0,e.startTime);f.append(d.cues,d.styles)}}})},YU=function(a){return(a=a.m.getTrackManager().ta())&&a.language&&a.language.toLowerCase()},
4
+ ZU=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(_.gh(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=_.gh(a)?a:null}}};var $U=class{constructor(a,b,c){this.m=a;this.l=b;this.j=c;this.a=new _.Kt;this.h=(a=_.wt(_.yc))?new a(this.m.getConfiguration()):null;this.g=new _.S("clpp.hlssmpte.ImageCueHandler");this.f=null;TU(this)}destroy(){this.a.release();this.f=null;return Promise.resolve()}};var aV=class extends _.Iv{constructor(){super();this.a=null;this.f=!1}onPlayerCreated(){}onContentWillLoad(a){if(this.f=_.ak()){var b=a.getConfiguration();b=_.ah(b.hlssmpte||{});typeof b.patchMetadataTrack!==_.Mc&&(b.patchMetadataTrack=!1);_.hh(b.timestampOffset)||(b.timestampOffset=0);this.a=new $U(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",aV);
5
+ aV.Id="hlssmpte";_.fs(new class{create(){return new aV}});};f.call(g, window);
package/cl.htmlcue.js CHANGED
@@ -1,26 +1,26 @@
1
- import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var JT="Unsupported unit",KT="clpp-text-plain",LT="clpp-text-ttml",MT="clpp.htmlcue.HtmlTextDisplayer",NT="initial",OT=function(a){return _.fi(a,{Pf:(b,c)=>b.Oc(c)})},PT=function(a,b){if(0===b.length)return a;let c=a;a=a.findIndex(d=>d.startTime>=b[0].startTime);0<=a&&(c=c.slice(0,a));return c.concat(b)},QT=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},RT=function(a){if(!a.input)return null;var b=a.input.match(/^([^<]*)(<[^>]+>?)?/);
2
- b=b[1]?b[1]:b[2];a.input=a.input.substr(b.length);return b},TT=function(a){let b=null;for(;b=a.match(/&(amp|lt|gt|lrm|rlm|nbsp);/);)a=a.replace(b[0],c=>ST[c]);return a},VT=function(a,b){UT(a,b);Array.from(b.getElementsByTagName("*")).forEach(c=>{UT(a,c)})},UT=function(a,b){for(const c in a)null!=a[c]&&(b.style[c]=a[c])},WT=function(a,b){return 0===a?"0":a+b},XT=function(a,b){return 1>Math.abs(a-b)||a<b},YT=function(a,b){return a<b&&1<Math.abs(a-b)},ZT=function(a,b){return a>b&&1<Math.abs(a-b)},$T=
3
- function(a,b){return 1>Math.abs(a-b)||a>b},bU=function(a){const b=a.getBoundingClientRect();var c=getComputedStyle(a,null);const d=parseFloat(c.getPropertyValue("border-left-width"))||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 aU(b.left+d,b.right+e,g,(b.bottom||g+f)+c,f,(b.width||a.offsetWidth)-
4
- d-e)},cU=function(a){return new aU(a.left,a.f,a.top,a.a,a.height,a.width)},dU=function(a,b){return b.some(c=>YT(a.left,c.f)&&ZT(a.f,c.left)&&YT(a.top,c.a)&&ZT(a.a,c.top))},eU=function(a,b){return $T(a.top,b.top)&&XT(a.a,b.a)&&$T(a.left,b.left)&&XT(a.f,b.f)},fU=function(a,b,c){switch(c){case "+x":return YT(a.left,b.left);case "-x":return ZT(a.f,b.f);case "+y":return YT(a.top,b.top);case "-y":return ZT(a.a,b.a);default:throw Error("Unknown axis");}},gU=function(a){return a.f.writingMode===_.Vt},hU=
5
- 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 gU(a)?b:c},iU=function(a){switch(a.f.writingMode){case _.Vt:return"horizontal-tb";case _.og:return _.og;case _.pg:return _.pg;default:throw Error("Unknown writing mode");}},jU=function(a){switch(a.f.positionAlign){case _.ie:return _.fe;case "auto":case _.Vc:return _.Ut;case _.je:return _.yf}return a.f.textAlign},kU=function(a,b){if(typeof a.f.position===_.t&&typeof a.f.size===
6
- _.t)switch(b){case _.ie:return a.f.position;case "auto":case _.Vc:return a.f.position-a.f.size/2;case _.je:return a.f.position-a.f.size}return 0},lU=function(a){if(!a.f.positionAlign)switch(a.f.textAlign){case _.Lf:case _.fe:return _.ie;case _.Ut:return _.Vc;case _.Rd:case _.yf:return _.je}return a.f.positionAlign},oU=function(a,b,c){return(mU(a)||nU(a))&&_.fh(c)?WT(c,_.qf):mU(a)&&_.B(c)?WT(0,_.qf):gU(a)&&_.fh(b)?WT(b,"%"):NT},pU=function(a,b,c){return gU(a)&&_.fh(c)?WT(c,_.qf):(mU(a)||nU(a))&&_.fh(b)?
7
- WT(b,"%"):NT},nU=function(a){return a.f.writingMode===_.pg},mU=function(a){return a.f.writingMode===_.og},qU=function(a,b){if(a.j)switch(b.writingMode){case _.Vt:return["-y"];case _.og:return["+x"];case _.pg:return["-x"]}a=[];switch(b.writingMode){case _.Vt:a=["+y","-y"];break;case _.og:a=["+x","-x"];break;case _.pg:a=["-x","+x"]}0>b.line&&(a=a.reverse());return a},rU=function(a){for(a.h=[];0<a.f.childNodes.length;)a.f.removeChild(a.f.childNodes[0]);a.a=bU(a.l.a)},sU=function(a,b,c){a=a.f;const d=
8
- a.viewportAnchorUnits;if(d===_.bu)return a.viewportAnchorY/100*c-a.regionAnchorY/100*b;if(0===d)return a.viewportAnchorY-a.regionAnchorY;throw Error(JT);},uU=function(a,b,c,d){const e=document.createElement(_.Rf),f=e.dataset;f.name=b;f.for=c;d&&(f.name=`${b} (sandbox)`,f.sandbox=!0);c=document.head;c.appendChild(e);tU(a,c,b);a.g.debug(`Created HTML style element #${b}.`);return e.sheet},vU=function(a,b){a=`.${a.j} .clpp-text-container`;const c=`${a} .clpp-text-cue`;return b=b.replace(/::cue\((#[^)]+)\)/g,
9
- `${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,a)},wU=function(a,b){let c=!1;try{a.f.insertRule(b,0);const d=a.f.cssRules[0];d instanceof CSSStyleRule&&(c=d.selectorText.split(",").every(e=>0===e.trim().indexOf(`.${a.j} `)))}catch(d){}0<a.f.cssRules.length&&a.f.deleteRule(0);return c},xU=function(a){if(null!=a.a){for(;0<a.a.cssRules.length;)a.a.deleteRule(0);
10
- a.o=[]}},tU=function(a,b,c){const d=new MutationObserver(e=>{e.forEach(f=>{f.removedNodes.forEach(g=>{g.id===c&&a.g.error(`PRESTOplay HTML style element #${c} has `+"been unexpectedly removed! Some styles will not work!")})})});d.observe(b,{subtree:!1,childList:!0});a.l.push(()=>d.disconnect())},yU=function(a){a=_.Zg(a.htmlcue||{});_.B(a.stretchSmpteImage)&&(a.stretchSmpteImage=!1);_.B(a.enableResizeObserver)&&(a.enableResizeObserver=!0);return a},EU=function(a,b){if((b||a.l)&&a.F){var c=a.m.getPosition();
11
- if(b||a.J!==c&&a.m.getState()===_.Zo)if(a.J=c,c=zU(a,c),b||(b=a.o,b=!(null===b&&null===c||null!==b&&null!==c&&b.start===c.start&&b.end===c.end)),b&&(a.o=c,AU(a),c)){b={color:a.getFontColor()||void 0,backgroundColor:a.getBackgroundColor()||void 0,fontFamily:a.getFontFamily()||void 0,textShadow:_.Jt(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 _.zg:g="clpp-text-vtt";break;case _.dg:g=LT;break;case _.Tt:g=KT}g&&!f.classList.contains(g)&&
12
- _.sp(f,g);f=bU(c.a.a);if(0===f.width||0===f.height)c.g.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.");else{UT({fontSize:BU(c,d.containerRows)},c.a.a);f=null;g=d.payloadType===_.zg;var h=d.payloadType===_.dg;d.region&&(g||h||d.backgroundImage)&&(c.B.has(d.region.id)?f=c.B.get(d.region.id):(f=new CU(d.region,{}),c.B.set(d.region.id,f),c.a.appendChild(f)));d=new DU(d,c.L,e);f?f.appendChild(d):
13
- c.a.appendChild(d)}}}}},FU=function(a){AU(a);a.J=null;a.o=null;a.f=[]},GU=function(a,b){return a.startTime<=b&&a.endTime>b},zU=function(a,b){var c=QT(a.f,d=>GU(d,b)?0:b!==d.startTime?b-d.startTime:b-d.endTime);if(-1===c)return null;{let d=c;for(;0<=d-1&&GU(a.f[d-1],b);)d--;for(;c+1<a.f.length&&GU(a.f[c+1],b);)c++;return{start:d,end:c}}},AU=function(a){a.B.clear();if(a.a){const b=a.a.a;b.classList.remove("clpp-text-vtt");b.classList.remove(LT);b.classList.remove(KT);a=a.a;rU(a.h);a.l=[]}},BU=function(a,
14
- b){const c=bU(a.a.a).height;if(null!==a.I)return a.getFontSize();if(null!==a.C)return a=a.getFontSizePercent(),`${Math.round(c*a)}px`;if(typeof b===_.t&&0<b)return`${Math.round(c/b)}px`;a=a.getFontSizePercent();return`${Math.round(c*a)}px`},KU=class{parse(a){a={input:a};const b=_.up(_.Cd),c=[];let d=b;for(var e;null!==(e=RT(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=
15
- e[1];var g=e[3];var h=HU[f];h?(h=_.up(h),(f=IU[f])&&g&&h.setAttribute(f,g.trim()),g=h):g=null;!g||JU[g.localName]&&JU[g.localName]!==d.localName||(e[2]&&(g.className=e[2].substr(1).replace(/\./g," ")),c.push(e[1]),d.appendChild(g),d=g)}}else d.appendChild(document.createTextNode(TT(e)));return b}},HU={c:"c",i:"i",b:"b",u:"u",ruby:"ruby",rt:"rt",v:"v",lang:"lang"},IU={v:"voice",lang:"lang"},JU={rt:"ruby"},ST={"\x26amp;":"\x26","\x26lt;":"\x3c","\x26gt;":"\x3e","\x26lrm;":"\u200e","\x26rlm;":"\u200f",
16
- "\x26nbsp;":"\u00a0"};var aU=class{constructor(a,b,c,d,e,f){this.left=a;this.f=b;this.top=c;this.a=d;this.height=e;this.width=f}};var LU=class{constructor(a,b,c){this.id=a;this.w=b;this.B=c;this.a=this.o();this.j=!1}init(){this.j=!0}A(){return!1}};var DU=class extends LU{constructor(a,b,c){super(a.id,"clpp-text-cue",{});this.l=b;this.f=a;this.h=!!this.f.backgroundImage;this.C=c}A(){return!this.h&&!(this.f.region&&this.f.region.displayAlign)}init(a){super.init(a);if(this.h)_.sp(this.a,"clpp-text-cue-image"),this.a.style.backgroundImage=`url("${this.f.backgroundImage}")`,this.l.stretchSmpteImage&&(this.a.style.backgroundSize="contain");else if(a){var b=this.f;if(b.payloadType===_.dg){var c=_.up(_.Cd);c.innerHTML=b.payload;b=c}else b.payloadType===
17
- _.zg?b=(new KU).parse(b.payload):(c=_.up(_.Cd),c.textContent=b.payload,b=c);_.sp(b,this.w);this.id&&(b.id=this.id);for(d of this.f.cssClassList)_.sp(b,d);UT({writingMode:iU(this)},b);var d=b;this.a.appendChild(d);_.sp(this.a,"clpp-text-wrapper");for(var e of this.f.cssClassList)_.sp(this.a,`clpp-text-wrapper__${e}`);_.B(this.f.line)&&(this.f.lineInterpretation=_.Wt,this.f.line=gU(this)?-1:0);e=iU(this);UT({writingMode:e,webkitWritingMode:e,direction:NT,textAlign:jU(this)},this.a);if(!this.f.region||
18
- !this.f.region.displayAlign){e=kU(this,lU(this));UT({position:"absolute",left:oU(this,e,null),right:nU(this)&&_.B(null)?WT(0,_.qf):NT,top:pU(this,e,null),width:gU(this)?WT(this.f.size,"%"):NT,height:mU(this)||nU(this)?WT(this.f.size,"%"):NT},this.a);b=this.f;a=gU(this)?a.height:a.width;c=hU(this);if(b.lineInterpretation===_.Wt){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 _.Vc:g-=f/2;break;case _.Rd:g-=f}f=Math.round(g/
19
- 100*a)}nU(this)&&(f=a-f-c);a=f;UT({left:oU(this,e,a),right:nU(this)&&_.B(a)?WT(0,_.qf):NT,top:pU(this,e,a)},this.a)}VT(this.C,d)}}o(){return _.up(_.Cd)}};var MU=class{constructor(a,b){this.l=a;this.f=a.a;this.j=void 0===b?!1:b;this.a=bU(a.a);this.h=[]}append(a){const b=a.a;b.style.visibility=_.$d;this.f.appendChild(b);a.j||a.init(this.a);if(a.A()){a:{var c=bU(a.a);var d=qU(this,a.f),e=hU(a);const g=cU(c);let h=null,k=0;for(const l of d){for(;fU(c,this.a,l)||eU(c,this.a)&&dU(c,this.h);){d=c;var f=e;switch(l){case "+x":d.left+=f;d.f+=f;break;case "-x":d.left-=f;d.f-=f;break;case "+y":d.top+=f;d.a+=f;break;case "-y":d.top-=f,d.a-=f}}if(this.j||eU(c,this.a))break a;
20
- d=this.a;d=Math.max(0,Math.min(c.f,d.f)-Math.max(c.left,d.left))*Math.max(0,Math.min(c.a,d.a)-Math.max(c.top,d.top))/(c.height*c.width);d>k&&(h=cU(c),k=d);c=cU(g)}c=h||g}UT({top:WT(c.top-this.a.top,_.qf),bottom:WT(this.a.a-c.a,_.qf),left:WT(c.left-this.a.left,_.qf),right:WT(this.a.f-c.f,_.qf),height:WT(c.height,_.qf),width:WT(c.width,_.qf)},a.a)}b.style.visibility="visible";this.h.push(bU(a.a))}};var NU=class extends LU{constructor(a,b,c){super(a,b,c);this.h=null;this.l=[]}init(){this.h=new MU(this);this.j=!0}o(){const a=_.up(_.Cd);_.sp(a,this.w);this.id&&(a.id=this.id);return a}appendChild(a){rU(this.h);this.l.unshift(a);for(const b of this.l)this.h.append(b)}};var CU=class extends NU{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 _.bu:b=b.width/100*a.width;break a;default:throw Error(JT);}}var c=this.f;var d=c.viewportAnchorUnits;if(d===_.bu)c=c.viewportAnchorX/100*a.width-c.regionAnchorX/100*b;else if(0===d)c=c.viewportAnchorX-c.regionAnchorX;else throw Error(JT);d=a.height;const e=sU(this,d,a.height);UT(this.B,this.a);UT({left:WT(c,_.qf),top:WT(e,_.qf),width:WT(b,
21
- _.qf),height:WT(d,_.qf)},this.a);this.f.writingMode&&UT({display:"flex","flex-direction":this.f.writingMode},this.a);this.f.displayAlign&&UT({"justify-content":this.f.displayAlign},this.a);for(var f of this.f.cssClassList)_.sp(this.a,f);a:switch(f=this.f,f.heightUnits){case 0:f=f.height;break a;case _.bu:f=f.height/100*a.height;break a;case 2:f=f.height;c=new DU(new _.Zt(0,1,"Lorem ipsum",_.Tt),{},{});b=c.a;this.a.appendChild(b);c.init(bU(this.a));c=b.getBoundingClientRect().height;this.a.removeChild(b);
22
- b=c;f*=b;break a;default:throw Error(JT);}a=sU(this,f,a.height);UT({top:WT(a,_.qf),height:WT(f,_.qf)},this.a);this.h=new MU(this,!0);this.j=!0}getId(){return this.f.id}};var OU=class{constructor(a,b){this.g=new _.T("clpp.htmlcue.StyleManager");this.l=[];this.j=a;this.h=b;this.o=[];this.a=uU(this,this.h,this.j);this.f=uU(this,this.h,this.j,!0);this.f.disabled=!0;this.g.debug(`Stylesheet ${this.h} has been created.`)}appendRule(a){if(null!=this.a&&!this.o.some(b=>b===a)){const b=vU(this,a);if(wU(this,b)){try{this.a.insertRule(b,this.a.cssRules.length),this.g.debug(`Added CSS rule ${b}`)}catch(c){this.g.error(`An error occurred when adding a CSS rule: ${b}`)}this.o.push(a)}else this.g.warn(`Stylesheet ${this.h} ignoring the CSS rule `+
23
- `because it's not safe: ${b}`)}}destroy(){const a=this;return _.x(function*(){null!=a.a&&(a.l.forEach(b=>b()),a.l=[],xU(a),document.head.removeChild(a.a.ownerNode),document.head.removeChild(a.f.ownerNode),a.a=null,a.f=null,a.g.debug(`Stylesheet ${a.h} has been destroyed.`))})}};var PU=class extends _.Pv{constructor(a){super(a);this.g=new _.T(MT);this.m=a;this.L=yU(a.getConfiguration());this.l=!1;this.f=[];this.F=a.getSurface().getContainer();this.j=new OU(a.getSurface().getUniqueCssClass(),"CLPP Subtitle Styles");this.a=new NU(null,"clpp-text-container",{});this.A=new _.Iv(a.getSurface(),this.S.bind(this));this.J=null;this.F?(this.F.appendChild(this.a.a),this.a.init(null)):this.g.warn("No container element! Subtitles will not appear. Please check your player surface configuration or switch to NativeTextDisplayer.");
24
- this.G=new _.wk(()=>{EU(this)});this.B=new Map;this.o=null}append(a,b){if(null!=this.j&&0!==a.length){for(const c of b)this.j.appendRule(c);a.sort((c,d)=>c.startTime!==d.startTime?c.startTime-d.startTime:c.endTime-d.endTime);this.f=PT(this.f,OT(a));this.o=null;EU(this,!1)}}h(){null==this.j||EU(this,!0)}destroy(){const a=this;return _.x(function*(){null!=a.j&&(FU(a),a.G.stop(),yield a.j.destroy(),a.j=null,a.F.removeChild(a.a.a),a.a=null,a.A.stop(),a.A=null,a.l=!1)})}remove(a,b){if(null==this.j)return!1;
25
- this.f=this.f.filter(c=>c.startTime<a||c.endTime>=b);this.o=null;EU(this,!0);return!0}isTextVisible(){return this.l}setTextVisibility(a){null!=this.j&&this.l!==a&&((this.l=a)?(this.G.Bb(.25),this.L.enableResizeObserver&&this.A.start(),EU(this,!0)):(this.G.stop(),this.A.stop(),FU(this)))}S(){EU(this,!0)}};_.z(MT,PU);PU.prototype.setTextVisibility=PU.prototype.setTextVisibility;PU.prototype.isTextVisible=PU.prototype.isTextVisible;PU.prototype.remove=PU.prototype.remove;PU.prototype.destroy=PU.prototype.destroy;
26
- PU.prototype.append=PU.prototype.append;var QU=class{a(a){return!!a.enableHtmlCue&&!_.Mk()}create(a){return new PU(a)}};_.z("clpp.htmlcue.HtmlCueComponent",class extends _.Dv{f(){_.Fo(_.ae,new QU)}a(){_.Do.has(_.ae)&&(_.Do.delete(_.ae),_.Eo.info("Removed factory: 'html'"))}id(){return _.Sf}});};f.call(g, window);
1
+ import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var KT="Unsupported unit",LT="clpp-text-plain",MT="clpp-text-ttml",NT="clpp.htmlcue.HtmlTextDisplayer",OT="initial",PT=function(a){return _.hi(a,{Ef:(b,c)=>b.Hc(c)})},QT=function(a,b){if(0===b.length)return a;let c=a;a=a.findIndex(d=>d.startTime>=b[0].startTime);0<=a&&(c=c.slice(0,a));return c.concat(b)},RT=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},ST=function(a){if(!a.input)return null;var b=a.input.match(/^([^<]*)(<[^>]+>?)?/);
2
+ b=b[1]?b[1]:b[2];a.input=a.input.substr(b.length);return b},UT=function(a){let b=null;for(;b=a.match(/&(amp|lt|gt|lrm|rlm|nbsp);/);)a=a.replace(b[0],c=>TT[c]);return a},WT=function(a,b){VT(a,b);Array.from(b.getElementsByTagName("*")).forEach(c=>{VT(a,c)})},VT=function(a,b){for(const c in a)null!=a[c]&&(b.style[c]=a[c])},XT=function(a,b){return 0===a?"0":a+b},YT=function(a,b){return 1>Math.abs(a-b)||a<b},ZT=function(a,b){return a<b&&1<Math.abs(a-b)},$T=function(a,b){return a>b&&1<Math.abs(a-b)},aU=
3
+ function(a,b){return 1>Math.abs(a-b)||a>b},cU=function(a){const b=a.getBoundingClientRect();var c=getComputedStyle(a,null);const d=parseFloat(c.getPropertyValue("border-left-width"))||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 bU(b.left+d,b.right+e,g,(b.bottom||g+f)+c,f,(b.width||a.offsetWidth)-
4
+ d-e)},dU=function(a){return new bU(a.left,a.f,a.top,a.a,a.height,a.width)},eU=function(a,b){return b.some(c=>ZT(a.left,c.f)&&$T(a.f,c.left)&&ZT(a.top,c.a)&&$T(a.a,c.top))},fU=function(a,b){return aU(a.top,b.top)&&YT(a.a,b.a)&&aU(a.left,b.left)&&YT(a.f,b.f)},gU=function(a,b,c){switch(c){case "+x":return ZT(a.left,b.left);case "-x":return $T(a.f,b.f);case "+y":return ZT(a.top,b.top);case "-y":return $T(a.a,b.a);default:throw Error("Unknown axis");}},hU=function(a){return a.f.writingMode===_.Ot},iU=
5
+ 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 hU(a)?b:c},jU=function(a){switch(a.f.writingMode){case _.Ot:return"horizontal-tb";case _.qg:return _.qg;case _.rg:return _.rg;default:throw Error("Unknown writing mode");}},kU=function(a){switch(a.f.positionAlign){case _.ke:return _.he;case "auto":case _.Vc:return _.Nt;case _.le:return _.zf}return a.f.textAlign},lU=function(a,b){if(typeof a.f.position===_.r&&typeof a.f.size===
6
+ _.r)switch(b){case _.ke:return a.f.position;case "auto":case _.Vc:return a.f.position-a.f.size/2;case _.le:return a.f.position-a.f.size}return 0},mU=function(a){if(!a.f.positionAlign)switch(a.f.textAlign){case _.Mf:case _.he:return _.ke;case _.Nt:return _.Vc;case _.Sd:case _.zf:return _.le}return a.f.positionAlign},pU=function(a,b,c){return(nU(a)||oU(a))&&_.hh(c)?XT(c,_.sf):nU(a)&&_.z(c)?XT(0,_.sf):hU(a)&&_.hh(b)?XT(b,"%"):OT},qU=function(a,b,c){return hU(a)&&_.hh(c)?XT(c,_.sf):(nU(a)||oU(a))&&_.hh(b)?
7
+ XT(b,"%"):OT},oU=function(a){return a.f.writingMode===_.rg},nU=function(a){return a.f.writingMode===_.qg},rU=function(a,b){if(a.j)switch(b.writingMode){case _.Ot:return["-y"];case _.qg:return["+x"];case _.rg:return["-x"]}a=[];switch(b.writingMode){case _.Ot:a=["+y","-y"];break;case _.qg:a=["+x","-x"];break;case _.rg:a=["-x","+x"]}0>b.line&&(a=a.reverse());return a},sU=function(a){for(a.h=[];0<a.f.childNodes.length;)a.f.removeChild(a.f.childNodes[0]);a.a=cU(a.l.a)},tU=function(a,b,c){a=a.f;const d=
8
+ a.viewportAnchorUnits;if(d===_.Vt)return a.viewportAnchorY/100*c-a.regionAnchorY/100*b;if(0===d)return a.viewportAnchorY-a.regionAnchorY;throw Error(KT);},vU=function(a,b,c,d){const e=document.createElement(_.Sf),f=e.dataset;f.name=b;f.for=c;d&&(f.name=`${b} (sandbox)`,f.sandbox=!0);c=document.head;c.appendChild(e);uU(a,c,b);a.g.debug(`Created HTML style element #${b}.`);return e.sheet},wU=function(a,b){a=`.${a.j} .clpp-text-container`;const c=`${a} .clpp-text-cue`;return b=b.replace(/::cue\((#[^)]+)\)/g,
9
+ `${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,a)},xU=function(a,b){let c=!1;try{a.f.insertRule(b,0);const d=a.f.cssRules[0];d instanceof CSSStyleRule&&(c=d.selectorText.split(",").every(e=>0===e.trim().indexOf(`.${a.j} `)))}catch(d){}0<a.f.cssRules.length&&a.f.deleteRule(0);return c},yU=function(a){if(null!=a.a){for(;0<a.a.cssRules.length;)a.a.deleteRule(0);
10
+ a.o=[]}},uU=function(a,b,c){const d=new MutationObserver(e=>{e.forEach(f=>{f.removedNodes.forEach(g=>{g.id===c&&a.g.error(`PRESTOplay HTML style element #${c} has `+"been unexpectedly removed! Some styles will not work!")})})});d.observe(b,{subtree:!1,childList:!0});a.l.push(()=>d.disconnect())},zU=function(a){a=_.ah(a.htmlcue||{});_.z(a.stretchSmpteImage)&&(a.stretchSmpteImage=!1);_.z(a.enableResizeObserver)&&(a.enableResizeObserver=!0);return a},FU=function(a,b){if((b||a.l)&&a.F){var c=a.m.getPosition();
11
+ if(b||a.J!==c&&a.m.getState()===_.sp)if(a.J=c,c=AU(a,c),b||(b=a.o,b=!(null===b&&null===c||null!==b&&null!==c&&b.start===c.start&&b.end===c.end)),b&&(a.o=c,BU(a),c)){b={color:a.getFontColor()||void 0,backgroundColor:a.getBackgroundColor()||void 0,fontFamily:a.getFontFamily()||void 0,textShadow:_.Ct(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 _.Bg:g="clpp-text-vtt";break;case _.fg:g=MT;break;case _.Mt:g=LT}g&&!f.classList.contains(g)&&
12
+ _.Mp(f,g);f=cU(c.a.a);if(0===f.width||0===f.height)c.g.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.");else{VT({fontSize:CU(c,d.containerRows)},c.a.a);f=null;g=d.payloadType===_.Bg;var h=d.payloadType===_.fg;d.region&&(g||h||d.backgroundImage)&&(c.B.has(d.region.id)?f=c.B.get(d.region.id):(f=new DU(d.region,{}),c.B.set(d.region.id,f),c.a.appendChild(f)));d=new EU(d,c.L,e);f?f.appendChild(d):
13
+ c.a.appendChild(d)}}}}},GU=function(a){BU(a);a.J=null;a.o=null;a.f=[]},HU=function(a,b){return a.startTime<=b&&a.endTime>b},AU=function(a,b){var c=RT(a.f,d=>HU(d,b)?0:b!==d.startTime?b-d.startTime:b-d.endTime);if(-1===c)return null;{let d=c;for(;0<=d-1&&HU(a.f[d-1],b);)d--;for(;c+1<a.f.length&&HU(a.f[c+1],b);)c++;return{start:d,end:c}}},BU=function(a){a.B.clear();if(a.a){const b=a.a.a;b.classList.remove("clpp-text-vtt");b.classList.remove(MT);b.classList.remove(LT);a=a.a;sU(a.h);a.l=[]}},CU=function(a,
14
+ b){const c=cU(a.a.a).height;if(null!==a.I)return a.getFontSize();if(null!==a.C)return a=a.getFontSizePercent(),`${Math.round(c*a)}px`;if(typeof b===_.r&&0<b)return`${Math.round(c/b)}px`;a=a.getFontSizePercent();return`${Math.round(c*a)}px`},LU=class{parse(a){a={input:a};const b=_.Op(_.Dd),c=[];let d=b;for(var e;null!==(e=ST(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=
15
+ e[1];var g=e[3];var h=IU[f];h?(h=_.Op(h),(f=JU[f])&&g&&h.setAttribute(f,g.trim()),g=h):g=null;!g||KU[g.localName]&&KU[g.localName]!==d.localName||(e[2]&&(g.className=e[2].substr(1).replace(/\./g," ")),c.push(e[1]),d.appendChild(g),d=g)}}else d.appendChild(document.createTextNode(UT(e)));return b}},IU={c:"c",i:"i",b:"b",u:"u",ruby:"ruby",rt:"rt",v:"v",lang:"lang"},JU={v:"voice",lang:"lang"},KU={rt:"ruby"},TT={"\x26amp;":"\x26","\x26lt;":"\x3c","\x26gt;":"\x3e","\x26lrm;":"\u200e","\x26rlm;":"\u200f",
16
+ "\x26nbsp;":"\u00a0"};var bU=class{constructor(a,b,c,d,e,f){this.left=a;this.f=b;this.top=c;this.a=d;this.height=e;this.width=f}};var MU=class{constructor(a,b,c){this.id=a;this.w=b;this.B=c;this.a=this.o();this.j=!1}init(){this.j=!0}A(){return!1}};var EU=class extends MU{constructor(a,b,c){super(a.id,"clpp-text-cue",{});this.l=b;this.f=a;this.h=!!this.f.backgroundImage;this.C=c}A(){return!this.h&&!(this.f.region&&this.f.region.displayAlign)}init(a){super.init(a);if(this.h)_.Mp(this.a,"clpp-text-cue-image"),this.a.style.backgroundImage=`url("${this.f.backgroundImage}")`,this.l.stretchSmpteImage&&(this.a.style.backgroundSize="contain");else if(a){var b=this.f;if(b.payloadType===_.fg){var c=_.Op(_.Dd);c.innerHTML=b.payload;b=c}else b.payloadType===
17
+ _.Bg?b=(new LU).parse(b.payload):(c=_.Op(_.Dd),c.textContent=b.payload,b=c);_.Mp(b,this.w);this.id&&(b.id=this.id);for(d of this.f.cssClassList)_.Mp(b,d);VT({writingMode:jU(this)},b);var d=b;this.a.appendChild(d);_.Mp(this.a,"clpp-text-wrapper");for(var e of this.f.cssClassList)_.Mp(this.a,`clpp-text-wrapper__${e}`);_.z(this.f.line)&&(this.f.lineInterpretation=_.Pt,this.f.line=hU(this)?-1:0);e=jU(this);VT({writingMode:e,webkitWritingMode:e,direction:OT,textAlign:kU(this)},this.a);if(!this.f.region||
18
+ !this.f.region.displayAlign){e=lU(this,mU(this));VT({position:"absolute",left:pU(this,e,null),right:oU(this)&&_.z(null)?XT(0,_.sf):OT,top:qU(this,e,null),width:hU(this)?XT(this.f.size,"%"):OT,height:nU(this)||oU(this)?XT(this.f.size,"%"):OT},this.a);b=this.f;a=hU(this)?a.height:a.width;c=iU(this);if(b.lineInterpretation===_.Pt){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 _.Vc:g-=f/2;break;case _.Sd:g-=f}f=Math.round(g/
19
+ 100*a)}oU(this)&&(f=a-f-c);a=f;VT({left:pU(this,e,a),right:oU(this)&&_.z(a)?XT(0,_.sf):OT,top:qU(this,e,a)},this.a)}WT(this.C,d)}}o(){return _.Op(_.Dd)}};var NU=class{constructor(a,b){this.l=a;this.f=a.a;this.j=void 0===b?!1:b;this.a=cU(a.a);this.h=[]}append(a){const b=a.a;b.style.visibility=_.be;this.f.appendChild(b);a.j||a.init(this.a);if(a.A()){a:{var c=cU(a.a);var d=rU(this,a.f),e=iU(a);const g=dU(c);let h=null,k=0;for(const l of d){for(;gU(c,this.a,l)||fU(c,this.a)&&eU(c,this.h);){d=c;var f=e;switch(l){case "+x":d.left+=f;d.f+=f;break;case "-x":d.left-=f;d.f-=f;break;case "+y":d.top+=f;d.a+=f;break;case "-y":d.top-=f,d.a-=f}}if(this.j||fU(c,this.a))break a;
20
+ d=this.a;d=Math.max(0,Math.min(c.f,d.f)-Math.max(c.left,d.left))*Math.max(0,Math.min(c.a,d.a)-Math.max(c.top,d.top))/(c.height*c.width);d>k&&(h=dU(c),k=d);c=dU(g)}c=h||g}VT({top:XT(c.top-this.a.top,_.sf),bottom:XT(this.a.a-c.a,_.sf),left:XT(c.left-this.a.left,_.sf),right:XT(this.a.f-c.f,_.sf),height:XT(c.height,_.sf),width:XT(c.width,_.sf)},a.a)}b.style.visibility="visible";this.h.push(cU(a.a))}};var OU=class extends MU{constructor(a,b,c){super(a,b,c);this.h=null;this.l=[]}init(){this.h=new NU(this);this.j=!0}o(){const a=_.Op(_.Dd);_.Mp(a,this.w);this.id&&(a.id=this.id);return a}appendChild(a){sU(this.h);this.l.unshift(a);for(const b of this.l)this.h.append(b)}};var DU=class extends OU{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 _.Vt:b=b.width/100*a.width;break a;default:throw Error(KT);}}var c=this.f;var d=c.viewportAnchorUnits;if(d===_.Vt)c=c.viewportAnchorX/100*a.width-c.regionAnchorX/100*b;else if(0===d)c=c.viewportAnchorX-c.regionAnchorX;else throw Error(KT);d=a.height;const e=tU(this,d,a.height);VT(this.B,this.a);VT({left:XT(c,_.sf),top:XT(e,_.sf),width:XT(b,
21
+ _.sf),height:XT(d,_.sf)},this.a);this.f.writingMode&&VT({display:"flex","flex-direction":this.f.writingMode},this.a);this.f.displayAlign&&VT({"justify-content":this.f.displayAlign},this.a);for(var f of this.f.cssClassList)_.Mp(this.a,f);a:switch(f=this.f,f.heightUnits){case 0:f=f.height;break a;case _.Vt:f=f.height/100*a.height;break a;case 2:f=f.height;c=new EU(new _.St(0,1,"Lorem ipsum",_.Mt),{},{});b=c.a;this.a.appendChild(b);c.init(cU(this.a));c=b.getBoundingClientRect().height;this.a.removeChild(b);
22
+ b=c;f*=b;break a;default:throw Error(KT);}a=tU(this,f,a.height);VT({top:XT(a,_.sf),height:XT(f,_.sf)},this.a);this.h=new NU(this,!0);this.j=!0}getId(){return this.f.id}};var PU=class{constructor(a,b){this.g=new _.S("clpp.htmlcue.StyleManager");this.l=[];this.j=a;this.h=b;this.o=[];this.a=vU(this,this.h,this.j);this.f=vU(this,this.h,this.j,!0);this.f.disabled=!0;this.g.debug(`Stylesheet ${this.h} has been created.`)}appendRule(a){if(null!=this.a&&!this.o.some(b=>b===a)){const b=wU(this,a);if(xU(this,b)){try{this.a.insertRule(b,this.a.cssRules.length),this.g.debug(`Added CSS rule ${b}`)}catch(c){this.g.error(`An error occurred when adding a CSS rule: ${b}`)}this.o.push(a)}else this.g.warn(`Stylesheet ${this.h} ignoring the CSS rule `+
23
+ `because it's not safe: ${b}`)}}destroy(){const a=this;return _.w(function*(){null!=a.a&&(a.l.forEach(b=>b()),a.l=[],yU(a),document.head.removeChild(a.a.ownerNode),document.head.removeChild(a.f.ownerNode),a.a=null,a.f=null,a.g.debug(`Stylesheet ${a.h} has been destroyed.`))})}};var QU=class extends _.Fv{constructor(a){super(a);this.g=new _.S(NT);this.m=a;this.L=zU(a.getConfiguration());this.l=!1;this.f=[];this.F=a.getSurface().getContainer();this.j=new PU(a.getSurface().getUniqueCssClass(),"CLPP Subtitle Styles");this.a=new OU(null,"clpp-text-container",{});this.A=new _.yv(a.getSurface(),this.T.bind(this));this.J=null;this.F?(this.F.appendChild(this.a.a),this.a.init(null)):this.g.warn("No container element! Subtitles will not appear. Please check your player surface configuration or switch to NativeTextDisplayer.");
24
+ this.G=new _.Mj(()=>{FU(this)});this.B=new Map;this.o=null}append(a,b){if(null!=this.j&&0!==a.length){for(const c of b)this.j.appendRule(c);a.sort((c,d)=>c.startTime!==d.startTime?c.startTime-d.startTime:c.endTime-d.endTime);this.f=QT(this.f,PT(a));this.o=null;FU(this,!1)}}h(){null==this.j||FU(this,!0)}destroy(){const a=this;return _.w(function*(){null!=a.j&&(GU(a),a.G.stop(),yield a.j.destroy(),a.j=null,a.F.removeChild(a.a.a),a.a=null,a.A.stop(),a.A=null,a.l=!1)})}remove(a,b){if(null==this.j)return!1;
25
+ this.f=this.f.filter(c=>c.startTime<a||c.endTime>=b);this.o=null;FU(this,!0);return!0}isTextVisible(){return this.l}setTextVisibility(a){null!=this.j&&this.l!==a&&((this.l=a)?(this.G.yb(.25),this.L.enableResizeObserver&&this.A.start(),FU(this,!0)):(this.G.stop(),this.A.stop(),GU(this)))}T(){FU(this,!0)}};_.x(NT,QU);QU.prototype.setTextVisibility=QU.prototype.setTextVisibility;QU.prototype.isTextVisible=QU.prototype.isTextVisible;QU.prototype.remove=QU.prototype.remove;QU.prototype.destroy=QU.prototype.destroy;
26
+ QU.prototype.append=QU.prototype.append;var RU=class{a(a){return!!a.enableHtmlCue&&!_.ck()}create(a){return new QU(a)}};_.x("clpp.htmlcue.HtmlCueComponent",class extends _.uv{f(){_.Zo(_.ce,new RU)}a(){_.Xo.has(_.ce)&&(_.Xo.delete(_.ce),_.Yo.info("Removed factory: 'html'"))}id(){return _.Tf}});};f.call(g, window);
package/cl.ima.js CHANGED
@@ -1,17 +1,17 @@
1
- import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var rT="clpp.ima.AdsManagerFactory",sT=function(a){a=a.K;const b=new google.ima.AdsRenderingSettings;b.restoreCustomPlaybackStateOnAdBreakComplete=!1;typeof a.bitrate===_.t&&(b.bitrate=a.bitrate);b.enablePreloading=typeof a.enablePreloading===_.Mc?a.enablePreloading:!0;typeof a.loadVideoTimeout===_.t&&(b.loadVideoTimeout=a.loadVideoTimeout);Array.isArray(a.mimeTypes)&&(b.mimeTypes=a.mimeTypes);typeof a.playAdsAfterTime===_.t&&(b.playAdsAfterTime=a.playAdsAfterTime);typeof a.useStyledLinearAds===
2
- _.Mc&&(b.useStyledLinearAds=a.useStyledLinearAds);b.uiElements=Array.isArray(a.uiElements)?a.uiElements:[];return b},tT=function(a){return!1===a.K.disableCustomPlayback&&a.a.isCustomPlaybackUsed()&&_.Ak()||_.Dk()},uT=function(a){const b=a.a,c=a.H,d=google.ima.AdEvent.Type;c.on(b,d.AD_BREAK_READY,a.Wa.bind(a));c.on(b,d.LOADED,a.ba.bind(a));c.on(b,d.CONTENT_PAUSE_REQUESTED,a.rc.bind(a));c.on(b,d.STARTED,a.ia.bind(a));c.on(b,d.LOG,a.Db.bind(a));c.on(b,d.AD_PROGRESS,a.da.bind(a));c.on(b,d.AD_BUFFERING,
3
- a.bb.bind(a));c.on(b,d.FIRST_QUARTILE,a.V.bind(a));c.on(b,d.MIDPOINT,a.ac.bind(a));c.on(b,d.THIRD_QUARTILE,a.za.bind(a));c.on(b,d.PAUSED,a.kc.bind(a));c.on(b,d.RESUMED,a.lc.bind(a));c.on(b,d.CLICK,a.S.bind(a));c.on(b,d.SKIPPED,a.fa.bind(a));c.on(b,d.IMPRESSION,a.X.bind(a));c.on(b,d.COMPLETE,a.Cb.bind(a));c.on(b,d.CONTENT_RESUME_REQUESTED,a.uc.bind(a))},vT=function(a,b){const c=b?a.Ka.create(b.getErrorCode()):null;a.m.onError(new _.I(1,9,10003,{errorType:c},b))},wT=function(a){return _.x(function*(){yield a.m.detach();
4
- var b=a.m;b.a&&b.a.stopForwardingEventsTo(b)})},xT=function(a,b,c){c=c&&c.getAd();let d=null;c&&(d={ad:new X(c,a.G,a.F)});a.m.trigger(new _.F(b,d))},yT=function(a){a.B=null;xT(a,_.lc);a.m.getSurface().hide(a.P)},zT=function(a){return _.x(function*(){return new Promise(b=>{a.H.on(a.m,_.Mf,()=>{a.m.getState()===_.Yo&&b()})})})},AT=function(a){_.tp(a.A,{visibility:"visible"})},CT=function(a){return _.x(function*(){a.R.initialize();const b=!!a.m.getConfiguration().muted;(yield a.L.canPlay(b))||tT(a)?
5
- (tT(a)&&(yield wT(a)),BT(a)):(xT(a,_.Kc),a.g.warn(_.ja))})},DT=function(a,b){return _.x(function*(){a.R.initialize();yield b.play();BT(a)})},BT=function(a){a.a.init(a.A.offsetWidth,a.A.offsetHeight,google.ima.ViewMode.NORMAL);a.a.start();a.M=!0},ET=function(){return!window.google||!google.ima||!google.ima.AdsLoader},X=class{constructor(a,b,c){this.a=a;this.f=a.getAdPodInfo();this.j=b;this.h=c}ob(){return"Google IMA SDK"}pb(){return google.ima.VERSION}ub(){return 0}getId(){return this.a.getAdId()}getCreativeId(){return this.a.getCreativeId()}Qb(){return""}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()}getPosition(){return 0}getSkipTimeOffset(){return this.a.getSkipTimeOffset()}Tb(){return this.f?
6
- this.f.getIsBumper():!1}qb(){let a=null;const b=this.a,c=Object.keys(b).find(d=>typeof b[d]===_.Ee&&typeof b[d].clickThroughUrl===_.Pf);c&&(a=b[c].clickThroughUrl);return a}getMediaUrl(){return this.a.getMediaUrl()}fb(){return this.a.getVastMediaWidth()}eb(){return this.a.getVastMediaHeight()}Qa(){return this.a.getVastMediaBitrate()}Ra(){return this.h?2:this.j?1:0}getPodIndex(){return this.f?this.f.getPodIndex():0}Hb(){return this.f?this.f.getTimeOffset():0}sb(){return this.f?this.f.getAdPosition():
7
- 1}gb(){return this.f?this.f.getTotalAds():1}getWrapperAdIds(){return this.a.getWrapperAdIds()}canSeek(){return!1}getWrapperAdSystems(){return this.a.getWrapperAdSystems()}getWrapperCreativeIds(){return this.a.getWrapperCreativeIds()}Sb(){return null}};X.prototype.getVideoElement=X.prototype.Sb;X.prototype.getWrapperCreativeIds=X.prototype.getWrapperCreativeIds;X.prototype.getWrapperAdSystems=X.prototype.getWrapperAdSystems;X.prototype.canSeek=X.prototype.canSeek;X.prototype.getWrapperAdIds=X.prototype.getWrapperAdIds;
8
- X.prototype.getSequenceLength=X.prototype.gb;X.prototype.getPositionInSequence=X.prototype.sb;X.prototype.getPodTimeOffset=X.prototype.Hb;X.prototype.getPodIndex=X.prototype.getPodIndex;X.prototype.getPodType=X.prototype.Ra;X.prototype.getMediaBitrate=X.prototype.Qa;X.prototype.getMediaHeight=X.prototype.eb;X.prototype.getMediaWidth=X.prototype.fb;X.prototype.getMediaUrl=X.prototype.getMediaUrl;X.prototype.getClickThroughUrl=X.prototype.qb;X.prototype.isBumper=X.prototype.Tb;
9
- X.prototype.getSkipTimeOffset=X.prototype.getSkipTimeOffset;X.prototype.getPosition=X.prototype.getPosition;X.prototype.getDuration=X.prototype.getDuration;X.prototype.getTitle=X.prototype.getTitle;X.prototype.getAdvertiserName=X.prototype.getAdvertiserName;X.prototype.getAdSystem=X.prototype.getAdSystem;X.prototype.getApiFramework=X.prototype.getApiFramework;X.prototype.getSourceId=X.prototype.Qb;X.prototype.getCreativeId=X.prototype.getCreativeId;X.prototype.getId=X.prototype.getId;
10
- X.prototype.getTechnology=X.prototype.ub;X.prototype.getAdManagerVersion=X.prototype.pb;X.prototype.getAdManagerName=X.prototype.ob;var FT=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 GT=class{constructor(a){this.a=a}getCuePoints(){return this.a}Kb(){return 0<=this.a.indexOf(0)||0===this.a.length}Jb(){return 0<=this.a.indexOf(-1)}};GT.prototype.hasPostroll=GT.prototype.Jb;GT.prototype.hasPreroll=GT.prototype.Kb;GT.prototype.getCuePoints=GT.prototype.getCuePoints;var HT=class{constructor(a){var b=a.kd("ima");if(!b)throw Error("IMA plugin not created.");var c=b.Pc(),d=b.h;b=b.a;if(!c||!d||!b)throw Error("IMA plugin not initialized.");const e=a.getSurface().getMedia();if(!e)throw Error("Missing media element.");this.m=a;this.A=e;a=this.m.getConfiguration();a=_.Zg(a.ima||{});this.K=a=_.Yg({disableCustomPlayback:!1},a);this.P=c;this.R=d;this.w=b;this.L=new _.Kv;this.g=new _.T("clpp.ima");this.j=this.a=null;this.f=new _.Ij;this.M=!1;this.H=new _.Rt;this.Ka=new FT;
11
- this.B=null;this.J=this.F=this.G=!1;this.I=this.C=null;c=this.H;d=google.ima.AdErrorEvent.Type.AD_ERROR;c.one(this.w,google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED,this.oc.bind(this));c.on(this.w,d,this.mc.bind(this));c.on(this.m,_.Sd,this.pc.bind(this))}oc(a){this.a=a.getAdsManager(this.A,sT(this));this.a.isCustomPlaybackUsed()&&!tT(this)?(this.g.warn("IMA plugin is disabled for this platform with single video element. Disposing."),this.m.onError(new _.I(1,9,10002)),this.h()):(this.j=new _.Iv(this.m.getSurface(),
12
- (b,c,d)=>{this.a.resize(b,c,d?google.ima.ViewMode.FULLSCREEN:google.ima.ViewMode.NORMAL)}),a=this.a.getCuePoints(),this.C=new GT(a),this.m.trigger(new _.F(_.pc,{adsTimeline:this.C})),uT(this));this.f.resolve()}mc(a){vT(this,a.getError());this.f.resolve()}rc(a){const b=this;return _.x(function*(){b.J=!0;tT(b)?(b.I=b.m.getPosition(),yield wT(b)):(yield b.m.pause(),_.tp(b.A,{visibility:_.$d}));xT(b,_.Sb,a);b.j.start()})}Wa(){const a=this;return _.x(function*(){a.a.start()})}ba(a){a.getAd().isLinear()?
13
- xT(this,_.bc,a):(this.a.discardAdBreak(),this.G||(this.G=!0,this.m.play()))}ia(a){this.B=a.getAd().getDuration();xT(this,_.hc,a);this.m.getSurface().show(this.P)}Db(a){a=a.getAdData();vT(this,a?a.adError:null);yT(this)}da(a){xT(this,_.ec,a)}bb(a){xT(this,_.Ub,a)}V(a){xT(this,_.Xb,a)}ac(a){xT(this,_.cc,a)}za(a){xT(this,_.nc,a)}kc(a){xT(this,_.dc,a)}lc(a){xT(this,_.fc,a)}S(a){this.pause();xT(this,_.Vb,a)}fa(a){xT(this,_.gc,a);yT(this)}X(a){xT(this,_.ac,a)}Cb(a){xT(this,_.Wb,a);yT(this)}uc(){const a=
14
- this;return _.x(function*(){a.G=!0;if(tT(a)&&null!==a.I){var b=a.m;b.a&&b.a.forwardEventsTo(b);yield _.es(a.m);!a.F&&a.I&&(yield zT(a),yield a.m.seek(a.I))}else{if(!a.J)return a.m.play();AT(a)}a.J=!1;a.j&&a.j.stop();a.F||(yield a.m.play());xT(a,_.Tb)})}pc(){this.F=!0;this.w.contentComplete()}load(){const a=this;return _.x(function*(){var b=a.m;const c=a.K;try{if(typeof c.adTagUrl!==_.Pf)throw new _.I(1,9,10001,{missingKeys:"adTagUrl"});}catch(f){return b.onError(f),a.f.resolve(),a.f}if(!c.adTagUrl)return a.f.resolve(),
15
- a.f;b=yield a.L.canPlay(!1);const d=yield a.L.canPlay(!0),e=new google.ima.AdsRequest;e.adTagUrl=c.adTagUrl;e.setAdWillAutoPlay(b);e.setAdWillPlayMuted(d);a.w.getSettings().setAutoPlayAdBreaks(!1);a.w.requestAds(e);return a.f})}start(a){const b=this;return _.x(function*(){b.a&&b.C&&!b.M?b.C.Kb()?yield CT(b):yield DT(b,a):yield a.play()})}o(){}l(){return!0}resume(){this.a&&this.a.resume()}pause(){this.a&&this.a.pause()}skip(){this.a&&this.a.skip()}getVolume(){return this.a?this.a.getVolume():1}setVolume(a){this.a&&
16
- this.a.setVolume(a)}getPosition(){if(!this.a||null===this.B)return-1;const a=this.a.getRemainingTime();return 0>a?0:this.B-a}h(){this.a&&(this.a.destroy(),this.a=null);AT(this);this.H.release();this.j&&(this.j.stop(),this.j=null);return Promise.resolve()}};HT.prototype.getPosition=HT.prototype.getPosition;HT.prototype.setVolume=HT.prototype.setVolume;HT.prototype.getVolume=HT.prototype.getVolume;HT.prototype.skip=HT.prototype.skip;HT.prototype.pause=HT.prototype.pause;HT.prototype.resume=HT.prototype.resume;var IT=class extends _.Sv{constructor(){super();this.a=this.h=this.f=null}onPlayerCreated(a){if(ET())return a.onError(new _.I(1,9,1E4));this.f=_.rp(_.Cd,{"class":"clpp-ima clpp-hidden"});a.getSurface().addElementToContainer(this.f);this.h=new google.ima.AdDisplayContainer(this.f,a.getSurface().getMedia());this.a=new google.ima.AdsLoader(this.h);this.a.getSettings().setPlayerType(_.ra);this.a.getSettings().setPlayerVersion(_.ea);this.a.getSettings().setAutoPlayAdBreaks(!0)}onPlayerWillDestroy(a){this.a&&
17
- (this.a.destroy(),this.a=null);this.h&&(this.h.destroy(),this.h=null);this.f&&(a.getSurface().removeElementFromContainer(this.f),this.f=null)}yh(){return this.a}wh(){return this.h}Pc(){return this.f}id(){return"ima"}};_.z("clpp.ima.ImaPlugin",IT);IT.prototype.getAdContainer=IT.prototype.Pc;IT.prototype.getAdDisplayContainer=IT.prototype.wh;IT.prototype.getAdsLoader=IT.prototype.yh;IT.Id="ima";IT.isSdkMissing=ET;_.Mr(new class{create(){return new IT}});_.pp(new class{constructor(){this.Ta=new _.T(rT)}name(){return rT}a(a,b){return a.namespace()===_.dd?!1:ET()?(this.Ta.warn("IMA SDK is not loaded."),!1):!(!b||!b.ima)}create(a){return new HT(a)}});};f.call(g, window);
1
+ import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var sT="clpp.ima.AdsManagerFactory",tT=function(a){a=a.K;const b=new google.ima.AdsRenderingSettings;b.restoreCustomPlaybackStateOnAdBreakComplete=!1;typeof a.bitrate===_.r&&(b.bitrate=a.bitrate);b.enablePreloading=typeof a.enablePreloading===_.Mc?a.enablePreloading:!0;typeof a.loadVideoTimeout===_.r&&(b.loadVideoTimeout=a.loadVideoTimeout);Array.isArray(a.mimeTypes)&&(b.mimeTypes=a.mimeTypes);typeof a.playAdsAfterTime===_.r&&(b.playAdsAfterTime=a.playAdsAfterTime);typeof a.useStyledLinearAds===
2
+ _.Mc&&(b.useStyledLinearAds=a.useStyledLinearAds);b.uiElements=Array.isArray(a.uiElements)?a.uiElements:[];return b},uT=function(a){return!1===a.K.disableCustomPlayback&&a.a.isCustomPlaybackUsed()&&_.Qj()||_.Tj()},vT=function(a){const b=a.a,c=a.H,d=google.ima.AdEvent.Type;c.on(b,d.AD_BREAK_READY,a.Ua.bind(a));c.on(b,d.LOADED,a.ca.bind(a));c.on(b,d.CONTENT_PAUSE_REQUESTED,a.nc.bind(a));c.on(b,d.STARTED,a.ia.bind(a));c.on(b,d.LOG,a.Ab.bind(a));c.on(b,d.AD_PROGRESS,a.ea.bind(a));c.on(b,d.AD_BUFFERING,
3
+ a.Za.bind(a));c.on(b,d.FIRST_QUARTILE,a.V.bind(a));c.on(b,d.MIDPOINT,a.fc.bind(a));c.on(b,d.THIRD_QUARTILE,a.ya.bind(a));c.on(b,d.PAUSED,a.gc.bind(a));c.on(b,d.RESUMED,a.hc.bind(a));c.on(b,d.CLICK,a.T.bind(a));c.on(b,d.SKIPPED,a.ha.bind(a));c.on(b,d.IMPRESSION,a.Z.bind(a));c.on(b,d.COMPLETE,a.zb.bind(a));c.on(b,d.CONTENT_RESUME_REQUESTED,a.pc.bind(a))},wT=function(a,b){const c=b?a.Ta.create(b.getErrorCode()):null;a.m.onError(new _.I(1,9,10003,{errorType:c},b))},xT=function(a){return _.w(function*(){yield a.m.detach();
4
+ var b=a.m;b.a&&b.a.stopForwardingEventsTo(b)})},yT=function(a,b,c){c=c&&c.getAd();let d=null;c&&(d={ad:new W(c,a.G,a.F)});a.m.trigger(new _.C(b,d))},zT=function(a){a.B=null;yT(a,_.mc);a.m.getSurface().hide(a.P)},AT=function(a){return _.w(function*(){return new Promise(b=>{a.H.on(a.m,_.Nf,()=>{a.m.getState()===_.rp&&b()})})})},BT=function(a){_.Np(a.A,{visibility:"visible"})},DT=function(a){return _.w(function*(){a.R.initialize();const b=!!a.m.getConfiguration().muted;(yield a.L.canPlay(b))||uT(a)?
5
+ (uT(a)&&(yield xT(a)),CT(a)):(yT(a,_.Kc),a.g.warn(_.ka))})},ET=function(a,b){return _.w(function*(){a.R.initialize();yield b.play();CT(a)})},CT=function(a){a.a.init(a.A.offsetWidth,a.A.offsetHeight,google.ima.ViewMode.NORMAL);a.a.start();a.M=!0},FT=function(){return!window.google||!google.ima||!google.ima.AdsLoader},W=class{constructor(a,b,c){this.a=a;this.f=a.getAdPodInfo();this.j=b;this.h=c}kb(){return"Google IMA SDK"}lb(){return google.ima.VERSION}rb(){return 0}getId(){return this.a.getAdId()}getCreativeId(){return this.a.getCreativeId()}Mb(){return""}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()}getPosition(){return 0}getSkipTimeOffset(){return this.a.getSkipTimeOffset()}Pb(){return this.f?
6
+ this.f.getIsBumper():!1}nb(){let a=null;const b=this.a,c=Object.keys(b).find(d=>typeof b[d]===_.Fe&&typeof b[d].clickThroughUrl===_.Qf);c&&(a=b[c].clickThroughUrl);return a}getMediaUrl(){return this.a.getMediaUrl()}bb(){return this.a.getVastMediaWidth()}ab(){return this.a.getVastMediaHeight()}Na(){return this.a.getVastMediaBitrate()}Oa(){return this.h?2:this.j?1:0}getPodIndex(){return this.f?this.f.getPodIndex():0}Eb(){return this.f?this.f.getTimeOffset():0}pb(){return this.f?this.f.getAdPosition():
7
+ 1}cb(){return this.f?this.f.getTotalAds():1}getWrapperAdIds(){return this.a.getWrapperAdIds()}canSeek(){return!1}getWrapperAdSystems(){return this.a.getWrapperAdSystems()}getWrapperCreativeIds(){return this.a.getWrapperCreativeIds()}Ob(){return null}};W.prototype.getVideoElement=W.prototype.Ob;W.prototype.getWrapperCreativeIds=W.prototype.getWrapperCreativeIds;W.prototype.getWrapperAdSystems=W.prototype.getWrapperAdSystems;W.prototype.canSeek=W.prototype.canSeek;W.prototype.getWrapperAdIds=W.prototype.getWrapperAdIds;
8
+ W.prototype.getSequenceLength=W.prototype.cb;W.prototype.getPositionInSequence=W.prototype.pb;W.prototype.getPodTimeOffset=W.prototype.Eb;W.prototype.getPodIndex=W.prototype.getPodIndex;W.prototype.getPodType=W.prototype.Oa;W.prototype.getMediaBitrate=W.prototype.Na;W.prototype.getMediaHeight=W.prototype.ab;W.prototype.getMediaWidth=W.prototype.bb;W.prototype.getMediaUrl=W.prototype.getMediaUrl;W.prototype.getClickThroughUrl=W.prototype.nb;W.prototype.isBumper=W.prototype.Pb;
9
+ W.prototype.getSkipTimeOffset=W.prototype.getSkipTimeOffset;W.prototype.getPosition=W.prototype.getPosition;W.prototype.getDuration=W.prototype.getDuration;W.prototype.getTitle=W.prototype.getTitle;W.prototype.getAdvertiserName=W.prototype.getAdvertiserName;W.prototype.getAdSystem=W.prototype.getAdSystem;W.prototype.getApiFramework=W.prototype.getApiFramework;W.prototype.getSourceId=W.prototype.Mb;W.prototype.getCreativeId=W.prototype.getCreativeId;W.prototype.getId=W.prototype.getId;
10
+ W.prototype.getTechnology=W.prototype.rb;W.prototype.getAdManagerVersion=W.prototype.lb;W.prototype.getAdManagerName=W.prototype.kb;var GT=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 HT=class{constructor(a){this.a=a}getCuePoints(){return this.a}Gb(){return 0<=this.a.indexOf(0)||0===this.a.length}Fb(){return 0<=this.a.indexOf(-1)}};HT.prototype.hasPostroll=HT.prototype.Fb;HT.prototype.hasPreroll=HT.prototype.Gb;HT.prototype.getCuePoints=HT.prototype.getCuePoints;var IT=class{constructor(a){var b=a.cd("ima");if(!b)throw Error("IMA plugin not created.");var c=b.Ic(),d=b.h;b=b.a;if(!c||!d||!b)throw Error("IMA plugin not initialized.");const e=a.getSurface().getMedia();if(!e)throw Error("Missing media element.");this.m=a;this.A=e;a=this.m.getConfiguration();a=_.ah(a.ima||{});this.K=a=_.$g({disableCustomPlayback:!1},a);this.P=c;this.R=d;this.w=b;this.L=new _.Av;this.g=new _.S("clpp.ima");this.j=this.a=null;this.f=new _.xk;this.M=!1;this.H=new _.Kt;this.Ta=new GT;
11
+ this.B=null;this.J=this.F=this.G=!1;this.I=this.C=null;c=this.H;d=google.ima.AdErrorEvent.Type.AD_ERROR;c.one(this.w,google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED,this.kc.bind(this));c.on(this.w,d,this.ic.bind(this));c.on(this.m,_.Td,this.lc.bind(this))}kc(a){this.a=a.getAdsManager(this.A,tT(this));this.a.isCustomPlaybackUsed()&&!uT(this)?(this.g.warn("IMA plugin is disabled for this platform with single video element. Disposing."),this.m.onError(new _.I(1,9,10002)),this.h()):(this.j=new _.yv(this.m.getSurface(),
12
+ (b,c,d)=>{this.a.resize(b,c,d?google.ima.ViewMode.FULLSCREEN:google.ima.ViewMode.NORMAL)}),a=this.a.getCuePoints(),this.C=new HT(a),this.m.trigger(new _.C(_.pc,{adsTimeline:this.C})),vT(this));this.f.resolve()}ic(a){wT(this,a.getError());this.f.resolve()}nc(a){const b=this;return _.w(function*(){b.J=!0;uT(b)?(b.I=b.m.getPosition(),yield xT(b)):(yield b.m.pause(),_.Np(b.A,{visibility:_.be}));yT(b,_.Sb,a);b.j.start()})}Ua(){const a=this;return _.w(function*(){a.a.start()})}ca(a){a.getAd().isLinear()?
13
+ yT(this,_.bc,a):(this.a.discardAdBreak(),this.G||(this.G=!0,this.m.play()))}ia(a){this.B=a.getAd().getDuration();yT(this,_.kc,a);this.m.getSurface().show(this.P)}Ab(a){a=a.getAdData();wT(this,a?a.adError:null);zT(this)}ea(a){yT(this,_.ec,a)}Za(a){yT(this,_.Ub,a)}V(a){yT(this,_.Xb,a)}fc(a){yT(this,_.cc,a)}ya(a){yT(this,_.nc,a)}gc(a){yT(this,_.dc,a)}hc(a){yT(this,_.fc,a)}T(a){this.pause();yT(this,_.Vb,a)}ha(a){yT(this,_.gc,a);zT(this)}Z(a){yT(this,_.ac,a)}zb(a){yT(this,_.Wb,a);zT(this)}pc(){const a=
14
+ this;return _.w(function*(){a.G=!0;if(uT(a)&&null!==a.I){var b=a.m;b.a&&b.a.forwardEventsTo(b);yield _.ys(a.m);!a.F&&a.I&&(yield AT(a),yield a.m.seek(a.I))}else{if(!a.J)return a.m.play();BT(a)}a.J=!1;a.j&&a.j.stop();a.F||(yield a.m.play());yT(a,_.Tb)})}lc(){this.F=!0;this.w.contentComplete()}load(){const a=this;return _.w(function*(){var b=a.m;const c=a.K;try{if(typeof c.adTagUrl!==_.Qf)throw new _.I(1,9,10001,{missingKeys:"adTagUrl"});}catch(f){return b.onError(f),a.f.resolve(),a.f}if(!c.adTagUrl)return a.f.resolve(),
15
+ a.f;b=yield a.L.canPlay(!1);const d=yield a.L.canPlay(!0),e=new google.ima.AdsRequest;e.adTagUrl=c.adTagUrl;e.setAdWillAutoPlay(b);e.setAdWillPlayMuted(d);a.w.getSettings().setAutoPlayAdBreaks(!1);a.w.requestAds(e);return a.f})}start(a){const b=this;return _.w(function*(){b.a&&b.C&&!b.M?b.C.Gb()?yield DT(b):yield ET(b,a):yield a.play()})}o(){}l(){return!0}resume(){this.a&&this.a.resume()}pause(){this.a&&this.a.pause()}skip(){this.a&&this.a.skip()}getVolume(){return this.a?this.a.getVolume():1}setVolume(a){this.a&&
16
+ this.a.setVolume(a)}getPosition(){if(!this.a||null===this.B)return-1;const a=this.a.getRemainingTime();return 0>a?0:this.B-a}h(){this.a&&(this.a.destroy(),this.a=null);BT(this);this.H.release();this.j&&(this.j.stop(),this.j=null);return Promise.resolve()}};IT.prototype.getPosition=IT.prototype.getPosition;IT.prototype.setVolume=IT.prototype.setVolume;IT.prototype.getVolume=IT.prototype.getVolume;IT.prototype.skip=IT.prototype.skip;IT.prototype.pause=IT.prototype.pause;IT.prototype.resume=IT.prototype.resume;var JT=class extends _.Iv{constructor(){super();this.a=this.h=this.f=null}onPlayerCreated(a){if(FT())return a.onError(new _.I(1,9,1E4));this.f=_.Lp(_.Dd,{"class":"clpp-ima clpp-hidden"});a.getSurface().addElementToContainer(this.f);this.h=new google.ima.AdDisplayContainer(this.f,a.getSurface().getMedia());this.a=new google.ima.AdsLoader(this.h);this.a.getSettings().setPlayerType(_.ra);this.a.getSettings().setPlayerVersion(_.ea);this.a.getSettings().setAutoPlayAdBreaks(!0)}onPlayerWillDestroy(a){this.a&&
17
+ (this.a.destroy(),this.a=null);this.h&&(this.h.destroy(),this.h=null);this.f&&(a.getSurface().removeElementFromContainer(this.f),this.f=null)}ph(){return this.a}nh(){return this.h}Ic(){return this.f}id(){return"ima"}};_.x("clpp.ima.ImaPlugin",JT);JT.prototype.getAdContainer=JT.prototype.Ic;JT.prototype.getAdDisplayContainer=JT.prototype.nh;JT.prototype.getAdsLoader=JT.prototype.ph;JT.Id="ima";JT.isSdkMissing=FT;_.fs(new class{create(){return new JT}});_.Jp(new class{constructor(){this.Qa=new _.S(sT)}name(){return sT}a(a,b){return a.namespace()===_.ed?!1:FT()?(this.Qa.warn("IMA SDK is not loaded."),!1):!(!b||!b.ima)}create(a){return new IT(a)}});};f.call(g, window);
package/cl.mediatailor.js CHANGED
@@ -1,3 +1,3 @@
1
- import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var pT=function(a,b,c){return _.x(function*(){var d=yield(yield fetch(b,{method:_.db,body:JSON.stringify(c.sessionConfig)})).json();const e=d.trackingUrl;d={wg:_.ij(d.manifestUrl,b),oj:e?_.ij(e,b):null};a.g.info(`Media Tailor session initialized.
2
- - manifest URI: ${d.wg}`);return d})},qT=class extends _.Sv{constructor(){super();this.g=new _.T("clpp.mediatailor.MediaTailorPlugin")}onContentWillLoad(a,b){const c=this;return _.x(function*(){const d=a.getConfiguration().mediatailor;if(d.enabled){c.g.info("MediaTailor plugin is enabled");try{const e=yield pT(c,b.url,d);a.trigger(new _.F("mt-session-started"));b.url=e.wg}catch(e){throw c.g.error("Failed to start session",e),new _.I(_.G,9,7003,"Media Tailor session failed to initialize.");}}})}id(){return"mediatailor"}};
3
- _.Mr(new class{create(){return new qT}});};f.call(g, window);
1
+ import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var qT=function(a,b,c){return _.w(function*(){var d=yield(yield fetch(b,{method:_.db,body:JSON.stringify(c.sessionConfig)})).json();const e=d.trackingUrl;d={ng:_.Ti(d.manifestUrl,b),gj:e?_.Ti(e,b):null};a.g.info(`Media Tailor session initialized.
2
+ - manifest URI: ${d.ng}`);return d})},rT=class extends _.Iv{constructor(){super();this.g=new _.S("clpp.mediatailor.MediaTailorPlugin")}onContentWillLoad(a,b){const c=this;return _.w(function*(){const d=a.getConfiguration().mediatailor;if(d.enabled){c.g.info("MediaTailor plugin is enabled");try{const e=yield qT(c,b.url,d);a.trigger(new _.C("mt-session-started"));b.url=e.ng}catch(e){throw c.g.error("Failed to start session",e),new _.I(_.F,9,7003,"Media Tailor session failed to initialize.");}}})}id(){return"mediatailor"}};
3
+ _.fs(new class{create(){return new rT}});};f.call(g, window);