@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.
- package/CHANGELOG.md +20 -0
- package/cjs/cl.adobe.js +3 -3
- package/cjs/cl.airplay.js +3 -3
- package/cjs/cl.broadpeak.js +6 -6
- package/cjs/cl.cast.js +110 -110
- package/cjs/cl.conviva.js +33 -33
- package/cjs/cl.core.js +403 -403
- package/cjs/cl.crypto.js +10 -10
- package/cjs/cl.dash.js +71 -71
- package/cjs/cl.externs.js +47 -41
- package/cjs/cl.freewheel.js +24 -24
- package/cjs/cl.hls.js +68 -49
- package/cjs/cl.hlssmpte.js +6 -6
- package/cjs/cl.htmlcue.js +31 -31
- package/cjs/cl.ima.js +24 -23
- package/cjs/cl.mse.js +263 -260
- package/cjs/cl.muxdata.js +11 -12
- package/cjs/cl.onboard.js +3 -3
- package/cjs/cl.persistent.js +14 -14
- package/cjs/cl.playlist.js +6 -6
- package/cjs/cl.smooth.js +70 -69
- package/cjs/cl.thumbnails.js +24 -24
- package/cjs/cl.tizen.js +71 -71
- package/cjs/cl.ttml.js +27 -27
- package/cjs/cl.verimatrix.js +5 -5
- package/cjs/cl.vimond.js +13 -13
- package/cjs/cl.vr.js +13 -13
- package/cjs/cl.vtt.js +11 -11
- package/cjs/cl.youbora.js +19 -19
- package/cl.adobe.js +3 -3
- package/cl.airplay.js +3 -3
- package/cl.broadpeak.js +5 -5
- package/cl.cast.js +88 -88
- package/cl.conviva.js +27 -27
- package/cl.core.js +345 -343
- package/cl.crypto.js +8 -8
- package/cl.dash.js +67 -67
- package/cl.externs.js +47 -41
- package/cl.freewheel.js +19 -19
- package/cl.hls.js +57 -40
- package/cl.hlssmpte.js +5 -5
- package/cl.htmlcue.js +25 -25
- package/cl.ima.js +17 -16
- package/cl.mse.js +227 -227
- package/cl.muxdata.js +9 -8
- package/cl.onboard.js +4 -4
- package/cl.persistent.js +10 -10
- package/cl.playlist.js +5 -5
- package/cl.smooth.js +58 -58
- package/cl.thumbnails.js +17 -17
- package/cl.tizen.js +57 -57
- package/cl.ttml.js +22 -22
- package/cl.verimatrix.js +4 -4
- package/cl.vimond.js +8 -8
- package/cl.vr.js +15 -15
- package/cl.vtt.js +12 -12
- package/cl.youbora.js +14 -14
- package/package.json +1 -1
- package/typings.d.ts +118 -12
package/cl.mse.js
CHANGED
|
@@ -1,232 +1,232 @@
|
|
|
1
|
-
import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var
|
|
2
|
-
|
|
3
|
-
_.
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
_.
|
|
7
|
-
_.
|
|
8
|
-
case "4.1.0.0":e=[`<WRMHEADER xmlns="${"http://schemas.microsoft.com/DRM/2007/03/PlayReadyHeader"}" version="${a}">`,'\x3cDATA\x3e\x3cPROTECTINFO\x3e\x3cKID ALGID\x3d"AESCTR" ',c?`CHECKSUM="${c}" `:"",`VALUE="${e}"`,"\x3e\x3c/KID\x3e\x3c/PROTECTINFO\x3e",d?`<LA_URL>${d}</LA_URL>`:"",
|
|
9
|
-
c?`CHECKSUM="${c}" `:"",`VALUE="${e}"`,"\x3e\x3c/KID\x3e\x3c/KIDS\x3e\x3c/PROTECTINFO\x3e",d?`<LA_URL>${d}</LA_URL>`:"",
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
_.
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
_.
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
_.
|
|
21
|
-
_.
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
_.
|
|
25
|
-
c[c.length-1].position+1;f<b.length;)g=b[f++],g=new _.
|
|
26
|
-
_.
|
|
27
|
-
_.
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
a.f=Math.max(a.f,Math.min(d,a.j))};
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
return Promise.all(q)}):(f&&window.muxjs&&(a.g||
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
!1):!0))}d.textStreams=d.textStreams.filter(f=>{const g=_.
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
1
|
+
import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var Ht,It,Jt,Kt,Lt,Mt,Nt,Qt,Rt,Ut,Vt,Wt,Xt,Yt,Zt,au,cu,du,eu,fu,gu,ju,ku,lu,mu,nu,su,tu,uu,vu,xu,Au,Bu,Eu,Hu,Iu,Ku,Lu,Mu,Nu,Ou,Pu,Qu,Vu,Zu,av,bv,cv,dv,jv,lv,mv,qv,rv,sv,vv,uv,wv,xv,zv,Bv,Cv,Dv,Ev,Fv,Gv,Iv,Jv,Kv,Lv,Mv,Ov,Pv,Nv,Hv,Vv,Qv,Rv,Sv,Tv,Uv,Wv,Xv,$v,Yv,Zv,aw,bw,cw,dw,fw,gw,hw,iw,jw,kw,lw,mw,ow,nw,pw,xw,ww,yw,zw,Aw,Cw,Dw,Gw,Ew,Fw,Hw,Iw,Jw,Kw,Lw,Mw,Nw,Ow,Rw,Sw,Tw,Uw,Pw,Qw,Xw,$w,Zw,ax,Yw,bx,dx,cx,fx,gx,hx,ix,jx,kx,px,qx,sx,tx,mx,nx,ox,ux,vx,Cx,wx,xx,yx,zx,Ax,Dx,Hx,lx,Ix,Lx,Mx,Nx,Jx,
|
|
2
|
+
Kx,Fx,Gx,Ox,Px,Qx,Rx,Sx,Tx,Ux,Zx,Vx,Wx,Xx,Yx,$x,ay,by,qw,rw,sw,tw,uw,vw,ny,py,qy,vy,ty,sy,uy,Ey,Fy,Jy,Ny,az,xy,Hy,Iy,By,My,Py,Qy,Sy,ly,Uy,Vy,Yy,Zy,$y,Cy,Ly,dy,ky,ez,Dy,iy,jy,vz,ey,fy,gy,hy,cz,uz,bz,wz,gz,hz,fz,xz,yz,zz,Az,Bz,Cz,Dz,ou,Gy,iv,rz,qz,Av,yy;Ht=" buffer";It=" is being or has been set up";Jt="\x3c/DATA\x3e\x3c/WRMHEADER\x3e";Kt="Choosing new streams after key status change";Lt="IterateSegmentReference";Mt="Jumping forward";Nt="MediaSource threw QuotaExceededError:";_.Ot="No stream with id";
|
|
3
|
+
_.Pt="Player is in ERROR state and can not switch to ";Qt="PrestoPlay TextTrack";Rt="Removing audio from variant - audio not compatible with platform";_.St="Updating manifest...";_.Tt="VOD";Ut="bufferBehind\x3d";Vt="bufferedBehind\x3d";Wt="calling onCanSwitch()...";Xt="cannot find segment";Yt="clpp.mse.Player";Zt="currentPeriod.startTime\x3d";_.$t="getSegmentNextReference";au="key-restriction";_.bu="onChooseStreams_";cu="presentationTime:";du="presentationTime\x3d";eu="reference.endTime\x3d";fu="reference.position\x3d";
|
|
4
|
+
gu="reference.startTime\x3d";_.hu="subtitle";_.iu="subtitles";ju="switch: Stream ";ku=function(a,b,c){if(null==a&&null==b)return!0;if(null==a||null==b)return!1;a=c?a.map(c):a;b=c?b.map(c):b;return _.ag(a,b)&&_.ag(b,a)};lu=function(a){return`@@scheme:${a.scheme||""}`+`@@value:${a.value}`+`@@id:${a.id||""}@@type:${a.type||""}`+`@@protocol:${a.protocol||""}`};
|
|
5
|
+
mu=function(a,b){return a.type===b.type&&a.channelsCount===b.channelsCount&&a.frameRate===b.frameRate&&a.kind===b.kind&&a.label===b.label&&a.language===b.language&&a.mimeType===b.mimeType&&ku(a.roles,b.roles)&&ku(a.accessibility,b.accessibility,lu)};nu=function(a){for(var b=a.a;_.vj(a)&&0!==a.f.getUint8(a.a);)a.a+=1;b=a.f.buffer.slice(b,a.a);a.a+=1;return _.Fg(b)};
|
|
6
|
+
_.pu=function(a){const b=new Uint8Array(ou),c=4+b.byteLength+a.h.byteLength+4+a.f.byteLength,d=new _.Oj(c,!1);_.M(d,c);_.uj(d,b);_.uj(d,a.h);_.M(d,a.f.byteLength);_.uj(d,a.f);return _.I(d.buffer)};
|
|
7
|
+
_.qu=function(a,b,c,d){var e=_.Yg(b);if(8!==e.byteLength)e="";else{var f=_.xk(e);e=_.Tg(f);b:switch(f=f.byteLength,_.Hf("Trying to create PlayReady header in version",a),a){case "4.0.0.0":e=[`<WRMHEADER xmlns="${"http://schemas.microsoft.com/DRM/2007/03/PlayReadyHeader"}" version="${a}">`,"\x3cDATA\x3e\x3cPROTECTINFO\x3e",`<KEYLEN>${f}</KEYLEN>`,"\x3cALGID\x3eAESCTR\x3c/ALGID\x3e\x3c/PROTECTINFO\x3e",`<KID>${e}</KID>`,c?`<CHECKSUM>${c}</CHECKSUM>`:"",d?`<LA_URL>${d}</LA_URL>`:"",Jt].join("");break b;
|
|
8
|
+
case "4.1.0.0":e=[`<WRMHEADER xmlns="${"http://schemas.microsoft.com/DRM/2007/03/PlayReadyHeader"}" version="${a}">`,'\x3cDATA\x3e\x3cPROTECTINFO\x3e\x3cKID ALGID\x3d"AESCTR" ',c?`CHECKSUM="${c}" `:"",`VALUE="${e}"`,"\x3e\x3c/KID\x3e\x3c/PROTECTINFO\x3e",d?`<LA_URL>${d}</LA_URL>`:"",Jt].join("");break b;case "4.2.0.0":case "4.3.0.0":e=[`<WRMHEADER xmlns="${"http://schemas.microsoft.com/DRM/2007/03/PlayReadyHeader"}" version="${a}">`,'\x3cDATA\x3e\x3cPROTECTINFO\x3e\x3cKIDS\x3e\x3cKID ALGID\x3d"AESCTR" ',
|
|
9
|
+
c?`CHECKSUM="${c}" `:"",`VALUE="${e}"`,"\x3e\x3c/KID\x3e\x3c/KIDS\x3e\x3c/PROTECTINFO\x3e",d?`<LA_URL>${d}</LA_URL>`:"",Jt].join("");break b;default:_.C("Cannot create PlayReady header in version",a),e=""}}if(!e)return null;_.Hf("New payload",e);e=_.I(_.Kg(e,!0));return new _.Ak(_.Bk,b,d||null,e,a,c)};_.ru=function(a,b){return b===a.version?a:_.qu(b,a.a,a.j||void 0,a.g||void 0)};
|
|
10
|
+
su=function(a,b){a:{if(b)for(const c of a.g.keys()){const d=a.g.get(c);for(let e=0;e<d.$a.length;e++)if(d.$a[e]===b){a=d;break a}}a=null}return a?a.Aa:null};tu=function(a,b){return _.bi("Edge/")?!0:a.J.has(b)};uu=function(a,b){a=a.j.get(b);return!(!a||a!==_.Ld&&a!==_.fd)};
|
|
11
|
+
vu=function(a,b){const c=b.audio,d=b.video;if(c&&c.encrypted&&!tu(a,_.Vh(c.mimeType,c.codecs))||d&&d.encrypted&&!tu(a,_.Vh(d.mimeType,d.codecs)))return!1;const e=a.keySystem();return 0==b.drmInfos.length||b.drmInfos.some(f=>f.keySystem==e)};_.wu=function(a,b){return a.concat(b)};xu=function(){};_.yu=function(a,b){if(0==b.length)return a;const c=b.map(d=>new _.dg(d));return a.map(d=>new _.dg(d)).map(d=>c.map(d.resolve.bind(d))).reduce(_.wu,[]).map(d=>d.toString())};
|
|
12
|
+
_.zu=function(a,b,c){return{keySystem:a,licenseServerUri:"",distinctiveIdentifierRequired:!1,persistentStateRequired:!1,audioRobustness:"",videoRobustness:"",serverCertificate:null,initData:b||[],keyIds:[],periodId:c?c:null}};Au=function(a,b){a=_.sg(a);b=_.sg(b);a=a.split("-");b=b.split("-");return a[0]==b[0]&&1==a.length&&2==b.length};Bu=function(a){return a.language?_.sg(a.language):a.audio&&a.audio.language?_.sg(a.audio.language):a.video&&a.video.language?_.sg(a.video.language):_.ye};
|
|
13
|
+
_.Cu=function(a,b){a=_.sg(a);const c=new Set;for(var d of b)c.add(_.sg(d));for(const e of c)if(e==a)return e;for(const e of c)if(Au(e,a))return e;for(const e of c)if(d=e,b=a,d=_.sg(d),b=_.sg(b),d=d.split("-"),b=b.split("-"),b=2==d.length&&2==b.length&&d[0]==b[0])return e;for(const e of c)if(Au(a,e))return e;return null};_.Du=function*(a){let b=-1,c=void 0,d=void 0;for(const e of a)0<=b&&(yield{xd:b,item:d,Zf:c,next:e}),b++,c=d,d=e;-1!==b&&(yield{xd:b,Zf:c,item:d,next:void 0})};
|
|
14
|
+
Eu=function(a,b){for(const c in b)if(b[c]===a)return c;return""};
|
|
15
|
+
_.Fu=function(a,b){if(!a.length)return b;if(!b.length)return a;const c=[];for(let e=0;e<a.length;e++)for(var d=0;d<b.length;d++)if(a[e].keySystem===b[d].keySystem&&a[e].periodId===b[d].periodId){const f=a[e];d=b[d];let g=[];g=g.concat(f.initData||[]);g=g.concat(d.initData||[]);const h=[...f.keyIds||[]];d.keyIds&&d.keyIds.length&&d.keyIds.forEach(k=>{h.includes(k)||h.push(k)});c.push({keySystem:f.keySystem,licenseServerUri:f.licenseServerUri||d.licenseServerUri,distinctiveIdentifierRequired:f.distinctiveIdentifierRequired||
|
|
16
|
+
d.distinctiveIdentifierRequired,persistentStateRequired:f.persistentStateRequired||d.persistentStateRequired,videoRobustness:f.videoRobustness||d.videoRobustness,audioRobustness:f.audioRobustness||d.audioRobustness,serverCertificate:f.serverCertificate||d.serverCertificate,initData:g,keyIds:h,periodId:f.periodId});break}return c};_.Gu=function(a,b){return a.length&&b.length?0<_.Fu(a,b).length:!0};Hu=function(a,b){let c=0;for(const d of a)c+=b(d)?1:0;return c};
|
|
17
|
+
Iu=function(a){const b=[a.mimeType];_.Yo.forEach((c,d)=>{(d=a[d])&&b.push(c+'\x3d"'+d+'"')});return b.join(";")};_.Ju=function(a){a=a.split(".");const b=a[0];a.pop();return[b,a.join(".")]};Ku=function(a,b="total"){b=new _.bp(void 0,b);for(const c of a)b.a.push(c);b.length=a.length;return b};Lu=function(a,b){return a.start-b.start};Mu=function(a){return a.V.map(b=>({start:b.start,end:b.end,width:b.width,height:b.height,bandwidth:b.bandwidth,rendition:b.rendition}))};Nu=function(a){a.a&&a.a.trigger(new _.F(_.fc))};
|
|
18
|
+
Ou=function(a){if(a.a){var b=!1,c={};for(let d=0;d<a.V.length;d++){const e=a.V[d],f=e.width+"x"+e.height,g=c[f];if(g&&g!==e.bandwidth){b=!0;break}c[f]=e.bandwidth}b&&!a.g?(a.log.debug("Tracking timeupdates"),a.a.on(_.ve,a.f,a),a.g=!0):!b&&a.g&&(a.log.debug("Stop tracking timeupdates"),a.a.off(_.ve,a.f),a.g=!1)}};Pu=function(a,b,c){a.V=a.V.filter(d=>{if(d.end<=b||d.start>=c)return!1;d.start=Math.max(d.start,b);d.end=Math.min(d.end,c);return!0});a.a&&a.a.trigger(new _.F(_.Le))};
|
|
19
|
+
Qu=function(a,b){let c=null;for(const d of a)b>=d.startTime&&(c=d);return c};_.Ru=function(a,b,c){const d=Math.pow(a.g,b);c=c*(1-d)+d*a.a;isNaN(c)||(a.a=c,a.f+=b)};_.Su=function(a){return a.a/(1-Math.pow(a.g,a.f))};
|
|
20
|
+
_.Tu=function(a,b,c,d,e,f,g,h){a=_.kh(a);a.timeout=d.timeout;a.maxAttempts=d.maxAttempts;a.baseDelay=d.baseDelay;a.fuzzFactor=d.fuzzFactor;a.backoffFactor=d.backoffFactor;if(0!==b||null!=c)a.headers.Range=c?"bytes\x3d"+b+"-"+c:"bytes\x3d"+b+"-";e&&(a.startTime=e);f&&(a.endTime=f);g&&(a.contentType=g);h&&(a.timescale=h);return a};_.Uu=function(a,b){a.m=b;a.o=b};Vu=function(a){return a.m?a.f:a.o?a.g:null};_.Wu=function(a,b){a.h=null==a.h?b:Math.min(a.h,b)};
|
|
21
|
+
_.Xu=function(a,b,c){if(0!=b.length){var d=b[b.length-1].endTime+c;_.Wu(a,b[0].startTime+c);a.a=b.reduce((e,f)=>Math.max(e,f.endTime-f.startTime),a.a);a.g=Math.max(a.g||0,d);null!=a.w&&a.H&&(a.w=(Date.now()+a.B)/1E3-(a.g||0)-a.a);a.C.debug("notifySegments: maxSegmentDuration\x3d"+a.a)}};_.Yu=function(a,b){a.a=Math.max(a.a,b);a.C.debug("notifyNewSegmentDuration: maxSegmentDuration\x3d"+a.a)};
|
|
22
|
+
Zu=function(a){if(a.m)a=a.f;else if(a.o)a=a.g||0;else{var b=(Date.now()+a.B)/1E3;b=a.G?Math.max(0,b-(a.a-a.A)-a.w):Math.max(0,b-a.a-a.w);a=Math.min(b,a.f)}return a};_.$u=function(a){return Infinity==a.j?0:Math.max(0,Zu(a)-a.j)};av=function(a){return Math.max(0,Zu(a)-(a.m||a.o?0:a.F))};bv=function(a,b){const c=Math.max(a.h,0);return Infinity==a.j?Math.ceil(1E3*c)/1E3:Math.max(c,Math.min(Zu(a)-a.j+b,av(a)))};cv=function(a,b){a.f=b};
|
|
23
|
+
dv=function(a){let b=a.g.get(a.a);if(!b)return null;0<b.a.length&&b.Fa().length&&a.f>=b.a.length&&(a.a+=1,a.f=0,b=a.g.get(a.a));return b&&0<b.a.length?b.a[a.f]||null:b};_.ev=function(a){return a.a.length?a.a[a.a.length-1].endTime:0};
|
|
24
|
+
_.gv=function(a,b){let c=[];const d=[];for(var e=0,f=0;e<a.a.length&&f<b.length;){var g=a.a[e];const h=b[f];g.startTime<h.startTime?(c.push(g),e++):(g.startTime>h.startTime?0===e?d.push(h):a.h.info("Refusing to rewrite original references on update!"):(.1<Math.abs(g.endTime-h.endTime)?c.push(new _.fv(g.position,h.startTime,h.endTime,h.Fa,h.ta,h.ha,h.Ha,h.keyInfo,h.kc,h.timescale,h.horizontalTiles,h.verticalTiles,h.durationPerTile)):c.push(g),e++),f++)}for(;e<a.a.length;)c.push(a.a[e++]);if(c.length)for(e=
|
|
25
|
+
c[c.length-1].position+1;f<b.length;)g=b[f++],g=new _.fv(e++,g.startTime,g.endTime,g.Fa,g.ta,g.ha,g.Ha,g.keyInfo,g.kc,g.timescale,g.horizontalTiles,g.verticalTiles,g.durationPerTile),c.push(g);else c=b;b=c;if(d.length&&c.length){b=[];f=c[0].position;e=d.length;for(const h of d)b.push(new _.fv(f-e--,h.startTime,h.endTime,h.Fa,h.ta,h.ha,h.Ha,h.keyInfo,h.kc,h.timescale,h.horizontalTiles,h.verticalTiles,h.durationPerTile));for(const h of c)b.push(h)}a.a=b};
|
|
26
|
+
_.hv=function(a,b){for(let c=0;c<a.a.length;++c)if(a.a[c].endTime>b)return a.a.splice(0,c);b=a.a;a.a=[];return b};jv=function(a,b){let c=a.f(b);c=null===c?-1:c-1;const d=a.get(c+1);let e=-1;if(d&&0<d.a.length)for(let f=d.a.length-1;0<=f;--f){let g=d.a[f];if(b>=g.startTime&&b<g.endTime){for(;f&&!g.g;)--f,g=d.a[f];if(!g.g)break;c+=1;e=f-1;break}}return new iv(a,c,e)};
|
|
27
|
+
_.kv=function(a,b){for(;a.a.length;)if(0>=a.a[0].endTime)a.a.shift();else break;0==a.a.length||a.a[a.a.length-1].startTime>=b||(a.a[a.a.length-1].endTime=b)};lv=function(a,b){for(const c of a.a)c.m(a.f.currentTime,b)};mv=function(a,b,c,d){a.a=b;a.f=c;a.g=d};_.nv=function(a){_.Kn[a]&&delete _.Kn[a]};_.ov=function(a){_.In[a]&&delete _.In[a]};_.pv=function(a){a=a.toLowerCase();return _.io[a]||window.muxjs&&a==_.Ub?!0:!1};
|
|
28
|
+
qv=function(a,b,c,d){return Promise.resolve().then(()=>{if(a.o&&a.g)if(null==c||null==d)a.o.parseInit(_.I(b));else{var e={periodStart:a.w,segmentStart:c,segmentEnd:d};e=a.o.parseMedia(_.I(b),e);var f=e.cues.filter(g=>g.startTime>=a.h&&g.startTime<a.j);a.g.append(f,e.styles);null==a.a&&(a.a=Math.max(c,a.h));a.f=Math.min(d,a.j)}})};rv=function(a,b,c){a.A=b;if(b=a.m.get(b))for(const d of b.keys()){let e=b.get(d);e&&(e=e.filter(f=>f.endTime<=c),a.g.append(e,[]))}};
|
|
29
|
+
sv=function(a,b,c,d,e){const f=c+" "+d,g=new Map;for(const h of b){b=h.stream;g.has(b)||g.set(b,new Map);g.get(b).has(f)||g.get(b).set(f,[]);h.startTime+=e;h.endTime+=e;if(!(h.startTime>=a.h&&h.startTime<a.j))continue;const k=new _.Co(h.startTime,h.endTime,h.text);g.get(b).get(f).push(k);b==a.A&&a.g.append([k],[])}for(const h of g.keys()){a.m.has(h)||a.m.set(h,new Map);for(const k of g.get(h).keys())e=g.get(h).get(k),a.m.get(h).set(k,e)}a.a=null==a.a?Math.max(c,a.h):Math.min(a.a,Math.max(c,a.h));
|
|
30
|
+
a.f=Math.max(a.f,Math.min(d,a.j))};vv=function(a,b){return!window.muxjs||"mp2t"!=a.toLowerCase().split(";")[0].split("/")[1]&&"aac"!=a.toLowerCase().split(";")[0].split("/")[1]?!1:b?MediaSource.isTypeSupported(uv(b,a))||MediaSource.isTypeSupported(a.replace(/aac/i,_.xd)):MediaSource.isTypeSupported(uv(_.p,a))||MediaSource.isTypeSupported(a.replace(/aac/i,_.xd))||MediaSource.isTypeSupported(uv(_.w,a))};
|
|
31
|
+
uv=function(a,b){b=b.replace(/mp2t/i,_.xd);a==_.p&&(b=b.replace(_.w,_.p));if(a=/avc1\.(66|77|100)\.(\d+)/.exec(b)){let d="avc1.";var c=a[1];d="66"==c?d+"4200":"77"==c?d+"4d00":d+"6400";c=Number(a[2]);d+=(c>>4).toString(16);d+=(c&15).toString(16);b=b.replace(a[0],d)}return b};wv=function(a,b){a.h=!0;a.f=new _.Xk;a.m=[];a.j=[];a.g=[];b=_.I(b);a.a.push(b);a.a.flush();a.h&&a.f.reject(new _.H(_.G,3,3018));return a.f};
|
|
32
|
+
xv=function(a){const b=_.Vh(a.mimeType,a.codecs),c=Iu(a);return _.pv(b)||MediaSource.isTypeSupported(c)||vv(b,a.type)};zv=function(a,b){const c=new MediaSource,d=yv(c);a.o.one(c,"sourceopen",()=>{URL.revokeObjectURL(d);b.resolve()});a.j.src=d;return c};Bv=function(a,b){a.g||(a.g=new Av(a.M,a.B));a=a.g;if(b!=_.Ub){var c=_.io[b];if(!c)throw new _.H(_.G,2,2012,"Text parser is unavailable for "+b);a.o=new c(a.B)}};
|
|
33
|
+
Cv=function(a,b){b.forEach((c,d)=>{c=a.m.addSourceBuffer(c);a.o.on(c,_.$c,a.T.bind(a,d));a.o.on(c,"updateend",a.w.bind(a,d));a.f[d]=c;a.h[d]=[];a.F[d]=!1});a.K=b.has(_.p)&&b.has(_.w)};Dv=function(a){return a.m?a.m.readyState==_.Zc:!0};Ev=function(a,b){try{return new _.bp(a.f[b].buffered,b)}catch(c){return b in a.f&&a.a.error("failed to get buffered range for "+b,c),null}};
|
|
34
|
+
Fv=function(a){const b={};b.total=new _.bp(a.j.buffered,"total");b.audio=Ev(a,_.p);b.video=Ev(a,_.w);let c=[];a.g&&(c=[{start:a.g.mb(),end:a.g.ya()}]);b.text=Ku(c,_.v);return b};Gv=function(a,b){return a.f[b]?(a=Ev(a,b))?a.toString():"":""};Iv=function(a,b,c){if(a.I)return Promise.reject();c={start:c,p:new _.Xk};a.h[b].push(c);1===a.h[b].length&&Hv(a,b);return c.p};
|
|
35
|
+
Jv=function(a,b,c,d,e,f,g,h){h=void 0===h?!1:h;const k=a.f[b];let l=-1,m=0;k&&k.buffered&&(m=k.buffered.length);b===_.w&&null!==d&&null!==e&&h&&(l=0<m?k.buffered.end(m-1):-1);b==_.v?c=qv(a.g,c,d,e):a.A[b]?c=wv(a.A[b],c).then(n=>{n.captions&&0<n.captions.length&&(a.g||Bv(a,_.te),sv(a.g,n.captions,d,e,a.f.video.timestampOffset));const q=[];0<n.audio.byteLength&&a.f.audio&&q.push(Iv(a,_.p,a.J.bind(a,_.p,n.audio.buffer)));0<n.video.byteLength&&a.f.video&&q.push(Iv(a,_.w,a.J.bind(a,_.w,n.video.buffer)));
|
|
36
|
+
return Promise.all(q)}):(f&&window.muxjs&&(a.g||Bv(a,_.te),null==d&&null==e?a.G.init(c):a.G.g(c,n=>{n.length&&sv(a.g,n,d,e,a.f.video.timestampOffset)})),c=Iv(a,b,a.J.bind(a,b,c)));return c.then(()=>{if(b===_.w&&null!==d&&null!==e&&!h)a.C.append(d,e,g),null!==d&&null!==e&&a.a.debug("Appended video segment ",d,e,"Buffer:",Gv(a,b));else if(b===_.p&&null!==d&&null!==e)Nu(a.C),null!==d&&null!==e&&a.a.debug("Appended audio segment ",d,e,"Buffer:",Gv(a,b));else if(b===_.w&&null!==d&&null!==e&&h){var n=k.buffered.length,
|
|
37
|
+
q=0<n?k.buffered.end(n-1):-1;0>l&&0<n&&(l=k.buffered.start(0));0<=l&&0<q&&a.C.append(l,q,g)}if(!a.F[b]&&k&&1===k.buffered.length){n=k.buffered.start(0);const t=d-n;if(Math.abs(t)>a.W&&0===k.timestampOffset)return a.a.warn(`Detected a delta of ${t} between `+`media times and segment times for ${b}. `+`The segment start time is ${d} and the media start time `+`is ${n}. Adjusting timestampOffset.`),n=Iv(a,b,()=>{a.S(b,t)}),q=Iv(a,b,a.O.bind(a,b,!1)),Promise.all([n,q])}null!==d&&null!==e&&(a.F[b]=!0)}).catch(n=>
|
|
38
|
+
{throw n;})};Kv=function(a,b){const c=a.ya(_.w)||0;rv(a.g,b,c)};Lv=function(a,b,c,d,e){return[Iv(a,b,a.U.bind(a,b)),Iv(a,b,a.S.bind(a,b,c)),Iv(a,b,a.X.bind(a,b,d,e))]};Mv=function(a,b,c,d,e){if(b==_.v)return a.g.w=c,a=a.g,a.h=d,a.j=e,Promise.resolve();b=Lv(a,b,c,d,e);a.K&&(b=b.concat(Lv(a,_.p,c,d,e)));return Promise.all(b)};
|
|
39
|
+
Ov=function(a,b){if(a.I)return Promise.reject();const c=[];for(const d in a.f){const e=new _.Xk,f={start:function(g){g.resolve()}.bind(null,e),p:e};a.h[d].push(f);c.push(e);1==a.h[d].length&&f.start()}return Promise.all(c).then(()=>{for(const e in a.f);let d;try{b()}catch(e){d=Promise.reject(new _.H(_.G,3,3015,{mediaError:e}))}for(const e in a.f)Nv(a,e);return d},()=>{for(const d in a.f)a.h[d].length&&a.h[d].shift();return Promise.reject()})};Pv=function(a,b){Ov(a,()=>{a.m.duration=b})};
|
|
40
|
+
Nv=function(a,b){a.h[b].shift();Hv(a,b)};Hv=function(a,b){const c=a.h[b][0];if(c)try{a.a.debug("Starting next operation for "+b),c.start()}catch(d){"QuotaExceededError"==d.name?c.p.reject(new _.H(_.G,3,3017,{type:b})):c.p.reject(new _.H(_.G,3,3015,{mediaError:d})),Nv(a,b)}else a.a.debug("No more scheduled operations for "+b)};
|
|
41
|
+
Vv=function(a,b,c,d){var e=a.periods.flatMap(h=>h.variants);if(b.length||c.length)e=Qv(e,b,c);e=Rv(e,d);if(1<a.periods.length){const h=l=>{l=l.split(".");let m=l[0];1<l.length&&(m+="."+l[1]);return m.toLowerCase()};b=[];for(var f of a.periods){c=new Set;for(const l of f.variants)null!==l.audio&&c.add(h(l.audio.codecs));b.push(c)}let k=b[0];for(f=1;f<b.length;f++){const l=b[f];k=new Set([...k].filter(m=>l.has(m)))}e=e.filter(l=>0===k.size&&null===l.audio?!0:0<k.size&&null===l.audio?!1:k.has(h(l.audio.codecs)))}e=
|
|
42
|
+
Sv(e);const g=Tv(e);for(const h of a.periods)h.variants=h.variants.filter(k=>{if(Uv(k)===g)return!0;_.Hf("Dropping Variant (better codec available)",k);return!1})};Qv=function(a,b,c){for(const d of b)if(b=a.filter(e=>e.video&&e.video.codecs.startsWith(d)),b.length){a=b;break}for(const d of c)if(c=a.filter(e=>e.audio&&e.audio.codecs.startsWith(d)),c.length){a=c;break}return a};
|
|
43
|
+
Rv=function(a,b){var c=a.filter(f=>f.audio&&f.audio.channelsCount);const d=new Map;for(var e of c)c=e.audio.channelsCount,d.has(c)||d.set(c,[]),d.get(c).push(e);e=Array.from(d.keys());if(0===e.length)return a;a=e.filter(f=>f<=b);return a.length?d.get(Math.max.apply(null,a)):d.get(Math.min.apply(null,e))};Sv=function(a){const b=new _.qo;for(const c of a)a=Uv(c),b.push(a,c);return b};
|
|
44
|
+
Tv=function(a){let b="",c=Infinity;a.forEach((d,e)=>{e=e.reduce((f,g)=>f+g.bandwidth||0,0)/e.length;_.Hf(_.Fc,d,"avg bandwidth",e);e<c&&(b=d,c=e)});return b};Uv=function(a){let b="";a.video&&(b=_.Ju(a.video.codecs)[0]);let c="";a.audio&&(c=_.Ju(a.audio.codecs)[0]);return b+"-"+c};
|
|
45
|
+
Wv=function(a,b,c){var d=a.video,e;if(e=d&&d.width&&d.height){e=d.width;if(e=e>=b.minWidth&&e<=Math.min(b.maxWidth,c.width))e=d.height,e=e>=b.minHeight&&e<=Math.min(b.maxHeight,c.height);if(c=e)d=d.width*d.height,c=d>=b.minPixels&&d<=b.maxPixels;e=!c}(d=e)||(a=a.bandwidth,d=!(a>=b.minBandwidth&&a<=b.maxBandwidth));return d?!1:!0};Xv=function(a,b,c){let d=!1;for(const e of a)a=e.allowedByApplication,e.allowedByApplication=Wv(e,b,c),a!=e.allowedByApplication&&(d=!0);return d};
|
|
46
|
+
$v=function(a,b,c,d){let e=!1;d.variants=d.variants.filter(f=>{if(a&&a.R&&!vu(a,f))return _.Hf("Dropping variant - not compatible with key system",f),!1;let g=f.audio;const h=f.video;if(g&&!xv(g)){const k=g.codecs;0<=g.codecs.indexOf("ec-3")?(_.Hf("Trying to use AC-3 for EC-3"),g.codecs=g.codecs.replace("ec-3","ac-3"),xv(g)?_.Gf("Using AC-3 instead of EC-3 for",Yv(g)):(g.codecs=k,_.Gf(Rt,Yv(g)),f.audio=null,e=!0,g=null)):(_.Gf(Rt,Yv(g)),f.audio=null,e=!0,g=null)}return h&&!xv(h)?(_.Gf("Dropping variant - video not compatible with platform",
|
|
47
|
+
Yv(h)),!1):g&&b&&!Zv(g,b)?(_.Gf("Dropping variant - not compatible with active audio","active audio",Yv(b),"variant.audio",Yv(g)),!1):h&&c&&!Zv(h,c)?(_.Gf("Dropping variant - not compatible with active video","active video",Yv(c),"variant.video",Yv(h)),!1):!0});if(e){let f=!1,g=!1;for(const h of d.variants)!f&&h.video&&h.audio&&(f=!0),g||h.audio||!h.video||(g=!0);f&&g&&(d.variants=d.variants.filter(h=>h.video&&!h.audio?(_.Gf("Dropping variant - not compatible with video + audio","variant.video",Yv(h.video)),
|
|
48
|
+
!1):!0))}d.textStreams=d.textStreams.filter(f=>{const g=_.pv(_.Vh(f.mimeType,f.codecs));g||_.Hf("Dropping text stream. Is not supported by the platform.",f);return g})};
|
|
49
|
+
Yv=function(a){const b=Iu(a);return a.type===_.p?"type\x3daudio mimeType\x3d"+a.mimeType+" codecs\x3d"+a.codecs+" codecInfo\x3d"+b+" bandwidth\x3d"+a.bandwidth+" channelsCount\x3d"+a.channelsCount:a.type===_.w?"type\x3dvideo mimeType\x3d"+a.mimeType+" codecs\x3d"+a.codecs+" codecInfo\x3d"+b+" bandwidth\x3d"+a.bandwidth+" frameRate\x3d"+a.frameRate+" width\x3d"+a.width+" height\x3d"+a.height:"unexpected stream type"};
|
|
50
|
+
Zv=function(a,b){return a.mimeType!=b.mimeType||a.codecs.split(".")[0]!=b.codecs.split(".")[0]?!1:!0};
|
|
51
|
+
aw=function(a){const b=a.audio,c=a.video,d=b?b.codecs:null,e=c?c.codecs:null,f=[];e&&f.push(e);d&&f.push(d);const g=c&&c.mimeType||null,h=b&&b.mimeType||null;var k=[];b&&k.push(b.kind);c&&k.push(c.kind);k=k[0]||null;const l=new Set,m=new Set;if(b)for(var n of b.roles)m.add(n);if(c)for(const q of c.roles)l.add(q);n=[c,b].map(q=>q?q.accessibility||[]:[]).reduce((q,t)=>q.concat(t),[]);a={id:a.id,active:!1,type:"variant",bandwidth:a.bandwidth,language:a.language,label:null,kind:k,width:null,height:null,
|
|
52
52
|
frameRate:null,mimeType:g,audioMimeType:h,codecs:f.join(", "),audioCodec:d,videoCodec:e,primary:a.primary,roles:Array.from(l),audioRoles:Array.from(m),videoId:null,audioId:null,channelsCount:null,audioBandwidth:null,videoBandwidth:null,originalVideoId:null,originalAudioId:null,originalTextId:null,accessibility:n,keyId:c?c.keyId:b?b.keyId:null};c&&(a.videoId=c.id,a.originalVideoId=c.originalId,a.width=c.width||null,a.height=c.height||null,a.frameRate=c.frameRate||null,a.videoBandwidth=c.bandwidth||
|
|
53
53
|
null);b&&(a.audioId=b.id,a.originalAudioId=b.originalId,a.channelsCount=b.channelsCount,a.audioBandwidth=b.bandwidth||null,a.label=b.label,a.audioRoles=b.roles);return a};
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
_
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
_.
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
${b} with ID: ${c.id}`);if(b===_.
|
|
64
|
-
l.id).filter(l=>l!==f.id);g=h.find(l=>k.find(m=>m==l.audioId))}}else g=
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
b,a.a=d,a.j=c;d=b-a.h;d>=a.m&&c&&a.f(a.a,d)}}else if((0!=e||a.w)&&a.F&&(f=d.start(e),!(f>=
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
f<g.end(h)){f=g.start(h+1)-f;break a}f=null}f&&(e=Math.min(f+.1,e))}a.f.warn(`Seeking forward ${e} seconds to break stall.`);b.currentTime+=e}else a.f.warn("Pausing and unpausing to break stall."),b.pause(),b.play()});return c}
|
|
78
|
-
|
|
79
|
-
|
|
54
|
+
bw=function(a){return{id:a.id,active:!1,type:_.v,bandwidth:0,language:a.language,label:a.label,kind:a.kind||null,width:null,height:null,frameRate:null,mimeType:a.mimeType,audioMimeType:null,codecs:a.codecs||null,audioCodec:null,videoCodec:null,primary:a.primary,roles:a.roles,audioRoles:null,videoId:null,audioId:null,channelsCount:null,audioBandwidth:null,videoBandwidth:null,originalVideoId:null,originalAudioId:null,originalTextId:a.originalId,accessibility:a.accessibility,keyId:null}};
|
|
55
|
+
cw=function(a){return a.allowedByApplication&&a.allowedByKeySystem};
|
|
56
|
+
_.ew=function(a,b,c){b=_.Zf(b);let d=a;const e=a.filter(g=>g.primary);e.length&&(d=e);const f=d.length?d[0].language:"";d=d.filter(g=>g.language===f);b.some(g=>{const h=_.Cu(_.sg(g),a.map(k=>k.language));return h?(d=a.filter(k=>_.sg(k.language)===h),!0):!1});if(c){b=dw(d,c);if(b.length)return b;_.C("No exact match for the text role could be found.")}else if(b=d.filter(g=>0===g.roles.length),b.length)return b;b=d.map(g=>g.roles).reduce(_.wu,[]);return b.length?dw(d,b[0]):d};
|
|
57
|
+
dw=function(a,b){return a.filter(c=>c.roles.includes(b))};fw=function(a,b,c){for(let d=0;d<c.length;d++)if(c[d].audio===a&&c[d].video===b)return c[d];return null};
|
|
58
|
+
gw=function(a,b){var c=String(_.xh++);c=new _.yh(c,a);c.mimeType=_.uh(b.mimeType);if(a===_.J||a===_.K)c.label=_.uh(b.label),c.language=_.uh(b.language);a===_.L?(c.frameRate=b.frameRate,c.roles=b.roles):a===_.K?(c.channelsCount=b.channelsCount,c.roles=b.audioRoles||[],c.mimeType=_.uh(b.audioMimeType)):(c.kind=_.uh(b.kind),c.roles=b.roles);c.accessibility=a===_.L||a===_.K?(b.accessibility||[]).filter(d=>d.type===a):b.accessibility||[];return c};
|
|
59
|
+
hw=function(a,b,c){const d=new _.Gh(a===_.L?`${b.videoId}`:a===_.K?`${b.audioId}`:`${b.id}`,c);switch(a){case _.L:d.codec=_.uh(b.videoCodec);d.bandwidth=b.videoBandwidth||b.bandwidth;d.width=b.width;d.height=b.height;d.originalId=b.originalVideoId;d.drm={keyId:b.keyId||void 0};break;case _.K:d.codec=_.uh(b.audioCodec);d.bandwidth=b.audioBandwidth||b.bandwidth;d.originalId=b.originalAudioId;d.drm={keyId:b.keyId||void 0};break;default:d.codec=_.uh(b.codecs),d.originalId=b.originalTextId}(a=c.renditions.find(e=>
|
|
60
|
+
_.sf(e,d,null,["id","track"])))||c.renditions.push(d);return a||d};iw=function(a,b){a=a.reduce((c,d)=>{b===_.L?null===d.videoId||c[d.videoId]&&!d.active||(c[d.videoId]=d):b===_.K&&(null===d.audioId||c[d.audioId]&&!d.active||(c[d.audioId]=d));return c},{});return Object.values(a)};jw=function(a,b){if(void 0!==b&&null!==b){const c=a.filter(d=>d.audio&&d.audio.id===b);if(0<c.length)return c}return a};
|
|
61
|
+
kw=function(a,b,c){function d(e,f){return null==e?null==f:f.id==e}for(let e=0;e<c.length;e++)if(d(a,c[e].audio)&&d(b,c[e].video))return c[e];return null};lw=function(a,b){return a.h.filter(c=>c.type===b)};mw=function(a,b){return(a=a.a.get(b)||null)&&a.track};ow=function(a,b,c){c&&mw(a,c.type)===c&&!a.l.la()||nw(a,b,c&&c.renditions[0])};
|
|
62
|
+
nw=function(a,b,c,d){d=void 0===d?!1:d;if(a.l&&((a.a.get(b)||null)!==c||a.l.la())){var e=a.l;if(c){if(0>a.h.indexOf(c.track))throw Error(`Unknown rendition with ID ${c.id}`);if(b!==c.track.type)throw Error("Types mismatch");a.g.debug(`Activate rendition type
|
|
63
|
+
${b} with ID: ${c.id}`);if(b===_.J){const f=e.ja().find(g=>g.id==c.id);f&&(a.f.set(b,c),pw(a,c),e.trigger(new _.F(_.Ri)),qw(e,!0).then(()=>{rw(e,f)}).catch(g=>{a.g.warn("Error while activating track",g)}))}else if(b===_.K)a.f.set(b,c),sw(e,parseInt(c.id,10));else if(b===_.L){const f=a.a.get(_.K)||null;let g;if(f){const h=tw(e).filter(k=>k.videoId==c.id);g=h.find(k=>k.audioId==f.id);if(!g){a.g.debug("Unable to find exact variant. Searching for equivalent");const k=f.track.renditions.map(l=>
|
|
64
|
+
l.id).filter(l=>l!==f.id);g=h.find(l=>k.find(m=>m==l.audioId))}}else g=tw(e).find(h=>h.videoId==c.id);g?(a.f.set(b,c),uw(e,g,d)):a.g.warn("Cannot find matching variant")}}else a.g.debug(_.xa+b),mw(a,b)&&(b===_.J?qw(e,!1).then(()=>{a.a.set(b,null);e.trigger(new _.F(_.Ri))}).catch(f=>{a.g.warn("Error while de-activating text tracks",f)}):b===_.K?a.g.info("Enabling ABR for audio is not supported"):uw(e,null,d))}};
|
|
65
|
+
pw=function(a,b){a.a.set(b.track.type,b);b===(a.f.get(b.track.type)||null)&&a.f.set(b.track.type,null)};xw=function(a){if(a.l){a.g.debug("Track list change detected, updating track list");var b=[];for(var c of Object.values(_.Wo))a.a.set(c,null),a.f.set(c,null);for(var d of a.l.ja()){let e=gw(_.J,d);e=(c=b.find(g=>mu(e,g)))||e;const f=hw(_.J,d,e);d.active&&a.a.set(_.J,f);c||b.push(e)}vw(a.l)||a.a.set(_.J,null);d=tw(a.l);ww(a,b,d,_.L);ww(a,b,d,_.K);a.h=b}};
|
|
66
|
+
ww=function(a,b,c,d){c=iw(c,d);for(const e of c){let f=gw(d,e);f=(c=b.find(h=>mu(f,h)))||f;const g=hw(d,e,f);e.active&&a.a.set(d,g);c||b.push(f)}};yw=function(a,b,c){if(b){a.h.length||xw(a);var d=b.type,e=a.a.get(d)||null,f;for(const g of lw(a,d))if(f=g.renditions.find(h=>h.id==b.id))break;f&&e!==f&&(pw(a,f),d===_.K?a.l.trigger(new _.F(_.Qi)):d===_.L&&a.l.trigger(new _.F(_.Me,{details:{width:f.width||0,height:f.height||0,bandwidth:f.bandwidth,track:f.track,abrSelection:c}})))}};
|
|
67
|
+
zw=function(a,b){return 128E3>a.a?b:Math.min(_.Su(a.f),_.Su(a.g))};Aw=function(a,b){a&&(b=b.filter(c=>Wv(c,a,{width:Infinity,height:Infinity})));return b.sort((c,d)=>c.bandwidth-d.bandwidth)};Cw=function(a,b){a.a.has(b)||a.a.set(b,new Bw);return a.a.get(b)};Dw=function(a,b,c){Cw(a,b).text=c};
|
|
68
|
+
Gw=function(a,b){var c;if(!(c=!!a.audio!=!!b.audio||!!a.video!=!!b.video||a.language!=b.language)&&(c=a.audio&&b.audio)){c=a.audio;var d=b.audio;c=!(c.channelsCount==d.channelsCount&&Ew(c,d)&&Fw(c.roles,d.roles))}!c&&(c=a.video&&b.video)&&(a=a.video,b=b.video,c=!(Ew(a,b)&&Fw(a.roles,b.roles)));return c?!1:!0};
|
|
69
|
+
Ew=function(a,b){if(a.mimeType!=b.mimeType)return!1;a=a.codecs.split(",").map(c=>_.Ju(c)[0]);b=b.codecs.split(",").map(c=>_.Ju(c)[0]);if(a.length!=b.length)return!1;a.sort();b.sort();for(let c=0;c<a.length;c++)if(a[c]!=b[c])return!1;return!0};Fw=function(a,b){a=new Set(a);b=new Set(b);a.delete("main");b.delete("main");if(a.size!=b.size)return!1;for(const c of a)if(!b.has(c))return!1;return!0};
|
|
70
|
+
Hw=function(a,b){let c=null;b.some(d=>{c=_.Cu(_.sg(d),a.map(e=>Bu(e)));return!!c});return c?a.filter(d=>c===Bu(d)):[]};Iw=function(a,b){return a.filter(c=>{const d=c.audio;c=c.video;return d&&0<=d.roles.indexOf(b)||c&&0<=c.roles.indexOf(b)})};
|
|
71
|
+
Jw=function(a){return 1>=a.a.chasingRate?(a.f.warn("chasingRate must be greater than 1."),!1):a.a.chaseJumpDistance<=a.a.startChasingAt?(a.f.warn("chaseJumpDistance must be greater than startChasingAt."),!1):a.a.startChasingAt<=a.a.stopChasingAt?(a.f.warn("startChasingAt must be greater than stopChasingAt."),!1):0>a.a.stopChasingAt?(a.f.warn("stopChasingAt must be greater than or equal to 0."),!1):!0};Kw=function(a,b){a.f=b};
|
|
72
|
+
Lw=function(a){a.f.stop();const b=a.h?0:a.g;0<=b?a.a.vd()!=b&&a.a.Pe(b):(a.f.Va(.25),0!=a.a.vd()&&a.a.Pe(0))};Mw=function(a,b){a.f=b};Nw=function(a){if(a.a.paused||0==a.a.playbackRate||0===a.a.buffered.length)var b=!1;else a:{b=a.a.buffered;a=a.a.currentTime;for(let c=0;c<b.length;c++){const d=b.start(c),e=b.end(c);if(!(a<d-.1||a>e-(c+1===b.length?.5:.1))){b=!0;break a}}b=!1}return b};
|
|
73
|
+
Ow=function(a){if(0!=a.a.readyState){if(a.a.seeking){if(!a.A)return}else a.A=!1;if(!a.a.paused&&!a.m){a.a.readyState!=a.G&&(a.h=!1,a.G=a.a.readyState);var b=a.j.smallGapLimit,c=a.a.currentTime,d=a.a.buffered;a:{var e=new _.bp(d);var f=a.j.gapDetectionThreshold;if(e.length&&!(1===e.length&&1E-6>e.end(0)-e.start(0)))for(var g=0;g<e.length;g++)if(e.start(g)>c&&(0===g||e.end(g-1)-c<=f)){e=g;break a}e=null}if(null==e){if(a.f){a=a.f;d=a.g;c=Nw(d);d=d.a.currentTime;b=Date.now()/1E3;if(a.a!=d||a.j!=c)a.h=
|
|
74
|
+
b,a.a=d,a.j=c;d=b-a.h;d>=a.m&&c&&a.f(a.a,d)}}else if((0!=e||a.w)&&a.F&&(f=d.start(e),!(f>=av(a.C)))){g=f-c;b=g<=b;var h=!1;if(!(.001>g)){if(!b&&!a.h){a.h=!0;const k=new _.F("largegap",{detail:{currentTime:c,gapSize:g}});k.cancelable=!0;a.B(k);a.j.jumpLargeGaps&&!k.defaultPrevented?h=!0:_.Gf("Ignoring large gap at",c,"size",g)}if(b||h)0==e?_.Gf(Mt,g,"seconds because of gap before start time of",f):_.Gf(Mt,g,"seconds because of gap starting at",d.end(e-1),"and ending at",f),a.a.currentTime=f}}}}};
|
|
75
|
+
Rw=function(a,b){a.o||(a.o=!0,a.m&&a.m());.001>Math.abs(a.a.currentTime-b)?Pw(a):(a.f.one(a.a,_.fe,()=>{Pw(a)}),Qw(a.g,0==a.a.currentTime?b:a.a.currentTime))};Sw=function(a,b){a.w=b;a.f.off(a.a,_.od);a.f.one(a.a,_.od,()=>{Rw(a,b)})};Tw=function(a){return a.j?a.a.currentTime:a.w};Uw=function(a,b){0<a.a.readyState?Qw(a.g,b):Sw(a,b)};Pw=function(a){_.hi()&&!a.j&&a.h();a.j=!0;a.f.on(a.a,_.fe,()=>a.h())};Qw=function(a,b){a.g=a.f.currentTime;a.j=b;a.h=a.m;a.f.currentTime=b;a.a.Va(.1)};
|
|
76
|
+
Xw=function(a,b,c){if(!c.stallEnabled)return null;const d=c.gapDetectionThreshold;let e=c.stallSkip;c=new Vw(new Ww(b),c.stallThreshold);Mw(c,(f,g)=>{a.f.warn(`Stall detected at ${f} for ${g} seconds.`);if(e){g=new _.bp(b.buffered);var h;if(h=_.bi("Edge/")||_.bi("Trident/")||_.ci()||_.hi())a:{h=g;if(h.length&&!(1>=h.length))for(let k=0;k<h.length-1;k++)if(f>h.start(k)&&f<h.end(k)){h=h.start(k+1)-h.end(k)>=d;break a}h=!1}if(h){a:{if(g.length&&!(1>=g.length))for(h=0;h<g.length-1;h++)if(f>g.start(h)&&
|
|
77
|
+
f<g.end(h)){f=g.start(h+1)-f;break a}f=null}f&&(e=Math.min(f+.1,e))}a.f.warn(`Seeking forward ${e} seconds to break stall.`);b.currentTime+=e}else a.f.warn("Pausing and unpausing to break stall."),b.pause(),b.play()});return c};$w=function(a,b){null==b?b=Infinity>a.a.getDuration()?bv(a.a,0):av(a.a):0>b&&(b=av(a.a)+b);return Yw(a,Zw(a,b))};Zw=function(a,b){const c=bv(a.a,0);if(b<c)return c;a=av(a.a);return b>a?a:b};ax=function(a){const b=Tw(a.g);return 0<a.h.readyState&&!a.h.paused?Zw(a,b):b};
|
|
78
|
+
Yw=function(a,b){const c=a.a.getDuration();return b>=c?c-a.m.durationBackoff:b};
|
|
79
|
+
bx=function(a,b){var c=new _.bp(a.h.buffered);c=c.Yb.bind(c);var d=Math.max(a.B,a.m.rebufferingGoal);const e=a.m.safeSeekOffset;let f=bv(a.a,0);const g=av(a.a),h=a.a.getDuration();3>g-f&&(f=g-3);const k=bv(a.a,d),l=bv(a.a,e);d=bv(a.a,d+e);if(b>=h)return a.f.debug("Playhead past duration."),Yw(a,b);if(b>g)return a.f.debug("Playhead past end."),g;if(b<f){if(c(l))return a.f.debug("Playhead before start \x26 start is buffered"),l;a.f.debug("Playhead before start \x26 start is unbuffered");return d}if(b>=
|
|
80
80
|
k||c(b))return a.f.debug("Playhead in safe region or in buffered region."),b;a.f.debug("Playhead outside safe region \x26 in unbuffered region.");return d};
|
|
81
|
-
|
|
82
|
-
g.length||!c)throw _.
|
|
83
|
-
|
|
84
|
-
d=a.getUint32(b);a.setUint32(b,d+1);return h}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
d.id))})};
|
|
89
|
-
|
|
90
|
-
_.
|
|
91
|
-
g.
|
|
92
|
-
{if(a.D)a.D.onError(k)}))))}else a.a.debug(
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
c),d=b.stream.segmentIterator.next().value),null===d&&a.a.warn(
|
|
98
|
-
Math.max(0,c-1))),a=f||
|
|
99
|
-
|
|
100
|
-
|
|
81
|
+
dx=function(a){a=_.I(a);let b=!1,c;const d=[],e=h=>{d.push(h);_.Fj(h)},f=()=>{b=!0},g=[];(new _.Mj).L(_.wd,e).L(_.we,e).L(_.rd,e).L(_.vd,e).L(_.me,e).Y(_.oe,h=>{c=h;d.push(h);_.Gj(h)}).Y("encv",f).Y("enca",f).Y("avc1",h=>{g.push({L:h,uc:1701733238})}).Y("avc3",h=>{g.push({L:h,uc:1701733238})}).Y("ac-3",h=>{g.push({L:h,uc:1701733217})}).Y("ec-3",h=>{g.push({L:h,uc:1701733217})}).Y("mp4a",h=>{g.push({L:h,uc:1701733217})}).parse(a);if(b)return _.Gf("Init segment already indicates encryption."),a;if(0===
|
|
82
|
+
g.length||!c)throw _.If("Failed to find boxes needed to fake encryption!"),_.If("Failed init segment (hex):",_.Zg(a)),new _.H(_.G,3,14E3);g.reverse();for(const h of g)_.Gf(`Inserting "${_.Ej(h.uc)}" box into init segment.`),a=cx(a,c,h.L,d,h.uc);return a};
|
|
83
|
+
cx=function(a,b,c,d,e){{var f=ex.value(),g=a.subarray(c.start,c.start+c.size);const k=_.Cg(g);var h=new Uint8Array(c.size+f.byteLength);h.set(g,0);g=_.Cg(h);g.setUint32(4,e);h.set(f,c.size);e=k.getUint32(4);g.setUint32(c.size+16,e);fx(h,0,h.byteLength);e=h}h=new Uint8Array(a.byteLength+e.byteLength);c=_.bi("Xbox One")||_.ai()?c.start:c.start+c.size;f=a.subarray(c);h.set(a.subarray(0,c));h.set(e,c);h.set(f,c+e.byteLength);for(const k of d)fx(h,k.start,k.size+e.byteLength);a=_.Cg(h,b.start);b=_.Ij(b);
|
|
84
|
+
d=a.getUint32(b);a.setUint32(b,d+1);return h};fx=function(a,b,c){a=_.Cg(a,b);b=a.getUint32(0);0!=b&&(1==b?(a.setUint32(8,c>>32),a.setUint32(12,c&4294967295)):a.setUint32(0,c))};gx=function(a){return"("+a.type+":"+a.stream.id+")"};hx=function(a){return!a.Ra&&null==a.lb&&!a.Bb&&!a.Sb};ix=function(a){null!=a.lb&&(a.lb.stop(),a.lb=null)};jx=function(a){return _.y(function*(){a.yb&&(yield a.yb.abort())})};kx=function(a,b){return(b=Qu(a.g.periods,b+_.No))?a.g.periods.indexOf(b):0};
|
|
85
|
+
px=function(a,b,c,d,e){return _.y(function*(){var f=a.D.rb();const g=kx(a,f);f=new Map;const h=new Set;b&&(f.set(_.p,b),h.add(b));c&&(f.set(_.w,c),h.add(c));d&&(f.set(_.v,d),h.add(d));yield a.D.Z.init(f,a.j.forceNativeTS);a.h||(lx(a),yield mx(a,h),a.h||f.forEach((k,l)=>{a.f.has(l)||(k=nx(k,g,e),a.f.set(l,k),ox(a,k,0))}))})};qx=function(a){var b=a.f.get(_.w);return b?a.g.periods[b.vb]:(b=a.f.get(_.p))?a.g.periods[b.vb]:null};_.rx=function(a,b){return(a=a.f.get(b))?a.Mb||a.stream:null};
|
|
86
|
+
sx=function(a){return _.rx(a,_.p)};tx=function(a){return _.rx(a,_.w)};
|
|
87
|
+
mx=function(a,b){return _.y(function*(){var c=[];for(const d of b){const e=a.o.get(d.id);e?(a.a.debug("(all) Stream "+d.id+It),c.push(e.P)):(a.a.debug("(all) setting up Stream "+d.id),a.o.set(d.id,{P:new _.Xk,wc:!1}),c.push(d.createSegmentIndex()))}try{if(yield Promise.all(c),a.h)return}catch(d){if(a.h)return;for(const e of b)a.o.get(e.id).P.catch(()=>{}),a.o.get(e.id).P.reject(),a.o.delete(e.id);throw d;}for(const d of b)c=a.o.get(d.id),c.wc||(c.P.resolve(),c.wc=!0,a.a.debug("(all) setup Stream "+
|
|
88
|
+
d.id))})};nx=function(a,b,c){return{stream:a,type:a.type,Kb:null,segmentIterator:null,qa:null,Mb:null,Jc:!0,vb:b,endOfStream:!1,Ra:!1,lb:null,Bb:!1,Sc:0,gd:!1,Sb:!1,Rd:!1,sc:!1,Ne:c||0,yb:null,Uc:!1,ye:0}};ox=function(a,b,c){a.a.debug(gx(b),"updating in "+c+" seconds");b.lb=(new _.Zo(()=>_.y(function*(){try{yield a.xb(b)}catch(d){if(a.D)a.D.onError(d)}}))).$(c)};
|
|
89
|
+
ux=function(a,b){return _.y(function*(){yield a.D.Z.clear(_.v);a.G++;a.H=!1;var c=a.G,d=a.D.Z;const e=new Map,f=new Set;e.set(_.v,b);f.add(b);yield d.init(e,!1);a.h||(yield mx(a,f),a.h||(d=d.getTextDisplayer().isTextVisible()||a.j.alwaysStreamText,a.G!=c||a.f.has(_.v)||a.H||!d||(c=a.D.rb(),c=kx(a,c),c=nx(b,c,0),a.f.set(_.v,c),ox(a,c,0))))})};vx=function(a){a.H=!0;const b=a.f.get(_.v);b&&(ix(b),jx(b).catch(()=>{}),a.f.delete(_.v))};
|
|
90
|
+
_.Bx=function(a,b,c,d){const e=a.f.get(b.type);if(!e&&b.type==_.v&&a.j.ignoreTextStreamFailures)ux(a,b);else if(e){var f=wx(a,b);if(c&&f!=e.vb){a.a.debug("switch: switching to stream in another Period; clearing buffer and changing Periods");for(var g of a.f.values())xx(a,g)}else if(e.Mb&&(a.a.debug("switch during trick play mode",b),b.trickModeVideo?(e.Mb=b,b=b.trickModeVideo,a.a.debug("switch found trick play stream",b)):(e.Mb=null,a.a.debug("switch found no special trick play stream"))),(g=a.m[f])&&
|
|
91
|
+
g.wc&&(g=a.o.get(b.id))&&g.wc)if(e.stream!=b){g=a.g.presentationTimeline.getDuration();var h=a.D.rb();h=yx(a,e,h);!c&&(e.endOfStream||h>=g)?a.a.debug(ju+gx(e)+" already buffered to the end. Not switching."):(b.type==_.v&&Bv(a.D.Z,_.Vh(b.mimeType,b.codecs)),e.stream=b,e.stream.segmentIterator=null,e.Jc=!0,a.a.debug("switch: switching to Stream "+gx(e)),zx(a,e,f)&&(a.a.info("Aborting current segment request to switch."),e.yb.abort()),c&&(e.Sb?e.gd=!0:e.Ra?(e.Bb=!0,e.Sc=d,e.gd=!0):(ix(e),Ax(a,e,!0,d).catch(k=>
|
|
92
|
+
{if(a.D)a.D.onError(k)}))))}else a.a.debug(ju+gx(e)+" already active")}};Cx=function(a,b,c,d){b.video&&_.Bx(a,b.video,c,d);b.audio&&_.Bx(a,b.audio,c,d)};wx=function(a,b){a=a.g.periods;for(let c=0;c<a.length;c++){const d=a[c],e=new Set;for(const f of d.variants)f.audio&&e.add(f.audio),f.video&&e.add(f.video),f.video&&f.video.trickModeVideo&&e.add(f.video.trickModeVideo);for(const f of d.textStreams)e.add(f);if(e.has(b))return c}return-1};
|
|
93
|
+
xx=function(a,b){const c=gx(b);b.Sb?a.a.debug(c,"clear: already clearing the buffer"):b.Bb?a.a.debug(c,"clear: already waiting"):b.Ra?(a.a.debug(c,"clear: currently updating"),b.Bb=!0,b.Sc=0):null==a.D.Z.mb(b.type)?(a.a.debug(c,"clear: nothing buffered"),null==b.lb&&ox(a,b,0)):(a.a.debug(c,"clear: handling right now"),ix(b),Ax(a,b,!1,0).catch(d=>{if(a.D)a.D.onError(d)}))};yx=function(a,b,c){if(!b.Kb||!b.qa)return Math.max(c,b.Ne);c=wx(a,b.Kb);return a.g.periods[c].startTime+b.qa.endTime};
|
|
94
|
+
zx=function(a,b,c){if(!b.yb)return!1;const d=a.D.rb(),e=a.D.Z.ya(b.type);c=(c=Dx(a,b,d,e,c))?c.ha?c.ha-c.ta+1:null:null;if(null==c)return!1;var f=b.stream.initSegmentReference;f&&(c+=(f.ha?f.ha-f.ta+1:null)||0);f=a.D.td().getBandwidthEstimate();if(8*c/f<(null===e?0:e-d)-Math.max(a.g.minBufferTime||0,a.j.rebufferingGoal))return!0;a=b.yb;a=a.h?a.h.bytesRemaining:-1;return 0>a||a>c?!0:!1};
|
|
95
|
+
Ax=function(a,b,c,d){return _.y(function*(){const e=gx(b);b.Bb=!1;b.gd=!1;b.Sc=0;b.Sb=!0;b.stream.segmentIterator=null;a.a.debug(e,"clearing buffer");if(d){var f=a.D.rb();const g=a.D.Z.getDuration();f=a.D.Z.remove(b.type,f+d,g)}else f=a.D.Z.clear(b.type).then(()=>!a.h&&c?a.D.Z.flush(b.type):null);yield f;a.h||(a.a.debug(e,"cleared buffer"),b.Kb=null,b.qa=null,b.Sb=!1,b.endOfStream=!1,b.Uc=!1,ox(a,b,0))})};
|
|
96
|
+
Dx=function(a,b,c,d,e){if(b.stream.segmentLookupStrategy===_.Ex)b.stream.segmentIterator?a=dv(b.stream.segmentIterator):b.qa||d?(e=b.qa?b.qa.endTime:d,a.a.info(Lt,"looking up segment from new stream endTime:",e),b.stream.segmentIterator=jv(b.stream.segmentIndex,e),d=b.stream.segmentIterator.next().value,null===d&&(b.stream.segmentIterator=null,a.a.warn(Lt,Xt,"endTime:",e,b.qa)),a=d):(e=Math.max(c,0),a.a.info(Lt,"looking up segment","lookupTime:",e,cu,c),d=null,d||(b.stream.segmentIterator=jv(b.stream.segmentIndex,
|
|
97
|
+
c),d=b.stream.segmentIterator.next().value),null===d&&a.a.warn(Lt,Xt,"lookupTime:",e,cu,c),a=d);else{var f=gx(b);b.qa&&b.stream==b.Kb?(d=b.qa.position+1,a.a.debug(f,"next position known:","position\x3d"+d),a=Fx(a,b,e,d)):(b.qa?(a.a.debug(f,"next position unknown: another Stream buffered"),c=wx(a,b.Kb),c=Gx(a,b,a.g.periods[c].startTime+b.qa.endTime,e)):(a.a.debug(f,"next position unknown: nothing buffered"),c=Gx(a,b,d||c,e)),null==c?a=null:(f=null,null!=d||null!==a.j&&a.j.ignoreDrift||(f=Fx(a,b,e,
|
|
98
|
+
Math.max(0,c-1))),a=f||Fx(a,b,e,c)))}return a};Hx=function(a){const b=a.D.rb(),c=g=>a.D.Z.Yb(g,b,0);let d=!1;const e=kx(a,b);if(_.ug(a.f.values(),g=>g.vb==e))for(const g of a.f.keys()){var f=a.f.get(g);f.stream.segmentIterator=null;c(g)||(xx(a,f),d=!0)}else if(!_.ug(a.f.keys(),c)){a.a.debug("(all): seeked: unbuffered seek: clearing all buffers");for(f of a.f.values())xx(a,f);d=!0}d||a.a.debug("(all): seeked: buffered seek: presentationTime\x3d"+b)};
|
|
99
|
+
lx=function(a){const b=a.g.presentationTimeline.getDuration();Infinity>b?Pv(a.D.Z,b):Pv(a.D.Z,Math.pow(2,32))};
|
|
100
|
+
Ix=function(a,b){let c=a.m[b];if(c)return a.a.debug("(all) Period "+b+It),c.P;a.a.debug("(all) setting up Period "+b);c={P:new _.Xk,wc:!1};a.m[b]=c;const d=new Set;for(const e of a.g.periods[b].variants)e.video&&d.add(e.video),e.video&&e.video.trickModeVideo&&d.add(e.video.trickModeVideo),e.audio&&d.add(e.audio);for(const e of a.g.periods[b].textStreams)d.add(e);a.F=a.F.then(()=>a.h?null:mx(a,d)).then(()=>{a.h||(a.m[b].P.resolve(),a.m[b].wc=!0,a.a.debug("(all) setup Period "+b))}).catch(e=>{a.h||
|
|
101
101
|
(a.m[b].P.catch(()=>{}),a.m[b].P.reject(),delete a.m[b],a.a.warn("(all) failed to setup Period "+b),a.D.onError(e))});return c.P};
|
|
102
|
-
|
|
103
|
-
g,
|
|
104
|
-
1;b.
|
|
105
|
-
|
|
106
|
-
k.set(_.
|
|
107
|
-
a.D.
|
|
108
|
-
|
|
109
|
-
a.h||a.A?null:
|
|
110
|
-
a.f.delete(_.
|
|
111
|
-
u)))}))})};
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
Promise.resolve();const m=e.closedCaptions&&0<e.closedCaptions.size;null!=e.emsgSchemeIdUris&&0<e.emsgSchemeIdUris.length&&(new _.Mj).
|
|
117
|
-
g,n,q,m,e.id,h)}).then(()=>{a.h||(a.a.debug(k,"appended media segment"),b.
|
|
118
|
-
|
|
119
|
-
a.D.
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
f,f+h).then(()=>{a.h||a.a.debug(d,"evicted "+h+" seconds")})};
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
a.
|
|
132
|
-
|
|
133
|
-
g.id==b.id);e?(a.
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
b===_.Kl?a.trigger(new _.
|
|
138
|
-
|
|
139
|
-
null);a.K.clear();a.F=null;a.
|
|
140
|
-
Ey=function(a){a.A&&a.A.configure(a.configuration.manifest);a.j&&
|
|
141
|
-
Fy=function(a,b){return _.
|
|
142
|
-
Jy=function(a,b){return _.
|
|
143
|
-
a.f.presentationTimeline.
|
|
144
|
-
Ny=function(a){return _.
|
|
145
|
-
if(k.length){k=a.getPeriods();for(let t=0;t<k.length;t++){const u=k[t];for(var m of u.variants){var n=m;var q=[];n.audio&&q.push(n.audio);n.video&&q.push(n.video);n=q;for(const
|
|
146
|
-
(h=!0)}}}if(f=
|
|
102
|
+
Lx=function(a,b){if(b.type==_.v&&b.stream.mimeType==_.Ub)return Kv(a.D.Z,b.stream.originalId||""),null;var c=gx(b);const d=a.D.rb(),e=yx(a,b,d);a.a.debug(c,"timeNeeded\x3d"+e);const f=wx(a,b.stream);var g=kx(a,e),h=a.D.Z.Ca(b.type,d);a.a.debug(c,"update_:",du+d,"bufferedAhead\x3d"+h);const k=Math.max(a.g.minBufferTime||0,a.j.rebufferingGoal,a.j.bufferingGoal)*a.w,l=Vu(a.g.presentationTimeline);if(null!=l&&e>=l&&!b.Uc)return Jx(a,b),null;b.endOfStream=!1;b.vb=g;if(g!=f)return a.a.debug(c,"need Period "+
|
|
103
|
+
g,du+d,"timeNeeded\x3d"+e,"currentPeriodIndex\x3d"+f),null;if(h>=k)return a.a.debug(c,"buffering goal met"),a.j.bufferLimitUpdateInterval||.5;g=a.D.Z.ya(b.type);g=Dx(a,b,d,g,f);if(!g)return a.g.presentationTimeline.isLive()||b.type===_.v?a.j.bufferLimitUpdateInterval||1:(a.a.debug("Media state "+c+": no next segment found. Assuming EOS."),Jx(a,b),null);c=Infinity;for(const m of a.f.values())if(m.type!=_.v||m.stream.mimeType!=_.Ub)h=yx(a,m,d),c=Math.min(c,h);if(e>=c+a.g.presentationTimeline.a)return a.j.bufferLimitUpdateInterval||
|
|
104
|
+
1;b.Ne=0;Kx(a,b,d,f,g).catch(()=>{});return null};Mx=function(a,b){return _.y(function*(){if(!a.h){if(a.D.Qe)try{yield a.D.Qe(b)}catch(c){c.cause=b,b=c}if(!b.f)a.D.onError(b)}})};
|
|
105
|
+
Nx=function(a,b){const c=gx(b),d=wx(a,b.stream);if(b.vb!=d){var e=b.vb,f=Array.from(a.f.values());f.every(g=>g.vb==e)?f.every(hx)?(a.a.debug(c,"all need Period "+e),Ix(a,e).then(()=>{if(!a.h)if(f.every(l=>{const m=hx(l),n=wx(a,l.stream);return m&&l.vb==e&&n!=e})){var g=a.g.periods[e];a.a.debug(c,"calling onChooseStreams()...");var h=a.D.Md(g);a.C=!h.variant&&!!h.text;var k=new Map;h.variant&&h.variant.video&&k.set(_.w,h.variant.video);h.variant&&h.variant.audio&&k.set(_.p,h.variant.audio);h.text&&
|
|
106
|
+
k.set(_.v,h.text);for(const l of a.f.keys())if(!k.has(l)&&l!=_.v){a.a.error(c,"invalid Streams chosen: missing "+l+" Stream");a.D.onError(new _.H(_.G,5,5005));return}for(const l of Array.from(k.keys()))if(!a.f.has(l))if(l==_.v)px(a,null,null,k.get(_.v),g.startTime),k.delete(l);else{a.a.error(c,"invalid Streams chosen: unusable "+l+" Stream");a.D.onError(new _.H(_.G,5,5005));return}for(const l of Array.from(a.f.keys()))(g=k.get(l))?(_.Bx(a,g,!1,0),ox(a,a.f.get(l),0)):a.f.delete(l);a.a.debug(c,Wt);
|
|
107
|
+
a.D.Ld()}else a.a.debug(c,"ignoring transition to Period",e,"since another is happening")}).catch(xu)):a.a.debug(c,"all MediaStates need Period "+e+", but not all MediaStates are idle"):a.a.debug(c,"not all MediaStates need Period "+e)}};Jx=function(a,b){a.a.debug(gx(b),"buffered to end of presentation");b.endOfStream=!0;b.type==_.w&&(a=a.f.get(_.v))&&a.stream.mimeType==_.Ub&&(a.endOfStream=!0)};
|
|
108
|
+
Kx=function(a,b,c,d,e){return _.y(function*(){const f=gx(b),g=a.g.periods[d];a.a.debug(f,"fetchAndAppend_:",du+c,Zt+g.startTime,fu+e.position,gu+e.startTime,eu+e.endTime);const h=b.stream,k=b.stream.segmentIterator;var l=a.g.presentationTimeline.getDuration();const m=a.g.periods[d+1];l=Ox(a,b,d,Math.max(0,g.startTime-.1),m?m.startTime+.01:l,e);b.Ra=!0;b.Jc=!1;a.a.debug(f,"fetching segment");let n=!1;const q=(u,x)=>{if(a.h||a.A)return null;n=!0;return Px(a,b,c,g,h,e,u,x)},t=a.D.Z.ya(b.type)||0;l.then(()=>
|
|
109
|
+
a.h||a.A?null:Qx(a,b,e,!1,u=>q(u.data,!0))).then(u=>a.h||a.A?null:n||null===u?(Rx(a,b,t,e,h),null):q(u,!1)).then(()=>{if(!a.h&&!a.A){Rx(a,b,t,e,h);b.Ra=!1;b.Rd=!1;b.Bb||a.D.dd();if(k){const u=k.next().value;u&&a.a.debug("New iterated segment",u)}ox(a,b,0);Sx(a,b,h);a.a.debug(f,"finished fetch and append")}}).catch(u=>_.y(function*(){a.h||a.A||(b.Ra=!1,b.type==_.v&&a.j.ignoreTextStreamFailures?(1001==u.code?a.a.warn(f,"Text stream failed to download. Proceeding without it."):a.a.warn(f,"Text stream failed to parse. Proceeding without it."),
|
|
110
|
+
a.f.delete(_.v)):7001==u.code?(b.Ra=!1,b.lb=null,ox(a,b,0)):3017===u.code?Tx(a,b,u):1001===u.code&&u.data&&404===u.data[1]?(a.a.warn(f,"request for segment failed","segment not available on server",fu+e.position,gu+e.startTime,eu+e.endTime,"error\x3d"+u),b.Ra=!1,b.lb=null,ox(a,b,1)):b.type===_.v?(u instanceof _.H&&u.a(1),ix(b),a.D.onError(new _.H(1,2,2010,u))):1001<=u.code&&1003>=u.code?yield Ux(a,b,g,u):(a.a.error(f,"failed fetch and append: code\x3d"+u.code),b.sc=!0,u instanceof _.H&&u.a(_.G),yield Mx(a,
|
|
111
|
+
u)))}))})};Fx=function(a,b,c,d){const e=gx(b);c=a.g.periods[c];const f=b.stream.getSegmentReference(d);if(!f)return a.a.debug(e,"segment does not exist:",Zt+c.startTime,"position\x3d"+d),null;var g=a.g.presentationTimeline;d=_.$u(g);g=Zu(g);return!b.Uc&&(c.startTime+f.endTime<d||c.startTime+f.startTime>g)?(a.a.debug(e,"segment is not available:",Zt+c.startTime,gu+f.startTime,eu+f.endTime,"availabilityStart\x3d"+d,"availabilityEnd\x3d"+g),null):f};
|
|
112
|
+
Gx=function(a,b,c,d){const e=gx(b);d=a.g.periods[d];const f=Math.max(0,c-d.startTime);b=b.stream.findSegmentPosition(f);a.a.debug(e,"Looked up segment:",du+c,"lookupTime\x3d"+f,Zt+d.startTime,"Result: segment position\x3d"+b);null==b&&a.a.warn(e,"cannot find segment:",Zt+d.startTime,"lookupTime\x3d"+f);return b};
|
|
113
|
+
Ox=function(a,b,c,d,e,f){c=a.g.periods[c].startTime-f.Ha;if(!b.Jc&&c===b.ye)return Promise.resolve();b.ye=c;const g=gx(b);a.a.debug(g,"setting timestamp offset to "+c);a.a.debug(g,"setting append window start to "+d);a.a.debug(g,"setting append window end to "+e);d=Mv(a.D.Z,b.type,c,d,e);if(!b.stream.initSegmentReference||!b.Jc)return d;a.a.debug(g,"fetching init segment");e=Qx(a,b,b.stream.initSegmentReference,!0).then(h=>{if(a.h)return null;a.a.debug(g,"appending init segment");return Vx(a,h,b).then(()=>
|
|
114
|
+
Jv(a.D.Z,b.type,h,null,null,!!b.stream.closedCaptions&&0<b.stream.closedCaptions.size))}).catch(h=>{b.Jc=!0;return Promise.reject(h)});return Promise.all([d,e])};
|
|
115
|
+
Px=function(a,b,c,d,e,f,g,h){h=void 0===h?!1:h;return _.y(function*(){const k=gx(b);if(e&&e.keyId&&a.D.Cc){var l=su(a.D.Cc,e.keyId);if(l)try{yield l}catch(n){a.a.warn("DRM session load failed!",n)}else a.a.warn(`Unable to find DRM session for ${e.keyId}`)}if(e.encrypted&&e.keyId&&a.D.Cc&&uu(a.D.Cc,e.keyId))return ix(b),l=wx(a,e),(l=Wx(a,l))&&(yield l),l=a.D.kd(e,d,au),a.a.warn(k,`Blocked append for ${f.startTime+d.startTime} - ${f.endTime+d.startTime}: ${l}. `+`Stream with Key ID ${e.keyId} has restrictions.`),
|
|
116
|
+
Promise.resolve();const m=e.closedCaptions&&0<e.closedCaptions.size;null!=e.emsgSchemeIdUris&&0<e.emsgSchemeIdUris.length&&(new _.Mj).Y("emsg",a.I.bind(a,d,f,e.emsgSchemeIdUris)).parse(g);return Xx(a,b,c).then(()=>{if(a.h)return null;const n=f.startTime+d.startTime,q=f.endTime+d.startTime;a.a.debug(k,"Appending segment "+`with ${n.toFixed(3)} - ${q.toFixed(3)} `+`KeyID: ${e.keyId} `+`Width: ${e.width} Height: ${e.height} `+`Bitrate: ${_.Qg(e.bandwidth)} `+`Fragment: ${h}`);return Jv(a.D.Z,b.type,
|
|
117
|
+
g,n,q,m,e.id,h)}).then(()=>{a.h||(a.a.debug(k,"appended media segment"),b.Kb=e,b.qa=f)})})};
|
|
118
|
+
Qx=function(a,b,c,d,e){d=void 0===d?!1:d;e=void 0===e?null:e;const f=_.Tu(c.Fa(),c.ta,c.ha,a.j.attemptParameters,c.startTime,c.endTime,b.type,c.timescale);f.type=2;f.onFragment=c.kc?null:e;f.disableFragmentSupport=c.kc||a.j.disableFragmentSupport;f.disableMergedFragments=a.j.disableMergedFragments;if(e=c.f())f.keyInfo=e,f.onFragment=null;d&&(f.responseModifiers.push(g=>{Yx(a,b,g.data)}),b.type===_.w&&a.j.overridePasp&&f.responseModifiers.push(a.J.bind(a)));a.a.debug("fetching: reference\x3d",c);c=
|
|
119
|
+
a.D.wb.fetch(f);b.yb=c;return c.P.then(g=>{const h=a.D.td(),k=g.timeMs,l=g.data.byteLength;k&&l&&!d&&h.segmentDownloaded(k,l);b.yb=null;return g.data})};
|
|
120
|
+
Rx=function(a,b,c,d,e){if(!a.g.presentationTimeline.isLive()&&b.type!==_.v){const f=gx(b);c=(a.D.Z.ya(b.type)||0)-c;const g=d.endTime-d.startTime,h=c-g;Math.abs(h)>=Math.min(.01,g)&&Math.abs(h)<=Math.min(1,g)&&(a.a.debug(f,"Adjusted segment",d.position,"with real duration",c,"and accounted for",h,"delta between segment duration and real duration"),b.Uc=!0,e.adjustSegmentDurations(d.position,h))}};
|
|
121
|
+
Sx=function(a,b,c){if(!a.B){b=gx(b);var d=Array.from(a.f.values());1!=d.length||d[0].type!=_.v?a.B=d.every(e=>e.type==_.v||a.C?!0:!e.Bb&&!e.Sb&&e.qa):a.C&&(a.B=!0);a.B&&(a.a.debug(b,"startup complete"),c=wx(a,c),Wx(a,c))}};
|
|
122
|
+
Tx=function(a,b,c){const d=gx(b);if(Array.from(a.f.values()).some(e=>e!=b&&e.Rd))a.a.debug(d,Nt,"waiting for another stream to recover...");else{const e=Math.round(100*a.w);if(20<e)a.w-=.2;else if(4<e)a.w-=.04;else{a.a.error(d,"MediaSource threw QuotaExceededError too many times");b.sc=!0;a.A=!0;a.D.onError(c);return}a.a.warn(d,Nt,"reducing buffering goals by "+(100-Math.round(100*a.w))+"%");b.Rd=!0}ox(a,b,4)};
|
|
123
|
+
Ux=function(a,b,c,d){return _.y(function*(){let e=!0;1001===d.code&&500<=d.data.status||(e=!a.D.kd(b.stream,c));e&&(b.sc=!0,d.a(_.G),yield Mx(a,d))})};Zx=function(a,b){b=void 0===b?!1:b;if(a.h)a.a.error("Unable to retry after StreamingEngine is destroyed!");else if(a.A)a.a.error("Unable to retry after StreamingEngine encountered a fatal error!");else for(const c of a.f.values()){const d=gx(c);if(c.sc||b&&hx(c))a.a.info(d,"Retrying after failure..."),c.sc=!1,ox(a,c,.1)}};
|
|
124
|
+
Vx=function(a,b,c){return _.y(function*(){if(a.j.patchEdgeWhenMixedContent&&_.ai()){const d=dx(b);yield Jv(a.D.Z,c.type,d.buffer,null,null,!!c.stream.closedCaptions&&0<c.stream.closedCaptions.size)}})};Wx=function(a,b){let c=null;a.m[b]||(c=Ix(a,b).then(()=>{a.h||(a.a.debug(Wt),a.D.Ld())}).catch(xu));for(b=0;b<a.g.periods.length;++b)Ix(a,b).catch(xu);a.D.Xf&&(a.a.debug("calling onStartupComplete()..."),a.D.Xf());return c};
|
|
125
|
+
Xx=function(a,b,c){if(a.h)return Promise.resolve();const d=gx(b);a.a.debug(d,"checking buffer length");const e=Math.max(a.j.bufferBehind,a.g.presentationTimeline.a),f=a.D.Z.mb(b.type);if(null==f)return a.a.debug(d,"buffer behind okay because nothing buffered:",du+c,Ut+e),Promise.resolve();const g=c-f,h=g-e;if(.01>=h)return a.a.debug(d,"buffer behind okay:",du+c,Vt+g,Ut+e,"underflow\x3d"+Math.abs(h)),Promise.resolve();a.a.debug(d,"buffer behind too large:",du+c,Vt+g,Ut+e,"overflow\x3d"+h);return a.D.Z.remove(b.type,
|
|
126
|
+
f,f+h).then(()=>{a.h||a.a.debug(d,"evicted "+h+" seconds")})};Yx=function(a,b,c){(new _.Mj).L(_.wd,_.Fj).L(_.we,_.Fj).L(_.rd,_.Fj).L(_.vd,_.Fj).L(_.me,_.Fj).Y(_.oe,_.Gj).L("encv",d=>{d.reader.skip(78);_.Fj(d)}).L(_.he,_.Fj).L("schi",_.Fj).L("tenc",d=>{d.reader.skip(6);if(_.xj(d.reader)){d.reader.skip(1);const e=_.Zg(_.Cj(d.reader,16));e!==b.stream.keyId&&(a.a.debug(gx(b),"Key id from tenc mismatches with key id from manifest. Switching from "+`${b.stream.keyId} to ${e}.`),b.stream.keyId=e)}d.parser.stop()}).parse(c)};
|
|
127
|
+
$x=function(a){return _.y(function*(){const b=[];for(const c of a.f.values())ix(c),c.Ra&&c.yb&&(c.Ra=!1,b.push(c.yb.abort())),c.Bb&&b.push(Ax(a,c,!0,0));yield Promise.all(b)})};ay=function(a,b,c){(a=a.f.get(b))&&c&&(ix(a),a.stream=c,a.Kb=c,a.qa&&(a.qa=c.getSegmentReference(a.qa.position)),a.qa||(a.Kb=null))};
|
|
128
|
+
by=function(a){const b=c=>c.video&&c.audio||c.video&&c.video.codecs.includes(",");if(a.some(c=>c.variants.some(b))){_.Hf("Found variant with audio and video content, so filtering out audio-only content in all periods.");for(const c of a)c.variants=c.variants.filter(b)}};
|
|
129
|
+
qw=function(a,b){return _.y(function*(){if(a.Cd!=b&&(a.Cd=b,a.C===cy&&(a.H.getTextDisplayer().setTextVisibility(b),!a.configuration.streaming.alwaysStreamText)))if(b){var c=dy(a);c=_.ew(c.textStreams,a.aa,a.ma);0<c.length&&(yield ux(a.a,c[0]))}else vx(a.a)})};rw=function(a,b){if(a.f&&a.a){const c=dy(a),d=c.textStreams.find(e=>e.id==b.id);d?(ey(a,c,d,!1),fy(a,d),a.aa=d.language):a.log.error(_.Ot,b.id)}};
|
|
130
|
+
sw=function(a,b){if(a.a&&(a.f||a.w)){var c=tx(a.a),d=sx(a.a),e=Qu(a.f.periods,ax(a.w)),f=a.f.periods[e?a.f.periods.indexOf(e):0].variants.filter(h=>h.audio.id==b&&cw(h));e=f.find(h=>h.video.id==c.id);var g=!1;if(!e){a.log.debug("Cannot find exact variant, looking for anything else that matches with given audioId");g=!0;const h=a.getTrackManager().Ga();if(h){const k=h.renditions.map(l=>l.id);e=f.find(l=>k.find(m=>m==l.video.id))}}if(e){if(d.codecs.split(".")[0]===e.audio.codecs.split(".")[0]){d=e.audio;
|
|
131
|
+
a.Xa=d.id;a.g.setVariants(f);f=dy(a);gy(a,f,e,!1);g||a.O?hy(a,e,!0,0):_.Bx(a.a,d,!0,0);Promise.resolve();return}a.log.warn("Target audio codecs not compatible with active audio codecs.")}}Promise.reject()};tw=function(a){if(a.f&&a.w){const b=iy(a),c=[];for(const d of jy(a))a=aw(d),a.active=d==b,c.push(a);return c}return[]};
|
|
132
|
+
uw=function(a,b,c){var d=void 0===d?0:d;if(a.f&&a.a){const f=dy(a);if(a.configuration.abr.enabled&&b)a.log.info("Disable ABR and enable manual track selection to "+`select ${b.width}x${b.height}@${b.bandwidth}`),a.configuration.abr.enabled=!1,a.g.disable();else if(!a.configuration.abr.enabled&&!b){a.log.info("Enable ABR Selection");a.configuration.abr.enabled=!0;a.g.enable();a.M=null;c=ky(a,f.variants);null!=a.X&&(a.Wa=a.X,a.X=null);null==c||a.O||ly(a,c);return}if(b){a.M=b.id;var e=f.variants.find(g=>
|
|
133
|
+
g.id==b.id);e?(a.M=e.video.id,cw(e)?(gy(a,f,e,!1),hy(a,e,c,d),null==a.X&&(a.X=a.Wa),a.Wa=new my(e),ky(a,f.variants)):a.log.error("Unable to switch to restricted track",b.id)):a.log.error("No variant with id",b.id)}else a.M=null,null!=a.X&&(a.Wa=a.X,a.X=null),c=ky(a,f.variants),null==c||a.O||ly(a,c)}};vw=function(a){const b=a.Cd;return a.f?a.H.getTextDisplayer().isTextVisible():b};
|
|
134
|
+
ny=function(a,b){a.h||(a.m.on(b,_.$c,()=>{if(a.h.error){var c=a.h.error.code;if(1==c)c=null;else{var d=a.h.error.msExtendedCode;d&&(0>d&&(d+=Math.pow(2,32)),d=d.toString(16));c=new _.H(_.G,3,3016,{code:c,extendedError:d,message:a.h.error.message})}}else c=null;if(c)a.onError(c)}),a.h=b);return Promise.resolve()};
|
|
135
|
+
py=function(a){return new _.oy(b=>{if(void 0===b||null===b)return null;const c=a.getTrackManager(),d=[];if(c)for(const e of c.getVideoTracks())d.push(...e.renditions);return d.find(e=>e.id==b)||null})};
|
|
136
|
+
qy=function(a,b){if(a.U!==b)if(a.U===_.Ol&&b!==_.Pl)b=Eu(b,_.Nl),a.log.info(_.Pt+`${b}`);else{var c=a.Fd;c=0===c?0:Date.now()-c;var d=a.U;a.U=b;a.Fd=Date.now();a.G&&_.yl(a.G.a,a.U);b===_.Kl&&(a.Ce=a.yd?1:2);var e=a.Ce,f={currentState:a.U,previousState:d,timeSinceLastStateChangeMS:c,reason:b===_.Kl||d===_.Kl?e:void 0},g=Eu(d,_.Nl),h=Eu(b,_.Nl),k=b!==_.Kl?"":`[${Eu(e,_.Ml)}]`;a.log.info(`Player state change: ${g} -> `+`${h}${k}`);a.trigger(new _.F(_.ke,{detail:f}));(b===_.Hl||b===_.Ol)&&a.da&&a.da.stop();
|
|
137
|
+
b===_.Kl?a.trigger(new _.F(_.nc,{detail:{bufferedTimeMS:-1,reason:e}})):d===_.Kl&&a.trigger(new _.F(_.jc,{detail:{bufferedTimeMS:c,reason:e}}))}};vy=function(a){var b=!1;b=void 0===b?!0:b;return _.y(function*(){if(a.C===ry)return Promise.reject(new _.H(_.G,7,7E3));yield sy(a);yield ty(a);var c=_.ci(4)||_.ci(5);if(b||c)c=a.getSurface().getMedia(),yield ny(a,c),yield uy(a,c)})};ty=function(a){a.h&&(a.m.off(a.h,_.$c),a.h=null);return Promise.resolve()};
|
|
138
|
+
sy=function(a){return _.y(function*(){a.C!==ry&&(a.C=wy);const b=a.h;b&&(a.m.off(b,_.nd),a.m.off(b,_.Td),a.m.off(b,_.Od),a.m.off(b,_.Zc),a.m.off(b,_.Yd),a.m.off(b,_.Wd));a.Za&&(a.Za.release(),a.Za=null);a.da&&(a.da.stop(),a.da=null);a.A&&(yield a.A.stop(),a.A=null);a.g&&(yield a.g.stop());a.a&&(yield a.a.destroy(),a.a=null);a.w&&(a.w.release(),a.w=null);a.H&&(yield a.H.destroy(),a.H=null);a.oc&&(a.oc.release(),a.oc=null);b&&b.src&&(b.removeAttribute("src"),b.load());a.j&&(yield a.j.destroy(),a.j=
|
|
139
|
+
null);a.K.clear();a.F=null;a.pc.clear();a.f=null;a.G=null;a.O=!0;a.Cb.clear();a.Qb=!1;xy(a)})};uy=function(a,b){return _.y(function*(){var c=window.muxjs?new yy:new _.zy;const d=_.xl(a.configuration,["html","single-native"]);a.I=d.create(a);a.Rb=py(a);a.Rb.track(a);c=new _.Ay(b,c,a.I,a.Rb,a.configuration);yield c.H;a.H=c})};
|
|
140
|
+
Ey=function(a){a.A&&a.A.configure(a.configuration.manifest);a.j&&By(a);if(a.a){a.a.j=a.configuration.streaming;try{for(var b of a.f.periods)Cy(a,b)}catch(e){a.onError(e)}var c=sx(a.a);const d=tx(a.a);b=dy(a)||a.f.periods[0];c=fw(c,d,b.variants);a.g&&c&&c.allowedByApplication&&c.allowedByKeySystem?ky(a,b.variants):(a.log.debug("Choosing new streams after changing configuration"),Dy(a,b))}a.g&&(a.g.configure(a.configuration.abr),a.configuration.abr.enabled&&!a.O?a.g.enable():a.g.disable())};
|
|
141
|
+
Fy=function(a,b){return _.y(function*(){const c=a.getNetworkEngine();a.A=yield _.Hn(b.url,c,a.configuration.manifest.attemptParameters,b.type||null);a.A.configure(a.configuration.manifest)})};
|
|
142
|
+
Jy=function(a,b){return _.y(function*(){a.Ka=new Gy;cv(a.Ka,c=>{Hy(a,_.Sf,c)});yield(new _.dm(Promise.resolve().then(()=>_.y(function*(){for(;!a.f;)try{a.f=yield a.A.start(b.url,Iy(a))}catch(c){if(a.ga){const d=yield a.ga(b.url,c);if(d)b.url=d;else throw c;}else throw c;}!a.f.presentationTimeline||a.configuration.manifest.hlsLowLatency||_.B(a.configuration.suggestedPresentationDelay)||isNaN(a.configuration.suggestedPresentationDelay)||(a.log.info("Apply suggested presentation delay of: "+a.configuration.suggestedPresentationDelay),
|
|
143
|
+
a.f.presentationTimeline.F=a.configuration.suggestedPresentationDelay);a.f.presentationTimeline&&(a.f.presentationTimeline.G=!!a.configuration.lowLatencyMode);if(0==a.f.periods.length)throw new _.H(_.G,4,4014);by(a.f.periods)})),()=>{a.log.info("Aborting parser step...");return a.A.stop()})).P})};
|
|
144
|
+
Ny=function(a){return _.y(function*(){a.j=new _.am({wb:a.getNetworkEngine(),onError:f=>a.onError(f),Od:f=>{if(a.a){var g=dy(a),h=!1,k=Object.keys(f);0===k.length&&a.log.warn("Got a key status event without any key statuses, so we don't know the real key statuses. If we don't have all the keys, you'll need to set restrictions so we don't select those tracks.");var l=1===k.length&&"00"===k[0];l&&a.log.warn("Got a synthetic key status event, so we don't know the real key statuses. If we don't have all the keys, you'll need to set restrictions so we don't select those tracks.");
|
|
145
|
+
if(k.length){k=a.getPeriods();for(let t=0;t<k.length;t++){const u=k[t];for(var m of u.variants){var n=m;var q=[];n.audio&&q.push(n.audio);n.video&&q.push(n.video);n=q;for(const x of n)n=m.allowedByKeySystem,x.keyId&&(q=f[l?"00":x.keyId],q=!!q&&!Ky.includes(q),m.allowedByKeySystem=q),n!==m.allowedByKeySystem&&(q=x.type,x.type===_.w&&(q=`video ${x.width}x${x.height}@`+`${_.Qg(x.bandwidth)}`),a.log.warn("DRM Key not available for "+`KID: '${x.keyId}'. Applying restrictions to ${q}`)),u===g&&n!==m.allowedByKeySystem&&
|
|
146
|
+
(h=!0)}}}if(f=qx(a.a))if(l=sx(a.a),m=tx(a.a),l=fw(l,m,f.variants),!l||l.allowedByKeySystem)a.log.info(Kt),Ly(a),ky(a,f.variants);h&&f!==g&&(a.log.info(Kt),Ly(a),ky(a,g.variants))}},onExpirationUpdated:(f,g)=>{if(a.A&&a.A.onExpirationUpdated)a.A.onExpirationUpdated(f,g);a.trigger(new _.F(_.Rc,{expirationTime:g}))},onEvent:f=>a.Ed(f),getConfiguration:()=>a.getConfiguration(),rc:()=>a.rc()});By(a);const b=a.configuration.drm,c=b?b.offlineId||"":"";let d=[];const e=_.Fn(a.f.periods);if(c){const f=_.fj(_.Pd);
|
|
147
147
|
f&&(yield f.o(b,e,a.getNetworkEngine()),d=yield f.m(c))}yield _.Wk(a.j,e,d);a.f&&My(a,a.f.periods)})};
|
|
148
|
-
az=function(a){return _.
|
|
149
|
-
[],a.configuration.preferredAudioRole,a.configuration.preferredAudioChannelCount);a.
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
Iy=function(a){return{networkingEngine:a.getNetworkEngine(),filterNewPeriod:b=>
|
|
153
|
-
My=function(a,b){var c=a.a?
|
|
154
|
-
Py=function(a){switch(a.C){case
|
|
155
|
-
d,"buffered to end",b,"state",a.getState()),
|
|
156
|
-
Sy=function(a,b){for(let c=0;c<b.length;c++){const d=b[c],e=new Map;for(const f of d.variants)if(f.video&&f.video.closedCaptions){const g=f.video;for(const h of g.closedCaptions.keys())if(!e.has(h)){const k={id:a.
|
|
157
|
-
emsgSchemeIdUris:null,roles:g.roles,channelsCount:null,closedCaptions:null};e.set(h,k)}}for(const f of e.values())d.textStreams.push(f)}};
|
|
158
|
-
Vy=function(a){const b=new jz(a.f);
|
|
159
|
-
Zy=function(a){const b={
|
|
160
|
-
$y=function(a,b){function c(g,h){if(!g)return null;h=g.findSegmentPosition(h-f.startTime);return null==h?null:(g=g.getSegmentReference(h))?g.startTime+f.startTime:null}const d=
|
|
161
|
-
|
|
162
|
-
Ly=function(a){const b=a.getTrackManager();b&&a.C!==
|
|
163
|
-
|
|
164
|
-
ez=function(a){return a.j&&a.j.B?!0:a.F?a.F.getState()===Oy:!1};
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
b).variant=c};
|
|
168
|
-
cz=function(a,b){a=a.j?_.
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
gz=function(a,b,c){a.
|
|
172
|
-
|
|
173
|
-
a.configuration.preferredAudioChannelCount);const k=
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
_.
|
|
178
|
-
|
|
179
|
-
c=
|
|
180
|
-
|
|
181
|
-
_.
|
|
182
|
-
|
|
183
|
-
_.
|
|
184
|
-
b.position);return null}get(a){if(0==this.a.length)return null;a-=this.a[0].position;return 0>a||a>=this.a.length?null:this.a[a]}offset(a){this.h.info("Apply offset"+a+" to segment index");for(const b of this.a)b.startTime+=a,b.endTime+=a,b.
|
|
185
|
-
this.a[0].startTime}replace(a){this.a=a}};
|
|
186
|
-
|
|
187
|
-
a>c.endTime?3:2;this.h.set(c,e);const f=this.o.find(g=>g.
|
|
188
|
-
|
|
189
|
-
this.a&&a<this.f}
|
|
190
|
-
{video:_.
|
|
191
|
-
_.
|
|
192
|
-
this.B&&a.push(this.B.destroy());for(const c in this.A)a.push(this.A[c].destroy());return Promise.all(a).then(()=>{this.o&&(this.o.release(),this.o=null);this.j&&(this.j.removeAttribute("src"),this.j.load(),this.j=null);this.B=this.g=this.m=null;this.f={};this.A={};this.F={};this.G=null;this.K=!1;for(const c in this.h);this.h={}})}init(a,b){const c=this;return _.
|
|
193
|
-
!b||d.keyInfo)&&
|
|
194
|
-
(a=
|
|
195
|
-
a,this.R.bind(this,a,0,this.m.duration))}flush(a){return a==_.
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
a,b
|
|
199
|
-
|
|
200
|
-
null}
|
|
201
|
-
T.prototype.addTextTrack=T.prototype.addTextTrack;T.prototype.setTextRendition=T.prototype.
|
|
202
|
-
T.prototype.getLoadingAudioRendition=T.prototype.
|
|
203
|
-
a=
|
|
204
|
-
"deltaTimeMs\x3d"+a,"numBytes\x3d"+b,"lastTimeChosenMs\x3d"+this.h,"enabled\x3d"+this.j);var c=this.g;if(!(16E3>b)){var d=8E3*b/a;a/=1E3;c.a+=b;_.
|
|
205
|
-
break a}}else if(Date.now()-this.h<1E3*this.a.switchInterval){this.f.debug("Still within switch interval...");break a}b=this.chooseVariant();this.f.debug("Calling switch_(), bandwidth\x3d"+Math.round(
|
|
206
|
-
(a=b));this.f&&(b=
|
|
207
|
-
this.D.setPlaybackRate(this.a.chasingRate)):1<d&&b<=e&&(this.f.debug("On live edge, reduce playback rate."),this.D.setPlaybackRate(1))}}))}release(){this.g.release()}};var jz=class{constructor(a){this.g=a;this.a=null;this.f=()=>{}}release(){this.a=this.g=null;this.f=()=>{}}m(a){const b=this.a;{const c=this.g.periods;a=
|
|
208
|
-
this.g?this.a.stop():(this.f.currentTime=this.j,this.h--)})}release(){this.a&&(this.a.stop(),this.a=null);this.f=null}};var iz=class{constructor(a,b,c,d,e,f){this.h=a;this.a=b.presentationTimeline;this.B=b.minBufferTime||0;this.m=c;this.A=e;this.w=null;this.j=new
|
|
209
|
-
{if(0!=this.h.readyState&&!this.h.paused){var g=
|
|
210
|
-
if(!c.variant&&!c.text)throw a.a.error("init: no Streams chosen"),new _.
|
|
211
|
-
a,a.
|
|
212
|
-
d.reader.getPosition());a=a.startTime+b.startTime+h/g;c.includes(e)&&("urn:mpeg:dash:event:2012"==e?this.D.
|
|
213
|
-
f;this.a.debug(`hSpacing=${e}, vSpacing=${f}, updatePASP=${b}`);d.parser.stop()}).parse(a.data);b&&(a=new _.Oj(new DataView(a.data)),a.seek(c),_.
|
|
214
|
-
this.configuration.preferredAudioChannelCount);this.
|
|
215
|
-
a&&a.release();return this.C===
|
|
216
|
-
d(g)})}catch(e){a.R=null,d(e)}});return a.R})}getBufferInfo(a){if(this.H){var b=
|
|
217
|
-
this.f.presentationTimeline.getDuration():Infinity}destroy(){const a=this,b=()=>Object.getPrototypeOf(Object.getPrototypeOf(this)).destroy;return _.
|
|
218
|
-
if(b.R){try{yield b.R}catch(h){}b.
|
|
219
|
-
d();yield
|
|
220
|
-
0),end:
|
|
221
|
-
d,!0,0)}}}
|
|
222
|
-
a.h=c}if(this.C===
|
|
223
|
-
Error("State error!");const h=
|
|
224
|
-
codecs:e||"",kind:c,encrypted:!1,keyId:null,language:b,label:f||null,type:_.
|
|
225
|
-
a.textStreams);const b=
|
|
226
|
-
c?"":c)===
|
|
227
|
-
this.
|
|
228
|
-
d=b.
|
|
229
|
-
_.
|
|
230
|
-
_.
|
|
231
|
-
"middle"}d.writingMode===_.Ge?e.vertical="lr":d.writingMode===_.
|
|
232
|
-
|
|
148
|
+
az=function(a){return _.y(function*(){const b=a.h;var c=e=>{a.h&&a.F&&(e.type===_.fe&&a.Zc?(a.F.a=Oy,xy(a)):e.type===_.Qe&&a.getState()===_.Sl&&.1>a.getBufferInfo().Ca(a.getPosition())?(a.F.a=Oy,xy(a)):a.F&&Py(a));Qy(a)};a.m.on(b,_.Td,c);a.m.on(b,_.Od,c);a.m.on(b,_.Zc,c);a.m.on(b,_.fe,c);a.m.on(b,_.ee,c);a.m.on(b,_.Wd,c);a.m.on(b,_.Qe,c);a.m.on(b,_.Yd,()=>{if(a.h){var e=a.h.playbackRate;0!=e&&a.Ya.set(e)}});a.g||(a.g=new _.Ry,a.g.configure(a.configuration.abr));Sy(a,a.f.periods);a.Wa=new Ty(a.configuration.preferredAudioLanguage||
|
|
149
|
+
[],a.configuration.preferredAudioRole,a.configuration.preferredAudioChannelCount);a.aa=a.configuration.preferredTextLanguage;a.ma=a.configuration.preferredTextRole;yield _.ml(a.j,b);if(!a.j)throw new _.H(_.G,7,7001);a.g.init((e,f,g)=>{!a.O&&ly(a,e,f,g)});a.w=Uy(a,a.configuration.startTime);a.Za=Vy(a);a.Ya=new Wy({vd:()=>b.playbackRate,Pe:e=>{b.playbackRate=e},Vf:e=>{b.currentTime+=e}});a.isLive()&&a.configuration.streaming.enableLiveEdgeChasing&&(a.oc=new Xy(a));Yy(a,Math.max(1E-4,a.configuration.streaming.rebufferingGoal));
|
|
150
|
+
Vv(a.f,_.Zf(a.configuration.preferredVideoCodec),_.Zf(a.configuration.preferredAudioCodec),a.configuration.preferredAudioChannelCount);a.a=Zy(a);a.a.j=a.configuration.streaming;a.C=cy;yield a.a.start();if(!a.a)throw new _.H(_.G,7,7001);a.configuration.streaming.startAtSegmentBoundary&&(c=$y(a,ax(a.w)),Uw(a.w.g,c));for(var d of a.f.periods)Cy(a,d);Ly(a);d=dy(a)||a.f.periods[0];c=d.variants.some(e=>e.primary);a.configuration.preferredAudioLanguage||c||a.log.warn("No preferred audio language set. We will choose an arbitrary language initially");
|
|
151
|
+
ky(a,d.variants);a.m.one(b,_.nd,()=>{a.G.w=Date.now()/1E3-(null===a.Dd?0:a.Dd)})})};xy=function(a){if(a.G&&a.F&&a.w){const c=bz(a)===_.Kl;var b=a.Ya;b.h=c;Lw(b);a.w.j.m=c;Qy(a)}};Hy=function(a,b,c){a.trigger(new _.F(b,{detail:{schemeIdUri:c.schemeIdUri,value:c.value,startTime:c.startTime,endTime:c.endTime,id:c.id,eventElement:c.eventElement,type:c.type}}))};
|
|
152
|
+
Iy=function(a){return{networkingEngine:a.getNetworkEngine(),filterNewPeriod:b=>Cy(a,b),filterAllPeriods:b=>My(a,b),onTimelineCueAdded:b=>{var c=a.Ka;a:{for(d of c.a)if(d.schemeIdUri===b.schemeIdUri&&d.startTime===b.startTime&&d.endTime===b.endTime)break a;var d=null}null==d&&(c.a.add(b),c.f(b))},onEvent:b=>a.Ed(b),onError:b=>a.onError(b)}};By=function(a){const b=_.pj(a.configuration.drm);a.j.h=b};
|
|
153
|
+
My=function(a,b){var c=a.a?sx(a.a):null;const d=a.a?tx(a.a):null;for(const e of b)$v(a.j,c,d,e);c=Hu(b,e=>e.variants.some(cw));if(0===c)throw new _.H(_.G,4,4032);if(c<b.length)throw new _.H(_.G,4,4011);for(const e of b)Xv(e.variants,a.configuration.restrictions,a.Oe)&&a.a&&dy(a)==e&&Ly(a),cz(a,e.variants)};
|
|
154
|
+
Py=function(a){switch(a.C){case cy:a:if(a.h.ended||Dv(a.H))var b=!0;else{if(a.isLive()){b=Zu(a.f.presentationTimeline);var c=a.getBufferInfo();if(null!==c&&(c=c.ya(),null!==c&&c>=b)){b=!0;break a}}b=!1}break;default:b=!1}if(a.H){var d=Fv(a.H);c=d.video;d=d.audio;var e=a.h.currentTime;c&&d?(c=c.Ca(e),d=d.Ca(e),c=Math.min(c,d)):c=c?c.Ca(e):d?d.Ca(e):0}else c=0;if(d=a.F){{d=a.F;var f=b;const g=d.f.get(d.a);e=d.a;c=f||c>=g?dz:Oy;d.a=c;d=e!=c}}c=d;d=ez(a);c||a.getState()===_.Kl&&!d?(a.log.debug("Buffering state changed. Is buffering",
|
|
155
|
+
d,"buffered to end",b,"state",a.getState()),xy(a)):a.Qb&&Qy(a)};Qy=function(a){qy(a,bz(a))};
|
|
156
|
+
Sy=function(a,b){for(let c=0;c<b.length;c++){const d=b[c],e=new Map;for(const f of d.variants)if(f.video&&f.video.closedCaptions){const g=f.video;for(const h of g.closedCaptions.keys())if(!e.has(h)){const k={id:a.Re++,originalId:h,createSegmentIndex:Promise.resolve.bind(Promise),findSegmentPosition:()=>null,getSegmentReference:()=>null,initSegmentReference:null,Ha:0,mimeType:_.Ub,codecs:"",kind:"caption",encrypted:!1,keyId:null,language:g.closedCaptions.get(h),label:null,type:_.v,primary:!1,trickModeVideo:null,
|
|
157
|
+
emsgSchemeIdUris:null,roles:g.roles,channelsCount:null,closedCaptions:null};e.set(h,k)}}for(const f of e.values())d.textStreams.push(f)}};ly=function(a,b,c,d){c=void 0===c?!1:c;d=void 0===d?0:d;if(a.configuration.abr.enabled){a.log.debug("switch_");var e=fz(a,b);gz(a,e,()=>gy(a,e,b,!0));e===dy(a)&&hz(a);a.a&&Cx(a.a,b,c,d)}};Uy=function(a,b){return new iz(a.h,a.f,a.configuration.streaming,b,()=>{a.Za&&lv(a.Za,!0);a.a&&Hx(a.a)},c=>a.dispatchEvent(c))};
|
|
158
|
+
Vy=function(a){const b=new jz(a.f);Kw(b,()=>{Ly(a)});const c=new qz(a.Ka);mv(c,e=>{e.cd&&e.cd();Hy(a,_.Uf,e)},e=>{e.Nd&&e.Nd();Hy(a,_.Vf,e)},(e,f)=>{f||(e.cd&&e.cd(),Hy(a,_.Uf,e),e.Nd&&e.Nd(),Hy(a,_.Vf,e))});const d=new rz(a.h);d.a.add(b);d.a.add(c);return d};Yy=function(a,b){a.F=new sz(b,Math.min(.5,b/2));a.F.a=Oy;xy(a);a.da=(new _.Zh(()=>{Py(a)})).Va(.25)};
|
|
159
|
+
Zy=function(a){const b={rb:()=>ax(a.w),Z:a.H,wb:a.getNetworkEngine(),Md:a.rg.bind(a),Ld:a.qg.bind(a),onError:a.onError.bind(a),De:a.Ye.bind(a),onEvent:a.Ed.bind(a),He:a.sg.bind(a),dd:a.Ze.bind(a),td:()=>a.g,kd:a.pg.bind(a),Qe:a.af.bind(a),Cc:a.j};return new _.tz(a.f,b)};
|
|
160
|
+
$y=function(a,b){function c(g,h){if(!g)return null;h=g.findSegmentPosition(h-f.startTime);return null==h?null:(g=g.getSegmentReference(h))?g.startTime+f.startTime:null}const d=sx(a.a);var e=tx(a.a);const f=dy(a);a=c(d,b);e=c(e,b);return null!=e&&null!=a?Math.max(e,a):null!=e?e:null!=a?a:b};
|
|
161
|
+
Cy=function(a,b){var c=a.a?sx(a.a):null;const d=a.a?tx(a.a):null;$v(a.j,c,d,b);c=b.variants;if(!c.some(cw))throw new _.H(_.G,4,4011);cz(a,b.variants);Xv(c,a.configuration.restrictions,a.Oe)&&a.a&&dy(a)==b&&Ly(a);if(!_.ci(2)&&(b=a.j?a.j.getDrmInfo():null))for(const e of c)for(const f of e.drmInfos)if(f.keySystem===b.keySystem)for(const g of f.initData||[])_.$k(a.j,g.keyId,g.initData)||_.bl(a.j,g.initDataType,g.initData,g.keyId)};
|
|
162
|
+
Ly=function(a){const b=a.getTrackManager();b&&a.C!==ry&&(b.l&&(xw(b),b.l.trigger(new _.F(_.ap))),hz(a))};dy=function(a){const b=ax(a.w);let c=null;for(const d of a.f.periods)d.startTime<=b&&(c=d);return c};
|
|
163
|
+
ky=function(a,b){try{cz(a,b)}catch(d){return a.onError(d),null}b=b.filter(d=>cw(d));b=jw(b,a.Xa);var c=a.Wa.create(b);c=Array.from(c.values());a.g.setVariants(c);if(null!==a.M&&null!==a.Xa&&(c=c.find(d=>d.video.id==a.M&&d.audio.id==a.Xa),a.M=null,c))return c;if(a.configuration.abr.enabled||null===a.M)return a.g.chooseVariant();b=b.find(d=>null!==d.video&&d.video.id===a.M);return b?b:(a.log.warn("Selected video track not found. Falling back to ABR selection"),a.g.chooseVariant())};
|
|
164
|
+
ez=function(a){return a.j&&a.j.B?!0:a.F?a.F.getState()===Oy:!1};Dy=function(a,b,c){c=void 0===c?!0:c;const d=ky(a,b.variants);a.Xa=d&&d.audio&&d.audio.id;d&&(gy(a,b,d,!0),hy(a,d,c));(c=_.ew(b.textStreams,a.aa,a.ma)[0]||null)&&(a.configuration.streaming.alwaysStreamText||vw(a))&&(ey(a,b,c,!0),fy(a,c))};iy=function(a){const b=dy(a);return b&&Cw(a.K,b).variant};jy=function(a){const b=dy(a);if(null==b)return[];uz(a);return b.variants.filter(c=>cw(c))};
|
|
165
|
+
vz=function(a){const b=dy(a);if(null==b)return[];uz(a);return b.textStreams.filter(c=>!a.pc.has(c))};ey=function(a,b,c,d){Dw(a.K,b,c);if(b=a.getTrackManager())yw(b,c,d),c=b.Ea(),a=a.G.A,a.g!==c&&(a.g=c,a.a.push({timestamp:Date.now()/1E3,id:c.id,trackId:c.track.id,type:c.track.type,fromAdaptation:d,width:null,height:null,bandwidth:null}))};fy=function(a,b){a.O?a.S=b:_.Bx(a.a,b,!0,0)};
|
|
166
|
+
gy=function(a,b,c,d){var e=a.getTrackManager();a.A.setCurrentVariant(c);if(e){var f=a.G.A;if(c.video){yw(e,c.video,d);var g=e.ia(),h=f;h.h!==g&&(h.h=g,h.a.push({timestamp:Date.now()/1E3,id:g.id,trackId:g.track.id,type:g.track.type,fromAdaptation:d,width:g.width,height:g.height,bandwidth:g.bandwidth}))}c.audio&&(yw(e,c.audio,d),e=e.Da(),f.f!==e&&(f.f=e,f.a.push({timestamp:Date.now()/1E3,id:e.id,trackId:e.track.id,type:e.track.type,fromAdaptation:d,width:null,height:null,bandwidth:e.bandwidth})))}Cw(a.K,
|
|
167
|
+
b).variant=c};hy=function(a,b,c,d){c=void 0===c?!1:c;d=void 0===d?0:d;a.O?(a.W=b,a.Le=c,a.Ke=d):Cx(a.a,b,c,d)};
|
|
168
|
+
cz=function(a,b){a=a.j?_.vf(a.j.W):{};var c=Object.keys(a);c=c.length&&"00"==c[0];let d=!1,e=!1;const f=[],g=[];for(const h of b){b=[];h.audio&&b.push(h.audio);h.video&&b.push(h.video);for(const k of b)k.keyId&&((b=a[c?"00":k.keyId])?Ky.includes(b)&&(g.includes(b)||g.push(b)):f.includes(k.keyId)||f.push(k.keyId));h.allowedByApplication?h.allowedByKeySystem&&(d=!0):e=!0}if(!d)throw new _.H(_.G,4,4012,{hasAppRestrictions:e,missingKeys:f,restrictedKeyStatuses:g});};
|
|
169
|
+
uz=function(a){if(a.a&&a.f){var b=qx(a.a),c=dy(a);null!=b&&b==c&&(sx(a.a),tx(a.a),_.rx(a.a,_.v),Cw(a.K,c),Cw(a.K,c))}};bz=function(a){const b=a.getDuration(),c=a.getPosition();return a.h&&a.h.ended||(a.Qb||a.U===_.Hl)&&1>=Math.abs(b-c)?_.Hl:ez(a)||a.Zc?_.Kl:a.h&&a.h.paused?_.Rl:_.Sl};
|
|
170
|
+
wz=function(a,b){a.O=!0;a.g.disable();a.log.debug("Choosing new streams after period changed");let c=ky(a,b.variants),d=_.ew(b.textStreams,a.aa,a.ma)[0]||null;a.W&&(b.variants.includes(a.W)&&(c=a.W),a.W=null);a.S&&(b.textStreams.includes(a.S)&&(d=a.S),a.S=null);c&&gz(a,b,()=>gy(a,b,c,!0));d&&(a.configuration.streaming.alwaysStreamText||vw(a))&&gz(a,b,()=>ey(a,b,d,!0));b===dy(a)&&hz(a);return a.configuration.streaming.alwaysStreamText||vw(a)?{variant:c,text:d}:{variant:c,text:null}};
|
|
171
|
+
gz=function(a,b,c){a.Cb.has(b)||a.Cb.set(b,[]);a.Cb.get(b).push(c)};hz=function(a){const b=dy(a);if(b){const c=a.Cb.get(b)||[];for(a.Cb.delete(b);c.length;)c.shift()()}};fz=function(a,b){for(const c of a.f.periods)if(c.variants.includes(b))return c;return null};
|
|
172
|
+
xz=function(a,b,c){return _.y(function*(){let d;try{d=yield _.Hn(b.url,a.getNetworkEngine(),a.configuration.manifest.attemptParameters,b.type||null);d.configure(a.configuration.manifest);var e=yield d.start(b.url,Iy(a));by(e.periods);if(!e.periods.length)throw new _.H(_.G,4,4014);yield a.A.stop();a.A=d;const f=c.audio&&c.audio.id,g=c.video&&c.video.id;a.f.periods=e.periods;const h=Qu(e.periods,ax(a.w))||e.periods[0];Vv(a.f,_.Zf(a.configuration.preferredVideoCodec),_.Zf(a.configuration.preferredAudioCodec),
|
|
173
|
+
a.configuration.preferredAudioChannelCount);const k=kw(f,g,h.variants),l=_.ew(h.textStreams,a.aa,a.ma)[0]||null;ky(a,h.variants);const m=k&&k.video,n=k&&k.audio;e=[];const q=new Set;for(const t of h.variants)t.video&&q.add(t.video),t.audio&&q.add(t.audio);for(const t of[...q,...h.textStreams])e.push(t.createSegmentIndex());yield Promise.all(e);ay(a.a,_.p,n);ay(a.a,_.w,m);ay(a.a,_.v,l);k&&gy(a,h,k,!1);a.log.info("Switch CDN successful.")}catch(f){throw d&&(yield d.stop()),f;}})};
|
|
174
|
+
yz=function(){const a=MediaSource.isTypeSupported,b=/^dv(?:h[e1]|a[v1])\./;MediaSource.isTypeSupported=c=>{var d=c.split(/ *; */),e=d.shift();const f={};for(var g of d)d=g.split("\x3d"),f[d[0]]=d[1].replace(/"(.*)"/,"$1");g=f.codecs;if(!g)return a(c);let h=!1,k=!1;c=g.split(",").filter(l=>{b.test(l)&&(k=!0);/^(hev|hvc)1\.2/.test(l)&&(h=!0);return!0});k&&(h=!1);f.codecs=c.join(",");h&&(f.eotf="smpte2084");for(const l in f)e+="; "+l+'\x3d"'+f[l]+'"';return cast.__platform__.canDisplayType(e)}};
|
|
175
|
+
zz=function(){const a=MediaSource.isTypeSupported;MediaSource.isTypeSupported=b=>"mp2t"==b.split(/ *; */)[0].split("/")[1].toLowerCase()?!1:a(b)};Az=function(){const a=MediaSource.prototype.addSourceBuffer;MediaSource.prototype.addSourceBuffer=function(...b){b=a.apply(this,b);b.abort=function(){};return b}};Bz=function(){const a=SourceBuffer.prototype.remove;SourceBuffer.prototype.remove=function(b,c){return a.call(this,b,c-.001)}};
|
|
176
|
+
Cz=function(){const a=MediaSource.isTypeSupported;MediaSource.isTypeSupported=b=>"opus"!=_.Ju(b)[0]&&a(b)};Dz=function(a,b){const c=a.mode;a.mode=c==_.ge?_.ge:_.dd;const d=a.cues;for(let e=d.length-1;0<=e;e--){const f=d[e];f&&b(f)&&a.removeCue(f)}a.mode=c};ou=[112,115,115,104,0,0,0,0];_.Ez=class{constructor(a,b,c,d,e){this.Fa=a;this.ta=b;this.ha=c;this.keyInfo=d||null;this.kc=_.B(e)?!1:!!e}f(){return this.keyInfo}};
|
|
177
|
+
_.fv=class{constructor(a,b,c,d,e,f,g,h=null,k=!1,l=null,m=null,n=null,q=null,t=[]){this.position=a;this.startTime=b;this.endTime=c;this.Ha=g;this.Fa=d;this.ta=e;this.ha=f;this.keyInfo=h||null;this.kc=_.B(k)?!1:!!k;this.timescale=l;this.horizontalTiles=m;this.verticalTiles=n;this.durationPerTile=q;this.a=t||[];this.g=!1}getPosition(){return this.position}f(){return this.keyInfo}};
|
|
178
|
+
_.oy=class{constructor(a){this.j=a;this.log=new _.O("clpp.renditions");this.V=[];this.h=this.a=null;this.g=!1}track(a){null!=this.a&&(this.a&&(this.a.off(_.ce,this.f),this.g&&this.a.off(_.ve,this.f)),this.a=null);a&&(this.a=a,this.a.on(_.ce,this.f,this))}append(a,b,c){const d=this.j?this.j(c):null;d||this.log.debug("Unable to resolve rendition for id",c);c={start:a,end:b,rendition:d,width:d?d.width:0,height:d?d.height:0,bandwidth:d?d.bandwidth:0};const e=this.V.find(f=>f.start>=a&&f.end<=b);if(e)e.rendition=
|
|
179
|
+
d,e.width=c.width,e.height=c.height,e.bandwidth=c.bandwidth,e.start=c.start,e.end=c.end;else{for(const f of this.V)a>=f.start&&a<f.end?f.end=a:b>=f.start&&b<f.end&&(f.start=b);this.V.push(c);this.V.sort(Lu)}Ou(this);this.f();this.a&&this.a.trigger(new _.F(_.Le))}clear(){this.V=[];Ou(this);this.a&&(this.a.trigger(new _.F(_.Le)),this.a.trigger(new _.F(_.fc)))}f(){if(this.a){var a=this.a.getPosition();if(0<=a){a:{var b=this.V.length,c=Number.MAX_SAFE_INTEGER;for(var d=0;d<b;d++){const e=this.V[d];c=
|
|
180
|
+
Math.min(e.start,c);if(e.start<=a&&e.end>a){a=.1>e.end-a&&d<b-1?this.V[d+1].rendition:e.rendition;break a}if(e.start>a)break}a=0<b&&c>a&&.25>c-a?this.V[0].rendition:null}if(a&&this.h!==a&&(this.h=a,this.a)){c=b=-1;if(a)b=a.width||-1,c=a.height||-1;else if(d=this.a.getSurface().getMedia())b=d.videoWidth,c=d.videoHeight;this.a.trigger(new _.F(_.hc,{detail:{width:b,height:c,bandwidth:a?a.bandwidth:null,rendition:a}}))}}}}};_.Fz=class{constructor(a){this.g=Math.exp(Math.log(.5)/a);this.f=this.a=0}};
|
|
181
|
+
_.Gz=class{constructor(a,b,c,d,e){e=void 0===e?!1:e;this.w=a;this.F=b;this.j=this.f=Infinity;this.a=1;this.A=0;this.g=this.h=null;this.B=0;this.o=this.m=c;this.H=void 0===d?!0:d;this.C=new _.O("clpp.media.PresentationTimeline");this.G=e}getDuration(){return this.f}getPresentationStartTime(){return this.w}offset(a){null!=this.h&&(this.h+=a);null!=this.g&&(this.g+=a)}isLive(){return Infinity==this.f&&!this.m}};Gy=class{constructor(){this.f=()=>{};this.a=new Set}release(){this.f=()=>{};this.a.clear()}cues(){return this.a}};
|
|
182
|
+
iv=class{constructor(a,b,c){this.g=a;this.a=b;this.f=c;new _.O("clpp.media.SegmentIterator")}next(){var a=this.g.get(this.a);a&&0<a.a.length?(this.f+=1,a.Fa().length&&this.f===a.a.length&&(this.a+=1,this.f=0)):(this.a+=1,this.f=0);a=dv(this);return{value:a,done:!a}}};
|
|
183
|
+
_.Hz=class{constructor(a){this.a=a;this.h=new _.O("clpp.media.SegmentIndex")}destroy(){this.a=[];return Promise.resolve()}f(a){for(var b=this.a.length-1;0<=b;--b){const c=this.a[b];if(a>=c.startTime&&a<c.endTime)return c.position}if(this.a.length&&a<this.a[0].startTime)return this.a[0].position;this.h.warn("No Segment found for "+a+". We have "+this.a.length+" references");for(a=0;a<this.a.length;a++)b=this.a[a],this.h.debug("SegmentIndex Ref "+a+" start: "+b.startTime+" end: "+b.endTime+" pos: "+
|
|
184
|
+
b.position);return null}get(a){if(0==this.a.length)return null;a-=this.a[0].position;return 0>a||a>=this.a.length?null:this.a[a]}offset(a){this.h.info("Apply offset"+a+" to segment index");for(const b of this.a)b.startTime+=a,b.endTime+=a,b.Ha-=a}g(a,b){a-=this.a[0].position;if(0<=a&&a<this.a.length)for(this.h.warn("Accounting for segment duration drift",b,"at",a),this.a[a].endTime+=b,a+=1;a<this.a.length;++a)this.a[a].startTime+=b,this.a[a].endTime+=b}getDuration(){return this.a[this.a.length-1].endTime-
|
|
185
|
+
this.a[0].startTime}replace(a){this.a=a}};rz=class{constructor(a){this.f=a;this.a=new Set;this.g=(new _.Zh(()=>{lv(this,!1)})).Va(.25)}release(){this.g.stop();for(const a of this.a)a.release();this.a.clear()}};
|
|
186
|
+
qz=class{constructor(a){this.j=a;this.h=new Map;this.a=()=>{};this.f=()=>{};this.g=()=>{};this.o=[{gc:null,fc:2,Wb:(b,c)=>this.a(b,c)},{gc:1,fc:2,Wb:(b,c)=>this.a(b,c)},{gc:3,fc:2,Wb:(b,c)=>this.a(b,c)},{gc:2,fc:1,Wb:(b,c)=>this.f(b,c)},{gc:2,fc:3,Wb:(b,c)=>this.f(b,c)},{gc:1,fc:3,Wb:(b,c)=>this.g(b,c)},{gc:3,fc:1,Wb:(b,c)=>this.g(b,c)}]}release(){this.j=null;this.h.clear();this.a=()=>{};this.f=()=>{};this.g=()=>{}}m(a,b){for(const c of this.j.cues()){const d=this.h.get(c)||null,e=a<c.startTime?1:
|
|
187
|
+
a>c.endTime?3:2;this.h.set(c,e);const f=this.o.find(g=>g.gc===d&&g.fc===e);f&&f.Wb(c,b)}}};
|
|
188
|
+
Av=class{constructor(a,b){this.o=null;this.B=a;this.g=b;this.h=this.w=0;this.j=Infinity;this.f=this.a=null;this.A="";this.m=new Map}destroy(){this.g=this.o=null;this.m.clear();return Promise.resolve()}remove(a,b){return Promise.resolve().then(()=>{!this.g||!this.g.remove(a,b)||null==this.a||b<=this.a||a>=this.f||(a<=this.a&&b>=this.f?this.a=this.f=null:a<=this.a&&b<this.f?this.a=b:a>this.a&&b>=this.f&&(this.f=a))})}mb(){return this.a}ya(){return this.f}Yb(a){return null==this.a||null==this.f?!1:a>=
|
|
189
|
+
this.a&&a<this.f}Ca(a){return null==this.f||this.f<a?0:this.f-Math.max(a,this.a)}};yy=class{constructor(){this.a=new muxjs.mp4.CaptionParser;this.j=[];this.h={}}init(a){const b=muxjs.mp4.probe;a=_.I(a);this.j=b.videoTrackIds(a);this.h=b.timescale(a);this.a.init()}g(a,b){a=_.I(a);(a=this.a.parse(a,this.j,this.h))&&a.captions&&b(a.captions);this.a.clearParsedCaptions()}f(){this.a.resetCaptionStream()}};_.zy=class{init(){}g(){}f(){}};var Iz=class{constructor(){this.a=new muxjs.mp4.Transmuxer({keepOriginalTimestamps:!0,remux:!1});this.f=null;this.m=[];this.j=[];this.g=[];this.h=!1;this.a.on("data",this.w.bind(this));this.a.on("done",this.o.bind(this))}destroy(){this.a&&(this.a.dispose(),this.a=null);return Promise.resolve()}w(a){this.g=a.captions;const b=new Uint8Array(a.data.byteLength+a.initSegment.byteLength);b.set(a.initSegment,0);b.set(a.data,a.initSegment.byteLength);a.type===_.w?this.m.push(b):a.type===_.p&&this.j.push(b)}o(){const a=
|
|
190
|
+
{video:_.ah(...this.m),captions:this.g,audio:_.ah(...this.j)};this.f.resolve(a);this.h=!1}};var yv;
|
|
191
|
+
_.Ay=class{constructor(a,b,c,d,e){this.j=a;this.B=c;this.f={};this.K=!1;this.g=null;this.h={};this.o=new _.uo;this.I=!1;this.A={};this.G=b;this.C=d;this.M=e;this.W=this.M.streaming.maxSegmentToMediaOffset||1;this.H=new _.Xk;this.F={};this.m=zv(this,this.H);this.a=new _.O("clpp.mse.MediaSourceEngine")}destroy(){this.I=!0;const a=[];for(const c in this.h){const d=this.h[c];var b=d[0];this.h[c]=d.slice(0,1);b&&a.push(b.p.catch(xu));for(b=1;b<d.length;++b)d[b].p.catch(xu),d[b].p.reject()}this.g&&a.push(this.g.destroy());
|
|
192
|
+
this.B&&a.push(this.B.destroy());for(const c in this.A)a.push(this.A[c].destroy());return Promise.all(a).then(()=>{this.o&&(this.o.release(),this.o=null);this.j&&(this.j.removeAttribute("src"),this.j.load(),this.j=null);this.B=this.g=this.m=null;this.f={};this.A={};this.F={};this.G=null;this.K=!1;for(const c in this.h);this.h={}})}init(a,b){const c=this;return _.y(function*(){yield c.H;a.forEach((d,e)=>{var f=_.Vh(d.mimeType,d.codecs);if(e==_.v)Bv(c,f);else{let g=new Map;g.set(e,f);if((!MediaSource.isTypeSupported(f)||
|
|
193
|
+
!b||d.keyInfo)&&vv(f,e)){c.A[e]=new Iz;f="aac"==f.toLowerCase().split(";")[0].split("/")[1]?f.replace(/aac/i,_.xd):uv(e,f);d=f;f=new Map;f.set(e,d);try{const h=d.match(/"(.*?)"/)[0].replace(/"/g,"").split(","),k=new Map;if(1<h.length)for(const l of h)l.startsWith("avc")?k.set(_.w,`video/mp4;codecs="${l}"`):l.startsWith("mp4a")&&k.set(_.p,`audio/mp4;codecs="${l}"`);g=0<k.size?k:f}catch(h){g=f}}Cv(c,g)}})})}mb(a){return a===_.v?this.g.mb():(a=Ev(this,a))?a.mb():null}ya(a){return a===_.v?this.g.ya():
|
|
194
|
+
(a=Ev(this,a))?a.ya():null}Yb(a,b,c){return a===_.v?this.g.Yb(b):(a=Ev(this,a))?a.Yb(b,!1,c):!1}Ca(a,b){return a===_.v?this.g.Ca(b):(a=Ev(this,a))?a.Ca(b):0}remove(a,b,c){return a===_.v?this.g.remove(b,c):Iv(this,a,this.R.bind(this,a,b,c)).then(()=>{if(a===_.w){var d=this.mb(a);const e=this.ya(a);null!==d&&null!==e&&Pu(this.C,d,e)}else a===_.p&&(d=this.C,d.a&&d.a.trigger(new _.F(_.fc)))})}clear(a){if(a==_.v){if(!this.g)return Promise.resolve();this.G.f();return this.g.remove(0,Infinity)}return Iv(this,
|
|
195
|
+
a,this.R.bind(this,a,0,this.m.duration))}flush(a){return a==_.v?Promise.resolve():Iv(this,a,this.O.bind(this,a))}endOfStream(a){return Ov(this,()=>{Dv(this)||(a?this.m.endOfStream(a):this.m.endOfStream())})}getDuration(){return this.m.duration}J(a,b){this.a.debug("Appending data to "+a+Ht);try{this.f[a].appendBuffer(b)}catch(c){throw this.a.warn("Failed to append data for "+a,c),c;}this.a.debug("Done Appending data to "+a+Ht)}R(a,b,c){if(c<=b)this.w(a);else{this.a.debug("Removing data from "+a+" range:",
|
|
196
|
+
b,c);try{this.f[a].remove(b,c)}catch(d){throw this.a.warn("Failed to remove data from "+a+" buffer. Range:",b,c,d),d;}this.a.debug("Done Removing data from "+a+" range:",b,c)}}U(a){try{this.a.debug("Aborting operations for "+a+Ht);const b=this.f[a].appendWindowStart,c=this.f[a].appendWindowEnd;this.f[a].abort();this.f[a].appendWindowStart=b;this.f[a].appendWindowEnd=c}catch(b){throw this.a.warn("Failed to abort operations for "+a+Ht,b),b;}this.a.debug("Done Aborting operations for "+a+Ht);this.w(a)}O(a){try{this.j.readyState>
|
|
197
|
+
HTMLMediaElement.HAVE_NOTHING?(this.a.debug("Flushing buffer for "+a),this.j.currentTime-=.001):this.a.warn("Skip buffer flush for "+a+" with element state: "+this.j.readyState)}catch(b){throw this.a.warn("Failed to flush buffer for "+a,b),b;}this.a.debug("Done Flushing buffer for "+a);this.w(a)}S(a,b){0>b&&(b+=.001);try{this.a.debug("Setting timestamp offset for "+a,b),this.f[a].timestampOffset=b}catch(c){throw this.a.warn("Failed to set timestamp offset for "+a,b,c),c;}this.a.debug("Done Setting timestamp offset for "+
|
|
198
|
+
a,b);this.w(a)}X(a,b,c){try{this.a.debug("Setting append window for "+a,b,c),this.f[a].appendWindowStart=0,this.f[a].appendWindowEnd=c,this.f[a].appendWindowStart=b}catch(d){throw this.a.warn("Failed to set append window for "+a,b,c,d),d;}this.a.debug("Done Setting append window for "+a,b,c);this.w(a)}T(a){this.h[a][0].p.reject(new _.H(_.G,3,3014,{mediaError:this.j.error?this.j.error.code:0}))}w(a){const b=this.h[a][0];b&&(b.p.resolve(),this.a.debug("Update-End received for "+a),Nv(this,a))}getTextDisplayer(){return this.B}};
|
|
199
|
+
yv=window.URL.createObjectURL;var T=class extends _.P{constructor(){super();this.g=new _.O("cl.api.mse.TrackManager");this.l=null;this.h=[];this.a=new Map;this.f=new Map}initialize(a){this.l=a}release(){this.h=[];this.a.clear();this.f.clear()}load(){}destroy(){this.release();this.l=null}getVideoTracks(){return lw(this,_.L)}getAudioTracks(){return lw(this,_.K)}ja(){return lw(this,_.J)}ia(){return this.a.get(_.L)||null}Da(){return this.a.get(_.K)||null}Ea(){return this.a.get(_.J)||null}Pa(){return this.f.get(_.L)||null}bb(){return this.f.get(_.K)||
|
|
200
|
+
null}cb(){return this.f.get(_.J)||null}Ga(){return mw(this,_.L)}na(){return mw(this,_.K)}oa(){return mw(this,_.J)}Ua(a){ow(this,_.L,a)}sa(a){ow(this,_.K,a)}Ba(a){ow(this,_.J,a)}Ta(a,b){nw(this,_.L,a,void 0===b?!1:b)}ib(a,b){nw(this,_.K,a,void 0===b?!1:b)}jb(a,b){nw(this,_.J,a,void 0===b?!1:b)}addTextTrack(a){const b=this;return _.y(function*(){b.l&&(yield b.l.addTextTrack(a.url,a.language,a.kind,a.mimeType,a.codec,a.label))})}la(){return!!this.l&&this.l.la()}};T.prototype.isAbrEnabled=T.prototype.la;
|
|
201
|
+
T.prototype.addTextTrack=T.prototype.addTextTrack;T.prototype.setTextRendition=T.prototype.jb;T.prototype.setAudioRendition=T.prototype.ib;T.prototype.setVideoRendition=T.prototype.Ta;T.prototype.setTextTrack=T.prototype.Ba;T.prototype.setAudioTrack=T.prototype.sa;T.prototype.setVideoTrack=T.prototype.Ua;T.prototype.getTextTrack=T.prototype.oa;T.prototype.getAudioTrack=T.prototype.na;T.prototype.getVideoTrack=T.prototype.Ga;T.prototype.getLoadingTextRendition=T.prototype.cb;
|
|
202
|
+
T.prototype.getLoadingAudioRendition=T.prototype.bb;T.prototype.getLoadingVideoRendition=T.prototype.Pa;T.prototype.getTextRendition=T.prototype.Ea;T.prototype.getAudioRendition=T.prototype.Da;T.prototype.getVideoRendition=T.prototype.ia;T.prototype.getTextTracks=T.prototype.ja;T.prototype.getAudioTracks=T.prototype.getAudioTracks;T.prototype.getVideoTracks=T.prototype.getVideoTracks;var Jz=class{constructor(){this.f=new _.Fz(2);this.g=new _.Fz(5);this.a=0}};_.Ry=class{constructor(){this.f=new _.O("clpp.abr");this.w=null;this.j=!1;this.g=new Jz;this.o=[];this.m=1;this.B=this.A=!1;this.a=this.h=null}stop(){this.w=null;this.j=!1;this.o=[];this.m=1;this.h=null;this.B=!1}init(a){this.w=a}chooseVariant(){var a=Aw(!this.B&&this.a.initialRestrictions?this.a.initialRestrictions:this.a.restrictions,this.o);const b=zw(this.g,this.a.defaultBandwidthEstimate);this.o.length&&!a.length&&(this.f.warn("No variants met the ABR restrictions. Choosing a variant by lowest bandwidth."),
|
|
203
|
+
a=Aw(null,this.o),a=[a[0]]);let c=a[0]||null;for(const {item:e,next:f}of _.Du(a)){var d=isNaN(this.m)||0===this.m?1:Math.abs(this.m);a=d*e.bandwidth;const g=a/this.a.bandwidthDowngradeTarget;d=d*(f||{bandwidth:Infinity}).bandwidth/this.a.bandwidthUpgradeTarget;this.f.debug("Bandwidth ranges:",(a/1E6).toFixed(3),(g/1E6).toFixed(3),(d/1E6).toFixed(3));b>=g&&b<=d&&(c=e)}this.h=Date.now();this.B=!0;return c}enable(){this.j=!0}disable(){this.j=!1}segmentDownloaded(a,b){this.f.debug("Segment downloaded:",
|
|
204
|
+
"deltaTimeMs\x3d"+a,"numBytes\x3d"+b,"lastTimeChosenMs\x3d"+this.h,"enabled\x3d"+this.j);var c=this.g;if(!(16E3>b)){var d=8E3*b/a;a/=1E3;c.a+=b;_.Ru(c.f,a,d);_.Ru(c.g,a,d)}if(null!=this.h&&this.j)a:{this.f.debug("Suggesting Streams...");if(!this.A){if(!(128E3<=this.g.a)){this.f.debug("Still waiting for a good estimate...");break a}this.A=!0;if(this.a.useSwitchIntervalForInitialSwitch&&Date.now()-this.h<1E3*this.a.switchInterval){this.f.debug("Skipping initial estimation switch due to switch interval...");
|
|
205
|
+
break a}}else if(Date.now()-this.h<1E3*this.a.switchInterval){this.f.debug("Still within switch interval...");break a}b=this.chooseVariant();this.f.debug("Calling switch_(), bandwidth\x3d"+Math.round(zw(this.g,this.a.defaultBandwidthEstimate)/1E3)+" kbps");this.w(b)}}playbackRateChanged(a){this.m=a}getBandwidthEstimate(){return zw(this.g,this.a.defaultBandwidthEstimate)}setVariants(a){this.o=a}configure(a){this.a=a}reset(){this.A=!1;this.g=new Jz;const a=this.chooseVariant();a&&this.w(a)}};var Kz=class{constructor(){this.a=new Map}clear(){this.a.clear()}},Bw=class{constructor(){this.text=this.variant=null}};var Lz=class{constructor(a,b){this.f=a;this.a=new Set([a]);b=b||[];for(const c of b)this.add(c)}add(a){if(Gw(this.f,a))return this.a.add(a),!0;_.C("Rejecting variant - not compatible with root.");return!1}values(){return this.a.values()}};var my=class{constructor(a){this.a=a;this.f=new Ty(a.language,"",a.audio&&a.audio.channelsCount?a.audio.channelsCount:0)}create(a){const b=a.filter(c=>Gw(this.a,c));return b.length?new Lz(b[0],b):this.f.create(a)}},Ty=class{constructor(a,b,c){this.g=_.Zf(a);this.a=b;this.f=c}create(a){var b=Hw(a,this.g);0<b.length&&(a=b);b=!1;if(this.a){const c=Iw(a,this.a);0<c.length?(a=c,b=!0):_.C("No exact match for preferred variant role could be "+`found. Role: ${this.a}`)}b||(b=a.filter(c=>c.primary),0<b.length&&
|
|
206
|
+
(a=b));this.f&&(b=Rv(a,this.f),b.length?a=b:_.C("No exact match for the channel count could be found."));b=new Lz(a[0]);for(const c of a)Gw(b.f,c)&&b.add(c);return b}};var sz=class{constructor(a,b){this.a=dz;this.f=(new Map).set(dz,b).set(Oy,a)}getState(){return this.a}},Oy=0,dz=1;var Xy=class{constructor(a){this.D=a;this.a=a.getConfiguration().streaming;this.g=new _.uo;this.f=new _.O("clpp.mse.media.LiveEdgeObserver");Jw(this)&&(a=this.D.getSurface().getMedia(),this.g.on(a,_.ve,()=>{{var b=this.D.getPosition();const c=this.D.getSeekRange().end;b=c-b;const d=this.D.getPlaybackRate(),e=this.a.stopChasingAt;1<=d&&b>=this.a.chaseJumpDistance?(this.f.debug("Too far from edge, jump to beginning."),this.D.setPlaybackRate(1),this.D.seek(c)):1===d&&b>=this.a.startChasingAt?(this.f.debug("Not on live edge, increase playback rate."),
|
|
207
|
+
this.D.setPlaybackRate(this.a.chasingRate)):1<d&&b<=e&&(this.f.debug("On live edge, reduce playback rate."),this.D.setPlaybackRate(1))}}))}release(){this.g.release()}};var jz=class{constructor(a){this.g=a;this.a=null;this.f=()=>{}}release(){this.a=this.g=null;this.f=()=>{}}m(a){const b=this.a;{const c=this.g.periods;a=Qu(c,a)||c[0]}b!=a&&this.f(a);this.a=a}};var Wy=class{constructor(a){this.a=a;this.h=!1;this.g=this.a.vd();this.f=new _.Zh(()=>{this.a.Vf(.25*this.g)})}release(){this.f&&(this.f.stop(),this.f=null);this.a=null}set(a){this.g=a;Lw(this)}};var Vw=class{constructor(a,b){this.g=a;this.j=Nw(a);this.a=a.a.currentTime;this.h=Date.now()/1E3;this.m=b;this.f=()=>{}}release(){this.g=null;this.f=()=>{}}},Ww=class{constructor(a){this.a=a}};var Mz=class{constructor(a,b,c,d,e){this.a=a;this.C=b;this.j=c;this.B=e;this.g=new _.uo;this.A=!1;this.G=a.readyState;this.h=!1;this.f=d;this.m=this.F=this.w=!1;this.g.on(a,_.Qe,()=>Ow(this));this.o=(new _.Zh(()=>{Ow(this)})).Va(.25)}release(){this.g&&(this.g.release(),this.g=null);null!=this.o&&(this.o.stop(),this.o=null);this.f&&(this.f.release(),this.f=null);this.a=this.C=this.B=null;this.m=!1}dd(){this.w=!0;Ow(this)}};var Oz=class{constructor(a,b,c,d){this.a=a;this.h=b;this.m=d;this.w=c;this.j=!1;this.f=new _.uo;this.g=new Nz(a,10);this.o=!1;0<a.readyState?Rw(this,c):Sw(this,c)}release(){this.f&&(this.f.release(),this.f=null);null!=this.g&&(this.g.release(),this.g=null);this.h=()=>{};this.a=null;this.m=()=>{};this.o=!1}},Nz=class{constructor(a,b){this.f=a;this.m=b;this.j=this.g=this.h=0;this.a=new _.Zh(()=>{0>=this.h?(_.C(["Failed to move playhead from",this.g,"to",this.j].join(" ")),this.a.stop()):this.f.currentTime!=
|
|
208
|
+
this.g?this.a.stop():(this.f.currentTime=this.j,this.h--)})}release(){this.a&&(this.a.stop(),this.a=null);this.f=null}};var iz=class{constructor(a,b,c,d,e,f){this.h=a;this.a=b.presentationTimeline;this.B=b.minBufferTime||0;this.m=c;this.A=e;this.w=null;this.j=new Mz(a,b.presentationTimeline,c,Xw(this,a,c),f);this.g=new Oz(a,()=>{a:{var g=this.j;g.A=!0;g.w=!1;g.h=!1;g=Tw(this.g);const h=bx(this,g);if(.001<Math.abs(h-g)){const k=(new Date).getTime()/1E3;if(!this.w||this.w<k-1){this.w=k;Uw(this.g,h);g=void 0;break a}}this.f.debug("Seek to "+g);this.A();g=void 0}return g},$w(this,d),()=>{this.j.F=!0});this.o=(new _.Zh(()=>
|
|
209
|
+
{if(0!=this.h.readyState&&!this.h.paused){var g=Tw(this.g),h=bv(this.a,0),k=av(this.a);3>k-h&&(h=k-3);g<h&&(h=bx(this,g),this.f.info("Jumping forward "+(h-g)+" seconds to catch up with the seek range."),this.h.currentTime=h)}})).Va(.25);this.f=new _.O("clpp.mse.Playhead")}release(){this.g&&(this.g.release(),this.g=null);this.j&&(this.j.release(),this.j=null);this.o&&(this.o.stop(),this.o=null);this.h=this.g=this.a=this.m=null;this.A=()=>{}}};var ex=new _.wp(()=>new Uint8Array([0,0,0,80,115,105,110,102,0,0,0,12,102,114,109,97,0,0,0,0,0,0,0,20,115,99,104,109,0,0,0,0,99,101,110,99,0,1,0,0,0,0,0,40,115,99,104,105,0,0,0,32,116,101,110,99,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]));_.tz=class{constructor(a,b){this.D=b;this.g=a;this.j=null;this.w=1;this.F=Promise.resolve();this.m=[];this.o=new Map;this.f=new Map;this.H=this.h=this.A=this.B=!1;this.G=0;this.a=new _.O("clpp.mse.Streaming");this.C=!1}destroy(){const a=this;return _.y(function*(){const b=[];for(const c of a.f.values())ix(c),b.push(jx(c));yield Promise.all(b);a.f.clear();a.o.clear();a.D=null;a.g=null;a.F=null;a.m=null;a.j=null;a.h=!0})}start(){const a=this;return _.y(function*(){const b=a.D.rb();var c=kx(a,b);c=a.D.Md(a.g.periods[c]);
|
|
210
|
+
if(!c.variant&&!c.text)throw a.a.error("init: no Streams chosen"),new _.H(_.G,5,5005);a.C=!c.variant&&!!c.text;yield px(a,c.variant?c.variant.audio:null,c.variant?c.variant.video:null,c.text,b);a.h||(a.a.debug("init: completed initial Stream setup"),a.D&&a.D.Wf&&(a.a.debug("init: calling onInitialStreamsSetup()..."),a.D.Wf()))})}xb(a){const b=this;return _.y(function*(){if(!b.h){var c=gx(a);if(!a.Ra&&null!=a.lb&&!a.Sb)if(a.lb=null,a.Bb)b.a.debug(c,"skipping update and clearing the buffer"),yield Ax(b,
|
|
211
|
+
a,a.gd,a.Sc);else{try{var d=Lx(b,a);null!=d&&(ox(b,a,d),a.sc=!1)}catch(e){yield Mx(b,e);return}d=Array.from(b.f.values());Nx(b,a);b.B&&d.every(e=>e.endOfStream)&&(b.a.debug(c,"calling endOfStream()..."),b.D.Z.endOfStream().then(()=>{if(!b.h){var e=b.D.Z.getDuration();e<b.g.presentationTimeline.getDuration()&&(b.g.presentationTimeline.f=e)}}).then(()=>{b.D.De()}))}}})}I(a,b,c,d){const e=nu(d.reader),f=nu(d.reader),g=_.N(d.reader),h=_.N(d.reader),k=_.N(d.reader),l=_.N(d.reader);d=_.Cj(d.reader,d.reader.za()-
|
|
212
|
+
d.reader.getPosition());a=a.startTime+b.startTime+h/g;c.includes(e)&&("urn:mpeg:dash:event:2012"==e?this.D.He():(c=new _.F("emsg",{detail:{startTime:a,endTime:a+k/g,schemeIdUri:e,value:f,timescale:g,presentationTimeDelta:h,eventDuration:k,id:l,messageData:d}}),this.D.onEvent(c)))}J(a){let b=!1,c=0;(new _.Mj).L(_.wd,_.Fj).L(_.we,_.Fj).L(_.rd,_.Fj).L(_.vd,_.Fj).L(_.me,_.Fj).Y(_.oe,_.Gj).L("encv",d=>{d.reader.skip(78);_.Fj(d)}).L("pasp",d=>{c=d.start+d.headerSize;const e=_.N(d.reader),f=_.N(d.reader);
|
|
213
|
+
b=e!==f;this.a.debug(`hSpacing=${e}, vSpacing=${f}, updatePASP=${b}`);d.parser.stop()}).parse(a.data);b&&(a=new _.Oj(new DataView(a.data)),a.seek(c),_.M(a,1),_.M(a,1))}};_.Ex="iterateSegmentReference";var Pz=class extends _.fp{constructor(a){super(Yt);this.C=wy;this.h=this.ra=this.R=null;this.Fd=0;this.Ce=2;this.Rb=null;this.Cd=!1;this.m=new _.uo;this.da=this.oc=this.Ya=this.Za=this.w=this.H=this.j=null;this.Qb=!1;this.g=this.f=this.A=this.a=this.Ka=this.F=null;this.Re=1E9;this.pc=new Set;this.O=!0;this.W=null;this.Le=!1;this.Ke=0;this.S=null;this.K=new Kz;this.Oe={width:Infinity,height:Infinity};this.G=null;this.U=_.Pl;this.Wa=new Ty(this.configuration.preferredAudioLanguage||[],this.configuration.preferredAudioRole,
|
|
214
|
+
this.configuration.preferredAudioChannelCount);this.aa=this.configuration.preferredTextLanguage;this.M=this.Xa=null;this.Cb=new Map;this.X=null;this.ma=this.configuration.preferredTextRole;a&&a(this);this.Dd=null;this.m.on(window,"online",()=>{this.C===cy&&Zx(this.a)})}init(a,b){const c=a.getMedia();super.init(a,b);ny(this,c)}namespace(){return Yt}Ie(){return new T}getState(){return this.U}getDrmInfo(){return this.j?this.j.getDrmInfo():null}unload(){qw(this,!1);this.Qb=!1;if(this.o){const a=this.getTrackManager();
|
|
215
|
+
a&&a.release();return this.C===ry?Promise.resolve():vy(this).then(()=>{this.log.debug(_.$a,this.o);this.o=null;this.Fd=0;this.M=this.Xa=null})}return Promise.resolve()}release(){const a=this,b=()=>Object.getPrototypeOf(Object.getPrototypeOf(this)).release;return _.y(function*(){if(a.R)return a.R;a.R=new Promise((c,d)=>{try{const e=a.ra;a.ra=null;let f=e;e&&(f=e.catch(()=>{}));f?f=f.then(()=>b().call(a)):f=b().call(a);f=f.then(()=>a.unload());f.then(()=>{qy(a,_.Pl);a.R=null;c()}).catch(g=>{a.R=null;
|
|
216
|
+
d(g)})}catch(e){a.R=null,d(e)}});return a.R})}getBufferInfo(a){if(this.H){var b=Fv(this.H);const c=new _.bp(void 0,a);switch(a){case _.L:return b.video?b.video:c;case _.K:return b.audio?b.audio:c;case _.J:return b.text?b.text:c}return b.total?b.total:c}return this.Rb?(b=Mu(this.Rb),Ku(b,a)):super.getBufferInfo(a)}getPosition(){return this.w?ax(this.w):super.getPosition()}getPresentationStartTime(){return this.f?this.f.presentationTimeline.getPresentationStartTime():null}getDuration(){return this.f?
|
|
217
|
+
this.f.presentationTimeline.getDuration():Infinity}destroy(){const a=this,b=()=>Object.getPrototypeOf(Object.getPrototypeOf(this)).destroy;return _.y(function*(){yield b().call(a);a.C!==ry&&(a.log.debug("Destroying player..."),a.C=ry,yield ty(a),a.m&&(a.m.release(),a.m=null),a.g=null)})}load(a){const b=this;return _.y(function*(){if(b.C===ry)return Promise.reject(new _.H(_.G,7,7E3));const c=new _.Xk;var d=()=>{b.log.info("Aborting current load");throw new _.H(_.G,7,7E3);};b.ra=c;try{b.ra!==c&&d();
|
|
218
|
+
if(b.R){try{yield b.R}catch(h){}b.ra!==c&&d()}b.G=new _.vp;b.Dd=Date.now()/1E3;qy(b,_.Ql);b.o=_.Vl(a);_.dj(a)&&(b.configuration=_.cj(b.jc,a));b.log.info(_.Ja,b.configuration);b.log.info(_.Wa,b.o);const e=b.getTrackManager();e&&e.load();const f=b.getSurface().getMedia();f.loop=!!b.configuration.loop;_.B(b.configuration.volume)||b.setVolume(b.configuration.volume);_.B(b.configuration.muted)||b.setMuted(b.configuration.muted);Ey(b);const g=b.o[b.getSourceIndex()];b.ra!==c&&d();yield ny(b,f);b.ra!==c&&
|
|
219
|
+
d();yield uy(b,f);b.ra!==c&&d();yield Fy(b,g);b.ra!==c&&d();yield Jy(b,g);b.ra!==c&&d();yield Ny(b);b.ra!==c&&d();yield az(b);b.ra!==c&&d();c.resolve()}catch(e){throw d=e,b.ra!==c&&(d=new _.H(_.G,7,7E3)),c.reject(d),b.onError(d),d;}})}detach(){const a=this;return _.y(function*(){yield sy(a);return ty(a)})}isLive(){var a;this.f?(a=this.f.presentationTimeline.isLive())||(a=this.f.presentationTimeline,a=Infinity!=a.f&&!a.m):a=!1;return a}Ue(){this.log.debug("User seeking finished");this.F&&Py(this);
|
|
220
|
+
Qy(this)}getSeekRange(){if(this.f){const a=this.f.presentationTimeline;return{start:bv(a,0),end:av(a)}}return{start:0,end:0}}getPlaybackRate(){if(this.Ya){var a=this.Ya;a=a.h?0:a.g}else a=0;return a}setPlaybackRate(a){if(0===a)this.log.warn("A trick play rate of 0 is unsupported!");else if(this.C===cy){this.Ya.set(a);this.g.playbackRateChanged(a);var b=this.a,c=1<Math.abs(a);if(a=b.f.get(_.w)){var d=a.stream;if(d)if(b.a.debug("setTrickPlay",c),c)(c=d.trickModeVideo)&&!a.Mb&&(b.a.debug("Engaging trick mode stream",
|
|
221
|
+
c),_.Bx(b,c,!1,0),a.Mb=d);else if(d=a.Mb)b.a.debug("Restoring non-trick-mode stream",d),a.Mb=null,_.Bx(b,d,!0,0)}}}ja(){if(this.f&&this.w){var a=dy(this);if(null==a)a=null;else{if(!Cw(this.K,a).text){var b=_.ew(a.textStreams,this.aa,this.ma);b.length&&Dw(this.K,a,b[0])}a=Cw(this.K,a).text}b=[];for(const c of vz(this)){const d=bw(c);d.active=c==a;b.push(d)}return b}return[]}getPeriods(){return this.f.periods}getStats(){if(this.C!==cy)return _.Cl();Qy(this);var a=this.h;if(a.getVideoPlaybackQuality){var b=
|
|
222
|
+
a.getVideoPlaybackQuality();a=this.G;var c=Number(b.totalVideoFrames);a.j=Number(b.droppedVideoFrames);a.h=c}if(this.C===cy){if(b=iy(this))this.G.m=b.bandwidth;b&&b.video&&(a=this.G,c=b.video.height||NaN,a.o=b.video.width||NaN,a.g=c);a=this.g.getBandwidthEstimate();this.G.f=a}return this.G.getStats()}getTimelineCues(){return this.Ka?[...this.Ka.cues()].map(a=>({schemeIdUri:a.schemeIdUri,value:a.value,startTime:a.startTime,endTime:a.endTime,id:a.id,eventElement:a.eventElement,type:a.type})):[]}resetAbr(){this.g&&
|
|
223
|
+
this.g.reset()}addTextTrack(a,b,c,d,e,f){const g=this;return _.y(function*(){if(g.C!==cy)throw g.log.error("Must call load() and wait for it to resolve before adding text tracks."),Error("State error!");const h=dy(g);var k=g.f.periods.indexOf(h)+1;const l=(k>=g.f.periods.length?g.f.presentationTimeline.getDuration():g.f.periods[k].startTime)-h.startTime;if(Infinity==l)throw new _.H(1,4,4040);const m=new _.fv(1,0,l,()=>[a],0,null,0);k={id:g.Re++,originalId:null,createSegmentIndex:Promise.resolve.bind(Promise),
|
|
224
|
+
findSegmentPosition:()=>1,getSegmentReference:q=>1==q?m:null,adjustSegmentDurations:()=>{},getDuration:()=>l,segmentLookupStrategy:_.$t,initSegmentReference:null,mimeType:d,codecs:e||"",kind:c,encrypted:!1,keyId:null,language:b,label:f||null,type:_.v,primary:!1,trickModeVideo:null,emsgSchemeIdUris:null,roles:[],channelsCount:null,closedCaptions:null};g.pc.add(k);h.textStreams.push(k);yield ux(g.a,k);const n=_.rx(g.a,_.v);n&&Dw(g.K,h,n);g.pc.delete(k);g.log.debug("Choosing new streams after adding a text stream");
|
|
225
|
+
Dy(g,h);Ly(g);return bw(k)})}rg(a){this.log.debug(_.bu,a);try{this.log.debug("onChooseStreams_, choosing variant from ",a.variants);this.log.debug("onChooseStreams_, choosing text from ",a.textStreams);const b=wz(this,a);this.log.debug("onChooseStreams_, chose variant ",b.variant);this.log.debug("onChooseStreams_, chose text ",b.text);return b}catch(b){return this.onError(b),{variant:null,text:null}}}qg(){this.log.debug("canSwitch_");this.O=!1;this.configuration.abr.enabled&&this.g.enable();this.W&&
|
|
226
|
+
(Cx(this.a,this.W,this.Le,this.Ke),this.W=null);this.S&&(_.Bx(this.a,this.S,!0,0),this.S=null)}sg(){this.A&&this.A.update&&this.A.update()}Ze(){this.w&&this.w.j.dd()}pg(a,b,c){if((void 0===c?"":c)===au)return Ly(this),this.la()||(this.configuration.abr.enabled=!0,this.g.enable()),Dy(this,b,!1),!0;if(c=b.variants.some(d=>{let e=!1;const f=d[a.type];f&&(e=d.allowedByApplication&&f.id!==a.id,a.type===_.p&&(e=e&&f.language===a.language));return e})&&this.la()){for(const d of b.variants){const e=d[a.type];
|
|
227
|
+
e&&e.id===a.id&&(d.allowedByApplication=!1)}Ly(this);this.la()||(this.configuration.abr.enabled=!0,this.g.enable());Dy(this,b)}return c}Ye(){this.log.debug("endOfStream called by streaming engine");this.Qb=!0}onError(a){if(this.C!==ry&&7001!==a.code&&7E3!==a.code){var b=new _.F(_.$c,{detail:a});a.severity===_.G&&qy(this,_.Ol);this.trigger(b);b.defaultPrevented&&(b.a=!0)}}Ed(a){a.type===_.Uc?this.dispatchEvent(a):"largegap"!==a.type&&(a.type===_.Re?xy(this):"emsg"!==a.type&&(a instanceof _.F?this.dispatchEvent(a):
|
|
228
|
+
this.log.debug(_.ob,a.type)))}la(){return this.configuration.abr.enabled}af(a){const b=this;return _.y(function*(){if(b.ga){b.log.info("Attempt to switch CDN.");var c=b.getLoadedSource(),d=b.la();if(c=yield b.ga(c.url,a)){c=_.kf(b.getLoadedSource(),{url:c});d&&b.g.disable();yield $x(b.a);var e=iy(b);do{var f=!1;try{b.log.info(`Switching CDN to ${c.url}.`),yield xz(b,c,e)}catch(g){if(b.log.info("Switch failed"),f=yield b.ga(c.url,a))c.url=f,f=!0;else throw g;}}while(f);d&&b.g.enable();Zx(b.a,!0);b.o[b.getSourceIndex()]=
|
|
229
|
+
c;a.f=!0;b.trigger(new _.F(_.sc,{newManifest:c.url}))}}})}};Pz.prototype.detach=Pz.prototype.detach;var ry=0,wy=1,cy=2,Ky=[_.Ld,_.fd];_.Lf(new class{a(){return Yt}canPlay(a,b){if(_.li())return 0;const c=a.type||"",d=window.MediaSource&&MediaSource.isTypeSupported?!0:!1;a=window.MediaSource&&MediaSource.isTypeSupported?c in _.In||_.Jn(a.url)in _.Kn?!0:!1:!1;if(d&&a){if(_.ci(2))return 1;if(_.mi()&&c===_.Vi){if(b.streaming.preferNativeHlsOnSafari)return 1;_.C("Support for MSE + FairPlay on Apple is experimental. In case of issues, consider using native HLS.")}return 2}return 0}create(){return new Pz}});_.Am(function(){_.Hf("MediaSource.install");if(window.MediaSource)if(window.cast&&cast.__platform__&&cast.__platform__.canDisplayType)_.Gf("Patching Chromecast MSE bugs."),yz();else if(_.mi()){var a=navigator.appVersion;a=0<=a.indexOf("Version")?parseInt(a.match(/Version\/(\d+)/)[1],10):13;zz();10>=a?(_.Gf("Blacklisting MSE on Safari \x3c\x3d 10."),window.MediaSource=null):12>=a?(_.Gf("Patching Safari 11 \x26 12 MSE bugs."),Az(),Bz()):(_.Gf("Patching Safari 13 MSE bugs."),Az())}else _.ci(2)||_.ci(3)||
|
|
230
|
+
_.ci(4)?Cz():_.Gf("Using native MSE as-is.");else _.Gf("No MSE implementation available.")});var Qz=class extends _.jq{constructor(a){super(a);a=a.getSurface().getMedia();this.a=null;for(let b=0;b<a.textTracks.length;++b){const c=a.textTracks[b];c.mode=_.Pc;c.label===Qt&&(this.a=c)}this.a||(this.a=a.addTextTrack(_.iu,Qt));this.a.mode=_.dd}append(a){const b=[],c=d=>{if(d.startTime>=d.endTime)_.C("Invalid cue times: "+d.startTime+" - "+d.endTime),d=null;else{var e=d.payload||"";e=e.replace(/<br\s*\/?>/igm,"\n");e=_.Sg(e);e=new VTTCue(d.startTime,d.endTime,e);e.line=-1;try{e.align=_.uc}catch(f){e.align=
|
|
231
|
+
"middle"}d.writingMode===_.Ge?e.vertical="lr":d.writingMode===_.Ie&&(e.vertical="rl");d=e}d&&b.push(d)};for(const d of a)c(d);a=b.slice().sort((d,e)=>d.startTime!==e.startTime?d.startTime-e.startTime:d.endTime!==e.endTime?d.endTime-e.startTime:b.indexOf(e)-b.indexOf(d));for(const d of a)this.a.addCue(d)}remove(a,b){if(!this.a)return!1;Dz(this.a,c=>c.startTime<b&&c.endTime>a);return!0}isTextVisible(){return this.a.mode==_.ge}setTextVisibility(a){null!==this.a&&(this.a.mode=a?_.ge:_.dd)}destroy(){this.a&&
|
|
232
|
+
Dz(this.a,()=>!0);this.a=null;return Promise.resolve()}};_.wl("single-native",new class{ba(){return!0}create(a){return new Qz(a)}});};f.call(g, window);
|