@castlabs/prestoplay 6.18.0 → 6.19.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +32 -0
- package/cjs/cl.adobe.js +3 -3
- package/cjs/cl.airplay.js +3 -3
- package/cjs/cl.broadpeak.js +7 -7
- package/cjs/cl.cast.js +115 -114
- package/cjs/cl.conviva.js +33 -33
- package/cjs/cl.core.js +581 -577
- package/cjs/cl.crypto.js +9 -9
- package/cjs/cl.dash.js +77 -75
- package/cjs/cl.externs.js +175 -293
- package/cjs/cl.freewheel.js +23 -24
- package/cjs/cl.hls.js +70 -71
- package/cjs/cl.hlssmpte.js +6 -6
- package/cjs/cl.htmlcue.js +28 -29
- package/cjs/cl.ima.js +24 -24
- package/cjs/cl.mse.js +313 -314
- package/cjs/cl.muxdata.js +15 -15
- package/cjs/cl.onboard.js +3 -3
- package/cjs/cl.persistent.js +14 -14
- package/cjs/cl.playlist.js +6 -6
- package/cjs/cl.sessions.js +16 -15
- package/cjs/cl.simid.js +15 -15
- package/cjs/cl.smooth.js +71 -72
- package/cjs/cl.thumbnails.js +26 -26
- 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 +12 -13
- package/cjs/cl.vr.js +19 -19
- package/cjs/cl.vtt.js +14 -14
- package/cjs/cl.youbora.js +18 -18
- package/cl.adobe.js +3 -3
- package/cl.airplay.js +3 -3
- package/cl.broadpeak.js +5 -5
- package/cl.cast.js +90 -89
- package/cl.conviva.js +27 -27
- package/cl.core.js +475 -474
- package/cl.crypto.js +9 -9
- package/cl.dash.js +72 -71
- package/cl.externs.js +172 -294
- package/cl.freewheel.js +19 -19
- package/cl.hls.js +74 -72
- package/cl.hlssmpte.js +5 -5
- package/cl.htmlcue.js +25 -26
- package/cl.ima.js +17 -17
- package/cl.mse.js +277 -274
- package/cl.muxdata.js +13 -13
- package/cl.onboard.js +4 -4
- package/cl.persistent.js +11 -11
- package/cl.playlist.js +5 -5
- package/cl.sessions.js +10 -10
- package/cl.simid.js +13 -13
- package/cl.smooth.js +59 -59
- package/cl.thumbnails.js +19 -19
- package/cl.tizen.js +57 -57
- package/cl.ttml.js +22 -22
- package/cl.verimatrix.js +4 -4
- package/cl.vimond.js +9 -8
- package/cl.vr.js +14 -14
- package/cl.vtt.js +12 -12
- package/cl.youbora.js +15 -15
- package/clpp.styles.css +14 -0
- package/package.json +1 -1
- package/typings.d.ts +379 -384
package/cl.mse.js
CHANGED
|
@@ -1,277 +1,280 @@
|
|
|
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
|
-
_.
|
|
9
|
-
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>`:"",
|
|
10
|
-
c?`CHECKSUM="${c}" `:"",`VALUE="${e}"`,"\x3e\x3c/KID\x3e\x3c/KIDS\x3e\x3c/PROTECTINFO\x3e",d?`<LA_URL>${d}</LA_URL>`:"",
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
_.
|
|
16
|
-
_.
|
|
17
|
-
_.
|
|
18
|
-
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};_.
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
1
|
+
import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var Jz,Kz,Lz,Mz,Nz,Pz,Qz,Rz,Sz,Tz,Uz,Vz,Wz,Xz,Yz,Zz,$z,aA,bA,cA,dA,eA,fA,gA,hA,iA,jA,kA,lA,oA,pA,qA,rA,sA,tA,uA,vA,wA,xA,yA,AA,BA,CA,DA,FA,GA,HA,KA,LA,NA,OA,PA,QA,RA,SA,TA,WA,XA,YA,cB,dB,eB,fB,gB,hB,iB,kB,nB,oB,rB,uB,vB,wB,xB,zB,AB,DB,GB,LB,NB,CB,OB,PB,QB,RB,SB,TB,UB,VB,XB,YB,ZB,$B,WB,cC,fC,eC,gC,dC,hC,iC,jC,kC,lC,rC,vC,yC,zC,AC,BC,EC,FC,GC,HC,IC,JC,KC,LC,MC,NC,OC,PC,RC,SC,TC,UC,WC,XC,ZC,YC,VC,eD,$C,aD,bD,cD,dD,fD,gD,hD,kD,iD,jD,lD,mD,nD,oD,qD,rD,sD,tD,uD,vD,xD,yD,zD,AD,CD,DD,FD,GD,ID,
|
|
2
|
+
HD,BD,ED,JD,MD,KD,LD,ND,QD,OD,PD,SD,RD,UD,VD,WD,XD,YD,ZD,eE,fE,gE,iE,jE,bE,$D,cE,dE,kE,lE,uE,aE,vE,nE,wE,xE,yE,zE,sE,AE,BE,oE,pE,qE,rE,CE,FE,GE,PE,QE,RE,HE,IE,mE,DE,EE,SE,TE,UE,VE,WE,XE,YE,ZE,$E,aF,bF,cF,eF,fF,gF,hF,iF,jF,kF,lF,mF,nF,oF,pF,rF,sF,tF,vF,uF,wF,xF,yF,zF,BF,AF,CF,KF,JF,LF,MF,NF,DF,EF,FF,GF,HF,IF,ZF,aG,bG,gG,hG,eG,cG,jG,kG,oG,rG,vG,IG,JG,LG,MG,NG,OG,PG,dG,fG,WG,KG,lG,nG,pG,qG,RG,EG,uG,wG,xG,XF,zG,AG,DG,FG,GG,HG,tG,PF,WF,cH,$G,oH,UF,VF,qH,QF,RF,SF,TF,XG,sH,aH,pH,ZG,rH,tH,eH,fH,dH,uH,YG,
|
|
3
|
+
ZA,kH,wH,mG,aC,bC,yH,zH,AH,gH,hH,jH,qC,EH,SG;Jz=" buffer";Kz=" buffer. Range:";Lz=" range:";Mz=" with element state: ";Nz="\x3c/DATA\x3e\x3c/WRMHEADER\x3e";_.Oz="AUDIO";Pz="Aborting operations for ";Qz="Appended audio segment ";Rz="Appended video segment ";Sz="Appending data to ";Tz="Buffer:";Uz="Cannot get segment, period ID unknown";Vz="Choosing new streams after key status change";Wz="Done Aborting operations for ";Xz="Done Appending data to ";Yz="Done Flushing buffer for ";Zz="Done Removing data from ";
|
|
4
|
+
$z="Done Setting append window for ";aA="Done Setting timestamp offset for ";bA="Failed to abort operations for ";cA="Failed to append data for ";dA="Failed to flush buffer for ";eA="Failed to remove data from ";fA="Failed to set append window for ";gA="Failed to set timestamp offset for ";hA="Flushing buffer for ";iA="IterateSegmentReference";jA="Jumping forward";kA="MediaSource threw QuotaExceededError:";lA="No more scheduled operations for ";_.mA="No stream with id";_.nA="Player is in ERROR state and can not switch to ";
|
|
5
|
+
oA="PrestoPlay TextTrack";pA="QuotaExceededError";qA="Removing audio from variant - audio not compatible with platform";rA="Removing data from ";sA="Reset transmuxers.";tA="Setting append window for ";uA="Setting playback rate to\x3d";vA="Setting timestamp offset for ";wA="Skip buffer flush for ";xA="Starting next operation for ";yA="Update-End received for ";_.zA="Updating manifest...";AA="bufferBehind\x3d";BA="bufferedBehind\x3d";CA="calling onCanSwitch()...";DA="cannot find segment";_.EA="caption";
|
|
6
|
+
FA="clpp.mse.Player";GA="currentPeriod.startTime\x3d";HA="failed to get buffered range for ";_.IA="getSegmentNextReference";_.JA="iterateSegmentReference";KA="key-restriction";LA="manifest.start";_.MA="onChooseStreams_";NA="presentationTime:";OA="presentationTime\x3d";PA="reference.endTime\x3d";QA="reference.position\x3d";RA="reference.startTime\x3d";SA="sourceopen";TA="startstreaming";_.UA="subtitle";_.VA="subtitles";WA="switch: Stream ";XA=function(a,b){for(const c in a.a)b(c,a.a[c])};
|
|
7
|
+
YA=function(a){const b=a.a+a.f.byteOffset;let c=void 0;for(;_.Cl(a);)if(0===_.El(a)){c=a.a+a.f.byteOffset-1;break}a=a.f.buffer.slice(b,c);return _.ni(a)};_.$A=function(a){const b=new Uint8Array(ZA),c=4+b.byteLength+a.j.byteLength+4+a.f.byteLength,d=new _.Vl(c,!1);_.N(d,c);_.Bl(d,b);_.Bl(d,a.j);_.N(d,a.f.byteLength);_.Bl(d,a.f);return _.I(d.buffer)};
|
|
8
|
+
_.aB=function(a,b,c,d){var e=_.Ei(b);if(8!==e.byteLength)e="";else{var f=_.Hm(e);e=_.Bi(f);b:switch(f=f.byteLength,_.kh("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>`:"",Nz].join("");break b;
|
|
9
|
+
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>`:"",Nz].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" ',
|
|
10
|
+
c?`CHECKSUM="${c}" `:"",`VALUE="${e}"`,"\x3e\x3c/KID\x3e\x3c/KIDS\x3e\x3c/PROTECTINFO\x3e",d?`<LA_URL>${d}</LA_URL>`:"",Nz].join("");break b;default:_.B("Cannot create PlayReady header in version",a),e=""}}if(!e)return null;_.kh("New payload",e);e=_.I(_.si(e,!0));return new _.Km(_.Lm,b,d||null,e,a,c)};_.bB=function(a,b){return b===a.version?a:_.aB(b,a.a,a.l||void 0,a.h||void 0)};
|
|
11
|
+
cB=function(a,b){a:{if(b)for(const c of a.f.keys()){const d=a.f.get(c);for(let e=0;e<d.fb.length;e++)if(d.fb[e]===b){a=d;break a}}a=null}return a?a.Ma:null};dB=function(a,b){if(_.Zj("Edge/"))return!0;b=b.toLowerCase();if(_.ak()&&b.includes('codecs\x3d"ac-3"')){const c=b.replace("ac-3",_.Rd);return a.H.has(b)||a.H.has(c)}return a.H.has(b)};eB=function(a,b){a=a.l.get(b);return!(!a||a!==_.Oe&&a!==_.ee)};
|
|
12
|
+
fB=function(a,b){var c=b.audio,d=b.video;if(c&&c.encrypted&&(c=_.Vm(c),!dB(a,c))||d&&d.encrypted&&(d=_.Vm(d),!dB(a,d)))return!1;const e=a.keySystem();return 0===b.drmInfos.length||b.drmInfos.some(f=>f.keySystem===e)};gB=function(a,b){return null==a.a?null:(a=a.a[a.a.length-1])?a[b]:null};hB=function(a){a=gB(a,_.St);return null==a?null:a};iB=function(a,b){if(a.a.length)if(0>b)a.f=0;else{for(var c=0,d=a.a[c]||null;d&&b>d.Mb()+d.getDuration();)c+=1,d=a.a[c]||null;a.f=d?c:a.a.length-1}else a.f=-1};
|
|
13
|
+
_.jB=function(a,b){return a.concat(b)};kB=function(){};_.lB=function(a,b){if(0===b.length)return a;const c=b.map(d=>new _.Mh(d));return a.map(d=>new _.Mh(d)).map(d=>c.map(d.resolve.bind(d))).reduce(_.jB,[]).map(d=>d.toString())};_.mB=function(a,b,c){return{keySystem:a,licenseServerUri:"",distinctiveIdentifierRequired:!1,persistentStateRequired:!1,audioRobustness:"",videoRobustness:"",serverCertificate:null,initData:b||[],keyIds:[],periodId:c?c:null}};
|
|
14
|
+
nB=function(a,b){a=_.$h(a);b=_.$h(b);a=a.split("-");b=b.split("-");return a[0]===b[0]&&1===a.length&&2===b.length};oB=function(a){return a.language?_.$h(a.language):a.audio&&a.audio.language?_.$h(a.audio.language):a.video&&a.video.language?_.$h(a.video.language):_.ag};
|
|
15
|
+
_.pB=function(a,b){a=_.$h(a);const c=new Set;for(var d of b)c.add(_.$h(d));for(const e of c)if(e===a)return e;for(const e of c)if(nB(e,a))return e;for(const e of c)if(d=e,b=a,d=_.$h(d),b=_.$h(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(nB(a,e))return e;return null};
|
|
16
|
+
_.qB=function(a){if(typeof a!==_.Pf)return null;var b=a.trim().match(/^(\d+)x(\d+)$/);if(!b)return null;a=parseInt(b[1],10);b=parseInt(b[2],10);return 0>=a||0>=b?null:{Vc:a,kd:b,Bh:a*b}};rB=function(a,b){for(const c in b)if(b[c]===a)return c;return""};
|
|
17
|
+
_.sB=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||
|
|
18
|
+
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};_.tB=function(a,b){return a.length&&b.length?0<_.sB(a,b).length:!0};uB=function(a,b){let c=0;for(const d of a)c+=b(d)?1:0;return c};
|
|
19
|
+
vB=function(a,b){var c=_.Pj(b,a);if(!c)return!1;c=c();a=c.isMuxed(a,b);c.destroy();return a};wB=function(a){const b=[a.mimeType];for(const c of _.mt){const [d,e]=c;{const f=a[d];null!=f&&b.push(e.trim()+'\x3d"'+String(f).trim()+'"')}}return b.join(";").replace(/\s/g,"")};xB=function(a){return a.split(",").map(b=>b.trim()).filter(b=>0<b.length)};_.yB=function(a){const b=[];for(const c of a.split(/\s*,\s*/)){{a=c.split(".");const d=a[0];a.shift();a=[d,a.join(".")]}b.push(a[0])}return b.sort().join(",")};
|
|
20
|
+
zB=function(a,b="total"){b=new _.qt(void 0,b);for(const c of a)b.a.push(c);b.length=a.length;return b};AB=function(a){const b=a.a.jf(),c=a.h,d=b?b.id:null;(c?c.id:null)!==d&&b&&a.f(new _.C(_.Af,{id:d}));a.h=b;"basic"===a.o.timeline&&(a.j.a=b)};_.BB=function(a,b,c){a.h=b;a.a=c};DB=function(a){return 2===a.j.version?a.a.Mb():CB(a,0)};_.EB=function(a,b){a.K={offsetDateTime:b-DB(a),seekRangeStartDateTime:b}};_.FB=function(a,b){a.l=b;a.C=b;a.a.f=b};
|
|
21
|
+
GB=function(a){return 2===a.j.version?a.a.f?a.a.a:null:a.l?a.f:a.C?a.o:null};_.HB=function(a,b){a.w=null==a.w?b:Math.min(a.w,b)};_.IB=function(a,b){a.o=Math.max(a.o||0,b)};_.JB=function(a,b,c){if(0!==b.length){var d=b[b.length-1].endTime+c;_.HB(a,b[0].startTime+c);a.h=b.reduce((e,f)=>Math.max(e,f.endTime-f.startTime),a.h);_.IB(a,d);null!=a.F&&a.L&&(a.F=(Date.now()+a.H)/1E3-(a.o||0)-a.h);a.g.debug("notifySegments: maxSegmentDuration\x3d"+a.h)}};
|
|
22
|
+
_.KB=function(a,b){a.h=Math.max(a.h,b);a.g.debug("notifyNewSegmentDuration: maxSegmentDuration\x3d"+a.h)};LB=function(a){if(2===a.j.version)a=a.a.a;else if(a.l)a=a.f;else if(a.C)a=a.o||0;else{if("startover"===a.B)var b=a.I||0;else b=(Date.now()+a.H)/1E3,b=a.M?Math.max(0,b-(a.h-a.G)-a.F):Math.max(0,b-a.h-a.F);a=Math.min(b,a.f)}return a};_.MB=function(a){return 2===a.j.version?a.a.Mb():Infinity===a.A?0:Math.max(0,LB(a)-a.A)};
|
|
23
|
+
NB=function(a){const b=a.Zc()&&!a.C?a.J:0;return 2===a.j.version?a.a.a-b:Math.max(0,LB(a)-b)};CB=function(a,b){if(2===a.j.version)return a.a.Mb();const c=Math.max(a.w,0);return Infinity===a.A?Math.ceil(1E3*c)/1E3:Math.max(c,Math.min(LB(a)-a.A+b,NB(a)))};OB=function(a,b=!1){b=b?a.offset:0;return{schemeIdUri:a.schemeIdUri,configurationId:a.configurationId,value:a.value,startTime:a.startTime+b,endTime:a.endTime+b,id:a.id,eventElement:a.eventElement,type:a.type,customAttributes:a.customAttributes}};
|
|
24
|
+
PB=function(a,b,c){a.f=b;a.h=c};QB=function(a,b){const c=[];let d=!1;for(const f of b)if(!a.a.has(f)){c.push(f);var e=Array.from(a.a.values()).some(g=>g.id===f.id);f.id&&e&&(d=!0)}e=a.a.size;a.a.clear();b.forEach(f=>a.a.add(f));b=a.a.size;c.forEach(f=>a.f(f));(d||0<c.length||e!==b)&&a.h()};RB=function(a,b=!1){return Array.from(a.a.values()).map(c=>OB(c,b)).sort((c,d)=>c.startTime-d.startTime)};SB=function(a,b){a.f=b};
|
|
25
|
+
TB=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};
|
|
26
|
+
UB=function(a){if(0!==a.a.readyState){if(a.a.seeking){if(!a.C)return}else a.C=!1;if(!a.a.paused&&!a.o){a.a.readyState!==a.I&&(a.j=!1,a.I=a.a.readyState);var b=a.l.smallGapLimit,c=a.a.currentTime,d=a.a.buffered;a:{var e=new _.qt(d);var f=a.l.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.h;c=TB(d);d=d.a.currentTime;b=Date.now()/1E3;if(a.a!==d||a.l!==c)a.j=
|
|
27
|
+
b,a.a=d,a.l=c;d=b-a.j;d>=a.o&&c&&a.f(a.a,d)}}else if((0!==e||a.A)&&a.H&&(f=d.start(e),!(f>=NB(a.G)))){g=f-c;b=g<=b;var h=!1;if(!(.001>g)){if(!b&&!a.j){a.j=!0;const k=new _.C("largegap",{detail:{currentTime:c,gapSize:g}});k.cancelable=!0;a.F(k);a.l.jumpLargeGaps&&!k.defaultPrevented?h=!0:_.jh("Ignoring large gap at",c,"size",g)}if(b||h)0===e?_.jh(jA,g,"seconds because of gap before start time of",f):_.jh(jA,g,"seconds because of gap starting at",d.end(e-1),"and ending at",f),a.B=!0,a.a.currentTime=
|
|
28
|
+
f}}}}};VB=function(a,b){a.h=a.f.currentTime;a.l=b;a.j=a.o;a.f.currentTime=b;a.a.vb(.1)};XB=function(a,b){a.w||(a.w=!0,a.o&&a.o());.001>Math.abs(a.a.currentTime-b)?WB(a):(a.f.one(a.a,_.Ef,()=>{WB(a)}),VB(a.h,0===a.a.currentTime?b:a.a.currentTime))};YB=function(a,b){a.A=b;a.f.off(a.a,_.se);a.f.one(a.a,_.se,()=>{XB(a,b)})};ZB=function(a){return a.l?a.a.currentTime:a.A};$B=function(a,b){0<a.a.readyState?VB(a.h,b):YB(a,b)};WB=function(a){_.fk()&&!a.l&&a.j();a.l=!0;a.f.on(a.a,_.Ef,()=>a.j())};
|
|
29
|
+
cC=function(a,b,c){if(!c.stallEnabled)return null;const d=c.gapDetectionThreshold;let e=c.stallSkip;c=new aC(new bC(b),c.stallThreshold);SB(c,(f,g)=>{a.g.warn(`Stall detected at ${f} for ${g} seconds.`);if(e){g=new _.qt(b.buffered);var h;if(h=_.Zj("Edge/")||_.Zj("Trident/")||_.ak()||_.fk())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)&&
|
|
30
|
+
f<g.end(h)){f=g.start(h+1)-f;break a}f=null}f&&(e=Math.min(f+.1,e))}a.g.warn(`Seeking forward ${e} seconds to break stall.`);b.currentTime+=e}else a.g.warn("Pausing and unpausing to break stall."),b.pause(),b.play()});return c};fC=function(a,b,c){null==b?b=Infinity>a.a.getDuration()||c?DB(a.a):NB(a.a):0>b&&(b=NB(a.a)+b);return dC(a,eC(a,b))};eC=function(a,b){const c=DB(a.a);if(b<c)return c;a=NB(a.a);return b>a?a:b};gC=function(a){const b=ZB(a.f);return 0<a.h.readyState&&!a.h.paused?eC(a,b):b};
|
|
31
|
+
dC=function(a,b){const c=a.a.getDuration();return b>=c?c-a.l.durationBackoff:b};
|
|
32
|
+
hC=function(a,b){if("startover"===a.a.B)return b;var c=new _.qt(a.h.buffered);c=c.Fb.bind(c);var d=Math.max(a.B,a.l.rebufferingGoal);const e=a.l.safeSeekOffset;let f=DB(a.a);const g=NB(a.a),h=a.a.getDuration();3>g-f&&(f=g-3);const k=CB(a.a,d),l=CB(a.a,e);d=CB(a.a,d+e);if(b>=h)return a.g.debug("Playhead past duration."),dC(a,b);if(b>g)return a.g.debug("Playhead past end."),g;if(b<f){if(c(l))return a.g.debug("Playhead before start \x26 start is buffered"),l;a.g.debug("Playhead before start \x26 start is unbuffered");
|
|
33
|
+
return d}if(b>=k||c(b))return a.g.debug("Playhead in safe region or in buffered region."),b;a.g.debug("Playhead outside safe region \x26 in unbuffered region.");return d};iC=function(a,b,c=0){for(const d of a.a)d.l(a.f.currentTime,b,c)};jC=function(a,b){const c=a.offset||0;return b<a.startTime+c?1:b>a.endTime+c?3:2};kC=function(a,b,c,d){a.a=b;a.f=c;a.h=d};
|
|
34
|
+
lC=function(a){let b=a.h.get(a.a);if(!b)return null;0<b.a.length&&b.Va().length&&a.f>=b.a.length&&(a.a+=1,a.f=0,b=a.h.get(a.a));return b&&0<b.a.length?b.a[a.f]||null:b};_.mC=function(a){return a.a.length?a.a[a.a.length-1].endTime:0};
|
|
35
|
+
_.oC=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.g.info("Refusing to rewrite original references on update!"):(.1<Math.abs(g.endTime-h.endTime)?c.push(new _.nC(g.position,h.startTime,h.endTime,h.Va,h.wa,h.ka,h.Ba,h.keyInfo,h.yc,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=
|
|
36
|
+
c[c.length-1].position+1;f<b.length;)g=b[f++],g=new _.nC(e++,g.startTime,g.endTime,g.Va,g.wa,g.ka,g.Ba,g.keyInfo,g.yc,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 _.nC(f-e--,h.startTime,h.endTime,h.Va,h.wa,h.ka,h.Ba,h.keyInfo,h.yc,h.timescale,h.horizontalTiles,h.verticalTiles,h.durationPerTile));for(const h of c)b.push(h)}a.a=b};
|
|
37
|
+
_.pC=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};rC=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.h;)--f,g=d.a[f];if(!g.h)break;c+=1;e=f-1;break}}return new qC(a,c,e)};
|
|
38
|
+
_.sC=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)};_.tC=function(a){_.pp[a]&&delete _.pp[a]};_.uC=function(a){_.np[a]&&delete _.np[a]};vC=function(){return!!window.SourceBuffer&&!!SourceBuffer.prototype&&!!SourceBuffer.prototype.changeType};_.wC=function(a,b,c){const d=Math.pow(a.h,b);c=c*(1-d)+d*a.a;isNaN(c)||(a.a=c,a.f+=b)};_.xC=function(a){return a.a/(1-Math.pow(a.h,a.f))};
|
|
39
|
+
yC=function(a,b){let c=null;for(const d of a)b>=d.startTime&&(c=d);return c};zC=function(a){const b=new Set;a.variants.forEach(c=>{c.audio&&b.add(c.audio);c.video&&(b.add(c.video),c.video.trickModeVideo&&b.add(c.video.trickModeVideo))});a.textStreams.forEach(c=>b.add(c));a.thumbStreams.forEach(c=>b.add(c));return b};AC=function(a,b){for(let c=0;c<a.length;c++)if(zC(a[c]).has(b))return c;return-1};BC=function(a,b){Array.from(zC(a)).forEach(c=>{c.segmentIndex&&_.sC(c.segmentIndex,b)})};
|
|
40
|
+
_.CC=function(a,b,c,d,e,f,g,h){a=_.Si(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};_.DC=function(a){a=a.toLowerCase();return _.as[a]||window.muxjs&&a===_.Ac?!0:!1};
|
|
41
|
+
EC=function(a,b){if(b!==_.Ac){var c=_.as[b];if(!c)throw new _.G(_.E,2,2012,"Text parser is unavailable for "+b);a.w=new c(a.C)}};FC=function(a,b,c,d){return Promise.resolve().then(()=>{if(a.w&&a.j)if(null==c||null==d)a.w.parseInit(_.I(b));else{var e={periodStart:a.A,segmentStart:c,segmentEnd:d};e=a.w.parseMedia(_.I(b),e);var f=e.cues.filter(g=>g.startTime>=a.h&&g.startTime<a.l);a.j.append(f,e.styles);null==a.a&&(a.a=Math.max(c,a.h));a.f=Math.min(d,a.l)}})};
|
|
42
|
+
GC=function(a,b,c){a.B=b;if(b=a.o.get(b))for(const d of b.keys()){let e=b.get(d);e&&(e=e.filter(f=>f.endTime<=c),a.j.append(e,[]))}};
|
|
43
|
+
HC=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.l))continue;const k=new _.ft(h.startTime,h.endTime,h.text);g.get(b).get(f).push(k);b===a.B&&a.j.append([k],[])}for(const h of g.keys()){a.o.has(h)||a.o.set(h,new Map);for(const k of g.get(h).keys())e=g.get(h).get(k),a.o.get(h).set(k,e)}a.a=null==a.a?Math.max(c,a.h):Math.min(a.a,Math.max(c,a.h));
|
|
44
|
+
a.f=Math.max(a.f,Math.min(d,a.l))};IC=function(a,b){return a.start-b.start};JC=function(a){return a.U.map(b=>({start:b.start,end:b.end,width:b.width,height:b.height,bandwidth:b.bandwidth,rendition:b.rendition}))};KC=function(a){a.player&&(a.player.off(_.xf,a.a),a.f&&a.player.off(_.Xf,a.a));a.player=null};LC=function(a){a.player&&a.player.trigger(new _.C(_.Nc))};MC=function(a){a.player&&a.player.trigger(new _.C(_.Nc))};
|
|
45
|
+
NC=function(a){if(a.player){var b=!1,c={};for(let d=0;d<a.U.length;d++){const e=a.U[d],f=e.width+"x"+e.height,g=c[f];if(g&&g!==e.bandwidth){b=!0;break}c[f]=e.bandwidth}b&&!a.f?(a.log.debug("Tracking timeupdates"),a.player.on(_.Xf,a.a,a),a.f=!0):!b&&a.f&&(a.log.debug("Stop tracking timeupdates"),a.player.off(_.Xf,a.a),a.f=!1)}};OC=function(a,b,c){a.U=a.U.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.player&&a.player.trigger(new _.C(_.rg))};
|
|
46
|
+
PC=function(a){const b=_.Qj(a.mimeType,a.codecs),c=wB(a);return _.DC(b)||_.Tr(c)||(_.Pj(b,a.type)?!0:!1)};RC=function(a,b){if(window.ManagedMediaSource){a.j.disableRemotePlayback=!0;var c=new ManagedMediaSource;a.l.one(c,SA,()=>{URL.revokeObjectURL(a.B);b.resolve()});a.l.on(c,TA,()=>{a.S=!0});a.l.on(c,"endstreaming",()=>{a.S=!1});a.B=QC(c);a.j.src=a.B;return c}c=new MediaSource;a.B=QC(c);a.l.one(c,SA,()=>{URL.revokeObjectURL(a.B);b.resolve()});a.j.src=a.B;return c};
|
|
47
|
+
SC=function(a,b){b.forEach((c,d)=>{c=a.o.addSourceBuffer(c);a.l.on(c,_.Vd,a.T.bind(a,d));a.l.on(c,"updateend",a.C.bind(a,d));a.f[d]=c;a.h[d]=[];a.H[d]=!1});a.O=b.has(_.p)&&b.has(_.t)};TC=function(a,b){try{return new _.qt(a.f[b].buffered,b)}catch(c){return b in a.f&&a.g.error(HA+b,c),null}};UC=function(a,b){return a.f[b]?(a=TC(a,b))?a.toString():"":""};WC=function(a,b,c){if(a.J)return Promise.reject();c={start:c,p:new _.ln};a.h[b].push(c);1===a.h[b].length&&VC(a,b);return c.p};
|
|
48
|
+
XC=function(a,b,c,d,e){return[WC(a,b,a.wb.bind(a,b)),WC(a,b,a.ia.bind(a,b,c)),WC(a,b,a.Kb.bind(a,b,d,e))]};
|
|
49
|
+
ZC=function(a,b){return _.w(function*(){if(a.J)return Promise.reject();const c=[];for(const d in a.f){const e=new _.ln,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()}try{yield Promise.all(c)}catch(d){for(const e in a.f)a.h[e].length&&a.h[e].shift();return Promise.reject(d)}for(const d in a.f);try{yield b()}catch(d){return Promise.reject(new _.G(_.E,3,3015,{mediaError:d}))}finally{for(const d in a.f)YC(a,d)}})};
|
|
50
|
+
YC=function(a,b){a.h[b].shift();VC(a,b)};VC=function(a,b){const c=a.h[b][0];if(c)try{a.g.debug(xA+b),c.start()}catch(d){d.name===pA?c.p.reject(new _.G(_.E,3,3017,{type:b})):c.p.reject(new _.G(_.E,3,3015,{mediaError:d})),YC(a,b)}else a.g.debug(lA+b)};
|
|
51
|
+
eD=function(a,b,c,d){var e=a.periods.flatMap(h=>h.variants);if(b.length||c.length)e=$C(e,b,c);e=aD(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=
|
|
52
|
+
bD(e);const g=cD(e);for(const h of a.periods)h.variants=h.variants.filter(k=>{if(dD(k)===g)return!0;_.kh("Dropping Variant (better codec available)",k);return!1})};
|
|
53
|
+
$C=function(a,b,c){if(!b.length&&!c.length)return a;const d=a.filter(g=>(g=g.audio)&&c.length&&(g=_.yB(g.codecs),c.includes(g))?!0:!1),e=a.filter(g=>(g=g.video)&&b.length&&(g=_.yB(g.codecs),b.includes(g))?!0:!1),f=a.filter(g=>d.length&&!e.length?d.includes(g):!d.length&&e.length?e.includes(g):d.includes(g)&&e.includes(g));return f.length?f:a};
|
|
54
|
+
aD=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))};bD=function(a){const b=new _.Bs;for(const c of a)a=dD(c),b.push(a,c);return b};
|
|
55
|
+
cD=function(a){let b="",c=Infinity;XA(a,(d,e)=>{e=e.reduce((f,g)=>f+g.bandwidth||0,0)/e.length;_.kh(_.rd,d,"avg bandwidth",e);e<c&&(b=d,c=e)});return b};dD=function(a){let b="";a.video&&(b=_.yB(a.video.codecs));let c="";a.audio&&(c=_.yB(a.audio.codecs));return b+"-"+c};fD=function(a,b,c,d){let e=a.periods.flatMap(f=>f.variants);if(b.length||c.length)e=$C(e,b,c);e=aD(e,d);for(const f of a.periods)f.variants=f.variants.filter(g=>e.includes(g))};
|
|
56
|
+
gD=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};hD=function(a,b,c){let d=!1;for(const e of a)a=e.allowedByApplication,e.allowedByApplication=gD(e,b,c),a!==e.allowedByApplication&&(d=!0);return d};
|
|
57
|
+
kD=function(a,b,c,d,e){e=void 0===e?!0:e;let f=!1;d.variants=d.variants.filter(g=>{if(a&&a.O&&!fB(a,g))return _.kh("Dropping variant - not compatible with key system",g),!1;let h=g.audio;const k=g.video;if(h&&!PC(h)){const l=h.codecs;0<=h.codecs.indexOf(_.Rd)?(_.kh("Trying to use AC-3 for EC-3"),h.codecs=h.codecs.replace(_.Rd,"ac-3"),PC(h)?_.jh("Using AC-3 instead of EC-3 for",iD(h)):(h.codecs=l,_.jh(qA,iD(h)),g.audio=null,f=!0,h=null)):(_.jh(qA,iD(h)),g.audio=null,f=!0,h=null)}return k&&!PC(k)?(_.jh("Dropping variant - video not compatible with platform",
|
|
58
|
+
iD(k)),!1):h&&b&&!jD(h,b,e)?(_.jh("Dropping variant - not compatible with active audio","active audio",iD(b),"variant.audio",iD(h)),!1):k&&c&&!jD(k,c,e)?(_.jh("Dropping variant - not compatible with active video","active video",iD(c),"variant.video",iD(k)),!1):!0});if(f){let g=!1,h=!1;for(const k of d.variants)!g&&k.video&&k.audio&&(g=!0),h||k.audio||!k.video||(h=!0);g&&h&&(d.variants=d.variants.filter(k=>k.video&&!k.audio?(_.jh("Dropping variant - not compatible with video + audio","variant.video",
|
|
59
|
+
iD(k.video)),!1):!0))}d.textStreams=d.textStreams.filter(g=>{const h=_.DC(_.Qj(g.mimeType,g.codecs));h||_.kh("Dropping text stream. Is not supported by the platform.",g);return h})};
|
|
60
|
+
iD=function(a){const b=wB(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===_.t?"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"};
|
|
61
|
+
jD=function(a,b,c){return a.mimeType!==b.mimeType||(void 0===c||c)&&a.codecs.split(".")[0]!==b.codecs.split(".")[0]?!1:!0};
|
|
62
|
+
lD=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,u)=>q.concat(u),[]);a={id:a.id,active:!1,type:"variant",bandwidth:a.bandwidth,language:a.language,originalLanguage:a.language,label:null,
|
|
62
63
|
kind:k,width:null,height:null,frameRate:null,trickPlay:!1,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,spatialAudio:!1,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,
|
|
63
64
|
a.frameRate=c.frameRate||null,a.trickPlay=!!c.trickPlay,a.videoBandwidth=c.bandwidth||null);b&&(a.audioId=b.id,a.originalAudioId=b.originalId,a.originalLanguage=b.originalLanguage,a.channelsCount=b.channelsCount,a.audioBandwidth=b.bandwidth||null,a.label=b.label,a.audioRoles=b.roles);return a};
|
|
64
|
-
|
|
65
|
-
accessibility:a.accessibility,keyId:null}};
|
|
66
|
-
_.
|
|
67
|
-
|
|
68
|
-
|
|
65
|
+
mD=function(a){return{id:a.id,active:!1,type:_.F,bandwidth:0,language:a.language,originalLanguage:a.originalLanguage,label:a.label,kind:a.kind||null,width:null,height:null,frameRate:null,trickPlay:!1,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,spatialAudio:!1,audioBandwidth:null,videoBandwidth:null,originalVideoId:null,originalAudioId:null,originalTextId:a.originalId,
|
|
66
|
+
accessibility:a.accessibility,keyId:null}};nD=function(a){return a.allowedByApplication&&a.allowedByKeySystem};
|
|
67
|
+
_.pD=function(a,b,c,d){b=_.yh(b);let e=a;const f=a.filter(h=>h.primary);f.length&&(e=f);const g=e.length?e[0].language:"";e=e.filter(h=>h.language===g);b.some(h=>{const k=_.pB(_.$h(h),a.map(l=>l.language));return k?(e=a.filter(l=>_.$h(l.language)===k),!0):!1});d&&e.some(h=>h.kind===_.Xd)&&(e=e.filter(h=>h.kind===_.Xd));if(c){b=oD(e,c);if(b.length)return b;_.B("No exact match for the text role could be found.")}else if(b=e.filter(h=>0===h.roles.length),b.length)return b;b=e.map(h=>h.roles).reduce(_.jB,
|
|
68
|
+
[]);return b.length?oD(e,b[0]):e};oD=function(a,b){return a.filter(c=>c.roles.includes(b))};
|
|
69
|
+
qD=function(a,b){var c=String(_.ij++);c=new _.jj(c,a);c.mimeType=_.fj(b.mimeType);if(a===_.J||a===_.K)c.label=_.fj(b.label),c.language=_.fj(b.language),c.originalLanguage=_.fj(b.originalLanguage);a===_.L?(c.frameRate=b.frameRate,c.roles=b.roles,c.trickPlay=b.trickPlay):a===_.K?(c.channelsCount=b.channelsCount,c.roles=b.audioRoles||[],c.mimeType=_.fj(b.audioMimeType)):(c.kind=_.fj(b.kind),c.roles=b.roles);c.accessibility=a===_.L||a===_.K?(b.accessibility||[]).filter(d=>d.type===a):b.accessibility||
|
|
69
70
|
[];return c};
|
|
70
|
-
|
|
71
|
-
_.
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
RD=function(a,b){
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
a;
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
_.BE=function(a,b){
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
a
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
{
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
a.
|
|
125
|
-
a
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
b
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
a.
|
|
135
|
-
kF=function(a,b
|
|
136
|
-
lF=function(
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
(b
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
if(
|
|
156
|
-
(
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
a.
|
|
160
|
-
_.
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
eH=function(){
|
|
197
|
-
|
|
198
|
-
_.
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
_.
|
|
202
|
-
|
|
203
|
-
a)
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
a);this.
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
_.
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
a.
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
this.
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
a
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
(
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
a
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
this.
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
this;return _.
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
(
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
71
|
+
rD=function(a,b,c){const d=new _.tj(a===_.L?`${b.videoId}`:a===_.K?`${b.audioId}`:`${b.id}`,c);switch(a){case _.L:d.codec=_.fj(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=_.fj(b.audioCodec);d.bandwidth=b.audioBandwidth||b.bandwidth;d.originalId=b.originalAudioId;d.drm={keyId:b.keyId||void 0};break;default:d.codec=_.fj(b.codecs),d.originalId=b.originalTextId}(a=c.renditions.find(e=>
|
|
72
|
+
_.Zg(e,d,null,["id","track"])))||c.renditions.push(d);return a||d};sD=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)};tD=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};
|
|
73
|
+
uD=function(a){return new _.G(_.E,7,7E3,a.a?"Another load operation was started while a load operation was in progress.":"Player was released while a load operation was in progress.")};vD=function(a,b){if(b&&(null==a.a||a.a!==b))throw uD(a);};
|
|
74
|
+
xD=function(a,b){if(window.ManagedMediaSource){a.j.disableRemotePlayback=!0;var c=new ManagedMediaSource;a.l.one(c,SA,()=>{URL.revokeObjectURL(a.B);b.resolve()});a.l.on(c,TA,()=>{a.V=!0});a.l.on(c,"endstreaming",()=>{a.V=!1});a.B=wD(c);a.j.src=a.B;return c}c=new MediaSource;a.B=wD(c);a.l.one(c,SA,()=>{URL.revokeObjectURL(a.B);b.resolve()});a.j.src=a.B;return c};
|
|
75
|
+
yD=function(a,b){b.forEach((c,d)=>{const e=a.o.addSourceBuffer(c);a.l.on(e,_.Vd,a.T.bind(a,d));a.l.on(e,"updateend",a.C.bind(a,d));a.a[d]=e;a.H[d]=c;a.h[d]=[];a.I[d]=!1});a.S=b.has(_.p)&&b.has(_.t)};zD=function(a,b){try{return new _.qt(a.a[b].buffered,b)}catch(c){return b in a.a&&a.g.error(HA+b,c),null}};AD=function(a,b){return a.a[b]?(a=zD(a,b))?a.toString():"":""};CD=function(a,b,c){if(a.O)return Promise.reject();c={start:c,p:new _.ln};a.h[b].push(c);1===a.h[b].length&&BD(a,b);return c.p};
|
|
76
|
+
DD=function(a,b,c){0>c&&(c+=.001);try{a.g.debug(vA+b,c),a.a[b].timestampOffset=c}catch(d){throw a.g.warn(gA+b,c,d),d;}a.g.debug(aA+b,c);a.C(b)};FD=function(a,b,c,d){return _.w(function*(){const e=_.yB(_.Sj(a.H[b])),f=_.Rj(a.H[b]),g=_.Qj(c,d),h=_.yB(_.Sj(g)),k=_.Rj(g);if(e===h&&f===k)return!1;a.K.mediaSource.codecSwitchingStrategy===_.Jf&&vC()&&(yield ED(a,b,g));return!0})};
|
|
77
|
+
GD=function(a,b,c,d,e,f){return[f?Promise.resolve():CD(a,b,()=>{try{a.g.debug(Pz+b+Jz);const g=a.a[b].appendWindowStart,h=a.a[b].appendWindowEnd;a.a[b].abort();a.a[b].appendWindowStart=g;a.a[b].appendWindowEnd=h}catch(g){throw a.g.warn(bA+b+Jz,g),g;}a.g.debug(Wz+b+Jz);a.C(b)}),CD(a,b,()=>DD(a,b,c)),CD(a,b,()=>{try{a.g.debug(tA+b,d,e),a.a[b].appendWindowStart=0,a.a[b].appendWindowEnd=e,a.a[b].appendWindowStart=d}catch(g){throw a.g.warn(fA+b,d,e,g),g;}a.g.debug($z+b,d,e);a.C(b)})]};
|
|
78
|
+
ID=function(a,b){return _.w(function*(){if(a.O)return Promise.reject();const c=[];for(const d in a.a){const e=new _.ln,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()}try{yield Promise.all(c)}catch(d){for(const e in a.a)a.h[e].length&&a.h[e].shift();return Promise.reject(d)}for(const d in a.a);try{yield b()}catch(d){return Promise.reject(new _.G(_.E,3,3015,{mediaError:d}))}finally{for(const d in a.a)HD(a,d)}})};
|
|
79
|
+
HD=function(a,b){a.h[b].shift();BD(a,b)};BD=function(a,b){const c=a.h[b][0];if(c)try{a.g.debug(xA+b),c.start()}catch(d){d.name===pA?c.p.reject(new _.G(_.E,3,3017,{type:b})):c.p.reject(new _.G(_.E,3,3015,{mediaError:d})),HD(a,b)}else a.g.debug(lA+b)};ED=function(a,b,c){return CD(a,b,()=>{b===_.F?a.g.debug(`Change not supported for ${b}`):(a.g.debug(`Change Type: ${a.H[b]} -> ${c}`),vC()?(a.a[b].changeType(c),a.H[b]=c):a.g.debug("Change Type not supported"),a.C(b))})};JD=function(a,b){a.f=b};
|
|
80
|
+
MD=function(a,b,c){c=void 0===c?!0:c;var d;if(!(d=!!a.audio!==!!b.audio||!!a.video!==!!b.video||a.language!==b.language)&&(d=a.audio&&b.audio)){d=a.audio;var e=b.audio;d=!(d.channelsCount===e.channelsCount&&(!c||KD(d,e))&&LD(d.roles,e.roles))}!d&&(d=a.video&&b.video)&&(a=a.video,b=b.video,d=!((!c||KD(a,b))&&LD(a.roles,b.roles)));return d?!1:!0};
|
|
81
|
+
KD=function(a,b){if(a.mimeType!==b.mimeType)return!1;a=xB(a.codecs).map(c=>_.yB(c));b=xB(b.codecs).map(c=>_.yB(c));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};LD=function(a,b){a=new Set(a);b=new Set(b);a.delete(_.ue);b.delete(_.ue);if(a.size!==b.size)return!1;for(const c of a)if(!b.has(c))return!1;return!0};ND=function(a,b){a.j=b;a.j.speedUpMode&&(a.w=a.j.speedUpMode)};
|
|
82
|
+
QD=function(a,b){a.a.stop();a.l||(a.o=!1);const c=a.l?0:a.h;if((b?b:a.w)===_.Cd||0===c||1===c)try{OD(a,c)}catch(d){a.g.warn('Set playbackRate using "decoder" mode fails, due to unsupported range by platform. Fallback to "seek" mode.',d),PD(a)}else PD(a)};OD=function(a,b){if(a.f.nf()!==b){a.g.debug(uA,b,' using native playbackRate "decoder" mode.');try{a.f.vh(b)}catch(c){throw c;}}};PD=function(a){a.g.debug(uA,a.h,' using "seek" mode.');OD(a,0);a.o=!0;a.a.vb(.25)};
|
|
83
|
+
SD=function(a){a=_.I(a);let b=!1,c;const d=[],e=h=>{d.push(h);_.Ml(h)},f=()=>{b=!0},g=[];(new _.Tl).N(_.Be,e).N(_.Yf,e).N(_.we,e).N(_.Ae,e).N(_.Of,e).ca(_.Qf,h=>{c=h;d.push(h);_.Nl(h)}).ca("encv",f).ca("enca",f).ca("avc1",h=>{g.push({N:h,Jc:1701733238})}).ca("avc3",h=>{g.push({N:h,Jc:1701733238})}).ca("ac-3",h=>{g.push({N:h,Jc:1701733217})}).ca(_.Rd,h=>{g.push({N:h,Jc:1701733217})}).ca("mp4a",h=>{g.push({N:h,Jc:1701733217})}).parse(a);if(b)return _.jh("Init segment already indicates encryption."),
|
|
84
|
+
a;if(0===g.length||!c)throw _.lh("Failed to find boxes needed to fake encryption!"),_.lh("Failed init segment (hex):",_.Fi(a)),new _.G(_.E,3,14E3);g.reverse();for(const h of g)_.jh(`Inserting "${_.Ll(h.Jc)}" box into init segment.`),a=RD(a,c,h.N,d,h.Jc);return a};
|
|
85
|
+
RD=function(a,b,c,d,e){{var f=TD.value(),g=a.subarray(c.start,c.start+c.size);const k=_.ki(g);var h=new Uint8Array(c.size+f.byteLength);h.set(g,0);g=_.ki(h);g.setUint32(4,e);h.set(f,c.size);e=k.getUint32(4);g.setUint32(c.size+16,e);UD(h,0,h.byteLength);e=h}h=new Uint8Array(a.byteLength+e.byteLength);c=_.Zj("Xbox One")||_.Yj()?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)UD(h,k.start,k.size+e.byteLength);a=_.ki(h,b.start);b=_.Pl(b);
|
|
86
|
+
d=a.getUint32(b);a.setUint32(b,d+1);return h};UD=function(a,b,c){a=_.ki(a,b);b=a.getUint32(0);0!==b&&(1===b?(a.setUint32(8,c>>32),a.setUint32(12,c&4294967295)):a.setUint32(0,c))};VD=function(a){return"("+a.type+":"+a.stream.id+")"};WD=function(a){return!a.qb&&null==a.eb&&!a.Ub&&!a.dc};XD=function(a){a.periods.every(b=>typeof b.id===_.Pf)};YD=function(a){null!=a.eb&&(a.eb.stop(),a.eb=null)};ZD=function(a){return _.w(function*(){a.Qb&&(yield a.Qb.abort())})};
|
|
87
|
+
eE=function(a,b,c,d,e){return _.w(function*(){var f=a.D.Lb();const g=$D(a,f);if(null==g)a.g.warn("Cannot initialize streams, period not found at",f);else{f=new Map;var h=new Set;b&&(f.set(_.p,b),h.add(b));c&&(f.set(_.t,c),h.add(c));d&&(f.set(_.F,d),h.add(d));yield a.D.$.init(f,a.h.forceNativeTS,a.h.disableAudioTracks);a.f||(aE(a),yield bE(a,h),a.f||f.forEach((k,l)=>{a.a.has(l)||(k=cE(k,g,e),a.a.set(l,k),dE(a,k,0))}))}})};
|
|
88
|
+
fE=function(a,b){a=a.j.periods.find(c=>c.id===b)||null;if(!a)throw new _.G(_.E,5,5006,`Period ${b} not found`);return a};gE=function(a){var b=a.a.get(_.t);return b?fE(a,b.Ob):(b=a.a.get(_.p))?fE(a,b.Ob):null};_.hE=function(a,b){return(a=a.a.get(b))?a.Zb||a.stream:null};iE=function(a){return _.hE(a,_.p)};jE=function(a){return _.hE(a,_.t)};
|
|
89
|
+
bE=function(a,b){return _.w(function*(){const c=[];for(const f of b){const g=a.w.get(f.id);g?(a.g.debug("(all) Stream "+f.id+" is being or has been set up"),c.push(g)):(a.g.debug("(all) setting up Stream "+f.id),a.w.set(f.id,new _.ln),c.push(f.createSegmentIndex(a.D.Hb)))}try{if(yield Promise.all(c),a.f)return}catch(f){if(a.f)return;for(var d of b){var e=a.w.get(d.id);e&&(e.catch(()=>{}),e.reject(),a.w.delete(d.id))}throw f;}for(e of b)(d=a.w.get(e.id))&&!d.done&&(d.resolve(),a.g.debug("(all) setup Stream "+
|
|
90
|
+
e.id))})};$D=function(a,b){return(a=yC(a.j.periods,b+_.Ls))?a.id:null};cE=function(a,b,c){return{stream:a,type:a.type,Xb:null,segmentIterator:null,na:null,Zb:null,Ed:!0,Ob:b,endOfStream:!1,qb:!1,eb:null,Ub:!1,pd:0,Nd:!1,dc:!1,ye:!1,Ec:!1,Lf:c||0,Qb:null,sd:!1,xf:0}};dE=function(a,b,c){a.g.debug(VD(b),"updating in "+c+" seconds");b.eb=(new _.nt(()=>_.w(function*(){try{yield a.Pb(b)}catch(d){if(a.D)a.D.onError(d)}}))).fa(c)};
|
|
91
|
+
kE=function(a,b){return _.w(function*(){yield a.D.$.clear(_.F);a.G++;a.H=!1;var c=a.G,d=a.D.$;const e=new Map,f=new Set;e.set(_.F,b);f.add(b);yield d.init(e,!1,a.h.disableAudioTracks);a.f||(yield bE(a,f),a.f||(d=d.getTextDisplayer().isTextVisible()||a.h.alwaysStreamText,a.G!==c||a.a.has(_.F)||a.H||!d||(c=a.D.Lb(),d=$D(a,c),null==d?a.g.warn("Cannot set up text media state, period not found at",c):(c=cE(b,d,0),a.a.set(_.F,c),dE(a,c,0)))))})};
|
|
92
|
+
lE=function(a){a.H=!0;const b=a.a.get(_.F);b&&(YD(b),ZD(b).catch(()=>{}),a.a.delete(_.F))};
|
|
93
|
+
_.tE=function(a,b,c,d){const e=a.a.get(b.type);if(!e&&b.type===_.F&&a.h.ignoreTextStreamFailures)kE(a,b);else if(e){var f=mE(a,b).id;if(c&&f!==e.Ob){a.g.debug("switch: switching to stream in another Period; clearing buffer and changing Periods");for(var g of a.a.values())nE(a,g)}else if(e.Zb&&(a.g.debug("switch during trick play mode",b),b.trickModeVideo?(e.Zb=b,b=b.trickModeVideo,a.g.debug("switch found trick play stream",b)):(e.Zb=null,a.g.debug("switch found no special trick play stream"))),oE(a,
|
|
94
|
+
f)&&pE(a,b.id))if(e.stream!==b){g=a.j.presentationTimeline.getDuration();var h=a.D.Lb();h=qE(a,e,h);!c&&(e.endOfStream||h>=g)?a.g.debug(WA+VD(e)+" already buffered to the end. Not switching."):(b.type===_.F&&a.D.$.A(_.Qj(b.mimeType,b.codecs)),e.stream=b,e.stream.segmentIterator=null,e.Ed=!0,a.g.debug("switch: switching to Stream "+VD(e)),rE(a,e,f)&&(a.g.info("Aborting current segment request to switch."),e.Qb.abort()),c&&(e.dc?e.Nd=!0:e.qb?(e.Ub=!0,e.pd=d,e.Nd=!0):(YD(e),sE(a,e,!0,d).catch(k=>{if(a.D)a.D.onError(k)}))))}else a.g.debug(WA+
|
|
95
|
+
VD(e)+" already active")}};uE=function(a,b,c,d){b.video&&_.tE(a,b.video,c,d);b.audio&&_.tE(a,b.audio,c,d)};aE=function(a){const b=a.j.presentationTimeline.getDuration();Infinity>b?a.D.$.Y(b):a.D.$.Y(Math.pow(2,32))};vE=function(a,b){const c=a.j.periods.map(d=>d.id);a.g.debug(`Manifest updated, periods (${c.length}): `+`${c.join(", ")}`);a.j.periods=b.periods;XD(a.j);aE(a)};
|
|
96
|
+
nE=function(a,b){const c=VD(b);b.dc?a.g.debug(c,"clear: already clearing the buffer"):b.Ub?a.g.debug(c,"clear: already waiting"):b.qb?(a.g.debug(c,"clear: currently updating"),b.Ub=!0,b.pd=0):null==a.D.$.Ia(b.type)?(a.g.debug(c,"clear: nothing buffered"),null==b.eb&&dE(a,b,0)):(a.g.debug(c,"clear: handling right now"),YD(b),sE(a,b,!1,0).catch(d=>{if(a.D)a.D.onError(d)}))};
|
|
97
|
+
wE=function(a){const b=a.D.Lb(),c=g=>a.D.$.Fb(g,b,0);let d=!1;const e=$D(a,b);if(_.ci(a.a.values(),g=>g.Ob===e))for(const g of a.a.keys()){var f=a.a.get(g);f.stream.segmentIterator=null;c(g)||(nE(a,f),d=!0)}else if(!_.ci(a.a.keys(),c)){a.g.debug("(all): seeked: unbuffered seek: clearing all buffers");for(f of a.a.values())nE(a,f);d=!0}d||a.g.debug("(all): seeked: buffered seek: presentationTime\x3d"+b)};
|
|
98
|
+
xE=function(a,b){b=void 0===b?!1:b;if(a.f)a.g.error("Unable to retry after StreamingEngine is destroyed!");else if(a.o)a.g.error("Unable to retry after StreamingEngine encountered a fatal error!");else for(const c of a.a.values()){const d=VD(c);if(c.Ec||b&&WD(c))a.g.info(d,"Retrying after failure..."),c.Ec=!1,dE(a,c,.1)}};yE=function(a){return Array.from(a.a.values()).some(b=>null!==b.eb)};zE=function(a){const b=Array.from(a.a.values());return a.B&&b.every(c=>c.endOfStream)};
|
|
99
|
+
sE=function(a,b,c,d){return _.w(function*(){const e=VD(b);b.Ub=!1;b.Nd=!1;b.pd=0;b.dc=!0;b.stream.segmentIterator=null;a.g.debug(e,"clearing buffer");if(d){var f=a.D.Lb();const g=a.D.$.getDuration();f=a.D.$.remove(b.type,f+d,g)}else f=a.D.$.clear(b.type).then(()=>!a.f&&c?a.D.$.flush(b.type):null);yield f;a.f||(a.g.debug(e,"cleared buffer"),b.Xb=null,b.na=null,b.dc=!1,b.endOfStream=!1,b.sd=!1,dE(a,b,0))})};
|
|
100
|
+
AE=function(a){return _.w(function*(){const b=[];for(const c of a.a.values())YD(c),c.qb&&c.Qb&&(c.qb=!1,b.push(c.Qb.abort())),c.Ub&&b.push(sE(a,c,!0,0));yield Promise.all(b)})};BE=function(a,b,c){(a=a.a.get(b))&&c&&(YD(a),a.stream=c,a.Xb=c,a.na&&(a.na=c.getSegmentReference(a.na.position)),a.na||(a.Xb=null))};oE=function(a,b){a=a.A.get(b);return!(!a||!a.Kd)};pE=function(a,b){a=a.w.get(b);return!(!a||!a.Kd)};qE=function(a,b,c){return b.Xb&&b.na?mE(a,b.Xb).startTime+b.na.endTime:Math.max(c,b.Lf)};
|
|
101
|
+
rE=function(a,b,c){if(!b.Qb)return!1;const d=a.D.Lb(),e=a.D.$.ga(b.type);c=(c=CE(a,b,d,e,c))?c.Uc():null;if(null==c)return!1;var f=b.stream.initSegmentReference;f&&(c+=f.Uc()||0);f=a.D.ud().getBandwidthEstimate();if(8*c/f<(null===e?0:e-d)-Math.max(a.j.minBufferTime||0,a.h.rebufferingGoal))return!0;a=b.Qb;a=a.j?a.j.bytesRemaining:-1;return 0>a||a>c?!0:!1};
|
|
102
|
+
CE=function(a,b,c,d,e){if(null==e)return a.g.warn(Uz),null;if(b.stream.segmentLookupStrategy===_.JA)b.stream.segmentIterator?a=lC(b.stream.segmentIterator):b.na||d?(c=b.na?b.na.endTime:d,a.g.info(iA,"looking up segment from new stream endTime:",c),b.stream.segmentIterator=rC(b.stream.segmentIndex,c),e=b.stream.segmentIterator.next().value,null===e&&(b.stream.segmentIterator=null,a.g.warn(iA,DA,"endTime:",c,b.na)),a=e):(e=fE(a,e),e=Math.max(0,c-e.startTime),a.g.info(iA,"looking up segment","lookupTime:",
|
|
103
|
+
e,NA,c),d=null,d||(b.stream.segmentIterator=rC(b.stream.segmentIndex,e),d=b.stream.segmentIterator.next().value),null===d&&a.g.warn(iA,DA,"lookupTime:",e,NA,c),a=d);else{var f=VD(b);if(b.na&&b.stream===b.Xb)c=b.na.position+1,a.g.debug(f,"next position known:","position\x3d"+c),a=DE(a,b,e,c);else{if(b.na){a.g.debug(f,"next position unknown: another Stream buffered");f=mE(a,b.Xb);var g=EE(a,b,f.startTime+b.na.endTime,e)}else a.g.debug(f,"next position unknown: nothing buffered"),g=EE(a,b,d||c,e);if(null==
|
|
104
|
+
g)a=null;else if(f=DE(a,b,e,g),null==f)a=null;else{var h=null==a.h?!1:a.h.ignoreDrift;null==d&&!h&&f.Ba+f.startTime+2>c&&(a=DE(a,b,e,Math.max(0,g-1)))&&(f=a);a=f}}}return a};
|
|
105
|
+
FE=function(a,b){var c=a.A.get(b);if(c)return a.g.debug(`(all) Period ${b} is being or has been set up`),c;a.g.debug(`(all) setting up Period ${b}`);const d=new _.ln;a.A.set(b,d);const e=new Set;c=fE(a,b);for(const f of c.variants)f.video&&e.add(f.video),f.video&&f.video.trickModeVideo&&e.add(f.video.trickModeVideo),f.audio&&e.add(f.audio);for(const f of c.textStreams)e.add(f);a.F=a.F.then(()=>a.f?null:bE(a,e)).then(()=>{a.f||(d.resolve(),a.g.debug(`(all) setup Period ${b}`))}).catch(f=>{a.f||(d.catch(()=>
|
|
106
|
+
{}),d.reject(),a.A.delete(b),a.g.warn(`(all) failed to setup Period ${b}`),a.D.onError(f))});return d};GE=function(a){a.g.debug("(all) setupAllPeriods_");a.j.periods.map(b=>b.id).forEach(b=>{FE(a,b).catch(kB)})};
|
|
107
|
+
PE=function(a,b){if(b.type===_.F&&b.stream.mimeType===_.Ac)return a.D.$.Oa(b.stream.originalId||""),null;b.type===_.F&&a.D.$.ba();if(!a.D.$.Pa()&&b.type!==_.F)return a.h.bufferLimitUpdateInterval?a.h.bufferLimitUpdateInterval/2:.5;var c=VD(b);const d=a.D.Lb(),e=qE(a,b,d);a.g.debug(c,"timeNeeded\x3d"+e);var f=a.D.$.xa(b.type,d);a.g.debug(c,"update_:",OA+d,"bufferedAhead\x3d"+f);var g=Math.max(a.j.minBufferTime||0,a.h.rebufferingGoal,a.h.bufferingGoal)*a.l,h=GB(a.j.presentationTimeline);if(null!=h&&
|
|
108
|
+
e>=h&&!b.sd)return HE(a,b),null;b.endOfStream=!1;h=mE(a,b.stream).id;const k=$D(a,e);null!=k&&(b.Ob=k);if(k!==h)return a.g.debug(c,"need Period "+k,OA+d,"timeNeeded\x3d"+e,"currentPeriodId\x3d"+h),null;if(f>=g)return a.g.debug(c,"buffering goal met"),a.h.bufferLimitUpdateInterval||.5;f=a.D.$.ga(b.type);f=CE(a,b,d,f,h);if(!f)return a.j.presentationTimeline.isLive()||b.type===_.F?a.h.bufferLimitUpdateInterval||1:(a.g.debug("Media state "+c+": no next segment found. Assuming EOS."),HE(a,b),null);c=Infinity;
|
|
109
|
+
for(const l of a.a.values())if(l.type!==_.F||l.stream.mimeType!==_.Ac)g=qE(a,l,d),c=Math.min(c,g);if(e>=c+a.j.presentationTimeline.h)return a.h.bufferLimitUpdateInterval||1;b.Lf=0;IE(a,b,d,h,f).catch(()=>{});return null};QE=function(a,b){return _.w(function*(){if(!a.f){if(a.D.Mf)try{yield a.D.Mf(b)}catch(c){c.cause=b,b=c}if(!b.f)a.D.onError(b)}})};
|
|
110
|
+
RE=function(a,b){const c=VD(b),d=mE(a,b.stream).id;if(b.Ob!==d){var e=b.Ob,f=Array.from(a.a.values());f.every(g=>g.Ob===e)?f.every(WD)?(a.g.debug(c,"all need Period "+e),FE(a,e).then(()=>{if(!a.f)if(a.D.$.Qa(),f.every(l=>{const m=WD(l),n=mE(a,l.stream).id;return m&&l.Ob===e&&n!==e})){var g=fE(a,e);a.g.debug(c,"Streaming period",e,g);a.g.debug(c,"calling onChooseStreams()...");var h=a.D.ne(g);a.C=!h.variant&&!!h.text;var k=new Map;h.variant&&h.variant.video&&k.set(_.t,h.variant.video);h.variant&&h.variant.audio&&
|
|
111
|
+
k.set(_.p,h.variant.audio);h.text&&k.set(_.F,h.text);for(const l of a.a.keys())if(!k.has(l)&&l!==_.F){a.g.error(c,"invalid Streams chosen: missing "+l+" Stream");a.D.onError(new _.G(_.E,5,5005));return}for(const l of Array.from(k.keys()))if(!a.a.has(l))if(l===_.F)eE(a,null,null,k.get(_.F),g.startTime),k.delete(l);else{a.g.error(c,"invalid Streams chosen: unusable "+l+" Stream");a.D.onError(new _.G(_.E,5,5005));return}for(const l of Array.from(a.a.keys()))(g=k.get(l))?(_.tE(a,g,!1,0),dE(a,a.a.get(l),
|
|
112
|
+
0)):a.a.delete(l);a.g.debug(c,CA);a.D.me()}else a.g.debug(c,"ignoring transition to Period",e,"since another is happening")}).catch(kB)):a.g.debug(c,"all MediaStates need Period "+e+", but not all MediaStates are idle"):a.g.debug(c,"not all MediaStates need Period "+e)}};HE=function(a,b){a.g.debug(VD(b),"buffered to end of presentation");b.endOfStream=!0;b.type===_.t&&(a=a.a.get(_.F))&&a.stream.mimeType===_.Ac&&(a.endOfStream=!0)};
|
|
113
|
+
IE=function(a,b,c,d,e){return _.w(function*(){const f=VD(b),g=fE(a,d);a.g.debug(f,"fetchAndAppend_:",OA+c,GA+g.startTime,QA+e.position,RA+e.startTime,PA+e.endTime);const h=b.stream,k=b.stream.segmentIterator;var l=a.j.presentationTimeline.getDuration();const m=SE(a,d);l=TE(a,b,g,Math.max(0,g.startTime-.1),m?m.startTime+.01:l,e);b.qb=!0;b.Ed=!1;a.g.debug(f,"fetching segment");let n=!1;const q=(v,y)=>{if(a.f||a.o)return null;n=!0;return UE(a,b,c,g,h,e,v,y)},u=a.D.$.ga(b.type)||0;l.then(()=>a.f||a.o?
|
|
114
|
+
null:VE(a,b,e,!1,v=>q(v.data,!0))).then(v=>a.f||a.o?null:n||null===v?(WE(a,b,u,e,h),null):q(v,!1)).then(()=>{if(!a.f&&!a.o){WE(a,b,u,e,h);b.qb=!1;b.ye=!1;b.Ub||a.D.Gd();if(k){const v=k.next().value;v&&a.g.debug("New iterated segment",v)}dE(a,b,0);XE(a,b,h);a.g.debug(f,"finished fetch and append")}}).catch(v=>_.w(function*(){a.f||a.o||(b.qb=!1,b.type===_.F&&a.h.ignoreTextStreamFailures?(1001===v.code?a.g.warn(f,"Text stream failed to download. Proceeding without it."):a.g.warn(f,"Text stream failed to parse. Proceeding without it."),
|
|
115
|
+
a.a.delete(_.F)):7001===v.code?(b.qb=!1,b.eb=null,dE(a,b,0)):3017===v.code?YE(a,b,v):1001===v.code&&v.data&&404===v.data[1]?(a.g.warn(f,"request for segment failed","segment not available on server",QA+e.position,RA+e.startTime,PA+e.endTime,"error\x3d"+v),b.qb=!1,b.eb=null,dE(a,b,1)):b.type===_.F?(v instanceof _.G&&v.a(1),YD(b),a.D.onError(new _.G(1,2,2010,v))):1001<=v.code&&1003>=v.code?yield ZE(a,b,g,v):(a.g.error(f,"failed fetch and append: code\x3d"+v.code),b.Ec=!0,v instanceof _.G&&v.a(_.E),
|
|
116
|
+
yield QE(a,v)))}))})};mE=function(a,b){a=a.j.periods;const c=AC(a,b);a=a[c];if(!a)throw new _.G(_.E,5,5006,`No period found for stream with ID ${b.id}.`);return a};
|
|
117
|
+
DE=function(a,b,c,d){const e=VD(b);if(null==c)return a.g.warn(e,Uz),null;c=fE(a,c);const f=b.stream.getSegmentReference(d);if(!f)return a.g.debug(e,"segment does not exist:",GA+c.startTime,"position\x3d"+d),null;var g=a.j.presentationTimeline;d=_.MB(g);g=LB(g);return!b.sd&&(c.startTime+f.endTime<d||c.startTime+f.startTime>g)?(a.g.debug(e,"segment is not available:",GA+c.startTime,RA+f.startTime,PA+f.endTime,"availabilityStart\x3d"+d,"availabilityEnd\x3d"+g),null):f};
|
|
118
|
+
EE=function(a,b,c,d){const e=VD(b);d=fE(a,d);const f=Math.max(0,c-d.startTime);b=b.stream.findSegmentPosition(f);a.g.debug(e,"Looked up segment:",OA+c,"lookupTime\x3d"+f,GA+d.startTime,"Result: segment position\x3d"+b);null==b&&a.g.warn(e,"cannot find segment:",GA+d.startTime,"lookupTime\x3d"+f);return b};SE=function(a,b){const c=a.j.periods.findIndex(d=>d.id===b);return 0>c?null:a.j.periods[c+1]||null};
|
|
119
|
+
TE=function(a,b,c,d,e,f){return _.w(function*(){var g=c.startTime-f.Ba,h=b.Ed||f.initSegment!==(b.na&&b.na.initSegment);if(!h&&g===b.xf)return Promise.resolve();b.xf=g;const k=VD(b);a.g.debug(k,"setting timestamp offset to "+g);a.g.debug(k,"setting append window start to "+d);a.g.debug(k,"setting append window end to "+e);g=a.D.$.Ra(b.type,g,d,e,b.stream.mimeType,b.stream.codecs);if(!b.stream.initSegmentReference||!h)return g;a.g.debug(k,"fetching init segment");h=VE(a,b,f&&f.initSegment||b.stream.initSegmentReference,
|
|
120
|
+
!0).then(l=>{if(a.f)return null;a.g.debug(k,"appending init segment");return $E(a,l,b).then(()=>a.D.$.L(b.type,l,null,null,!!b.stream.closedCaptions&&0<b.stream.closedCaptions.size))}).catch(l=>{b.Ed=!0;return Promise.reject(l)});return Promise.all([g,h])})};
|
|
121
|
+
UE=function(a,b,c,d,e,f,g,h){h=void 0===h?!1:h;return _.w(function*(){const k=VD(b);if(e&&e.keyId&&a.D.Rc){var l=cB(a.D.Rc,e.keyId);if(l)try{yield l}catch(n){a.g.warn("DRM session load failed!",n)}else a.g.warn(`Unable to find DRM session for ${e.keyId}`)}if(e.encrypted&&e.keyId&&a.D.Rc&&eB(a.D.Rc,e.keyId))return YD(b),l=mE(a,e).id,(l=aF(a,l))&&(yield l),l=a.D.Rd(e,d,KA),a.g.warn(k,`Blocked append for ${f.startTime+d.startTime} - ${f.endTime+d.startTime}: ${l}. `+`Stream with Key ID ${e.keyId} has restrictions.`),
|
|
122
|
+
Promise.resolve();const m=e.closedCaptions&&0<e.closedCaptions.size;null!=e.emsgSchemeIdUris&&0<e.emsgSchemeIdUris.length&&(new _.Tl).ca("emsg",a.I.bind(a,d,f,e.emsgSchemeIdUris)).parse(g);return bF(a,b,c).then(()=>{if(a.f)return null;const n=f.startTime+d.startTime,q=f.endTime+d.startTime;a.g.debug(k,"Appending segment "+`with ${n.toFixed(3)} - ${q.toFixed(3)} `+`KeyID: ${e.keyId} `+`Width: ${e.width} Height: ${e.height} `+`Bitrate: ${_.yi(e.bandwidth)} `+`Fragment: ${h}`);return a.D.$.L(b.type,
|
|
123
|
+
g,n,q,m,e.id,h)}).then(()=>{a.f||(a.g.debug(k,"appended media segment"),b.Xb=e,b.na=f)})})};
|
|
124
|
+
VE=function(a,b,c,d,e){d=void 0===d?!1:d;e=void 0===e?null:e;const f=_.CC(c.Va(),c.wa,c.ka,a.h.attemptParameters,c.startTime,c.endTime,b.type,c.timescale);f.type=2;f.onFragment=c.yc?null:e;f.disableFragmentSupport=c.yc||a.h.disableFragmentSupport;f.disableMergedFragments=a.h.disableMergedFragments;if(e=c.f())f.keyInfo=e,f.onFragment=null;d&&(f.responseModifiers.push(g=>{cF(a,b,g.data)}),b.type===_.t&&a.h.overridePasp&&f.responseModifiers.push(a.J.bind(a)));a.g.debug("fetching: reference\x3d",c);c=
|
|
125
|
+
a.D.Hb.fetch(f);b.Qb=c;return c.W.then(g=>{const h=a.D.ud(),k=g.timeMs,l=g.data.byteLength;k&&l&&!d&&h.segmentDownloaded(k,l);b.Qb=null;return g.data})};
|
|
126
|
+
WE=function(a,b,c,d,e){if(!a.j.presentationTimeline.isLive()&&b.type!==_.F){var f=VD(b);const g=(a.D.$.ga(b.type)||0)-c,h=d.endTime-d.startTime;c=g-h;if(Math.abs(c)>=Math.min(.01,h)&&Math.abs(c)<=Math.min(1,h))for(a.g.debug(f,"Adjusted segment",d.position,"with real duration",g,"and accounted for",c,"delta between segment duration and real duration"),b.sd=!0,a=a.j.periods,b=c,e.adjustSegmentDurations(d.position,b),d=AC(a,e),f=a[d],e=e.getDuration(),BC(f,e),e=d+1;e<a.length;e++)a[e].startTime+=b}};
|
|
127
|
+
XE=function(a,b,c){if(!a.B){b=VD(b);var d=Array.from(a.a.values());1!==d.length||d[0].type!==_.F?a.B=d.every(e=>e.type===_.F||a.C?!0:!e.Ub&&!e.dc&&e.na):a.C&&(a.B=!0);a.B&&(a.g.debug(b,"startup complete"),c=mE(a,c).id,SE(a,c),aF(a,c))}};
|
|
128
|
+
YE=function(a,b,c){const d=VD(b);if(Array.from(a.a.values()).some(e=>e!==b&&e.ye))a.g.debug(d,kA,"waiting for another stream to recover...");else{const e=Math.round(100*a.l);if(20<e)a.l-=.2;else if(4<e)a.l-=.04;else{a.g.error(d,"MediaSource threw QuotaExceededError too many times");b.Ec=!0;a.o=!0;a.D.onError(c);return}a.g.warn(d,kA,"reducing buffering goals by "+(100-Math.round(100*a.l))+"%");b.ye=!0}dE(a,b,4)};
|
|
129
|
+
ZE=function(a,b,c,d){return _.w(function*(){let e=!0;1001===d.code&&500<=d.data.status||(e=!a.D.Rd(b.stream,c));e&&(b.Ec=!0,d.a(_.E),yield QE(a,d))})};$E=function(a,b,c){return _.w(function*(){if(a.h.patchEdgeWhenMixedContent&&_.Yj()){const d=SD(b);yield a.D.$.L(c.type,d.buffer,null,null,!!c.stream.closedCaptions&&0<c.stream.closedCaptions.size)}})};
|
|
130
|
+
aF=function(a,b){let c=null;a.A.has(b)||(c=FE(a,b).then(()=>{a.f||(a.g.debug(CA),a.D.me())}).catch(kB));GE(a);a.D.bh&&(a.g.debug("calling onStartupComplete()..."),a.D.bh());return c};
|
|
131
|
+
bF=function(a,b,c){if(a.f)return Promise.resolve();const d=VD(b);a.g.debug(d,"checking buffer length");const e=Math.max(a.h.bufferBehind,a.j.presentationTimeline.h),f=a.D.$.Ia(b.type);if(null==f)return a.g.debug(d,"buffer behind okay because nothing buffered:",OA+c,AA+e),Promise.resolve();const g=c-f,h=g-e;if(.01>=h)return a.g.debug(d,"buffer behind okay:",OA+c,BA+g,AA+e,"underflow\x3d"+Math.abs(h)),Promise.resolve();a.g.debug(d,"buffer behind too large:",OA+c,BA+g,AA+e,"overflow\x3d"+h);return a.D.$.remove(b.type,
|
|
132
|
+
f,f+h).then(()=>{a.f||a.g.debug(d,"evicted "+h+" seconds")})};cF=function(a,b,c){(new _.Tl).N(_.Be,_.Ml).N(_.Yf,_.Ml).N(_.we,_.Ml).N(_.Ae,_.Ml).N(_.Of,_.Ml).ca(_.Qf,_.Nl).N("encv",d=>{d.reader.skip(78);_.Ml(d)}).N(_.If,_.Ml).N("schi",_.Ml).N("tenc",d=>{d.reader.skip(6);if(_.El(d.reader)){d.reader.skip(1);const e=_.Fi(_.Jl(d.reader,16));e!==b.stream.keyId&&(a.g.debug(VD(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)};
|
|
133
|
+
eF=function(a,b){a.a.has(b)||a.a.set(b,new dF);return a.a.get(b)};fF=function(a,b,c){eF(a,b).text=c};
|
|
134
|
+
gF=function(a){return 1>=a.a.chasingRate?(a.g.warn("chasingRate must be greater than 1."),!1):a.a.chaseJumpDistance<=a.a.startChasingAt?(a.g.warn("chaseJumpDistance must be greater than startChasingAt."),!1):a.a.startChasingAt<=a.a.stopChasingAt?(a.g.warn("startChasingAt must be greater than stopChasingAt."),!1):0>a.a.stopChasingAt?(a.g.warn("stopChasingAt must be greater than or equal to 0."),!1):!0};
|
|
135
|
+
hF=function(a,b){let c=null;b.some(d=>{c=_.pB(_.$h(d),a.map(e=>oB(e)));return!!c});return c?a.filter(d=>c===oB(d)):[]};iF=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)})};jF=function(a,b){return a.filter(c=>c.audio&&c.audio.spatialAudio!==b?!1:!0)};
|
|
136
|
+
kF=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)}};
|
|
137
|
+
lF=function(){const a=MediaSource.isTypeSupported;MediaSource.isTypeSupported=b=>"mp2t"===b.split(/ *; */)[0].split("/")[1].toLowerCase()?!1:a(b)};mF=function(){const a=MediaSource.prototype.addSourceBuffer;MediaSource.prototype.addSourceBuffer=function(...b){b=a.apply(this,b);b.abort=function(){};return b}};nF=function(){const a=SourceBuffer.prototype.remove;SourceBuffer.prototype.remove=function(b,c){return a.call(this,b,c-.001)}};
|
|
138
|
+
oF=function(){const a=MediaSource.isTypeSupported;MediaSource.isTypeSupported=b=>"opus"!==_.yB(b)&&a(b)};pF=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};_.qF=function(a,b){a.forEach(c=>{c.startTime+=b;c.endTime+=b})};rF=function(a){const b=a.periods[0].startTime;a=a.periods[a.periods.length-1].endTime;if(null==a)throw Error("Period end time must be known");return{start:b,end:a}};
|
|
139
|
+
sF=function(a){return Object.assign({},a,{periods:a.periods.map(b=>Object.assign({},b))})};
|
|
140
|
+
tF=function(a,b){if(0===a.length)throw Error("Cannot concatenate 0 manifests");if(1===a.length)return a[0];a[0].cues.forEach(e=>{e.offset=0});var c=[...a[0].periods];for(var d=1;d<a.length;d++){const e=rF(a[d-1]).end;_.qF(a[d].periods,e);c.push(...a[d].periods);a[d].cues.forEach(f=>{f.offset=e})}d=a.flatMap(e=>e.cues);c={periods:c,presentationTimeline:b,minBufferTime:0,cues:d};d=rF(c).end;_.BB(b.a,0,d);(a=a[0].presentationTimeline.lc())&&_.EB(b,a.seekRangeStartDateTime);return c};
|
|
141
|
+
vF=function(a,b){try{if(1===a.length)return a[0];if(!a.every(uF))throw new _.Jh("Period durations must be finite");return tF(a,b)}catch(c){throw new _.G(_.E,7,7003,"Failed to join manifests into a continuous playlist!",c);}};uF=function(a){return a.periods.every(b=>null!=b.endTime&&0<=b.endTime&&isFinite(b.endTime))};
|
|
142
|
+
wF=function(a,b){const c=b.periods[0].configurationId;var d=[...a.periods].filter(e=>e.configurationId!==c);a=a.presentationTimeline;d={periods:d,presentationTimeline:a,minBufferTime:0};_.FB(a,b.presentationTimeline.l);return vF([d,b],a)};xF=function(a,b){const c=a.mode;a.mode=c===_.Ff?_.Ff:_.ae;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};yF=function(a,b){return a.h.filter(c=>c.type===b)};zF=function(a,b){return(a=a.a.get(b)||null)&&a.track};
|
|
143
|
+
BF=function(a,b,c){if(!c||zF(a,c.type)!==c||a.m.pa())switch(b){case _.L:a.ab(c&&c.renditions[0]);break;case _.K:a.sb(c&&c.renditions[0]);break;case _.J:a.tb(c&&c.renditions[0]);break;default:AF(a,b,c&&c.renditions[0])}};AF=function(a,b,c,d){d=void 0===d?!1:d;if(a.m&&((a.a.get(b)||null)!==c||a.m.pa())){var e=a.m;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
|
|
144
|
+
${b} with ID: ${c.id}`);if(b===_.J){const g=e.ha().find(h=>h.id===parseInt(c.id,10));g&&(a.f.set(b,c),CF(a,c),e.trigger(new _.C(_.Nk)),DF(e,!0).then(()=>{EF(e,g)}).catch(h=>{a.g.warn("Error while activating track",h)}))}else if(b===_.K)a.f.set(b,c),FF(e,parseInt(c.id,10));else if(b===_.L){const g=a.a.get(_.K)||null;var f=null;if(g){const h=GF(e).filter(k=>k.videoId===parseInt(c.id,10));f=h.find(k=>k.audioId===parseInt(g.id,10))||null;if(!f){a.g.debug("Unable to find exact variant. Searching for equivalent");
|
|
145
|
+
const k=g.track.renditions.map(l=>l.id).filter(l=>l!==g.id);f=h.find(l=>k.find(m=>m===l.audioId))||null}}else f=GF(e).find(h=>h.videoId===parseInt(c.id,10))||null;f?(a.f.set(b,c),HF(e,f,d)):a.g.warn("Cannot find matching variant")}}else a.g.debug(_.Aa+b),(f=zF(a,b))&&(b===_.J?DF(e,!1).then(()=>{a.a.set(b,null);e.trigger(new _.C(_.Nk))}).catch(g=>{a.g.warn("Error while de-activating text tracks",g)}):b===_.K?a.g.info("Enabling ABR for audio is not supported"):b===_.L&&f.trickPlay?a.g.info("Enabling ABR for trick play tracks is not supported"):
|
|
146
|
+
HF(e,null,d))}};CF=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)};KF=function(a){if(a.m){a.g.debug("Track list change detected, updating track list");var b=[];for(var c of Object.values(_.Ys))a.a.set(c,null),a.f.set(c,null);for(var d of a.m.ha()){let e=qD(_.J,d);e=(c=b.find(g=>e.Ac(g)))||e;const f=rD(_.J,d,e);d.active&&a.a.set(_.J,f);c||b.push(e)}IF(a.m)||a.a.set(_.J,null);d=GF(a.m);JF(a,b,d,_.L);JF(a,b,d,_.K);a.h=b}};
|
|
147
|
+
JF=function(a,b,c,d){c=sD(c,d);for(const e of c){let f=qD(d,e);f=(c=b.find(h=>f.Ac(h)))||f;const g=rD(d,e,f);e.active&&a.a.set(d,g);c||b.push(f)}};LF=function(a,b,c){if(b){a.h.length||KF(a);var d=b.type,e=a.a.get(d)||null,f;for(const g of yF(a,d))if(f=g.renditions.find(h=>parseInt(h.id,10)===b.id))break;f&&e!==f&&(CF(a,f),d===_.K?a.m.trigger(new _.C(_.Mk)):d===_.L&&a.m.trigger(new _.C(_.sg,{details:{width:f.width||0,height:f.height||0,bandwidth:f.bandwidth,track:f.track,abrSelection:c}})))}};
|
|
148
|
+
MF=function(a,b,c){if(a.h&&a.a.useCmsd){const d=hB(a.h);null!==d&&(a.g.debug("Using CMSD maxSuggestedBitrateKbps:",d),c=c.filter(e=>e.bandwidth<=1E3*d))}a=c.filter(d=>!(d.video&&d.video.trickPlay));b&&(a=a.filter(d=>gD(d,b,{width:Infinity,height:Infinity})));return a.sort((d,e)=>d.bandwidth-e.bandwidth)};
|
|
149
|
+
NF=function(a){const b=c=>c.video&&c.audio||c.video&&c.video.codecs.includes(",");if(a.some(c=>c.variants.some(b))){_.kh("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)}};
|
|
150
|
+
DF=function(a,b){return _.w(function*(){if(a.we!==b&&(a.we=b,a.F===OF&&(a.K.getTextDisplayer().setTextVisibility(b),!a.configuration.streaming.alwaysStreamText)))if(b){var c=PF(a);c=_.pD(c.textStreams,a.cc,a.Fc,a.bc);0<c.length&&(yield kE(a.a,c[0]))}else lE(a.a)})};EF=function(a,b){if(a.f&&a.a){const c=PF(a),d=c.textStreams.find(e=>e.id===b.id);d?(QF(a,c,d,!1),RF(a,d),a.cc=d.language,a.bc=d.kind===_.Xd):a.log.error(_.mA,b.id)}};
|
|
151
|
+
FF=function(a,b){if(a.configuration.streaming.disableAudioTracks)Promise.reject(Error("Audio tracks are disabled by config."));else{if(a.a&&(a.f||a.B)){var c=jE(a.a),d=iE(a.a),e=yC(a.f.periods,gC(a.B)),f=a.f.periods[e?a.f.periods.indexOf(e):0].variants.filter(h=>h.audio.id===b&&nD(h));e=!1;var g=void 0;if(c){if(g=f.find(h=>h.video.id===c.id),!g){a.log.debug("Cannot find exact variant, looking for anything else that matches with given audioId");e=!0;const h=a.getTrackManager().La();if(h){const k=h.renditions.map(l=>
|
|
152
|
+
l.id);g=f.find(l=>k.find(m=>m===String(l.video.id)))}}}else g=f[0];if(g){if(d.codecs.split(".")[0]===g.audio.codecs.split(".")[0]){d=g.audio;a.Qa=d.id;a.h.setVariants(f);f=PF(a);SF(a,f,g,!1);e||a.V?TF(a,g,!0,0):_.tE(a.a,d,!0,0);Promise.resolve();return}a.log.warn("Target audio codecs not compatible with active audio codecs.")}}Promise.reject()}};GF=function(a){if(a.f&&a.B){const b=UF(a),c=[];for(const d of VF(a))a=lD(d),a.active=d===b,c.push(a);return c}return[]};
|
|
153
|
+
HF=function(a,b,c){var d=void 0===d?0:d;if(a.f&&a.a){const f=PF(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.h.disable();else if(!a.configuration.abr.enabled&&!b){a.log.info("Enable ABR Selection");a.configuration.abr.enabled=!0;a.h.enable();a.R=null;c=WF(a,f.variants);null!=a.ba&&(a.Pa=a.ba,a.ba=null);null==c||a.V||XF(a,c);return}if(b){a.R=b.id;var e=f.variants.find(g=>
|
|
154
|
+
g.id===b.id);e?(a.R=e.video.id,nD(e)?(SF(a,f,e,!1),TF(a,e,c,d),null==a.ba&&(a.ba=a.Pa),a.Pa=new YF(e),WF(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.R=null,null!=a.ba&&(a.Pa=a.ba,a.ba=null),c=WF(a,f.variants),null==c||a.V||XF(a,c)}};IF=function(a){const b=a.we;return a.f?a.K.getTextDisplayer().isTextVisible():b};
|
|
155
|
+
ZF=function(a,b){a.j||(a.o.on(b,_.Vd,()=>{if(a.j.error){var c=a.j.error.code;if(1===c)c=null;else{var d=a.j.error.msExtendedCode;d&&(0>d&&(d+=Math.pow(2,32)),d=d.toString(16));c=new _.G(_.E,3,3016,{code:c,extendedError:d,message:a.j.error.message})}}else c=null;if(c)a.onError(c)}),a.j=b)};aG=function(a){return new _.$F(b=>{const c=a.getTrackManager(),d=[];if(c)for(const e of c.getVideoTracks())d.push(...e.renditions);return d.find(e=>e.id===b.toString())||null})};
|
|
156
|
+
bG=function(a,b){if(a.ia!==b)if(a.ia===_.bo&&b!==_.co)b=rB(b,_.ao),a.log.info(_.nA+`${b}`);else{var c=a.Ae;c=0===c?0:Date.now()-c;var d=a.ia;a.ia=b;a.Ae=Date.now();null!==a.H&&(a.H.A=b===_.fo);a.G&&_.Mn(a.G.a,a.ia);b===_.Yn&&(a.Pf=a.se?1:2);var e=a.Pf,f={currentState:a.ia,previousState:d,timeSinceLastStateChangeMS:c,reason:b===_.Yn||d===_.Yn?e:void 0},g=rB(d,_.ao),h=rB(b,_.ao),k=b!==_.Yn?"":`[${rB(e,_.$n)}]`;a.log.info(`Player state change: ${g} -> `+`${h}${k}`);a.trigger(new _.C(_.Mf,{detail:f}));
|
|
157
|
+
(b===_.Vn||b===_.bo)&&a.Oa&&a.Oa.stop();b===_.Yn?a.trigger(new _.C(_.Wc,{detail:{bufferedTimeMS:-1,reason:e}})):d===_.Yn&&a.trigger(new _.C(_.Sc,{detail:{bufferedTimeMS:c,reason:e}}))}};gG=function(a){return _.w(function*(){cG(a);yield dG(a);eG(a);if(_.ak(4)||_.ak(5)){const b=a.getSurface().getMedia();ZF(a,b);yield fG(a,b)}a.configuration=a.da})};
|
|
158
|
+
hG=function(a){return _.w(function*(){const b=a.l.a;a.l.a=null;b&&(yield b.catch(()=>{}));yield Object.getPrototypeOf(Object.getPrototypeOf(a)).release.call(a);yield a.unload();bG(a,_.co)})};eG=function(a){a.j&&(a.o.off(a.j,_.Vd),a.j=null)};cG=function(a){if(a.F===iG)throw new _.G(_.E,7,7E3,"Player is destroyed.");};jG=function(a){return a.Y?a.Y.catch(()=>{}):Promise.resolve()};
|
|
159
|
+
kG=function(a){const b=new _.Vt;(a=a.playlist)&&a.cropTimeline&&(a.startTime||a.endTime)&&(b.h={start:a.startTime||null,end:a.endTime||null});return b};oG=function(a,b){return _.w(function*(){a.G=new _.Kt;bG(a,_.eo);const c=lG(a,a.configuration);yield fG(a,c);vD(a.l,b);a.J=new mG;PB(a.J,d=>{a.log.info("Timeline cue found",d);nG(a,_.sh,d)},()=>{a.log.info("Timeline cues changed");a.trigger(new _.C(_.Wf))})})};
|
|
160
|
+
rG=function(a,b,c,d,e){return _.w(function*(){var f=_.jo(b)[c];const g=yield pG(a,f);vD(a.l,d);_.Om(LA);f=yield qG(a,g,f,b.id||"");vD(a.l,d);e&&f.presentationTimeline.l&&(yield g.stop(),vD(a.l,d));_.Om("manifest.end");_.Pm("Fetch and parse manifest",LA,"manifest.end");return{parser:g,manifest:f}})};
|
|
161
|
+
vG=function(a,b,c){return _.w(function*(){_.Om("initDrm.start");const d=new _.po({Hb:a.getNetworkEngine(),onError:h=>a.onError(h),qe:h=>{if(a.a){var k=PF(a),l=!1,m=Object.keys(h);0===m.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 n=1===m.length&&"00"===m[0];n&&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.");
|
|
162
|
+
if(m.length){m=a.getPeriods();for(let A=0;A<m.length;A++){const D=m[A];for(var q of D.variants){var u=q;var v=[];u.audio&&v.push(u.audio);u.video&&v.push(u.video);u=v;for(var y of u)u=q.allowedByKeySystem,y.keyId&&(v=h[n?"00":y.keyId],v=!!v&&!sG.includes(v),q.allowedByKeySystem=v),u!==q.allowedByKeySystem&&(v=y.type,y.type===_.t&&(v=`video ${y.width}x${y.height}@`+`${_.yi(y.bandwidth)}`),a.log.warn("DRM Key not available for "+`KID: '${y.keyId}'. Applying restrictions to ${v}`)),D===k&&u!==q.allowedByKeySystem&&
|
|
163
|
+
(l=!0)}}}if(h=gE(a.a)){q=iE(a.a);y=jE(a.a);a:{n=h.variants;for(m=0;m<n.length;m++)if(n[m].audio===q&&n[m].video===y){n=n[m];break a}n=null}if(!n||n.allowedByKeySystem)a.log.info(Vz),tG(a),WF(a,h.variants)}l&&h!==k&&(a.log.info(Vz),tG(a),WF(a,k.variants))}},pe:(h,k)=>{a.trigger(new _.C(_.Ld,{expirationTime:k}))},onEvent:h=>a.xe(h),getConfiguration:()=>a.getConfiguration(),Cc:()=>a.Cc()});var e=_.xl(c);d.h=e;e=c?c.offlineId||"":"";let f=[];const g=_.Vr(b.periods);if(e){const h=_.gl(_.Qe);h&&(yield h.l(a,
|
|
164
|
+
g),f=yield h.j(e))}yield _.kn(d,g,f);a.w=d;uG(a,b.periods);_.Om("initDrm.end");_.Pm("Init DRM","initDrm.start","initDrm.end");return d})};
|
|
165
|
+
IG=function(a,b){return _.w(function*(){const c=a.j;wG(a,c);xG(a,a.f.periods);a.Pa=new yG(a.configuration.preferredAudioLanguage||[],a.configuration.preferredAudioRole,a.configuration.preferredAudioChannelCount,a.configuration.preferSpatialAudio,a.configuration.mediaSource.codecSwitchingStrategy);a.cc=a.configuration.preferredTextLanguage;a.Fc=a.configuration.preferredTextRole;a.bc=a.configuration.preferForcedSubtitles;yield _.An(a.w,c);vD(a.l,b);a.h.configure(a.configuration.abr);a.he&&a.h.setCmsdManager(a.he);
|
|
166
|
+
a.h.init((f,g,h)=>{!a.V&&XF(a,f,g,h)});a.B=zG(a,c,a.configuration.startTime);a.Ra=AG(a);a.H=new BG({nf:()=>c.playbackRate,vh:f=>{c.playbackRate=f},$g:f=>{c.currentTime+=f}});ND(a.H,a.configuration.trickPlay);a.isLive()&&a.configuration.streaming.enableLiveEdgeChasing&&(a.zd=new CG(a));DG(a,Math.max(1E-4,a.configuration.streaming.rebufferingGoal));EG(a)?fD(a.f,_.yh(a.configuration.preferredVideoCodec),_.yh(a.configuration.preferredAudioCodec),a.configuration.preferredAudioChannelCount):eD(a.f,_.yh(a.configuration.preferredVideoCodec),
|
|
167
|
+
_.yh(a.configuration.preferredAudioCodec),a.configuration.preferredAudioChannelCount);var d=FG(a);d.h=a.configuration.streaming;a.a=d;a.F=OF;yield d.start();vD(a.l,b);a.configuration.streaming.startAtSegmentBoundary&&(d=GG(a,gC(a.B)),$B(a.B.f,d));for(var e of a.f.periods)HG(a,e);tG(a);e=PF(a)||a.f.periods[0];d=e.variants.some(f=>f.primary);a.configuration.preferredAudioLanguage||d||a.log.warn("No preferred audio language set. We will choose an arbitrary language initially");WF(a,e.variants)})};
|
|
168
|
+
JG=function(a,b){var c=a.getMediaPosition(),d=a.ec,e=b.periods,f=d.a;d.a=[];var g=null,h=null;for(var k of e)e=k.endTime-k.startTime,k.configurationId===g?h.a+=e:(g=k.configurationId||"",h=new _.Ut(g||"",k.startTime,e,!1),d.a.push(h));d.h&&(h=d.h.start,g=d.h.end,k=d.a[0],null!=h&&k&&h>=k.f&&h<=k.f+k.a&&(e=h-k.f,e<k.a&&(k.f=h,k.a-=e)),h=d.a[d.a.length-1],null!=g&&h&&g>=h.f&&g<=h.f+h.a&&(h.a=g-h.f));iB(d,c);a:if(c=f,d=d.a,c.length!==d.length)d=!1;else{for(f=0;f<c.length;f++)if(!c[f].Ac(d[f])){d=!1;
|
|
169
|
+
break a}d=!0}!d&&a.trigger(new _.C(_.Cf));AB(a.Cd);QB(a.J,b.cues)};LG=function(a,b,c){b=KG(a,b,c);c.catch(()=>{});c.reject(b);a.onError(b);throw b;};MG=function(a,b){return _.w(function*(){const c=yield rG(a,b,0,null,!0);try{const d=[a.f,sF(c.manifest)],e=vF(d,a.f.presentationTimeline);return{parser:c.parser,manifest:e}}catch(d){throw new _.G(_.E,7,7003,"Failed to append load manifest");}})};
|
|
170
|
+
NG=function(a,b){a.configuration.ads.hls.mockCuesFn?(b=a.configuration.ads.hls.mockCuesFn(a),QB(a.J,b)):QB(a.J,b)};OG=function(a,b){return _.w(function*(){if(a.S===_.na)NG(a,b.cues);else if(a.S===_.ub){a.f=wF(a.f,sF(b));const c=a.configuration.playlist.endTime,d=a.f.presentationTimeline.a.a;c&&d>c&&(a.log.info("Reached end of playlist. Turning timeline static."),a.A.requestStop(),a.A=null,_.FB(a.f.presentationTimeline,!0),a.trigger(new _.C(_.me)));JG(a,a.f)}else vE(a.a,b)})};
|
|
171
|
+
PG=function(a){return _.w(function*(){a.A.requestStop();a.A=null;a.S===_.ub?a.trigger(new _.C(_.Bf)):a.trigger(new _.C(_.me))})};
|
|
172
|
+
dG=function(a){return _.w(function*(){a.F!==iG&&(a.F=QG);const b=a.j;b&&(a.o.off(b,_.re),a.o.off(b,_.df),a.o.off(b,_.Pe),a.o.off(b,_.Ud),a.o.off(b,_.sf),a.o.off(b,_.qf));a.J&&(a.J.release(),a.J=null);a.Ra&&(a.Ra.release(),a.Ra=null);a.Oa&&(a.Oa.stop(),a.Oa=null);a.A&&(yield a.A.stop(),a.A=null);a.h&&(yield a.h.stop());a.a&&(yield a.a.destroy(),a.a=null);a.B&&(a.B.release(),a.B=null);a.H&&(a.H.release(),a.H=null);a.K&&(yield a.K.destroy(),a.K=null);a.wb&&(a.wb.release(),a.wb=null);a.zd&&(a.zd.release(),
|
|
173
|
+
a.zd=null);b&&b.src&&(b.removeAttribute("src"),b.load());a.w&&(yield a.w.destroy(),a.w=null);a.M.clear();a.I=null;a.Bd.clear();a.f=null;a.G=null;a.V=!0;a.Ya.clear();a.fc=!1;RG(a)})};fG=function(a,b){return _.w(function*(){const c=window.muxjs?new SG:new _.TG,d=_.Ln(a.configuration,[_.ce,"single-native"]).create(a);a.O=d;const e=aG(a);e.track(a);a.wb=e;let f=null;EG(a)?f=new UG(b,c,d,e,a.configuration):f=new _.VG(b,c,d,e,a.configuration);yield f.open();a.K=f})};
|
|
174
|
+
WG=function(a,b,c){c=void 0===c?!0:c;return _.w(function*(){const d=Date.now()/1E3,e=new _.ln;a.l.a=e;try{cG(a);yield jG(a);vD(a.l,e);a.ea=_.jo(b);a.configuration=_.dl(a.da,b);a.log.info(_.fb,a.configuration);a.log.info(_.yb,a.ea);yield oG(a,e);vD(a.l,e);const f=yield rG(a,b,a.getSourceIndex(),e,!1);vD(a.l,e);a.A=f.parser;a.f=f.manifest;NG(a,f.manifest.cues);a.w=yield vG(a,a.f,a.configuration.drm);vD(a.l,e);c&&(yield IG(a,e),vD(a.l,e),a.o.one(a.j,_.re,()=>{const g=Date.now()/1E3-d;a.G&&(a.G.A=g)}));
|
|
175
|
+
e.resolve()}catch(f){LG(a,f,e)}})};KG=function(a,b,c){var d=a.l;return null!=d.a&&d.a===c||b instanceof _.G&&7E3===b.code?b instanceof _.G?b:new _.G(_.E,7,7003,"Unexpected error.",b):uD(a.l)};lG=function(a,b){const c=a.getSurface().getMedia();c.loop=!!b.loop;_.z(b.volume)||a.setVolume(b.volume);_.z(b.muted)||a.setMuted(b.muted);ZF(a,c);return c};nG=function(a,b,c){a.trigger(new _.C(b,{detail:OB(c,XG(a))}))};
|
|
176
|
+
pG=function(a,b){return _.w(function*(){var c=a.getNetworkEngine();c=yield _.mp(b.url,c,a.configuration.manifest.attemptParameters,b.type||null);c.configure(a.configuration.manifest);return c})};
|
|
177
|
+
qG=function(a,b,c,d){return(new _.so(Promise.resolve().then(()=>_.w(function*(){let e=null;for(;!e;)try{{var f=b,g=c.url;const k=YG(a,d);var h=f.start(g,k)}e=yield h}catch(k){if(a.wc)if(f=yield a.wc(c.url,k))c.url=f;else throw k;else throw k;}if(0===e.periods.length)throw new _.G(_.E,4,4014);NF(e.periods);return e})),()=>{a.log.info("Aborting parser step...");return b.stop()})).W};
|
|
178
|
+
RG=function(a){if(a.G&&a.I&&a.B){var b=ZG(a)===_.Yn,c=a.H;c.l=b;QD(c,c.o?"seek":void 0);a.B.j.o=b;$G(a);a.Cd&&(c=1>Math.abs(a.getMediaDuration()-a.getMediaPosition()),a=a.Cd,b&&c&&(b=a.a,b.a[b.a.length-1]&&a.f(new _.C(_.zf))))}};EG=function(a){return a.configuration.mediaSource.codecSwitchingStrategy===_.Jf&&(_.ak(2)||_.ak(3)||_.ak(4)||_.ak(5)||_.ak(6)||_.dk()&&38===_.ek().major||_.dk()&&53===_.ek().major||_.dk()&&68===_.ek().major?!1:!0)};
|
|
179
|
+
uG=function(a,b){var c=a.a?iE(a.a):null;const d=a.a?jE(a.a):null,e=!EG(a);for(const g of b)kD(a.w,c,d,g,e);c=uB(b,g=>g.variants.some(nD));if(a.configuration.streaming.disableAudioTracks)for(var f of b)for(const g of f.variants)delete g.audio;if(a.configuration.streaming.disableVideoTracks)for(const g of b)for(const h of g.variants)(f=h.video)&&!vB(f.type,_.Qj(f.mimeType,f.codecs))&&delete h.video;if(0===c)throw new _.G(_.E,4,4032);if(c<b.length)throw new _.G(_.E,4,4011);for(const g of b)hD(g.variants,
|
|
180
|
+
a.configuration.restrictions,a.Uf)&&a.a&&PF(a)===g&&tG(a),aH(a,g.variants)};wG=function(a,b){const c=d=>{a.j&&a.I&&(d.type===_.Ef&&a.jc?(a.I.a=bH,RG(a)):d.type===_.wg&&a.getState()===_.go&&.1>a.getBufferInfo().xa(a.getMediaPosition())?(a.I.a=bH,RG(a)):a.I&&cH(a));$G(a)};a.o.on(b,_.df,c);a.o.on(b,_.Pe,c);a.o.on(b,_.Ud,c);a.o.on(b,_.Ef,c);a.o.on(b,_.Df,c);a.o.on(b,_.qf,c);a.o.on(b,_.wg,c);a.o.on(b,_.sf,()=>{if(a.j){var d=a.j.playbackRate;0!==d&&a.H.set(d)}})};
|
|
181
|
+
xG=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.Pe++,originalId:h,createSegmentIndex:Promise.resolve.bind(Promise),findSegmentPosition:()=>null,getSegmentReference:()=>null,initSegmentReference:null,Ba:0,mimeType:_.Ac,codecs:"",kind:_.EA,encrypted:!1,keyId:null,language:g.closedCaptions.get(h),label:null,type:_.F,primary:!1,trickModeVideo:null,
|
|
182
|
+
emsgSchemeIdUris:null,roles:g.roles,channelsCount:null,spatialAudio:!1,closedCaptions:null};e.set(h,k)}}for(const f of e.values())d.textStreams.push(f)}};XF=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=dH(a,b);eH(a,e,()=>SF(a,e,b,!0));e===PF(a)&&fH(a);a.a&&uE(a.a,b,c,d)}};zG=function(a,b,c){return new gH(b,a.f,a.configuration.streaming,c,d=>{a.Ra&&iC(a.Ra,!0,d);a.a&&wE(a.a)},d=>a.dispatchEvent(d),a.S===_.ub)};
|
|
183
|
+
AG=function(a){const b=new hH(a.j);var c=new iH(a.f);JD(c,()=>{tG(a)});b.a.add(c);a.J&&(c=new jH(a.J),kC(c,d=>{d.Fd&&d.Fd();nG(a,_.uh,d)},d=>{d.oe&&d.oe();nG(a,_.vh,d)},(d,e)=>{e||(d.Fd&&d.Fd(),nG(a,_.uh,d),d.oe&&d.oe(),nG(a,_.vh,d))}),b.a.add(c));a.S===_.ub&&(c=new kH(a.ec,a.hc,d=>a.trigger(d),a.configuration.playlist),b.a.add(c),a.Cd=c);return b};DG=function(a,b){a.I=new lH(b,Math.min(.5,b/2));a.I.a=bH;RG(a);a.Oa=(new _.Wj(()=>{cH(a)})).vb(.25)};
|
|
184
|
+
FG=function(a){const b={configuration:{Ug:a.S===_.ub},Lb:()=>gC(a.B),$:a.K,Hb:a.getNetworkEngine(),ne:a.Xf.bind(a),me:a.Wf.bind(a),onError:a.onError.bind(a),zf:a.Yf.bind(a),onEvent:a.xe.bind(a),Df:a.bg.bind(a),Gd:a.Zf.bind(a),ud:()=>a.h,Rd:a.Vf.bind(a),Mf:a.ag.bind(a),Rc:a.w};return new _.mH(a.f,b)};
|
|
185
|
+
GG=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=iE(a.a);var e=jE(a.a);const f=PF(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};
|
|
186
|
+
HG=function(a,b){var c=a.a?iE(a.a):null;const d=a.a?jE(a.a):null,e=!EG(a);kD(a.w,c,d,b,e);c=b.variants;if(!c.some(nD))throw new _.G(_.E,4,4011);aH(a,b.variants);hD(c,a.configuration.restrictions,a.Uf)&&a.a&&PF(a)===b&&tG(a);if(!_.ak(2)&&(b=a.w?a.w.getDrmInfo():null))for(const f of c)for(const g of f.drmInfos)if(g.keySystem===b.keySystem)for(const h of g.initData||[])_.on(a.w,h.keyId,h.initData)||_.qn(a.w,h.initDataType,h.initData,h.keyId)};
|
|
187
|
+
tG=function(a){const b=a.getTrackManager();b&&a.F!==iG&&(b.m&&(KF(b),b.m.trigger(new _.C(_.pt))),fH(a))};PF=function(a){const b=gC(a.B);let c=null;for(const d of a.f.periods)d.startTime<=b&&(c=d);return c};
|
|
188
|
+
WF=function(a,b){try{aH(a,b)}catch(d){return a.onError(d),null}b=b.filter(d=>nD(d));b=tD(b,a.Qa);var c=a.Pa.create(b);c=Array.from(c.values());a.h.setVariants(c);if(null!==a.R&&null!==a.Qa&&(c=c.find(d=>d.video.id===a.R&&d.audio.id===a.Qa),a.R=null,c))return c;if(a.configuration.abr.enabled||null===a.R)return a.h.chooseVariant();b=b.find(d=>null!==d.video&&d.video.id===a.R);return b?b:(a.log.warn("Selected video track not found. Falling back to ABR selection"),a.h.chooseVariant())};
|
|
189
|
+
cH=function(a){switch(a.F){case OF:a:if(a.j.ended||a.K.M())var b=!0;else{if(a.isLive()){b=LB(a.f.presentationTimeline);var c=a.getBufferInfo();if(null!==c&&(c=c.ga(),null!==c&&c>=b)){b=!0;break a}}b=!1}break;default:b=!1}if(a.K){var d=a.K.Z();c=d.video;d=d.audio;var e=a.j.currentTime;c&&d?(c=c.xa(e),d=d.xa(e),c=Math.min(c,d)):c=c?c.xa(e):d?d.xa(e):0}else c=0;if(d=a.I){{d=a.I;var f=b;const g=d.f.get(d.a);e=d.a;c=f||c>=g?nH:bH;d.a=c;d=e!==c}}c=d;d=oH(a);c||a.getState()===_.Yn&&!d?(a.log.debug("Buffering state changed. Is buffering",
|
|
190
|
+
d,"buffered to end",b,"state",a.getState()),RG(a)):a.fc&&$G(a)};$G=function(a){bG(a,ZG(a))};oH=function(a){return a.w&&a.w.B?!0:a.I?a.I.getState()===bH:!1};UF=function(a){const b=PF(a);return b&&eF(a.M,b).variant};VF=function(a){const b=PF(a);if(null==b)return[];pH(a);return b.variants.filter(c=>nD(c))};qH=function(a){const b=PF(a);if(null==b)return[];pH(a);return b.textStreams.filter(c=>!a.Bd.has(c))};
|
|
191
|
+
QF=function(a,b,c,d){fF(a.M,b,c);if(b=a.getTrackManager())LF(b,c,d),c=b.Ka(),a=a.G.B,a.h!==c&&(a.h=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}))};RF=function(a,b){a.V?a.X=b:_.tE(a.a,b,!0,0)};
|
|
192
|
+
SF=function(a,b,c,d){var e=a.getTrackManager();a.A&&a.A.setCurrentVariant(c);if(e){var f=a.G.B;if(c.video){LF(e,c.video,d);var g=e.ma(),h=f;h.j!==g&&(h.j=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&&(LF(e,c.audio,d),e=e.Ta(),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})))}eF(a.M,
|
|
193
|
+
b).variant=c};TF=function(a,b,c,d){c=void 0===c?!1:c;d=void 0===d?0:d;a.V?(a.Z=b,a.Tf=c,a.Sf=d):uE(a.a,b,c,d)};XG=function(a){return a.S===_.ub&&"flat"===a.configuration.playlist.timeline};sH=function(a,b,c){c=void 0===c?!0:c;const d=WF(a,b.variants);a.Qa=d&&d.audio&&d.audio.id;d&&(SF(a,b,d,!0),TF(a,d,c));(c=rH(a,b.textStreams))&&(a.configuration.streaming.alwaysStreamText||IF(a))&&(QF(a,b,c,!0),RF(a,c))};
|
|
194
|
+
aH=function(a,b){a=a.w?_.bh(a.w.V):{};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])?sG.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 _.G(_.E,4,4012,{hasAppRestrictions:e,missingKeys:f,restrictedKeyStatuses:g});};
|
|
195
|
+
pH=function(a){if(a.a&&a.f){var b=gE(a.a),c=PF(a);null!=b&&b===c&&(iE(a.a),jE(a.a),_.hE(a.a,_.F),eF(a.M,c),eF(a.M,c))}};ZG=function(a){if(a.jc)var b=!1;else if(a.j&&a.j.ended)b=!0;else{b=a.getMediaDuration();var c=a.getMediaPosition();b=a.fc&&0<=c&&b<=c?!0:!1}return b?_.Vn:oH(a)||a.jc?_.Yn:a.j&&a.j.paused?_.fo:_.go};rH=function(a,b){return _.pD(b,a.cc,a.Fc,a.bc)[0]||null};
|
|
196
|
+
tH=function(a,b){a.V=!0;a.h.disable();a.log.debug("Choosing new streams after period changed");let c=WF(a,b.variants),d=rH(a,b.textStreams);a.Z&&(b.variants.includes(a.Z)&&(c=a.Z),a.Z=null);a.X&&(b.textStreams.includes(a.X)&&(d=a.X),a.X=null);c&&eH(a,b,()=>SF(a,b,c,!0));d&&(a.configuration.streaming.alwaysStreamText||IF(a))&&eH(a,b,()=>QF(a,b,d,!0));b===PF(a)&&fH(a);return a.configuration.streaming.alwaysStreamText||IF(a)?{variant:c,text:d}:{variant:c,text:null}};
|
|
197
|
+
eH=function(a,b,c){a.Ya.has(b)||a.Ya.set(b,[]);a.Ya.get(b).push(c)};fH=function(a){const b=PF(a);if(b){const c=a.Ya.get(b)||[];for(a.Ya.delete(b);c.length;)c.shift()()}};dH=function(a,b){for(const c of a.f.periods)if(c.variants.includes(b))return c;return null};
|
|
198
|
+
uH=function(a,b,c){return _.w(function*(){let d;try{d=yield _.mp(b.url,a.getNetworkEngine(),a.configuration.manifest.attemptParameters,b.type||null);d.configure(a.configuration.manifest);{var e=d,f=b.url;const D=YG(a,a.configuration.id||"");var g=e.start(f,D)}const h=yield g;NF(h.periods);if(!h.periods.length)throw new _.G(_.E,4,4014);yield a.A.stop();a.A=d;const k=c.audio&&c.audio.id,l=c.video&&c.video.id;a.f.periods=h.periods;const m=yC(h.periods,gC(a.B))||h.periods[0];EG(a)?fD(a.f,_.yh(a.configuration.preferredVideoCodec),
|
|
199
|
+
_.yh(a.configuration.preferredAudioCodec),a.configuration.preferredAudioChannelCount):eD(a.f,_.yh(a.configuration.preferredVideoCodec),_.yh(a.configuration.preferredAudioCodec),a.configuration.preferredAudioChannelCount);const n=pF(k,l,m.variants),q=rH(a,m.textStreams);WF(a,m.variants);const u=n&&n.video,v=n&&n.audio;g=[];const y=new Set;for(const D of m.variants)D.video&&y.add(D.video),D.audio&&y.add(D.audio);const A=a.getNetworkEngine();for(const D of[...y,...m.textStreams])g.push(D.createSegmentIndex(A));
|
|
200
|
+
yield Promise.all(g);BE(a.a,_.p,v);BE(a.a,_.t,u);BE(a.a,_.F,q);n&&SF(a,m,n,!1);a.log.info("Switch CDN successful.")}catch(h){throw d&&(yield d.stop()),h;}})};YG=function(a,b){return{networkingEngine:a.getNetworkEngine(),configurationId:b,filterNewPeriod:c=>HG(a,c),filterAllPeriods:c=>uG(a,c),onEvent:c=>a.xe(c),onError:c=>a.onError(c),onUpdate:c=>OG(a,c),onTurnedStatic:()=>PG(a)}};ZA=[112,115,115,104,0,0,0,0];
|
|
201
|
+
_.vH=class{constructor(a,b,c,d,e){this.Va=a;this.wa=b;this.ka=c;this.keyInfo=d||null;this.yc=_.z(e)?!1:!!e}Uc(){return this.ka?this.ka-this.wa+1:null}f(){return this.keyInfo}};
|
|
202
|
+
_.nC=class{constructor(a,b,c,d,e,f,g,h=null,k=!1,l=null,m=null,n=null,q=null,u=[],v=null){this.position=a;this.startTime=b;this.endTime=c;this.Ba=g;this.Va=d;this.wa=e;this.ka=f;this.keyInfo=h||null;this.yc=_.z(k)?!1:!!k;this.timescale=l;this.horizontalTiles=m;this.verticalTiles=n;this.durationPerTile=q;this.a=u||[];this.h=!1;this.initSegment=v}getPosition(){return this.position}Uc(){return this.ka?this.ka-this.wa+1:null}f(){return this.keyInfo}};
|
|
203
|
+
kH=class{constructor(a,b,c,d){this.a=a;this.h=null;this.j=b;this.f=c;this.o=d;"flat"===d.timeline&&d.cropTimeline&&(a=d.startTime||0,this.j.a=new _.Ut("crop",a,d.endTime?d.endTime-a:Infinity,!1))}release(){this.f=this.j=this.h=this.a=null}l(a){iB(this.a,a);AB(this)}};wH=class{constructor(a){this.a=this.h=0;this.f=a}Mb(){return this.h}getDuration(){return this.f?this.a-this.h:Infinity}};
|
|
204
|
+
_.xH=class{constructor(a,b,c,d,e,f){f=void 0===f?!1:f;this.j=a;this.F=b;this.J=c;this.A=this.f=Infinity;this.h=1;this.G=0;this.o=this.w=null;this.H=0;this.C=this.l=d;this.L=void 0===e?!0:e;this.g=new _.R("clpp.media.PresentationTimeline");this.M=f;this.K=null;this.a=new wH(d);this.I=null;this.B=this.j.type||null}lc(){return this.K}getDuration(){return 2===this.j.version?this.a.getDuration():this.f}getPresentationStartTime(){return this.F}offset(a){null!=this.w&&(this.w+=a);null!=this.o&&(this.o+=
|
|
205
|
+
a)}isLive(){return 2===this.j.version?!this.a.f:Infinity===this.f&&!this.l}Zc(){return!this.l}};mG=class{constructor(){this.f=()=>{};this.h=()=>{};this.a=new Set}release(){this.f=()=>{};this.h=()=>{};this.a.clear()}cues(){return this.a}};aC=class{constructor(a,b){this.h=a;this.l=TB(a);this.a=a.a.currentTime;this.j=Date.now()/1E3;this.o=b;this.f=()=>{}}release(){this.h=null;this.f=()=>{}}};bC=class{constructor(a){this.a=a}};
|
|
206
|
+
yH=class{constructor(a,b,c,d,e){this.a=a;this.G=b;this.l=c;this.F=e;this.h=new _.Fs;this.C=!1;this.I=a.readyState;this.j=!1;this.f=d;this.B=this.o=this.H=this.A=!1;this.h.on(a,_.wg,()=>UB(this));this.w=(new _.Wj(()=>{UB(this)})).vb(.25)}release(){this.h&&(this.h.release(),this.h=null);null!=this.w&&(this.w.stop(),this.w=null);this.f&&(this.f.release(),this.f=null);this.a=this.G=this.F=null;this.o=!1}Gd(){this.A=!0;UB(this)}};
|
|
207
|
+
zH=class{constructor(a,b){this.f=a;this.o=b;this.l=this.h=this.j=0;this.a=new _.Wj(()=>{0>=this.j?(_.B(["Failed to move playhead from",this.h,"to",this.l].join(" ")),this.a.stop()):this.f.currentTime!==this.h?this.a.stop():(this.f.currentTime=this.l,this.j--)})}release(){this.a&&(this.a.stop(),this.a=null);this.f=null}};
|
|
208
|
+
AH=class{constructor(a,b,c,d){this.a=a;this.j=b;this.o=d;this.A=c;this.l=!1;this.f=new _.Fs;this.h=new zH(a,10);this.w=!1;0<a.readyState?XB(this,c):YB(this,c)}release(){this.f&&(this.f.release(),this.f=null);null!=this.h&&(this.h.release(),this.h=null);this.j=()=>{};this.a=null;this.o=()=>{};this.w=!1}};
|
|
209
|
+
gH=class{constructor(a,b,c,d,e,f,g){this.h=a;this.a=b.presentationTimeline;this.B=b.minBufferTime||0;this.l=c;this.A=e;this.w=null;this.j=new yH(a,b.presentationTimeline,c,cC(this,a,c),f);this.f=new AH(a,()=>{a:{var h=this.j;var k=h.B;h.B=!1;h.C=!0;h.A=!1;h.j=!1;h=k;k=ZB(this.f);const l=hC(this,k);if(.001<Math.abs(l-k)){const m=(new Date).getTime()/1E3;if(!this.w||this.w<m-1){this.w=m;$B(this.f,l);h=void 0;break a}}this.g.debug("Seek to "+k);this.A(h?1:0);h=void 0}return h},fC(this,d,g),()=>{this.j.H=
|
|
210
|
+
!0});this.o=(new _.Wj(()=>{if(0!==this.h.readyState&&!this.h.paused){var h=ZB(this.f),k=DB(this.a),l=NB(this.a);3>l-k&&(k=l-3);h<k&&(k=hC(this,h),this.g.info("Jumping forward "+(k-h)+" seconds to catch up with the seek range."),this.h.currentTime=k)}})).vb(.25);this.g=new _.R("clpp.mse.Playhead")}release(){this.f&&(this.f.release(),this.f=null);this.j&&(this.j.release(),this.j=null);this.o&&(this.o.stop(),this.o=null);this.h=this.f=this.a=this.l=null;this.A=()=>{}}};
|
|
211
|
+
hH=class{constructor(a){this.f=a;this.a=new Set;this.h=(new _.Wj(()=>{iC(this,!1)})).vb(.25)}release(){this.h.stop();for(const a of this.a)a.release();this.a.clear()}};
|
|
212
|
+
jH=class{constructor(a){this.j=a;this.o=new Map;this.a=()=>{};this.f=()=>{};this.h=()=>{};this.w=[{tc:null,sc:2,mc:(b,c)=>this.a(b,c)},{tc:1,sc:2,mc:(b,c)=>this.a(b,c)},{tc:3,sc:2,mc:(b,c)=>this.a(b,c)},{tc:2,sc:1,mc:(b,c)=>this.f(b,c)},{tc:2,sc:3,mc:(b,c)=>this.f(b,c)},{tc:1,sc:3,mc:(b,c)=>this.h(b,c)},{tc:3,sc:1,mc:(b,c)=>this.h(b,c)}]}release(){this.j=null;this.o.clear();this.a=()=>{};this.f=()=>{};this.h=()=>{}}l(a,b,c){if(this.j)for(const d of this.j.cues()){const e=this.o.get(d)||null,f=jC(d,
|
|
213
|
+
a);this.o.set(d,f);const g=this.w.find(h=>h.tc===e&&h.sc===f);g&&g.mc(d,b&&0===c)}}};qC=class{constructor(a,b,c){this.h=a;this.a=b;this.f=c;this.g=new _.R("clpp.media.SegmentIterator")}next(){var a=this.h.get(this.a);a&&0<a.a.length?(this.f+=1,a.Va().length&&this.f===a.a.length&&(this.a+=1,this.f=0)):(this.a+=1,this.f=0);a=lC(this);return{value:a,done:!a}}};
|
|
214
|
+
_.BH=class{constructor(a){this.a=a;this.g=new _.R("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.g.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.g.debug("SegmentIndex Ref "+a+" start: "+b.startTime+" end: "+b.endTime+" pos: "+
|
|
215
|
+
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.g.info("Apply offset"+a+" to segment index");for(const b of this.a)b.startTime+=a,b.endTime+=a,b.Ba-=a}h(a,b){a-=this.a[0].position;if(0<=a&&a<this.a.length)for(this.g.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-
|
|
216
|
+
this.a[0].startTime}replace(a){this.a=a}};_.CH=0;_.DH=class{constructor(a){this.h=Math.exp(Math.log(.5)/a);this.f=this.a=0}};
|
|
217
|
+
EH=class{constructor(a,b){this.w=null;this.C=a;this.j=b;this.h=this.A=0;this.l=Infinity;this.f=this.a=null;this.B="";this.o=new Map}destroy(){this.j=this.w=null;this.o.clear();return Promise.resolve()}remove(a,b){return Promise.resolve().then(()=>{!this.j||!this.j.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))})}Ia(){return this.a}ga(){return this.f}Fb(a){return null==this.a||null==this.f?!1:a>=
|
|
218
|
+
this.a&&a<this.f}xa(a){return null==this.f||this.f<a?0:this.f-Math.max(a,this.a)}};
|
|
219
|
+
_.$F=class{constructor(a=null){this.j=a;this.log=new _.R("clpp.renditions");this.U=[];this.h=this.player=null;this.f=!1}track(a){null!=this.player&&KC(this);a&&(this.player=a,this.player.on(_.xf,this.a,this))}release(){KC(this);this.U=[];this.h=this.j=null}append(a,b,c=null){const d=this.j&&null!==c?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.U.find(f=>f.start>=a&&
|
|
220
|
+
f.end<=b);if(e)e.rendition=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.U)a>=f.start&&a<f.end?f.end=a:b>=f.start&&b<f.end&&(f.start=b);this.U.push(c);this.U.sort(IC)}NC(this);this.a();this.player&&this.player.trigger(new _.C(_.rg))}clear(){this.U=[];NC(this);this.player&&(this.player.trigger(new _.C(_.rg)),this.player.trigger(new _.C(_.Nc)))}a(){if(this.player){var a=this.player.getMediaPosition();if(0<=a){a:{var b=this.U.length,
|
|
221
|
+
c=Number.MAX_SAFE_INTEGER;for(var d=0;d<b;d++){const e=this.U[d];c=Math.min(e.start,c);if(e.start<=a&&e.end>a){a=.1>e.end-a&&d<b-1?this.U[d+1].rendition:e.rendition;break a}if(e.start>a)break}a=0<b&&c>a&&.25>c-a?this.U[0].rendition:null}if(a&&this.h!==a&&(this.h=a,this.player)){c=b=-1;if(a)b=a.width||-1,c=a.height||-1;else if(d=this.player.getSurface().getMedia())b=d.videoWidth,c=d.videoHeight;this.player.trigger(new _.C(_.Pc,{detail:{width:b,height:c,bandwidth:a?a.bandwidth:null,rendition:a}}))}}}}};
|
|
222
|
+
SG=class{constructor(){this.a=new muxjs.mp4.CaptionParser;this.l=[];this.j={}}init(a){const b=muxjs.mp4.probe;a=_.I(a);this.l=b.videoTrackIds(a);this.j=b.timescale(a)||{};this.a.init()}h(a,b){a=_.I(a);(a=this.a.parse(a,this.l,this.j))&&a.captions&&b(a.captions);this.a.clearParsedCaptions()}f(){this.a.resetCaptionStream()}};_.TG=class{init(){}h(){}f(){}};var QC;
|
|
223
|
+
_.VG=class{constructor(a,b,c,d,e){this.j=a;this.G=c;this.f={};this.O=!1;this.a=null;this.h={};this.l=new _.Fs;this.J=!1;this.w={};this.I=b;this.F=d;this.R=e;this.Ya=this.R.streaming.maxSegmentToMediaOffset||1;this.K=new _.ln;this.B="";this.H={};this.o=RC(this,this.K);this.S=!0;this.g=new _.R("clpp.mse.MediaSourceEngine")}destroy(){this.J=!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(kB));for(b=1;b<d.length;++b)d[b].p.catch(kB),d[b].p.reject()}this.a&&
|
|
224
|
+
a.push(this.a.destroy());this.G&&a.push(this.G.destroy());for(const c in this.w)this.w[c].destroy(),delete this.w[c];return Promise.all(a).then(()=>{this.l&&(this.l.release(),this.l=null);this.j&&(this.j.removeAttribute("src"),this.j.load(),this.j=null);this.B="";this.G=this.a=this.o=null;this.f={};this.w={};this.H={};this.I=null;this.O=!1;for(const c in this.h);this.h={}})}open(){return this.K}init(a,b,c){c=void 0===c?!1:c;const d=this;return _.w(function*(){yield d.K;a.forEach((e,f)=>{const g=_.Qj(e.mimeType,
|
|
225
|
+
e.codecs);if(f===_.F)d.A(g);else{var h=new Map;h.set(f,g);_.Tr(g)&&b&&!e.keyInfo||!_.Pj(g,f)||!(e=_.Pj(g))||(h=e(),d.w[f]=h,h=h.demuxMimeTypes(f,g),c&&h.delete(_.p));SC(d,h)}})})}Qa(){this.g.debug(sA);Object.values(this.w).forEach(a=>a.reset())}Pa(){return this.R.streaming.ignoreManagedMediaSourceStreamingHints?!0:this.S}A(a){this.a||(this.a=new EH(this.R,this.G));EC(this.a,a)}M(){return this.o?this.o.readyState===_.Ud:!0}Ia(a){return a===_.F?this.a.Ia():(a=TC(this,a))?a.Ia():null}ga(a){return a===
|
|
226
|
+
_.F?this.a.ga():(a=TC(this,a))?a.ga():null}Fb(a,b,c){return a===_.F?this.a.Fb(b):(a=TC(this,a))?a.Fb(b,!1,c):!1}xa(a,b){return a===_.F?this.a.xa(b):(a=TC(this,a))?a.xa(b):0}Z(){const a={};a.total=new _.qt(this.j.buffered,"total");a.audio=TC(this,_.p);a.video=TC(this,_.t);let b=[];this.a&&(b=[{start:this.a.Ia(),end:this.a.ga()}]);a.text=zB(b,_.F);return a}L(a,b,c,d,e,f,g){g=void 0===g?!1:g;const h=this.f[a];let k=-1,l=0;h&&h.buffered&&(l=h.buffered.length);a===_.t&&null!==c&&null!==d&&g&&(k=0<l?h.buffered.end(l-
|
|
227
|
+
1):-1);a===_.F?b=FC(this.a,b,c,d):this.w[a]?(b=this.w[a].transmux(b),b.captions&&0<b.captions.length&&(this.a||this.A(_.Uf),HC(this.a,b.captions,c,d,this.f.video.timestampOffset)),e=[],0<b.audio.byteLength&&this.f.audio&&e.push(WC(this,_.p,this.V.bind(this,_.p,b.audio.buffer))),0<b.video.byteLength&&this.f.video&&e.push(WC(this,_.t,this.V.bind(this,_.t,b.video.buffer))),b=Promise.all(e)):(e&&window.muxjs&&(this.a||this.A(_.Uf),null==c&&null==d?this.I.init(b):this.I.h(b,m=>{m.length&&HC(this.a,m,c,
|
|
228
|
+
d,this.f.video.timestampOffset)})),b=WC(this,a,this.V.bind(this,a,b)));return b.then(()=>{if(a===_.t&&null!==c&&null!==d&&!g)this.F.append(c,d,f),null!==c&&null!==d&&this.g.debug(Rz,c,d,Tz,UC(this,a));else if(a===_.p&&null!==c&&null!==d)LC(this.F),null!==c&&null!==d&&this.g.debug(Qz,c,d,Tz,UC(this,a));else if(a===_.t&&null!==c&&null!==d&&g){var m=h.buffered.length,n=0<m?h.buffered.end(m-1):-1;0>k&&0<m&&(k=h.buffered.start(0));0<=k&&0<n&&this.F.append(k,n,f)}if(!this.H[a]&&h&&1===h.buffered.length){m=
|
|
229
|
+
h.buffered.start(0);const q=c-m;if(Math.abs(q)>this.Ya&&0===h.timestampOffset)return this.g.warn(`Detected a delta of ${q} between `+`media times and segment times for ${a}. `+`The segment start time is ${c} and the media start time `+`is ${m}. Adjusting timestampOffset.`),m=WC(this,a,()=>{this.ia(a,q)}),n=WC(this,a,this.X.bind(this,a,!1)),Promise.all([m,n])}null!==c&&null!==d&&(this.H[a]=!0)}).catch(m=>{throw m;})}Oa(a){const b=this.ga(_.t)||0;GC(this.a,a,b)}ba(){this.a&&GC(this.a,"",0)}remove(a,
|
|
230
|
+
b,c){return a===_.F?this.a.remove(b,c):WC(this,a,this.da.bind(this,a,b,c)).then(()=>{if(a===_.t){const d=this.Ia(a),e=this.ga(a);null!==d&&null!==e&&OC(this.F,d,e)}else a===_.p&&MC(this.F)})}clear(a){if(a===_.F){if(!this.a)return Promise.resolve();this.I.f();return this.a.remove(0,Infinity)}return WC(this,a,this.da.bind(this,a,0,this.o.duration))}flush(a){return a===_.F?Promise.resolve():WC(this,a,this.X.bind(this,a))}Ra(a,b,c,d){const e=this;return _.w(function*(){if(a===_.F){e.a.A=b;var f=e.a;f.h=
|
|
231
|
+
c;f.l=d}else f=XC(e,a,b,c,d),e.O&&(f=f.concat(XC(e,_.p,b,c,d))),yield Promise.all(f)})}endOfStream(a){return ZC(this,()=>{this.M()||(a?this.o.endOfStream(a):this.o.endOfStream())})}Y(a){ZC(this,()=>{this.o.duration=a})}getDuration(){return this.o.duration}V(a,b){this.g.debug(Sz+a+Jz);try{this.f[a].appendBuffer(b)}catch(c){throw this.g.warn(cA+a,c),c;}this.g.debug(Xz+a+Jz)}da(a,b,c){if(c<=b)this.C(a);else{this.g.debug(rA+a+Lz,b,c);try{this.f[a].remove(b,c)}catch(d){throw this.g.warn(eA+a+Kz,b,c,d),
|
|
232
|
+
d;}this.g.debug(Zz+a+Lz,b,c)}}wb(a){try{this.g.debug(Pz+a+Jz);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.g.warn(bA+a+Jz,b),b;}this.g.debug(Wz+a+Jz);this.C(a)}X(a){try{this.j.readyState>HTMLMediaElement.HAVE_NOTHING?(this.g.debug(hA+a),this.j.currentTime-=.001):this.g.warn(wA+a+Mz+this.j.readyState)}catch(b){throw this.g.warn(dA+a,b),b;}this.g.debug(Yz+a);this.C(a)}ia(a,b){0>b&&(b+=
|
|
233
|
+
.001);try{this.g.debug(vA+a,b),this.f[a].timestampOffset=b}catch(c){throw this.g.warn(gA+a,b,c),c;}this.g.debug(aA+a,b);this.C(a)}Kb(a,b,c){try{this.g.debug(tA+a,b,c),this.f[a].appendWindowStart=0,this.f[a].appendWindowEnd=c,this.f[a].appendWindowStart=b}catch(d){throw this.g.warn(fA+a,b,c,d),d;}this.g.debug($z+a,b,c);this.C(a)}T(a){this.h[a][0].p.reject(new _.G(_.E,3,3014,{mediaError:this.j.error?this.j.error.code:0}))}C(a){const b=this.h[a][0];b&&(b.p.resolve(),this.g.debug(yA+a),YC(this,a))}getTextDisplayer(){return this.G}};
|
|
234
|
+
QC=window.URL.createObjectURL;var FH=class{constructor(){this.a=null}};var UG=class{constructor(a,b,c,d,e){this.j=a;this.G=c;this.a={};this.H={};this.S=!1;this.f=null;this.h={};this.l=new _.Fs;this.O=!1;this.w={};this.J=b;this.F=d;this.K=e;this.Ya=this.K.streaming.maxSegmentToMediaOffset||1;this.R=new _.ln;this.B="";this.I={};this.o=xD(this,this.R);this.V=!0;this.g=new _.R("clpp.mse.MediaSourceEngineSmooth")}destroy(){this.O=!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(kB));for(b=1;b<d.length;++b)d[b].p.catch(kB),
|
|
235
|
+
d[b].p.reject()}this.f&&a.push(this.f.destroy());this.G&&a.push(this.G.destroy());for(const c in this.w)this.w[c].destroy(),delete this.w[c];return Promise.all(a).then(()=>{this.l&&(this.l.release(),this.l=null);this.j&&(this.j.removeAttribute("src"),this.j.load(),this.j=null);this.B="";this.G=this.f=this.o=null;this.a={};this.w={};this.I={};this.J=null;this.S=!1;for(const c in this.h);this.h={}})}open(){return this.R}init(a,b,c){c=void 0===c?!1:c;const d=this;return _.w(function*(){yield d.R;a.forEach((e,
|
|
236
|
+
f)=>{const g=_.Qj(e.mimeType,e.codecs);if(f===_.F)d.A(g);else{var h=new Map;h.set(f,g);_.Tr(g)&&b&&!e.keyInfo||!_.Pj(g,f)||!(e=_.Pj(g))||(h=e(),d.w[f]=h,h=h.demuxMimeTypes(f,g),c&&h.delete(_.p));yD(d,h)}d.h[f]=[]})})}Qa(){this.g.debug(sA);Object.values(this.w).forEach(a=>a.reset())}Pa(){return this.K.streaming.ignoreManagedMediaSourceStreamingHints?!0:this.V}A(a){this.f||(this.f=new EH(this.K,this.G));EC(this.f,a)}M(){return this.o?this.o.readyState===_.Ud:!0}Ia(a){return a===_.F?this.f.Ia():(a=zD(this,
|
|
237
|
+
a))?a.Ia():null}ga(a){return a===_.F?this.f.ga():(a=zD(this,a))?a.ga():null}Fb(a,b,c){return a===_.F?this.f.Fb(b):(a=zD(this,a))?a.Fb(b,!1,c):!1}xa(a,b){return a===_.F?this.f.xa(b):(a=zD(this,a))?a.xa(b):0}Z(){const a={};a.total=new _.qt(this.j.buffered,"total");a.audio=zD(this,_.p);a.video=zD(this,_.t);let b=[];this.f&&(b=[{start:this.f.Ia(),end:this.f.ga()}]);a.text=zB(b,_.F);return a}L(a,b,c,d,e,f,g){g=void 0===g?!1:g;const h=this.a[a];let k=-1,l=0;h&&h.buffered&&(l=h.buffered.length);a===_.t&&
|
|
238
|
+
null!==c&&null!==d&&g&&(k=0<l?h.buffered.end(l-1):-1);a===_.F?b=FC(this.f,b,c,d):this.w[a]?(b=this.w[a].transmux(b),b.captions&&0<b.captions.length&&(this.f||this.A(_.Uf),HC(this.f,b.captions,c,d,this.a.video.timestampOffset)),e=[],0<b.audio.byteLength&&this.a.audio&&e.push(CD(this,_.p,this.X.bind(this,_.p,b.audio.buffer))),0<b.video.byteLength&&this.a.video&&e.push(CD(this,_.t,this.X.bind(this,_.t,b.video.buffer))),b=Promise.all(e)):(e&&window.muxjs&&(this.f||this.A(_.Uf),null==c&&null==d?this.J.init(b):
|
|
239
|
+
this.J.h(b,m=>{m.length&&HC(this.f,m,c,d,this.a.video.timestampOffset)})),b=CD(this,a,this.X.bind(this,a,b)));return b.then(()=>{if(a===_.t&&null!==c&&null!==d&&!g)this.F.append(c,d,f),null!==c&&null!==d&&this.g.debug(Rz,c,d,Tz,AD(this,a));else if(a===_.p&&null!==c&&null!==d)LC(this.F),null!==c&&null!==d&&this.g.debug(Qz,c,d,Tz,AD(this,a));else if(a===_.t&&null!==c&&null!==d&&g){var m=h.buffered.length,n=0<m?h.buffered.end(m-1):-1;0>k&&0<m&&(k=h.buffered.start(0));0<=k&&0<n&&this.F.append(k,n,f)}if(!this.I[a]&&
|
|
240
|
+
h&&1===h.buffered.length){m=h.buffered.start(0);const q=c-m;if(Math.abs(q)>this.Ya&&0===h.timestampOffset)return this.g.warn(`Detected a delta of ${q} between `+`media times and segment times for ${a}. `+`The segment start time is ${c} and the media start time `+`is ${m}. Adjusting timestampOffset.`),m=CD(this,a,()=>{DD(this,a,q)}),n=CD(this,a,this.da.bind(this,a,!1)),Promise.all([m,n])}null!==c&&null!==d&&(this.I[a]=!0)}).catch(m=>{throw m;})}Oa(a){const b=this.ga(_.t)||0;GC(this.f,a,b)}ba(){this.f&&
|
|
241
|
+
GC(this.f,"",0)}remove(a,b,c){return a===_.F?this.f.remove(b,c):CD(this,a,this.ia.bind(this,a,b,c)).then(()=>{if(a===_.t){const d=this.Ia(a),e=this.ga(a);null!==d&&null!==e&&OC(this.F,d,e)}else a===_.p&&MC(this.F)})}clear(a){if(a===_.F){if(!this.f)return Promise.resolve();this.J.f();return this.f.remove(0,Infinity)}return CD(this,a,this.ia.bind(this,a,0,this.o.duration))}flush(a){return a===_.F?Promise.resolve():CD(this,a,this.da.bind(this,a))}Ra(a,b,c,d,e,f){const g=this;return _.w(function*(){if(a===
|
|
242
|
+
_.F){g.f.A=b;var h=g.f;h.h=c;h.l=d}else{h=yield FD(g,a,e,f);var k=GD(g,a,b,c,d,h);g.S&&(k=k.concat(GD(g,_.p,b,c,d,h)));yield Promise.all(k)}})}endOfStream(a){return ID(this,()=>{this.M()||(a?this.o.endOfStream(a):this.o.endOfStream())})}Y(a){ID(this,()=>{this.o.duration=a})}getDuration(){return this.o.duration}X(a,b){this.g.debug(Sz+a+Jz);try{this.a[a].appendBuffer(b)}catch(c){throw this.g.warn(cA+a,c),c;}this.g.debug(Xz+a+Jz)}ia(a,b,c){if(c<=b)this.C(a);else{this.g.debug(rA+a+Lz,b,c);try{this.a[a].remove(b,
|
|
243
|
+
c)}catch(d){throw this.g.warn(eA+a+Kz,b,c,d),d;}this.g.debug(Zz+a+Lz,b,c)}}da(a){try{this.j.readyState>HTMLMediaElement.HAVE_NOTHING?(this.g.debug(hA+a),this.j.currentTime-=.001):this.g.warn(wA+a+Mz+this.j.readyState)}catch(b){throw this.g.warn(dA+a,b),b;}this.g.debug(Yz+a);this.C(a)}T(a){this.h[a][0].p.reject(new _.G(_.E,3,3014,{mediaError:this.j.error?this.j.error.code:0}))}C(a){const b=this.h[a][0];b&&(b.p.resolve(),this.g.debug(yA+a),HD(this,a))}getTextDisplayer(){return this.G}},wD=window.URL.createObjectURL;var lH=class{constructor(a,b){this.a=nH;this.f=(new Map).set(nH,b).set(bH,a)}getState(){return this.a}},bH=0,nH=1;var iH=class{constructor(a){this.h=a;this.a=null;this.f=()=>{}}release(){this.a=this.h=null;this.f=()=>{}}l(a){const b=this.a;{const c=this.h.periods;a=yC(c,a)||c[0]}b!==a&&this.f(a);this.a=a}};var GH=class{constructor(a,b){this.f=a;this.a=new Set([a]);b=b||[];for(const c of b)this.add(c)}add(a,b){b=void 0===b?!0:b;if(MD(this.f,a,void 0===b?!0:b))return this.a.add(a),!0;_.B("Dropping variant due to incompatible codecs for the current adaptation set. This may be because CodecSwitchingStrategy is set to PREVENT or SourceBuffer.changeType() is not available on this platform. Variant dropped:",a,"because it is not compatible with",this.f);return!1}values(){return this.a.values()}};var BG=class{constructor(a){this.f=a;this.o=this.A=this.l=!1;this.h=this.f.nf();this.w=_.Cd;this.j=null;this.a=new _.Wj(()=>{this.A||this.f.$g(.25*this.h)});this.g=new _.R("clpp.mse.media.PlayRateController")}getConfiguration(){return this.j}release(){this.a&&(this.a.stop(),this.a=null);this.f=null}set(a,b){this.h=a;QD(this,b)}};var TD=new _.Lt(()=>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]));_.mH=class{constructor(a,b){this.D=b;this.j=a;XD(a);this.h=null;this.l=1;this.F=Promise.resolve();this.A=new Map;this.w=new Map;this.a=new Map;this.H=this.f=this.o=this.B=!1;this.G=0;this.g=new _.R("clpp.mse.Streaming");this.C=!1}destroy(){const a=this;return _.w(function*(){const b=[];for(const c of a.a.values())YD(c),b.push(ZD(c));yield Promise.all(b);a.a.clear();a.w.clear();a.D=null;a.j=null;a.F=null;a.A.clear();a.h=null;a.f=!0})}start(){const a=this;return _.w(function*(){const b=a.D.Lb();var c=
|
|
244
|
+
yC(a.j.periods,b+_.Ls);if(!c)throw new _.G(_.E,5,5006,"No period found.");c=a.D.ne(c);if(!c.variant&&!c.text)throw a.g.error("start(): No streams chosen"),new _.G(_.E,5,5005,"No streams chosen.");a.C=!c.variant&&!!c.text;yield eE(a,c.variant?c.variant.audio:null,c.variant?c.variant.video:null,c.text,b);a.f||(a.g.debug("init: completed initial Stream setup"),a.D&&a.D.ah&&(a.g.debug("init: calling onInitialStreamsSetup()..."),a.D.ah()))})}resume(){if(!yE(this))for(const a of this.a.values())a.endOfStream=
|
|
245
|
+
!1,dE(this,a,0)}Pb(a){const b=this;return _.w(function*(){if(!b.f){var c=VD(a);if(!a.qb&&null!=a.eb&&!a.dc)if(a.eb=null,a.Ub)b.g.debug(c,"skipping update and clearing the buffer"),yield sE(b,a,a.Nd,a.pd);else{try{const d=PE(b,a);null!=d&&(dE(b,a,d),a.Ec=!1)}catch(d){yield QE(b,d);return}RE(b,a);if(zE(b))if(b.D.configuration.Ug){b.g.debug("End of stream reached, keeping MediaSource open.");for(const d of b.a.values())d.eb=null}else b.g.debug("End of stream reached, calling ms.endOfStream()."),yield b.D.$.endOfStream(),
|
|
246
|
+
b.f||(c=b.D.$.getDuration(),c<b.j.presentationTimeline.getDuration()&&(b.j.presentationTimeline.f=c),b.D.zf())}}})}I(a,b,c,d){const e=YA(d.reader),f=YA(d.reader),g=_.O(d.reader),h=_.O(d.reader),k=_.O(d.reader),l=_.O(d.reader);d=_.Jl(d.reader,d.reader.Ja()-d.reader.getPosition());a=a.startTime+b.startTime+h/g;c.includes(e)&&("urn:mpeg:dash:event:2012"===e?this.D.Df():(c=new _.C("emsg",{detail:{startTime:a,endTime:a+k/g,schemeIdUri:e,value:f,timescale:g,presentationTimeDelta:h,eventDuration:k,id:l,
|
|
247
|
+
messageData:d}}),this.D.onEvent(c)))}J(a){let b=!1,c=0;(new _.Tl).N(_.Be,_.Ml).N(_.Yf,_.Ml).N(_.we,_.Ml).N(_.Ae,_.Ml).N(_.Of,_.Ml).ca(_.Qf,_.Nl).N("encv",d=>{d.reader.skip(78);_.Ml(d)}).N("pasp",d=>{c=d.start+d.headerSize;const e=_.O(d.reader),f=_.O(d.reader);b=e!==f;this.g.debug(`hSpacing=${e}, vSpacing=${f}, updatePASP=${b}`);d.parser.stop()}).parse(a.data);b&&(a=new _.Vl(new DataView(a.data)),a.seek(c),_.N(a,1),_.N(a,1))}};var HH=class{constructor(){this.a=new Map}clear(){this.a.clear()}},dF=class{constructor(){this.text=this.variant=null}};var CG=class{constructor(a){this.D=a;this.a=a.getConfiguration().streaming;this.f=new _.Fs;this.g=new _.R("clpp.mse.media.LiveEdgeObserver");gF(this)&&(a=this.D.getSurface().getMedia(),this.f.on(a,_.Xf,()=>{{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.g.debug("Too far from edge, jump to beginning."),this.D.setPlaybackRate(1),this.D.seek(c)):1===d&&b>=this.a.startChasingAt?(this.g.debug("Not on live edge, increase playback rate."),
|
|
248
|
+
this.D.setPlaybackRate(this.a.chasingRate,_.Cd)):1<d&&b<=e&&(this.g.debug("On live edge, reduce playback rate."),this.D.setPlaybackRate(1))}}))}release(){this.f.release()}};var YF=class{constructor(a,b){b=void 0===b?_.of:b;this.f=a;this.a=b;this.h=new yG(a.language,"",a.audio&&a.audio.channelsCount?a.audio.channelsCount:0,!1,b)}create(a){const b=this.a===_.Jf&&vC(),c=a.filter(d=>MD(this.f,d,!b));return c.length?new GH(c[0],c):this.h.create(a)}},yG=class{constructor(a,b,c,d,e){this.j=_.yh(a);this.a=b;this.f=c;this.l=void 0===d?!1:d;this.h=void 0===e?_.of:e}create(a){var b=hF(a,this.j);0<b.length&&(a=b);b=!1;if(this.a){var c=iF(a,this.a);0<c.length?(a=c,b=!0):_.B("No exact match for preferred variant role could be "+
|
|
249
|
+
`found. Role: ${this.a}`)}b||(b=a.filter(d=>d.primary),0<b.length&&(a=b));this.f&&(b=aD(a,this.f),b.length?a=b:_.B("No exact match for the channel count could be found."));b=jF(a,this.l);b.length?a=b:_.B("No exact match for spatial audio could be found.");b=this.h===_.Jf&&vC();c=new GH(a[0]);for(const d of a)c.add(d,!b);return c}};_.tp(function(){_.kh("MediaSource.install");if(window.MediaSource)if(window.cast&&cast.__platform__&&cast.__platform__.canDisplayType)_.jh("Patching Chromecast MSE bugs."),kF();else if(_.kk()){var a=navigator.appVersion;a=0<=a.indexOf("Version")?parseInt(a.match(/Version\/(\d+)/)[1],10):13;lF();10>=a?(_.jh("Blacklisting MSE on Safari \x3c\x3d 10."),window.MediaSource=null):12>=a?(_.jh("Patching Safari 11 \x26 12 MSE bugs."),mF(),nF()):(_.jh("Patching Safari 13 MSE bugs."),mF())}else _.ak(2)||_.ak(3)||
|
|
250
|
+
_.ak(4)?oF():_.jh("Using native MSE as-is.");else _.jh("No MSE implementation available.")});var IH=class{constructor(){this.a=null}};var JH=class extends _.Cu{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=_.Ed;c.label===oA&&(this.a=c)}this.a||(this.a=a.addTextTrack(_.VA,oA));this.a.mode=_.ae}append(a){const b=[],c=d=>{if(d.startTime>=d.endTime)_.B("Invalid cue times: "+d.startTime+" - "+d.endTime),d=null;else{var e=d.payload||"";e=e.replace(/<br\s*\/?>/igm,"\n");e=_.Ai(e);e=new VTTCue(d.startTime,d.endTime,e);e.line=-1;try{e.align=_.cd}catch(f){e.align=
|
|
251
|
+
"middle"}d.writingMode===_.kg?e.vertical="lr":d.writingMode===_.lg&&(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;xF(this.a,c=>c.startTime<b&&c.endTime>a);return!0}isTextVisible(){return this.a.mode===_.Ff}setTextVisibility(a){null!==this.a&&(this.a.mode=a?_.Ff:_.ae)}destroy(){this.a&&
|
|
252
|
+
xF(this.a,()=>!0);this.a=null;return Promise.resolve()}};_.Kn("single-native",new class{a(){return!0}create(a){return new JH(a)}});var V=class extends _.S{constructor(){super();this.g=new _.R("cl.api.mse.TrackManager");this.m=null;this.h=[];this.a=new Map;this.f=new Map}initialize(a){this.m=a}release(){this.h=[];this.a.clear();this.f.clear()}load(){}destroy(){this.release();this.m=null}getVideoTracks(){return yF(this,_.L)}getAudioTracks(){return yF(this,_.K)}ha(){return yF(this,_.J)}ma(){return this.a.get(_.L)||null}Ta(){return this.a.get(_.K)||null}Ka(){return this.a.get(_.J)||null}jb(){return this.f.get(_.L)||null}zb(){return this.f.get(_.K)||
|
|
253
|
+
null}Ab(){return this.f.get(_.J)||null}La(){return zF(this,_.L)}la(){return zF(this,_.K)}ta(){return zF(this,_.J)}ub(a){BF(this,_.L,a)}va(a){BF(this,_.K,a)}Na(a){BF(this,_.J,a)}ab(a,b){AF(this,_.L,a,void 0===b?!1:b)}sb(a,b){AF(this,_.K,a,void 0===b?!1:b)}tb(a,b){b=void 0===b?!1:b;let c=a;if(!a){const d=this.Ka();if(d&&d.track.kind!==_.Xd){a=this.ha().find(e=>e.kind===_.Xd&&e.language===d.track.language);if(!a){const e=this.la();e&&(a=this.ha().find(f=>f.kind===_.Xd&&f.language===e.language))}a&&(c=
|
|
254
|
+
a.renditions[0])}}AF(this,_.J,c,b)}addTextTrack(a){const b=this;return _.w(function*(){b.m&&(yield b.m.addTextTrack(a.url,a.language,a.kind,a.mimeType,a.codec,a.label))})}pa(){return!!this.m&&this.m.pa()}};V.prototype.isAbrEnabled=V.prototype.pa;V.prototype.addTextTrack=V.prototype.addTextTrack;V.prototype.setTextRendition=V.prototype.tb;V.prototype.setAudioRendition=V.prototype.sb;V.prototype.setVideoRendition=V.prototype.ab;V.prototype.setTextTrack=V.prototype.Na;V.prototype.setAudioTrack=V.prototype.va;
|
|
255
|
+
V.prototype.setVideoTrack=V.prototype.ub;V.prototype.getTextTrack=V.prototype.ta;V.prototype.getAudioTrack=V.prototype.la;V.prototype.getVideoTrack=V.prototype.La;V.prototype.getLoadingTextRendition=V.prototype.Ab;V.prototype.getLoadingAudioRendition=V.prototype.zb;V.prototype.getLoadingVideoRendition=V.prototype.jb;V.prototype.getTextRendition=V.prototype.Ka;V.prototype.getAudioRendition=V.prototype.Ta;V.prototype.getVideoRendition=V.prototype.ma;V.prototype.getTextTracks=V.prototype.ha;
|
|
256
|
+
V.prototype.getAudioTracks=V.prototype.getAudioTracks;V.prototype.getVideoTracks=V.prototype.getVideoTracks;var KH=class{constructor(){this.f=new _.DH(2);this.h=new _.DH(5);this.a=0}};_.LH=class{constructor(){this.g=new _.R("clpp.abr");this.A=null;this.j=!1;this.w=new KH;this.o=[];this.l=1;this.C=this.B=!1;this.h=this.a=this.f=null}stop(){this.A=null;this.j=!1;this.o=[];this.l=1;this.f=null;this.C=!1}init(a){this.A=a}chooseVariant(){var a=MF(this,!this.C&&this.a.initialRestrictions?this.a.initialRestrictions:this.a.restrictions,this.o),b=this.getBandwidthEstimate();this.o.length&&!a.length&&(this.g.warn("No variants met the ABR restrictions. Choosing a variant by lowest bandwidth."),
|
|
257
|
+
a=MF(this,null,this.o),a=[a[0]]);this.f=Date.now();this.C=!0;{let d=a[0]||null;for(let e=0;e<a.length;e++){const f=a[e];var c=a[e+1];const g=isNaN(this.l)||0===this.l?1:Math.abs(this.l),h=g*f.bandwidth,k=h/this.a.bandwidthDowngradeTarget;c=g*(c?c.bandwidth:Infinity)/this.a.bandwidthUpgradeTarget;this.g.debug("Bandwidth ranges:",(h/1E6).toFixed(3),(k/1E6).toFixed(3),(c/1E6).toFixed(3));b>=k&&b<=c&&(d=f)}b=d}return b}enable(){this.j=!0}disable(){this.j=!1}segmentDownloaded(a,b){this.g.debug("Segment downloaded:",
|
|
258
|
+
"deltaTimeMs\x3d"+a,"numBytes\x3d"+b,"lastTimeChosenMs\x3d"+this.f,"enabled\x3d"+this.j);var c=this.w;if(!(16E3>b)){var d=8E3*b/a;a/=1E3;c.a+=b;_.wC(c.f,a,d);_.wC(c.h,a,d)}if(null!=this.f&&this.j)a:{this.g.debug("Suggesting Streams...");if(!this.B){if(!(128E3<=this.w.a)){this.g.debug("Still waiting for a good estimate...");break a}this.B=!0;if(this.a.useSwitchIntervalForInitialSwitch&&Date.now()-this.f<1E3*this.a.switchInterval){this.g.debug("Skipping initial estimation switch due to switch interval...");
|
|
259
|
+
break a}}else if(Date.now()-this.f<1E3*this.a.switchInterval){this.g.debug("Still within switch interval...");break a}b=this.chooseVariant();c=this.getBandwidthEstimate();this.g.debug("Calling switch_(), bandwidth\x3d"+Math.round(c/1E3)+" kbps");b&&this.A(b)}}playbackRateChanged(a){this.l=a}getBandwidthEstimate(){if(this.h&&this.a.useCmsd){var a=gB(this.h,_.Wd);a=null==a?null:a;if(null!==a)return this.g.debug("Using CMSD estimatedThroughputKbps:",a),1E3*a}a=this.w;return 128E3>a.a?this.a.defaultBandwidthEstimate:
|
|
260
|
+
Math.min(_.xC(a.f),_.xC(a.h))}setVariants(a){this.o=a}setCmsdManager(a){this.h=a}configure(a){this.a=a}reset(){this.B=!1;this.w=new KH;const a=this.chooseVariant();a&&this.A(a)}};var MH=class extends _.ut{constructor(){super(FA);this.F=QG;this.j=this.Y=null;this.Ae=0;this.Pf=2;this.wb=null;this.we=!1;this.o=new _.Fs;this.Oa=this.Ie=this.zd=this.H=this.Ra=this.B=this.K=this.w=null;this.fc=!1;this.f=this.A=this.a=this.J=this.I=null;this.h=new _.LH;this.Pe=1E9;this.Bd=new Set;this.V=!0;this.Z=null;this.Tf=!1;this.Sf=0;this.X=null;this.M=new HH;this.Uf={width:Infinity,height:Infinity};this.G=null;this.ia=_.co;this.Pa=new yG(this.configuration.preferredAudioLanguage||[],this.configuration.preferredAudioRole,
|
|
261
|
+
this.configuration.preferredAudioChannelCount,this.configuration.preferSpatialAudio,this.configuration.mediaSource.codecSwitchingStrategy);this.cc=this.configuration.preferredTextLanguage;this.l=new FH;this.R=this.Qa=null;this.Ya=new Map;this.ba=null;this.Fc=this.configuration.preferredTextRole;this.bc=this.configuration.preferForcedSubtitles;this.o.on(window,"online",()=>{this.F===OF&&xE(this.a)});this.Cd=this.ec=this.Dd=null;this.S=_.na;this.hc=new IH}init(a,b){const c=a.getMedia();super.init(a,
|
|
262
|
+
b);ZF(this,c)}namespace(){return FA}setSeekInterceptor(a){this.Ie=a||null}Rf(){return new V}getState(){return this.ia}getDrmInfo(){return this.w?this.w.getDrmInfo():null}unload(){const a=this;return _.w(function*(){DF(a,!1);a.fc=!1;if(a.ea){a.log.debug("Unload player with source",a.ea);var b=a.getTrackManager();b&&b.release();a.F!==iG&&(yield gG(a),a.ea=null,a.Ae=0,a.Qa=null,a.R=null)}})}release(){const a=this;return _.w(function*(){if(a.Y)return a.Y;a.Y=hG(a);a.Y.finally(()=>{a.Y=null});return a.Y})}getBufferInfo(a){if(this.K){var b=
|
|
263
|
+
this.K.Z();const c=new _.qt(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.wb?(b=JC(this.wb),zB(b,a)):super.getBufferInfo(a)}getPosition(){var a=this.hc,b=this.getMediaPosition();a.a&&(a=a.a,b-=a.f,b=0>b?0:b>a.a?a.a:b);return b}getMediaPosition(){return this.B?gC(this.B):super.getMediaPosition()}seek(a){if(this.Ie&&!this.Ie(a))return Promise.resolve();var b=this.hc;b=b.a?a+b.a.Mb():a;b!==
|
|
264
|
+
a&&this.log.info(`Seeking to ${a} s corresponding to `+`media time of ${b} s.`);return super.seek(b)}getPresentationStartTime(){return this.f?this.f.presentationTimeline.getPresentationStartTime():null}getDuration(){var a=this.hc,b=this.getMediaDuration();return a.a?a.a.getDuration():b}getMediaDuration(){return this.f?this.f.presentationTimeline.getDuration():Infinity}destroy(){const a=this,b=()=>Object.getPrototypeOf(Object.getPrototypeOf(this)).destroy;return _.w(function*(){yield b().call(a);a.F!==
|
|
265
|
+
iG&&(a.log.debug("Destroying player..."),a.F=iG,eG(a),a.o&&(a.o.release(),a.o=null),a.ec=null,a.h=null)})}getTimeline(){return this.ec}setupPlaylist(a){const b=this;return _.w(function*(){const c=new _.ln;b.l.a=c;try{cG(b);b.S=_.ub;yield jG(b);vD(b.l,c);const d=a[0];d.playlist&&d.playlist.startTime&&(d.startTime=d.playlist.startTime);b.ea=_.jo(d);b.configuration=_.dl(b.da,d);b.log.info("Loading playlist configurations",a);b.ec=kG(b.configuration);yield oG(b,c);vD(b.l,c);const e=a.map(n=>rG(b,n,0,
|
|
266
|
+
null,!0)),f=yield Promise.all(e),g=f.filter(n=>n.manifest.presentationTimeline.isLive()),h=g[0];h&&(b.A=h.parser);if(1<g.length)throw new _.G(_.E,7,7003,"Playlist of multiple live streams is not supported.");if(h){const n=b.configuration.playlist.content;if(n===_.Ub)throw new _.G(_.E,7,7003,"Cannot play live content in VOD mode.");if("IPR"===n&&h!==f[f.length-1])throw new _.G(_.E,7,7003,"Wrong order of playlist assets.");}const k=new _.xH({version:2},null,0,null==h),l=f.map(n=>sF(n.manifest)),m=vF(l,
|
|
267
|
+
k);b.f=m;b.w=yield vG(b,m,b.configuration.drm);vD(b.l,c);yield IG(b,c);vD(b.l,c);vE(b.a,m);JG(b,m);c.resolve()}catch(d){b.A&&(yield b.A.stop(),b.A=null),LG(b,d,c)}})}appendLoad(a){const b=this;return _.w(function*(){cG(b);if(b.S!==_.ub)throw new _.G(_.E,7,7003,"Cannot append-load to non-playlist player.");const c=yield MG(b,a);b.f=c.manifest;b.A=c.parser;vE(b.a,c.manifest);zE(b.a)&&b.a.resume();JG(b,c.manifest)})}seekWith(a){return this.seek(this.getPosition()+a)}Qf(){const a=this;return _.w(function*(){cG(a);
|
|
268
|
+
a.Dd?(a.log.info("Loading preloaded asset",a.Dd),a.Dd=null,yield IG(a,null)):a.log.warn("No preloaded asset found")})}preload(a){const b=this;return _.w(function*(){cG(b);_.Om("preload.start");b.log.info("Preloading asset",a);yield WG(b,a,!1);b.Dd=a;b.log.info("Preloaded asset",a);_.Om("preload.end");_.Pm("preload","preload.start","preload.end")})}load(a){return WG(this,a)}detach(){const a=this;return _.w(function*(){yield dG(a);a.configuration=a.da;eG(a)})}isLive(){var a;this.f?(a=this.f.presentationTimeline.isLive())||
|
|
269
|
+
(a=this.f.presentationTimeline,a=Infinity!==a.f&&!a.l):a=!1;return a}Qe(){this.log.debug("User seeking finished");this.I&&cH(this);$G(this)}getSeekRange(){var a={start:0,end:0};if(this.f){var b=this.f.presentationTimeline;a={start:DB(b),end:NB(b)}}b=this.hc;b.a?(b=b.a.getDuration(),b>a.end&&(b=a.end),b={start:0,end:b}):b=a;return b}lc(){return this.f?this.f.presentationTimeline.lc():null}getPlaybackRate(){if(this.H){var a=this.H;a=a.l?0:a.h}else a=0;return a}setPlaybackRate(a,b){if(0===a)this.log.warn("A trick play rate of 0 is unsupported!");
|
|
270
|
+
else if(this.F===OF){if(_.ak()){this.log.warn("Pausing and unpausing to mitigate playbackRate platform issue.");var c=this.getSurface().getMedia();c.pause();this.H.set(a,b);c.play()}else this.H.set(a,b);if((b=this.H.getConfiguration())&&b.preferTrickPlayTracks){b=this.a;var d=1<Math.abs(a);if(c=b.a.get(_.t)){var e=c.stream;if(e)if(b.g.debug("setTrickPlay",d),d)(d=e.trickModeVideo)&&!c.Zb&&(b.g.debug("Engaging trick mode stream",d),_.tE(b,d,!1,0),c.Zb=e);else if(e=c.Zb)b.g.debug("Restoring non-trick-mode stream",
|
|
271
|
+
e),c.Zb=null,_.tE(b,e,!0,0)}}this.h.playbackRateChanged(a)}}ha(){if(this.f&&this.B){var a=PF(this);if(null==a)a=null;else{if(!eF(this.M,a).text){var b=_.pD(a.textStreams,this.cc,this.Fc,this.bc);b.length&&fF(this.M,a,b[0])}a=eF(this.M,a).text}b=[];for(const c of qH(this)){const d=mD(c);d.active=c===a;b.push(d)}return b}return[]}getPeriods(){return this.f.periods}getStats(){if(this.F!==OF)return _.Qn();$G(this);var a=this.j;if(a.getVideoPlaybackQuality){var b=a.getVideoPlaybackQuality();a=this.G;var c=
|
|
272
|
+
Number(b.totalVideoFrames);a.l=Number(b.droppedVideoFrames);a.j=c}if(this.F===OF){if(b=UF(this))this.G.o=b.bandwidth;b&&b.video&&(a=this.G,c=b.video.height||NaN,a.w=b.video.width||NaN,a.h=c);a=this.h.getBandwidthEstimate();this.G.f=a}return this.G.getStats()}getCueTimeline(){return this.J}getTimelineCues(){return this.J?RB(this.J,XG(this)):[]}resetAbr(){this.h&&this.h.reset()}ud(){return this.h}addTextTrack(a,b,c,d,e,f){const g=this;return _.w(function*(){if(g.F!==OF)throw g.log.error("Must call load() and wait for it to resolve before adding text tracks."),
|
|
273
|
+
Error("State error!");const h=PF(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 _.G(1,4,4040);const m=new _.nC(1,0,l,()=>[a],0,null,0);k={id:g.Pe++,originalId:null,createSegmentIndex:Promise.resolve.bind(Promise),findSegmentPosition:()=>1,getSegmentReference:q=>1===q?m:null,adjustSegmentDurations:()=>{},getDuration:()=>l,segmentLookupStrategy:_.IA,initSegmentReference:null,mimeType:d,
|
|
274
|
+
codecs:e||"",kind:c,encrypted:!1,keyId:null,language:b,originalLanguage:b,label:f||null,type:_.F,primary:!1,trickModeVideo:null,emsgSchemeIdUris:null,roles:[],channelsCount:null,spatialAudio:!1,closedCaptions:null};g.Bd.add(k);h.textStreams.push(k);yield kE(g.a,k);const n=_.hE(g.a,_.F);n&&fF(g.M,h,n);g.Bd.delete(k);g.log.debug("Choosing new streams after adding a text stream");sH(g,h);tG(g);return mD(k)})}Xf(a){this.log.debug(_.MA,a);try{this.log.debug("onChooseStreams_, choosing variant from ",a.variants);
|
|
275
|
+
this.log.debug("onChooseStreams_, choosing text from ",a.textStreams);const b=tH(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}}}Wf(){this.log.debug("canSwitch_");this.V=!1;this.configuration.abr.enabled&&this.h.enable();this.Z&&(uE(this.a,this.Z,this.Tf,this.Sf),this.Z=null);this.X&&(_.tE(this.a,this.X,!0,0),this.X=null)}bg(){this.A&&this.A.update()}Zf(){this.B&&
|
|
276
|
+
this.B.j.Gd()}Vf(a,b,c){if((void 0===c?"":c)===KA)return tG(this),this.pa()||(this.configuration.abr.enabled=!0,this.h.enable()),sH(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.pa()){for(const d of b.variants){const e=d[a.type];e&&e.id===a.id&&(d.allowedByApplication=!1)}tG(this);this.pa()||(this.configuration.abr.enabled=!0,this.h.enable());sH(this,b)}return c}Yf(){this.log.debug("endOfStream called by streaming engine");
|
|
277
|
+
this.fc=!0}onError(a){if(this.F!==iG&&7001!==a.code&&7E3!==a.code){var b=new _.C(_.Vd,{detail:a});a.severity===_.E&&bG(this,_.bo);this.trigger(b);b.defaultPrevented&&(b.a=!0)}}xe(a){a.type===_.Od?this.dispatchEvent(a):"largegap"!==a.type&&(a.type===_.xg?RG(this):"emsg"!==a.type&&(a instanceof _.C?this.dispatchEvent(a):this.log.debug(_.Ob,a.type)))}pa(){return this.configuration.abr.enabled}ag(a){const b=this;return _.w(function*(){if(b.wc){b.log.info("Attempt to switch CDN.");var c=b.getLoadedSource(),
|
|
278
|
+
d=b.pa();if(c=yield b.wc(c.url,a)){c=_.Qg(b.getLoadedSource(),{url:c});d&&b.h.disable();yield AE(b.a);var e=UF(b);do{var f=!1;try{b.log.info(`Switching CDN to ${c.url}.`),yield uH(b,c,e)}catch(g){if(b.log.info("Switch failed"),f=yield b.wc(c.url,a))c.url=f,f=!0;else throw g;}}while(f);d&&b.h.enable();xE(b.a,!0);b.ea[b.getSourceIndex()]=c;a.f=!0;b.trigger(new _.C(_.ad,{newManifest:c.url}))}}})}},iG=0,QG=1,OF=2,sG=[_.Oe,_.ee];
|
|
279
|
+
_.Vk(new class{a(){return FA}canPlay(a,b){if(_.jk())return 0;const c=a.type||"",d=(window.ManagedMediaSource?!0:!1)||(window.MediaSource&&MediaSource.isTypeSupported?!0:!1);a=window.ManagedMediaSource||window.MediaSource&&MediaSource.isTypeSupported?c in _.np||_.op(a.url)in _.pp?!0:!1:!1;if(d&&a){if(_.ak(2))return 1;if(_.kk()&&c===_.Rk){if(b.streaming.preferNativeHlsOnSafari)return 1;_.B("Support for MSE + FairPlay on Apple is experimental. In case of issues, consider using native HLS.")}return 2}return 0}f(a){return a===
|
|
280
|
+
_.na||a===_.ub}create(){return new MH}});};f.call(g, window);
|