@castlabs/prestoplay 6.25.2-beta.7 → 6.25.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/cjs/cl.adobe.js +3 -3
- package/cjs/cl.airplay.js +3 -3
- package/cjs/cl.broadpeak.js +7 -7
- package/cjs/cl.cast.js +105 -105
- package/cjs/cl.conviva.js +31 -31
- package/cjs/cl.core.js +329 -329
- package/cjs/cl.crypto.js +9 -9
- package/cjs/cl.dash.js +88 -88
- package/cjs/cl.externs.js +31 -31
- package/cjs/cl.freewheel.js +24 -24
- package/cjs/cl.hls.js +77 -77
- package/cjs/cl.hlssmpte.js +6 -6
- package/cjs/cl.htmlcue.js +30 -30
- package/cjs/cl.ima.js +24 -24
- package/cjs/cl.mediatailor.js +3 -3
- package/cjs/cl.mse.js +291 -289
- package/cjs/cl.muxdata.js +9 -9
- package/cjs/cl.persistent.js +10 -10
- package/cjs/cl.playlist.js +4 -4
- package/cjs/cl.sessions.js +8 -8
- package/cjs/cl.simid.js +4 -4
- package/cjs/cl.smooth.js +72 -72
- package/cjs/cl.thumbnails.js +11 -11
- package/cjs/cl.tizen.js +69 -69
- package/cjs/cl.ttml.js +3 -3
- package/cjs/cl.verimatrix.js +2 -2
- package/cjs/cl.vimond.js +8 -8
- package/cjs/cl.vr.js +7 -7
- package/cjs/cl.vtt.js +2 -2
- package/cjs/cl.yospace.js +2 -2
- package/cjs/cl.youbora.js +17 -17
- package/cl.adobe.js +3 -3
- package/cl.airplay.js +3 -3
- package/cl.broadpeak.js +5 -5
- package/cl.cast.js +84 -84
- package/cl.conviva.js +26 -26
- package/cl.core.js +178 -178
- package/cl.crypto.js +8 -8
- package/cl.dash.js +82 -82
- package/cl.externs.js +31 -31
- package/cl.freewheel.js +19 -19
- package/cl.hls.js +80 -80
- package/cl.hlssmpte.js +5 -5
- package/cl.htmlcue.js +26 -26
- package/cl.ima.js +17 -18
- package/cl.mediatailor.js +3 -3
- package/cl.mse.js +243 -243
- package/cl.muxdata.js +6 -6
- package/cl.persistent.js +2 -2
- package/cl.playlist.js +4 -4
- package/cl.sessions.js +2 -2
- package/cl.simid.js +1 -1
- package/cl.smooth.js +60 -60
- package/cl.thumbnails.js +9 -9
- package/cl.tizen.js +54 -54
- package/cl.ttml.js +2 -2
- package/cl.verimatrix.js +1 -1
- package/cl.vimond.js +3 -3
- package/cl.vr.js +2 -2
- package/cl.vtt.js +2 -2
- package/cl.yospace.js +2 -2
- package/cl.youbora.js +12 -12
- package/package.json +1 -1
- package/typings.d.ts +9 -0
package/cl.muxdata.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var eB=function(a){switch(a.type){case 1:return bB;case 2:return cB;case 3:return dB}},gB=function(a){const b=Object.keys(a).find(c=>fB.includes(c.toLowerCase()));return void 0!==b?a[b]:void 0},iB=function(a){let b={debug:!0,data:hB(a)};a.f&&a.f.muxOptionsOverride&&_.$g(a.f.muxOptionsOverride)&&(b=_.Wg(b,a.f.muxOptionsOverride));b=_.Wg(b,{getPlayheadTime:()=>1E3*a.m.getPosition(),getStateData:()=>{{a.g.debug("getStateData()");var c=a.m.getLoadedSource(),d=a.m.getTrackManager();const f=
|
|
2
2
|
a.m.getSurface();var e={player_is_paused:a.m.isPaused(),player_is_fullscreen:f.isFullscreen(),video_source_duration:1E3*a.m.getDuration(),player_autoplay_on:!!a.m.getConfiguration().autoplay};if(c){const k=new _.mm(c.url);e.video_source_url=_.Kj(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.m.getSurface().getMedia())?c={videoWidth:c.videoWidth,videoHeight:c.videoHeight}:(c=a.m.getTrackManager().na(),
|
|
3
|
-
c={videoWidth:c.width,videoHeight:c.height});const {videoWidth:g,videoHeight:h}=c;a.g.debug(`Video dimensions: ${g}x${h}`);g&&h&&(e.video_source_height=g,e.video_source_width=h);(d=d.qa())&&d.language&&(e.player_language_code=d.language)}return e}});a.g.debug("Mux SDK options",b);return b},jB=function(a){_.Dh(a.a);a.j.
|
|
4
|
-
player_mux_plugin_version:_.ea};(a=a.m.getConfiguration().viewerId)&&(b.viewer_user_id=a);return b},kB=function(a){a.a.on(a.m,_.Zf,()=>{const b={player_playhead_time:1E3*a.m.getPosition()};a.emit(_.Zf,b)});a.a.on(a.m,_.Re,()=>a.emit(_.Re));a.a.on(a.m,_.Kc,a.G.bind(a));a.a.on(a.m,_.Kf,a.I.bind(a));a.a.on(a.m,_.jg,()=>a.emit(_.Cf));a.a.on(a.m,_.ig,()=>a.emit(_.Bf));a.a.on(a.m,_.q,a.H.bind(a));a.a.on(a.m,_.Rb,()=>a.emit("adbreakstart"));a.a.on(a.m,_.Sb,()=>a.emit("adbreakend"));a.a.on(a.m,_.
|
|
5
|
-
a.emit("adplaying")});a.a.on(a.m,_.cc,()=>a.emit("adpause"));a.a.on(a.m,_.ec,()=>{a.emit("adplay");a.emit("adplaying")});a.a.on(a.m,_.lc,()=>a.emit("adended"));a.a.on(a.m,_.Wb,()=>a.emit("adfirstquartile"));a.a.on(a.m,_.bc,()=>a.emit("admidpoint"));a.a.on(a.m,_.mc,()=>a.emit("adthirdquartile"));a.j.
|
|
3
|
+
c={videoWidth:c.width,videoHeight:c.height});const {videoWidth:g,videoHeight:h}=c;a.g.debug(`Video dimensions: ${g}x${h}`);g&&h&&(e.video_source_height=g,e.video_source_width=h);(d=d.qa())&&d.language&&(e.player_language_code=d.language)}return e}});a.g.debug("Mux SDK options",b);return b},jB=function(a){_.Dh(a.a);a.j.xd(a.F);a.j.me(a.C)},hB=function(a){const b={env_key:a.f.envKey,video_title:a.o&&a.o.name||"",player_name:_.qa,player_software_name:_.qa,player_software_version:_.ea,player_mux_plugin_name:"CastlabsPlayer built-in Mux Plugin",
|
|
4
|
+
player_mux_plugin_version:_.ea};(a=a.m.getConfiguration().viewerId)&&(b.viewer_user_id=a);return b},kB=function(a){a.a.on(a.m,_.Zf,()=>{const b={player_playhead_time:1E3*a.m.getPosition()};a.emit(_.Zf,b)});a.a.on(a.m,_.Re,()=>a.emit(_.Re));a.a.on(a.m,_.Kc,a.G.bind(a));a.a.on(a.m,_.Kf,a.I.bind(a));a.a.on(a.m,_.jg,()=>a.emit(_.Cf));a.a.on(a.m,_.ig,()=>a.emit(_.Bf));a.a.on(a.m,_.q,a.H.bind(a));a.a.on(a.m,_.Rb,()=>a.emit("adbreakstart"));a.a.on(a.m,_.Sb,()=>a.emit("adbreakend"));a.a.on(a.m,_.jc,()=>{a.emit("adplay");
|
|
5
|
+
a.emit("adplaying")});a.a.on(a.m,_.cc,()=>a.emit("adpause"));a.a.on(a.m,_.ec,()=>{a.emit("adplay");a.emit("adplaying")});a.a.on(a.m,_.lc,()=>a.emit("adended"));a.a.on(a.m,_.Wb,()=>a.emit("adfirstquartile"));a.a.on(a.m,_.bc,()=>a.emit("admidpoint"));a.a.on(a.m,_.mc,()=>a.emit("adthirdquartile"));a.j.Gc(a.F);a.j.Jd(a.C);a.a.on(a.m,_.q,b=>{if((b=b.detail)&&1===b.category){var c=b.data;c=c&&c.request;if(void 0!==c&&!0===(1===c.type||2===c.type||3===c.type))if(7001===b.code){b=c;c=b.requestStartTimestamp;
|
|
6
6
|
var d=new _.mm(b.uris[b.uriIndex]);b={request_start:c,request_type:eB(b),request_hostname:d.a};a.g.debug("onRequestCanceled()","Track event: requestcanceled",b);a.emit("requestcanceled",b)}else{{d=c.requestStartTimestamp;const f=new _.mm(c.uris[c.uriIndex]);var e=b.data;e=void 0===e?-1:void 0!==e.response?e.response.status:void 0!==e.status?e.status:-1;b={request_start:d,request_type:eB(c),request_hostname:f.a,request_error:`${eB(c)}${"LoadError"}`,request_error_code:e,request_error_text:b.toString()};
|
|
7
|
-
a.g.debug("onRequestFailed()","Track event: requestfailed",b);a.emit("requestfailed",b)}}}})},lB=function(a,b){a.trigger(new _.F(_.q,{detail:b}))},mB=function(a){return!_.B(a)&&typeof a.init===_.Yd&&typeof a.emit===_.Yd},bB="manifest",cB="media",dB="encryption",fB=["x-request-id","cf-ray","x-amz-cf-id","x-akamai-request-id"];var nB=class{constructor(a,b){this.m=a;this.o=this.f=null;this.B=("000000"+(Math.random()*Math.pow(36,6)<<0).toString(36)).slice(-6);this.a=new _.Nt;this.g=b;this.A=this.l=this.h=!1;this.w=null;this.j=a.getNetworkEngine();this.F=this.
|
|
7
|
+
a.g.debug("onRequestFailed()","Track event: requestfailed",b);a.emit("requestfailed",b)}}}})},lB=function(a,b){a.trigger(new _.F(_.q,{detail:b}))},mB=function(a){return!_.B(a)&&typeof a.init===_.Yd&&typeof a.emit===_.Yd},bB="manifest",cB="media",dB="encryption",fB=["x-request-id","cf-ray","x-amz-cf-id","x-akamai-request-id"];var nB=class{constructor(a,b){this.m=a;this.o=this.f=null;this.B=("000000"+(Math.random()*Math.pow(36,6)<<0).toString(36)).slice(-6);this.a=new _.Nt;this.g=b;this.A=this.l=this.h=!1;this.w=null;this.j=a.getNetworkEngine();this.F=this.K.bind(this);this.C=this.J.bind(this)}initialize(a,b,c){this.f=a;this.o=b;this.w=c;if(!this.h){try{this.h=!0,this.w.init(this.B,iB(this))}catch(d){throw this.h=!1,jB(this),new _.I(1,9,9302,null,d);}this.emit("playerready")}this.l&&!this.A&&(a=hB(this),this.emit("videochange",
|
|
8
8
|
a),this.l=!1);kB(this)}release(){this.g.debug("release()");this.l?this.g.debug(_.ia):(jB(this),this.l=!0,this.o=this.f=null)}destroy(){this.g.debug(_.Ad);this.A?this.g.debug(_.ha):(this.A=!0,this.emit("destroy"))}emit(a,b){if(null===this.w)throw new _.I(1,9,9301);this.w.emit(this.B,a,b)}G(a){this.g.debug(_.De);var b=a.detail;a=this.m.getTrackManager();b&&b.bandwidth&&(b=b.bandwidth,(a=a.Ma())&&a.bandwidth&&(b+=a.bandwidth),this.emit("renditionchange",{video_source_bitrate:b}))}I(a){this.g.debug(_.Ie);
|
|
9
9
|
switch(a.detail.currentState){case _.Uo:this.m.getConfiguration().autoplay&&this.emit(_.Re);break;case _.Wo:this.emit(_.bf);break;case _.Vo:this.emit(_.Ne);break;case _.Lo:this.emit(_.Sd)}}H(a){this.g.debug(_.Fe);if(this.h&&(a=a.detail||null))if(10003===a.code)this.emit("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":6007===a.code&&(b="License request error"),b=`${b} castlabs-error-data:${JSON.stringify(a.data)}`;
|
|
10
|
-
this.emit(_.q,{player_error_code:a.code,player_error_message:b})}}
|
|
11
|
-
request_response_end:a,request_response_headers:e,request_media_duration:c,request_url:_.Kj(d)};this.g.debug("onRequestCompleted()","Track event: requestcompleted",a);this.emit("requestcompleted",a)}}}
|
|
10
|
+
this.emit(_.q,{player_error_code:a.code,player_error_message:b})}}K(a){var b=a.request;if(b=void 0!==b&&!0===(1===b.type||2===b.type||3===b.type))b=a.status,b=void 0!==b&&200<=b&&299>=b;if(b){{b=a.request;const e=a.headers,f=b.bytesLoaded,g=b.requestStartTimestamp;var c=b.startTime,d=b.endTime;const h=g+a.responseStartMs;a=g+a.timeMs;c=c&&d?d-c:void 0;d=new _.mm(b.uris[b.uriIndex]);a={request_start:g,request_type:eB(b),request_hostname:d.a,request_id:gB(e),request_bytes_loaded:f,request_response_start:h,
|
|
11
|
+
request_response_end:a,request_response_headers:e,request_media_duration:c,request_url:_.Kj(d)};this.g.debug("onRequestCompleted()","Track event: requestcompleted",a);this.emit("requestcompleted",a)}}}J(a){a.requestStartTimestamp=Date.now()}};var oB=class extends _.Pv{constructor(){super();this.f=this.m=null;this.a=!1;this.g=new _.S("clpp.muxdata")}onPlayerCreated(a){this.m=a;this.f=new nB(a,this.g)}onContentWillLoad(a,b){var c=a.getConfiguration();c=_.Xg(c.muxdata);try{var d=[];typeof c===_.Ce&&(c.envKey||d.push("envKey"));if(0<d.length)throw new _.I(1,9,9300,{missingKeys:d});{const f=a.getConfiguration();d=null;if(this.a=!_.B(f.muxdata)&&typeof f.muxdata===_.Ce){const g=f.muxdata;d=mB(g.muxLib)?g.muxLib:window.mux;if(!mB(d)){this.g.warn("Mux SDK is not loaded. Will do nothing.");
|
|
12
12
|
this.a=!1;const h=new _.I(1,9,9301);lB(a,h)}}else this.g.debug("Mux plugin is loaded but not configured. Will do nothing.");var e=d}null!==e&&this.f.initialize(c,b,e)}catch(f){this.a=!1,lB(a,f)}}onContentLoaded(){}onPlayerWillDestroy(){this.a&&(this.f.destroy(),this.m=this.f=null)}onPlayerWillRelease(){this.a&&this.f.release()}id(){return"mux"}emit(a,b){try{this.f.emit(a,b)}catch(c){throw null!==this.m&&lB(this.m,c),c;}}};_.z("clpp.muxdata.MuxDataPlugin",oB);oB.prototype.emit=oB.prototype.emit;
|
|
13
13
|
oB.Id="mux";_.Ir(new class{create(){return new oB}});};f.call(g, window);
|
package/cl.persistent.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var LA="A persistent DRM session already exists for: ",MA="No DRM configuration.",NA="clpp.persistent",OA="clpp.persistent.SimpleSessionStorage",PA=function(a,b){const c=[];for(const d of a)c.push(b(d));return c},RA=function(a,b,c,d,e,f){a.K=QA;const g=new Map,h=_.An(b);g.set(h,{audioCapabilities:e,videoCapabilities:f,distinctiveIdentifier:_.Ke,persistentState:_.uf,sessionTypes:[_.Pe],label:h,drmInfos:[{keySystem:b,licenseServerUri:c,distinctiveIdentifierRequired:!1,persistentStateRequired:!0,
|
|
2
|
-
audioRobustness:"",videoRobustness:"",serverCertificate:d,initData:null,keyIds:null}]});return _.Sn(a,g)},TA=function(a,b){a.K=SA;a.L=[];a.G=!0;return _.Tn(a,b)},UA=function(a,b){return _.x(function*(){const c=yield _.ko(a,b);if(c){var d=[],e=a.h.get(c);e&&a.C&&(e.
|
|
3
|
-
WA=function(a,b){const c=_.Tl(a),d=_.tl({drm:a});d.drm=a;a=new _.cp({
|
|
2
|
+
audioRobustness:"",videoRobustness:"",serverCertificate:d,initData:null,keyIds:null}]});return _.Sn(a,g)},TA=function(a,b){a.K=SA;a.L=[];a.G=!0;return _.Tn(a,b)},UA=function(a,b){return _.x(function*(){const c=yield _.ko(a,b);if(c){var d=[],e=a.h.get(c);e&&a.C&&(e.ic=new _.bn,d.push(e.ic));a.g.debug("Attempting to remove session",b);d.push(c.remove());return Promise.all(d)}a.g.debug("Ignoring attempt to remove missing session",b)})},VA=function(a){a=a.h.keys();a=PA(a,b=>b.sessionId);return Array.from(a)},
|
|
3
|
+
WA=function(a,b){const c=_.Tl(a),d=_.tl({drm:a});d.drm=a;a=new _.cp({vb:b,onError:()=>{},Se:()=>{},Re:()=>{},onEvent:()=>{},getConfiguration:()=>d,Qc:()=>null});a.f=c;return a},ZA=function(a,b,c){return _.x(function*(){const d=XA;if(a){var e=a.offlineId;if(0!==e.length){var f=yield d.get(e);if(f)YA.debug(LA,e);else{var g=WA(a,c);try{yield TA(g,b);yield _.io(g);yield _.lo(g);const h=g.getDrmInfo(),k=b.map(l=>({contentType:_.mk(l.video.mimeType,l.video.codecs),robustness:h.videoRobustness}));f={sessionIds:VA(g),
|
|
4
4
|
keySystem:h.keySystem,licenseServerUri:h.licenseServerUri,serverCertificate:h.serverCertificate,audioCapabilities:[],videoCapabilities:k,drmConfig:a};yield d.store(e,f)}catch(h){throw YA.error(`Error while persisting DRM session ${e}`),new _.I(1,6,6200,null,h);}finally{yield g.destroy()}}}}else YA.debug(MA)})},SA=1,QA=2,$A=class{constructor(){this.g=new _.S(OA)}store(a,b){return _.x(function*(){{var c=JSON.stringify(b.sessionIds);var d=b.serverCertificate?Array.from(b.serverCertificate):null;d=JSON.stringify(d);
|
|
5
5
|
const e=JSON.stringify(b.audioCapabilities),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){const b=this;return _.x(function*(){const c=window.localStorage.getItem(encodeURIComponent(a));if(c)try{{const e=JSON.parse(atob(c)),f=JSON.parse(e.sessionIds),
|
|
6
6
|
g=e.audioCapabilities||[],h=e.videoCapabilities||[],k=e.serverCertificate||[],l=e.drmConfig||{};var d={sessionIds:f,keySystem:e.keySystem,licenseServerUri:decodeURIComponent(e.licenseServerUri||""),serverCertificate:k?new Uint8Array(k):null,audioCapabilities:g,videoCapabilities:h,drmConfig:l}}return d}catch(e){b.g.warn(`Error while loading offline items for ${a} from storage: `,e)}return null})}delete(a){return _.x(function*(){window.localStorage.removeItem(encodeURIComponent(a))})}clear(){return _.x(function*(){window.localStorage.clear()})}getName(){return OA}};_.z("clpp.persistent.useStorage",function(a){{var b=["store","get","delete","clear","getName"];const c=[];_.B(a)||(_.ah(a.store)||c.push("store"),_.ah(a.get)||c.push("get"),_.ah(a.delete)||c.push("delete"),_.ah(a.clear)||c.push("clear"),_.ah(a.getName)||c.push("getName"),b=c)}if(0<b.length)throw YA.warn("Invalid session storage implementation"),new _.I(1,6,6202,{missingMethods:b});XA=a});
|
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 IA=function(a,b){return 0<=b&&b<a.a.length},JA=function(a){a.trigger(new _.F(_.df))},KA=class extends _.su{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.m=a;this.l=b;this.f=0;this.a=[];this.h=!1;this.j=this.Aa.bind(this)}getPosition(){return this.f}
|
|
2
|
-
this.a.length&&IA(this,a)?this.a[a]:null}
|
|
3
|
-
c.trigger(new _.F(_.cf,{item:d})))}})}append(a){this.a.push(a);JA(this)}
|
|
4
|
-
KA.prototype.append=KA.prototype.append;KA.prototype.goTo=KA.prototype.
|
|
1
|
+
import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var IA=function(a,b){return 0<=b&&b<a.a.length},JA=function(a){a.trigger(new _.F(_.df))},KA=class extends _.su{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.m=a;this.l=b;this.f=0;this.a=[];this.h=!1;this.j=this.Aa.bind(this)}getPosition(){return this.f}Eh(){return this.a}hd(){return 0<this.a.length&&IA(this,this.f)?this.a[this.f]:null}Fh(){const a=this.f+1;return 0<
|
|
2
|
+
this.a.length&&IA(this,a)?this.a[a]:null}Rh(){return this.h}start(){this.h||(this.h=!0,this.m.on(_.Sd,this.j),this.Td(this.f,!0))}stop(){this.h=!1;this.m.off(_.Sd,this.j)}Aa(){this.next()}next(){const a=this;return _.x(function*(){yield a.Td(Math.min(a.a.length-1,a.f+1))})}ji(){const a=this;return _.x(function*(){yield a.Td(Math.max(0,a.f-1))})}Td(a,b){b=void 0===b?!1:b;const c=this;return _.x(function*(){if(0<c.a.length&&IA(c,a)&&(b||c.f!==a)){c.f=a;var d=c.hd();d&&(yield c.l(d),yield c.m.load(d.configuration),
|
|
3
|
+
c.trigger(new _.F(_.cf,{item:d})))}})}append(a){this.a.push(a);JA(this)}Ph(a,b){if(0<=b&&b<=this.a.length){const c=this.hd();this.a.splice(b,0,a);c&&(this.f=this.a.indexOf(c));JA(this)}}remove(a){if(0<this.a.length&&IA(this,a)){if(this.f===a)throw Error("Can't remove the current item");this.a.splice(a,1);JA(this)}}clear(){this.stop();this.f=0;this.a=[];this.h=!1;JA(this)}};_.z("clpp.Playlist",KA);KA.prototype.clear=KA.prototype.clear;KA.prototype.remove=KA.prototype.remove;KA.prototype.insert=KA.prototype.Ph;
|
|
4
|
+
KA.prototype.append=KA.prototype.append;KA.prototype.goTo=KA.prototype.Td;KA.prototype.previous=KA.prototype.ji;KA.prototype.next=KA.prototype.next;KA.prototype.onEnded=KA.prototype.Aa;KA.prototype.stop=KA.prototype.stop;KA.prototype.start=KA.prototype.start;KA.prototype.isStarted=KA.prototype.Rh;KA.prototype.getUpcoming=KA.prototype.Fh;KA.prototype.getCurrent=KA.prototype.hd;KA.prototype.getQueue=KA.prototype.Eh;KA.prototype.getPosition=KA.prototype.getPosition;KA.prototype.off=KA.prototype.off;
|
|
5
5
|
KA.prototype.one=KA.prototype.one;KA.prototype.on=KA.prototype.on;};f.call(g, window);
|
package/cl.sessions.js
CHANGED
|
@@ -4,7 +4,7 @@ b<<3|0),d(a,c)},Iz=function(a,b){if(0<=b)Gz(a,b);else{for(let c=0;9>c;c++)a.a.pu
|
|
|
4
4
|
128),d.a.push(g&63|128),f++)}else d.a.push(g>>12|224),d.a.push(g>>6&63|128),d.a.push(g&63|128)}})},Jz=function(a,b){a.a.push.apply(a.a,b)},Qz=function(a,b,c){Oz(a,b,c,(d,e)=>{Jz(d,e.a())})},Rz=function(a,b,c){Oz(a,b,c,(d,e)=>{Jz(d,e)})},Mz=function(a,b,c){for(;0<c||127<b;)a.a.push(b&127|128),b=(b>>>7|c<<25)>>>0,c>>>=7;a.a.push(b)},Tz=function(a){const b=new Sz;b.h=Math.floor(a/1E3);b.f=a%1E3*1E6;return b},Xz=function(a){return _.x(function*(){if(!a.j&&!a.f){0===a.a.length&&Uz(a,new Vz);var b=()=>
|
|
5
5
|
{};a.f=new Promise(c=>{b=c});try{const c=new Wz;c.f=a.o;c.events.push(...a.a);const d=[...a.a],e=yield fetch(a.l,{method:_.cb,headers:{"Content-Type":"application/proto"},body:new Uint8Array(c.a())});if(e.ok)a.a=a.a.filter(f=>!d.includes(f));else throw Error("An error occurred while sending telemetry events to the API, "+`status='${e.status}' statusText='${e.statusText}'`);}finally{b(),a.f=null}}})},$z=function(a,b,c,d,e,f,g){const h=new Yz;h.headers=[new Zz("CL-BROWSER-NAME",b),new Zz("CL-BROWSER-VERSION",
|
|
6
6
|
c),new Zz("CL-OS-FAMILY",d),new Zz("CL-OS-VERSION",e),new Zz("CL-SDK-NAME",f),new Zz("CL-SDK-NAME",f),new Zz("CL-SDK-VERSION",g)];Uz(a,h)},Uz=function(a,b){if(!a.j){var c=new aA(a.w);c.sessionId=a.A;{var d=Date.now();const e=new bA;e.h=Math.floor(d/1E3);e.f=d%1E3*1E6;d=e}c.time=d;c.h=b.getId();c.f=new Uint8Array(b.a());a.a.push(c)}},cA=function(a){return _.x(function*(){a.h&&(clearInterval(a.h),a.h=null);a.f&&(yield a.f);0<a.a.length&&(yield Xz(a),a.a=[]);a.j=!0})},dA=function(a){_.x(function*(){a.g.info("Destroy the session and stop sending events.");
|
|
7
|
-
_.Dh(a.a);a.Z=!1;const b=a.m.getNetworkEngine();b.
|
|
8
|
-
a=_.Tk(),this.f=new CA(new Uint8Array([]),a.browser,a.browserVersion.name,a.os,a.osVersion.name,"prestoplay-web",_.ea,b.apiUrl),this.a.on(this.m,_.Kf,this.B.bind(this)),this.a.on(this.m,_.Cf,this.A.bind(this)),this.a.on(this.m,_.Bf,this.w.bind(this)),this.a.on(this.m,_.q,this.o.bind(this)),a=this.m.getNetworkEngine(),a.
|
|
7
|
+
_.Dh(a.a);a.Z=!1;const b=a.m.getNetworkEngine();b.me(a.l);b.xd(a.h);Ez(b,a.h);a.f&&(yield cA(a.f),a.f=null)})},lA=function(a){switch(a){case _.To:return eA;case _.Uo:return fA;case _.Po:return gA;case _.Wo:return hA;case _.Vo:return iA;case _.Lo:return jA;case _.Mo:return kA;default:return null}},mA=function(a,b){a.g.debug("Sending event",b);Uz(a.f,b)},uA=function(a,b){switch(a){case 1:return nA;case 2:return b===_.w?oA:b===_.p?pA:b===_.H?qA:b===_.be?rA:sA;case 3:return tA;default:return sA}};var Hz=class{constructor(){this.a=[]}length(){return this.a.length}end(){const a=this.a;this.a=[];return a}};var vA=class{constructor(a,b,c,d){this.downloadId=a;this.h=b;this.duration=c;this.j=d;this.f=[]}a(){const a=new Hz;Qz(a,1,this.downloadId);Lz(a,2,this.h);Qz(a,3,this.duration);Lz(a,4,this.j);Qz(a,5,this.f);return a.end()}getId(){return 4}};var wA=class{constructor(a,b){this.f=a;this.url=b;this.downloadId=null;this.headers=[];this.size=this.duration=null}a(){const a=new Hz;Lz(a,1,this.f);Qz(a,2,this.downloadId);Pz(a,3,this.url);Qz(a,4,this.headers);Pz(a,5,null);Qz(a,6,null);Qz(a,7,this.duration);Nz(a,8,this.size);return a.end()}getId(){return 2}};var xA=class{constructor(a,b){this.h=a;this.f=b}a(){const a=new Hz;Lz(a,1,this.h);Rz(a,2,this.f);return a.end()}};var yA=class{constructor(a){this.cause=a;this.f=this.message=this.severity=this.errorCode=null}a(){const a=new Hz;Lz(a,1,this.errorCode);Lz(a,2,this.severity);Pz(a,3,this.message);Pz(a,4,this.f);Qz(a,5,this.cause);return a.end()}getId(){return 7}};var Zz=class{constructor(a,b){this.key=a;this.value=b}a(){const a=new Hz;Pz(a,1,this.key);Pz(a,2,this.value);return a.end()}};var zA=class{constructor(){this.cause=this.severity=this.code=null}a(){const a=new Hz;Lz(a,1,this.code);Lz(a,2,this.severity);Qz(a,3,this.cause);return a.end()}getId(){return 12}};var AA=class{constructor(){this.data=null}a(){const a=new Hz;Rz(a,1,this.data);return a.end()}};var BA=class extends AA{constructor(){super();var a=new Uint8Array(16);crypto.getRandomValues(a);a[6]=a[6]&15|64;a[8]=a[8]&63|128;this.data=a}toString(){const a=[];for(let b=0;256>b;++b)a.push((b+256).toString(16).slice(1));return a[this.data[0]]+a[this.data[1]]+a[this.data[2]]+a[this.data[3]]+"-"+a[this.data[4]]+a[this.data[5]]+"-"+a[this.data[6]]+a[this.data[7]]+"-"+a[this.data[8]]+a[this.data[9]]+"-"+a[this.data[10]]+a[this.data[11]]+a[this.data[12]]+a[this.data[13]]+a[this.data[14]]+a[this.data[15]]}};var Yz=class{constructor(){this.headers=[]}a(){const a=new Hz;Qz(a,1,this.headers);return a.end()}getId(){return 1}};var Vz=class{constructor(){}a(){return(new Hz).end()}getId(){return 6}};var aA=class{constructor(a){this.j=a;this.f=this.h=this.time=this.sessionId=null}a(){const a=new Hz;Qz(a,1,this.j);Qz(a,2,this.sessionId);Qz(a,3,this.time);Nz(a,4,null);Pz(a,5,null);Lz(a,6,this.h);Rz(a,7,this.f);return a.end()}};var Wz=class{constructor(){this.f=null;this.events=[]}a(){const a=new Hz;Rz(a,1,this.f);Qz(a,2,this.events);return a.end()}};var bA=class{constructor(){this.f=this.h=null}a(){const a=new Hz;Nz(a,1,this.h);Lz(a,2,this.f);return a.end()}};var Sz=class{constructor(){this.f=this.h=null}a(){const a=new Hz;Nz(a,1,this.h);Lz(a,2,this.f);return a.end()}};var CA=class{constructor(a,b,c,d,e,f,g,h,k){k=void 0===k?2500:k;this.o=a;this.l=h;this.w=new BA;this.A=new BA;this.a=[];this.h=setInterval(()=>Xz(this),k);this.f=null;this.j=!1;$z(this,b,c,d,e,f,g)}};var DA=class{constructor(){this.reason=this.currentState=this.previousState=null}a(){const a=new Hz;Lz(a,1,this.previousState);Lz(a,2,this.currentState);Lz(a,3,this.reason);Qz(a,4,null);Qz(a,5,null);Qz(a,6,null);return a.end()}getId(){return 5}};var HA=class extends _.Pv{constructor(){super();this.m=null;this.Z=this.j=!1;this.a=new _.Nt;this.f=null;this.g=new _.S("clpp.sessions.SessionsPlugin");this.l=this.F.bind(this);this.h=this.C.bind(this)}onPlayerCreated(a){this.m=a}onContentWillLoad(a){var b=a.getConfiguration().sessions;(b=!(!b||typeof b!==_.Ce))||this.g.debug("Sessions plugin is loaded but not configured. Will do nothing.");if(this.j=b)b=a.getConfiguration().sessions,b.apiUrl?(this.g.debug(_.ra),this.g.info("Create a session and start sending events."),
|
|
8
|
+
a=_.Tk(),this.f=new CA(new Uint8Array([]),a.browser,a.browserVersion.name,a.os,a.osVersion.name,"prestoplay-web",_.ea,b.apiUrl),this.a.on(this.m,_.Kf,this.B.bind(this)),this.a.on(this.m,_.Cf,this.A.bind(this)),this.a.on(this.m,_.Bf,this.w.bind(this)),this.a.on(this.m,_.q,this.o.bind(this)),a=this.m.getNetworkEngine(),a.Jd(this.l),a.Gc(this.h),a.j.push(this.h)):(this.g.warn(Dz),a.onError(new _.I(1,9,15E3,Dz)))}onPlayerWillRelease(){dA(this)}id(){return"sessions"}B(a){if(!this.Z){a=a.detail;var b=a.currentState,
|
|
9
9
|
c=new DA;c.previousState=lA(a.previousState);c.currentState=lA(b);mA(this,c)}}A(){if(!this.Z){var a=new DA;a.previousState=lA(this.m.getState());a.currentState=EA;mA(this,a);this.Z=!0}}w(){if(this.Z){var a=new DA;a.previousState=EA;a.currentState=lA(this.m.getState());mA(this,a);this.Z=!1}}o(a){a=a.detail;var b=new zA;b=new yA(new xA(b.getId(),new Uint8Array(b.a())));b.errorCode=a.code;b.message=a.message;b.f=a.stack;b.severity=a.severity===_.G?FA:GA;mA(this,b)}F(a){const b=new BA;a.downloadId=b;
|
|
10
10
|
const c=new wA(uA(a.type,a.contentType),a.uris[0]);c.downloadId=b;c.headers=Object.keys(a.headers).map(d=>new Zz(d,a.headers[d]));mA(this,c)}C(a){var b=a.request.downloadId;b?(b=new vA(b,a.data.byteLength,Tz(a.timeMs||0),a.status||-1),b.f=Object.keys(a.headers).map(c=>new Zz(c,a.headers[c])),mA(this,b)):this.g.warn("Download ID is missing on download completed event.")}};_.Ir(new class{create(){return new HA}});var GA=1,FA=2;var eA=0,fA=2,kA=3,EA=5,gA=6,hA=8,iA=10,jA=11;var nA=0,oA=1,pA=2,qA=3,rA=4,tA=5,sA=9;};f.call(g, window);
|
package/cl.simid.js
CHANGED
|
@@ -11,4 +11,4 @@ this.h=this.a.src="";this.l=0;this.a.style.opacity="0";window.removeEventListene
|
|
|
11
11
|
this.j(a)}};var Cz=class extends _.Pv{constructor(){super();this.g=new _.S("clpp.simid.Plugin");this.h=this.a=this.m=null;this.l=[];this.j=null;this.w=this.A.bind(this);this.f=null;this.o=!1}id(){return"simid"}onPlayerCreated(a){this.g.info("New player created");this.a&&(this.a.unload(),this.a=null);this.m=a;this.h&&this.h.release();this.h=new Bz(a)}onContentWillLoad(a){var b=a.getConfiguration();if(b.simid&&b.simid.creatives&&0!==b.simid.creatives.length){this.l=b.simid.creatives;this.g.info(`Setting up SIMID plugin for ${this.l.length} creatives`);
|
|
12
12
|
var c=this.m.getSurface();c?(this.g.info("Creating new session"),this.a=new Az(this.h,b.simid),b=c.getContainer(),this.j=wz(this,b,c),this.j.observe(b),a.on(_.Zf,this.w)):this.g.warn(mz)}}A(){var a=this.m.getPosition();a:if(this.f&&a<this.f.startTime+this.f.duration)var b=this.f;else{for(b=0;b<this.l.length;b++){var c=this.l[b];const d=c.startTime+c.duration;if(a>=c.startTime-(c.preload||5)&&a<d){b=c;break a}}b=null}b?b===this.f?(b=b.startTime,this.a&&(c=a>=b,!this.o&&c&&(tz(this.a),this.o=!0,this.g.info(oz)),
|
|
13
13
|
c&&(c=this.a,rz(c,pz(c,nz,{currentTime:a-b}))))):((a=this.m.getSurface())||this.g.warn(mz),a=a.getContainer(),this.f=b,this.o=!1,this.g.info("Loading session"),this.h.f=b,this.a.load(a)):this.f&&(this.a.unload(),this.f=null,this.o=!1)}onPlayerWillRelease(a){super.onPlayerWillRelease(a);this.m.getSurface()&&(this.j&&(this.j.disconnect(),this.j=null),a.off(_.Zf,this.w),this.f&&(this.a.unload(),this.f=this.h.f=null))}},Bz=class{constructor(a){this.m=a;this.a=null;this.g=new _.S("clpp.simid.Loader");
|
|
14
|
-
this.h=!1;this.f=null}release(){this.g.info("Releasing loader")}getContainer(){const a=this.getSurface().getContainer();if(!a)throw this.g.error("No player container found. Can not create SIMID init data"),new _.I(1,10,10100,"No player container found");return a}getSurface(){const a=this.m.getSurface();if(!a)throw this.g.error("No player surface found. Can not create SIMID init data"),new _.I(1,10,10100,"No surface");return a}
|
|
14
|
+
this.h=!1;this.f=null}release(){this.g.info("Releasing loader")}getContainer(){const a=this.getSurface().getContainer();if(!a)throw this.g.error("No player container found. Can not create SIMID init data"),new _.I(1,10,10100,"No player container found");return a}getSurface(){const a=this.m.getSurface();if(!a)throw this.g.error("No player surface found. Can not create SIMID init data"),new _.I(1,10,10100,"No surface");return a}bg(){return this.a}url(){return this.f?this.f.url:""}};_.Ir(new class{create(){return new Cz}});};f.call(g, window);
|
package/cl.smooth.js
CHANGED
|
@@ -1,60 +1,60 @@
|
|
|
1
|
-
import {clpp} from "./cl.core.js";import './cl.mse.js';let g={};const _ = clpp._;var f=function(window){'use strict';var
|
|
2
|
-
b,a.h),a.a+=2}catch(c){_.Wl()}},
|
|
3
|
-
String(d.bitrate)).replace("{start time}",String(c.t)).replace("{start_time}",String(c.t));return _.pC([a],[b])[0]},
|
|
4
|
-
sampleSize:NaN,channelCount:NaN};switch(c.type){case _.w:a.ab=[_.Kl(d[1])];a.
|
|
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
|
|
6
|
-
0;for(let c=0;c<a.a.length;c++)b+=a.a[c].a();return new _.qm(b)},
|
|
7
|
-
|
|
8
|
-
(a=(new
|
|
9
|
-
|
|
10
|
-
0<l-k.reader.getPosition()&&k.flags&32&&(m.l=_.P(k.reader));d=m}}).ea("trun",k=>{{var l=k.reader.Na();if(null===k.flags)throw new _.I(_.G,3,3019,
|
|
11
|
-
2048&&(0===k.version?m.h.push(_.P(k.reader)):m.h.push(_.bm(k.reader)));e=m}}).ea("sdtp",k=>{{const l=_.em(k.reader,k.reader.Na());f=new
|
|
12
|
-
u.
|
|
13
|
-
g;d=g.get(_.pe);if(a.request.contentType===_.H){e=d.f.buffer;if(c){e=_.Xi(e);if((e=(new DOMParser).parseFromString(e,_.Tf))&&"tt"===e.documentElement.tagName.toLowerCase())var h=e.documentElement;if(h&&(d=new
|
|
14
|
-
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 D=l.length;for(;n<D;n++){var r=l[n].name;if(r=r.match(m)){k=k.getAttribute(r[0]);break b}}k=null}h.setAttribute(g[y],
|
|
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.f[m].
|
|
16
|
-
periodId:null}},
|
|
17
|
-
c.type=1;c=yield a.D.networkingEngine.fetch(c).T;a.o=c.uri;return c})},
|
|
18
|
-
if(!1===/^[2].[0-2]$/.test(""+e+"."+f))throw a.g.error("Smooth Streaming version must be 2.0, 2.1 or 2.2"),new _.I(_.G,4,4036,a.o);k?(
|
|
19
|
-
u}{const hb=[],ua=_.on.a(d,"StreamIndex");if(!ua.length)throw a.g.error("No streams found!"),new _.I(_.G,4,4034,a.o);for(let zb=0;zb<ua.length;zb++){{var v=a,y=ua[zb];const
|
|
20
|
-
Na,
|
|
21
|
-
32E3:5,24E3:6,22050:7,16E3:8,12E3:9,11025:10,8E3:11,7350:12},Nm=JF[Mm];if("AACH"===IF){Na=new Uint8Array(4);const KF=JF[2*Mm];Na[0]=40|Nm>>1;Na[1]=Nm<<7|X<<3|KF>>1;Na[2]=KF<<7|8;Na[3]=0;gd=new Uint16Array(2);gd[0]=(Na[0]<<8)+Na[1];gd[1]=(Na[2]<<8)+Na[3];
|
|
22
|
-
maxWidth:ug,
|
|
23
|
-
fd[fd.length-1];tg=
|
|
24
|
-
|
|
25
|
-
textStreams:Vh,thumbStreams:[]}}{var Gb=
|
|
26
|
-
a.C.A=Uh;
|
|
27
|
-
c);c&&null!=a.l&&(window.clearTimeout(a.l),a.l=null,a.B=null);a.P=b},
|
|
28
|
-
`track with bitrate ${g.bitrate}. Skipping update.`)}}},
|
|
29
|
-
d.length;f++){const g=d[f].tracks.map(h=>{{var k=d[f],l=
|
|
30
|
-
2),16)&248)>>3),D="mp4a.40."+E,a.g.debug("AUDIO CODECS: ",D)}E=k.type===_.H?
|
|
31
|
-
primary:!1,trickModeVideo:null,emsgSchemeIdUris:null,roles:[],channelsCount:h.
|
|
32
|
-
try{d=
|
|
33
|
-
a)return this.children[b];{const c=this.children[b].get(a);if(c)return c}}return null}a(){const a=Math.pow(2,32)-1;let b;b=4+this.type.length;"uuid"===this.type&&(b+=16);if(0<this.children.length)for(let c=0;c<this.children.length;c++)b+=this.children[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?_.O(a,1):_.O(a,this.size);_.Xl(a,
|
|
34
|
-
!this.w)for(b=0;b<this.children.length;b++)this.children[b].write(a),this.children[b].a(),a.getPosition()}},
|
|
35
|
-
b,c);this.f=d;this.offset=e}a(){return this.f.byteLength+super.a()-this.offset}write(a){super.write(a);_.Xl(a,this.f,this.offset);a.getPosition()}}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
d;this.height=e;this.volume=1;this.f=[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.f.length;return a+super.a()}write(a){super.write(a);1===this.version?(
|
|
39
|
-
this.width);
|
|
40
|
-
0,0);this.f=a}a(){return 33+super.a()}write(a){super.write(a);_.O(a,0);this.f===_.w?_.Xl(a,
|
|
41
|
-
super.a()}write(a){super.write(a);_.O(a,0);
|
|
42
|
-
super.a()}write(a){super.write(a);_.O(a,0);_.O(a,0);
|
|
43
|
-
a.getPosition()}},
|
|
44
|
-
for(var b=0;b<this.ab.length;b++)
|
|
45
|
-
_.Xl(a,new Uint8Array([6,1,2]));a.getPosition()}},
|
|
46
|
-
a.getPosition()}},
|
|
47
|
-
_.O(a,this.entries.length);for(let b=0;b<this.entries.length;b++)this.entries[b].write(a);a.getPosition()}},
|
|
48
|
-
return a+super.a()}write(a){super.write(a);_.O(a,this.entries.length);for(let b=0;b<this.entries.length;b++)this.entries[b].write(a);a.getPosition()}},
|
|
49
|
-
|
|
50
|
-
b);this.l=this.j=this.f=0;this.o=[];this.sampleSize=[];this.A=[];this.h=[]}a(){let a=4;this.flags&
|
|
51
|
-
this.flags&
|
|
52
|
-
|
|
53
|
-
return a+super.a()}write(a){super.write(a)
|
|
54
|
-
class extends
|
|
55
|
-
b,c){super("saiz",0,0);this.f=a;this.j=b;this.h=c}a(){let a=0;this.flags&1&&(a+=8);a+=5;0===this.f&&(a+=this.j.length);return a+super.a()}write(a){super.write(a);this.flags&1&&(_.O(a,0),_.O(a,0))
|
|
56
|
-
2,a+=4}return a+super.a()}write(a){super.write(a);_.O(a,this.h);this.flags&1
|
|
57
|
-
this.j=this.f=this.D=null;this.l&&(clearTimeout(this.l),this.l=null);this.L=!1;this.J=this.G=Infinity;return Promise.resolve()}update(){if(this.F())return
|
|
58
|
-
0;c<this.w.length;c++)if(this.w[c].keySystem===a){b=this.w[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.A.timescale,c={isLive:this.F.bind(this),
|
|
59
|
-
`segment reference time ${a.request.startTime}`);f=
|
|
60
|
-
"LIVE",
|
|
1
|
+
import {clpp} from "./cl.core.js";import './cl.mse.js';let g={};const _ = clpp._;var f=function(window){'use strict';var ZQ="Full MP4 box must have flags defined",$Q="clpp.smooth.SmoothMP4Processor",aR="codecPrivateData",bR=function(a,b){const c=Math.floor(b/Math.pow(2,32));b-=c*Math.pow(2,32);_.O(a,c);_.O(a,b)},cR=function(a,b){try{a.f.setUint8(a.a,b),a.a+=1}catch(c){_.Wl()}},dR=function(a,b){cR(a,b>>16&255);cR(a,b>>8&255);cR(a,b&255)},eR=function(a,b){try{a.f.setUint16(a.a,b,a.h),a.a+=2}catch(c){_.Wl()}},fR=function(a,b){try{a.f.setInt32(a.a,b,a.h),a.a+=4}catch(c){_.Wl()}},gR=function(a,b){try{a.f.setInt16(a.a,
|
|
2
|
+
b,a.h),a.a+=2}catch(c){_.Wl()}},hR=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},iR=function(a){const b=a.split("/");return b[b.length-1].toLowerCase().match("manifest(\\(.+\\))?")?a:`${a}/Manifest`},jR=function(a,b,c,d){c=b.Vf[c];b=b.Ni;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 _.pC([a],[b])[0]},kR=function(a,b){if(a.type!==b.type)return!1;let c=[];a.type===_.w?c=["maxWidth","maxHeight","bitrate",aR,"fourCC"]:a.type===_.p&&(c=["bitrate",aR,"channels","bitsPerSample","samplingRate","fourCC"]);return _.eh(a,b,c,["id","segmentIndex"])},lR=function(a,b,c){const d=c.Nd.split("00000001");a={id:1,type:c.type,duration:a/b,timescale:b,ab:null,dc:null,width:NaN,height:NaN,ac:null,zd:NaN,
|
|
4
|
+
sampleSize:NaN,channelCount:NaN};switch(c.type){case _.w:a.ab=[_.Kl(d[1])];a.dc=[_.Kl(d[2])];a.width=c.maxWidth;a.height=c.maxHeight;break;case _.p:a.ac=_.Kl(c.Nd),a.sampleSize=c.ah||16,a.zd=c.zd,a.channelCount=c.Mf}return a},mR=function(a,b){return a.filter(c=>c.type===b)},nR=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)},uR=function(a,b,c){var d=null;if(oR.test(a)){{a=oR.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 pR.test(a)?d=nR(pR,a):qR.test(a)?d=nR(qR,a):rR.test(a)?(a=rR.exec(a),d=Number(a[1])/c.frameRate):sR.test(a)?(a=sR.exec(a),d=Number(a[1])/c.a):tR.test(a)&&(d=nR(tR,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},vR=function(a){let b=
|
|
6
|
+
0;for(let c=0;c<a.a.length;c++)b+=a.a[c].a();return new _.qm(b)},CR=function(a,b,c){a:{var d=[_.td,_.rd];for(e of d)if((d=c.Sd(e))&&d.keyId){var e=d.keyId;break a}_.C($Q,"Could not get default Key ID for DRM init data!");e=null}c=new wR("xxxx");a.type===_.w?c=new xR(a.width,a.height):c=new yR(a.channelCount,a.sampleSize,a.zd);a=new zR;a.f=1;a.h=8;a.l=e||"00000000000000000000000000000000";a=(new wR("schi")).append([a]);b=(new wR(_.Gf)).append([new AR(b),new BR(_.Tc,65536),a]);c.append([b]);return c},
|
|
7
|
+
fS=function(a,b){var c=b.Vd(),d=new DR(a.timescale,a.duration,a.id),e=(new ER).append([new FR(a.id)]),f=new GR(a.id,a.duration,a.timescale,a.width,a.height),g=new HR(a.timescale,a.duration);const h=new IR(a.type);var k=null,l=new JR;l.entries=[new KR];var m=new LR;switch(a.type){case _.w:k=new MR(a.ab,a.dc);c?(a=CR(a,"avc1",b),a.append([k]),m.entries=[a]):(a=(new NR(a.width,a.height)).append([k]),m.entries=[a]);k=new OR;break;case _.p:k=new PR(a.ac),c?(a=CR(a,"mp4a",b),a.append([k]),m.entries=[a]):
|
|
8
|
+
(a=(new QR(a.channelCount,a.sampleSize,a.zd)).append([k]),m.entries=[a]),k=new RR}m=(new SR).append([m,new TR,new UR,new VR,new WR]);l=(new YR).append([l]);l=(new ZR).append([k,l,m]);g=(new $R).append([g,h,l]);f=(new aS).append([f,g]);d=(new bS).append([d,f,e]);e=new cS("dash",0,["iso6","mp41","avc1"]);c&&(c=b.Sd(_.rd),b=b.Sd(_.td),c&&d.append([new dS("pssh",c.initData,8)]),b&&d.append([new dS("pssh",b.initData,8)]),c||b||_.C($Q,"Could not get PSSH init data!"));b=new eS([e,d]);return _.K(b.write())},
|
|
9
|
+
pS=function(a,b){let c,d,e,f,g,h;(new _.om).N("moof",_.hm).ea("mfhd",k=>{{const l=new gS;l.f=_.P(k.reader);c=l}}).N("traf",_.hm).ea("tfhd",k=>{{const l=k.reader.Na();if(null===k.flags)throw new _.I(_.G,3,3019,ZQ);const m=new hS(k.version||0,k.flags||0);m.f=_.P(k.reader);0<l-k.reader.getPosition()&&k.flags&1&&(m.h=_.cm(k.reader));0<l-k.reader.getPosition()&&k.flags&2&&(m.A=_.P(k.reader));0<l-k.reader.getPosition()&&k.flags&8&&(m.j=_.P(k.reader));0<l-k.reader.getPosition()&&k.flags&16&&(m.o=_.P(k.reader));
|
|
10
|
+
0<l-k.reader.getPosition()&&k.flags&32&&(m.l=_.P(k.reader));d=m}}).ea("trun",k=>{{var l=k.reader.Na();if(null===k.flags)throw new _.I(_.G,3,3019,ZQ);const m=new iS(k.version||0,k.flags||0);m.f=_.P(k.reader);0<l-k.reader.getPosition()&&k.flags&1&&(m.j=_.bm(k.reader));0<l-k.reader.getPosition()&&k.flags&4&&(m.l=_.P(k.reader));if(0<l-k.reader.getPosition())for(l=0;l<m.f;l++)k.flags&256&&m.o.push(_.P(k.reader)),k.flags&512&&m.sampleSize.push(_.P(k.reader)),k.flags&1024&&m.A.push(_.P(k.reader)),k.flags&
|
|
11
|
+
2048&&(0===k.version?m.h.push(_.P(k.reader)):m.h.push(_.bm(k.reader)));e=m}}).ea("sdtp",k=>{{const l=_.em(k.reader,k.reader.Na());f=new jS("sdtp",k.version||0,k.flags||0,l,0)}}).N("uuid",k=>{var l=_.em(k.reader,16);if(_.Ml(l,kS)){l=_.P(k.reader);k.version=l>>>24;k.flags=l&16777215;l=new lS(k.version,k.flags);l.h=_.P(k.reader);k.flags&1&&(l.j=_.$l(k.reader));for(let m=0;m<l.h;m++){const n={gg:_.em(k.reader,8),Yc:0,hf:[]};if(k.flags&2){n.Yc=_.am(k.reader);for(let r=0;r<n.Yc;r++){const u={If:0,Jf:0};
|
|
12
|
+
u.If=_.am(k.reader);u.Jf=_.P(k.reader);n.hf.push(u)}}l.f.push(n)}g=l}}).N(_.pe,k=>{{const l=new mS;0<k.reader.Na()?l.f=_.em(k.reader,k.reader.Na()):(_.C($Q,"mdat box is empty!"),l.f=new Uint8Array(0));h=l}}).parse(a,!1);if(!h)return null;a=(new nS).append([d,e]);f&&a.append([f]);b.Vd()&&g&&a.append([g]);b=(new oS).append([c,a]);return new eS([b,h])},uS=function(a,b,c,d){var e=d.Vd(),f=parseInt(c*b,10);b=a.data||new ArrayBuffer(0);var g=pS(b,d);if(null===g)return a.request.contentType===_.H?a.data:
|
|
13
|
+
g;d=g.get(_.pe);if(a.request.contentType===_.H){e=d.f.buffer;if(c){e=_.Xi(e);if((e=(new DOMParser).parseFromString(e,_.Tf))&&"tt"===e.documentElement.tagName.toLowerCase())var h=e.documentElement;if(h&&(d=new qS(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 u=0,v=f.length;u<v;u++){h=f[u];a=c;b=d;g=["begin",_.Rd];for(let y=0,A=g.length;y<
|
|
14
|
+
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 D=l.length;for(;n<D;n++){var r=l[n].name;if(r=r.match(m)){k=k.getAttribute(r[0]);break b}}k=null}h.setAttribute(g[y],uR(k||"",a,b))}}}e=(new XMLSerializer).serializeToString(e);c=_.Yi(e).buffer}else c=e;return c}h=new oS;a=g.get("mfhd");b=new nS;k=g.get("tfhd");m=new rS(1,f);f=g.get("trun");n=g.get("sdtp");c=g.get("senc");k.f=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.f[m].Yc);else g=8;b.append([c,new sS,new tS(g,k,c.h)])}h.append([a,b]);f.flags|=1;f.j=h.a()+8;d=new eS([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},vS=function(a,b,c){return{keySystem:a,licenseServerUri:"",distinctiveIdentifierRequired:!1,persistentStateRequired:!1,audioRobustness:"",videoRobustness:"",serverCertificate:null,initData:[b],keyIds:c,
|
|
16
|
+
periodId:null}},wS=function(a){return{initData:_.cC(_.kn(a)),initDataType:_.Tc,keyId:a,periodId:null}},xS=function(a,b,c){a=_.tn(a);c&&a.version!==c&&(a=_.eC(a,c));return{initData:_.cC(a),initDataType:_.Tc,keyId:b,periodId:null}},yS=function(a,b){return _.x(function*(){var c=_.mj(b);c.timeout=a.f.attemptParameters.timeout;c.maxAttempts=Math.max(a.f.attemptParameters.maxAttempts,b.length);c.baseDelay=a.f.attemptParameters.baseDelay;c.backoffFactor=a.f.attemptParameters.backoffFactor;c.fuzzFactor=a.f.attemptParameters.fuzzFactor;
|
|
17
|
+
c.type=1;c=yield a.D.networkingEngine.fetch(c).T;a.o=c.uri;return c})},GS=function(a,b){const c=_.on;let d=null;try{const hb=_.Xi(b);d=c.j(hb,_.qb)}catch(hb){}if(!d)throw a.g.error("Unable to parse manifest"),new _.I(_.G,4,4033,a.o);const e=+zS(a,d,"MajorVersion"),f=+zS(a,d,"MinorVersion"),g=+d.getAttribute("TimeScale")||1E7;let h=+zS(a,d,"Duration");const k="TRUE"===d.getAttribute("IsLive"),l=+d.getAttribute("LookAheadCount"),m=+d.getAttribute("DVRWindowLength")||Infinity,n=c.a(d,"Protection")[0];
|
|
18
|
+
if(!1===/^[2].[0-2]$/.test(""+e+"."+f))throw a.g.error("Smooth Streaming version must be 2.0, 2.1 or 2.2"),new _.I(_.G,4,4036,a.o);k?(AS(a,BS),a.B=typeof a.f.liveRefreshPeriod===_.t?1E3*a.f.liveRefreshPeriod:Math.min(1E3*a.I,1E4),h=Infinity):AS(a,CS);a.a={startTime:0,delay:0,duration:h/g,Ae:m/g,sd:0};if(n){{var r=a.f.playreadyVersion;const hb=_.on,ua=[],zb=hb.a(n,"ProtectionHeader")[0],Bc=_.Jl(hb.f(zb)||""),kc=_.tn(Bc).a;ua.push(vS(_.td,wS(kc),[kc]));ua.push(vS(_.rd,xS(Bc,kc,r),[kc]));var u=ua}a.w=
|
|
19
|
+
u}{const hb=[],ua=_.on.a(d,"StreamIndex");if(!ua.length)throw a.g.error("No streams found!"),new _.I(_.G,4,4034,a.o);for(let zb=0;zb<ua.length;zb++){{var v=a,y=ua[zb];const Bc=zS(v,y,"Type"),kc=+y.getAttribute("Chunks"),Uh=y.getAttribute("Subtype")||"",ue=y.getAttribute("Language")||_.dg,ve=_.Bi(ue),Vh=y.getAttribute("Name")||"",rf=+y.getAttribute(_.Qa),sg=+y.getAttribute(_.Pa),Es=zS(v,y,"Url"),Lm=+y.getAttribute("TimeScale")||null;{const fd=[],Dj=_.on.a(y,_.jb);for(let we=0;we<Dj.length;we++){{let gd,
|
|
20
|
+
Na,Wd;var A=v,D=Dj[we],E=Bc;const Ej=+D.getAttribute("Index"),tg=+zS(A,D,"Bitrate");let Cc=NaN,ug=NaN,Mm=NaN,Fs=NaN,FF=NaN,GF=NaN,HF=NaN;const IF=D.getAttribute("FourCC")||"";switch(E){case _.w:Cc=+zS(A,D,_.Pa);ug=+zS(A,D,_.Qa);break;case _.p:Fs=+D.getAttribute("Channels")||2,Mm=+zS(A,D,"SamplingRate"),GF=+zS(A,D,"AudioTag"),FF=+zS(A,D,"BitsPerSample"),HF=+zS(A,D,"PacketSize")}let Gs=String(D.getAttribute("CodecPrivateData"));if(E===_.p&&!Gs){{var X=Fs;const JF={96E3:0,88200:1,64E3:2,48E3:3,44100:4,
|
|
21
|
+
32E3:5,24E3:6,22050:7,16E3:8,12E3:9,11025:10,8E3:11,7350:12},Nm=JF[Mm];if("AACH"===IF){Na=new Uint8Array(4);const KF=JF[2*Mm];Na[0]=40|Nm>>1;Na[1]=Nm<<7|X<<3|KF>>1;Na[2]=KF<<7|8;Na[3]=0;gd=new Uint16Array(2);gd[0]=(Na[0]<<8)+Na[1];gd[1]=(Na[2]<<8)+Na[3];Wd=gd[0].toString(16)+gd[1].toString(16)}else Na=new Uint8Array(2),Na[0]=16|Nm>>1,Na[1]=Nm<<7|X<<3,gd=new Uint16Array(1),gd[0]=(Na[0]<<8)+Na[1],Wd=gd[0].toString(16);Gs=Wd.toUpperCase()}}var cd={id:A.V++,type:E,index:Ej,bitrate:tg,Nd:Gs,maxHeight:Cc,
|
|
22
|
+
maxWidth:ug,zd:Mm,Mf:Fs,Ti:GF,ah:FF,fj:HF,uh:IF,segmentIndex:null}}fd.push(cd)}var gc=fd}{const fd=[],Dj=_.on.a(y,"c");for(let we=0;we<Dj.length;we++){const gd=Dj[we];let Na=parseInt(gd.getAttribute("t"),10),Wd=parseInt(gd.getAttribute("d"),10),Ej=parseInt(gd.getAttribute("r"),10),tg=0;if(isNaN(Na)&&isNaN(Wd))throw v.g.error("Either one or both FragmentDuration and FragmentTime field MUST be present in StreamFragmentElement"),new _.I(_.G,4,4037,v.o);0===we&&isNaN(Na)&&(tg=Na=0);if(0<we){const Cc=
|
|
23
|
+
fd[fd.length-1];tg=Cc.n+1;Cc.d||(Cc.d=Na-Cc.t);Na||(Na=Cc.t+Cc.d);Wd||(Wd=Na-Cc.t)}fd.push({n:tg,d:Wd,t:Na});if(Ej){Ej--;for(let Cc=0;Cc<Ej;Cc++){const ug=fd[fd.length-1];tg=ug.n+1;Na=ug.t+ug.d;Wd=ug.d;fd.push({n:tg,d:Wd,t:Na})}}}v.F()||fd.length===kc||v.g.warn("Number of fragments ("+kc+") differs from number of chunks ("+fd.length+").");var Ob=fd}var Vd={type:Bc,Xi:kc,Di:Uh,language:ve,Sc:ue,name:Vh,maxWidth:rf,maxHeight:sg,Ni:Es,tracks:gc,Vf:Ob,timescale:Lm}}hb.push(Vd)}var Pb=hb}const hc={ej:e,
|
|
24
|
+
mg:f,timescale:g,duration:h,isLive:k,dj:l,Ae:m,Ge:!1,streams:Pb};if(a.j&&a.A)return DS(a,hc),Promise.resolve();a.H.clear();{const hb=hc.timescale,ua=hc.duration,zb=mR(hc.streams,_.p),Bc=mR(hc.streams,_.w),kc=mR(hc.streams,_.H),Uh=[];let ue=ES(a,ua,hb,zb),ve=ES(a,ua,hb,Bc);const Vh=ES(a,ua,hb,kc);ue.length||(ue=[null]);ve.length||(ve=[null]);for(let rf=0;rf<ve.length;rf++)for(let sg=0;sg<ue.length;sg++)Uh.push(FS(a,ve[rf],ue[sg]));var ic={id:"ID",configurationId:void 0,startTime:0,endTime:ua,variants:Uh,
|
|
25
|
+
textStreams:Vh,thumbStreams:[]}}{var Gb=hc.streams;let hb=a.a.startTime,ua=a.a.delay;const zb=a.J;let Bc=Math.min(a.a.duration||Infinity,zb);const kc=a.F(),Uh=a.a.Ae,ue=a.a.sd,ve=a.I,Vh=isFinite(a.G)?a.G:0;if(kc)Bc=Infinity,hb=Date.now()/1E3-ue,a.a.startTime=hb,ua=3*ve;else{const sg=isFinite(zb)?zb:a.a.duration;for(const Es of Gb)for(const Lm of Es.tracks)Lm.segmentIndex.offset(-Vh),_.UC(Lm.segmentIndex,sg)}const rf=a.f.timeline||{};rf.type=void 0;a.C=new _.rJ(rf,hb,ua,!kc,!0);a.C.f=Bc;_.hD(a.C,ve);
|
|
26
|
+
a.C.A=Uh;kc||a.C.offset(-Vh)}a.D.filterAllPeriods([ic]);a.j={presentationTimeline:a.C,periods:[ic],minBufferTime:0,cues:[]};Promise.resolve();a.L||(a.D.networkingEngine.Gc(a.M),a.L=!0);a.A=hc;return Promise.resolve()},HS=function(a,b){null!=a.B&&null!=b&&(a.l=window.setTimeout(a.Vb.bind(a),b))},zS=function(a,b,c){if(b=b.getAttribute(c))return b;a.g.error("required attribute not provided: "+c);throw new _.I(_.G,4,4038,a.o,c);},AS=function(a,b){const c=b===CS;a.j&&a.j.presentationTimeline&&_.cD(a.j.presentationTimeline,
|
|
27
|
+
c);c&&null!=a.l&&(window.clearTimeout(a.l),a.l=null,a.B=null);a.P=b},DS=function(a,b){for(let e=0;e<a.A.streams.length;e++){const f=b.streams[e];for(const g of a.A.streams[e].tracks){var c=f.tracks.find(h=>h.type===g.type&&h.bitrate===g.bitrate);if(c){kR(g,c)||a.g.warn("The current stream is updated with a stream that seems to have different base properties!");var d=IS(a,a.A.timescale,f,c);c=g.segmentIndex;_.tD(c,d);(d=a.a.Ae)&&_.uD(c,_.rD(c)-d).forEach(h=>{h.Ya().forEach(k=>{a.H.delete(k)})})}else a.g.warn(`Cannot find satisfying update for ${g.type} `+
|
|
28
|
+
`track with bitrate ${g.bitrate}. Skipping update.`)}}},IS=function(a,b,c,d){let e=0;const f=[],g=c.timescale||b;c.Vf.forEach((h,k)=>{const l=h.d/g;0===k?(h=h.t/g,a.G=Math.min(a.G,h)):h=f[k-1].endTime;const m=h+l,n=jR(a.o,c,k,d);a.I=Math.max(a.I,l);f.push(new _.sD(k,h,m,()=>[n],0,null,0,null,!0,g));a.H.set(n,h);e+=l});if(c.type===_.w||c.type===_.p)b=f[f.length-1],a.J=Math.min(a.J,e),0===a.a.sd?a.a.sd=b.endTime:a.a.sd=Math.min(a.a.sd,b.endTime);return f},ES=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=IS(a,c,k,h);const X=new _.sJ(l);var m=null;k.type!==_.H&&(m=JS(a,b,c,k,h));h.segmentIndex=X;l=_.oJ++;var n=Promise.resolve.bind(Promise),r=X.f.bind(X),u=X.get.bind(X),v=X.h.bind(X),y=X.getDuration.bind(X),A=KS[k.type];var D="";switch(k.type){case _.w:D=h.Nd;var E=/00000001[0-9]7/.exec(D);D="avc1."+(E&&E[0]?D.substr(D.indexOf(E[0])+10,6):"42c00c");a.g.debug("VIDEO CODECS: ",D);break;case _.p:D=h.Nd,E=2,"AACH"===h.uh?E=5:D&&(E=(parseInt(D.substr(0,
|
|
30
|
+
2),16)&248)>>3),D="mp4a.40."+E,a.g.debug("AUDIO CODECS: ",D)}E=k.type===_.H?LS[k.Di]:void 0;h={id:l,originalId:null,ij:null,createSegmentIndex:n,findSegmentPosition:r,getSegmentReference:u,adjustSegmentDurations:v,getDuration:y,segmentIndex:X,segmentLookupStrategy:_.NB,initSegmentReference:m,mimeType:A,codecs:D,frameRate:void 0,bandwidth:h.bitrate,width:h.maxWidth||void 0,height:h.maxHeight||void 0,kind:E,encrypted:a.K(),keyId:null,language:k.language,originalLanguage:k.Sc,label:k.name,type:k.type,
|
|
31
|
+
primary:!1,trickModeVideo:null,emsgSchemeIdUris:null,roles:[],channelsCount:h.Mf||null,spatialAudio:!1,closedCaptions:null}}return h});e=e.concat(g)}return e},FS=function(a,b,c){const d=(c?c.bandwidth:0)+(b?b.bandwidth:0),e=c?c.language:_.dg;return c||b?{id:a.h++,language:e,primary:!1,audio:c,video:b,bandwidth:d,drmInfos:a.w,allowedByApplication:!0,allowedByKeySystem:!0}:null},JS=function(a,b,c,d,e){b=lR(b,d.timescale||c,e);c={isLive:a.F.bind(a),Vd:a.K.bind(a),Bh:()=>1,Sd:a.R.bind(a)};d=new Uint8Array(0);
|
|
32
|
+
try{d=fS(b,c)}catch(g){throw a.g.error("Failed to generate initialization segment."),new _.I(_.G,3,4035,g);}const f="data:text/plain;base64,"+_.Il(d);return new _.nJ(()=>[f],0,null,null,!0)},wR=class{constructor(a){this.type=a;this.size=this.start=0;this.parent=null;this.w=!1;this.entries=[];this.children=[]}append(a=[]){for(let b=0;b<a.length;b++)this.children.push(a[b]),a[b].parent=this;return this}get(a){if(this.type===a)return this;for(let b=0;b<this.children.length;b++){if(this.children[b].type===
|
|
33
|
+
a)return this.children[b];{const c=this.children[b].get(a);if(c)return c}}return null}a(){const a=Math.pow(2,32)-1;let b;b=4+this.type.length;"uuid"===this.type&&(b+=16);if(0<this.children.length)for(let c=0;c<this.children.length;c++)b+=this.children[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?_.O(a,1):_.O(a,this.size);_.Xl(a,hR(this.type));this.size>b&&bR(a,this.size);"uuid"===this.type&&_.Xl(a,null);if(0<this.children.length&&
|
|
34
|
+
!this.w)for(b=0;b<this.children.length;b++)this.children[b].write(a),this.children[b].a(),a.getPosition()}},MS=class extends wR{constructor(a,b,c){super(a);this.version=b;this.flags=c}a(){return 4+super.a()}write(a){super.write(a);cR(a,this.version);dR(a,this.flags)}},dS=class extends wR{constructor(a,b,c){super(a);this.f=b;this.offset=c}a(){return this.f.byteLength+super.a()-this.offset}write(a){super.write(a);_.Xl(a,this.f,this.offset);a.getPosition()}},jS=class extends MS{constructor(a,b,c,d,e){super(a,
|
|
35
|
+
b,c);this.f=d;this.offset=e}a(){return this.f.byteLength+super.a()-this.offset}write(a){super.write(a);_.Xl(a,this.f,this.offset);a.getPosition()}},cS=class extends wR{constructor(a,b,c){super("ftyp");this.h=a;this.mg=b;this.f=c}a(){let a=this.h.length;a=a+4+this.f.join("").length;return a+super.a()}write(a){super.write(a);_.Xl(a,hR(this.h));_.O(a,this.mg);_.Xl(a,hR(this.f.join("")));a.getPosition()}},bS=class extends wR{constructor(){super(_.ye)}},aS=class extends wR{constructor(){super(_.ag)}},
|
|
36
|
+
DR=class extends MS{constructor(a,b,c){super("mvhd",1,0);this.timescale=a;this.duration=b;this.volume=256;this.h=c+1;this.f=[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+28:a+16;a=a+44+this.f.length;return a+=super.a()}write(a){super.write(a);1===this.version?(bR(a,0),bR(a,0),_.O(a,this.timescale),bR(a,this.duration*this.timescale)):(_.O(a,0),_.O(a,0),_.O(a,this.timescale),_.O(a,this.duration*this.timescale));_.O(a,65536);eR(a,this.volume);
|
|
37
|
+
eR(a,0);_.O(a,0);_.O(a,0);for(let b=0;b<this.f.length;b++)cR(a,this.f[b]);_.O(a,0);_.O(a,0);_.O(a,0);_.O(a,0);_.O(a,0);_.O(a,0);_.O(a,this.h);a.getPosition()}},ER=class extends wR{constructor(){super("mvex")}},FR=class extends MS{constructor(a){super("trex",0,0);this.f=a}a(){return 20+super.a()}write(a){super.write(a);_.O(a,this.f);_.O(a,1);_.O(a,0);_.O(a,0);_.O(a,0);a.getPosition()}},GR=class extends MS{constructor(a,b,c,d,e){super("tkhd",1,7);this.h=a;this.duration=b;this.timescale=c;this.width=
|
|
38
|
+
d;this.height=e;this.volume=1;this.f=[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.f.length;return a+super.a()}write(a){super.write(a);1===this.version?(bR(a,0),bR(a,0),_.O(a,this.h),_.O(a,0),bR(a,this.duration*this.timescale)):(_.O(a,0),_.O(a,0),_.O(a,this.h),_.O(a,0),_.O(a,this.duration*this.timescale));_.O(a,0);_.O(a,0);eR(a,0);eR(a,0);eR(a,this.volume);eR(a,0);for(let b=0;b<this.f.length;b++)cR(a,this.f[b]);eR(a,
|
|
39
|
+
this.width);eR(a,0);eR(a,this.height);eR(a,0);a.getPosition()}},HR=class extends MS{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+4+super.a()}write(a){super.write(a);1===this.version?(bR(a,0),bR(a,0),_.O(a,this.timescale),bR(a,this.duration*this.timescale)):(_.O(a,0),_.O(a,0),_.O(a,this.timescale),_.O(a,this.duration*this.timescale));eR(a,this.language);eR(a,0);a.getPosition()}},IR=class extends MS{constructor(a){super("hdlr",
|
|
40
|
+
0,0);this.f=a}a(){return 33+super.a()}write(a){super.write(a);_.O(a,0);this.f===_.w?_.Xl(a,hR("vide")):_.Xl(a,hR("soun"));_.O(a,0);_.O(a,0);_.O(a,0);this.f===_.w?_.Xl(a,hR("VideoHandler\x00")):_.Xl(a,hR("SoundHandler\x00"));a.getPosition()}},OR=class extends MS{constructor(){super("vmhd",0,1);this.f=new Uint8Array([0,0,0,0,0,0])}a(){return 2+this.f.byteLength+super.a()}write(a){super.write(a);eR(a,0);_.Xl(a,this.f);a.getPosition()}},NS=class extends wR{constructor(a){super(a);this.w=!0}a(){return 8+
|
|
41
|
+
super.a()}write(a){super.write(a);_.O(a,0);eR(a,0);eR(a,1)}},OS=class extends NS{constructor(a){super(a);this.height=this.width=0;this.depth=24}a(){return 70+super.a()}write(a){super.write(a);eR(a,0);eR(a,0);_.O(a,0);_.O(a,0);_.O(a,0);eR(a,this.width);eR(a,this.height);_.O(a,4718592);_.O(a,4718592);_.O(a,0);eR(a,1);cR(a,10);_.Xl(a,hR("AVC Coding",31));eR(a,this.depth);gR(a,-1)}},PS=class extends NS{constructor(a,b,c,d){super(a);this.channelCount=b;this.sampleSize=c;this.sampleRate=d}a(){return 20+
|
|
42
|
+
super.a()}write(a){super.write(a);_.O(a,0);_.O(a,0);eR(a,this.channelCount);eR(a,this.sampleSize);gR(a,0);eR(a,0);eR(a,this.sampleRate);eR(a,0)}},NR=class extends OS{constructor(a,b){super("avc1");this.width=a;this.height=b}write(a){super.write(a);for(let b=0;b<this.children.length;b++)this.children[b].write(a);a.getPosition()}},xR=class extends NR{constructor(a,b){super(a,b);this.type="encv"}},QR=class extends PS{constructor(a,b,c){super("mp4a",a,b,c)}write(a){super.write(a);for(let b=0;b<this.children.length;b++)this.children[b].write(a);
|
|
43
|
+
a.getPosition()}},yR=class extends QR{constructor(a,b,c){super(a,b,c);this.type="enca"}},MR=class extends wR{constructor(a,b){super("avcC");this.ab=a;this.dc=b;this.version=1;this.f=this.ab[0][1];this.h=this.ab[0][2];this.level=this.ab[0][3]}a(){let a=7;for(var b=0;b<this.ab.length;b++)a+=2,a+=this.ab[b].byteLength;for(b=0;b<this.ab.length;b++)a+=2,a+=this.dc[b].byteLength;return a+super.a()}write(a){super.write(a);cR(a,this.version);cR(a,this.f);cR(a,this.h);cR(a,this.level);cR(a,255);cR(a,224|this.ab.length);
|
|
44
|
+
for(var b=0;b<this.ab.length;b++)eR(a,this.ab[b].length),_.Xl(a,this.ab[b]);cR(a,this.dc.length);for(b=0;b<this.dc.length;b++)eR(a,this.dc[b].length),_.Xl(a,this.dc[b]);a.getPosition()}},PR=class extends MS{constructor(a){super("esds",0,0);this.ac=a}a(){return 22+(this.ac.byteLength+3)+super.a()}write(a){super.write(a);cR(a,3);cR(a,23+this.ac.byteLength);eR(a,1);cR(a,0);cR(a,4);cR(a,15+this.ac.byteLength);cR(a,64);cR(a,21);dR(a,0);_.O(a,0);_.O(a,0);cR(a,5);cR(a,this.ac.byteLength);_.Xl(a,this.ac);
|
|
45
|
+
_.Xl(a,new Uint8Array([6,1,2]));a.getPosition()}},KR=class extends MS{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&&_.Xl(a,hR(this.location));a.getPosition()}},JR=class extends MS{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);_.O(a,this.entries.length);for(let b=0;b<this.entries.length;b++)this.entries[b].write(a);
|
|
46
|
+
a.getPosition()}},SR=class extends wR{constructor(){super(_.Mf)}},LR=class extends MS{constructor(){super(_.Of,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);_.O(a,this.entries.length);for(let b=0;b<this.entries.length;b++)this.entries[b].write(a);a.getPosition()}},TR=class extends MS{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);
|
|
47
|
+
_.O(a,this.entries.length);for(let b=0;b<this.entries.length;b++)this.entries[b].write(a);a.getPosition()}},UR=class extends MS{constructor(){super("stsc",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);_.O(a,this.entries.length);for(let b=0;b<this.entries.length;b++)this.entries[b].write(a);a.getPosition()}},WR=class extends MS{constructor(){super("stco",0,0)}a(){let a=4;for(let b=0;b<this.entries.length;b++)a+=this.entries[b].a();
|
|
48
|
+
return a+super.a()}write(a){super.write(a);_.O(a,this.entries.length);for(let b=0;b<this.entries.length;b++)this.entries[b].write(a);a.getPosition()}},VR=class extends MS{constructor(){super("stsz",0,0)}a(){return 8+super.a()}write(a){super.write(a);_.O(a,0);_.O(a,0);a.getPosition()}},RR=class extends MS{constructor(){super("smhd",0,0)}a(){return 4+super.a()}write(a){super.write(a);gR(a,0);eR(a,0);a.getPosition()}},YR=class extends wR{constructor(){super("dinf")}},ZR=class extends wR{constructor(){super(_.xe)}},
|
|
49
|
+
$R=class extends wR{constructor(){super(_.qe)}},rS=class extends MS{constructor(a,b){super("tfdt",a,0);this.baseMediaDecodeTime=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?bR(a,this.baseMediaDecodeTime):_.O(a,this.baseMediaDecodeTime);a.getPosition()}},gS=class extends MS{constructor(){super("mfhd",0,0);this.f=0}a(){return 4+super.a()}write(a){super.write(a);_.O(a,this.f);a.getPosition()}},iS=class extends MS{constructor(a,b){super("trun",a,
|
|
50
|
+
b);this.l=this.j=this.f=0;this.o=[];this.sampleSize=[];this.A=[];this.h=[]}a(){let a=4;this.flags&QS&&(a+=4);this.flags&RS&&(a+=4);for(let b=0;b<this.f;b++)this.flags&SS&&(a+=4),this.flags&TS&&(a+=4),this.flags&US&&(a+=4),this.flags&VS&&(a+=4);return a+super.a()}write(a){super.write(a);_.O(a,this.f);this.flags&QS&&(a.getPosition(),fR(a,this.j));this.flags&RS&&_.O(a,this.l);for(let b=0;b<this.f;b++)this.flags&SS&&_.O(a,this.o[b]),this.flags&TS&&_.O(a,this.sampleSize[b]),this.flags&US&&_.O(a,this.A[b]),
|
|
51
|
+
this.flags&VS&&(0===this.version?_.O(a,this.h[b]):fR(a,this.h[b]));a.getPosition()}},QS=1,RS=4,SS=256,TS=512,US=1024,VS=2048,hS=class extends MS{constructor(a,b){super("tfhd",a,b);this.f=255;this.l=this.o=this.j=this.A=this.h=0}a(){let a=4;this.flags&WS&&(a+=8);this.flags&XS&&(a+=4);this.flags&YS&&(a+=4);this.flags&ZS&&(a+=4);this.flags&$S&&(a+=4);return a+super.a()}write(a){super.write(a);_.O(a,this.f);this.flags&WS&&bR(a,this.h);this.flags&XS&&_.O(a,this.A);this.flags&YS&&_.O(a,this.j);this.flags&
|
|
52
|
+
ZS&&_.O(a,this.o);this.flags&$S&&_.O(a,this.l);a.getPosition()}},WS=1,XS=2,YS=8,ZS=16,$S=32,nS=class extends wR{constructor(){super("traf")}},oS=class extends wR{constructor(){super("moof")}},mS=class extends wR{constructor(){super(_.pe);this.f=new Uint8Array(0)}a(){return this.f.byteLength+super.a()}write(a){super.write(a);0<this.f.byteLength&&_.Xl(a,this.f)}},zR=class extends MS{constructor(){super("tenc",0,0);this.f=1;this.h=8;this.l="";this.j=[]}a(){let a;a=20;1===this.f&&0===this.h&&(a=a+1+this.j.length);
|
|
53
|
+
return a+super.a()}write(a){super.write(a);cR(a,0);0===this.version?cR(a,0):cR(a,0);cR(a,this.f);cR(a,this.h);_.Xl(a,_.Kl(this.l));if(1===this.f&&0===this.h){cR(a,0);for(let b=0;b<this.j.length;b++)cR(a,this.j[b])}a.getPosition()}},BR=class extends MS{constructor(a,b){super("schm",0,0);this.f=a;this.h=b;this.Xb=""}a(){let a=8;this.flags&1&&(a+=hR(this.Xb).byteLength);return a+super.a()}write(a){super.write(a);_.Xl(a,hR(this.f));_.O(a,this.h);this.flags&1&&_.Xl(a,hR(this.Xb));a.getPosition()}},AR=
|
|
54
|
+
class extends wR{constructor(a){super("frma");this.f=a}a(){return hR(this.f).byteLength+super.a()}write(a){super.write(a);_.Xl(a,hR(this.f));a.getPosition()}},sS=class extends MS{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=0===this.version?a+4:a+8;return a+super.a()}write(a){super.write(a);this.flags&1&&(_.O(a,0),_.O(a,0));_.O(a,1);for(let b=0;1>b;b++)0===this.version?_.O(a,this.offset[b]):bR(a,this.offset[b]);a.getPosition()}},tS=class extends MS{constructor(a,
|
|
55
|
+
b,c){super("saiz",0,0);this.f=a;this.j=b;this.h=c}a(){let a=0;this.flags&1&&(a+=8);a+=5;0===this.f&&(a+=this.j.length);return a+super.a()}write(a){super.write(a);this.flags&1&&(_.O(a,0),_.O(a,0));cR(a,this.f);_.O(a,this.h);if(0===this.f)for(let b=0;b<this.h;b++)cR(a,this.j[b]);a.getPosition()}},lS=class extends MS{constructor(a,b){super("senc",a,b);this.h=0;this.j=8;this.f=[]}a(){let a=4;this.flags&1&&(a+=1);for(let b=0;b<this.h;b++)if(a+=this.f[b].gg.byteLength,this.flags&2){a+=2;for(let c=0;c<this.f[b].Yc;c++)a+=
|
|
56
|
+
2,a+=4}return a+super.a()}write(a){super.write(a);_.O(a,this.h);this.flags&1&&cR(a,this.j);for(let b=0;b<this.h;b++)if(_.Xl(a,this.f[b].gg),this.flags&2){eR(a,this.f[b].Yc);for(let c=0;c<this.f[b].Yc;c++)eR(a,this.f[b].hf[c].If),_.O(a,this.f[b].hf[c].Jf)}a.getPosition()}};var qS=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))}},oR=/^(\d{2,}):(\d{2}):(\d{2}):(\d{2})\.?(\d+)?$/,pR=/^(?:(\d{2,}):)?(\d{2}):(\d{2})$/,qR=/^(?:(\d{2,}):)?(\d{2}):(\d{2}\.\d{2,})$/,rR=/^(\d*\.?\d*)f$/,sR=/^(\d*\.?\d*)t$/,tR=/^(?:(\d*\.?\d*)h)?(?:(\d*\.?\d*)m)?(?:(\d*\.?\d*)s)?(?:(\d*\.?\d*)ms)?$/;var eS=class{constructor(a){this.a=a;this.f=vR(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=vR(this);for(let a=0;a<this.a.length;a++)this.a[a].write(this.f);return this.f.buffer}};var kS=new Uint8Array([162,57,79,82,90,155,79,20,162,68,108,66,124,100,141,244]);var aT=class{constructor(){this.A=this.j=this.f=this.D=null;this.h=1;this.V=0;this.o="";this.C=this.a=null;this.g=new _.S("clpp.smooth.SmoothParser");this.L=!1;this.l=this.B=null;this.P=CS;this.I=0;this.G=this.J=Infinity;this.w=[];this.M=this.S.bind(this);this.H=new Map}configure(a){this.f=a}start(a,b){this.D=b;a=[...new Set([a,iR(a)])];return yS(this,a).then(c=>GS(this,c.data).then(()=>{HS(this,this.B);return this.j}))}requestStop(){}stop(){this.D&&this.D.networkingEngine.xd(this.M);this.B=this.A=
|
|
57
|
+
this.j=this.f=this.D=null;this.l&&(clearTimeout(this.l),this.l=null);this.L=!1;this.J=this.G=Infinity;return Promise.resolve()}update(){if(this.F())return yS(this,[this.o]).then(a=>GS(this,a.data).then(()=>this.j)).catch(a=>{if(this.D)this.D.onError(a)})}setCurrentVariant(){}Vb(){this.g.debug(_.DB);this.D&&(this.l=null,this.update().then(()=>{HS(this,this.B)}).catch(a=>{this.D&&(this.D.onError(a),1===a.severity&&HS(this,100))}))}F(){return this.P===BS}K(){return 0<this.w.length}R(a){let b=null;if(this.w.length)for(let c=
|
|
58
|
+
0;c<this.w.length;c++)if(this.w[c].keySystem===a){b=this.w[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.A.timescale,c={isLive:this.F.bind(this),Vd:this.K.bind(this),Bh:()=>1,Sd:this.R.bind(this)};let d=!1;const e=new _.I(_.G,3,4035,null);let f=null;try{const g=this.H.get(a.request.uris[a.request.uriIndex])||a.request.startTime||0;g!==a.request.startTime&&this.g.debug(`Using base media decode time ${g} instead of `+
|
|
59
|
+
`segment reference time ${a.request.startTime}`);f=uS(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)}loadVariant(a){return _.x(function*(){return a})}loadTextStream(a,b){const c=this;return _.x(function*(){let d;const e=c.j.periods.find(f=>f.id===b);e&&(d=e.textStreams.find(f=>f.id===a)||null);if(!d)throw new _.ji(`Could not load text stream with id: ${a}`);return d})}},KS={video:_.pg,audio:_.Fc,text:_.xc},CS=_.Cb,BS=
|
|
60
|
+
"LIVE",LS={Pi:_.JB,Qi:_.XB};_.z("clpp.smooth.SmoothComponent",class extends _.Av{f(){_.$s.ism=aT;_.Ys[_.yc]=aT}a(){_.RD("ism");_.SD(_.yc)}id(){return _.Hf}});};f.call(g, window);
|
package/cl.thumbnails.js
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var Ly="Thumbnail URL is mandatory",My="Wrong gridSize format",Ny="clpp.thumbnails",Py=function(a,b){b.reduce((c,d)=>{let e=d,f=!1;typeof d===_.Ce&&(e=d.step,f=d.preloadWhileBuffering);return c.then(()=>Oy(a,0,e,!!f))},Promise.resolve())},Oy=function(a,b,c,d){if(a.w||b>=a.a.length)return Promise.resolve();const e=b+c;return Qy(a,d).then(()=>a.a[b].load()).then(()=>Oy(a,e,c,d))},Qy=function(a,b){return new Promise(c=>{if(b||a.player.getState()!==_.Po)c();else a.player.one(_.Mc,()=>{c()})})},
|
|
2
|
-
Ry=function(a){const b=a.a.byteLength;a.f.forEach(c=>{c.offset+c.length<b&&c.
|
|
3
|
-
Xy=function(a,b){const c=a.horizontalTiles||b.horizontalTiles||1,d=a.verticalTiles||b.verticalTiles||1,e=c*d;return{
|
|
4
|
-
Zy:null};var hz=class{constructor(){this.log=new _.S(Ny);this.player=null;this.a=[];this.w=!1}init(a,b){this.player=a;a.one(_.sf,()=>{this.w=!0});a.isLive()||this.l().then(()=>{b&&b.preload&&Py(this,b.preload)})}};var Ty=class{constructor(a,b,c,d,e,f,g,h,k,l,m,n){d=void 0===d?0:d;e=void 0===e?0:e;f=void 0===f?0:f;g=void 0===g?0:g;h=void 0===h?1:h;k=void 0===k?1:k;l=void 0===l?0:l;m=void 0===m?0:m;n=void 0===n?new Image:n;this.time=b;this.src=a;this.duration=c;this.x=d;this.y=e;this.width=f;this.height=g;this.sa=n;this.
|
|
2
|
+
Ry=function(a){const b=a.a.byteLength;a.f.forEach(c=>{c.offset+c.length<b&&c.Tc.resolve()})},Uy=function(a,b){return Sy(a,b).then(c=>new Ty(c,b.time,b.duration))},Sy=function(a,b){return b.load().then(()=>{const c=_.K(a.a,b.offset,b.length);return"data:image/jpeg;base64,"+_.Hl(c)})},Vy=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-1;0<=c;c--)b+=a[c]*d[c];return b},Wy=function(a,b){let c=null;for(const d of a)d.startTime<=b&&(c=d);return c},
|
|
3
|
+
Xy=function(a,b){const c=a.horizontalTiles||b.horizontalTiles||1,d=a.verticalTiles||b.verticalTiles||1,e=c*d;return{od:c,uf:d,fg:e,durationPerTile:a.durationPerTile||b.durationPerTile||(a.endTime-a.startTime)/e}},Yy=function(a){return a.some(b=>0<b.thumbStreams.length)},fz=function(a){return a?a===Zy||a===$y?new az:a===bz?new cz:a===dz?new ez:null:null},gz=function(a){if(!a)return null;a=new _.mm(a);return a.path.match(/.*\.vtt$/i)?bz:a.path.match(/.*\.bif$/i)?dz:a.path.match(/.*\.(png|jpg|jpeg)$/i)?
|
|
4
|
+
Zy:null};var hz=class{constructor(){this.log=new _.S(Ny);this.player=null;this.a=[];this.w=!1}init(a,b){this.player=a;a.one(_.sf,()=>{this.w=!0});a.isLive()||this.l().then(()=>{b&&b.preload&&Py(this,b.preload)})}};var Ty=class{constructor(a,b,c,d,e,f,g,h,k,l,m,n){d=void 0===d?0:d;e=void 0===e?0:e;f=void 0===f?0:f;g=void 0===g?0:g;h=void 0===h?1:h;k=void 0===k?1:k;l=void 0===l?0:l;m=void 0===m?0:m;n=void 0===n?new Image:n;this.time=b;this.src=a;this.duration=c;this.x=d;this.y=e;this.width=f;this.height=g;this.sa=n;this.ih=h;this.ri=k;this.Kh=l;this.Lh=m;this.Ie=null}raw(){return this.sa.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!==
|
|
5
5
|
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(_.Cd);a.style.width=c+_.of;a.style.height=d+_.of;a.style.backgroundColor="#000";a.style.backgroundRepeat="no-repeat";a.style.backgroundImage=`url("${this.src}")`;a.style.backgroundSize=`${Math.ceil(c/this.width*(this.sa.naturalWidth||this.sa.width))}px ${Math.ceil(d/this.height*(this.sa.naturalHeight||this.sa.height))}px`;b=this.y/this.height;a.style.backgroundPositionX="-"+this.x/
|
|
6
|
-
this.width*c+_.of;a.style.backgroundPositionY="-"+b*d+_.of;return a}load(){this.
|
|
7
|
-
{this.sa.removeEventListener(_.ke,e);this.sa.removeEventListener(_.q,d);b(new _.I(1,9,2014,"Failed to load thumbnail.",f))};this.sa.addEventListener(_.ke,e);this.sa.addEventListener(_.q,d);this.sa.src=this.src}}));return this.
|
|
6
|
+
this.width*c+_.of;a.style.backgroundPositionY="-"+b*d+_.of;return a}load(){this.Ie||(this.Ie=new Promise((a,b)=>{const c=()=>{this.width||(this.width=(this.sa.naturalWidth||this.sa.width)/this.ih);this.height||(this.height=(this.sa.naturalHeight||this.sa.height)/this.ri);this.x||(this.x=this.width*this.Kh);this.y||(this.y=this.height*this.Lh)};if(this.sa.src&&this.sa.complete)c(),a(this);else{var d=null,e=()=>{c();this.sa.removeEventListener(_.ke,e);this.sa.removeEventListener(_.q,d);a(this)};d=f=>
|
|
7
|
+
{this.sa.removeEventListener(_.ke,e);this.sa.removeEventListener(_.q,d);b(new _.I(1,9,2014,"Failed to load thumbnail.",f))};this.sa.addEventListener(_.ke,e);this.sa.addEventListener(_.q,d);this.sa.src=this.src}}));return this.Ie}};_.z("clpp.thumbnails.Thumbnail",Ty);Ty.prototype.load=Ty.prototype.load;Ty.prototype.element=Ty.prototype.element;Ty.prototype.raw=Ty.prototype.raw;var az=class extends hz{constructor(){super();this.f=null;this.o=this.h=1;this.j=0}init(a,b){if(!b||!b.url)throw new _.I(1,9,7100,Ly);if("GRID"===b.mode&&!b.gridSize)throw new _.I(1,9,7100,"Grid size is mandatory for GRID mode");if(!b.duration)throw new _.I(1,9,7100,"Duration is mandatory");this.f=b;this.j=this.f.duration;if(this.f.gridSize)try{const c=this.f.gridSize.split(/x/).map(d=>parseInt(d,10)).filter(d=>0<d);if(2===c.length)this.h=c[0],this.o=c[1];else throw new _.I(1,9,7100,My);}catch(c){throw this.log.error("Error during parsing gridSize",
|
|
8
8
|
c),new _.I(1,9,7100,My);}super.init(a,b)}get(a){const b=this;return _.x(function*(){var c=b.player.getDuration();if(0>a||a>c)throw new _.I(1,9,2014,`Position is out of range: ${a}`);c=Math.floor(a/b.f.duration);const d=b.a[c];if(!d)throw new _.I(1,9,2014,"No thumbnail found for position "+a+" at index "+c);yield d.load();return d})}l(){if(0<this.a.length)return Promise.resolve();var a=this.player.getDuration();const b=this.h*this.o;a=Math.ceil(Math.ceil(a/this.j)/b);const c=this.f.templateKey||"$index$";
|
|
9
|
-
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 Ty(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 iz=class{constructor(a,b){this.time=a;this.duration=0;this.offset=b;this.length=0;this.
|
|
9
|
+
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 Ty(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 iz=class{constructor(a,b){this.time=a;this.duration=0;this.offset=b;this.length=0;this.Tc=new _.bn}load(){return this.Tc}},ez=class{constructor(){this.g=new _.S(Ny);this.a=new ArrayBuffer(0);this.f=[];this.h=new _.bn}init(a,b){if(!b||!b.url)throw new _.I(1,9,7100,Ly);const c=b.url;b=_.mj(c);b.type=_.lj;a.getNetworkEngine().fetch(b).T.then(d=>{var e=d.data;d=_.K(this.a);e=_.K(e);var f=d.byteLength+e.byteLength,g=new ArrayBuffer(f),h=new DataView(g),k=0;for(let l=0,m=d.byteLength;l<m;l++)h.setUint8(k,
|
|
10
10
|
d[l]),k+=1;for(let l=0,m=e.byteLength;l<m;l++)h.setUint8(k,e[l]),k+=1;this.a=g;this.g.info(`Appended ${e.byteLength} bytes.`+`Total data now ${f} bytes.`);f=this.a;d=_.K(f);h=String.fromCharCode.apply(null,jz);k=Array.prototype.slice.call(d,0,8);d=64;e=0;g=!1;if(h===String.fromCharCode.apply(null,k))for(f=new DataView(f,16,20),f=f.getUint32(0,!0),0===f&&(f=1E3);!g;){e+=1;k=f;h=new DataView(this.a,d);g=h.getUint32(0,!0);k=g*k/1E3;h=h.getUint32(4,!0);h=new iz(k,h);if(k=this.f.length)k=this.f[k-1],k.length=
|
|
11
11
|
h.offset-k.offset,k.duration=h.time-k.time;this.f.push(h);d+=8;(g=4294967295===g)&&this.h.resolve();if(1E5<e)throw Error("There was a problem during reading BIF entries");}else throw Error("The file is not a valid BIF format");Ry(this)}).catch(d=>{this.g.error(`[BIF] Error while loading thumbnails '
|
|
12
12
|
+ 'URL: ${c}`,d);a.onError(new _.I(1,9,2013,"Error while loading and parsing BIF thumbnails.",d))})}get(a){const b=this;return _.x(function*(){if(0>a)throw new _.I(1,9,2014,`Position is out of range: ${a}`);yield b.h;var c=b.f.find(d=>a>=d.time&&a<d.time+d.duration);if(!c)throw new _.I(1,9,2014,`No thumbnail found for position: ${a}`);c=yield Uy(b,c);yield c.load();return c})}},jz=[137,66,73,70,13,10,26,10];var cz=class extends hz{constructor(){super();this.f=null}init(a,b){if(!b||!b.url)throw new _.I(1,9,7100,Ly);const c=b.url,d=_.mj(c);d.type=_.lj;this.f=a.getNetworkEngine().fetch(d).T.then(e=>{e=e.data;if(!e)throw Error("No data in the response");e=_.Ui(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],r=k[2];k=k[3];var l=f.indexOf("#");f=0>l?f:f.substr(0,
|
|
13
13
|
l);f.match(/^http|^\/\//)||(f=c.substr(0,c.lastIndexOf("/"))+"/"+f);l=Vy(g[0]);g=Vy(g[1])-l;this.a.push(new Ty(f,l,g,h,n,r,k,0,0))}}}).catch(e=>{this.log.error("[VTT] Error while loading thumbnails "+`URL: ${c}`,e);a.onError(new _.I(1,9,2013,"Error while loading VTT thumbnails.",e))});super.init(a,b)}get(a){const b=this;return _.x(function*(){if(0>a)throw new _.I(1,9,2014,`Position is out of range: ${a}`);yield b.f;const c=b.a.find(d=>a>=d.time&&a<d.time+d.duration);if(!c)throw new _.I(1,9,2014,`No thumbnail found for position: ${a}`);
|
|
14
14
|
yield c.load();return c})}l(){return this.f}};var kz=class extends hz{get(a){const b=this;return _.x(function*(){function c(){return new _.I(1,9,2014,`No thumbnail found for position: ${a}`)}if(0>a)throw b.log.error("Position must be greater than 0 but is "+a),new _.I(1,9,2014,`Position is out of range: ${a}`);var d=b.player.getPeriods();d=Wy(d,a);if(!d)throw b.log.error("Could not find period for specified position",a),c();var e=d.thumbStreams.sort(b.f)[0];if(!e)throw b.log.error("Could not find thumb stream for specified position",a),c();d=
|
|
15
|
-
e.findSegmentPosition(a-d.startTime);if(null===d||void 0===d)throw b.log.error("Could not find segment index for specified position",a),c();var f=e.getSegmentReference(d);if(f){const h=Xy(f,e),k=Math.floor((a-f.startTime)/h.durationPerTile);var g;if(0<b.a.length)f=e.findSegmentPosition(0),null!==f&&(g=b.a[(d-f)*h.
|
|
16
|
-
h.
|
|
17
|
-
0;k<e.
|
|
15
|
+
e.findSegmentPosition(a-d.startTime);if(null===d||void 0===d)throw b.log.error("Could not find segment index for specified position",a),c();var f=e.getSegmentReference(d);if(f){const h=Xy(f,e),k=Math.floor((a-f.startTime)/h.durationPerTile);var g;if(0<b.a.length)f=e.findSegmentPosition(0),null!==f&&(g=b.a[(d-f)*h.fg+k]);else if((e=f.Ya())&&0<e.length){let l=g=0;f=f.startTime;1<h.fg&&(g=k%h.od,l=Math.floor(k/h.od),f+=k*h.durationPerTile);g=new Ty(e[0],f,h.durationPerTile,void 0,void 0,void 0,void 0,
|
|
16
|
+
h.od,h.uf,g,l)}if(g)return yield g.load(),g}b.log.error("segment reference for specified segment index does not exist",d);throw c();})}f(a,b){return void 0!==a.bandwidth&&void 0!==b.bandwidth?a.bandwidth-b.bandwidth:0}l(){if(0<this.a.length)return Promise.resolve();var a=this.player.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=Xy(d,a),f=d.Ya()[0],g=new Image;let h=d.startTime;for(let k=
|
|
17
|
+
0;k<e.uf;++k)for(let l=0;l<e.od;++l)this.a.push(new Ty(f,h,e.durationPerTile,void 0,void 0,void 0,void 0,e.od,e.uf,l,k,g)),h+=e.durationPerTile}}return Promise.resolve()}};var lz=class{constructor(){this.g=new _.S(Ny);this.a=this.m=null}onPlayerCreated(a){this.m=a}onPlayerWillDestroy(){this.m=null}onPlayerWillRelease(){this.a=null}onContentWillLoad(a){const b=a.getConfiguration().thumbnails;if(b)if(!1===b.enabled)this.g.info("Thumbnails disabled.");else{var c=b.mode||null;c||(c=gz(b.url||null));(this.a=fz(c))?(this.g.info("Loading thumbs configuration",b),this.m.one(_.me,()=>{this.g.info("Initialize thumbnails provider");try{this.a.init(a,b)}catch(d){this.m.onError(d)}})):
|
|
18
18
|
this.g.warn("Unknown thumbnail mode",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();if(Yy(c)){this.a=new kz;try{this.a.init(a,b)}catch(d){this.m.onError(d)}}}}}get(a){return this.a?this.a.get(a):Promise.reject(new _.I(1,9,2014,"Thumbnail format is not supported"))}id(){return"thumbnails"}};_.z("clpp.thumbnails.ThumbnailsPlugin",lz);lz.prototype.get=lz.prototype.get;lz.Id="thumbnails";_.Ir(new class{create(){return new lz}});
|
|
19
19
|
var Zy="SINGLE",$y="GRID",bz="WEBVTT",dz="BIF";};f.call(g, window);
|