@castlabs/prestoplay 6.6.1-beta.2 → 6.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/CHANGELOG.md +20 -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 +403 -403
  8. package/cjs/cl.crypto.js +10 -10
  9. package/cjs/cl.dash.js +71 -71
  10. package/cjs/cl.externs.js +47 -41
  11. package/cjs/cl.freewheel.js +24 -24
  12. package/cjs/cl.hls.js +68 -49
  13. package/cjs/cl.hlssmpte.js +6 -6
  14. package/cjs/cl.htmlcue.js +31 -31
  15. package/cjs/cl.ima.js +24 -23
  16. package/cjs/cl.mse.js +263 -260
  17. package/cjs/cl.muxdata.js +11 -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 +70 -69
  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 +13 -13
  28. package/cjs/cl.vtt.js +11 -11
  29. package/cjs/cl.youbora.js +19 -19
  30. package/cl.adobe.js +3 -3
  31. package/cl.airplay.js +3 -3
  32. package/cl.broadpeak.js +5 -5
  33. package/cl.cast.js +88 -88
  34. package/cl.conviva.js +27 -27
  35. package/cl.core.js +345 -343
  36. package/cl.crypto.js +8 -8
  37. package/cl.dash.js +67 -67
  38. package/cl.externs.js +47 -41
  39. package/cl.freewheel.js +19 -19
  40. package/cl.hls.js +57 -40
  41. package/cl.hlssmpte.js +5 -5
  42. package/cl.htmlcue.js +25 -25
  43. package/cl.ima.js +17 -16
  44. package/cl.mse.js +227 -227
  45. package/cl.muxdata.js +9 -8
  46. package/cl.onboard.js +4 -4
  47. package/cl.persistent.js +10 -10
  48. package/cl.playlist.js +5 -5
  49. package/cl.smooth.js +58 -58
  50. package/cl.thumbnails.js +17 -17
  51. package/cl.tizen.js +57 -57
  52. package/cl.ttml.js +22 -22
  53. package/cl.verimatrix.js +4 -4
  54. package/cl.vimond.js +8 -8
  55. package/cl.vr.js +15 -15
  56. package/cl.vtt.js +12 -12
  57. package/cl.youbora.js +14 -14
  58. package/package.json +1 -1
  59. package/typings.d.ts +118 -12
package/cl.muxdata.js CHANGED
@@ -1,8 +1,9 @@
1
- import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var Bt=function(a){let b={debug:!0,data:At(a)};a.g&&a.g.muxOptionsOverride&&_.mf(a.g.muxOptionsOverride)&&(b=_.jf(b,a.g.muxOptionsOverride,{getPlayheadTime:()=>1E3*a.l.getPosition(),getStateData:()=>{{a.f.debug("getStateData()");var c=a.l.getLoadedSource(),d=a.l.getTrackManager();const f=a.l.getSurface(),g=d.fa();var e={player_is_paused:a.l.isPaused(),player_is_fullscreen:f.isFullscreen(),video_source_duration:1E3*a.l.getDuration(),player_autoplay_on:!!a.l.getConfiguration().autoplay};
2
- if(c){const h=new _.Kj(c.url);e.video_source_url=_.rh(h);e.video_source_mime_type=c.type;c.name&&(e.video_title=c.name)}if(c=f.getContainer())e.player_width=c.offsetWidth,e.player_height=c.offsetHeight;g&&g.height&&g.width&&(e.video_source_height=g.height,e.video_source_width=g.width);(d=d.ka())&&d.language&&(e.player_language_code=d.language)}return e}}));a.f.debug("Mux SDK options",b);return b},Ct=function(a,b,c){a.f.debug(`Event: ${b}`);mux.emit(a.A,b,c)},At=function(a){const b={env_key:a.g.envKey,
3
- video_title:a.m&&a.m.name||"",player_name:_.oa,player_software_name:_.oa,player_software_version:_.da,player_mux_plugin_name:"CastlabsPlayer built-in Mux Plugin",player_mux_plugin_version:_.da};(a=a.l.getConfiguration().viewerId)&&(b.viewer_user_id=a);return b},Dt=function(a){a.a.on(a.l,_.ve,()=>{Ct(a,_.ve,{player_playhead_time:1E3*a.l.getPosition()})});a.a.on(a.l,_.Sd,()=>Ct(a,_.Sd));a.a.on(a.l,_.hc,a.B.bind(a));a.a.on(a.l,_.ke,a.F.bind(a));a.a.on(a.l,_.Ee,()=>Ct(a,_.fe));a.a.on(a.l,_.Ce,()=>Ct(a,
4
- _.ee));a.a.on(a.l,_.$c,a.C.bind(a));a.a.on(a.l,_.xb,()=>Ct(a,"adbreakstart"));a.a.on(a.l,_.yb,()=>Ct(a,"adbreakend"));a.a.on(a.l,_.Kb,()=>{Ct(a,"adplay");Ct(a,"adplaying")});a.a.on(a.l,_.Gb,()=>Ct(a,"adpause"));a.a.on(a.l,_.Ib,()=>{Ct(a,"adplay");Ct(a,"adplaying")});a.a.on(a.l,_.Lb,()=>Ct(a,"adended"));a.a.on(a.l,_.Cb,()=>Ct(a,"adfirstquartile"));a.a.on(a.l,_.Fb,()=>Ct(a,"admidpoint"));a.a.on(a.l,_.Mb,()=>Ct(a,"adthirdquartile"))},Et=class{constructor(a,b){this.l=a;this.m=this.g=null;this.A=("000000"+
5
- (Math.random()*Math.pow(36,6)<<0).toString(36)).slice(-6);this.a=new _.uo;this.f=b;this.o=this.j=this.h=this.w=!1}initialize(a,b){this.g=a;this.m=b;this.w=!1;if(!this.h){try{this.h=!0,mux.init(this.A,Bt(this))}catch(c){throw this.h=!1,_.Of(this.a),new _.G(1,9,9302,null,c);}Ct(this,"playerready")}this.j&&!this.o&&(Ct(this,"videochange",At(this)),this.j=!1);Dt(this)}release(){this.f.debug("release()");this.j?this.f.debug(_.ia):(_.Of(this.a),this.j=!0,this.m=this.g=null)}destroy(){this.f.debug(_.Oc);
6
- this.o?this.f.debug(_.fa):(this.o=!0,this.h&&this.w&&Ct(this,"viewend"),Ct(this,"destroy"))}B(a){this.f.debug(_.Cd);var b=a.detail;a=this.l.getTrackManager();b&&b.bandwidth&&(b=b.bandwidth,(a=a.Aa())&&a.bandwidth&&(b+=a.bandwidth),Ct(this,"renditionchange",{video_source_bitrate:b}))}F(a){this.f.debug(_.Gd);switch(a.detail.currentState){case _.Ql:this.l.getConfiguration().autoplay&&Ct(this,_.Sd);break;case _.Sl:Ct(this,_.Td);break;case _.Rl:Ct(this,_.Od);break;case _.Hl:this.w=!0,Ct(this,_.Zc)}}C(a){this.f.debug(_.Dd);
7
- if(this.h&&(a=a.detail||null))if(10003===a.code)Ct(this,"aderror");else if(a.severity===_.F){var b=a.message||"Player error";if(1===a.category||6100===a.code||6007===a.code)b="Download error",6100===a.code?b="Certificate request error":6007===a.code&&(b="License request error"),b=`${b} castlabs-error-data:${JSON.stringify(a.data)}`;Ct(this,_.$c,{player_error_code:a.code,player_error_message:b})}}};var Ft=class extends _.jq{constructor(){super();this.f=null;this.a=!1;this.g=new _.O("clpp.muxdata")}onPlayerCreated(a){this.f=new Et(a,this.g)}onContentWillLoad(a,b){var c=a.getConfiguration();if(this.a=!_.z(c.muxdata)&&typeof c.muxdata===_.Bd){var d=c.muxdata;if(c="undefined"===typeof window.mux)c=d.muxLib,d="undefined"!==typeof c&&typeof c.init===_.bd&&typeof c.emit===_.bd,window.mux=c,c=d,c=!c;c&&(this.g.warn("Mux SDK is not loaded. Will do nothing."),this.a=!1,c=new _.G(1,9,9301),this.T(a,c))}else this.g.warn("Mux plugin is loaded but not configured. Will do nothing.");
8
- if(this.a){c=a.getConfiguration();c=_.kf(c.muxdata||{});try{d=[];typeof c===_.Bd&&(c.envKey||d.push("envKey"));if(0<d.length)throw new _.G(1,9,9300,{missingKeys:d});this.f.initialize(c,b)}catch(e){this.a=!1,this.T(a,e)}}}onContentLoaded(){}onPlayerWillDestroy(){this.a&&(this.f.destroy(),this.f=null)}onPlayerWillRelease(){this.a&&this.f.release()}id(){return"mux"}T(a,b){a.trigger(new _.C(_.$c,{detail:b}))}};_.x("clpp.muxdata.MuxDataPlugin",Ft);Ft.Id="mux";_.Sm(new class{create(){return new Ft}});};f.call(g, window);
1
+ import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var Ct=function(a){let b={debug:!0,data:Bt(a)};a.g&&a.g.muxOptionsOverride&&_.nf(a.g.muxOptionsOverride)&&(b=_.kf(b,a.g.muxOptionsOverride));b=_.kf(b,{getPlayheadTime:()=>1E3*a.l.getPosition(),getStateData:()=>{{a.f.debug("getStateData()");var c=a.l.getLoadedSource(),d=a.l.getTrackManager();const f=a.l.getSurface();var e={player_is_paused:a.l.isPaused(),player_is_fullscreen:f.isFullscreen(),video_source_duration:1E3*a.l.getDuration(),player_autoplay_on:!!a.l.getConfiguration().autoplay};
2
+ if(c){const k=new _.Kj(c.url);e.video_source_url=_.Ah(k);e.video_source_mime_type=c.type;c.name&&(e.video_title=c.name)}if(c=f.getContainer())e.player_width=c.offsetWidth,e.player_height=c.offsetHeight;(c=a.l.getSurface().getMedia())?c={videoWidth:c.videoWidth,videoHeight:c.videoHeight}:(c=a.l.getTrackManager().ia(),c={videoWidth:c.width,videoHeight:c.height});const {videoWidth:g,videoHeight:h}=c;a.f.debug(`Video dimensions: ${g}x${h}`);g&&h&&(e.video_source_height=g,e.video_source_width=h);(d=d.na())&&
3
+ d.language&&(e.player_language_code=d.language)}return e}});a.f.debug("Mux SDK options",b);return b},Dt=function(a,b,c){a.f.debug(`Event: ${b}`);a.A.emit(a.B,b,c)},Bt=function(a){const b={env_key:a.g.envKey,video_title:a.m&&a.m.name||"",player_name:_.oa,player_software_name:_.oa,player_software_version:_.da,player_mux_plugin_name:"CastlabsPlayer built-in Mux Plugin",player_mux_plugin_version:_.da};(a=a.l.getConfiguration().viewerId)&&(b.viewer_user_id=a);return b},Et=function(a){a.a.on(a.l,_.ve,()=>
4
+ {const b={player_playhead_time:1E3*a.l.getPosition()};Dt(a,_.ve,b)});a.a.on(a.l,_.Sd,()=>Dt(a,_.Sd));a.a.on(a.l,_.hc,a.C.bind(a));a.a.on(a.l,_.ke,a.G.bind(a));a.a.on(a.l,_.De,()=>Dt(a,_.fe));a.a.on(a.l,_.Ce,()=>Dt(a,_.ee));a.a.on(a.l,_.$c,a.F.bind(a));a.a.on(a.l,_.xb,()=>Dt(a,"adbreakstart"));a.a.on(a.l,_.yb,()=>Dt(a,"adbreakend"));a.a.on(a.l,_.Kb,()=>{Dt(a,"adplay");Dt(a,"adplaying")});a.a.on(a.l,_.Gb,()=>Dt(a,"adpause"));a.a.on(a.l,_.Ib,()=>{Dt(a,"adplay");Dt(a,"adplaying")});a.a.on(a.l,_.Lb,()=>
5
+ Dt(a,"adended"));a.a.on(a.l,_.Cb,()=>Dt(a,"adfirstquartile"));a.a.on(a.l,_.Fb,()=>Dt(a,"admidpoint"));a.a.on(a.l,_.Mb,()=>Dt(a,"adthirdquartile"))},Ft=class{constructor(a,b){this.l=a;this.m=this.g=null;this.B=("000000"+(Math.random()*Math.pow(36,6)<<0).toString(36)).slice(-6);this.a=new _.uo;this.f=b;this.o=this.j=this.h=this.w=!1;this.A=null}initialize(a,b,c){this.g=a;this.m=b;this.A=c;this.w=!1;if(!this.h){try{this.h=!0,this.A.init(this.B,Ct(this))}catch(d){throw this.h=!1,_.Nf(this.a),new _.H(1,
6
+ 9,9302,null,d);}Dt(this,"playerready")}this.j&&!this.o&&(a=Bt(this),Dt(this,"videochange",a),this.j=!1);Et(this)}release(){this.f.debug("release()");this.j?this.f.debug(_.ha):(_.Nf(this.a),this.j=!0,this.m=this.g=null)}destroy(){this.f.debug(_.Oc);this.o?this.f.debug(_.fa):(this.o=!0,this.h&&this.w&&Dt(this,"viewend"),Dt(this,"destroy"))}C(a){this.f.debug(_.Cd);var b=a.detail;a=this.l.getTrackManager();b&&b.bandwidth&&(b=b.bandwidth,(a=a.Da())&&a.bandwidth&&(b+=a.bandwidth),Dt(this,"renditionchange",
7
+ {video_source_bitrate:b}))}G(a){this.f.debug(_.Gd);switch(a.detail.currentState){case _.Ql:this.l.getConfiguration().autoplay&&Dt(this,_.Sd);break;case _.Sl:Dt(this,_.Td);break;case _.Rl:Dt(this,_.Od);break;case _.Hl:this.w=!0,Dt(this,_.Zc)}}F(a){this.f.debug(_.Dd);if(this.h&&(a=a.detail||null))if(10003===a.code)Dt(this,"aderror");else if(a.severity===_.G){var b=a.message||"Player error";if(1===a.category||6100===a.code||6007===a.code)b="Download error",6100===a.code?b="Certificate request error":
8
+ 6007===a.code&&(b="License request error"),b=`${b} castlabs-error-data:${JSON.stringify(a.data)}`;Dt(this,_.$c,{player_error_code:a.code,player_error_message:b})}}};var Gt=class extends _.kq{constructor(){super();this.f=null;this.a=!1;this.g=new _.O("clpp.muxdata")}onPlayerCreated(a){this.f=new Ft(a,this.g)}onContentWillLoad(a,b){var c=a.getConfiguration();var d=null;(this.a=!_.B(c.muxdata)&&typeof c.muxdata===_.Bd)?(c=c.muxdata,d=c.muxLib,d="undefined"!==typeof d&&typeof d.init===_.bd&&typeof d.emit===_.bd?c.muxLib:window.mux,"undefined"===d&&(this.g.warn("Mux SDK is not loaded. Will do nothing."),this.a=!1,c=new _.H(1,9,9301),this.T(a,c))):this.g.warn("Mux plugin is loaded but not configured. Will do nothing.");
9
+ if(this.a){c=a.getConfiguration();c=_.lf(c.muxdata||{});try{{const e=[];typeof c===_.Bd&&(c.envKey||e.push("envKey"));if(0<e.length)throw new _.H(1,9,9300,{missingKeys:e});}this.f.initialize(c,b,d)}catch(e){this.a=!1,this.T(a,e)}}}onContentLoaded(){}onPlayerWillDestroy(){this.a&&(this.f.destroy(),this.f=null)}onPlayerWillRelease(){this.a&&this.f.release()}id(){return"mux"}T(a,b){a.trigger(new _.F(_.$c,{detail:b}))}};_.z("clpp.muxdata.MuxDataPlugin",Gt);Gt.Id="mux";_.Sm(new class{create(){return new Gt}});};f.call(g, window);
package/cl.onboard.js CHANGED
@@ -1,4 +1,4 @@
1
- import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var zt=function(a,b){let c=b.baseUrl;_.Sg(c,"/")||(c+="/");const d=g=>g&&(_.Pg(g,"https://")||_.Pg(g,"http://")||_.Pg(g,"//"))?g:`${c}${g}`,e=d(b.widevineUrl||"widevine"),f=d(b.playreadyUrl||"playready");b=d(b.fairplayUrl||"fairplay");a=new _.gp(a);a.Ea(_.Kc,{licenseUrl:e,videoRobustness:[_.eb,void 0],audioRobustness:[_.db,void 0],persistentStateRequired:!1,distinctiveIdentifierRequired:!1,serverCertificate:null,modifiers:{licenseRequest:_.Yj,licenseResponse:_.Zj}});a.Ea(_.Ic,{licenseUrl:b,
2
- certificateUrl:b,modifiers:{licenseRequest:_.bk,licenseResponse:_.ck,extractContentId:_.dk,certificateRequest:_.ek}});a.Ea(_.Jc,{licenseUrl:f,modifiers:{licenseRequest:_.Yj}});_.oj(a)};
3
- _.x("clpp.onboard.OnboardComponent",class extends _.Lp{constructor(){super();this.l=null;this.h=new _.O("clpp.onboard")}f(a){this.l=a}a(){this.l=null}g(){var a=this.l.getConfiguration().drm,b;if(b=!(!a||!a.env))b=a&&a.customData,b=!(!b||!b.baseUrl);b&&(b=a.env,a=a.customData,a={baseUrl:a.baseUrl,widevineUrl:a.widevineUrl,playreadyUrl:a.playreadyUrl,fairplayUrl:a.fairplayUrl},this.h.info(`Registering the DRMtoday Onboard environment, name='${b}'`),zt(b,a))}release(){}id(){return"onboard"}});
4
- _.x("clpp.onboard.register",zt);};f.call(g, window);
1
+ import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var At=function(a,b){let c=b.baseUrl;_.Ng(c,"/")||(c+="/");const d=g=>g&&(_.Mg(g,"https://")||_.Mg(g,"http://")||_.Mg(g,"//"))?g:`${c}${g}`,e=d(b.widevineUrl||"widevine"),f=d(b.playreadyUrl||"playready");b=d(b.fairplayUrl||"fairplay");a=new _.hp(a);a.Ia(_.Kc,{licenseUrl:e,videoRobustness:[_.fb,void 0],audioRobustness:[_.eb,void 0],persistentStateRequired:!1,distinctiveIdentifierRequired:!1,serverCertificate:null,modifiers:{licenseRequest:_.Yj,licenseResponse:_.Zj}});a.Ia(_.Ic,{licenseUrl:b,
2
+ certificateUrl:b,modifiers:{licenseRequest:_.bk,licenseResponse:_.ck,extractContentId:_.dk,certificateRequest:_.ek}});a.Ia(_.Jc,{licenseUrl:f,modifiers:{licenseRequest:_.Yj}});_.nj(a)};
3
+ _.z("clpp.onboard.OnboardComponent",class extends _.Mp{constructor(){super();this.l=null;this.h=new _.O("clpp.onboard")}f(a){this.l=a}a(){this.l=null}g(){var a=this.l.getConfiguration().drm,b;if(b=!(!a||!a.env))b=a&&a.customData,b=!(!b||!b.baseUrl);b&&(b=a.env,a=a.customData,a={baseUrl:a.baseUrl,widevineUrl:a.widevineUrl,playreadyUrl:a.playreadyUrl,fairplayUrl:a.fairplayUrl},this.h.info(`Registering the DRMtoday Onboard environment, name='${b}'`),At(b,a))}release(){}id(){return"onboard"}});
4
+ _.z("clpp.onboard.register",At);};f.call(g, window);
package/cl.persistent.js CHANGED
@@ -1,11 +1,11 @@
1
- import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var kt="A persistent DRM session already exists for: ",lt="No DRM configuration.",mt="clpp.persistent",nt=function(a,b){const c=[];for(const d of a)c.push(b(d));return c},pt=function(a,b){a.H=ot;a.I=[];a.C=!0;return _.Uk(a,b)},rt=function(a,b,c,d,e,f){a.H=qt;const g=new Map,h=_.Ik(b);g.set(h,{audioCapabilities:e,videoCapabilities:f,distinctiveIdentifier:_.Jd,persistentState:_.be,sessionTypes:[_.Qd],label:h,drmInfos:[{keySystem:b,licenseServerUri:c,distinctiveIdentifierRequired:!1,persistentStateRequired:!0,
2
- audioRobustness:"",videoRobustness:"",serverCertificate:d,initData:null,keyIds:null}]});return _.Tk(a,g)},st=function(a,b){return _.w(function*(){const c=yield _.kl(a,b);if(c){var d=[],e=a.g.get(c);e&&a.A&&(e.jb=new _.Xk,d.push(e.jb));a.a.debug("Attempting to remove session",b);d.push(c.remove());return Promise.all(d)}a.a.debug("Ignoring attempt to remove missing session",b)})},tt=function(a){a=a.g.keys();a=nt(a,b=>b.sessionId);return Array.from(a)},ut=function(a,b){const c=_.qj(a),d=_.Xi({drm:a});
3
- d.drm=a;a=new _.am({ub:b,onError:()=>{},Kd:()=>{},onExpirationUpdated:()=>{},onEvent:()=>{},getConfiguration:()=>d,nc:()=>null});a.h=c;return a},xt=function(a,b,c){return _.w(function*(){const d=vt;if(a){var e=a.offlineId;if(0!==e.length){var f=yield d.get(e);if(f)wt.debug(kt,e);else{var g=ut(a,c);try{yield pt(g,b);yield _.il(g);yield _.ll(g);const h=g.getDrmInfo(),k=b.map(l=>({contentType:_.Ph(l.video.mimeType,l.video.codecs),robustness:h.videoRobustness}));f={sessionIds:tt(g),keySystem:h.keySystem,
4
- licenseServerUri:h.licenseServerUri,serverCertificate:h.serverCertificate,audioCapabilities:[],videoCapabilities:k,drmConfig:a};yield d.store(e,f)}catch(h){throw wt.error("Error while persisting DRM session"),new _.G(1,6,6200,null,h);}finally{yield g.destroy()}}}}else wt.debug(lt)})},ot=1,qt=2,yt=class{store(a,b){return _.w(function*(){{var c=JSON.stringify(b.sessionIds);var d=b.serverCertificate?Array.from(b.serverCertificate):null;d=JSON.stringify(d);const e=JSON.stringify(b.audioCapabilities),
5
- f=JSON.stringify(b.videoCapabilities);c=JSON.stringify({sessionIds:c,keySystem:b.keySystem,licenseServerUri:encodeURIComponent(b.licenseServerUri),serverCertificate:d,audioCapabilities:e,videoCapabilities:f,drmConfig:JSON.stringify(b.drmConfig)})}window.localStorage.setItem(encodeURIComponent(a),btoa(c))})}get(a){return _.w(function*(){var b=window.localStorage.getItem(encodeURIComponent(a));if(b){{b=JSON.parse(atob(b));const c=JSON.parse(b.sessionIds),d=JSON.parse(b.audioCapabilities),e=JSON.parse(b.videoCapabilities),
6
- f=JSON.parse(b.serverCertificate),g=JSON.parse(b.drmConfig);b={sessionIds:c,keySystem:b.keySystem,licenseServerUri:decodeURIComponent(b.licenseServerUri),serverCertificate:f?new Uint8Array(f):null,audioCapabilities:d,videoCapabilities:e,drmConfig:g}}}else b=null;return b})}delete(a){return _.w(function*(){window.localStorage.removeItem(encodeURIComponent(a))})}clear(){return _.w(function*(){window.localStorage.clear()})}getName(){return"clpp.persistent.SimpleSessionStorage"}};_.x("clpp.persistent.useStorage",function(a){{var b=["store","get","delete","clear","getName"];const c=[];_.z(a)||(_.nf(a.store)||c.push("store"),_.nf(a.get)||c.push("get"),_.nf(a.delete)||c.push("delete"),_.nf(a.clear)||c.push("clear"),_.nf(a.getName)||c.push("getName"),b=c)}if(0<b.length)throw wt.warn("Invalid session storage implementation"),new _.G(1,6,6202,{missingMethods:b});vt=a});
7
- _.x("clpp.persistent.fetchLicense",function(a,b,...c){return _.w(function*(){var d=vt,e=(l,m)=>new _.G(1,6,6200,l,m);const f=_.Vl(a).shift();if(!f)throw e("No source specified.");if(!b)throw e(lt);var g=b.offlineId;if(typeof g!==_.ne||!g.length)throw e("Missing offline id.");if(yield d.get(g))wt.debug(kt,g);else{var h=_.Xi();d=new _.Pm;g=[];for(var k of c){const l=new k;_.$i(l.id())||(l.f(null),_.bj(l),g.push(l))}k=null;try{k=yield _.Hn(f.url,d,h.manifest.attemptParameters,f.type||null);k.configure(h.manifest);
8
- const l=yield k.start(f.url,{networkingEngine:d,filterAllPeriods:()=>{},filterNewPeriod:()=>{},onTimelineCueAdded:()=>{},onEvent:()=>{},onError:()=>{}});if(!l.periods.length)throw e(null,new _.G(_.F,4,4014));const m=_.Fn(l.periods);yield xt(b,m,d)}catch(l){if(l instanceof _.G&&6200===l.code)throw l;throw e(null,l);}finally{for(;g.length;)e=g.shift(),e.a(),_.Zi.delete(e.id());e=[];k&&e.push(k.stop());e.push(d.destroy());yield Promise.all(e)}}})});
9
- _.x("clpp.persistent.removeLicense",function(a){return _.w(function*(){var b=vt;if(_.pf(a)&&0!==a.length){var c=null,d=null;try{const e=yield b.get(a);e?(e.drmConfig.delayLicenseRequestUntilPlayed=!0,d=new _.Pm,c=ut(e.drmConfig,d),yield rt(c,e.keySystem,e.licenseServerUri,e.serverCertificate,e.audioCapabilities,e.videoCapabilities),yield _.il(c),yield Promise.all(e.sessionIds.map(f=>_.w(function*(){yield st(c,f);wt.debug("successfully removed session with id",f)}))),yield b.delete(a)):wt.debug("No persistent DRM session found")}catch(e){throw wt.error("Failed to remove session"),
10
- new _.G(1,6,6201,null,e);}finally{b=[],c&&b.push(c.destroy()),d&&b.push(d.destroy()),yield Promise.all(b)}}else wt.warn("Invalid offlineId")})});var vt=new yt,wt=new _.O(mt);_.x("clpp.persistent.PersistentLicenseComponent",class extends _.Lp{constructor(){super();this.l=null;this.j=vt;this.h=new _.O(mt)}f(a){this.l=a}a(){this.l=null}release(){}g(){this.j=vt}id(){return _.Pd}o(a,b,c){const d=this;return _.w(function*(){if(a)try{yield xt(a,b,c),d.l.trigger(new _.C(_.Tc,{offlineId:a.offlineId}))}catch(e){d.l.onError(e)}else d.h.debug("No DRM configuration found for loaded source.")})}m(a){const b=this;return _.w(function*(){try{const c=yield b.j.get(a);if(c)return c.sessionIds;
1
+ import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var lt="A persistent DRM session already exists for: ",mt="No DRM configuration.",nt="clpp.persistent",ot=function(a,b){const c=[];for(const d of a)c.push(b(d));return c},qt=function(a,b){a.H=pt;a.I=[];a.C=!0;return _.Uk(a,b)},st=function(a,b,c,d,e,f){a.H=rt;const g=new Map,h=_.Ik(b);g.set(h,{audioCapabilities:e,videoCapabilities:f,distinctiveIdentifier:_.Id,persistentState:_.be,sessionTypes:[_.Qd],label:h,drmInfos:[{keySystem:b,licenseServerUri:c,distinctiveIdentifierRequired:!1,persistentStateRequired:!0,
2
+ audioRobustness:"",videoRobustness:"",serverCertificate:d,initData:null,keyIds:null}]});return _.Tk(a,g)},tt=function(a,b){return _.y(function*(){const c=yield _.kl(a,b);if(c){var d=[],e=a.g.get(c);e&&a.A&&(e.kb=new _.Xk,d.push(e.kb));a.a.debug("Attempting to remove session",b);d.push(c.remove());return Promise.all(d)}a.a.debug("Ignoring attempt to remove missing session",b)})},ut=function(a){a=a.g.keys();a=ot(a,b=>b.sessionId);return Array.from(a)},vt=function(a,b){const c=_.pj(a),d=_.cj({drm:a});
3
+ d.drm=a;a=new _.am({wb:b,onError:()=>{},Od:()=>{},onExpirationUpdated:()=>{},onEvent:()=>{},getConfiguration:()=>d,rc:()=>null});a.h=c;return a},yt=function(a,b,c){return _.y(function*(){const d=wt;if(a){var e=a.offlineId;if(0!==e.length){var f=yield d.get(e);if(f)xt.debug(lt,e);else{var g=vt(a,c);try{yield qt(g,b);yield _.il(g);yield _.ll(g);const h=g.getDrmInfo(),k=b.map(l=>({contentType:_.Vh(l.video.mimeType,l.video.codecs),robustness:h.videoRobustness}));f={sessionIds:ut(g),keySystem:h.keySystem,
4
+ licenseServerUri:h.licenseServerUri,serverCertificate:h.serverCertificate,audioCapabilities:[],videoCapabilities:k,drmConfig:a};yield d.store(e,f)}catch(h){throw xt.error("Error while persisting DRM session"),new _.H(1,6,6200,null,h);}finally{yield g.destroy()}}}}else xt.debug(mt)})},pt=1,rt=2,zt=class{store(a,b){return _.y(function*(){{var c=JSON.stringify(b.sessionIds);var d=b.serverCertificate?Array.from(b.serverCertificate):null;d=JSON.stringify(d);const e=JSON.stringify(b.audioCapabilities),
5
+ f=JSON.stringify(b.videoCapabilities);c=JSON.stringify({sessionIds:c,keySystem:b.keySystem,licenseServerUri:encodeURIComponent(b.licenseServerUri),serverCertificate:d,audioCapabilities:e,videoCapabilities:f,drmConfig:JSON.stringify(b.drmConfig)})}window.localStorage.setItem(encodeURIComponent(a),btoa(c))})}get(a){return _.y(function*(){var b=window.localStorage.getItem(encodeURIComponent(a));if(b){{b=JSON.parse(atob(b));const c=JSON.parse(b.sessionIds),d=JSON.parse(b.audioCapabilities),e=JSON.parse(b.videoCapabilities),
6
+ f=JSON.parse(b.serverCertificate),g=JSON.parse(b.drmConfig);b={sessionIds:c,keySystem:b.keySystem,licenseServerUri:decodeURIComponent(b.licenseServerUri),serverCertificate:f?new Uint8Array(f):null,audioCapabilities:d,videoCapabilities:e,drmConfig:g}}}else b=null;return b})}delete(a){return _.y(function*(){window.localStorage.removeItem(encodeURIComponent(a))})}clear(){return _.y(function*(){window.localStorage.clear()})}getName(){return"clpp.persistent.SimpleSessionStorage"}};_.z("clpp.persistent.useStorage",function(a){{var b=["store","get","delete","clear","getName"];const c=[];_.B(a)||(_.of(a.store)||c.push("store"),_.of(a.get)||c.push("get"),_.of(a.delete)||c.push("delete"),_.of(a.clear)||c.push("clear"),_.of(a.getName)||c.push("getName"),b=c)}if(0<b.length)throw xt.warn("Invalid session storage implementation"),new _.H(1,6,6202,{missingMethods:b});wt=a});
7
+ _.z("clpp.persistent.fetchLicense",function(a,b,...c){return _.y(function*(){var d=wt,e=(l,m)=>new _.H(1,6,6200,l,m);const f=_.Vl(a).shift();if(!f)throw e("No source specified.");if(!b)throw e(mt);var g=b.offlineId;if(typeof g!==_.ne||!g.length)throw e("Missing offline id.");if(yield d.get(g))xt.debug(lt,g);else{var h=_.cj();d=new _.Pm;g=[];for(var k of c){const l=new k;_.fj(l.id())||(l.f(null),_.hj(l),g.push(l))}k=null;try{k=yield _.Hn(f.url,d,h.manifest.attemptParameters,f.type||null);k.configure(h.manifest);
8
+ const l=yield k.start(f.url,{networkingEngine:d,filterAllPeriods:()=>{},filterNewPeriod:()=>{},onTimelineCueAdded:()=>{},onEvent:()=>{},onError:()=>{}});if(!l.periods.length)throw e(null,new _.H(_.G,4,4014));const m=_.Fn(l.periods);yield yt(b,m,d)}catch(l){if(l instanceof _.H&&6200===l.code)throw l;throw e(null,l);}finally{for(;g.length;)e=g.shift(),e.a(),_.ej.delete(e.id());e=[];k&&e.push(k.stop());e.push(d.destroy());yield Promise.all(e)}}})});
9
+ _.z("clpp.persistent.removeLicense",function(a){return _.y(function*(){var b=wt;if(_.qf(a)&&0!==a.length){var c=null,d=null;try{const e=yield b.get(a);e?(e.drmConfig.delayLicenseRequestUntilPlayed=!0,d=new _.Pm,c=vt(e.drmConfig,d),yield st(c,e.keySystem,e.licenseServerUri,e.serverCertificate,e.audioCapabilities,e.videoCapabilities),yield _.il(c),yield Promise.all(e.sessionIds.map(f=>_.y(function*(){yield tt(c,f);xt.debug("successfully removed session with id",f)}))),yield b.delete(a)):xt.debug("No persistent DRM session found")}catch(e){throw xt.error("Failed to remove session"),
10
+ new _.H(1,6,6201,null,e);}finally{b=[],c&&b.push(c.destroy()),d&&b.push(d.destroy()),yield Promise.all(b)}}else xt.warn("Invalid offlineId")})});var wt=new zt,xt=new _.O(nt);_.z("clpp.persistent.PersistentLicenseComponent",class extends _.Mp{constructor(){super();this.l=null;this.j=wt;this.h=new _.O(nt)}f(a){this.l=a}a(){this.l=null}release(){}g(){this.j=wt}id(){return _.Pd}o(a,b,c){const d=this;return _.y(function*(){if(a)try{yield yt(a,b,c),d.l.trigger(new _.F(_.Tc,{offlineId:a.offlineId}))}catch(e){d.l.onError(e)}else d.h.debug("No DRM configuration found for loaded source.")})}m(a){const b=this;return _.y(function*(){try{const c=yield b.j.get(a);if(c)return c.sessionIds;
11
11
  b.h.debug(`No offline session found for ${a}`);return[]}catch(c){return b.h.warn("Error while loading session info from storage"),[]}})}});};f.call(g, window);
package/cl.playlist.js CHANGED
@@ -1,5 +1,5 @@
1
- import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var ht=function(a,b){return 0<=b&&b<a.a.length},it=function(a){a.trigger(new _.C(_.Vd))},jt=class extends _.ap{on(a,b,c){return super.on(a,b,c)}one(a,b,c){return super.one(a,b,c)}off(a,b){return super.off(a,b)}constructor(a,b){b=void 0===b?()=>Promise.resolve():b;super();this.l=a;this.j=b;this.f=0;this.a=[];this.g=!1;this.h=this.ze.bind(this)}getPosition(){return this.f}vf(){return this.a}qd(){return 0<this.a.length&&ht(this,this.f)?this.a[this.f]:null}wf(){const a=this.f+1;return 0<
2
- this.a.length&&ht(this,a)?this.a[a]:null}Af(){return this.g}start(){this.g||(this.g=!0,this.l.on(_.Zc,this.h),this.Tc(this.f,!0))}stop(){this.g=!1;this.l.off(_.Zc,this.h)}ze(){this.next()}next(){const a=this;return _.w(function*(){yield a.Tc(Math.min(a.a.length-1,a.f+1))})}Kf(){const a=this;return _.w(function*(){yield a.Tc(Math.max(0,a.f-1))})}Tc(a,b){b=void 0===b?!1:b;const c=this;return _.w(function*(){if(0<c.a.length&&ht(c,a)&&(b||c.f!==a)){c.f=a;var d=c.qd();d&&(yield c.j(d),yield c.l.load(d.configuration),
3
- c.trigger(new _.C(_.Ud,{item:d})))}})}append(a){this.a.push(a);it(this)}zf(a,b){if(0<=b&&b<=this.a.length){const c=this.qd();this.a.splice(b,0,a);c&&(this.f=this.a.indexOf(c));it(this)}}remove(a){if(0<this.a.length&&ht(this,a)){if(this.f===a)throw Error("Can't remove the current item");this.a.splice(a,1);it(this)}}clear(){this.stop();this.f=0;this.a=[];this.g=!1;it(this)}};_.x("clpp.Playlist",jt);jt.prototype.clear=jt.prototype.clear;jt.prototype.remove=jt.prototype.remove;jt.prototype.insert=jt.prototype.zf;
4
- jt.prototype.append=jt.prototype.append;jt.prototype.goTo=jt.prototype.Tc;jt.prototype.previous=jt.prototype.Kf;jt.prototype.next=jt.prototype.next;jt.prototype.onEnded=jt.prototype.ze;jt.prototype.stop=jt.prototype.stop;jt.prototype.start=jt.prototype.start;jt.prototype.isStarted=jt.prototype.Af;jt.prototype.getUpcoming=jt.prototype.wf;jt.prototype.getCurrent=jt.prototype.qd;jt.prototype.getQueue=jt.prototype.vf;jt.prototype.getPosition=jt.prototype.getPosition;jt.prototype.off=jt.prototype.off;
5
- jt.prototype.one=jt.prototype.one;jt.prototype.on=jt.prototype.on;};f.call(g, window);
1
+ import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var it=function(a,b){return 0<=b&&b<a.a.length},jt=function(a){a.trigger(new _.F(_.Vd))},kt=class extends _.cp{on(a,b,c){return super.on(a,b,c)}one(a,b,c){return super.one(a,b,c)}off(a,b){return super.off(a,b)}constructor(a,b){b=void 0===b?()=>Promise.resolve():b;super();this.l=a;this.j=b;this.f=0;this.a=[];this.g=!1;this.h=this.Ee.bind(this)}getPosition(){return this.f}Ff(){return this.a}ud(){return 0<this.a.length&&it(this,this.f)?this.a[this.f]:null}Gf(){const a=this.f+1;return 0<
2
+ this.a.length&&it(this,a)?this.a[a]:null}Nf(){return this.g}start(){this.g||(this.g=!0,this.l.on(_.Zc,this.h),this.Yc(this.f,!0))}stop(){this.g=!1;this.l.off(_.Zc,this.h)}Ee(){this.next()}next(){const a=this;return _.y(function*(){yield a.Yc(Math.min(a.a.length-1,a.f+1))})}$f(){const a=this;return _.y(function*(){yield a.Yc(Math.max(0,a.f-1))})}Yc(a,b){b=void 0===b?!1:b;const c=this;return _.y(function*(){if(0<c.a.length&&it(c,a)&&(b||c.f!==a)){c.f=a;var d=c.ud();d&&(yield c.j(d),yield c.l.load(d.configuration),
3
+ c.trigger(new _.F(_.Ud,{item:d})))}})}append(a){this.a.push(a);jt(this)}Mf(a,b){if(0<=b&&b<=this.a.length){const c=this.ud();this.a.splice(b,0,a);c&&(this.f=this.a.indexOf(c));jt(this)}}remove(a){if(0<this.a.length&&it(this,a)){if(this.f===a)throw Error("Can't remove the current item");this.a.splice(a,1);jt(this)}}clear(){this.stop();this.f=0;this.a=[];this.g=!1;jt(this)}};_.z("clpp.Playlist",kt);kt.prototype.clear=kt.prototype.clear;kt.prototype.remove=kt.prototype.remove;kt.prototype.insert=kt.prototype.Mf;
4
+ kt.prototype.append=kt.prototype.append;kt.prototype.goTo=kt.prototype.Yc;kt.prototype.previous=kt.prototype.$f;kt.prototype.next=kt.prototype.next;kt.prototype.onEnded=kt.prototype.Ee;kt.prototype.stop=kt.prototype.stop;kt.prototype.start=kt.prototype.start;kt.prototype.isStarted=kt.prototype.Nf;kt.prototype.getUpcoming=kt.prototype.Gf;kt.prototype.getCurrent=kt.prototype.ud;kt.prototype.getQueue=kt.prototype.Ff;kt.prototype.getPosition=kt.prototype.getPosition;kt.prototype.off=kt.prototype.off;
5
+ kt.prototype.one=kt.prototype.one;kt.prototype.on=kt.prototype.on;};f.call(g, window);
package/cl.smooth.js CHANGED
@@ -1,58 +1,58 @@
1
- import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var XE="Full MP4 box must have flags defined",YE="clpp.smooth.SmoothMP4Processor",ZE="codecPrivateData",$E=function(a,b){const c=Math.floor(b/Math.pow(2,32));b-=c*Math.pow(2,32);_.L(a,c);_.L(a,b)},aF=function(a,b){try{a.f.setUint8(a.a,b),a.a+=1}catch(c){_.uj()}},bF=function(a,b){aF(a,b>>16&255);aF(a,b>>8&255);aF(a,b&255)},cF=function(a,b){try{a.f.setUint16(a.a,b,a.g),a.a+=2}catch(c){_.uj()}},dF=function(a,b){try{a.f.setInt32(a.a,b,a.g),a.a+=4}catch(c){_.uj()}},eF=function(a,b){try{a.f.setInt16(a.a,
2
- b,a.g),a.a+=2}catch(c){_.uj()}},fF=function(a,b){if(void 0!=b){var c=new Uint8Array(b);const d=Math.min(a.length,b);let e=0;for(;e<d;++e)c[e]=a.charCodeAt(e);for(;e<b;e++)c[e]=0;return c}b=new Uint8Array(a.length);for(c=0;c<a.length;++c)b[c]=a.charCodeAt(c);return b},gF=function(a){const b=a.split("/");return b[b.length-1].toLowerCase().match("manifest(\\(.+\\))?")?a:`${a}/Manifest`},hF=function(a,b,c,d){c=b.oe[c];b=b.Yf;a=a.replace("Manifest","");b=b.replace("{bitrate}",String(d.bitrate)).replace("{Bitrate}",
3
- String(d.bitrate)).replace("{start time}",String(c.t)).replace("{start_time}",String(c.t));return _.wu([a],[b])[0]},iF=function(a,b){if(a.type!==b.type)return!1;let c=[];a.type===_.v?c=["maxWidth","maxHeight","bitrate",ZE,"fourCC"]:a.type===_.ac&&(c=["bitrate",ZE,"channels","bitsPerSample","samplingRate","fourCC"]);return _.rf(a,b,c,["id","segmentIndex"])},jF=function(a,b,c){const d=c.Mc.split("00000001");a={id:1,type:c.type,duration:a/b,timescale:b,Fa:null,Hb:null,width:NaN,height:NaN,Ab:null,Gc:NaN,
4
- sampleSize:NaN,channelCount:NaN};switch(c.type){case _.v:a.Fa=[_.gj(d[1])];a.Hb=[_.gj(d[2])];a.width=c.maxWidth;a.height=c.maxHeight;break;case _.ac:a.Ab=_.gj(c.Mc),a.sampleSize=c.Xe||16,a.Gc=c.Gc,a.channelCount=c.je}return a},kF=function(a,b){return a.filter(c=>c.type===b)},lF=function(a,b){a=a.exec(b);return null==a||""==a[0]?null:(Number(a[4])||0)/1E3+(Number(a[3])||0)+60*(Number(a[2])||0)+3600*(Number(a[1])||0)},sF=function(a,b,c){var d=null;if(mF.test(a)){{a=mF.exec(a);d=Number(a[1]);const e=
5
- Number(a[2]);let f=Number(a[3]),g=Number(a[4]);g+=(Number(a[5])||0)/c.f;f+=g/c.frameRate;d=f+60*e+3600*d}}else nF.test(a)?d=lF(nF,a):oF.test(a)?d=lF(oF,a):pF.test(a)?(a=pF.exec(a),d=Number(a[1])/c.frameRate):qF.test(a)?(a=qF.exec(a),d=Number(a[1])/c.a):rF.test(a)&&(d=lF(rF,a));c=d;d=c+b;b=Math.floor(d/3600);c=Math.floor((d-3600*b)/60);a=Math.floor(d-3600*b-60*c);d-=a;10>b&&(b="0"+b);10>c&&(c="0"+c);10>a&&(a="0"+a);0===d?d="000":d=Math.round(1E3*d);return b+":"+c+":"+a+"."+d},tF=function(a){let b=
6
- 0;for(let c=0;c<a.a.length;c++)b+=a.a[c].a();return new _.Oj(b)},AF=function(a,b,c){a:{var d=[_.Kc,_.Jc];for(e of d)if((d=c.Rc(e))&&d.keyId){var e=d.keyId;break a}_.B(YE,"Could not get default Key ID for DRM init data!");e=null}c=new uF("xxxx");a.type===_.v?c=new vF(a.width,a.height):c=new wF(a.channelCount,a.sampleSize,a.Gc);a=new xF;a.g=1;a.h=8;a.m=e||"00000000000000000000000000000000";a=(new uF("schi")).append([a]);b=(new uF(_.he)).append([new yF(b),new zF(_.tc,65536),a]);c.append([b]);return c},
7
- cG=function(a,b){var c=b.Wc(),d=new BF(a.timescale,a.duration,a.id),e=(new CF).append([new DF(a.id)]),f=new EF(a.id,a.duration,a.timescale,a.width,a.height),g=new FF(a.timescale,a.duration);const h=new GF(a.type);var k=null,l=new HF;l.entries=[new IF];var m=new JF;switch(a.type){case _.v:k=new KF(a.Fa,a.Hb);c?(a=AF(a,"avc1",b),a.append([k]),m.entries=[a]):(a=(new LF(a.width,a.height)).append([k]),m.entries=[a]);k=new MF;break;case _.ac:k=new NF(a.Ab),c?(a=AF(a,"mp4a",b),a.append([k]),m.entries=[a]):
8
- (a=(new OF(a.channelCount,a.sampleSize,a.Gc)).append([k]),m.entries=[a]),k=new PF}m=(new QF).append([m,new RF,new SF,new TF,new UF]);l=(new VF).append([l]);l=(new WF).append([k,l,m]);g=(new XF).append([g,h,l]);f=(new YF).append([f,g]);d=(new ZF).append([d,f,e]);e=new $F("dash",0,["iso6","mp41","avc1"]);c&&(c=b.Rc(_.Jc),b=b.Rc(_.Kc),c&&d.append([new aG("pssh",c.initData,8)]),b&&d.append([new aG("pssh",b.initData,8)]),c||b||_.B(YE,"Could not get PSSH init data!"));b=new bG([e,d]);return _.H(b.write())},
9
- mG=function(a,b){let c,d,e,f,g,h;(new _.Mj).M("moof",_.N).X("mfhd",k=>{{const l=new dG;l.g=_.M(k.reader);c=l}}).M("traf",_.N).X("tfhd",k=>{{const l=k.reader.wa();if(null===k.flags)throw new _.G(_.F,3,3019,XE);const m=new eG(k.version||0,k.flags||0);m.g=_.M(k.reader);0<l-k.reader.getPosition()&&k.flags&1&&(m.h=_.Cj(k.reader));0<l-k.reader.getPosition()&&k.flags&2&&(m.A=_.M(k.reader));0<l-k.reader.getPosition()&&k.flags&8&&(m.j=_.M(k.reader));0<l-k.reader.getPosition()&&k.flags&16&&(m.o=_.M(k.reader));
10
- 0<l-k.reader.getPosition()&&k.flags&32&&(m.m=_.M(k.reader));d=m}}).X("trun",k=>{{var l=k.reader.wa();if(null===k.flags)throw new _.G(_.F,3,3019,XE);const m=new fG(k.version||0,k.flags||0);m.g=_.M(k.reader);0<l-k.reader.getPosition()&&k.flags&1&&(m.j=_.Aj(k.reader));0<l-k.reader.getPosition()&&k.flags&4&&(m.m=_.M(k.reader));if(0<l-k.reader.getPosition())for(l=0;l<m.g;l++)k.flags&256&&m.o.push(_.M(k.reader)),k.flags&512&&m.sampleSize.push(_.M(k.reader)),k.flags&1024&&m.A.push(_.M(k.reader)),k.flags&
11
- 2048&&(0===k.version?m.h.push(_.M(k.reader)):m.h.push(_.Aj(k.reader)));e=m}}).X("sdtp",k=>{{const l=_.Dj(k.reader,k.reader.wa());f=new gG("sdtp",k.version||0,k.flags||0,l,0)}}).M("uuid",k=>{var l=_.Dj(k.reader,16);if(_.ij(l,hG)){l=_.M(k.reader);k.version=l>>>24;k.flags=l&16777215;l=new iG(k.version,k.flags);l.h=_.M(k.reader);k.flags&1&&(l.j=_.yj(k.reader));for(let m=0;m<l.h;m++){const n={re:_.Dj(k.reader,8),sc:0,Wd:[]};if(k.flags&2){n.sc=_.zj(k.reader);for(let q=0;q<n.sc;q++){const t={ge:0,he:0};
12
- t.ge=_.zj(k.reader);t.he=_.M(k.reader);n.Wd.push(t)}}l.g.push(n)}g=l}}).M(_.qd,k=>{{const l=new jG;0<k.reader.wa()?l.g=_.Dj(k.reader,k.reader.wa()):(_.B(YE,"mdat box is empty!"),l.g=new Uint8Array(0));h=l}}).parse(a,!1);if(!h)return null;a=(new kG).append([d,e]);f&&a.append([f]);b.Wc()&&g&&a.append([g]);b=(new lG).append([c,a]);return new bG([b,h])},rG=function(a,b,c){var d=c.Wc(),e=a.request.startTime,f=parseInt(e*b,10);b=a.data||new ArrayBuffer(0);var g=mG(b,c);if(null===g)return a.request.contentType===
13
- _.r?a.data:g;c=g.get(_.qd);if(a.request.contentType===_.r){d=c.g.buffer;if(e){d=_.Lg(d);if((d=(new DOMParser).parseFromString(d,_.ue))&&"tt"===d.documentElement.tagName.toLowerCase())var h=d.documentElement;if(h&&(c=new nG(h.getAttribute("ttp:frameRate"),h.getAttribute("ttp:subFrameRate"),h.getAttribute("ttp:frameRateMultiplier"),h.getAttribute("ttp:tickRate")),h=h.getElementsByTagName("body")[0])){f=h.getElementsByTagName("p");for(let t=0,u=f.length;t<u;t++){h=f[t];a=e;b=c;g=["begin",_.Yc];for(let y=
14
- 0,A=g.length;y<A;y++){b:{var k=h;var l=g[y],m=new RegExp("\\w+:"+l),n=0;if(k.hasAttribute(l)){k=k.getAttribute(l);break b}l=k.attributes;const E=l.length;for(;n<E;n++){var q=l[n].name;if(q=q.match(m)){k=k.getAttribute(q[0]);break b}}k=null}h.setAttribute(g[y],sF(k||"",a,b))}}}d=(new XMLSerializer).serializeToString(d);e=_.Mg(d).buffer}else e=d;return e}h=new lG;a=g.get("mfhd");b=new kG;k=g.get("tfhd");m=new oG(1,f);f=g.get("trun");n=g.get("sdtp");e=g.get("senc");k.g=1;k.flags&=16777214;k.flags|=131072;
15
- b.append([k,m,f]);n&&b.append([n]);if(d){g=0;k=[];if(e.flags&2)for(k=[],m=0;m<e.h;m++)k.push(10+6*e.g[m].sc);else g=8;b.append([e,new pG,new qG(g,k,e.h)])}h.append([a,b]);f.flags|=1;f.j=h.a()+8;c=new bG([h,c]);h=c.write();d&&(d=c.get("saio"),c=c.f,d.offset[0]=e.start+16,c.seek(d.start),d.write(c),h=c.buffer);return h},sG=function(a,b,c){return{keySystem:a,licenseServerUri:"",distinctiveIdentifierRequired:!1,persistentStateRequired:!1,audioRobustness:"",videoRobustness:"",serverCertificate:null,initData:[b],
16
- keyIds:c,periodId:null}},tG=function(a){return{initData:_.nu(_.uk(a)),initDataType:_.tc,keyId:a,periodId:null}},uG=function(a,b,c){a=_.Fk(a);c&&a.version!==c&&(a=_.pu(a,c));return{initData:_.nu(a),initDataType:_.tc,keyId:b,periodId:null}},vG=function(a,b){return _.w(function*(){var c=_.bh(b);c.timeout=a.g.attemptParameters.timeout;c.maxAttempts=Math.max(a.g.attemptParameters.maxAttempts,b.length);c.baseDelay=a.g.attemptParameters.baseDelay;c.backoffFactor=a.g.attemptParameters.backoffFactor;c.fuzzFactor=
17
- a.g.attemptParameters.fuzzFactor;c.type=1;c=yield a.D.networkingEngine.fetch(c).P;a.m=c.uri;return c})},DG=function(a,b){let c=null;try{{const pa=new DOMParser;let ib,Ma;try{const ab=_.Lg(b);Ma=pa.parseFromString(ab.trim(),_.ue)}catch(ab){throw ab;}Ma&&Ma.documentElement.tagName==_.kb&&(ib=Ma.documentElement);c=ib&&0<ib.getElementsByTagName("parsererror").length?null:ib}}catch(pa){}if(!c)throw a.f.error("Unable to parse manifest"),new _.G(_.F,4,4033,a.m);const d=+wG(a,c,"MajorVersion"),e=+wG(a,c,
18
- "MinorVersion"),f=+c.getAttribute("TimeScale")||1E7;let g=+wG(a,c,"Duration");const h="TRUE"===c.getAttribute("IsLive"),k=+c.getAttribute("LookAheadCount"),l=+c.getAttribute("DVRWindowLength")||Infinity,m=_.ok(c,"Protection")[0];if(!1===/^[2].[0-2]$/.test(""+d+"."+e))throw a.f.error("Smooth Streaming version must be 2.0, 2.1 or 2.2"),new _.G(_.F,4,4036,a.m);h?(xG(a,yG),a.B=typeof a.g.liveRefreshPeriod===_.p?1E3*a.g.liveRefreshPeriod:Math.min(1E3*a.G,1E4),g=Infinity):xG(a,zG);a.a={startTime:0,delay:0,
19
- duration:g/f,md:l/f,Bc:0};if(m){{var n=a.g.playreadyVersion;const pa=[],ib=_.ok(m,"ProtectionHeader")[0],Ma=_.fj(_.qk(ib)||""),ab=_.Fk(Ma).a;pa.push(sG(_.Kc,tG(ab),[ab]));pa.push(sG(_.Jc,uG(Ma,ab,n),[ab]));var q=pa}a.o=q}{const pa=[],ib=_.ok(c,"StreamIndex");if(!ib.length)throw a.f.error("No streams found!"),new _.G(_.F,4,4034,a.m);for(let Ma=0;Ma<ib.length;Ma++){{var t=a,u=ib[Ma];const ab=wG(t,u,"Type"),ic=+u.getAttribute("Chunks"),Qg=u.getAttribute("Subtype"),De=_.Nh(u.getAttribute("Language")||
20
- _.ye),Kd=u.getAttribute("Name")||"",Rg=+u.getAttribute(_.La),zf=+u.getAttribute(_.Ka),Af=wG(t,u,"Url"),Bk=+u.getAttribute("TimeScale")||null;{const jc=[],li=_.ok(u,_.Ya);for(let Ld=0;Ld<li.length;Ld++){{let kc,Ha,gd;var y=t,A=li[Ld],E=ab;const mi=+A.getAttribute("Index"),Bf=+wG(y,A,"Bitrate");let Qb=NaN,Cf=NaN,Ck=NaN,mp=NaN,yy=NaN,zy=NaN,Ay=NaN;const By=A.getAttribute("FourCC");switch(E){case _.v:Qb=+wG(y,A,_.Ka);Cf=+wG(y,A,_.La);break;case _.ac:mp=+A.getAttribute("Channels")||2,Ck=+wG(y,A,"SamplingRate"),
21
- zy=+wG(y,A,"AudioTag"),yy=+wG(y,A,"BitsPerSample"),Ay=+wG(y,A,"PacketSize")}let np=String(A.getAttribute("CodecPrivateData"));if(E===_.ac&&!np){{var D=mp;const Cy={96E3:0,88200:1,64E3:2,48E3:3,44100:4,32E3:5,24E3:6,22050:7,16E3:8,12E3:9,11025:10,8E3:11,7350:12},Dk=Cy[Ck];if("AACH"===By){Ha=new Uint8Array(4);const Dy=Cy[2*Ck];Ha[0]=40|Dk>>1;Ha[1]=Dk<<7|D<<3|Dy>>1;Ha[2]=Dy<<7|8;Ha[3]=0;kc=new Uint16Array(2);kc[0]=(Ha[0]<<8)+Ha[1];kc[1]=(Ha[2]<<8)+Ha[3];gd=kc[0].toString(16)+kc[1].toString(16)}else Ha=
22
- new Uint8Array(2),Ha[0]=16|Dk>>1,Ha[1]=Dk<<7|D<<3,kc=new Uint16Array(1),kc[0]=(Ha[0]<<8)+Ha[1],gd=kc[0].toString(16);np=gd.toUpperCase()}}var ha={id:y.U++,type:E,index:mi,bitrate:Bf,Mc:np,maxHeight:Qb,maxWidth:Cf,Gc:Ck,je:mp,gg:zy,Xe:yy,sg:Ay,nf:By,segmentIndex:null}}jc.push(ha)}var gb=jc}{const jc=[],li=_.ok(u,"c");for(let Ld=0;Ld<li.length;Ld++){const kc=li[Ld];let Ha=parseInt(kc.getAttribute("t"),10),gd=parseInt(kc.getAttribute("d"),10),mi=parseInt(kc.getAttribute("r"),10),Bf=0;if(isNaN(Ha)&&isNaN(gd))throw t.f.error("Either one or both FragmentDuration and FragmentTime field MUST be present in StreamFragmentElement"),
23
- new _.G(_.F,4,4037,t.m);0===Ld&&isNaN(Ha)&&(Bf=Ha=0);if(0<Ld){const Qb=jc[jc.length-1];Bf=Qb.n+1;Qb.d||(Qb.d=Ha-Qb.t);Ha||(Ha=Qb.t+Qb.d);gd||(gd=Ha-Qb.t)}jc.push({n:Bf,d:gd,t:Ha});if(mi){mi--;for(let Qb=0;Qb<mi;Qb++){const Cf=jc[jc.length-1];Bf=Cf.n+1;Ha=Cf.t+Cf.d;gd=Cf.d;jc.push({n:Bf,d:gd,t:Ha})}}}t.C()||jc.length===ic||t.f.warn("Number of fragments ("+ic+") differs from number of chunks ("+jc.length+").");var uf=jc}var sb={type:ab,jg:ic,Uf:Qg,language:De,name:Kd,maxWidth:Rg,maxHeight:zf,Yf:Af,
24
- tracks:gb,oe:uf,timescale:Bk}}pa.push(sb)}var vf=pa}const Ta={qg:d,ve:e,timescale:f,duration:g,isLive:h,pg:k,md:l,ud:!1,streams:vf};if(a.h&&a.w)return AG(a,Ta),Promise.resolve();{const pa=Ta.timescale,ib=Ta.duration,Ma=kF(Ta.streams,_.ac),ab=kF(Ta.streams,_.v),ic=kF(Ta.streams,_.r),Qg=[];let De=BG(a,ib,pa,Ma),Kd=BG(a,ib,pa,ab);const Rg=BG(a,ib,pa,ic);De.length||(De=[null]);Kd.length||(Kd=[null]);for(let zf=0;zf<Kd.length;zf++)for(let Af=0;Af<De.length;Af++)Qg.push(CG(a,Kd[zf],De[Af]));var Hd={startTime:0,
25
- variants:Qg,textStreams:Rg,thumbStreams:[]}}{var rb=Ta.streams;let pa=a.a.startTime,ib=a.a.delay;const Ma=a.H;let ab=Math.min(a.a.duration||Infinity,Ma);const ic=a.C(),Qg=a.a.md,De=a.a.Bc,Kd=a.G,Rg=isFinite(a.F)?a.F:0;if(ic)ab=Infinity,pa=Date.now()/1E3-De,a.a.startTime=pa,ib=3*Kd;else{const zf=isFinite(Ma)?Ma:a.a.duration;for(const Af of rb)for(const Bk of Af.tracks)Bk.segmentIndex.offset(-Rg),_.gv(Bk.segmentIndex,zf)}a.A=new _.Az(pa,ib,!ic,!0);a.A.Kb(ab);_.Uu(a.A,Kd);a.A.Zb=Qg;ic||a.A.offset(-Rg)}a.D.filterAllPeriods([Hd]);
26
- a.h={presentationTimeline:a.A,periods:[Hd],offlineSessionIds:[],minBufferTime:0};Promise.resolve();a.J||(a.D.networkingEngine.dd(a.K),a.J=!0);a.w=Ta;return Promise.resolve()},EG=function(a,b){null!=a.B&&null!=b&&(a.j=window.setTimeout(a.vb.bind(a),b))},wG=function(a,b,c){if(b=b.getAttribute(c))return b;a.f.error("required attribute not provided: "+c);throw new _.G(_.F,4,4038,a.m,c);},xG=function(a,b){const c=b===zG;if(a.h&&a.h.presentationTimeline){var d=a.h.presentationTimeline;d.j=c;d.m=c}c&&null!=
27
- a.j&&(window.clearTimeout(a.j),a.j=null,a.B=null);a.N=b},AG=function(a,b){for(let e=0;e<a.w.streams.length;e++){const f=b.streams[e];for(const g of a.w.streams[e].tracks){var c=f.tracks.find(h=>h.type===g.type&&h.bitrate===g.bitrate);if(c){iF(g,c)||a.f.warn("The current stream is updated with a stream that seems to have different base properties!");var d=FG(a,a.w.timescale,f,c);c=g.segmentIndex;_.cv(c,d);(d=a.a.md)&&_.dv(c,_.av(c)-d)}else a.f.warn(`Cannot find satisfying update for ${g.type} `+`track with bitrate ${g.bitrate}. Skipping update.`)}}},
28
- FG=function(a,b,c,d){let e=0;const f=[],g=c.timescale||b;c.oe.forEach((h,k)=>{const l=h.d/g;0===k?(h=h.t/g,a.F=Math.min(a.F,h)):h=f[k-1].endTime;const m=h+l,n=hF(a.m,c,k,d);a.G=Math.max(a.G,l);f.push(new _.bv(k,h,m,()=>[n],0,null,0,null,!0,g));e+=l});if(c.type===_.v||c.type===_.ac)b=f[f.length-1],a.H=Math.min(a.H,e),0===a.a.Bc?a.a.Bc=b.endTime:a.a.Bc=Math.min(a.a.Bc,b.endTime);return f},BG=function(a,b,c,d){let e=[];for(let f=0;f<d.length;f++){const g=d[f].tracks.map(h=>{var k=d[f],l=FG(a,c,k,h),
29
- m=new _.Bz(l),n=null;k.type!==_.r&&(n=GG(a,b,c,k,h));h.segmentIndex=m;l=a.L++;var q=Promise.resolve.bind(Promise),t=m.f.bind(m),u=m.get.bind(m),y=m.g.bind(m);m=m.getDuration.bind(m);var A=HG[k.type];var E="";switch(k.type){case _.v:E=h.Mc;var D=/00000001[0-9]7/.exec(E);E="avc1."+(D&&D[0]?E.substr(E.indexOf(D[0])+10,6):"42c00c");a.f.debug("VIDEO CODECS: ",E);break;case _.ac:E=h.Mc,D=2,"AACH"===h.nf?D=5:E&&(D=(parseInt(E.substr(0,2),16)&248)>>3),E="mp4a.40."+D,a.f.debug("AUDIO CODECS: ",E)}D=k.type===
30
- _.r?IG[k.Uf]:void 0;return h={id:l,originalId:null,ug:null,createSegmentIndex:q,findSegmentPosition:t,getSegmentReference:u,adjustSegmentDurations:y,getDuration:m,segmentIndex:null,segmentLookupStrategy:_.Yt,initSegmentReference:n,mimeType:A,codecs:E,frameRate:void 0,bandwidth:h.bitrate,width:h.maxWidth||void 0,height:h.maxHeight||void 0,kind:D,encrypted:a.I(),keyId:null,language:k.language,label:k.name,type:k.type,primary:!1,trickModeVideo:null,emsgSchemeIdUris:null,roles:[],channelsCount:h.je||
31
- null,closedCaptions:null}});e=e.concat(g)}return e},CG=function(a,b,c){const d=(c?c.bandwidth:0)+(b?b.bandwidth:0),e=c?c.language:_.ye;return c||b?{id:a.L++,language:e,primary:!1,audio:c,video:b,bandwidth:d,drmInfos:a.o,allowedByApplication:!0,allowedByKeySystem:!0}:null},GG=function(a,b,c,d,e){b=jF(b,d.timescale||c,e);c={isLive:a.C.bind(a),Wc:a.I.bind(a),tf:()=>1,Rc:a.R.bind(a)};d=new Uint8Array(0);try{d=cG(b,c)}catch(g){throw a.f.error("Failed to generate initialization segment."),new _.G(_.F,3,
32
- 4035,g);}const f="data:text/plain;base64,"+_.ej(d);return new _.zz(()=>[f],0,null,null,!0)},uF=class{constructor(a){this.type=a;this.size=this.start=0;this.parent=null;this.w=!1;this.entries=[];this.f=[]}append(a=[]){for(let b=0;b<a.length;b++)this.f.push(a[b]),a[b].parent=this;return this}get(a){if(this.type===a)return this;for(let b=0;b<this.f.length;b++){if(this.f[b].type===a)return this.f[b];{const c=this.f[b].get(a);if(c)return c}}return null}a(){const a=Math.pow(2,32)-1;let b;b=4+this.type.length;
33
- "uuid"===this.type&&(b+=16);if(0<this.f.length)for(let c=0;c<this.f.length;c++)b+=this.f[c].a();this.size>a&&(b+=8);return b}write(a){var b=Math.pow(2,32)-1;this.start=a.getPosition();this.size=this.a();this.size>b?_.L(a,1):_.L(a,this.size);_.vj(a,fF(this.type));this.size>b&&$E(a,this.size);"uuid"===this.type&&_.vj(a,null);if(0<this.f.length&&!this.w)for(b=0;b<this.f.length;b++)this.f[b].write(a),this.f[b].a(),a.getPosition()}},JG=class extends uF{constructor(a,b,c){super(a);this.version=b;this.flags=
34
- c}a(){return 4+super.a()}write(a){super.write(a);aF(a,this.version);bF(a,this.flags)}},aG=class extends uF{constructor(a,b,c){super(a);this.g=b;this.offset=c}a(){return this.g.byteLength+super.a()-this.offset}write(a){super.write(a);_.vj(a,this.g,this.offset);a.getPosition()}},gG=class extends JG{constructor(a,b,c,d,e){super(a,b,c);this.g=d;this.offset=e}a(){return this.g.byteLength+super.a()-this.offset}write(a){super.write(a);_.vj(a,this.g,this.offset);a.getPosition()}},$F=class extends uF{constructor(a,
35
- b,c){super("ftyp");this.h=a;this.ve=b;this.g=c}a(){let a=this.h.length;a=a+4+this.g.join("").length;return a+super.a()}write(a){super.write(a);_.vj(a,fF(this.h));_.L(a,this.ve);_.vj(a,fF(this.g.join("")));a.getPosition()}},ZF=class extends uF{constructor(){super(_.wd)}},YF=class extends uF{constructor(){super(_.we)}},BF=class extends JG{constructor(a,b,c){super("mvhd",1,0);this.timescale=a;this.duration=b;this.volume=256;this.h=c+1;this.g=[0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,
36
- 0,0,0,64,0,0,0]}a(){let a=0;a=1===this.version?a+28:a+16;a=a+44+this.g.length;return a+=super.a()}write(a){super.write(a);1===this.version?($E(a,0),$E(a,0),_.L(a,this.timescale),$E(a,this.duration*this.timescale)):(_.L(a,0),_.L(a,0),_.L(a,this.timescale),_.L(a,this.duration*this.timescale));_.L(a,65536);cF(a,this.volume);cF(a,0);_.L(a,0);_.L(a,0);for(let b=0;b<this.g.length;b++)aF(a,this.g[b]);_.L(a,0);_.L(a,0);_.L(a,0);_.L(a,0);_.L(a,0);_.L(a,0);_.L(a,this.h);a.getPosition()}},CF=class extends uF{constructor(){super("mvex")}},
37
- DF=class extends JG{constructor(a){super("trex",0,0);this.g=a}a(){return 20+super.a()}write(a){super.write(a);_.L(a,this.g);_.L(a,1);_.L(a,0);_.L(a,0);_.L(a,0);a.getPosition()}},EF=class extends JG{constructor(a,b,c,d,e){super("tkhd",1,7);this.h=a;this.duration=b;this.timescale=c;this.width=d;this.height=e;this.volume=1;this.g=[0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0]}a(){let a=0;a=1===this.version?a+32:a+20;a=a+24+this.g.length;return a+super.a()}write(a){super.write(a);
38
- 1===this.version?($E(a,0),$E(a,0),_.L(a,this.h),_.L(a,0),$E(a,this.duration*this.timescale)):(_.L(a,0),_.L(a,0),_.L(a,this.h),_.L(a,0),_.L(a,this.duration*this.timescale));_.L(a,0);_.L(a,0);cF(a,0);cF(a,0);cF(a,this.volume);cF(a,0);for(let b=0;b<this.g.length;b++)aF(a,this.g[b]);cF(a,this.width);cF(a,0);cF(a,this.height);cF(a,0);a.getPosition()}},FF=class extends JG{constructor(a,b){super("mdhd",1,0);this.timescale=a;this.duration=b;this.language=21956}a(){let a=0;a=1===this.version?a+28:a+16;return a+
39
- 4+super.a()}write(a){super.write(a);1===this.version?($E(a,0),$E(a,0),_.L(a,this.timescale),$E(a,this.duration*this.timescale)):(_.L(a,0),_.L(a,0),_.L(a,this.timescale),_.L(a,this.duration*this.timescale));cF(a,this.language);cF(a,0);a.getPosition()}},GF=class extends JG{constructor(a){super("hdlr",0,0);this.g=a}a(){return 33+super.a()}write(a){super.write(a);_.L(a,0);this.g===_.v?_.vj(a,fF("vide")):_.vj(a,fF("soun"));_.L(a,0);_.L(a,0);_.L(a,0);this.g===_.v?_.vj(a,fF("VideoHandler\x00")):_.vj(a,fF("SoundHandler\x00"));
40
- a.getPosition()}},MF=class extends JG{constructor(){super("vmhd",0,1);this.g=new Uint8Array([0,0,0,0,0,0])}a(){return 2+this.g.byteLength+super.a()}write(a){super.write(a);cF(a,0);_.vj(a,this.g);a.getPosition()}},KG=class extends uF{constructor(a){super(a);this.w=!0}a(){return 8+super.a()}write(a){super.write(a);_.L(a,0);cF(a,0);cF(a,1)}},LG=class extends KG{constructor(a){super(a);this.height=this.width=0;this.depth=24}a(){return 70+super.a()}write(a){super.write(a);cF(a,0);cF(a,0);_.L(a,0);_.L(a,
41
- 0);_.L(a,0);cF(a,this.width);cF(a,this.height);_.L(a,4718592);_.L(a,4718592);_.L(a,0);cF(a,1);aF(a,10);_.vj(a,fF("AVC Coding",31));cF(a,this.depth);eF(a,-1)}},MG=class extends KG{constructor(a,b,c,d){super(a);this.channelCount=b;this.sampleSize=c;this.sampleRate=d}a(){return 20+super.a()}write(a){super.write(a);_.L(a,0);_.L(a,0);cF(a,this.channelCount);cF(a,this.sampleSize);eF(a,0);cF(a,0);cF(a,this.sampleRate);cF(a,0)}},LF=class extends LG{constructor(a,b){super("avc1");this.width=a;this.height=
42
- b}write(a){super.write(a);for(let b=0;b<this.f.length;b++)this.f[b].write(a);a.getPosition()}},vF=class extends LF{constructor(a,b){super(a,b);this.type="encv"}},OF=class extends MG{constructor(a,b,c){super("mp4a",a,b,c)}write(a){super.write(a);for(let b=0;b<this.f.length;b++)this.f[b].write(a);a.getPosition()}},wF=class extends OF{constructor(a,b,c){super(a,b,c);this.type="enca"}},KF=class extends uF{constructor(a,b){super("avcC");this.Fa=a;this.Hb=b;this.version=1;this.g=this.Fa[0][1];this.h=this.Fa[0][2];
43
- this.level=this.Fa[0][3]}a(){let a=7;for(var b=0;b<this.Fa.length;b++)a+=2,a+=this.Fa[b].byteLength;for(b=0;b<this.Fa.length;b++)a+=2,a+=this.Hb[b].byteLength;return a+super.a()}write(a){super.write(a);aF(a,this.version);aF(a,this.g);aF(a,this.h);aF(a,this.level);aF(a,255);aF(a,224|this.Fa.length);for(var b=0;b<this.Fa.length;b++)cF(a,this.Fa[b].length),_.vj(a,this.Fa[b]);aF(a,this.Hb.length);for(b=0;b<this.Hb.length;b++)cF(a,this.Hb[b].length),_.vj(a,this.Hb[b]);a.getPosition()}},NF=class extends JG{constructor(a){super("esds",
44
- 0,0);this.Ab=a}a(){return 22+(this.Ab.byteLength+3)+super.a()}write(a){super.write(a);aF(a,3);aF(a,23+this.Ab.byteLength);cF(a,1);aF(a,0);aF(a,4);aF(a,15+this.Ab.byteLength);aF(a,64);aF(a,21);bF(a,0);_.L(a,0);_.L(a,0);aF(a,5);aF(a,this.Ab.byteLength);_.vj(a,this.Ab);_.vj(a,new Uint8Array([6,1,2]));a.getPosition()}},IF=class extends JG{constructor(a=""){super("url ",0,1);this.location=a}a(){return this.location.length+super.a()}write(a){super.write(a);0<this.location.length&&_.vj(a,fF(this.location));
45
- a.getPosition()}},HF=class extends JG{constructor(){super("dref",0,0)}a(){let a=4;for(let b=0;b<this.entries.length;b++)a+=this.entries[b].a();return a+super.a()}write(a){super.write(a);_.L(a,this.entries.length);for(let b=0;b<this.entries.length;b++)this.entries[b].write(a);a.getPosition()}},QF=class extends uF{constructor(){super(_.me)}},JF=class extends JG{constructor(){super(_.oe,0,0)}a(){let a=4;for(let b=0;b<this.entries.length;b++)a+=this.entries[b].a();return a+super.a()}write(a){super.write(a);
46
- _.L(a,this.entries.length);for(let b=0;b<this.entries.length;b++)this.entries[b].write(a);a.getPosition()}},RF=class extends JG{constructor(){super("stts",0,0)}a(){let a=4;for(let b=0;b<this.entries.length;b++)a+=this.entries[b].a();return a+super.a()}write(a){super.write(a);_.L(a,this.entries.length);for(let b=0;b<this.entries.length;b++)this.entries[b].write(a);a.getPosition()}},SF=class extends JG{constructor(){super("stsc",0,0)}a(){let a=4;for(let b=0;b<this.entries.length;b++)a+=this.entries[b].a();
47
- return a+super.a()}write(a){super.write(a);_.L(a,this.entries.length);for(let b=0;b<this.entries.length;b++)this.entries[b].write(a);a.getPosition()}},UF=class extends JG{constructor(){super("stco",0,0)}a(){let a=4;for(let b=0;b<this.entries.length;b++)a+=this.entries[b].a();return a+super.a()}write(a){super.write(a);_.L(a,this.entries.length);for(let b=0;b<this.entries.length;b++)this.entries[b].write(a);a.getPosition()}},TF=class extends JG{constructor(){super("stsz",0,0)}a(){return 8+super.a()}write(a){super.write(a);
48
- _.L(a,0);_.L(a,0);a.getPosition()}},PF=class extends JG{constructor(){super("smhd",0,0)}a(){return 4+super.a()}write(a){super.write(a);eF(a,0);cF(a,0);a.getPosition()}},VF=class extends uF{constructor(){super("dinf")}},WF=class extends uF{constructor(){super(_.vd)}},XF=class extends uF{constructor(){super(_.rd)}},oG=class extends JG{constructor(a,b){super("tfdt",a,0);this.g=b}a(){let a=0;a=1===this.version?a+8:a+4;return a+super.a()}write(a){super.write(a);1===this.version?$E(a,this.g):_.L(a,this.g);
49
- a.getPosition()}},dG=class extends JG{constructor(){super("mfhd",0,0);this.g=0}a(){return 4+super.a()}write(a){super.write(a);_.L(a,this.g);a.getPosition()}},fG=class extends JG{constructor(a,b){super("trun",a,b);this.m=this.j=this.g=0;this.o=[];this.sampleSize=[];this.A=[];this.h=[]}a(){let a=4;this.flags&NG&&(a+=4);this.flags&OG&&(a+=4);for(let b=0;b<this.g;b++)this.flags&PG&&(a+=4),this.flags&QG&&(a+=4),this.flags&RG&&(a+=4),this.flags&SG&&(a+=4);return a+super.a()}write(a){super.write(a);_.L(a,
50
- this.g);this.flags&NG&&(a.getPosition(),dF(a,this.j));this.flags&OG&&_.L(a,this.m);for(let b=0;b<this.g;b++)this.flags&PG&&_.L(a,this.o[b]),this.flags&QG&&_.L(a,this.sampleSize[b]),this.flags&RG&&_.L(a,this.A[b]),this.flags&SG&&(0===this.version?_.L(a,this.h[b]):dF(a,this.h[b]));a.getPosition()}},NG=1,OG=4,PG=256,QG=512,RG=1024,SG=2048,eG=class extends JG{constructor(a,b){super("tfhd",a,b);this.g=255;this.m=this.o=this.j=this.A=this.h=0}a(){let a=4;this.flags&TG&&(a+=8);this.flags&UG&&(a+=4);this.flags&
51
- VG&&(a+=4);this.flags&WG&&(a+=4);this.flags&XG&&(a+=4);return a+super.a()}write(a){super.write(a);_.L(a,this.g);this.flags&TG&&$E(a,this.h);this.flags&UG&&_.L(a,this.A);this.flags&VG&&_.L(a,this.j);this.flags&WG&&_.L(a,this.o);this.flags&XG&&_.L(a,this.m);a.getPosition()}},TG=1,UG=2,VG=8,WG=16,XG=32,kG=class extends uF{constructor(){super("traf")}},lG=class extends uF{constructor(){super("moof")}},jG=class extends uF{constructor(){super(_.qd);this.g=new Uint8Array(0)}a(){return this.g.byteLength+
52
- super.a()}write(a){super.write(a);0<this.g.byteLength&&_.vj(a,this.g)}},xF=class extends JG{constructor(){super("tenc",0,0);this.g=1;this.h=8;this.m="";this.j=[]}a(){let a;a=20;1===this.g&&0===this.h&&(a=a+1+this.j.length);return a+super.a()}write(a){super.write(a);aF(a,0);0===this.version?aF(a,0):aF(a,0);aF(a,this.g);aF(a,this.h);_.vj(a,_.gj(this.m));if(1===this.g&&0===this.h){aF(a,0);for(let b=0;b<this.j.length;b++)aF(a,this.j[b])}a.getPosition()}},zF=class extends JG{constructor(a,b){super("schm",
53
- 0,0);this.g=a;this.h=b;this.xb=""}a(){let a=8;this.flags&1&&(a+=fF(this.xb).byteLength);return a+super.a()}write(a){super.write(a);_.vj(a,fF(this.g));_.L(a,this.h);this.flags&1&&_.vj(a,fF(this.xb));a.getPosition()}},yF=class extends uF{constructor(a){super("frma");this.g=a}a(){return fF(this.g).byteLength+super.a()}write(a){super.write(a);_.vj(a,fF(this.g));a.getPosition()}},pG=class extends JG{constructor(){super("saio",0,0);this.offset=[0]}a(){let a=0;this.flags&1&&(a+=8);a+=4;for(let b=0;1>b;b++)a=
54
- 0===this.version?a+4:a+8;return a+super.a()}write(a){super.write(a);this.flags&1&&(_.L(a,0),_.L(a,0));_.L(a,1);for(let b=0;1>b;b++)0===this.version?_.L(a,this.offset[b]):$E(a,this.offset[b]);a.getPosition()}},qG=class extends JG{constructor(a,b,c){super("saiz",0,0);this.g=a;this.j=b;this.h=c}a(){let a=0;this.flags&1&&(a+=8);a+=5;0===this.g&&(a+=this.j.length);return a+super.a()}write(a){super.write(a);this.flags&1&&(_.L(a,0),_.L(a,0));aF(a,this.g);_.L(a,this.h);if(0===this.g)for(let b=0;b<this.h;b++)aF(a,
55
- this.j[b]);a.getPosition()}},iG=class extends JG{constructor(a,b){super("senc",a,b);this.h=0;this.j=8;this.g=[]}a(){let a=4;this.flags&1&&(a+=1);for(let b=0;b<this.h;b++)if(a+=this.g[b].re.byteLength,this.flags&2){a+=2;for(let c=0;c<this.g[b].sc;c++)a+=2,a+=4}return a+super.a()}write(a){super.write(a);_.L(a,this.h);this.flags&1&&aF(a,this.j);for(let b=0;b<this.h;b++)if(_.vj(a,this.g[b].re),this.flags&2){cF(a,this.g[b].sc);for(let c=0;c<this.g[b].sc;c++)cF(a,this.g[b].Wd[c].ge),_.L(a,this.g[b].Wd[c].he)}a.getPosition()}};var nG=class{constructor(a,b,c,d){this.frameRate=Number(a)||30;this.f=Number(b)||1;this.a=Number(d);0==this.a&&(this.a=a?this.frameRate*this.f:1);c&&(a=/^(\d+) (\d+)$/g.exec(c))&&(this.frameRate*=parseInt(a[1],10)/parseInt(a[2],10))}},mF=/^(\d{2,}):(\d{2}):(\d{2}):(\d{2})\.?(\d+)?$/,nF=/^(?:(\d{2,}):)?(\d{2}):(\d{2})$/,oF=/^(?:(\d{2,}):)?(\d{2}):(\d{2}\.\d{2,})$/,pF=/^(\d*\.?\d*)f$/,qF=/^(\d*\.?\d*)t$/,rF=/^(?:(\d*\.?\d*)h)?(?:(\d*\.?\d*)m)?(?:(\d*\.?\d*)s)?(?:(\d*\.?\d*)ms)?$/;var bG=class{constructor(a){this.a=a;this.f=tF(this)}get(a){for(let b=0;b<this.a.length;b++){const c=this.a[b].get(a);if(c)return c}return null}write(){this.f=tF(this);for(let a=0;a<this.a.length;a++)this.a[a].write(this.f);return this.f.buffer}};var hG=new Uint8Array([162,57,79,82,90,155,79,20,162,68,108,66,124,100,141,244]);var YG=class{constructor(){this.w=this.h=this.g=this.D=null;this.L=1;this.U=0;this.m="";this.A=this.a=null;this.f=new _.O("clpp.smooth.SmoothParser");this.J=!1;this.j=this.B=null;this.N=zG;this.G=0;this.F=this.H=Infinity;this.o=[];this.K=this.S.bind(this)}configure(a){this.g=a}start(a,b){this.D=b;a=[...new Set([a,gF(a)])];return vG(this,a).then(c=>DG(this,c.data).then(()=>{EG(this,this.B);return this.h}))}stop(){this.D&&this.D.networkingEngine.Pd(this.K);this.B=this.w=this.h=this.g=this.D=null;this.j&&
56
- (clearTimeout(this.j),this.j=null);this.J=!1;this.H=this.F=Infinity;return Promise.resolve()}update(){if(this.C())return vG(this,[this.m]).then(a=>DG(this,a.data).then(()=>this.h)).catch(a=>{if(this.D)this.D.onError(a)})}onExpirationUpdated(){}setCurrentVariant(){}vb(){this.f.debug(_.Rt);this.D&&(this.j=null,this.update().then(()=>{EG(this,this.B)}).catch(a=>{this.D&&(this.D.onError(a),1===a.severity&&EG(this,100))}))}C(){return this.N===yG}I(){return 0<this.o.length}R(a){let b=null;if(this.o.length)for(let c=
57
- 0;c<this.o.length;c++)if(this.o[c].keySystem===a){b=this.o[c].initData[0];break}return b}S(a){if(2!==a.request.type||a.uri.startsWith("data:"))return Promise.resolve(a);const b=a.request.timescale||this.w.timescale,c={isLive:this.C.bind(this),Wc:this.I.bind(this),tf:()=>1,Rc:this.R.bind(this)};let d=!1;const e=new _.G(_.F,3,4035,null);let f=null;try{f=rG(a,b,c)}catch(g){d=!0,e.data=g,3E3===g.code&&(e.code=4039)}if(d||!f)return Promise.reject(e);a.data=f;return Promise.resolve(a)}},HG={video:_.Je,
58
- audio:_.ec,text:_.Yb},zG="VOD",yG="LIVE",IG={cg:"caption",dg:_.fu};_.x("clpp.smooth.SmoothComponent",class extends _.Lp{constructor(){super()}f(){_.Kn.ism=YG;_.In[_.Zb]=YG}a(){_.jv("ism");_.kv(_.Zb)}id(){return"smooth"}});};f.call(g, window);
1
+ import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var hG="Full MP4 box must have flags defined",iG="clpp.smooth.SmoothMP4Processor",jG="codecPrivateData",kG=function(a,b){const c=Math.floor(b/Math.pow(2,32));b-=c*Math.pow(2,32);_.M(a,c);_.M(a,b)},lG=function(a,b){try{a.f.setUint8(a.a,b),a.a+=1}catch(c){_.tj()}},mG=function(a,b){lG(a,b>>16&255);lG(a,b>>8&255);lG(a,b&255)},nG=function(a,b){try{a.f.setUint16(a.a,b,a.g),a.a+=2}catch(c){_.tj()}},oG=function(a,b){try{a.f.setInt32(a.a,b,a.g),a.a+=4}catch(c){_.tj()}},pG=function(a,b){try{a.f.setInt16(a.a,
2
+ b,a.g),a.a+=2}catch(c){_.tj()}},qG=function(a,b){if(void 0!=b){var c=new Uint8Array(b);const d=Math.min(a.length,b);let e=0;for(;e<d;++e)c[e]=a.charCodeAt(e);for(;e<b;e++)c[e]=0;return c}b=new Uint8Array(a.length);for(c=0;c<a.length;++c)b[c]=a.charCodeAt(c);return b},rG=function(a){const b=a.split("/");return b[b.length-1].toLowerCase().match("manifest(\\(.+\\))?")?a:`${a}/Manifest`},sG=function(a,b,c,d){c=b.te[c];b=b.og;a=a.replace("Manifest","");b=b.replace("{bitrate}",String(d.bitrate)).replace("{Bitrate}",
3
+ String(d.bitrate)).replace("{start time}",String(c.t)).replace("{start_time}",String(c.t));return _.yu([a],[b])[0]},tG=function(a,b){if(a.type!==b.type)return!1;let c=[];a.type===_.w?c=["maxWidth","maxHeight","bitrate",jG,"fourCC"]:a.type===_.p&&(c=["bitrate",jG,"channels","bitsPerSample","samplingRate","fourCC"]);return _.sf(a,b,c,["id","segmentIndex"])},uG=function(a,b,c){const d=c.Tc.split("00000001");a={id:1,type:c.type,duration:a/b,timescale:b,Ja:null,Lb:null,width:NaN,height:NaN,Db:null,Lc:NaN,
4
+ sampleSize:NaN,channelCount:NaN};switch(c.type){case _.w:a.Ja=[_.Yg(d[1])];a.Lb=[_.Yg(d[2])];a.width=c.maxWidth;a.height=c.maxHeight;break;case _.p:a.Db=_.Yg(c.Tc),a.sampleSize=c.gf||16,a.Lc=c.Lc,a.channelCount=c.ne}return a},vG=function(a,b){return a.filter(c=>c.type===b)},wG=function(a,b){a=a.exec(b);return null==a||""==a[0]?null:(Number(a[4])||0)/1E3+(Number(a[3])||0)+60*(Number(a[2])||0)+3600*(Number(a[1])||0)},DG=function(a,b,c){var d=null;if(xG.test(a)){{a=xG.exec(a);d=Number(a[1]);const e=
5
+ Number(a[2]);let f=Number(a[3]),g=Number(a[4]);g+=(Number(a[5])||0)/c.f;f+=g/c.frameRate;d=f+60*e+3600*d}}else yG.test(a)?d=wG(yG,a):zG.test(a)?d=wG(zG,a):AG.test(a)?(a=AG.exec(a),d=Number(a[1])/c.frameRate):BG.test(a)?(a=BG.exec(a),d=Number(a[1])/c.a):CG.test(a)&&(d=wG(CG,a));c=d;d=c+b;b=Math.floor(d/3600);c=Math.floor((d-3600*b)/60);a=Math.floor(d-3600*b-60*c);d-=a;10>b&&(b="0"+b);10>c&&(c="0"+c);10>a&&(a="0"+a);0===d?d="000":d=Math.round(1E3*d);return b+":"+c+":"+a+"."+d},EG=function(a){let b=
6
+ 0;for(let c=0;c<a.a.length;c++)b+=a.a[c].a();return new _.Oj(b)},LG=function(a,b,c){a:{var d=[_.Kc,_.Jc];for(e of d)if((d=c.Wc(e))&&d.keyId){var e=d.keyId;break a}_.C(iG,"Could not get default Key ID for DRM init data!");e=null}c=new FG("xxxx");a.type===_.w?c=new GG(a.width,a.height):c=new HG(a.channelCount,a.sampleSize,a.Lc);a=new IG;a.g=1;a.h=8;a.m=e||"00000000000000000000000000000000";a=(new FG("schi")).append([a]);b=(new FG(_.he)).append([new JG(b),new KG(_.tc,65536),a]);c.append([b]);return c},
7
+ nH=function(a,b){var c=b.$c(),d=new MG(a.timescale,a.duration,a.id),e=(new NG).append([new OG(a.id)]),f=new PG(a.id,a.duration,a.timescale,a.width,a.height),g=new QG(a.timescale,a.duration);const h=new RG(a.type);var k=null,l=new SG;l.entries=[new TG];var m=new UG;switch(a.type){case _.w:k=new VG(a.Ja,a.Lb);c?(a=LG(a,"avc1",b),a.append([k]),m.entries=[a]):(a=(new WG(a.width,a.height)).append([k]),m.entries=[a]);k=new XG;break;case _.p:k=new YG(a.Db),c?(a=LG(a,"mp4a",b),a.append([k]),m.entries=[a]):
8
+ (a=(new ZG(a.channelCount,a.sampleSize,a.Lc)).append([k]),m.entries=[a]),k=new $G}m=(new aH).append([m,new bH,new cH,new dH,new eH]);l=(new fH).append([l]);l=(new gH).append([k,l,m]);g=(new hH).append([g,h,l]);f=(new iH).append([f,g]);d=(new jH).append([d,f,e]);e=new kH("dash",0,["iso6","mp41","avc1"]);c&&(c=b.Wc(_.Jc),b=b.Wc(_.Kc),c&&d.append([new lH("pssh",c.initData,8)]),b&&d.append([new lH("pssh",b.initData,8)]),c||b||_.C(iG,"Could not get PSSH init data!"));b=new mH([e,d]);return _.I(b.write())},
9
+ xH=function(a,b){let c,d,e,f,g,h;(new _.Mj).L("moof",_.Fj).Y("mfhd",k=>{{const l=new oH;l.g=_.N(k.reader);c=l}}).L("traf",_.Fj).Y("tfhd",k=>{{const l=k.reader.za();if(null===k.flags)throw new _.H(_.G,3,3019,hG);const m=new pH(k.version||0,k.flags||0);m.g=_.N(k.reader);0<l-k.reader.getPosition()&&k.flags&1&&(m.h=_.Bj(k.reader));0<l-k.reader.getPosition()&&k.flags&2&&(m.A=_.N(k.reader));0<l-k.reader.getPosition()&&k.flags&8&&(m.j=_.N(k.reader));0<l-k.reader.getPosition()&&k.flags&16&&(m.o=_.N(k.reader));
10
+ 0<l-k.reader.getPosition()&&k.flags&32&&(m.m=_.N(k.reader));d=m}}).Y("trun",k=>{{var l=k.reader.za();if(null===k.flags)throw new _.H(_.G,3,3019,hG);const m=new qH(k.version||0,k.flags||0);m.g=_.N(k.reader);0<l-k.reader.getPosition()&&k.flags&1&&(m.j=_.zj(k.reader));0<l-k.reader.getPosition()&&k.flags&4&&(m.m=_.N(k.reader));if(0<l-k.reader.getPosition())for(l=0;l<m.g;l++)k.flags&256&&m.o.push(_.N(k.reader)),k.flags&512&&m.sampleSize.push(_.N(k.reader)),k.flags&1024&&m.A.push(_.N(k.reader)),k.flags&
11
+ 2048&&(0===k.version?m.h.push(_.N(k.reader)):m.h.push(_.zj(k.reader)));e=m}}).Y("sdtp",k=>{{const l=_.Cj(k.reader,k.reader.za());f=new rH("sdtp",k.version||0,k.flags||0,l,0)}}).L("uuid",k=>{var l=_.Cj(k.reader,16);if(_.$g(l,sH)){l=_.N(k.reader);k.version=l>>>24;k.flags=l&16777215;l=new tH(k.version,k.flags);l.h=_.N(k.reader);k.flags&1&&(l.j=_.xj(k.reader));for(let m=0;m<l.h;m++){const n={xe:_.Cj(k.reader,8),xc:0,Zd:[]};if(k.flags&2){n.xc=_.yj(k.reader);for(let q=0;q<n.xc;q++){const t={le:0,me:0};
12
+ t.le=_.yj(k.reader);t.me=_.N(k.reader);n.Zd.push(t)}}l.g.push(n)}g=l}}).L(_.qd,k=>{{const l=new uH;0<k.reader.za()?l.g=_.Cj(k.reader,k.reader.za()):(_.C(iG,"mdat box is empty!"),l.g=new Uint8Array(0));h=l}}).parse(a,!1);if(!h)return null;a=(new vH).append([d,e]);f&&a.append([f]);b.$c()&&g&&a.append([g]);b=(new wH).append([c,a]);return new mH([b,h])},CH=function(a,b,c,d){var e=d.$c(),f=parseInt(c*b,10);b=a.data||new ArrayBuffer(0);var g=xH(b,d);if(null===g)return a.request.contentType===_.v?a.data:
13
+ g;d=g.get(_.qd);if(a.request.contentType===_.v){e=d.g.buffer;if(c){e=_.Ig(e);if((e=(new DOMParser).parseFromString(e,_.ue))&&"tt"===e.documentElement.tagName.toLowerCase())var h=e.documentElement;if(h&&(d=new yH(h.getAttribute("ttp:frameRate"),h.getAttribute("ttp:subFrameRate"),h.getAttribute("ttp:frameRateMultiplier"),h.getAttribute("ttp:tickRate")),h=h.getElementsByTagName("body")[0])){f=h.getElementsByTagName("p");for(let t=0,u=f.length;t<u;t++){h=f[t];a=c;b=d;g=["begin",_.Yc];for(let x=0,A=g.length;x<
14
+ A;x++){b:{var k=h;var l=g[x],m=new RegExp("\\w+:"+l),n=0;if(k.hasAttribute(l)){k=k.getAttribute(l);break b}l=k.attributes;const E=l.length;for(;n<E;n++){var q=l[n].name;if(q=q.match(m)){k=k.getAttribute(q[0]);break b}}k=null}h.setAttribute(g[x],DG(k||"",a,b))}}}e=(new XMLSerializer).serializeToString(e);c=_.Jg(e).buffer}else c=e;return c}h=new wH;a=g.get("mfhd");b=new vH;k=g.get("tfhd");m=new zH(1,f);f=g.get("trun");n=g.get("sdtp");c=g.get("senc");k.g=1;k.flags&=16777214;k.flags|=131072;b.append([k,
15
+ m,f]);n&&b.append([n]);if(e){g=0;k=[];if(c.flags&2)for(k=[],m=0;m<c.h;m++)k.push(10+6*c.g[m].xc);else g=8;b.append([c,new AH,new BH(g,k,c.h)])}h.append([a,b]);f.flags|=1;f.j=h.a()+8;d=new mH([h,d]);h=d.write();e&&(e=d.get("saio"),d=d.f,e.offset[0]=c.start+16,d.seek(e.start),e.write(d),h=d.buffer);return h},DH=function(a,b,c){return{keySystem:a,licenseServerUri:"",distinctiveIdentifierRequired:!1,persistentStateRequired:!1,audioRobustness:"",videoRobustness:"",serverCertificate:null,initData:[b],keyIds:c,
16
+ periodId:null}},EH=function(a){return{initData:_.pu(_.uk(a)),initDataType:_.tc,keyId:a,periodId:null}},FH=function(a,b,c){a=_.Ck(a);c&&a.version!==c&&(a=_.ru(a,c));return{initData:_.pu(a),initDataType:_.tc,keyId:b,periodId:null}},GH=function(a,b){return _.y(function*(){var c=_.kh(b);c.timeout=a.g.attemptParameters.timeout;c.maxAttempts=Math.max(a.g.attemptParameters.maxAttempts,b.length);c.baseDelay=a.g.attemptParameters.baseDelay;c.backoffFactor=a.g.attemptParameters.backoffFactor;c.fuzzFactor=a.g.attemptParameters.fuzzFactor;
17
+ c.type=1;c=yield a.D.networkingEngine.fetch(c).P;a.m=c.uri;return c})},OH=function(a,b){let c=null;try{{const qa=new DOMParser;let jb,Ma;try{const cb=_.Ig(b);Ma=qa.parseFromString(cb.trim(),_.ue)}catch(cb){throw cb;}Ma&&Ma.documentElement.tagName==_.kb&&(jb=Ma.documentElement);c=jb&&0<jb.getElementsByTagName("parsererror").length?null:jb}}catch(qa){}if(!c)throw a.a.error("Unable to parse manifest"),new _.H(_.G,4,4033,a.m);const d=+HH(a,c,"MajorVersion"),e=+HH(a,c,"MinorVersion"),f=+c.getAttribute("TimeScale")||
18
+ 1E7;let g=+HH(a,c,"Duration");const h="TRUE"===c.getAttribute("IsLive"),k=+c.getAttribute("LookAheadCount"),l=+c.getAttribute("DVRWindowLength")||Infinity,m=_.ok(c,"Protection")[0];if(!1===/^[2].[0-2]$/.test(""+d+"."+e))throw a.a.error("Smooth Streaming version must be 2.0, 2.1 or 2.2"),new _.H(_.G,4,4036,a.m);h?(IH(a,JH),a.A=typeof a.g.liveRefreshPeriod===_.r?1E3*a.g.liveRefreshPeriod:Math.min(1E3*a.H,1E4),g=Infinity):IH(a,KH);a.f={startTime:0,delay:0,duration:g/f,qd:l/f,Gc:0};if(m){{var n=a.g.playreadyVersion;
19
+ const qa=[],jb=_.ok(m,"ProtectionHeader")[0],Ma=_.Xg(_.qk(jb)||""),cb=_.Ck(Ma).a;qa.push(DH(_.Kc,EH(cb),[cb]));qa.push(DH(_.Jc,FH(Ma,cb,n),[cb]));var q=qa}a.o=q}{const qa=[],jb=_.ok(c,"StreamIndex");if(!jb.length)throw a.a.error("No streams found!"),new _.H(_.G,4,4034,a.m);for(let Ma=0;Ma<jb.length;Ma++){{var t=a,u=jb[Ma];const cb=HH(t,u,"Type"),kc=+u.getAttribute("Chunks"),Ug=u.getAttribute("Subtype"),He=_.sg(u.getAttribute("Language")||_.ye),Md=u.getAttribute("Name")||"",Vg=+u.getAttribute(_.La),
20
+ Bf=+u.getAttribute(_.Ka),Cf=HH(t,u,"Url"),Ek=+u.getAttribute("TimeScale")||null;{const lc=[],si=_.ok(u,_.Ya);for(let Nd=0;Nd<si.length;Nd++){{let mc,Ia,hd;var x=t,A=si[Nd],E=cb;const ti=+A.getAttribute("Index"),Df=+HH(x,A,"Bitrate");let Rb=NaN,Ef=NaN,Fk=NaN,Fp=NaN,kz=NaN,lz=NaN,mz=NaN;const nz=A.getAttribute("FourCC");switch(E){case _.w:Rb=+HH(x,A,_.Ka);Ef=+HH(x,A,_.La);break;case _.p:Fp=+A.getAttribute("Channels")||2,Fk=+HH(x,A,"SamplingRate"),lz=+HH(x,A,"AudioTag"),kz=+HH(x,A,"BitsPerSample"),mz=
21
+ +HH(x,A,"PacketSize")}let Gp=String(A.getAttribute("CodecPrivateData"));if(E===_.p&&!Gp){{var D=Fp;const oz={96E3:0,88200:1,64E3:2,48E3:3,44100:4,32E3:5,24E3:6,22050:7,16E3:8,12E3:9,11025:10,8E3:11,7350:12},Gk=oz[Fk];if("AACH"===nz){Ia=new Uint8Array(4);const pz=oz[2*Fk];Ia[0]=40|Gk>>1;Ia[1]=Gk<<7|D<<3|pz>>1;Ia[2]=pz<<7|8;Ia[3]=0;mc=new Uint16Array(2);mc[0]=(Ia[0]<<8)+Ia[1];mc[1]=(Ia[2]<<8)+Ia[3];hd=mc[0].toString(16)+mc[1].toString(16)}else Ia=new Uint8Array(2),Ia[0]=16|Gk>>1,Ia[1]=Gk<<7|D<<3,mc=
22
+ new Uint16Array(1),mc[0]=(Ia[0]<<8)+Ia[1],hd=mc[0].toString(16);Gp=hd.toUpperCase()}}var X={id:x.W++,type:E,index:ti,bitrate:Df,Tc:Gp,maxHeight:Rb,maxWidth:Ef,Lc:Fk,ne:Fp,xg:lz,gf:kz,Ig:mz,yf:nz,segmentIndex:null}}lc.push(X)}var na=lc}{const lc=[],si=_.ok(u,"c");for(let Nd=0;Nd<si.length;Nd++){const mc=si[Nd];let Ia=parseInt(mc.getAttribute("t"),10),hd=parseInt(mc.getAttribute("d"),10),ti=parseInt(mc.getAttribute("r"),10),Df=0;if(isNaN(Ia)&&isNaN(hd))throw t.a.error("Either one or both FragmentDuration and FragmentTime field MUST be present in StreamFragmentElement"),
23
+ new _.H(_.G,4,4037,t.m);0===Nd&&isNaN(Ia)&&(Df=Ia=0);if(0<Nd){const Rb=lc[lc.length-1];Df=Rb.n+1;Rb.d||(Rb.d=Ia-Rb.t);Ia||(Ia=Rb.t+Rb.d);hd||(hd=Ia-Rb.t)}lc.push({n:Df,d:hd,t:Ia});if(ti){ti--;for(let Rb=0;Rb<ti;Rb++){const Ef=lc[lc.length-1];Df=Ef.n+1;Ia=Ef.t+Ef.d;hd=Ef.d;lc.push({n:Df,d:hd,t:Ia})}}}t.C()||lc.length===kc||t.a.warn("Number of fragments ("+kc+") differs from number of chunks ("+lc.length+").");var tb=lc}var Jd={type:cb,Ag:kc,jg:Ug,language:He,name:Md,maxWidth:Vg,maxHeight:Bf,og:Cf,
24
+ tracks:na,te:tb,timescale:Ek}}qa.push(Jd)}var Pb=qa}const Qa={Hg:d,Ae:e,timescale:f,duration:g,isLive:h,Gg:k,qd:l,zd:!1,streams:Pb};if(a.h&&a.w)return LH(a,Qa),Promise.resolve();a.G.clear();{const qa=Qa.timescale,jb=Qa.duration,Ma=vG(Qa.streams,_.p),cb=vG(Qa.streams,_.w),kc=vG(Qa.streams,_.v),Ug=[];let He=MH(a,jb,qa,Ma),Md=MH(a,jb,qa,cb);const Vg=MH(a,jb,qa,kc);He.length||(He=[null]);Md.length||(Md=[null]);for(let Bf=0;Bf<Md.length;Bf++)for(let Cf=0;Cf<He.length;Cf++)Ug.push(NH(a,Md[Bf],He[Cf]));
25
+ var Fe={startTime:0,variants:Ug,textStreams:Vg,thumbStreams:[]}}{var bb=Qa.streams;let qa=a.f.startTime,jb=a.f.delay;const Ma=a.I;let cb=Math.min(a.f.duration||Infinity,Ma);const kc=a.C(),Ug=a.f.qd,He=a.f.Gc,Md=a.H,Vg=isFinite(a.F)?a.F:0;if(kc)cb=Infinity,qa=Date.now()/1E3-He,a.f.startTime=qa,jb=3*Md;else{const Bf=isFinite(Ma)?Ma:a.f.duration;for(const Cf of bb)for(const Ek of Cf.tracks)Ek.segmentIndex.offset(-Vg),_.kv(Ek.segmentIndex,Bf)}a.B=new _.Gz(qa,jb,!kc,!0);a.B.f=cb;_.Yu(a.B,Md);a.B.j=Ug;
26
+ kc||a.B.offset(-Vg)}a.D.filterAllPeriods([Fe]);a.h={presentationTimeline:a.B,periods:[Fe],offlineSessionIds:[],minBufferTime:0};Promise.resolve();a.K||(a.D.networkingEngine.hd(a.M),a.K=!0);a.w=Qa;return Promise.resolve()},PH=function(a,b){null!=a.A&&null!=b&&(a.j=window.setTimeout(a.xb.bind(a),b))},HH=function(a,b,c){if(b=b.getAttribute(c))return b;a.a.error("required attribute not provided: "+c);throw new _.H(_.G,4,4038,a.m,c);},IH=function(a,b){const c=b===KH;a.h&&a.h.presentationTimeline&&_.Uu(a.h.presentationTimeline,
27
+ c);c&&null!=a.j&&(window.clearTimeout(a.j),a.j=null,a.A=null);a.R=b},LH=function(a,b){for(let e=0;e<a.w.streams.length;e++){const f=b.streams[e];for(const g of a.w.streams[e].tracks){var c=f.tracks.find(h=>h.type===g.type&&h.bitrate===g.bitrate);if(c){tG(g,c)||a.a.warn("The current stream is updated with a stream that seems to have different base properties!");var d=QH(a,a.w.timescale,f,c);c=g.segmentIndex;_.gv(c,d);(d=a.f.qd)&&_.hv(c,_.ev(c)-d).forEach(h=>{h.Fa().forEach(k=>{a.G.delete(k)})})}else a.a.warn(`Cannot find satisfying update for ${g.type} `+
28
+ `track with bitrate ${g.bitrate}. Skipping update.`)}}},QH=function(a,b,c,d){let e=0;const f=[],g=c.timescale||b;c.te.forEach((h,k)=>{const l=h.d/g;0===k?(h=h.t/g,a.F=Math.min(a.F,h)):h=f[k-1].endTime;const m=h+l,n=sG(a.m,c,k,d);a.H=Math.max(a.H,l);f.push(new _.fv(k,h,m,()=>[n],0,null,0,null,!0,g));a.G.set(n,h);e+=l});if(c.type===_.w||c.type===_.p)b=f[f.length-1],a.I=Math.min(a.I,e),0===a.f.Gc?a.f.Gc=b.endTime:a.f.Gc=Math.min(a.f.Gc,b.endTime);return f},MH=function(a,b,c,d){let e=[];for(let f=0;f<
29
+ d.length;f++){const g=d[f].tracks.map(h=>{var k=d[f],l=QH(a,c,k,h),m=new _.Hz(l),n=null;k.type!==_.v&&(n=RH(a,b,c,k,h));h.segmentIndex=m;l=a.O++;var q=Promise.resolve.bind(Promise),t=m.f.bind(m),u=m.get.bind(m),x=m.g.bind(m);m=m.getDuration.bind(m);var A=SH[k.type];var E="";switch(k.type){case _.w:E=h.Tc;var D=/00000001[0-9]7/.exec(E);E="avc1."+(D&&D[0]?E.substr(E.indexOf(D[0])+10,6):"42c00c");a.a.debug("VIDEO CODECS: ",E);break;case _.p:E=h.Tc,D=2,"AACH"===h.yf?D=5:E&&(D=(parseInt(E.substr(0,2),
30
+ 16)&248)>>3),E="mp4a.40."+D,a.a.debug("AUDIO CODECS: ",E)}D=k.type===_.v?TH[k.jg]:void 0;return h={id:l,originalId:null,Kg:null,createSegmentIndex:q,findSegmentPosition:t,getSegmentReference:u,adjustSegmentDurations:x,getDuration:m,segmentIndex:null,segmentLookupStrategy:_.$t,initSegmentReference:n,mimeType:A,codecs:E,frameRate:void 0,bandwidth:h.bitrate,width:h.maxWidth||void 0,height:h.maxHeight||void 0,kind:D,encrypted:a.J(),keyId:null,language:k.language,label:k.name,type:k.type,primary:!1,trickModeVideo:null,
31
+ emsgSchemeIdUris:null,roles:[],channelsCount:h.ne||null,closedCaptions:null}});e=e.concat(g)}return e},NH=function(a,b,c){const d=(c?c.bandwidth:0)+(b?b.bandwidth:0),e=c?c.language:_.ye;return c||b?{id:a.O++,language:e,primary:!1,audio:c,video:b,bandwidth:d,drmInfos:a.o,allowedByApplication:!0,allowedByKeySystem:!0}:null},RH=function(a,b,c,d,e){b=uG(b,d.timescale||c,e);c={isLive:a.C.bind(a),$c:a.J.bind(a),Df:()=>1,Wc:a.S.bind(a)};d=new Uint8Array(0);try{d=nH(b,c)}catch(g){throw a.a.error("Failed to generate initialization segment."),
32
+ new _.H(_.G,3,4035,g);}const f="data:text/plain;base64,"+_.Wg(d);return new _.Ez(()=>[f],0,null,null,!0)},FG=class{constructor(a){this.type=a;this.size=this.start=0;this.parent=null;this.w=!1;this.entries=[];this.f=[]}append(a=[]){for(let b=0;b<a.length;b++)this.f.push(a[b]),a[b].parent=this;return this}get(a){if(this.type===a)return this;for(let b=0;b<this.f.length;b++){if(this.f[b].type===a)return this.f[b];{const c=this.f[b].get(a);if(c)return c}}return null}a(){const a=Math.pow(2,32)-1;let b;
33
+ b=4+this.type.length;"uuid"===this.type&&(b+=16);if(0<this.f.length)for(let c=0;c<this.f.length;c++)b+=this.f[c].a();this.size>a&&(b+=8);return b}write(a){var b=Math.pow(2,32)-1;this.start=a.getPosition();this.size=this.a();this.size>b?_.M(a,1):_.M(a,this.size);_.uj(a,qG(this.type));this.size>b&&kG(a,this.size);"uuid"===this.type&&_.uj(a,null);if(0<this.f.length&&!this.w)for(b=0;b<this.f.length;b++)this.f[b].write(a),this.f[b].a(),a.getPosition()}},UH=class extends FG{constructor(a,b,c){super(a);
34
+ this.version=b;this.flags=c}a(){return 4+super.a()}write(a){super.write(a);lG(a,this.version);mG(a,this.flags)}},lH=class extends FG{constructor(a,b,c){super(a);this.g=b;this.offset=c}a(){return this.g.byteLength+super.a()-this.offset}write(a){super.write(a);_.uj(a,this.g,this.offset);a.getPosition()}},rH=class extends UH{constructor(a,b,c,d,e){super(a,b,c);this.g=d;this.offset=e}a(){return this.g.byteLength+super.a()-this.offset}write(a){super.write(a);_.uj(a,this.g,this.offset);a.getPosition()}},
35
+ kH=class extends FG{constructor(a,b,c){super("ftyp");this.h=a;this.Ae=b;this.g=c}a(){let a=this.h.length;a=a+4+this.g.join("").length;return a+super.a()}write(a){super.write(a);_.uj(a,qG(this.h));_.M(a,this.Ae);_.uj(a,qG(this.g.join("")));a.getPosition()}},jH=class extends FG{constructor(){super(_.wd)}},iH=class extends FG{constructor(){super(_.we)}},MG=class extends UH{constructor(a,b,c){super("mvhd",1,0);this.timescale=a;this.duration=b;this.volume=256;this.h=c+1;this.g=[0,1,0,0,0,0,0,0,0,0,0,0,
36
+ 0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0]}a(){let a=0;a=1===this.version?a+28:a+16;a=a+44+this.g.length;return a+=super.a()}write(a){super.write(a);1===this.version?(kG(a,0),kG(a,0),_.M(a,this.timescale),kG(a,this.duration*this.timescale)):(_.M(a,0),_.M(a,0),_.M(a,this.timescale),_.M(a,this.duration*this.timescale));_.M(a,65536);nG(a,this.volume);nG(a,0);_.M(a,0);_.M(a,0);for(let b=0;b<this.g.length;b++)lG(a,this.g[b]);_.M(a,0);_.M(a,0);_.M(a,0);_.M(a,0);_.M(a,0);_.M(a,0);_.M(a,this.h);a.getPosition()}},
37
+ NG=class extends FG{constructor(){super("mvex")}},OG=class extends UH{constructor(a){super("trex",0,0);this.g=a}a(){return 20+super.a()}write(a){super.write(a);_.M(a,this.g);_.M(a,1);_.M(a,0);_.M(a,0);_.M(a,0);a.getPosition()}},PG=class extends UH{constructor(a,b,c,d,e){super("tkhd",1,7);this.h=a;this.duration=b;this.timescale=c;this.width=d;this.height=e;this.volume=1;this.g=[0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0]}a(){let a=0;a=1===this.version?a+32:a+20;a=a+24+
38
+ this.g.length;return a+super.a()}write(a){super.write(a);1===this.version?(kG(a,0),kG(a,0),_.M(a,this.h),_.M(a,0),kG(a,this.duration*this.timescale)):(_.M(a,0),_.M(a,0),_.M(a,this.h),_.M(a,0),_.M(a,this.duration*this.timescale));_.M(a,0);_.M(a,0);nG(a,0);nG(a,0);nG(a,this.volume);nG(a,0);for(let b=0;b<this.g.length;b++)lG(a,this.g[b]);nG(a,this.width);nG(a,0);nG(a,this.height);nG(a,0);a.getPosition()}},QG=class extends UH{constructor(a,b){super("mdhd",1,0);this.timescale=a;this.duration=b;this.language=
39
+ 21956}a(){let a=0;a=1===this.version?a+28:a+16;return a+4+super.a()}write(a){super.write(a);1===this.version?(kG(a,0),kG(a,0),_.M(a,this.timescale),kG(a,this.duration*this.timescale)):(_.M(a,0),_.M(a,0),_.M(a,this.timescale),_.M(a,this.duration*this.timescale));nG(a,this.language);nG(a,0);a.getPosition()}},RG=class extends UH{constructor(a){super("hdlr",0,0);this.g=a}a(){return 33+super.a()}write(a){super.write(a);_.M(a,0);this.g===_.w?_.uj(a,qG("vide")):_.uj(a,qG("soun"));_.M(a,0);_.M(a,0);_.M(a,
40
+ 0);this.g===_.w?_.uj(a,qG("VideoHandler\x00")):_.uj(a,qG("SoundHandler\x00"));a.getPosition()}},XG=class extends UH{constructor(){super("vmhd",0,1);this.g=new Uint8Array([0,0,0,0,0,0])}a(){return 2+this.g.byteLength+super.a()}write(a){super.write(a);nG(a,0);_.uj(a,this.g);a.getPosition()}},VH=class extends FG{constructor(a){super(a);this.w=!0}a(){return 8+super.a()}write(a){super.write(a);_.M(a,0);nG(a,0);nG(a,1)}},WH=class extends VH{constructor(a){super(a);this.height=this.width=0;this.depth=24}a(){return 70+
41
+ super.a()}write(a){super.write(a);nG(a,0);nG(a,0);_.M(a,0);_.M(a,0);_.M(a,0);nG(a,this.width);nG(a,this.height);_.M(a,4718592);_.M(a,4718592);_.M(a,0);nG(a,1);lG(a,10);_.uj(a,qG("AVC Coding",31));nG(a,this.depth);pG(a,-1)}},XH=class extends VH{constructor(a,b,c,d){super(a);this.channelCount=b;this.sampleSize=c;this.sampleRate=d}a(){return 20+super.a()}write(a){super.write(a);_.M(a,0);_.M(a,0);nG(a,this.channelCount);nG(a,this.sampleSize);pG(a,0);nG(a,0);nG(a,this.sampleRate);nG(a,0)}},WG=class extends WH{constructor(a,
42
+ b){super("avc1");this.width=a;this.height=b}write(a){super.write(a);for(let b=0;b<this.f.length;b++)this.f[b].write(a);a.getPosition()}},GG=class extends WG{constructor(a,b){super(a,b);this.type="encv"}},ZG=class extends XH{constructor(a,b,c){super("mp4a",a,b,c)}write(a){super.write(a);for(let b=0;b<this.f.length;b++)this.f[b].write(a);a.getPosition()}},HG=class extends ZG{constructor(a,b,c){super(a,b,c);this.type="enca"}},VG=class extends FG{constructor(a,b){super("avcC");this.Ja=a;this.Lb=b;this.version=
43
+ 1;this.g=this.Ja[0][1];this.h=this.Ja[0][2];this.level=this.Ja[0][3]}a(){let a=7;for(var b=0;b<this.Ja.length;b++)a+=2,a+=this.Ja[b].byteLength;for(b=0;b<this.Ja.length;b++)a+=2,a+=this.Lb[b].byteLength;return a+super.a()}write(a){super.write(a);lG(a,this.version);lG(a,this.g);lG(a,this.h);lG(a,this.level);lG(a,255);lG(a,224|this.Ja.length);for(var b=0;b<this.Ja.length;b++)nG(a,this.Ja[b].length),_.uj(a,this.Ja[b]);lG(a,this.Lb.length);for(b=0;b<this.Lb.length;b++)nG(a,this.Lb[b].length),_.uj(a,this.Lb[b]);
44
+ a.getPosition()}},YG=class extends UH{constructor(a){super("esds",0,0);this.Db=a}a(){return 22+(this.Db.byteLength+3)+super.a()}write(a){super.write(a);lG(a,3);lG(a,23+this.Db.byteLength);nG(a,1);lG(a,0);lG(a,4);lG(a,15+this.Db.byteLength);lG(a,64);lG(a,21);mG(a,0);_.M(a,0);_.M(a,0);lG(a,5);lG(a,this.Db.byteLength);_.uj(a,this.Db);_.uj(a,new Uint8Array([6,1,2]));a.getPosition()}},TG=class extends UH{constructor(a=""){super("url ",0,1);this.location=a}a(){return this.location.length+super.a()}write(a){super.write(a);
45
+ 0<this.location.length&&_.uj(a,qG(this.location));a.getPosition()}},SG=class extends UH{constructor(){super("dref",0,0)}a(){let a=4;for(let b=0;b<this.entries.length;b++)a+=this.entries[b].a();return a+super.a()}write(a){super.write(a);_.M(a,this.entries.length);for(let b=0;b<this.entries.length;b++)this.entries[b].write(a);a.getPosition()}},aH=class extends FG{constructor(){super(_.me)}},UG=class extends UH{constructor(){super(_.oe,0,0)}a(){let a=4;for(let b=0;b<this.entries.length;b++)a+=this.entries[b].a();
46
+ return a+super.a()}write(a){super.write(a);_.M(a,this.entries.length);for(let b=0;b<this.entries.length;b++)this.entries[b].write(a);a.getPosition()}},bH=class extends UH{constructor(){super("stts",0,0)}a(){let a=4;for(let b=0;b<this.entries.length;b++)a+=this.entries[b].a();return a+super.a()}write(a){super.write(a);_.M(a,this.entries.length);for(let b=0;b<this.entries.length;b++)this.entries[b].write(a);a.getPosition()}},cH=class extends UH{constructor(){super("stsc",0,0)}a(){let a=4;for(let b=
47
+ 0;b<this.entries.length;b++)a+=this.entries[b].a();return a+super.a()}write(a){super.write(a);_.M(a,this.entries.length);for(let b=0;b<this.entries.length;b++)this.entries[b].write(a);a.getPosition()}},eH=class extends UH{constructor(){super("stco",0,0)}a(){let a=4;for(let b=0;b<this.entries.length;b++)a+=this.entries[b].a();return a+super.a()}write(a){super.write(a);_.M(a,this.entries.length);for(let b=0;b<this.entries.length;b++)this.entries[b].write(a);a.getPosition()}},dH=class extends UH{constructor(){super("stsz",
48
+ 0,0)}a(){return 8+super.a()}write(a){super.write(a);_.M(a,0);_.M(a,0);a.getPosition()}},$G=class extends UH{constructor(){super("smhd",0,0)}a(){return 4+super.a()}write(a){super.write(a);pG(a,0);nG(a,0);a.getPosition()}},fH=class extends FG{constructor(){super("dinf")}},gH=class extends FG{constructor(){super(_.vd)}},hH=class extends FG{constructor(){super(_.rd)}},zH=class extends UH{constructor(a,b){super("tfdt",a,0);this.g=b}a(){let a=0;a=1===this.version?a+8:a+4;return a+super.a()}write(a){super.write(a);
49
+ 1===this.version?kG(a,this.g):_.M(a,this.g);a.getPosition()}},oH=class extends UH{constructor(){super("mfhd",0,0);this.g=0}a(){return 4+super.a()}write(a){super.write(a);_.M(a,this.g);a.getPosition()}},qH=class extends UH{constructor(a,b){super("trun",a,b);this.m=this.j=this.g=0;this.o=[];this.sampleSize=[];this.A=[];this.h=[]}a(){let a=4;this.flags&YH&&(a+=4);this.flags&ZH&&(a+=4);for(let b=0;b<this.g;b++)this.flags&$H&&(a+=4),this.flags&aI&&(a+=4),this.flags&bI&&(a+=4),this.flags&cI&&(a+=4);return a+
50
+ super.a()}write(a){super.write(a);_.M(a,this.g);this.flags&YH&&(a.getPosition(),oG(a,this.j));this.flags&ZH&&_.M(a,this.m);for(let b=0;b<this.g;b++)this.flags&$H&&_.M(a,this.o[b]),this.flags&aI&&_.M(a,this.sampleSize[b]),this.flags&bI&&_.M(a,this.A[b]),this.flags&cI&&(0===this.version?_.M(a,this.h[b]):oG(a,this.h[b]));a.getPosition()}},YH=1,ZH=4,$H=256,aI=512,bI=1024,cI=2048,pH=class extends UH{constructor(a,b){super("tfhd",a,b);this.g=255;this.m=this.o=this.j=this.A=this.h=0}a(){let a=4;this.flags&
51
+ dI&&(a+=8);this.flags&eI&&(a+=4);this.flags&fI&&(a+=4);this.flags&gI&&(a+=4);this.flags&hI&&(a+=4);return a+super.a()}write(a){super.write(a);_.M(a,this.g);this.flags&dI&&kG(a,this.h);this.flags&eI&&_.M(a,this.A);this.flags&fI&&_.M(a,this.j);this.flags&gI&&_.M(a,this.o);this.flags&hI&&_.M(a,this.m);a.getPosition()}},dI=1,eI=2,fI=8,gI=16,hI=32,vH=class extends FG{constructor(){super("traf")}},wH=class extends FG{constructor(){super("moof")}},uH=class extends FG{constructor(){super(_.qd);this.g=new Uint8Array(0)}a(){return this.g.byteLength+
52
+ super.a()}write(a){super.write(a);0<this.g.byteLength&&_.uj(a,this.g)}},IG=class extends UH{constructor(){super("tenc",0,0);this.g=1;this.h=8;this.m="";this.j=[]}a(){let a;a=20;1===this.g&&0===this.h&&(a=a+1+this.j.length);return a+super.a()}write(a){super.write(a);lG(a,0);0===this.version?lG(a,0):lG(a,0);lG(a,this.g);lG(a,this.h);_.uj(a,_.Yg(this.m));if(1===this.g&&0===this.h){lG(a,0);for(let b=0;b<this.j.length;b++)lG(a,this.j[b])}a.getPosition()}},KG=class extends UH{constructor(a,b){super("schm",
53
+ 0,0);this.g=a;this.h=b;this.zb=""}a(){let a=8;this.flags&1&&(a+=qG(this.zb).byteLength);return a+super.a()}write(a){super.write(a);_.uj(a,qG(this.g));_.M(a,this.h);this.flags&1&&_.uj(a,qG(this.zb));a.getPosition()}},JG=class extends FG{constructor(a){super("frma");this.g=a}a(){return qG(this.g).byteLength+super.a()}write(a){super.write(a);_.uj(a,qG(this.g));a.getPosition()}},AH=class extends UH{constructor(){super("saio",0,0);this.offset=[0]}a(){let a=0;this.flags&1&&(a+=8);a+=4;for(let b=0;1>b;b++)a=
54
+ 0===this.version?a+4:a+8;return a+super.a()}write(a){super.write(a);this.flags&1&&(_.M(a,0),_.M(a,0));_.M(a,1);for(let b=0;1>b;b++)0===this.version?_.M(a,this.offset[b]):kG(a,this.offset[b]);a.getPosition()}},BH=class extends UH{constructor(a,b,c){super("saiz",0,0);this.g=a;this.j=b;this.h=c}a(){let a=0;this.flags&1&&(a+=8);a+=5;0===this.g&&(a+=this.j.length);return a+super.a()}write(a){super.write(a);this.flags&1&&(_.M(a,0),_.M(a,0));lG(a,this.g);_.M(a,this.h);if(0===this.g)for(let b=0;b<this.h;b++)lG(a,
55
+ this.j[b]);a.getPosition()}},tH=class extends UH{constructor(a,b){super("senc",a,b);this.h=0;this.j=8;this.g=[]}a(){let a=4;this.flags&1&&(a+=1);for(let b=0;b<this.h;b++)if(a+=this.g[b].xe.byteLength,this.flags&2){a+=2;for(let c=0;c<this.g[b].xc;c++)a+=2,a+=4}return a+super.a()}write(a){super.write(a);_.M(a,this.h);this.flags&1&&lG(a,this.j);for(let b=0;b<this.h;b++)if(_.uj(a,this.g[b].xe),this.flags&2){nG(a,this.g[b].xc);for(let c=0;c<this.g[b].xc;c++)nG(a,this.g[b].Zd[c].le),_.M(a,this.g[b].Zd[c].me)}a.getPosition()}};var yH=class{constructor(a,b,c,d){this.frameRate=Number(a)||30;this.f=Number(b)||1;this.a=Number(d);0==this.a&&(this.a=a?this.frameRate*this.f:1);c&&(a=/^(\d+) (\d+)$/g.exec(c))&&(this.frameRate*=parseInt(a[1],10)/parseInt(a[2],10))}},xG=/^(\d{2,}):(\d{2}):(\d{2}):(\d{2})\.?(\d+)?$/,yG=/^(?:(\d{2,}):)?(\d{2}):(\d{2})$/,zG=/^(?:(\d{2,}):)?(\d{2}):(\d{2}\.\d{2,})$/,AG=/^(\d*\.?\d*)f$/,BG=/^(\d*\.?\d*)t$/,CG=/^(?:(\d*\.?\d*)h)?(?:(\d*\.?\d*)m)?(?:(\d*\.?\d*)s)?(?:(\d*\.?\d*)ms)?$/;var mH=class{constructor(a){this.a=a;this.f=EG(this)}get(a){for(let b=0;b<this.a.length;b++){const c=this.a[b].get(a);if(c)return c}return null}write(){this.f=EG(this);for(let a=0;a<this.a.length;a++)this.a[a].write(this.f);return this.f.buffer}};var sH=new Uint8Array([162,57,79,82,90,155,79,20,162,68,108,66,124,100,141,244]);var iI=class{constructor(){this.w=this.h=this.g=this.D=null;this.O=1;this.W=0;this.m="";this.B=this.f=null;this.a=new _.O("clpp.smooth.SmoothParser");this.K=!1;this.j=this.A=null;this.R=KH;this.H=0;this.F=this.I=Infinity;this.o=[];this.M=this.U.bind(this);this.G=new Map}configure(a){this.g=a}start(a,b){this.D=b;a=[...new Set([a,rG(a)])];return GH(this,a).then(c=>OH(this,c.data).then(()=>{PH(this,this.A);return this.h}))}stop(){this.D&&this.D.networkingEngine.Sd(this.M);this.A=this.w=this.h=this.g=
56
+ this.D=null;this.j&&(clearTimeout(this.j),this.j=null);this.K=!1;this.I=this.F=Infinity;return Promise.resolve()}update(){if(this.C())return GH(this,[this.m]).then(a=>OH(this,a.data).then(()=>this.h)).catch(a=>{if(this.D)this.D.onError(a)})}onExpirationUpdated(){}setCurrentVariant(){}xb(){this.a.debug(_.St);this.D&&(this.j=null,this.update().then(()=>{PH(this,this.A)}).catch(a=>{this.D&&(this.D.onError(a),1===a.severity&&PH(this,100))}))}C(){return this.R===JH}J(){return 0<this.o.length}S(a){let b=
57
+ null;if(this.o.length)for(let c=0;c<this.o.length;c++)if(this.o[c].keySystem===a){b=this.o[c].initData[0];break}return b}U(a){if(2!==a.request.type||a.uri.startsWith("data:"))return Promise.resolve(a);const b=a.request.timescale||this.w.timescale,c={isLive:this.C.bind(this),$c:this.J.bind(this),Df:()=>1,Wc:this.S.bind(this)};let d=!1;const e=new _.H(_.G,3,4035,null);let f=null;try{const g=this.G.get(a.request.uris[a.request.uriIndex])||a.request.startTime||0;g!==a.request.startTime&&this.a.debug(`Using base media decode time ${g} instead of `+
58
+ `segment reference time ${a.request.startTime}`);f=CH(a,b,g,c)}catch(g){d=!0,e.data=g,3E3===g.code&&(e.code=4039)}if(d||!f)return Promise.reject(e);a.data=f;return Promise.resolve(a)}},SH={video:_.Ke,audio:_.ec,text:_.Zb},KH=_.Tt,JH="LIVE",TH={tg:"caption",ug:_.hu};_.z("clpp.smooth.SmoothComponent",class extends _.Mp{constructor(){super()}f(){_.Kn.ism=iI;_.In[_.$b]=iI}a(){_.nv("ism");_.ov(_.$b)}id(){return"smooth"}});};f.call(g, window);
package/cl.thumbnails.js CHANGED
@@ -1,17 +1,17 @@
1
- import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var Is="No thumbnail duration or URL specified",Js="No thumbnail found for position ",Ks="Position is out of range: ",Ls="Thumbnail URL is mandatory",Ms="Wrong gridSize format",Ns="clpp.thumbnails",Ps=function(a,b){b.reduce((c,d)=>{let e=d,f=!1;typeof d===_.Bd&&(e=d.step,f=d.preloadWhileBuffering);return c.then(()=>Os(a,0,e,!!f))},Promise.resolve())},Os=function(a,b,c,d){if(a.w||b>=a.a.length)return Promise.resolve();const e=b+c;return Qs(a,d).then(()=>a.a[b].load()).then(()=>Os(a,e,
2
- c,d))},Qs=function(a,b){return new Promise(c=>{if(b||a.g.getState()!==_.Kl)c();else a.g.one(_.mc,()=>{c()})})},Rs=function(a){const b=a.f.byteLength;a.a.forEach(c=>{c.offset+c.length<b&&c.te.resolve()})},Us=function(a,b){return Ss(a,b).then(c=>new Ts(c,b.time,b.duration))},Ss=function(a,b){return b.load().then(()=>{const c=_.H(a.f,b.offset,b.length);return"data:image/jpeg;base64,"+_.dj(c)})},Vs=function(a){a=a.split(/\.|:/).map(parseFloat);let b=0,c;const d={3:.001,2:1,1:60,0:3600};for(c=a.length-
3
- 1;0<=c;c--)b+=a[c]*d[c];return b},Ws=function(a,b){let c=null;for(const d of a)d.startTime<=b&&(c=d);return c},Xs=function(a,b){const c=a.horizontalTiles||b.horizontalTiles||1,d=a.verticalTiles||b.verticalTiles||1,e=c*d;return{zc:c,be:d,qe:e,durationPerTile:a.durationPerTile||b.durationPerTile||(a.endTime-a.startTime)/e}},Ys=function(a){return a.some(b=>0<b.thumbStreams.length)},Zs=function(a){if(!a)return null;a=new _.Kj(a);return a.path.match(/.*\.vtt$/i)?"WEBVTT":a.path.match(/.*\.bif$/i)?"BIF":
4
- a.path.match(/.*\.(png|jpg|jpeg)$/i)?"SINGLE":null};var $s=class{constructor(){this.log=new _.O(Ns);this.g=null;this.a=[];this.w=!1}init(a,b){this.g=a;a.one(_.$d,()=>{this.w=!0});a.isLive()||this.m().then(()=>{b&&b.preload&&Ps(this,b.preload)})}};var Ts=class{constructor(a,b,c,d=0,e=0,f=0,g=0,h=1,k=1,l=0,m=0,n=new Image){this.time=b;this.src=a;this.duration=c;this.x=d;this.y=e;this.width=f;this.height=g;this.ha=n;this.cf=h;this.Pf=k;this.xf=l;this.yf=m;this.oa=null}raw(){return this.ha.cloneNode(!1)}element(a,b){let c=this.width,d=this.height;const e=this.width/this.height;void 0!==a&&void 0===b&&(b=0);null!==a&&void 0!==a&&(c=a);null!==b&&void 0!==b&&(d=b);c||(c=Math.ceil(d*e));d||(d=Math.ceil(c/e));a=document.createElement(_.Qc);a.style.width=
5
- c+_.Xd;a.style.height=d+_.Xd;a.style.backgroundColor="#000";a.style.backgroundRepeat="no-repeat";a.style.backgroundImage=`url("${this.src}")`;a.style.backgroundSize=`${Math.ceil(c/this.width*(this.ha.naturalWidth||this.ha.width))}px ${Math.ceil(d/this.height*(this.ha.naturalHeight||this.ha.height))}px`;b=this.y/this.height;a.style.backgroundPositionX="-"+this.x/this.width*c+_.Xd;a.style.backgroundPositionY="-"+b*d+_.Xd;return a}load(){this.oa||(this.oa=new Promise((a,b)=>{const c=()=>{this.width||
6
- (this.width=(this.ha.naturalWidth||this.ha.width)/this.cf);this.height||(this.height=(this.ha.naturalHeight||this.ha.height)/this.Pf);this.x||(this.x=this.width*this.xf);this.y||(this.y=this.height*this.yf)};if(this.ha.src&&this.ha.complete)c(),a(this);else{var d=null,e=()=>{c();this.ha.removeEventListener("load",e);this.ha.removeEventListener(_.$c,d);a(this)};d=()=>{this.ha.removeEventListener("load",e);this.ha.removeEventListener(_.$c,d);b()};this.ha.addEventListener("load",e);this.ha.addEventListener(_.$c,
7
- d);this.ha.src=this.src}}));return this.oa}};_.x("clpp.thumbnails.Thumbnail",Ts);Ts.prototype.load=Ts.prototype.load;Ts.prototype.element=Ts.prototype.element;Ts.prototype.raw=Ts.prototype.raw;var at=class extends $s{constructor(){super();this.f=null;this.o=this.h=1;this.j=0}init(a,b){if(!b||!b.url)throw new _.G(_.F,7,7100,Ls);if("GRID"===b.mode&&!b.gridSize)throw new _.G(_.F,7,7100,"Grid size is mandatory for GRID mode");if(!b.duration)throw new _.G(_.F,7,7100,"Duration is mandatory");this.f=b;const c=this.f.duration,d=this.f.url;if(!c||!d)throw this.log.error(Is,c,d),new _.G(_.F,7,7100,Is);this.j=c;if(this.f.gridSize)try{const e=this.f.gridSize.split(/x/).map(f=>parseInt(f,10)).filter(f=>
8
- 0<f);if(2===e.length)this.h=e[0],this.o=e[1];else throw new _.G(_.F,7,7100,Ms);}catch(e){throw this.log.error("Error during parsing gridSize",e),new _.G(_.F,7,7100,Ms);}super.init(a,b)}get(a){const b=this.g.getDuration();if(void 0===this.f.duration)return Promise.reject("Duration configuration not defined");const c=Math.floor(a/this.f.duration);if(0>a||a>b)return Promise.reject(Ks+a);const d=this.a[c];return d?d.load().then(()=>d):Promise.reject(Js+a+" at index "+c)}m(){if(0<this.a.length)return Promise.resolve();
9
- var a=this.g.getDuration();const b=this.h*this.o;a=Math.ceil(Math.ceil(a/this.j)/b);const c=this.f.templateKey||"$index$";for(let d=0;d<a;d++){const e=this.f.url.replace(c,String(d+1)),f=new Image;for(let g=0;g<b;g++)this.a.push(new Ts(e,this.j*(d*b+g),this.j,0,0,0,0,this.h,this.o,g%this.h,Math.floor(g/this.h),f))}return Promise.resolve()}};var bt=class{constructor(a,b){this.time=a;this.duration=0;this.offset=b;this.length=0;this.te=new _.Xk}load(){return this.te}},dt=class{constructor(){this.g=new _.O(Ns);this.f=new ArrayBuffer(0);this.a=[];this.h=new _.Xk}init(a,b){if(!b||!b.url)throw new _.G(_.F,7,7100,Ls);const c=b.url;b=_.bh(c);b.type=_.ah;a.getNetworkEngine().fetch(b).P.then(d=>{{var e=d.data;d=_.H(this.f);e=_.H(e);const f=d.byteLength+e.byteLength,g=new ArrayBuffer(f),h=new DataView(g);let k=0;for(let l=0,m=d.byteLength;l<m;l++)h.setUint8(k,
10
- d[l]),k+=1;for(let l=0,m=e.byteLength;l<m;l++)h.setUint8(k,e[l]),k+=1;this.f=g;this.g.info(`Appended ${e.byteLength} bytes.`+`Total data now ${f} bytes.`)}}).then(()=>{{var d=this.f,e=_.H(d),f=String.fromCharCode.apply(null,ct),g=Array.prototype.slice.call(e,0,8);e=64;let k=0;var h=!1;if(f===String.fromCharCode.apply(null,g))for(d=new DataView(d,16,20),d=d.getUint32(0,!0),0===d&&(d=1E3);!h;){k+=1;g=d;f=new DataView(this.f,e);h=f.getUint32(0,!0);g=h*g/1E3;f=f.getUint32(4,!0);f=new bt(g,f);if(g=this.a.length)g=
11
- this.a[g-1],g.length=f.offset-g.offset,g.duration=f.time-g.time;this.a.push(f);e+=8;(h=4294967295===h)&&this.h.resolve();if(1E5<k)throw Error("There was a problem during reading BIF entries");}else throw Error("The file is not a valid BIF format");}}).then(()=>{Rs(this)}).catch(d=>{this.g.error(`[BIF] Error while loading thumbnails '
12
- + 'URL: ${c}`,d);a.onError(new _.G(1,7,2013,"Error while loading and parsing BIF thumbnails.",d))})}get(a){return 0>a?Promise.reject(Ks+a):this.h.then(()=>{for(let b=0;b<this.a.length;b++){const c=this.a[b];if(a>=c.time&&a<c.time+c.duration)return Us(this,c).then(d=>d.load().then(()=>d))}return Promise.reject(Js+a)})}},ct=[137,66,73,70,13,10,26,10];var et=class extends $s{constructor(){super();this.f=null}init(a,b){if(!b||!b.url)throw new _.G(_.F,7,7100,Ls);const c=b.url,d=_.bh(c);d.type=_.ah;this.f=a.getNetworkEngine().fetch(d).P.then(e=>{if(e=e.data){e=_.Ig(e).split(/\n/);for(let m=0;m<e.length;m++){var f=e[m],g=f.split(" --\x3e ");if(2===g.length){f=e[++m];var h=f.indexOf("\x3d");var k=h=0>h?[]:f.substr(h+1).split(/,/).map(parseFloat);h=k[0];const n=k[1],q=k[2];k=k[3];var l=f.indexOf("#");f=0>l?f:f.substr(0,l);f.match(/^http|^\/\//)||(f=
13
- c.substr(0,c.lastIndexOf("/"))+"/"+f);l=Vs(g[0]);g=Vs(g[1])-l;this.a.push(new Ts(f,l,g,h,n,q,k,0,0))}}}}).catch(e=>{this.log.error("[VTT] Error while loading thumbnails "+`URL: ${c}`,e);a.onError(new _.G(1,7,2013,"Error while loading VTT thumbnails.",e))});super.init(a,b)}get(a){return 0>a?Promise.reject(Ks+a):this.f.then(()=>{for(let b=0;b<this.a.length;b++){const c=this.a[b];if(a>=c.time&&a<c.time+c.duration)return c.load().then(()=>c)}return Promise.reject(Js+a)})}m(){return this.f}};var ft=class extends $s{get(a){if(0>a)return this.log.error("Position must be greater than 0 but is "+a),Promise.reject();var b=this.g.getPeriods();b=Ws(b,a);if(!b)return this.log.error("Could not find period for specified position",a),Promise.reject();var c=b.thumbStreams.sort(this.f)[0];if(!c)return this.log.error("Could not find thumb stream for specified position",a),Promise.reject();b=c.findSegmentPosition(a-b.startTime);if(null===b||void 0===b)return this.log.error("Could not find segment index for specified position",
14
- a),Promise.reject();var d=c.getSegmentReference(b);if(d){const e=Xs(d,c);a=Math.floor((a-d.startTime)/e.durationPerTile);let f;if(0<this.a.length)d=c.findSegmentPosition(0),null!==d&&(f=this.a[(b-d)*e.qe+a]);else if((c=d.Ja())&&0<c.length){let g=0,h=0;d=d.startTime;1<e.qe&&(g=a%e.zc,h=Math.floor(a/e.zc),d+=a*e.durationPerTile);f=new Ts(c[0],d,e.durationPerTile,void 0,void 0,void 0,void 0,e.zc,e.be,g,h)}if(f)return f.load().then(()=>f)}this.log.error("segment reference for specified segment index does not exist",
15
- b);return Promise.reject()}f(a,b){return void 0!==a.bandwidth&&void 0!==b.bandwidth?a.bandwidth-b.bandwidth:0}m(){if(0<this.a.length)return Promise.resolve();var a=this.g.getPeriods();for(const b of a)if(a=b.thumbStreams.sort(this.f)[0]){let c=a.findSegmentPosition(0),d;for(;null!==c&&!_.z(d=a.getSegmentReference(c++));){const e=Xs(d,a),f=d.Ja()[0],g=new Image;let h=d.startTime;for(let k=0;k<e.be;++k)for(let l=0;l<e.zc;++l)this.a.push(new Ts(f,h,e.durationPerTile,void 0,void 0,void 0,void 0,e.zc,
16
- e.be,l,k,g)),h+=e.durationPerTile}}return Promise.resolve()}};var gt=class{constructor(){this.f=new _.O(Ns);this.a=this.l=null}onPlayerCreated(a){this.l=a}onPlayerWillDestroy(){this.l=null}onPlayerWillRelease(){this.a=null}onContentWillLoad(a){var b=a.getConfiguration();if(b.thumbnails){var c=b.thumbnails;c&&(void 0===c.enabled||c.enabled)&&((b=c.mode)||(b=Zs(c.url||null)),b&&("SINGLE"===b||"GRID"===b?this.a=new at:"WEBVTT"===b?this.a=new et:"BIF"===b&&(this.a=new dt)),this.a&&(this.f.info("Loading thumbs configuration",c),this.l.one(_.od,()=>{this.f.info("Initialize thumbnails provider");
17
- this.a.init(a,c)})))}else this.a=null}onContentLoaded(a){if(!this.a){var b=a.getConfiguration();b=b&&b.thumbnails;if(!b||void 0===b.enabled||b.enabled){var c=a.getPeriods();Ys(c)&&(this.a=new ft,this.a.init(a,b))}}}get(a){return this.a?this.a.get(a):Promise.reject()}id(){return"thumbnails"}};_.x("clpp.thumbnails.ThumbnailsPlugin",gt);gt.prototype.get=gt.prototype.get;gt.Id="thumbnails";_.Sm(new class{create(){return new gt}});};f.call(g, window);
1
+ import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var Js="No thumbnail duration or URL specified",Ks="No thumbnail found for position ",Ls="Position is out of range: ",Ms="Thumbnail URL is mandatory",Ns="Wrong gridSize format",Os="clpp.thumbnails",Qs=function(a,b){b.reduce((c,d)=>{let e=d,f=!1;typeof d===_.Bd&&(e=d.step,f=d.preloadWhileBuffering);return c.then(()=>Ps(a,0,e,!!f))},Promise.resolve())},Ps=function(a,b,c,d){if(a.w||b>=a.a.length)return Promise.resolve();const e=b+c;return Rs(a,d).then(()=>a.a[b].load()).then(()=>Ps(a,e,
2
+ c,d))},Rs=function(a,b){return new Promise(c=>{if(b||a.g.getState()!==_.Kl)c();else a.g.one(_.jc,()=>{c()})})},Ss=function(a){const b=a.f.byteLength;a.a.forEach(c=>{c.offset+c.length<b&&c.ze.resolve()})},Vs=function(a,b){return Ts(a,b).then(c=>new Us(c,b.time,b.duration))},Ts=function(a,b){return b.load().then(()=>{const c=_.I(a.f,b.offset,b.length);return"data:image/jpeg;base64,"+_.Tg(c)})},Ws=function(a){a=a.split(/\.|:/).map(parseFloat);let b=0,c;const d={3:.001,2:1,1:60,0:3600};for(c=a.length-
3
+ 1;0<=c;c--)b+=a[c]*d[c];return b},Xs=function(a,b){let c=null;for(const d of a)d.startTime<=b&&(c=d);return c},Ys=function(a,b){const c=a.horizontalTiles||b.horizontalTiles||1,d=a.verticalTiles||b.verticalTiles||1,e=c*d;return{Ec:c,fe:d,we:e,durationPerTile:a.durationPerTile||b.durationPerTile||(a.endTime-a.startTime)/e}},Zs=function(a){return a.some(b=>0<b.thumbStreams.length)},$s=function(a){if(!a)return null;a=new _.Kj(a);return a.path.match(/.*\.vtt$/i)?"WEBVTT":a.path.match(/.*\.bif$/i)?"BIF":
4
+ a.path.match(/.*\.(png|jpg|jpeg)$/i)?"SINGLE":null};var at=class{constructor(){this.log=new _.O(Os);this.g=null;this.a=[];this.w=!1}init(a,b){this.g=a;a.one(_.$d,()=>{this.w=!0});a.isLive()||this.m().then(()=>{b&&b.preload&&Qs(this,b.preload)})}};var Us=class{constructor(a,b,c,d=0,e=0,f=0,g=0,h=1,k=1,l=0,m=0,n=new Image){this.time=b;this.src=a;this.duration=c;this.x=d;this.y=e;this.width=f;this.height=g;this.ka=n;this.nf=h;this.eg=k;this.Hf=l;this.If=m;this.ra=null}raw(){return this.ka.cloneNode(!1)}element(a,b){let c=this.width,d=this.height;const e=this.width/this.height;void 0!==a&&void 0===b&&(b=0);null!==a&&void 0!==a&&(c=a);null!==b&&void 0!==b&&(d=b);c||(c=Math.ceil(d*e));d||(d=Math.ceil(c/e));a=document.createElement(_.Qc);a.style.width=
5
+ c+_.Xd;a.style.height=d+_.Xd;a.style.backgroundColor="#000";a.style.backgroundRepeat="no-repeat";a.style.backgroundImage=`url("${this.src}")`;a.style.backgroundSize=`${Math.ceil(c/this.width*(this.ka.naturalWidth||this.ka.width))}px ${Math.ceil(d/this.height*(this.ka.naturalHeight||this.ka.height))}px`;b=this.y/this.height;a.style.backgroundPositionX="-"+this.x/this.width*c+_.Xd;a.style.backgroundPositionY="-"+b*d+_.Xd;return a}load(){this.ra||(this.ra=new Promise((a,b)=>{const c=()=>{this.width||
6
+ (this.width=(this.ka.naturalWidth||this.ka.width)/this.nf);this.height||(this.height=(this.ka.naturalHeight||this.ka.height)/this.eg);this.x||(this.x=this.width*this.Hf);this.y||(this.y=this.height*this.If)};if(this.ka.src&&this.ka.complete)c(),a(this);else{var d=null,e=()=>{c();this.ka.removeEventListener("load",e);this.ka.removeEventListener(_.$c,d);a(this)};d=()=>{this.ka.removeEventListener("load",e);this.ka.removeEventListener(_.$c,d);b()};this.ka.addEventListener("load",e);this.ka.addEventListener(_.$c,
7
+ d);this.ka.src=this.src}}));return this.ra}};_.z("clpp.thumbnails.Thumbnail",Us);Us.prototype.load=Us.prototype.load;Us.prototype.element=Us.prototype.element;Us.prototype.raw=Us.prototype.raw;var bt=class extends at{constructor(){super();this.f=null;this.o=this.h=1;this.j=0}init(a,b){if(!b||!b.url)throw new _.H(_.G,7,7100,Ms);if("GRID"===b.mode&&!b.gridSize)throw new _.H(_.G,7,7100,"Grid size is mandatory for GRID mode");if(!b.duration)throw new _.H(_.G,7,7100,"Duration is mandatory");this.f=b;const c=this.f.duration,d=this.f.url;if(!c||!d)throw this.log.error(Js,c,d),new _.H(_.G,7,7100,Js);this.j=c;if(this.f.gridSize)try{const e=this.f.gridSize.split(/x/).map(f=>parseInt(f,10)).filter(f=>
8
+ 0<f);if(2===e.length)this.h=e[0],this.o=e[1];else throw new _.H(_.G,7,7100,Ns);}catch(e){throw this.log.error("Error during parsing gridSize",e),new _.H(_.G,7,7100,Ns);}super.init(a,b)}get(a){const b=this.g.getDuration();if(void 0===this.f.duration)return Promise.reject("Duration configuration not defined");const c=Math.floor(a/this.f.duration);if(0>a||a>b)return Promise.reject(Ls+a);const d=this.a[c];return d?d.load().then(()=>d):Promise.reject(Ks+a+" at index "+c)}m(){if(0<this.a.length)return Promise.resolve();
9
+ var a=this.g.getDuration();const b=this.h*this.o;a=Math.ceil(Math.ceil(a/this.j)/b);const c=this.f.templateKey||"$index$";for(let d=0;d<a;d++){const e=this.f.url.replace(c,String(d+1)),f=new Image;for(let g=0;g<b;g++)this.a.push(new Us(e,this.j*(d*b+g),this.j,0,0,0,0,this.h,this.o,g%this.h,Math.floor(g/this.h),f))}return Promise.resolve()}};var ct=class{constructor(a,b){this.time=a;this.duration=0;this.offset=b;this.length=0;this.ze=new _.Xk}load(){return this.ze}},et=class{constructor(){this.g=new _.O(Os);this.f=new ArrayBuffer(0);this.a=[];this.h=new _.Xk}init(a,b){if(!b||!b.url)throw new _.H(_.G,7,7100,Ms);const c=b.url;b=_.kh(c);b.type=_.jh;a.getNetworkEngine().fetch(b).P.then(d=>{{var e=d.data;d=_.I(this.f);e=_.I(e);const f=d.byteLength+e.byteLength,g=new ArrayBuffer(f),h=new DataView(g);let k=0;for(let l=0,m=d.byteLength;l<m;l++)h.setUint8(k,
10
+ d[l]),k+=1;for(let l=0,m=e.byteLength;l<m;l++)h.setUint8(k,e[l]),k+=1;this.f=g;this.g.info(`Appended ${e.byteLength} bytes.`+`Total data now ${f} bytes.`)}}).then(()=>{{var d=this.f,e=_.I(d),f=String.fromCharCode.apply(null,dt),g=Array.prototype.slice.call(e,0,8);e=64;let k=0;var h=!1;if(f===String.fromCharCode.apply(null,g))for(d=new DataView(d,16,20),d=d.getUint32(0,!0),0===d&&(d=1E3);!h;){k+=1;g=d;f=new DataView(this.f,e);h=f.getUint32(0,!0);g=h*g/1E3;f=f.getUint32(4,!0);f=new ct(g,f);if(g=this.a.length)g=
11
+ this.a[g-1],g.length=f.offset-g.offset,g.duration=f.time-g.time;this.a.push(f);e+=8;(h=4294967295===h)&&this.h.resolve();if(1E5<k)throw Error("There was a problem during reading BIF entries");}else throw Error("The file is not a valid BIF format");}}).then(()=>{Ss(this)}).catch(d=>{this.g.error(`[BIF] Error while loading thumbnails '
12
+ + 'URL: ${c}`,d);a.onError(new _.H(1,7,2013,"Error while loading and parsing BIF thumbnails.",d))})}get(a){return 0>a?Promise.reject(Ls+a):this.h.then(()=>{for(let b=0;b<this.a.length;b++){const c=this.a[b];if(a>=c.time&&a<c.time+c.duration)return Vs(this,c).then(d=>d.load().then(()=>d))}return Promise.reject(Ks+a)})}},dt=[137,66,73,70,13,10,26,10];var ft=class extends at{constructor(){super();this.f=null}init(a,b){if(!b||!b.url)throw new _.H(_.G,7,7100,Ms);const c=b.url,d=_.kh(c);d.type=_.jh;this.f=a.getNetworkEngine().fetch(d).P.then(e=>{if(e=e.data){e=_.Fg(e).split(/\n/);for(let m=0;m<e.length;m++){var f=e[m],g=f.split(" --\x3e ");if(2===g.length){f=e[++m];var h=f.indexOf("\x3d");var k=h=0>h?[]:f.substr(h+1).split(/,/).map(parseFloat);h=k[0];const n=k[1],q=k[2];k=k[3];var l=f.indexOf("#");f=0>l?f:f.substr(0,l);f.match(/^http|^\/\//)||(f=
13
+ c.substr(0,c.lastIndexOf("/"))+"/"+f);l=Ws(g[0]);g=Ws(g[1])-l;this.a.push(new Us(f,l,g,h,n,q,k,0,0))}}}}).catch(e=>{this.log.error("[VTT] Error while loading thumbnails "+`URL: ${c}`,e);a.onError(new _.H(1,7,2013,"Error while loading VTT thumbnails.",e))});super.init(a,b)}get(a){return 0>a?Promise.reject(Ls+a):this.f.then(()=>{for(let b=0;b<this.a.length;b++){const c=this.a[b];if(a>=c.time&&a<c.time+c.duration)return c.load().then(()=>c)}return Promise.reject(Ks+a)})}m(){return this.f}};var gt=class extends at{get(a){if(0>a)return this.log.error("Position must be greater than 0 but is "+a),Promise.reject();var b=this.g.getPeriods();b=Xs(b,a);if(!b)return this.log.error("Could not find period for specified position",a),Promise.reject();var c=b.thumbStreams.sort(this.f)[0];if(!c)return this.log.error("Could not find thumb stream for specified position",a),Promise.reject();b=c.findSegmentPosition(a-b.startTime);if(null===b||void 0===b)return this.log.error("Could not find segment index for specified position",
14
+ a),Promise.reject();var d=c.getSegmentReference(b);if(d){const e=Ys(d,c);a=Math.floor((a-d.startTime)/e.durationPerTile);let f;if(0<this.a.length)d=c.findSegmentPosition(0),null!==d&&(f=this.a[(b-d)*e.we+a]);else if((c=d.Fa())&&0<c.length){let g=0,h=0;d=d.startTime;1<e.we&&(g=a%e.Ec,h=Math.floor(a/e.Ec),d+=a*e.durationPerTile);f=new Us(c[0],d,e.durationPerTile,void 0,void 0,void 0,void 0,e.Ec,e.fe,g,h)}if(f)return f.load().then(()=>f)}this.log.error("segment reference for specified segment index does not exist",
15
+ b);return Promise.reject()}f(a,b){return void 0!==a.bandwidth&&void 0!==b.bandwidth?a.bandwidth-b.bandwidth:0}m(){if(0<this.a.length)return Promise.resolve();var a=this.g.getPeriods();for(const b of a)if(a=b.thumbStreams.sort(this.f)[0]){let c=a.findSegmentPosition(0),d;for(;null!==c&&!_.B(d=a.getSegmentReference(c++));){const e=Ys(d,a),f=d.Fa()[0],g=new Image;let h=d.startTime;for(let k=0;k<e.fe;++k)for(let l=0;l<e.Ec;++l)this.a.push(new Us(f,h,e.durationPerTile,void 0,void 0,void 0,void 0,e.Ec,
16
+ e.fe,l,k,g)),h+=e.durationPerTile}}return Promise.resolve()}};var ht=class{constructor(){this.f=new _.O(Os);this.a=this.l=null}onPlayerCreated(a){this.l=a}onPlayerWillDestroy(){this.l=null}onPlayerWillRelease(){this.a=null}onContentWillLoad(a){var b=a.getConfiguration();if(b.thumbnails){var c=b.thumbnails;c&&(void 0===c.enabled||c.enabled)&&((b=c.mode)||(b=$s(c.url||null)),b&&("SINGLE"===b||"GRID"===b?this.a=new bt:"WEBVTT"===b?this.a=new ft:"BIF"===b&&(this.a=new et)),this.a&&(this.f.info("Loading thumbs configuration",c),this.l.one(_.od,()=>{this.f.info("Initialize thumbnails provider");
17
+ this.a.init(a,c)})))}else this.a=null}onContentLoaded(a){if(!this.a){var b=a.getConfiguration();b=b&&b.thumbnails;if(!b||void 0===b.enabled||b.enabled){var c=a.getPeriods();Zs(c)&&(this.a=new gt,this.a.init(a,b))}}}get(a){return this.a?this.a.get(a):Promise.reject()}id(){return"thumbnails"}};_.z("clpp.thumbnails.ThumbnailsPlugin",ht);ht.prototype.get=ht.prototype.get;ht.Id="thumbnails";_.Sm(new class{create(){return new ht}});};f.call(g, window);