@castlabs/prestoplay 6.32.0-beta.2 → 6.32.0-beta.5
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/cjs/cl.airplay.js +3 -3
- package/cjs/cl.broadpeak.js +7 -7
- package/cjs/cl.cast.js +56 -56
- package/cjs/cl.cdn.js +5 -5
- package/cjs/cl.conviva.js +18 -18
- package/cjs/cl.core.js +191 -191
- package/cjs/cl.dash.js +51 -51
- package/cjs/cl.freewheel.js +9 -9
- package/cjs/cl.hls.js +54 -54
- package/cjs/cl.hlssmpte.js +1 -1
- package/cjs/cl.htmlcue.js +3 -3
- package/cjs/cl.ima.js +11 -11
- package/cjs/cl.mediatailor.js +2 -2
- package/cjs/cl.mse.js +125 -125
- package/cjs/cl.muxdata.js +8 -8
- package/cjs/cl.persistent.js +2 -2
- package/cjs/cl.playlist.js +5 -5
- package/cjs/cl.simid.js +3 -3
- package/cjs/cl.smooth.js +28 -28
- package/cjs/cl.thumbnails.js +3 -3
- package/cjs/cl.tizen.js +34 -34
- package/cjs/cl.ttml.js +3 -3
- package/cjs/cl.verimatrix.js +1 -1
- package/cjs/cl.vimond.js +8 -8
- package/cjs/cl.vr.js +7 -7
- package/cjs/cl.vtt.js +1 -1
- package/cjs/cl.yospace.js +2 -2
- package/cjs/cl.youbora.js +11 -11
- package/cl.airplay.js +1 -1
- package/cl.cast.js +29 -29
- package/cl.cdn.js +5 -5
- package/cl.conviva.js +3 -3
- package/cl.core.js +116 -116
- package/cl.dash.js +48 -48
- package/cl.freewheel.js +3 -3
- package/cl.hls.js +35 -35
- package/cl.htmlcue.js +1 -1
- package/cl.ima.js +1 -1
- package/cl.mediatailor.js +2 -2
- package/cl.mse.js +78 -78
- package/cl.muxdata.js +2 -2
- package/cl.persistent.js +1 -1
- package/cl.playlist.js +4 -4
- package/cl.simid.js +1 -1
- package/cl.smooth.js +22 -22
- package/cl.thumbnails.js +4 -4
- package/cl.tizen.js +15 -15
- package/cl.ttml.js +2 -2
- package/cl.verimatrix.js +1 -1
- package/cl.vimond.js +2 -2
- package/cl.vr.js +2 -2
- package/cl.vtt.js +2 -2
- package/cl.yospace.js +2 -2
- package/cl.youbora.js +8 -8
- package/package.json +1 -1
package/cl.mediatailor.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var qS=function(a,b,c){return _.w(function*(){var d=yield(yield fetch(b,{method:_.eb,body:JSON.stringify(c.sessionConfig)})).json();const e=d.trackingUrl;d={
|
|
2
|
-
- manifest URI: ${d.
|
|
1
|
+
import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var qS=function(a,b,c){return _.w(function*(){var d=yield(yield fetch(b,{method:_.eb,body:JSON.stringify(c.sessionConfig)})).json();const e=d.trackingUrl;d={Xg:_.Tm(d.manifestUrl,b),Wj:e?_.Tm(e,b):null};a.g.info(`Media Tailor session initialized.
|
|
2
|
+
- manifest URI: ${d.Xg}`);return d})},rS=class extends _.Uv{constructor(){super();this.g=new _.T("clpp.mediatailor.MediaTailorPlugin")}onContentWillLoad(a,b){const c=this;return _.w(function*(){const d=a.getConfiguration().mediatailor;if(d.enabled){c.g.info("MediaTailor plugin is enabled");try{const e=yield qS(c,b.url,d);a.trigger(new _.H("mt-session-started"));b.url=e.Xg}catch(e){throw c.g.error("Failed to start session",e),new _.I(_.D,9,7003,"Media Tailor session failed to initialize.");}}})}id(){return"mediatailor"}};_.Tn(new class{create(){return new rS}});};f.call(g, window);
|
package/cl.mse.js
CHANGED
|
@@ -12,17 +12,17 @@ iB=function(a,b,c){a.f!==b&&(a.f=b,a.a.push({timestamp:Date.now()/1E3,id:b.id,tr
|
|
|
12
12
|
mB=function(a,b){let c=0;for(const d of a)c+=b(d)?1:0;return c};nB=function(a,b){var c=_.Lm(b,a);if(!c)return!1;c=c();a=c.isMuxed(a,b);c.destroy();return a};_.oB=function(a,b){return a.concat(b)};pB=function(){};_.qB=function(a,b){return 0===b.length?a:a.map(c=>b.map(d=>_.Tm(d,c))).reduce(_.oB,[])};
|
|
13
13
|
_.rB=function(a,b,c){return{keySystem:a,licenseServerUri:"",distinctiveIdentifierRequired:!1,persistentStateRequired:!1,audioRobustness:"",videoRobustness:"",serverCertificate:null,initData:b||[],keyIds:[],periodId:c?c:null}};sB=function(a){const b=[a.mimeType],c=(d,e)=>{null!=d&&b.push(`${e}="${String(d).trim()}"`)};c(a.codecs,_.pd);c(a.frameRate,"framerate");c(a.bandwidth,"bitrate");c(a.width,_.Ng);c(a.height,_.be);c(a.channelsCount,"channels");return b.join(";").replace(/\s/g,"")};
|
|
14
14
|
tB=function(a){return a.split(",").map(b=>b.trim()).filter(b=>0<b.length)};_.uB=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(",")};vB=function(a,b){const c=_.uB(_.Zm(a));a=_.Ym(a);const d=_.uB(_.Zm(b));return a===_.Ym(b)&&c===d};
|
|
15
|
-
wB=function(a){var b=k=>Math.round(k),c=k=>100*Math.round(k/100);b={br:b,d:b,bl:c,dl:c,mtp:c,nor:k=>encodeURIComponent(k),rtp:c,tb:b,
|
|
15
|
+
wB=function(a){var b=k=>Math.round(k),c=k=>100*Math.round(k/100);b={br:b,d:b,bl:c,dl:c,mtp:c,nor:k=>encodeURIComponent(k),rtp:c,tb:b,Xj:b,Yj:b};var d={Object:["br","d","ot","tb"],Request:"bl dl mtp nor nrr su".split(" "),Session:"cid pr sf sid st v".split(" "),Status:["bs","rtp"]};c=["nor","nrr","sid","cid"];const e=["ot","sf","st"],f=["mtp"],g={};for(const k of Object.entries(d)){const [l,m]=k;d=[];for(const n of m){let p=a[n];if(void 0!==p&&null!==p){var h=b[n];h&&(p=h(p));h=`${n}=${p}`;f.includes(n)&&
|
|
16
16
|
0===p&&(h="");e.includes(n)?h=`${n}=${p}`:c.includes(n)?h=`${n}="${p}"`:typeof p===_.Nc&&(h=p?`${n}`:"");h&&d.push(h)}}0<d.length&&(g[l]=d.join(","))}return g};
|
|
17
17
|
zB=function(a){return(b,c)=>{if(!a.a||!a.a.enabled||!c)return Promise.resolve(b);{var d=a.f.getBandwidthEstimate,e=a.f.getBufferInfo,f=a.f.getLoadedSource,g=a.f.getMediaPosition,h=a.f.getPlaybackRate,k=a.f.getPlayerState,l=a.f.dd;var m=c.stream;var n=c.segment;const F=c.objectType;var p=c.nextSegment;c=c.streamType;h=h();k=k();const C=h||1;d=d();f=(f=f())?xB(f):void 0;e=1E3*e().Pa(g());g=["a","v","av"].includes(F)?e:void 0;var u="v"===F||"av"===F;var v=!1;a.h&&u&&(v=!0,a.h=!1);u=v;l=yB(l,F);v=p;if(n&&
|
|
18
18
|
v&&n!==v){var y=n.Da()[0];{var A=v.Da()[0];v=new URL(A);const ja=new URL(y);if(v.origin!==ja.origin)v=A;else{y=v.pathname.split("/").slice(1);for(A=ja.pathname.split("/").slice(1,-1);y[0]===A[0];)y.shift(),A.shift();for(;A.length;)A.shift(),y.unshift("..");v=y.join("/")+v.search+v.hash}}}else v=void 0;n&&p&&(p.na||p.ja)&&(n.na!==p.na||n.ja!==p.ja)?(y=p.na+"-",p.ja&&(y+=p.ja),p=y):p=void 0;a:{if(n&&m&&(y=m.bandwidth)){y=y*(n.endTime-n.startTime)/1E3/((e/1E3||500)/(C||1)/1E3);y=a.a.rtpMultiplier?y*
|
|
19
19
|
a.a.rtpMultiplier:y;break a}y=void 0}(A=a.a.contentId)&&64<A.length&&(a.g.warn(`CMCD contentId: ${A} is longer than 64 characters,
|
|
20
20
|
it will be ignored.
|
|
21
21
|
Refer to the CMCD spec for more details.`),A=void 0);m=Object.assign({},m&&{br:m.bandwidth},n&&{d:n.endTime-n.startTime},F&&{ot:F},l&&{tb:l},g&&{bl:g},{dl:e/C},d&&{mtp:d/1E3},v&&{nor:v},p&&{nrr:p},{su:2===k},A&&{cid:A},1!==h&&{pr:h},f&&{sf:f},{sid:a.a.sessionId},c&&{st:c},1!==a.a.version&&{v:a.a.version},{bs:u},y&&{rtp:y})}if("query"===a.a.deliveryMode){var E=wB(m);if((E=Object.values(E).join(","))&&b.uris)for(m=0;m<b.uris.length;m++)n=new _.um(b.uris[m]),n.a.searchParams.set("CMCD",E),
|
|
22
|
-
b.uris[m]=n.toString()}else{m=wB(m);n={};for(E of Object.entries(m)){const [F,C]=E;n[`CMCD-${F}`]=C}E=n;b.headers=Object.assign({},b.headers||{},E)}return Promise.resolve(b)}};xB=function(a){switch(a.type){case _.vc:return"d";case _.xl:return"h";case _.Cc:return"s";default:return"o"}};yB=function(a,b){a=a();if(0!==a.length)switch(a=a.reduce((c,d)=>c&&c.bandwidth>d.bandwidth?c:d),b){case "a":return a.
|
|
22
|
+
b.uris[m]=n.toString()}else{m=wB(m);n={};for(E of Object.entries(m)){const [F,C]=E;n[`CMCD-${F}`]=C}E=n;b.headers=Object.assign({},b.headers||{},E)}return Promise.resolve(b)}};xB=function(a){switch(a.type){case _.vc:return"d";case _.xl:return"h";case _.Cc:return"s";default:return"o"}};yB=function(a,b){a=a();if(0!==a.length)switch(a=a.reduce((c,d)=>c&&c.bandwidth>d.bandwidth?c:d),b){case "a":return a.le||void 0;case "v":return a.Qe||void 0;default:return a.bandwidth}};
|
|
23
23
|
AB=function(a,b){a=_.Kn(a);b=_.Kn(b);a=a.split("-");b=b.split("-");return a[0]===b[0]&&1===a.length&&2===b.length};BB=function(a){return a.language?_.Kn(a.language):a.audio&&a.audio.language?_.Kn(a.audio.language):a.video&&a.video.language?_.Kn(a.video.language):_.lg};
|
|
24
24
|
_.CB=function(a,b){a=_.Kn(a);const c=new Set;for(var d of b)c.add(_.Kn(d));for(const e of c)if(e===a)return e;for(const e of c)if(AB(e,a))return e;for(const e of c)if(d=e,b=a,d=_.Kn(d),b=_.Kn(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(AB(a,e))return e;return null};
|
|
25
|
-
_.DB=function(a){if(typeof a!==_.Uf)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:{
|
|
25
|
+
_.DB=function(a){if(typeof a!==_.Uf)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:{Md:a,ee:b,kj:a*b}};
|
|
26
26
|
EB=function(a){return-1===a.indexOf("\x26")?a:a.replace(/&(?:amp|lt|gt|quot|apos|nbsp|lrm|rlm|#[xX]?[0-9a-fA-F]+);/g,b=>{switch(b){case "\x26amp;":return"\x26";case "\x26lt;":return"\x3c";case "\x26gt;":return"\x3e";case "\x26quot;":return'"';case "\x26apos;":return"'";case "\x26nbsp;":return"\u00a0";case "\x26lrm;":return"\u200e";case "\x26rlm;":return"\u200f";default:return"#"===b[1]?(b="x"===b[2]||"X"===b[2]?parseInt(b.slice(3),16):parseInt(b.slice(2),10),String.fromCodePoint(b)):b}})};
|
|
27
27
|
GB=function(a){function b(h,k){return new _.FB(void 0===k?_.da:k,h,{},[],null,null,g)}function c(h){h=void 0===h?"":h;const k=[];for(;a[e];)if(60==a.charCodeAt(e)){if(47===a.charCodeAt(e+1)){var l=e+2;e=a.indexOf("\x3e",e);if(!a.startsWith(h,l))throw h=a.substring(0,e).split("\n"),Error("Unexpected close tag\nLine: "+(h.length-1)+"\nColumn: "+(h[h.length-1].length+1)+"\nChar: "+a[e]);e+1&&(e+=1);break}else if(63===a.charCodeAt(e+1)){e=a.indexOf("\x3e",e);e++;continue}else if(33===a.charCodeAt(e+1)){if(45==
|
|
28
28
|
a.charCodeAt(e+2)){for(;-1!==e&&(62!==a.charCodeAt(e)||45!=a.charCodeAt(e-1)||45!=a.charCodeAt(e-2)||-1==e);)e=a.indexOf("\x3e",e+1);-1===e&&(e=f)}else if(91===a.charCodeAt(e+2)&&91===a.charCodeAt(e+8)&&a.startsWith("CDATA",e+3)){l=a.indexOf("]]\x3e",e);-1==l?(k.push(b(a.substr(e+9),"#cdata")),e=f):(k.push(b(a.substring(e+9,l),"#cdata")),e=l+3);continue}else{l=e+1;e+=2;for(var m=!1;(62!==a.charCodeAt(e)||!0===m)&&a[e];)91===a.charCodeAt(e)?m=!0:!0===m&&93===a.charCodeAt(e)&&(m=!1),e++;k.push(b(a.substring(l,
|
|
@@ -40,10 +40,10 @@ bC=function(a,b,c){a.B=b;if(b=a.o.get(b))for(const d of b.keys()){let e=b.get(d)
|
|
|
40
40
|
cC=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.j&&h.startTime<a.l))continue;const k=new _.zu(h.startTime,h.endTime,h.text);g.get(b).get(f).push(k);b===a.B&&a.h.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.j):Math.min(a.a,Math.max(c,a.j));
|
|
41
41
|
a.f=Math.max(a.f,Math.min(d,a.l))};_.dC=function(a,b,c){a.h=b;a.a=c};fC=function(a){return 2===a.j.version?a.a.Xb():eC(a,0)};_.gC=function(a,b){a.K={offsetDateTime:b-fC(a),seekRangeStartDateTime:b}};_.hC=function(a,b){a.o=b;a.C=b;a.a.f=b};iC=function(a){return 2===a.j.version?a.a.f?a.a.a:null:a.o?a.f:a.C?a.w:null};_.kC=function(a,b,c){var d=b.pc;a.l=null==a.l?d:Math.min(a.l,d);a.h=Math.max(a.h,b.bc);_.jC(a,b.ac);null!=a.F&&a.L&&(a.F=(Date.now()+a.H)/1E3-(a.w||0)-a.h);a.g.debug(`${c}: maxSegmentDuration=${a.h}`)};
|
|
42
42
|
_.lC=function(a,b,c){if(0!==b.length){var d=b[0].startTime+c;c=b[b.length-1].endTime+c;b=b.reduce((e,f)=>Math.max(e,f.endTime-f.startTime),a.h);_.kC(a,{pc:d,ac:c,bc:b},"notifySegments")}};_.jC=function(a,b){a.w=Math.max(a.w||0,b)};_.mC=function(a,b){a.h=Math.max(a.h,b);a.g.debug("notifyNewSegmentDuration: maxSegmentDuration\x3d"+a.h)};
|
|
43
|
-
nC=function(a){if(2===a.j.version)a=a.a.a;else if(a.o)a=a.f;else if(a.C)a=a.w||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};_.oC=function(a){return 2===a.j.version?a.a.Xb():Infinity===a.A?0:Math.max(0,nC(a)-a.A)};pC=function(a){const b=a.
|
|
43
|
+
nC=function(a){if(2===a.j.version)a=a.a.a;else if(a.o)a=a.f;else if(a.C)a=a.w||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};_.oC=function(a){return 2===a.j.version?a.a.Xb():Infinity===a.A?0:Math.max(0,nC(a)-a.A)};pC=function(a){const b=a.Qd()&&!a.C?a.J:0;return 2===a.j.version?a.a.a-b:Math.max(0,nC(a)-b)};
|
|
44
44
|
eC=function(a,b){if(2===a.j.version)return a.a.Xb();const c=Math.max(a.l,0);return Infinity===a.A?Math.ceil(1E3*c)/1E3:Math.max(c,Math.min(nC(a)-a.A+b,pC(a)))};qC=function(a,b){var c=fC(a);if(b<c)return c;c=pC(a);2===a.j.version&&(c=a.a.a);return b>c?c:b};rC=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}};
|
|
45
45
|
sC=function(a,b,c){a.f=b;a.h=c};tC=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()};uC=function(a,b=!1){return Array.from(a.a.values()).map(c=>rC(c,b)).sort((c,d)=>c.startTime-d.startTime)};
|
|
46
|
-
vC=function(a){const b=a.a.
|
|
46
|
+
vC=function(a){const b=a.a.yg(),c=a.h,d=b?b.id:null;(c?c.id:null)!==d&&b&&a.f(new _.H(_.Ef,{id:d}));a.h=b;"basic"===a.o.timeline&&(a.j.a=b)};wC=function(a){let b=a.h.get(a.a);if(!b)return null;0<b.a.length&&b.Da().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};_.VB=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)};
|
|
47
47
|
yC=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 xC(a,c,e)};zC=function(a,b){a.f=b};
|
|
48
48
|
AC=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};
|
|
49
49
|
BC=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.l=!1,a.I=a.a.readyState);var b=a.h.smallGapLimit,c=a.a.currentTime,d=a.a.buffered,e=a.h.gapTolerance,f=YA(new _.St(d),c,a.h.gapDetectionThreshold);if(null==f){if(a.f){a=a.f;d=a.h;c=AC(d);d=d.a.currentTime;f=Date.now()/1E3;if(a.a!==d||a.l!==c)a.j=f,a.a=d,a.l=c;d=f-a.j;d>=a.o&&c&&a.f(a.a,d)}}else if((0!==f||a.A)&&a.H){var g=d.start(f);if(!(g>=pC(a.G))){var h=g-c;b=h<=b;var k=
|
|
@@ -56,14 +56,14 @@ return d}if(b>=k||c(b))return a.g.debug("Playhead in safe region or in buffered
|
|
|
56
56
|
SC=function(a,b,c){if(!(16E3>c)){var d=8E3*c/b;b/=1E3;a.a+=c;_.XB(a.f,b,d);_.XB(a.h,b,d)}};_.TC=function(a,b){return a.qa.map(c=>{const d=new URL(c.uri+b);if(c.params)for(const [e,f]of Object.entries(c.params))d.searchParams.set(e,f);return d.toString()})};UC=function(a,b){if(typeof a!==typeof b||a.length!==b.length)return!1;for(let c=0;c<a.length;c++)if(a[c].serviceLocationId!==b[c].serviceLocationId||a[c].uri!==b[c].uri||a[c].params!==b[c].params)return!1;return!0};
|
|
57
57
|
YC=function(a,b){return _.w(function*(){b=b||a.h.contentSteeringServerUri;var c=VC(a,b);a.g.info("Sending request to content steering server, "+`URI: ${c}`);c=_.zk(c,a.A.attemptParameters);c.type=7;c=a.B.fetch(c);_.Jl(a.C,c);c=yield c.V;if(410===c.status)a.g.info(" Content steering server not available(HTTP response 410), stopping updates."),null!=a.a&&(a.a.stop(),a.a=null);else if(429===c.status){a.g.info("Content steering server overloaded (HTTP response 429).");var d=parseInt(c.headers["retry-after"],
|
|
58
58
|
10);d&&(a.g.info(`Will retry after ${d} s `+"based on Retry-After header."),a.f=d);WC(a,a.f)}else try{d=_.ri(c.data);const e=JSON.parse(d);1===e.VERSION?XC(a,e,c.uri):a.g.warn(`Received unsupported steering manifest version: ${e.VERSION}, ignoring it and stop requesting.`)}catch(e){a.g.error("requestInfo_: error parsing received steering manifest:",e),e&&7001===e.code||(null!=a.a&&(a.a.stop(),a.a=null),a.a=new _.Pi(()=>{YC(a)}),WC(a,a.f))}})};
|
|
59
|
-
ZC=function(a,b){return _.w(function*(){null!=a.a&&(a.a.stop(),a.a=null);a.o.clear();a.l.clear();a.j.clear();a.w.clear();a.g.debug(`contentSteeringServerUri: ${b.contentSteeringServerUri}`);a.g.info(`queryBeforeStart: ${b.queryBeforeStart}`);a.h={manifestType:b.manifestType,contentSteeringServerUri:b.contentSteeringServerUri,queryBeforeStart:b.queryBeforeStart,
|
|
60
|
-
c.qa.find(g=>g.serviceLocationId===e);f?d.push(f):a.g.warn("setManifestConfig: could not get default location:",`pathwayId: ${e} processedLocations:`,d)}d.length?a.l.set(c.id,d):a.l.set(c.id,c.qa);a.o.set(c.id,c.qa)});if(b.contentSteeringServerUri){if(a.h.queryBeforeStart)return YC(a);a.g.info(`defaultServiceLocations: ${b.defaultServiceLocation}`);YC(a)}})};aD=function(a,b){let c=a.j.get(b);c||(c={xd:0,
|
|
61
|
-
VC=function(a,b){b=new URL(b);const c=[],d=[];a.j.forEach((e,f)=>{e.
|
|
59
|
+
ZC=function(a,b){return _.w(function*(){null!=a.a&&(a.a.stop(),a.a=null);a.o.clear();a.l.clear();a.j.clear();a.w.clear();a.g.debug(`contentSteeringServerUri: ${b.contentSteeringServerUri}`);a.g.info(`queryBeforeStart: ${b.queryBeforeStart}`);a.h={manifestType:b.manifestType,contentSteeringServerUri:b.contentSteeringServerUri,queryBeforeStart:b.queryBeforeStart,qg:b.defaultServiceLocation?b.defaultServiceLocation.split(","):[]};b.baseUriCollections.forEach(c=>{const d=[];if(a.h.qg.length)for(const e of a.h.qg){const f=
|
|
60
|
+
c.qa.find(g=>g.serviceLocationId===e);f?d.push(f):a.g.warn("setManifestConfig: could not get default location:",`pathwayId: ${e} processedLocations:`,d)}d.length?a.l.set(c.id,d):a.l.set(c.id,c.qa);a.o.set(c.id,c.qa)});if(b.contentSteeringServerUri){if(a.h.queryBeforeStart)return YC(a);a.g.info(`defaultServiceLocations: ${b.defaultServiceLocation}`);YC(a)}})};aD=function(a,b){let c=a.j.get(b);c||(c={xd:0,hg:new $C,Me:!1},a.j.set(b,c));return c};
|
|
61
|
+
VC=function(a,b){b=new URL(b);const c=[],d=[];a.j.forEach((e,f)=>{e.Me&&(c.push(f),d.push(parseInt(e.hg.getBandwidthEstimate(1E4),10)));e.Me=!1});c.length?a.h.manifestType===_.vc?(b.searchParams.set("_DASH_pathway",`"${c.toString()}"`),b.searchParams.set("_DASH_throughput",d.toString())):a.h.manifestType===_.xl&&(b.searchParams.set("_HLS_pathway",`"${c.toString()}"`),b.searchParams.set("_HLS_throughput",d.toString())):a.g.debug("addQueryParams_: serviceLocations EMPTY");return b.toString()};
|
|
62
62
|
WC=function(a,b){a.g.info(`Scheduling next steering manifest update in ${b} s.`);a.a.la(b)};XC=function(a,b,c){null!=a.a&&(a.a.stop(),a.a=null);const d=b["RELOAD-URI"]||c;a.a=new _.Pi(()=>{YC(a,d)});if(c=b.TTL)a.f=c;WC(a,a.f);const e=b["PATHWAY-PRIORITY"]||[],f=b["PATHWAY-CLONES"]||[];a.j.forEach((g,h)=>{e.includes(h)||a.j.delete(h)});a.o.forEach((g,h)=>{g=bD(a,h,e,f);a.l.set(h,g)})};
|
|
63
63
|
bD=function(a,b,c,d){const e=[],f=a.o.get(b)||[];if(!c.length)return a.l.get(b);for(const g of c)if(a=f.find(h=>h.serviceLocationId===g))e.push(a);else{const h=d.find(k=>k.ID===g);if(h&&(a=f.find(k=>k.serviceLocationId===h["BASE-ID"]))){const k={serviceLocationId:g,uri:a.uri,params:{}};h[AA]&&(h[AA].HOST&&(a=new URL(a.uri),a.hostname=h[AA].HOST,k.uri=a.toString()),h[AA].PARAMS&&Object.entries(h[AA].PARAMS).forEach(l=>{var [m,n]=l;k.params[m]=n}));e.push(k)}}return e};
|
|
64
|
-
cD=function(a,b){var c=String(_.Vr++);c=new _.Cr(c,a);c.mimeType=_.zr(b.mimeType);if(a===_.P||a===_.Q)c.label=_.zr(b.label),c.language=_.zr(b.language),c.originalLanguage=_.zr(b.originalLanguage);a===_.R?(c.frameRate=b.frameRate,c.roles=b.roles,c.trickPlay=b.trickPlay):a===_.Q?(c.channelsCount=b.channelsCount,c.roles=b.
|
|
65
|
-
dD=function(a,b,c){const d=new _.Gr(a===_.R?`${b.ic}`:a===_.Q?`${b.mc}`:`${b.id}`,c);switch(a){case _.R:d.codec=_.zr(b.
|
|
66
|
-
eD=function(a,b){a=a.reduce((c,d)=>{b===_.R?null===d.ic||c[d.ic]&&!d.
|
|
64
|
+
cD=function(a,b){var c=String(_.Vr++);c=new _.Cr(c,a);c.mimeType=_.zr(b.mimeType);if(a===_.P||a===_.Q)c.label=_.zr(b.label),c.language=_.zr(b.language),c.originalLanguage=_.zr(b.originalLanguage);a===_.R?(c.frameRate=b.frameRate,c.roles=b.roles,c.trickPlay=b.trickPlay):a===_.Q?(c.channelsCount=b.channelsCount,c.roles=b.We||[],c.mimeType=_.zr(b.nb)):(c.kind=_.zr(b.kind),c.roles=b.roles);c.accessibility=a===_.R||a===_.Q?(b.accessibility||[]).filter(d=>d.type===a):b.accessibility||[];return c};
|
|
65
|
+
dD=function(a,b,c){const d=new _.Gr(a===_.R?`${b.ic}`:a===_.Q?`${b.mc}`:`${b.id}`,c);switch(a){case _.R:d.codec=_.zr(b.lh);d.bandwidth=b.Qe||b.bandwidth;d.width=b.width;d.height=b.height;d.originalId=b.vf;break;case _.Q:d.codec=_.zr(b.audioCodec);d.bandwidth=b.le||b.bandwidth;d.originalId=b.uf;break;default:d.codec=_.zr(b.codecs),d.originalId=b.Ug}(a=c.renditions.find(e=>_.qh(e,d,null,["id","track"])))||c.renditions.push(d);return a||d};
|
|
66
|
+
eD=function(a,b){a=a.reduce((c,d)=>{b===_.R?null===d.ic||c[d.ic]&&!d.ke||(c[d.ic]=d):b===_.Q&&(null===d.mc||c[d.mc]&&!d.je||(c[d.mc]=d));return c},{});return Object.values(a)};fD=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};gD=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};
|
|
67
67
|
_.hD=function(a,b){a.forEach(c=>{c.startTime+=b;c.endTime+=b})};iD=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}};jD=function(a){return Object.assign({},a,{periods:a.periods.map(b=>Object.assign({},b))})};
|
|
68
68
|
kD=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=iD(a[d-1]).end;_.hD(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,alternativeVariants:a[0].alternativeVariants};d=iD(c).end;_.dC(b.a,0,d);(a=a[0].presentationTimeline.Gc())&&_.gC(b,a.seekRangeStartDateTime);
|
|
69
69
|
return c};mD=function(a,b){try{if(1===a.length)return a[0];if(!a.every(lD))throw new _.tl("Period durations must be finite");return kD(a,b)}catch(c){throw new _.I(_.D,7,7003,"Failed to join manifests into a continuous playlist!",c);}};lD=function(a){return a.periods.every(b=>null!=b.endTime&&0<=b.endTime&&isFinite(b.endTime))};
|
|
@@ -72,8 +72,8 @@ qD=function(a,b){return a.h.filter(c=>c.type===b)};rD=function(a,b){return(a=a.a
|
|
|
72
72
|
wD=function(a,b,c){tD(a,b,_.R);if(uD(a,b,_.R)){var d=a.m;a.g.info(`Set video rendition with ID: ${b.id}`);var e=a.a.get(_.Q)||null,f=null;if(e&&!e.a){const g=d.dd().filter(h=>h.ic===parseInt(b.id,10));f=g.find(h=>h.mc===parseInt(e.id,10))||null;if(!f){a.g.debug("Unable to find exact variant. Searching for equivalent");const h=e.track.renditions.map(k=>k.id).filter(k=>k!==e.id);f=g.find(k=>h.find(l=>l===k.mc))||null}}else f=d.dd().find(g=>g.ic===parseInt(b.id,10))||null;f?(a.f.set(_.R,b),vD(d,f,c)):
|
|
73
73
|
a.g.warn("Cannot find matching variant")}};AD=function(a,b){_.w(function*(){tD(a,b,_.P);if(uD(a,b,_.P)){var c=a.m.sa().find(d=>d.id===parseInt(b.id,10));if(c){a.g.info(`Set text rendition with ID: ${b.id}`);a.f.set(_.P,b);try{xD(a,b),yield yD(a.m,!0),yield zD(a.m,c),a.m.trigger(new _.H(_.bg))}catch(d){a.g.warn("Failed to set text rendition",d)}}else a.g.warn(`Text rendition with ID: ${b.id} not found.`)}})};
|
|
74
74
|
BD=function(a){_.w(function*(){if(rD(a,_.P)){a.g.info("Unset text rendition.");try{yield yD(a.m,!1),a.a.set(_.P,null),a.m.trigger(new _.H(_.bg))}catch(b){a.g.warn("Failed to unset text rendition",b)}}})};
|
|
75
|
-
FD=function(a){if(a.m){a.g.debug("Track list change detected, updating track list");var b=[];for(var c of Object.values(_.mv))a.a.set(c,null),a.f.set(c,null);for(var d of a.m.sa()){let e=cD(_.P,d);e=(c=b.find(g=>e.Zc(g)))||e;const f=dD(_.P,d,e);d.
|
|
76
|
-
uD=function(a,b,c){return a.m.va()?!0:(a.a.get(c)||null)===b?!1:!0};tD=function(a,b,c){if(0>a.h.indexOf(b.track))throw Error(`Unknown rendition with ID ${b.id}`);if(c!==b.track.type)throw Error("Types mismatch");};DD=function(a,b,c,d){c=eD(c,d);for(const e of c){let f=cD(d,e);f=(c=b.find(h=>f.Zc(h)))||f;const g=dD(d,e,f);(d===_.R&&e.
|
|
75
|
+
FD=function(a){if(a.m){a.g.debug("Track list change detected, updating track list");var b=[];for(var c of Object.values(_.mv))a.a.set(c,null),a.f.set(c,null);for(var d of a.m.sa()){let e=cD(_.P,d);e=(c=b.find(g=>e.Zc(g)))||e;const f=dD(_.P,d,e);d.Te&&a.a.set(_.P,f);c||b.push(e)}CD(a.m)||a.a.set(_.P,null);d=a.m.dd();DD(a,b,d,_.R);DD(a,b,d,_.Q);ED(a,b);a.h=b}};xD=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)};
|
|
76
|
+
uD=function(a,b,c){return a.m.va()?!0:(a.a.get(c)||null)===b?!1:!0};tD=function(a,b,c){if(0>a.h.indexOf(b.track))throw Error(`Unknown rendition with ID ${b.id}`);if(c!==b.track.type)throw Error("Types mismatch");};DD=function(a,b,c,d){c=eD(c,d);for(const e of c){let f=cD(d,e);f=(c=b.find(h=>f.Zc(h)))||f;const g=dD(d,e,f);(d===_.R&&e.ke||d===_.Q&&e.je)&&a.a.set(d,g);c||b.push(f)}};
|
|
77
77
|
ED=function(a,b){var c=a.m;if(c.f){var d=(d=GD(c))?HD(c.l,d).ib:null;c=c.f.muxedAudioTracks||[];if(d)for(e of c)e.active=d.id===e.id;var e=c}else e=[];for(const f of e)e=f,c=String(_.Vr++),c=new _.Cr(c,_.Q),c.mimeType="",c.label=e.label,c.language=e.language,c.originalLanguage=e.language,c.channelsCount=e.channelsCount,c.roles=[],c.accessibility=[],d=new _.Gr(`${e.id}`,c),d.codec="",d.bandwidth=0,d.originalId=e.label,d.a=!0,c.renditions.push(d),e=c,b.push(e),f.active&&a.a.set(_.Q,e.renditions[0])};
|
|
78
78
|
ID=function(a,b,c){return qD(a,c).flatMap(d=>d.renditions).find(d=>parseInt(d.id,10)===b)||null};JD=function(a,b,c,d){a.h.length||FD(a);const e=a.a.get(c)||null;(b=ID(a,b,c))&&e!==b&&(xD(a,b),c===_.Q?a.m.trigger(new _.H(_.Kc)):c===_.R&&a.m.trigger(new _.H(_.Cg,{details:{width:b.width||0,height:b.height||0,bandwidth:b.bandwidth,track:b.track,abrSelection:d}})))};KD=function(a){const b=_.Xm(a.mimeType,a.codecs),c=sB(a);return _.$B(b)||_.rt(c)||(_.Lm(b,a.type)?!0:!1)};
|
|
79
79
|
MD=function(a,b){if(window.ManagedMediaSource){a.j.disableRemotePlayback=!0;var c=new ManagedMediaSource;a.l.one(c,"sourceopen",()=>{URL.revokeObjectURL(a.A);b.resolve()});a.l.on(c,"startstreaming",()=>{a.R=!0});a.l.on(c,"endstreaming",()=>{a.R=!1});a.A=LD(c);a.j.src=a.A;return c}c=new MediaSource;a.A=LD(c);a.l.one(c,"sourceopen",()=>{URL.revokeObjectURL(a.A);b.resolve()});a.j.src=a.A;return c};
|
|
@@ -98,10 +98,10 @@ qE(k)),!1):h&&b&&!rE(h,b,e)?(_.Bh("Dropping variant - not compatible with active
|
|
|
98
98
|
qE(k.video)),!1):!0))}d.textStreams=d.textStreams.filter(g=>{const h=_.$B(_.Xm(g.mimeType,g.codecs));h||_.Ch("Dropping text stream. Is not supported by the platform.",g);return h})};
|
|
99
99
|
qE=function(a){const b=sB(a);return a.type===_.q?"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"};
|
|
100
100
|
rE=function(a,b,c){return a.mimeType!==b.mimeType||(void 0===c||c)&&a.codecs.split(".")[0]!==b.codecs.split(".")[0]?!1:!0};
|
|
101
|
-
tE=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 p of c.roles)l.add(p);n=[c,b].map(p=>p?p.accessibility||[]:[]).reduce((p,u)=>p.concat(u),[]);a={id:a.id,
|
|
102
|
-
kind:k,width:null,height:null,frameRate:null,trickPlay:!1,mimeType:g,nb:h,codecs:f.join(", "),audioCodec:d,
|
|
103
|
-
a.channelsCount=b.channelsCount,a.
|
|
104
|
-
uE=function(a){return{id:a.id,
|
|
101
|
+
tE=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 p of c.roles)l.add(p);n=[c,b].map(p=>p?p.accessibility||[]:[]).reduce((p,u)=>p.concat(u),[]);a={id:a.id,ke:!1,je:!1,Te:!1,type:"variant",bandwidth:a.bandwidth,language:a.language,originalLanguage:a.language,label:null,
|
|
102
|
+
kind:k,width:null,height:null,frameRate:null,trickPlay:!1,mimeType:g,nb:h,codecs:f.join(", "),audioCodec:d,lh:e,primary:a.primary,roles:Array.from(l),We:Array.from(m),ic:null,mc:null,channelsCount:null,spatialAudio:!1,le:null,Qe:null,vf:null,uf:null,Ug:null,accessibility:n};c&&(a.ic=c.id,a.vf=c.originalId,a.width=c.width||null,a.height=c.height||null,a.frameRate=c.frameRate||null,a.trickPlay=!!c.trickPlay,a.Qe=c.bandwidth||null);b&&(a.mc=b.id,a.uf=b.originalId,a.originalLanguage=b.originalLanguage,
|
|
103
|
+
a.channelsCount=b.channelsCount,a.le=b.bandwidth||null,a.label=b.label,a.We=b.roles);return a};
|
|
104
|
+
uE=function(a){return{id:a.id,ke:!1,je:!1,Te:!1,type:_.K,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,nb:null,codecs:a.codecs||null,audioCodec:null,lh:null,primary:a.primary,roles:a.roles,We:null,ic:null,mc:null,channelsCount:null,spatialAudio:!1,le:null,Qe:null,vf:null,uf:null,Ug:a.originalId,accessibility:a.accessibility,keyId:null}};
|
|
105
105
|
vE=function(a){return a.allowedByApplication&&a.allowedByKeySystem};
|
|
106
106
|
_.xE=function(a,b,c,d){b=_.ci(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=_.CB(_.Kn(h),a.map(l=>l.language));return k?(e=a.filter(l=>_.Kn(l.language)===k),!0):!1});d&&e.some(h=>h.kind===_.Zd)&&(e=e.filter(h=>h.kind===_.Zd));if(c){b=wE(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(_.oB,
|
|
107
107
|
[]);return b.length?wE(e,b[0]):e};wE=function(a,b){return a.filter(c=>c.roles.includes(b))};yE=function(a,b,c){if(a.j&&a.a.useCmsd){const d=aB(a.j);null!==d&&(a.g.debug("Using CMSD maxSuggestedBitrateKbps:",d),c=c.filter(e=>e.bandwidth<=1E3*d))}a=c.filter(d=>!d.trickPlay);b&&(a=a.filter(d=>oE(d,b)));return a.sort((d,e)=>d.bandwidth-e.bandwidth)};zE=function(a){return new _.I(_.D,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.")};
|
|
@@ -118,45 +118,45 @@ d=a.getUint32(b);a.setUint32(b,d+1);return h};SE=function(a,b,c){a=_.oi(a,b);b=a
|
|
|
118
118
|
dF=function(a,b,c){return _.w(function*(){var d=a.D.yb();const e=YE(a,d);null==e?a.g.warn("Cannot initialize streams, period not found at",d):(d=ZE(b),yield a.D.$.init(d,a.h.forceNativeTS,a.h.disableAudioTracks),a.f||($E(a),yield aF(a,new Set(d.values())),a.f||d.forEach((f,g)=>{a.a.has(g)||(f=bF(f,e,c),a.a.set(g,f),cF(a,f,0))})))})};eF=function(a,b){a=a.j.periods.find(c=>c.id===b)||null;if(!a)throw new _.I(_.D,5,5006,`Period ${b} not found`);return a};
|
|
119
119
|
fF=function(a){var b=a.a.get(_.t);return b?eF(a,b.cc):(b=a.a.get(_.q))?eF(a,b.cc):null};_.gF=function(a,b){return(a=a.a.get(b))?a.sc||a.stream:null};hF=function(a){return _.gF(a,_.q)};iF=function(a){return _.gF(a,_.t)};
|
|
120
120
|
aF=function(a,b){return _.w(function*(){const c=[];for(const f of b){const g=a.o.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.o.set(f.id,new _.Kl),c.push(f.createSegmentIndex(a.D.Cb,a.h.attemptParameters)))}try{if(yield Promise.all(c),a.f)return}catch(f){if(a.f)return;for(var d of b){var e=a.o.get(d.id);e&&(e.catch(()=>{}),e.reject(),a.o.delete(d.id))}throw f;}for(e of b)(d=a.o.get(e.id))&&!d.done&&(d.resolve(),
|
|
121
|
-
a.g.debug("(all) finished setting up stream "+e.id))})};YE=function(a,b){return(a=SB(a.j.periods,b+_.ou))?a.id:null};bF=function(a,b,c){return{stream:a,type:a.type,$b:null,segmentIterator:null,oa:null,sc:null,
|
|
121
|
+
a.g.debug("(all) finished setting up stream "+e.id))})};YE=function(a,b){return(a=SB(a.j.periods,b+_.ou))?a.id:null};bF=function(a,b,c){return{stream:a,type:a.type,$b:null,segmentIterator:null,oa:null,sc:null,Ce:!0,cc:b,endOfStream:!1,Db:!1,ub:null,kc:!1,pe:0,Re:!1,zc:!1,Bf:!1,fd:!1,eh:c||0,ec:null,se:!1,Lg:0}};cF=function(a,b,c){a.g.debug(TE(b),"updating in "+c+" seconds");b.ub=(new _.cu(()=>_.w(function*(){try{yield a.dc(b)}catch(d){if(a.D)a.D.onError(d)}}))).la(c)};
|
|
122
122
|
jF=function(a,b){return _.w(function*(){yield a.D.$.clear(_.K);a.I++;a.J=!1;var c=a.I,d=a.D.$;const e=new Map,f=new Set;e.set(_.K,b);f.add(b);yield d.init(e,!1,a.h.disableAudioTracks);a.f||(yield aF(a,f),a.f||(d=d.getTextDisplayer().isTextVisible()||a.h.alwaysStreamText,a.I!==c||a.a.has(_.K)||a.J||!d||(c=a.D.yb(),d=YE(a,c),null==d?a.g.warn("Cannot set up text media state, period not found at",c):(c=bF(b,d,0),a.a.set(_.K,c),cF(a,c,0)))))})};
|
|
123
123
|
kF=function(a){a.J=!0;const b=a.a.get(_.K);b&&(a.g.info("Unload text stream"),WE(b),XE(b).catch(()=>{}),a.a.delete(_.K))};lF=function(a){return _.w(function*(){const b=a.a.get(_.q);b&&(a.g.info("Unload audio stream"),WE(b),yield XE(b).catch(()=>{}),a.a.delete(_.q))})};
|
|
124
124
|
rF=function(a,b,c,d){return _.w(function*(){const e=a.a.get(b.type);if(!e&&b.type===_.K&&a.h.ignoreTextStreamFailures)yield jF(a,b);else if(e){var f=mF(a,b).id;if(c&&f!==e.cc){a.g.debug("switch: switching to stream in another Period; clearing buffer and changing Periods");for(var g of a.a.values())nF(a,g)}else if(e.sc&&(a.g.debug("switch during trick play mode",b),b.trickModeVideo?(e.sc=b,b=b.trickModeVideo,a.g.debug("switch found trick play stream",b)):(e.sc=null,a.g.debug("switch found no special trick play stream"))),
|
|
125
|
-
g=a.B.get(f),g=!(!g||!g.
|
|
126
|
-
f)f=!1;else{var k=e.stream.initSegmentReference;k&&(f+=k.
|
|
125
|
+
g=a.B.get(f),g=!(!g||!g.Ef))if(g=a.o.get(b.id),(g=!(!g||!g.Ef))||(yield aF(a,new Set([b]))),e.stream!==b){g=a.j.presentationTimeline.getDuration();var h=a.D.yb();h=oF(a,e,h);if(!c&&(e.endOfStream||h>=g))a.g.debug(XA+TE(e)+" already buffered to the end. Not switching.");else{b.type===_.K&&OD(a.D.$,_.Xm(b.mimeType,b.codecs));e.stream=b;e.stream.segmentIterator=null;e.Ce=!0;a.g.debug("switch: switching to Stream "+TE(e));if(e.ec)if(g=a.D.yb(),h=a.D.$.Oa(e.type),f=(f=pF(a,e,g,h,f))?f.Kd():null,null==
|
|
126
|
+
f)f=!1;else{var k=e.stream.initSegmentReference;k&&(f+=k.Kd()||0);k=a.D.Gd().getBandwidthEstimate();8*f/k<(null===h?0:h-g)-Math.max(a.j.minBufferTime||0,a.h.rebufferingGoal)?f=!0:(g=e.ec,g=g.j?g.j.bytesRemaining:-1,f=0>g||g>f?!0:!1)}else f=!1;f&&(a.g.info("Aborting current segment request to switch."),e.ec.abort());if(c)if(e.zc)e.Re=!0;else if(e.Db)e.kc=!0,e.pe=d,e.Re=!0;else{WE(e);try{yield qF(a,e,!0,d)}catch(l){if(a.D)a.D.onError(l)}}}}else a.g.debug(XA+TE(e)+" already active")}})};
|
|
127
127
|
sF=function(a,b){_.w(function*(){const c=a.a.get(_.t);if(c){var d=c.stream;if(d)if(b){const e=d.trickModeVideo;e&&!c.sc&&(a.g.debug("Switching to trick mode",e),yield rF(a,e,!1,0),c.sc=d)}else if(d=c.sc)a.g.debug("Switching back from trick mode",d),c.sc=null,yield rF(a,d,!0,0)}})};tF=function(a,b,c,d){return _.w(function*(){b.video&&(yield rF(a,b.video,c,d));b.audio&&(yield rF(a,b.audio,c,d))})};
|
|
128
|
-
nF=function(a,b){return _.w(function*(){const c=TE(b);if(b.zc)a.g.debug(c,"clear: already clearing the buffer");else if(b.kc)a.g.debug(c,"clear: already waiting");else if(b.Db)a.g.debug(c,"clear: currently updating"),b.kc=!0,b.
|
|
128
|
+
nF=function(a,b){return _.w(function*(){const c=TE(b);if(b.zc)a.g.debug(c,"clear: already clearing the buffer");else if(b.kc)a.g.debug(c,"clear: already waiting");else if(b.Db)a.g.debug(c,"clear: currently updating"),b.kc=!0,b.pe=0;else if(null==a.D.$.Vb(b.type))a.g.debug(c,"clear: nothing buffered"),null==b.ub&&cF(a,b,0);else{a.g.debug(c,"clear: handling right now");WE(b);try{yield qF(a,b,!1,0)}catch(d){if(a.D)a.D.onError(d)}}})};
|
|
129
129
|
uF=function(a){return _.w(function*(){if(!a.A){a.A=!0;yield lF(a);var b=a.a.get(_.t);yield nF(a,b)}})};vF=function(a,b,c,d){return _.w(function*(){yield rF(a,b,c,d)})};wF=function(a,b){return _.w(function*(){if(a.A){a.A=!1;const c=a.D.yb();yield dF(a,{audio:b},c)}yield rF(a,b,!0,0)})};_.xF=function(a,b){return _.w(function*(){yield rF(a,b,!0,0)})};$E=function(a){const b=a.j.presentationTimeline.getDuration();Infinity>b?gE(a.D.$,b):gE(a.D.$,Math.pow(2,32))};
|
|
130
130
|
yF=function(a){for(const b of a.a.values()){a=b.oa;const c=b.$b;a&&c&&(a=c.getSegmentReference(a.position))&&(b.oa=a)}};zF=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;VE(a.j);$E(a);yF(a)};
|
|
131
131
|
AF=function(a){const b=a.D.yb();let c=!1;const d=YE(a,b);if(Array.from(a.a.values()).every(f=>f.cc===d))for(const f of a.a.keys()){var e=a.a.get(f);e.stream.segmentIterator=null;a.D.$.oc(f,b,0)||(nF(a,e),c=!0)}else if(!Array.from(a.a.keys()).every(f=>a.D.$.oc(f,b,0))){a.g.debug("(all): seeked: unbuffered seek: clearing all buffers");for(e of a.a.values())nF(a,e);c=!0}c||a.g.debug("(all): seeked: buffered seek: presentationTime\x3d"+b)};
|
|
132
132
|
BF=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.w)a.g.error("Unable to retry after StreamingEngine encountered a fatal error!");else for(const c of a.a.values()){const d=TE(c);if(c.fd||b&&UE(c))a.g.info(d,"Retrying after failure..."),c.fd=!1,cF(a,c,.1)}};CF=function(a){return Array.from(a.a.values()).some(b=>null!==b.ub)};DF=function(a){const b=Array.from(a.a.values());return a.C&&b.every(c=>c.endOfStream)};
|
|
133
|
-
qF=function(a,b,c,d){return _.w(function*(){const e=TE(b);b.kc=!1;b.
|
|
134
|
-
EF=function(a){return _.w(function*(){const b=[];for(const c of a.a.values())WE(c),c.Db&&c.ec&&(c.Db=!1,b.push(c.ec.abort())),c.kc&&b.push(qF(a,c,!0,0));yield Promise.all(b)})};FF=function(a,b,c){(a=a.a.get(b))&&c&&(WE(a),a.stream=c,a.$b=c,a.oa&&(a.oa=c.getSegmentReference(a.oa.position)),a.oa||(a.$b=null))};oF=function(a,b,c){return b.$b&&b.oa?mF(a,b.$b).startTime+b.oa.endTime:Math.max(c,b.
|
|
133
|
+
qF=function(a,b,c,d){return _.w(function*(){const e=TE(b);b.kc=!1;b.Re=!1;b.pe=0;b.zc=!0;b.stream.segmentIterator=null;a.g.debug(e,"clearing buffer");if(d){var f=a.D.yb();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.$b=null,b.oa=null,b.zc=!1,b.endOfStream=!1,b.se=!1,cF(a,b,0))})};
|
|
134
|
+
EF=function(a){return _.w(function*(){const b=[];for(const c of a.a.values())WE(c),c.Db&&c.ec&&(c.Db=!1,b.push(c.ec.abort())),c.kc&&b.push(qF(a,c,!0,0));yield Promise.all(b)})};FF=function(a,b,c){(a=a.a.get(b))&&c&&(WE(a),a.stream=c,a.$b=c,a.oa&&(a.oa=c.getSegmentReference(a.oa.position)),a.oa||(a.$b=null))};oF=function(a,b,c){return b.$b&&b.oa?mF(a,b.$b).startTime+b.oa.endTime:Math.max(c,b.eh)};GF=function(a){a.F=!0;a.g.debug("calling onCanSwitch()...");a.D.Pg()};
|
|
135
135
|
pF=function(a,b,c,d,e){if(null==e)return a.g.warn(qA),null;if(b.stream.segmentLookupStrategy===_.MA)b.stream.segmentIterator?a=wC(b.stream.segmentIterator):b.oa||d?(c=b.oa?b.oa.endTime:d,a.g.info(sA,"looking up segment from new stream endTime:",c),b.stream.segmentIterator=yC(b.stream.segmentIndex,c),e=b.stream.segmentIterator.next().value,null===e&&(b.stream.segmentIterator=null,a.g.warn(sA,FA,"endTime:",c,b.oa)),a=e):(e=eF(a,e),e=Math.max(0,c-e.startTime),a.g.info(sA,"looking up segment","lookupTime:",
|
|
136
136
|
e,QA,c),b.stream.segmentIterator=yC(b.stream.segmentIndex,e),b=b.stream.segmentIterator.next().value,null===b&&a.g.warn(sA,FA,"lookupTime:",e,QA,c),a=b);else{var f=TE(b);if(b.oa&&b.stream===b.$b)c=b.oa.position+1,a.g.debug(f,"next position known:","position\x3d"+c),a=HF(a,b,e,c);else{if(b.oa){a.g.debug(f,"next position unknown: another Stream buffered");f=mF(a,b.$b);var g=IF(a,b,f.startTime+b.oa.endTime,e)}else a.g.debug(f,"next position unknown: nothing buffered"),g=IF(a,b,d||c,e);if(null==g)a=null;
|
|
137
137
|
else if(f=HF(a,b,e,g),null==f)a=null;else{var h=null==a.h?!1:a.h.ignoreDrift;null==d&&!h&&f.Ka+f.startTime+2>c&&(a=HF(a,b,e,Math.max(0,g-1)))&&(f=a);a=f}}}return a};ZE=function(a){const b=new Map;a.audio&&b.set(_.q,a.audio);a.video&&b.set(_.t,a.video);a.text&&b.set(_.K,a.text);return b};
|
|
138
138
|
JF=function(a,b){var c=a.B.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 _.Kl;a.B.set(b,d);c=eF(a,b);const e=new Set;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.G=a.G.then(()=>{if(!a.f)return aF(a,e)}).then(()=>{a.f||(d.resolve(),a.g.debug(`(all) setup Period ${b}`))}).catch(f=>{a.f||
|
|
139
139
|
(d.catch(()=>{}),d.reject(),a.B.delete(b),a.g.warn(`(all) failed to setup Period ${b}`),a.D.onError(f))});return d};KF=function(a){a.g.debug("(all) setupAllPeriods_");a.j.periods.map(b=>b.id).forEach(b=>{JF(a,b).catch(pB)})};
|
|
140
140
|
NF=function(a,b){if(b.type===_.K&&b.stream.mimeType===_.uc)return $D(a.D.$,b.stream.originalId||""),null;b.type===_.K&&aE(a.D.$);if(!UD(a.D.$)&&b.type!==_.K)return a.h.bufferLimitUpdateInterval?a.h.bufferLimitUpdateInterval/2:.5;var c=TE(b);const d=a.D.yb(),e=oF(a,b,d);a.g.debug(c,"timeNeeded\x3d"+e);var f=a.D.$.Pa(b.type,d);a.g.debug(c,"update_:",RA+d,"bufferedAhead\x3d"+f);var g=Math.max(a.j.minBufferTime||0,a.h.rebufferingGoal,a.h.bufferingGoal)*a.l,h=iC(a.j.presentationTimeline);if(null!=h&&e>=
|
|
141
|
-
h&&!b.
|
|
142
|
-
for(const l of a.a.values())if(l.type!==_.K||l.stream.mimeType!==_.uc)g=oF(a,l,d),c=Math.min(c,g);if(e>=c+a.j.presentationTimeline.h)return a.h.bufferLimitUpdateInterval||1;b.
|
|
143
|
-
PF=function(a,b){_.w(function*(){const c=TE(b);var d=mF(a,b.stream).id;if(b.cc!==d){var e=b.cc;d=Array.from(a.a.values());if(d.every(l=>l.cc===e))if(d.every(UE)){a.g.debug(c,"all need Period "+e);try{if(yield JF(a,e),!a.f)if(RD(a.D.$),d.every(l=>{const m=UE(l),n=mF(a,l.stream).id;return m&&l.cc===e&&n!==e})){var f=eF(a,e);a.g.debug(c,"Streaming period",e,f);a.F=!1;a.g.debug(c,"calling onChooseStreams()...");var g=a.D.
|
|
141
|
+
h&&!b.se)return LF(a,b),null;b.endOfStream=!1;h=mF(a,b.stream).id;const k=YE(a,e);null!=k&&(b.cc=k);if(k!==h)return a.g.debug(c,"need Period "+k,RA+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.$.Oa(b.type);f=pF(a,b,d,f,h);if(!f)return a.j.presentationTimeline.isLive()||b.type===_.K?a.h.bufferLimitUpdateInterval||1:(a.g.debug("Media state "+c+": no next segment found. Assuming EOS."),LF(a,b),null);c=Infinity;
|
|
142
|
+
for(const l of a.a.values())if(l.type!==_.K||l.stream.mimeType!==_.uc)g=oF(a,l,d),c=Math.min(c,g);if(e>=c+a.j.presentationTimeline.h)return a.h.bufferLimitUpdateInterval||1;b.eh=0;MF(a,b,d,h,f).catch(()=>{});return null};OF=function(a,b){return _.w(function*(){if(!a.f){if(a.D.ih)try{yield a.D.ih(b)}catch(c){c.cause=b,b=c}if(!b.f)a.D.onError(b)}})};
|
|
143
|
+
PF=function(a,b){_.w(function*(){const c=TE(b);var d=mF(a,b.stream).id;if(b.cc!==d){var e=b.cc;d=Array.from(a.a.values());if(d.every(l=>l.cc===e))if(d.every(UE)){a.g.debug(c,"all need Period "+e);try{if(yield JF(a,e),!a.f)if(RD(a.D.$),d.every(l=>{const m=UE(l),n=mF(a,l.stream).id;return m&&l.cc===e&&n!==e})){var f=eF(a,e);a.g.debug(c,"Streaming period",e,f);a.F=!1;a.g.debug(c,"calling onChooseStreams()...");var g=a.D.pf(f);a.H=!g.audio&&!g.video&&!!g.text;var h=ZE(g);for(const l of a.a.keys())if(!h.has(l)&&
|
|
144
144
|
l!==_.K){a.g.error(c,"invalid Streams chosen: missing "+l+" Stream");a.D.onError(new _.I(_.D,5,5005));return}for(const l of Array.from(h.keys()))if(!a.a.has(l))if(l===_.K)dF(a,{text:h.get(_.K)},f.startTime),h.delete(l);else{a.g.error(c,"invalid Streams chosen: unusable "+l+" Stream");a.D.onError(new _.I(_.D,5,5005));return}var k=Array.from(a.a.keys()).map(l=>_.w(function*(){const m=h.get(l);m?(yield rF(a,m,!1,0),cF(a,a.a.get(l),0)):a.a.delete(l)}));yield Promise.all(k);a.f||GF(a)}else a.g.debug(c,
|
|
145
145
|
"ignoring transition to Period",e,"since another is happening")}catch(l){}}else a.g.debug(c,"all MediaStates need Period "+e+", but not all MediaStates are idle");else a.g.debug(c,"not all MediaStates need Period "+e)}})};LF=function(a,b){a.g.debug(TE(b),"buffered to end of presentation");b.endOfStream=!0;b.type===_.t&&(a=a.a.get(_.K))&&a.stream.mimeType===_.uc&&(a.endOfStream=!0)};
|
|
146
|
-
MF=function(a,b,c,d,e){return _.w(function*(){const f=TE(b),g=eF(a,d);a.g.debug(f,"fetchAndAppend_:",RA+c,IA+g.startTime,TA+e.position,UA+e.startTime,SA+e.endTime);const h=b.stream,k=b.stream.segmentIterator;var l=a.j.presentationTimeline.getDuration();const m=QF(a,d);l=RF(a,b,g,Math.max(0,g.startTime-.1),m?m.startTime+.01:l,e);b.Db=!0;b.
|
|
147
|
-
!a.w){if(!a.j.presentationTimeline.isLive()&&b.type!==_.K){var p=TE(b),u=(a.D.$.Oa(b.type)||0)-n,v=e.endTime-e.startTime,y=u-v;if(Math.abs(y)>=Math.min(.01,v)&&Math.abs(y)<=Math.min(1,v)){a.g.debug(p,"Adjusted segment",e.position,"with real duration",u,"and accounted for",y,"delta between segment duration and real duration");b.
|
|
148
|
-
a.D.
|
|
146
|
+
MF=function(a,b,c,d,e){return _.w(function*(){const f=TE(b),g=eF(a,d);a.g.debug(f,"fetchAndAppend_:",RA+c,IA+g.startTime,TA+e.position,UA+e.startTime,SA+e.endTime);const h=b.stream,k=b.stream.segmentIterator;var l=a.j.presentationTimeline.getDuration();const m=QF(a,d);l=RF(a,b,g,Math.max(0,g.startTime-.1),m?m.startTime+.01:l,e);b.Db=!0;b.Ce=!1;a.g.debug(f,"fetching segment");const n=a.D.$.Oa(b.type)||0;l.then(()=>a.f||a.w?null:SF(a,b,e,(p,u)=>a.f||a.w?null:TF(a,b,c,g,h,e,p,u))).then(()=>{if(!a.f&&
|
|
147
|
+
!a.w){if(!a.j.presentationTimeline.isLive()&&b.type!==_.K){var p=TE(b),u=(a.D.$.Oa(b.type)||0)-n,v=e.endTime-e.startTime,y=u-v;if(Math.abs(y)>=Math.min(.01,v)&&Math.abs(y)<=Math.min(1,v)){a.g.debug(p,"Adjusted segment",e.position,"with real duration",u,"and accounted for",y,"delta between segment duration and real duration");b.se=!0;{p=a.j.periods;h.adjustSegmentDurations(e.position,y);u=UB(p,h);v=p[u];const A=h.getDuration();WB(v,A);for(u+=1;u<p.length;u++)p[u].startTime+=y}}}b.Db=!1;b.Bf=!1;b.kc||
|
|
148
|
+
a.D.Ge();k&&(p=k.next().value)&&a.g.debug("New iterated segment",p);cF(a,b,0);a.C?p=!1:(a.C=UF(a),p=a.C);p&&(a.g.debug("startup complete"),p=mF(a,h).id,VF(a,p),a.D.Li&&(a.g.debug("calling onStartupComplete()..."),a.D.Li()));a.g.debug(f,"finished fetch and append")}}).catch(p=>_.w(function*(){a.f||a.w||(b.Db=!1,b.type===_.K&&a.h.ignoreTextStreamFailures?(1001===p.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."),
|
|
149
149
|
a.a.delete(_.K)):7001===p.code?(b.Db=!1,b.ub=null,cF(a,b,0)):3017===p.code?WF(a,b,p):1001===p.code&&p.data&&404===p.data[1]?(a.g.warn(f,"request for segment failed","segment not available on server",TA+e.position,UA+e.startTime,SA+e.endTime,"error\x3d"+p),b.Db=!1,b.ub=null,cF(a,b,1)):b.type===_.K?(p instanceof _.I&&p.a(1),WE(b),a.D.onError(new _.I(1,2,2010,p))):1001<=p.code&&1003>=p.code?yield XF(a,b,g,p):(a.g.error(f,"failed fetch and append: code\x3d"+p.code),b.fd=!0,p instanceof _.I&&p.a(_.D),
|
|
150
150
|
yield OF(a,p)))}))})};mF=function(a,b){a=a.j.periods;const c=UB(a,b);a=a[c];if(!a)throw new _.I(_.D,5,5006,`No period found for stream with ID ${b.id}.`);return a};
|
|
151
|
-
HF=function(a,b,c,d){const e=TE(b);if(null==c)return a.g.warn(e,qA),null;c=eF(a,c);const f=b.stream.getSegmentReference(d);if(!f)return a.g.debug(e,"segment does not exist:",IA+c.startTime,"position\x3d"+d),null;var g=a.j.presentationTimeline;d=_.oC(g);g=nC(g);return!b.
|
|
151
|
+
HF=function(a,b,c,d){const e=TE(b);if(null==c)return a.g.warn(e,qA),null;c=eF(a,c);const f=b.stream.getSegmentReference(d);if(!f)return a.g.debug(e,"segment does not exist:",IA+c.startTime,"position\x3d"+d),null;var g=a.j.presentationTimeline;d=_.oC(g);g=nC(g);return!b.se&&(c.startTime+f.endTime<d||c.startTime+f.startTime>g)?(a.g.debug(e,"segment is not available:",IA+c.startTime,UA+f.startTime,SA+f.endTime,"availabilityStart\x3d"+d,"availabilityEnd\x3d"+g),null):f};
|
|
152
152
|
IF=function(a,b,c,d){const e=TE(b);d=eF(a,d);const f=Math.max(0,c-d.startTime);b=b.stream.findSegmentPosition(f);a.g.debug(e,"Looked up segment:",RA+c,"lookupTime\x3d"+f,IA+d.startTime,"Result: segment position\x3d"+b);null==b&&a.g.warn(e,"cannot find segment:",IA+d.startTime,"lookupTime\x3d"+f);return b};QF=function(a,b){const c=a.j.periods.findIndex(d=>d.id===b);return 0>c?null:a.j.periods[c+1]||null};
|
|
153
|
-
RF=function(a,b,c,d,e,f){return _.w(function*(){var g=c.startTime-f.Ka,h=b.
|
|
154
|
-
h])}})};SF=function(a,b,c,d){return _.w(function*(){var e=ZF(a,c,b.type),f=c.f();let g=!1;e.onFragment=c.Xc||a.h.disableFragmentSupport||f?null:l=>{g=!0;return d(l.data,!0)};e.disableMergedFragments=a.h.disableMergedFragments;a.g.debug("fetching media segment",c);f=$F(a,b,c,!1);e=yield aG(a,e,b,c,f);f=a.D.
|
|
155
|
-
TF=function(a,b,c,d,e,f,g,h){h=void 0===h?!1:h;return _.w(function*(){const k=TE(b);if(e&&e.keyId&&a.D.
|
|
156
|
-
l=mF(a,e).id,(l=VF(a,l))&&(yield l),l=a.D.
|
|
153
|
+
RF=function(a,b,c,d,e,f){return _.w(function*(){var g=c.startTime-f.Ka,h=b.Ce||f.initSegment!==(b.oa&&b.oa.initSegment);if(h||g!==b.Lg){b.Lg=g;var k=TE(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=dE(a.D.$,b.type,g,d,e,b.stream.mimeType,b.stream.codecs);if(!b.stream.initSegmentReference||!h)return g;a.g.debug(k,KA);h=YF(a,b,f&&f.initSegment||b.stream.initSegmentReference,k);return Promise.all([g,
|
|
154
|
+
h])}})};SF=function(a,b,c,d){return _.w(function*(){var e=ZF(a,c,b.type),f=c.f();let g=!1;e.onFragment=c.Xc||a.h.disableFragmentSupport||f?null:l=>{g=!0;return d(l.data,!0)};e.disableMergedFragments=a.h.disableMergedFragments;a.g.debug("fetching media segment",c);f=$F(a,b,c,!1);e=yield aG(a,e,b,c,f);f=a.D.Gd();const h=e.timeMs,k=e.data.byteLength;h&&k&&f.segmentDownloaded(h,k);g||(yield d(e.data,!1))})};
|
|
155
|
+
TF=function(a,b,c,d,e,f,g,h){h=void 0===h?!1:h;return _.w(function*(){const k=TE(b);if(e&&e.keyId&&a.D.Dd){a:{var l=a.D.Dd;var m=e.keyId;if(m)for(var n of l.h.keys()){const p=l.h.get(n);for(let u=0;u<p.vb.length;u++)if(p.vb[u]===m){l=p;break a}}l=null}if(l=l?l.rb:null)try{yield l}catch(p){a.g.warn("DRM session load failed, cannot append segment!")}else a.g.warn(`Unable to find DRM session for ${e.keyId}`)}if(l=e.encrypted&&e.keyId&&a.D.Dd)l=a.D.Dd.o.get(e.keyId),l=!(!l||l!==_.Se&&l!==_.ie);l?(WE(b),
|
|
156
|
+
l=mF(a,e).id,(l=VF(a,l))&&(yield l),l=a.D.Ye(e,d,NA),a.g.warn(k,`Blocked append for ${f.startTime+d.startTime} - ${f.endTime+d.startTime}: ${l}. `+`Stream with Key ID ${e.keyId} has restrictions.`)):(l=e.closedCaptions&&0<e.closedCaptions.size,null!=e.emsgSchemeIdUris&&0<e.emsgSchemeIdUris.length&&(new _.np).fa("emsg",a.K.bind(a,d,f,e.emsgSchemeIdUris)).parse(g),yield hG(a,b,c),a.f||(m=f.startTime+d.startTime,n=f.endTime+d.startTime,a.g.debug(k,"Appending segment "+`with ${m.toFixed(3)} - ${n.toFixed(3)} `+
|
|
157
157
|
`KeyID: ${e.keyId} `+`Width: ${e.width} Height: ${e.height} `+`Bitrate: ${_.Ci(e.bandwidth)} `+`Fragment: ${h}`),yield ZD(a.D.$,b.type,g,m,n,l,e.id,h,e.type===_.t&&null!=e.muxedAudioId&&!a.A),a.f||(a.g.debug(k,"appended media segment"),b.$b=e,b.oa=f)))})};
|
|
158
|
-
WF=function(a,b,c){const d=TE(b);if(Array.from(a.a.values()).some(e=>e!==b&&e.
|
|
159
|
-
XF=function(a,b,c,d){return _.w(function*(){let e=!0;1001===d.code&&500<=d.data.status||(e=!a.D.
|
|
158
|
+
WF=function(a,b,c){const d=TE(b);if(Array.from(a.a.values()).some(e=>e!==b&&e.Bf))a.g.debug(d,uA,"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.fd=!0;a.w=!0;a.D.onError(c);return}a.g.warn(d,uA,"reducing buffering goals by "+(100-Math.round(100*a.l))+"%");b.Bf=!0}cF(a,b,4)};
|
|
159
|
+
XF=function(a,b,c,d){return _.w(function*(){let e=!0;1001===d.code&&500<=d.data.status||(e=!a.D.Ye(b.stream,c));e&&(b.fd=!0,d.a(_.D),yield OF(a,d))})};YF=function(a,b,c,d){return _.w(function*(){try{const e=yield iG(a,b,c);a.f||(a.g.debug(d,"appending init segment"),yield jG(a,e,b),yield ZD(a.D.$,b.type,e,null,null,!!b.stream.closedCaptions&&0<b.stream.closedCaptions.size))}catch(e){throw b.Ce=!0,e;}})};
|
|
160
160
|
iG=function(a,b,c){return _.w(function*(){const d=ZF(a,c,b.type);d.responseModifiers.push(f=>{kG(a,b,f.data)});b.type===_.t&&a.h.overridePasp&&d.responseModifiers.push(a.L.bind(a));a.g.debug(KA,c);const e=$F(a,b,c,!0);return(yield aG(a,d,b,c,e)).data})};jG=function(a,b,c){return _.w(function*(){if(a.h.patchEdgeWhenMixedContent&&_.Ri()){const d=QE(b);yield ZD(a.D.$,c.type,d.buffer,null,null,!!c.stream.closedCaptions&&0<c.stream.closedCaptions.size)}})};
|
|
161
161
|
VF=function(a,b){let c=null;a.B.has(b)||(c=JF(a,b).then(()=>{a.f||GF(a)}).catch(pB));KF(a);return c};
|
|
162
162
|
hG=function(a,b,c){return _.w(function*(){if(!a.f){var d=TE(b);a.g.debug(d,"checking buffer length");var e=Math.max(a.h.bufferBehind,a.j.presentationTimeline.h),f=a.D.$.Vb(b.type);if(null==f)a.g.debug(d,"buffer behind okay because nothing buffered:",RA+c,DA+e);else{var g=c-f,h=g-e;.01>=h?a.g.debug(d,"buffer behind okay:",RA+c,EA+g,DA+e,"underflow\x3d"+Math.abs(h)):(a.g.debug(d,"buffer behind too large:",RA+c,EA+g,DA+e,"overflow\x3d"+h),yield a.D.$.remove(b.type,f,f+h),a.f||a.g.debug(d,"evicted "+
|
|
@@ -169,24 +169,24 @@ vD=function(a,b,c){c=void 0===c?!1:c;var d=void 0===d?0:d;_.w(function*(){if(!a.
|
|
|
169
169
|
b.id),Error("Unable to switch to restricted track.");a.ca=f.video.id;var g=yield e.parser.loadVariant(f,e.id);HD(a.l,e).ib?g.video&&(pG(a,e,g.video,!1),yield vF(a.a,g.video,c,d)):(qG(a,e,g,!1),yield rG(a,g,c,d));null==a.Fc&&(a.Fc=a.Dc);a.Dc=new sG(f);tG(a,e.variants)}else a.ca=null,null!=a.Fc&&(a.Dc=a.Fc,a.Fc=null),a.configuration.abr.enabled||(a.log.info("Enable ABR Selection"),a.configuration.abr.enabled=!0,a.h.enable()),e=tG(a,e.variants).variant,null!=e&&uG(a)&&vG(a,e)})};
|
|
170
170
|
xG=function(a,b){_.w(function*(){if(a.configuration.streaming.disableAudioTracks)throw Error("Audio tracks are disabled by config.");if(!a.a||!a.f||!a.B)throw Error("Not ready to select audio track.");var c=(a.f.muxedAudioTracks||[]).find(k=>k.id===b);if(c)yield wG(a,c);else{var d=iF(a.a),e=hF(a.a);c=GD(a);if(!c)throw Error(vA);var f=oG(a).filter(k=>k.audio.id===b&&vE(k)),g=!1,h=void 0;if(d){if(h=f.find(k=>k.video.id===d.id),!h){a.log.debug("Cannot find exact variant, looking for anything else that matches with given audioId");
|
|
171
171
|
g=!0;const k=a.getTrackManager().Ia();if(k){const l=k.renditions.map(m=>m.id);h=f.find(m=>l.find(n=>n===String(m.video.id)))}}}else h=f[0];if(!h)throw Error("Variant with target audio track not found.");if(!HD(a.l,c).ib&&e.codecs.split(".")[0]!==h.audio.codecs.split(".")[0])throw a.log.warn("Cannot select audio track, codecs are not compatible with active track."),Error("Audio codecs not compatible with active audio.");e=yield c.parser.loadVariant(h,c.id);h=e.audio;a.Ma=h.id;f=f.map(oD);a.h.setTracks(f);
|
|
172
|
-
qG(a,c,e,!1);g||!uG(a)?yield rG(a,e,!0,0):yield wF(a.a,h)}})};yD=function(a,b){return _.w(function*(){if(a.
|
|
173
|
-
zD=function(a,b){return _.w(function*(){if(a.f&&a.a){const c=GD(a),d=yield c.parser.loadTextStream(b.id,c.id);yield jF(a.a,d);zG(a,c,d,!1);yield AG(a,d);a.yc=d.language;a.xc=d.kind===_.Zd}})};CD=function(a){const b=a.
|
|
172
|
+
qG(a,c,e,!1);g||!uG(a)?yield rG(a,e,!0,0):yield wF(a.a,h)}})};yD=function(a,b){return _.w(function*(){if(a.Ff!==b&&(a.Ff=b,a.G===yG&&(a.K.getTextDisplayer().setTextVisibility(b),!a.configuration.streaming.alwaysStreamText)))if(b){var c=GD(a);c=_.xE(c.textStreams,a.yc,a.jd,a.xc);0<c.length&&(yield jF(a.a,c[0]))}else kF(a.a)})};
|
|
173
|
+
zD=function(a,b){return _.w(function*(){if(a.f&&a.a){const c=GD(a),d=yield c.parser.loadTextStream(b.id,c.id);yield jF(a.a,d);zG(a,c,d,!1);yield AG(a,d);a.yc=d.language;a.xc=d.kind===_.Zd}})};CD=function(a){const b=a.Ff;return a.f?a.K.getTextDisplayer().isTextVisible():b};
|
|
174
174
|
BG=function(a,b){a.j||(a.o.on(b,_.Xd,()=>{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 _.I(_.D,3,3016,{code:c,extendedError:d,message:a.j.error.message})}}else c=null;if(c)a.onError(c)}),a.j=b)};DG=function(a){return new _.CG(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})};
|
|
175
|
-
EG=function(a,b){if(a.Aa!==b)if(a.Aa===_.As&&b!==_.Hs)b=lB(b,_.Gs),a.log.info(_.wA+`${b}`);else{var c=a.
|
|
175
|
+
EG=function(a,b){if(a.Aa!==b)if(a.Aa===_.As&&b!==_.Hs)b=lB(b,_.Gs),a.log.info(_.wA+`${b}`);else{var c=a.Rf;c=0===c?0:Date.now()-c;var d=a.Aa;a.Aa=b;a.Rf=Date.now();null!==a.H&&(a.H.w=4===b);a.F&&_.ts(a.F.a,a.Aa);2===b&&(a.mh=a.Af?1:2);var e=a.mh,f={currentState:a.Aa,previousState:d,timeSinceLastStateChangeMS:c,reason:2===b||2===d?e:void 0},g=lB(d,_.Gs),h=lB(b,_.Gs),k=2!==b?"":`[${lB(e,_.Fs)}]`;a.log.info(`Player state change: ${g} -> `+`${h}${k}`);a.trigger(new _.H(_.Rf,{detail:f}));(5===b||b===_.As)&&
|
|
176
176
|
a.R&&a.R.stop();2===b?a.trigger(new _.H(_.Pc,{detail:{bufferedTimeMS:-1,reason:e}})):2===d&&a.trigger(new _.H(_.Oc,{detail:{bufferedTimeMS:c,reason:e}}))}};JG=function(a){return _.w(function*(){FG(a);yield GG(a);HG(a);if(_.Ti(4)||_.Ti(5)){const b=a.getSurface().getMedia();BG(a,b);yield IG(a,b)}a.configuration=a.ia})};
|
|
177
177
|
KG=function(a){return _.w(function*(){const b=a.w.a;b&&(yield b.catch(()=>{}));a.cb&&(a.cb.release(),a.cb=null);yield Object.getPrototypeOf(Object.getPrototypeOf(a)).release.call(a);yield a.unload();EG(a,_.Hs)})};HG=function(a){a.j&&(a.o.off(a.j,_.Xd),a.j=null);a.R&&(a.R.stop(),a.R=null)};FG=function(a){if(a.G===LG)throw new _.I(_.D,7,7E3,"Player is destroyed.");};MG=function(a){return a.X?a.X.catch(()=>{}):Promise.resolve()};
|
|
178
178
|
NG=function(a){const b=new _.Tv;(a=a.playlist)&&a.cropTimeline&&(a.startTime||a.endTime)&&(b.h={start:a.startTime||null,end:a.endTime||null});return b};RG=function(a,b){return _.w(function*(){a.F=new _.uv;EG(a,1);const c=OG(a,a.configuration);yield IG(a,c);AE(a.w,b);a.J=new PG;sC(a.J,d=>{a.log.info("Timeline cue found",d);QG(a,_.cg,d)},()=>{a.log.info("Timeline cues changed");a.trigger(new _.H(_.fg))})})};
|
|
179
179
|
UG=function(a,b,c,d,e){return _.w(function*(){var f=_.jn(b)[c];const g=yield SG(a,f);AE(a.w,d);_.zm(OA);f=yield TG(a,g,f,b.id||"");AE(a.w,d);f.periods.forEach(h=>{h.parser=g});e&&f.presentationTimeline.o&&(yield g.stop(),AE(a.w,d));_.zm("manifest.end");_.Bm("Fetch and parse manifest",OA,"manifest.end");return{parser:g,manifest:f}})};
|
|
180
|
-
YG=function(a,b,c){return _.w(function*(){_.zm("initDrm.start");const d=new _.Ns({Cb:a.getNetworkEngine(),onError:h=>a.onError(h),
|
|
180
|
+
YG=function(a,b,c){return _.w(function*(){_.zm("initDrm.start");const d=new _.Ns({Cb:a.getNetworkEngine(),onError:h=>a.onError(h),tf:h=>{if(a.a){var k=GD(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.");
|
|
181
181
|
if(m.length&&!a.configuration.disableRestrictions){m=a.getPeriods();for(let A=0;A<m.length;A++){const E=m[A];for(var p of E.variants){var u=p;var v=[];u.audio&&v.push(u.audio);u.video&&v.push(u.video);u=v;for(var y of u)u=p.allowedByKeySystem,y.keyId&&(v=h[n?"00":y.keyId],v=!!v&&!VG.includes(v),p.allowedByKeySystem=v),u!==p.allowedByKeySystem&&(v=y.type,y.type===_.t&&(v=`video ${y.width}x${y.height}@`+`${_.Ci(y.bandwidth)}`),a.log.warn("DRM Key not available for "+`KID: '${y.keyId}'. Applying restrictions to ${v}`)),
|
|
182
|
-
E===k&&u!==p.allowedByKeySystem&&(l=!0)}}}if(h=fF(a.a)){p=hF(a.a);y=iF(a.a);a:{n=h.variants;for(m=0;m<n.length;m++)if(n[m].audio===p&&n[m].video===y){n=n[m];break a}n=null}if(!n||n.allowedByKeySystem)a.log.info(rA),WG(a),tG(a,h.variants)}l&&h!==k&&(a.log.info(rA),WG(a),tG(a,k.variants))}},
|
|
182
|
+
E===k&&u!==p.allowedByKeySystem&&(l=!0)}}}if(h=fF(a.a)){p=hF(a.a);y=iF(a.a);a:{n=h.variants;for(m=0;m<n.length;m++)if(n[m].audio===p&&n[m].video===y){n=n[m];break a}n=null}if(!n||n.allowedByKeySystem)a.log.info(rA),WG(a),tG(a,h.variants)}l&&h!==k&&(a.log.info(rA),WG(a),tG(a,k.variants))}},rf:(h,k)=>{a.trigger(new _.H(_.Kd,{expirationTime:k}))},onEvent:h=>a.Nf(h),getConfiguration:()=>a.getConfiguration(),bd:()=>a.bd()});var e=b.periods.every(h=>h.variants.some(k=>k.drmInfos.some(l=>l.licenseServerUriOrigin===
|
|
183
183
|
_.JA)));c.drmResolver&&(c.drm=c.drmResolver({hasLaurl:e}));e=c.drm;var f=_.pn(e);d.f=f;e=e?e.offlineId||"":"";f=[];const g=_.Ct(b.periods);if(e){const h=_.Ph(_.Ue);h&&(yield h.f(a,g),f=yield h.a(e))}yield _.Pq(d,g,f);a.A=d;XG(a,b.periods);_.zm("initDrm.end");_.Bm("Init DRM","initDrm.start","initDrm.end");return d})};
|
|
184
|
-
kH=function(a,b){return _.w(function*(){const c=a.j;ZG(a,c);$G(a,a.f.periods);a.Dc=new aH(a.configuration.preferredAudioLanguage||[],a.configuration.preferredAudioRole,a.configuration.preferredAudioChannelCount,a.configuration.preferSpatialAudio,a.configuration.mediaSource.codecSwitchingStrategy);a.yc=a.configuration.preferredTextLanguage;a.jd=a.configuration.preferredTextRole;a.xc=a.configuration.preferForcedSubtitles;yield _.gr(a.A,c);AE(a.w,b);a.h.configure(a.configuration.abr);a.
|
|
185
|
-
a.h.init((f,g,h)=>_.w(function*(){if(uG(a)){a.log.info(`ABR switch to ${f.width}x${f.height}`);var k=oG(a).find(l=>l.id===f.id)||null;if(k){const l=GD(a);k=yield l.parser.loadVariant(k,l.id);vG(a,k,g,h)}else a.log.warn("No matching variant found for track switch")}}));a.B=bH(a,c,a.configuration.startTime);a.lb=cH(a);a.H=new dH({nc:()=>c.playbackRate,ud:f=>{c.playbackRate=f},
|
|
184
|
+
kH=function(a,b){return _.w(function*(){const c=a.j;ZG(a,c);$G(a,a.f.periods);a.Dc=new aH(a.configuration.preferredAudioLanguage||[],a.configuration.preferredAudioRole,a.configuration.preferredAudioChannelCount,a.configuration.preferSpatialAudio,a.configuration.mediaSource.codecSwitchingStrategy);a.yc=a.configuration.preferredTextLanguage;a.jd=a.configuration.preferredTextRole;a.xc=a.configuration.preferForcedSubtitles;yield _.gr(a.A,c);AE(a.w,b);a.h.configure(a.configuration.abr);a.zf&&a.h.setCmsdManager(a.zf);
|
|
185
|
+
a.h.init((f,g,h)=>_.w(function*(){if(uG(a)){a.log.info(`ABR switch to ${f.width}x${f.height}`);var k=oG(a).find(l=>l.id===f.id)||null;if(k){const l=GD(a);k=yield l.parser.loadVariant(k,l.id);vG(a,k,g,h)}else a.log.warn("No matching variant found for track switch")}}));a.B=bH(a,c,a.configuration.startTime);a.lb=cH(a);a.H=new dH({nc:()=>c.playbackRate,ud:f=>{c.playbackRate=f},Ei:f=>{c.currentTime+=f}});LE(a.H,a.configuration.trickPlay);a.isLive()&&a.configuration.streaming.enableLiveEdgeChasing&&(a.md=
|
|
186
186
|
new eH(a));fH(a,Math.max(1E-4,a.configuration.streaming.rebufferingGoal));gH(a)?nE(a.f,_.ci(a.configuration.preferredVideoCodec),_.ci(a.configuration.preferredAudioCodec),a.configuration.preferredAudioChannelCount):mE(a.f,_.ci(a.configuration.preferredVideoCodec),_.ci(a.configuration.preferredAudioCodec),a.configuration.preferredAudioChannelCount);var d=hH(a);d.h=a.configuration.streaming;a.a=d;a.G=yG;yield d.start();AE(a.w,b);a.configuration.streaming.startAtSegmentBoundary&&(d=iH(a,a.B.getTime()),
|
|
187
187
|
GC(a.B.f,d));for(var e of a.f.periods)jH(a,e);WG(a);e=oG(a);d=e.some(f=>f.primary);a.configuration.preferredAudioLanguage||d||a.log.warn("No preferred audio language set. We will choose an arbitrary language initially");tG(a,e)})};
|
|
188
188
|
lH=function(a,b){var c=a.getMediaPosition(),d=a.Bc,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 _.Rv(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));jB(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].Zc(d[f])){d=!1;
|
|
189
|
-
break a}d=!0}!d&&a.trigger(new _.H(_.Gf));vC(a.
|
|
189
|
+
break a}d=!0}!d&&a.trigger(new _.H(_.Gf));vC(a.De);tC(a.J,b.cues)};mH=function(a){return _.w(function*(){yield Promise.all(a.M.map(b=>b.stop()));a.M=[]})};oH=function(a,b,c){b=nH(a,b,c);c.catch(()=>{});c.reject(b);a.onError(b);throw b;};pH=function(a){a.M.map(b=>b.requestStop())};
|
|
190
190
|
qH=function(a,b){return _.w(function*(){const c=yield UG(a,b,0,null,!0);try{const d=[a.f,jD(c.manifest)],e=mD(d,a.f.presentationTimeline);return{parser:c.parser,manifest:e}}catch(d){throw new _.I(_.D,7,7003,"Failed to append load manifest");}})};rH=function(a,b){a.configuration.ads.hls.mockCuesFn?(b=a.configuration.ads.hls.mockCuesFn(a),tC(a.J,b)):tC(a.J,b)};
|
|
191
191
|
sH=function(a,b){return _.w(function*(){const c=a.M[a.M.length-1];b.periods.forEach(d=>{d.parser=c});if(a.S===_.na)rH(a,b.cues),zF(a.a,b);else if(a.S===_.db){a.f=nD(a.f,jD(b));const d=a.configuration.playlist.endTime,e=a.f.presentationTimeline.a.a;d&&e>d&&(a.log.info("Reached end of playlist. Turning timeline static."),pH(a),a.M=[],_.hC(a.f.presentationTimeline,!0),a.trigger(new _.H(_.pe)));lH(a,a.f);zF(a.a,a.f)}})};
|
|
192
192
|
tH=function(a){return _.w(function*(){pH(a);a.M=[];a.S===_.db?a.trigger(new _.H(_.Ff)):a.trigger(new _.H(_.pe))})};
|
|
@@ -198,23 +198,23 @@ zH=function(a,b){b.cmcd&&b.cmcd.enabled&&(b.cmcd.sessionId||(b.cmcd.sessionId=a.
|
|
|
198
198
|
nH=function(a,b,c){var d=a.w;return null!=d.a&&d.a===c||b instanceof _.I&&7E3===b.code?b instanceof _.I?b:new _.I(_.D,7,7003,"Unexpected error.",b):zE(a.w)};OG=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);BG(a,c);return c};QG=function(a,b,c){a.trigger(new _.H(b,{detail:rC(c,EH(a))}))};
|
|
199
199
|
SG=function(a,b){return _.w(function*(){var c=a.getNetworkEngine();c=yield _.Nt(b.url,c,a.configuration.manifest.attemptParameters,b.type||null);c.configure(a.configuration.manifest);return c})};
|
|
200
200
|
TG=function(a,b,c,d){return(new _.Rs(Promise.resolve().then(()=>_.w(function*(){let e=null;for(;!e;)try{{var f=b,g=c.url;const k=FH(a,d);var h=f.start(g,k)}e=yield h}catch(k){if(a.Uc)if(f=yield a.Uc(c.url,k))c.url=f;else throw k;else throw k;}if(0===e.periods.length)throw new _.I(_.D,4,4014);nG(e.periods);return e})),()=>{a.log.info("Aborting parser step...");return b.stop()})).V};
|
|
201
|
-
vH=function(a){if(a.F&&a.I&&a.B){var b=2===GH(a),c=a.H;c.l=b;OE(c,c.o?"seek":void 0);a.B.j.o=b;HH(a);a.
|
|
202
|
-
XG=function(a,b){
|
|
203
|
-
a.
|
|
204
|
-
$G=function(a,b){for(let c=0;c<b.length;c++){const d=b[c],e=new Map;for(const f of oG(a))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.
|
|
201
|
+
vH=function(a){if(a.F&&a.I&&a.B){var b=2===GH(a),c=a.H;c.l=b;OE(c,c.o?"seek":void 0);a.B.j.o=b;HH(a);a.De&&(c=1>Math.abs(a.getMediaDuration()-a.getMediaPosition()),a=a.De,b&&c&&(b=a.a,b.a[b.a.length-1]&&a.f(new _.H(_.Df))))}};
|
|
202
|
+
XG=function(a,b){if(a.configuration.streaming.disableAudioTracks)for(var c of b)for(const g of c.variants)delete g.audio;if(a.configuration.streaming.disableVideoTracks)for(var d of b)for(var e of d.variants)(c=e.video)&&!nB(c.type,_.Xm(c.mimeType,c.codecs))&&delete e.video;d=a.a?hF(a.a):null;e=a.a?iF(a.a):null;c=!gH(a);for(var f of b)sE(a.A,d,e,f,c);f=mB(b,g=>g.variants.some(vE));if(0===f)throw new _.I(_.D,4,4032);if(f<b.length)throw new _.I(_.D,4,4011);for(const g of b)pE(g.variants,a.configuration.restrictions)&&
|
|
203
|
+
a.a&&GD(a)===g&&WG(a),IH(a,g.variants)};ZG=function(a,b){const c=d=>{a.j&&a.I&&(d.type===_.Jf&&a.Lc?(a.I.a=JH,vH(a)):d.type===_.Gg&&3===a.getState()&&.1>a.getBufferInfo().Pa(a.getMediaPosition())?(a.I.a=JH,vH(a)):a.I&&KH(a));HH(a)};a.o.on(b,_.hf,c);a.o.on(b,_.Te,c);a.o.on(b,_.Wd,c);a.o.on(b,_.Jf,c);a.o.on(b,_.If,c);a.o.on(b,_.uf,c);a.o.on(b,_.Gg,c);a.o.on(b,_.wf,()=>{if(a.j){var d=a.j.playbackRate;0!==d&&a.H.set(d)}})};
|
|
204
|
+
$G=function(a,b){for(let c=0;c<b.length;c++){const d=b[c],e=new Map;for(const f of oG(a))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.Yf++,originalId:h,createSegmentIndex:Promise.resolve.bind(Promise),findSegmentPosition:()=>null,getSegmentReference:()=>null,initSegmentReference:null,Ka:0,mimeType:_.uc,codecs:"",kind:_.GA,encrypted:!1,keyId:null,language:g.closedCaptions.get(h),label:null,type:_.K,primary:!1,trickModeVideo:null,
|
|
205
205
|
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)}};uG=function(a){return a.a?a.a.F:!1};oG=function(a){return a.f.alternativeVariants&&0<a.f.alternativeVariants.length?a.f.alternativeVariants:a.B?GD(a).variants:a.f.periods[0].variants};GD=function(a){const b=a.B.getTime();let c=null;for(const d of a.f.periods)d.startTime<=b&&(c=d);return c};
|
|
206
206
|
vG=function(a,b,c,d){c=void 0===c?!1:c;d=void 0===d?0:d;_.w(function*(){if(a.configuration.abr.enabled&&a.a){var e=LH(a,b);if(HD(a.l,e).ib){const f=b.video;if(f){MH(a,e,()=>pG(a,e,f,!0));e===GD(a)&&NH(a);yield vF(a.a,f,c,d);return}}MH(a,e,()=>{qG(a,e,b,!0)});e===GD(a)&&NH(a);tF(a.a,b,c,d)}})};bH=function(a,b,c){return new OH(b,a.f,a.configuration.streaming,c,d=>{a.lb&&NC(a.lb,!0,d);a.a&&AF(a.a)},d=>a.dispatchEvent(d),a.S===_.db)};
|
|
207
|
-
cH=function(a){const b=new PH(a.j);var c=new QH(a.f);KE(c,()=>{WG(a)});b.a.add(c);a.J&&(c=new RH(a.J),PC(c,d=>{d.
|
|
207
|
+
cH=function(a){const b=new PH(a.j);var c=new QH(a.f);KE(c,()=>{WG(a)});b.a.add(c);a.J&&(c=new RH(a.J),PC(c,d=>{d.Ee&&d.Ee();QG(a,_.dg,d)},d=>{d.qf&&d.qf();QG(a,_.eg,d)},(d,e)=>{e||(d.Ee&&d.Ee(),QG(a,_.dg,d),d.qf&&d.qf(),QG(a,_.eg,d))}),b.a.add(c));a.S===_.db&&(c=new SH(a.Bc,a.Jc,d=>a.trigger(d),a.configuration.playlist),b.a.add(c),a.De=c);return b};fH=function(a,b){a.I=new TH(b,Math.min(.5,b/2));a.I.a=JH;vH(a);a.R=(new _.Pi(()=>{KH(a)})).Hb(.25)};
|
|
208
208
|
gH=function(a){return a.configuration.mediaSource.codecSwitchingStrategy===_.Of&&(_.Ti(2)||_.Ti(3)||_.Ti(4)||_.Ti(5)||_.Ti(6)||_.Wi()&&38===_.$i().major||_.Wi()&&53===_.$i().major||_.Wi()&&68===_.$i().major?!1:!0)};
|
|
209
|
-
hH=function(a){const b={configuration:{
|
|
209
|
+
hH=function(a){const b={configuration:{yi:a.S===_.db},yb:()=>a.B.getTime(),$:a.K,Cb:a.getNetworkEngine(),Wc:a.U,pf:a.rh.bind(a),Pg:a.sh.bind(a),onError:a.onError.bind(a),Qg:a.th.bind(a),onEvent:a.Nf.bind(a),Tg:a.xh.bind(a),Ge:a.uh.bind(a),Gd:()=>a.h,Ye:a.qh.bind(a),ih:a.wh.bind(a),Dd:a.A};return new _.UH(a.f,b)};
|
|
210
210
|
iH=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=hF(a.a);var e=iF(a.a);const f=GD(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};
|
|
211
|
-
jH=function(a,b){var c=a.a?hF(a.a):null;const
|
|
212
|
-
|
|
211
|
+
jH=function(a,b){const c=b.variants;if(a.configuration.streaming.disableAudioTracks)for(var d of c)delete d.audio;d=a.a?hF(a.a):null;const e=a.a?iF(a.a):null,f=!gH(a);sE(a.A,d,e,b,f);if(!c.some(vE))throw new _.I(_.D,4,4011);IH(a,b.variants);pE(c,a.configuration.restrictions)&&a.a&&GD(a)===b&&WG(a);if(!_.Ti(2)&&(b=a.A?a.A.getDrmInfo():null))for(const g of c)for(const h of g.drmInfos)if(h.keySystem===b.keySystem)for(const k of h.initData||[])_.Uq(a.A,k.keyId,k.initData)||_.Wq(a.A,k.initDataType,k.initData,
|
|
212
|
+
k.keyId)};WG=function(a){const b=a.getTrackManager();b&&a.G!==LG&&(b.m&&(FD(b),b.m.trigger(new _.H(_.hg))),NH(a))};tG=function(a,b){b=VH(a,b);if(!b)return{variant:null,ib:null};a=WH(a,b);return{variant:b,ib:a}};
|
|
213
213
|
KH=function(a){if(a.j){switch(a.G){case yG:a:if(a.j.ended||VD(a.K))var b=!0;else{if(a.isLive()){b=nC(a.f.presentationTimeline);var c=a.getBufferInfo();if(null!==c&&(c=c.Oa(),null!==c&&c>=b)){b=!0;break a}}b=!1}break;default:b=!1}if(a.K){var d=XD(a.K);c=d.video;d=d.audio;var e=a.j.currentTime;c&&d?(c=c.Pa(e),d=d.Pa(e),d=Math.min(c,d)):d=c?c.Pa(e):d?d.Pa(e):0}else d=0;if(c=a.I){{c=a.I;e=d;var f=b;const g=c.f.get(c.a);d=c.a;e=f||e>=g?XH:JH;c.a=e;c=d!==e}}(d=YH(a))&&a.cb&&(a.cb.h=!0);c||2===a.getState()&&
|
|
214
214
|
!d?(a.log.debug("Buffering state changed. Is buffering",d,"buffered to end",b,"state",a.getState()),vH(a)):a.Ic&&HH(a)}};HH=function(a){EG(a,GH(a))};YH=function(a){return a.A&&a.A.F?!0:a.I?a.I.getState()===JH:!1};ZH=function(a){const b=GD(a);return b?HD(a.l,b).video:null};$H=function(a){const b=GD(a);return b?HD(a.l,b).audio:null};bI=function(a){if(null==GD(a))return[];aI(a);return oG(a).filter(b=>vE(b))};
|
|
215
215
|
cI=function(a){const b=GD(a);if(null==b)return[];aI(a);return a.f.alternativeTextStreams?a.f.alternativeTextStreams:b.textStreams.filter(c=>!a.od.has(c))};zG=function(a,b,c,d){CE(a.l,b,c);if(b=a.getTrackManager())JD(b,c.id,_.P,d),c=b.Xa(),a=a.F.f,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}))};AG=function(a,b){return _.w(function*(){uG(a)?yield _.xF(a.a,b):a.W=b})};
|
|
216
216
|
pG=function(a,b,c,d){const e=a.getTrackManager();if(e){var f=a.F.f;HD(a.l,b).video=c;JD(e,c.id,_.R,d);a=e.ta();f.j!==a&&(f.j=a,f.a.push({timestamp:Date.now()/1E3,id:a.id,trackId:a.track.id,type:a.track.type,fromAdaptation:d,width:a.width,height:a.height,bandwidth:a.bandwidth}))}};qG=function(a,b,c,d){b.parser&&b.parser.setCurrentVariant(c);c.video&&pG(a,b,c.video,d);c.audio&&dI(a,b,c.audio,d)};
|
|
217
|
-
rG=function(a,b,c,d){c=void 0===c?!1:c;d=void 0===d?0:d;return _.w(function*(){uG(a)?yield tF(a.a,b,c,d):(a.da=b,a.
|
|
217
|
+
rG=function(a,b,c,d){c=void 0===c?!1:c;d=void 0===d?0:d;return _.w(function*(){uG(a)?yield tF(a.a,b,c,d):(a.da=b,a.Xf=c,a.ph=d)})};
|
|
218
218
|
wG=function(a,b){return _.w(function*(){const c=GD(a);if(!c)throw Error(vA);const d=c.variants.filter(g=>g.video&&g.video.muxedAudioId===b.groupId&&vE(g));if(0===d.length)throw Error("No variants containing muxed audio found.");let e=d[0];const f=iF(a.a);f&&(e=d.find(g=>g.video.id===f.id)||null);e&&e.video&&(a.Ma=b.id,a.log.info(`Select muxed audio track ${b.id}`),eI(a,c,b,!1),yield uF(a.a))})};
|
|
219
219
|
eI=function(a,b,c,d){b=HD(a.l,b);b.audio=null;b.ib=c;if(b=a.getTrackManager())a=a.F.f,JD(b,c.id,_.Q,d),c=b.Qa(),iB(a,c,d)};EH=function(a){return a.S===_.db&&"flat"===a.configuration.playlist.timeline};gI=function(a,b,c){c=void 0===c?!0:c;_.w(function*(){var d=tG(a,b.variants).variant;a.Ma=d&&d.audio&&d.audio.id;d&&(d=yield b.parser.loadVariant(d,b.id),qG(a,b,d,!0),yield rG(a,d,c));(d=fI(a,b.textStreams))&&(a.configuration.streaming.alwaysStreamText||CD(a))&&(zG(a,b,d,!0),yield AG(a,d))})};
|
|
220
220
|
dI=function(a,b,c,d){const e=a.getTrackManager();if(e){var f=a.F.f;a=HD(a.l,b);a.audio=c;a.ib=null;JD(e,c.id,_.Q,d);c=e.Qa();iB(f,c,d)}};
|
|
@@ -226,15 +226,15 @@ hI=function(a,b){a.h.disable();a.log.debug("Choosing new streams after period ch
|
|
|
226
226
|
b,()=>zG(a,b,f,!0));b===GD(a)&&NH(a);c=a.configuration.streaming.alwaysStreamText||CD(a)?f:null;return{video:g,audio:h,text:c,ib:e}};MH=function(a,b,c){a.Ib.has(b)||a.Ib.set(b,[]);a.Ib.get(b).push(c)};NH=function(a){const b=GD(a);if(b){const c=a.Ib.get(b)||[];for(a.Ib.delete(b);c.length;)c.shift()()}};LH=function(a,b){for(const c of a.f.periods)if(c.variants.some(d=>d.id===b.id))return c;return null};
|
|
227
227
|
iI=function(a,b,c,d){return _.w(function*(){let e;try{e=yield _.Nt(b.url,a.getNetworkEngine(),a.configuration.manifest.attemptParameters,b.type||null);e.configure(a.configuration.manifest);{var f=e,g=b.url;const F=FH(a,a.configuration.id||"");var h=f.start(g,F)}const k=yield h;nG(k.periods);if(!k.periods.length)throw new _.I(_.D,4,4014);yield mH(a);a.M=[e];const l=d&&d.id,m=c&&c.id;a.f.periods=k.periods;const n=SB(k.periods,a.B.getTime())||k.periods[0];gH(a)?nE(a.f,_.ci(a.configuration.preferredVideoCodec),
|
|
228
228
|
_.ci(a.configuration.preferredAudioCodec),a.configuration.preferredAudioChannelCount):mE(a.f,_.ci(a.configuration.preferredVideoCodec),_.ci(a.configuration.preferredAudioCodec),a.configuration.preferredAudioChannelCount);const p=gD(l,m,n.variants),u=fI(a,n.textStreams);tG(a,n.variants);const v=p&&p.video,y=p&&p.audio;h=[];const A=new Set;for(const F of n.variants)F.video&&A.add(F.video),F.audio&&A.add(F.audio);const E=a.getNetworkEngine();for(const F of[...A,...n.textStreams])h.push(F.createSegmentIndex(E,
|
|
229
|
-
a.configuration.streaming.attemptParameters));yield Promise.all(h);FF(a.a,_.q,y);FF(a.a,_.t,v);FF(a.a,_.K,u);p&&qG(a,n,p,!1);a.log.info("Switch CDN successful.")}catch(k){throw e&&(yield e.stop()),k;}})};FH=function(a,b){return{networkingEngine:a.getNetworkEngine(),onContentSteeringInfoFound:c=>CH(a,c),configurationId:b,filterNewPeriod:c=>jH(a,c),filterAllPeriods:c=>XG(a,c),onEvent:c=>a.
|
|
229
|
+
a.configuration.streaming.attemptParameters));yield Promise.all(h);FF(a.a,_.q,y);FF(a.a,_.t,v);FF(a.a,_.K,u);p&&qG(a,n,p,!1);a.log.info("Switch CDN successful.")}catch(k){throw e&&(yield e.stop()),k;}})};FH=function(a,b){return{networkingEngine:a.getNetworkEngine(),onContentSteeringInfoFound:c=>CH(a,c),configurationId:b,filterNewPeriod:c=>jH(a,c),filterAllPeriods:c=>XG(a,c),onEvent:c=>a.Nf(c),onError:c=>a.onError(c),onUpdate:c=>sH(a,c),onTurnedStatic:()=>tH(a),Gd:()=>a.h}};
|
|
230
230
|
jI=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)}};
|
|
231
231
|
kI=function(){const a=MediaSource.isTypeSupported;MediaSource.isTypeSupported=b=>"mp2t"===b.split(/ *; */)[0].split("/")[1].toLowerCase()?!1:a(b)};lI=function(){const a=MediaSource.prototype.addSourceBuffer;MediaSource.prototype.addSourceBuffer=function(...b){b=a.apply(this,b);b.abort=function(){};return b}};mI=function(){const a=SourceBuffer.prototype.remove;SourceBuffer.prototype.remove=function(b,c){return a.call(this,b,c-.001)}};
|
|
232
232
|
nI=function(){const a=MediaSource.isTypeSupported;MediaSource.isTypeSupported=b=>"opus"!==_.uB(b)&&a(b)};oI=function(a,b){const c=a.mode;a.mode=c===_.Kf?_.Kf:_.ce;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};cB=[112,115,115,104,0,0,0,0];_.pI=0;DH=class{constructor(a,b,c){this.j=a;this.a=b;this.g=new _.T("clpp.net.CmcdManager");this.l=zB(this);this.j.f.push(this.l);this.f=c;this.h=!1}release(){ZA(this.j,this.l)}};
|
|
233
|
-
_.qI=class{constructor(a,b,c,d,e,f=()=>"",g){this.Da=a;this.na=b;this.ja=c;this.keyInfo=d||null;this.Xc=_.z(e)?!1:!!e;this.cd=f?f:()=>"";this.Ha=g}
|
|
234
|
-
_.rI=class{constructor(a,b,c,d,e,f,g,h=null,k=!1,l=null,m=null,n=null,p=null,u=[],v=null,y=()=>"",A){this.position=a;this.startTime=b;this.endTime=c;this.Ka=g;this.Da=d;this.na=e;this.ja=f;this.keyInfo=h||null;this.Xc=_.z(k)?!1:!!k;this.timescale=l;this.horizontalTiles=m;this.verticalTiles=n;this.durationPerTile=p;this.a=u||[];this.h=!1;this.initSegment=v;this.cd=y?y:()=>"";this.Ha=A}getPosition(){return this.position}
|
|
233
|
+
_.qI=class{constructor(a,b,c,d,e,f=()=>"",g){this.Da=a;this.na=b;this.ja=c;this.keyInfo=d||null;this.Xc=_.z(e)?!1:!!e;this.cd=f?f:()=>"";this.Ha=g}Kd(){return this.ja?this.ja-this.na+1:null}f(){return this.keyInfo}};
|
|
234
|
+
_.rI=class{constructor(a,b,c,d,e,f,g,h=null,k=!1,l=null,m=null,n=null,p=null,u=[],v=null,y=()=>"",A){this.position=a;this.startTime=b;this.endTime=c;this.Ka=g;this.Da=d;this.na=e;this.ja=f;this.keyInfo=h||null;this.Xc=_.z(k)?!1:!!k;this.timescale=l;this.horizontalTiles=m;this.verticalTiles=n;this.durationPerTile=p;this.a=u||[];this.h=!1;this.initSegment=v;this.cd=y?y:()=>"";this.Ha=A}getPosition(){return this.position}Kd(){return this.ja?this.ja-this.na+1:null}f(){return this.keyInfo}};
|
|
235
235
|
_.FB=class{constructor(a,b,c,d,e,f,g){this.tagName=a;this.textContent=b;this.attributes=c;this.childNodes=d;this.localName=f;this.a=g}getAttribute(a){a=this.attributes[a];return null==a?null:a}};
|
|
236
|
-
_.HB=class{j(a,b){a=GB(a).childNodes[0];return b&&a.tagName!==b?null:a}h(a,b){a=this.a(a,b);return 1!==a.length?null:a[0]}a(a,b){return Array.from(a.childNodes).filter(c=>c.tagName===b)}f(a){return a.childNodes.every(b=>b.tagName===_.da||"#cdata"===b.tagName)?a.childNodes.map(b=>b.textContent).join(""):null}getAttributeNS(a,b,c){return(b=a.a.get(b))?a.attributes[`${b}:${c}`]||null:null}removeChild(a,b){a.childNodes=a.childNodes.filter(c=>c!==b)}};_.Xg=_.HB.prototype;_.Xg.
|
|
237
|
-
_.Xg.
|
|
236
|
+
_.HB=class{j(a,b){a=GB(a).childNodes[0];return b&&a.tagName!==b?null:a}h(a,b){a=this.a(a,b);return 1!==a.length?null:a[0]}a(a,b){return Array.from(a.childNodes).filter(c=>c.tagName===b)}f(a){return a.childNodes.every(b=>b.tagName===_.da||"#cdata"===b.tagName)?a.childNodes.map(b=>b.textContent).join(""):null}getAttributeNS(a,b,c){return(b=a.a.get(b))?a.attributes[`${b}:${c}`]||null:null}removeChild(a,b){a.childNodes=a.childNodes.filter(c=>c!==b)}};_.Xg=_.HB.prototype;_.Xg.ce=_.Zg(18);_.Xg.Le=_.Zg(16);
|
|
237
|
+
_.Xg.Ae=_.Zg(14);_.Xg.Be=_.Zg(12);_.Xg.Ke=_.Zg(10);_.Xg.Vc=_.Zg(8);_.Xg.we=_.Zg(6);_.Xg.aa=_.Zg(4);_.Xg.Ec=_.Zg(2);_.Xg.Wb=_.Zg(0);
|
|
238
238
|
_.CG=class{constructor(a=null){this.j=a;this.log=new _.T("clpp.renditions");this.T=[];this.h=this.player=null;this.f=!1}track(a){null!=this.player&&OB(this);a&&(this.player=a,this.player.on(_.Bf,this.a,this))}release(){OB(this);this.T=[];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.T.find(f=>f.start>=a&&
|
|
239
239
|
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.T)a>=f.start&&a<f.end?f.end=a:b>=f.start&&b<f.end&&(f.start=b);this.T.push(c);this.T.sort(MB)}QB(this);this.a();this.player&&this.player.trigger(new _.H(_.Bg))}clear(){this.T=[];QB(this);this.player&&(this.player.trigger(new _.H(_.Bg)),this.player.trigger(new _.H(_.Jc)))}a(){if(this.player){var a=this.player.getMediaPosition();if(0<=a){a:{var b=this.T.length,
|
|
240
240
|
c=Number.MAX_SAFE_INTEGER;for(var d=0;d<b;d++){const e=this.T[d];c=Math.min(e.start,c);if(e.start<=a&&e.end>a){a=.1>e.end-a&&d<b-1?this.T[d+1].rendition:e.rendition;break a}if(e.start>a)break}a=0<b&&c>a&&.25>c-a?this.T[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 _.H(_.Mc,{detail:{width:b,height:c,bandwidth:a?a.bandwidth:null,rendition:a}}))}}}}};
|
|
@@ -242,13 +242,13 @@ _.sI=class{constructor(a){this.h=Math.exp(Math.log(.5)/a);this.f=this.a=0}};
|
|
|
242
242
|
ND=class{constructor(a,b){this.w=null;this.C=a;this.h=b;this.j=this.A=0;this.l=Infinity;this.f=this.a=null;this.B="";this.o=new Map}destroy(){this.h=this.w=null;this.o.clear();return Promise.resolve()}remove(a,b){return Promise.resolve().then(()=>{!this.h||!this.h.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))})}Vb(){return this.a}Oa(){return this.f}oc(a){return null==this.a||null==this.f?!1:a>=
|
|
243
243
|
this.a&&a<this.f}Pa(a){return null==this.f||this.f<a?0:this.f-Math.max(a,this.a)}};tI=class{constructor(a){this.a=this.h=0;this.f=a}Xb(){return this.h}getDuration(){return this.f?this.a-this.h:Infinity}};
|
|
244
244
|
_.uI=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.w=this.l=null;this.H=0;this.C=this.o=d;this.L=void 0===e?!0:e;this.g=new _.T("clpp.media.PresentationTimeline");this.M=f;this.K=null;this.a=new tI(d);this.I=null;this.B=this.j.type||null}Gc(){return this.K}getDuration(){return 2===this.j.version?this.a.getDuration():this.f}getPresentationStartTime(){return this.F}offset(a){null!=this.l&&(this.l+=a);null!=this.w&&(this.w+=
|
|
245
|
-
a)}isLive(){return 2===this.j.version?!this.a.f:Infinity===this.f&&!this.o}
|
|
245
|
+
a)}isLive(){return 2===this.j.version?!this.a.f:Infinity===this.f&&!this.o}Qd(){return!this.o}Hc(){return this.B}};PG=class{constructor(){this.f=()=>{};this.h=()=>{};this.a=new Set}release(){this.f=()=>{};this.h=()=>{};this.a.clear()}cues(){return this.a}};
|
|
246
246
|
SH=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 _.Rv("crop",a,d.endTime?d.endTime-a:Infinity,!1))}release(){this.f=this.j=this.h=this.a=null}l(a){jB(this.a,a);vC(this)}};
|
|
247
247
|
xC=class{constructor(a,b,c){this.h=a;this.a=b;this.f=c;this.g=new _.T("clpp.media.SegmentIterator")}next(){var a=this.h.get(this.a);a&&0<a.a.length?(this.f+=1,a.Da().length&&this.f===a.a.length&&(this.a+=1,this.f=0)):(this.a+=1,this.f=0);a=wC(this);return{value:a,done:!a}}};
|
|
248
248
|
_.vI=class{constructor(a){this.a=a;this.g=new _.T("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: "+
|
|
249
249
|
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.Ka-=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 0===this.a.length?0:this.a[this.a.length-
|
|
250
250
|
1].endTime-this.a[0].startTime}replace(a){this.a=a}};HC=class{constructor(a,b){this.h=a;this.l=AC(a);this.a=a.a.currentTime;this.j=Date.now()/1E3;this.o=b;this.f=()=>{}}release(){this.h=null;this.f=()=>{}}};IC=class{constructor(a){this.a=a}};
|
|
251
|
-
wI=class{constructor(a,b,c,d,e){this.a=a;this.G=b;this.h=c;this.F=e;this.j=new _.Vt;this.C=!1;this.I=a.readyState;this.l=!1;this.f=d;this.B=this.o=this.H=this.A=!1;this.j.on(a,_.Gg,()=>BC(this));this.w=(new _.Pi(()=>{BC(this)})).Hb(.25)}release(){this.j&&(this.j.release(),this.j=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}
|
|
251
|
+
wI=class{constructor(a,b,c,d,e){this.a=a;this.G=b;this.h=c;this.F=e;this.j=new _.Vt;this.C=!1;this.I=a.readyState;this.l=!1;this.f=d;this.B=this.o=this.H=this.A=!1;this.j.on(a,_.Gg,()=>BC(this));this.w=(new _.Pi(()=>{BC(this)})).Hb(.25)}release(){this.j&&(this.j.release(),this.j=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}Ge(){this.A=!0;BC(this)}};
|
|
252
252
|
xI=class{constructor(a,b){this.f=a;this.o=b;this.l=this.h=this.j=0;this.a=new _.Pi(()=>{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}};
|
|
253
253
|
yI=class{constructor(a,b,c,d){this.a=a;this.j=b;this.o=d;this.A=c;this.l=!1;this.f=new _.Vt;this.h=new xI(a,10);this.w=!1;0<a.readyState?EC(this,c):FC(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}getTime(){return this.l?this.a.currentTime:this.A}};
|
|
254
254
|
OH=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 wI(a,b.presentationTimeline,c,JC(this,a,c),f);this.f=new yI(a,()=>{a:{var h=this.j;var k=h.B;h.B=!1;h.C=!0;h.A=!1;h.l=!1;h=k;k=this.f.getTime();const l=MC(this,k);if(Math.abs(l-k)>this.l.gapTolerance){const m=(new Date).getTime()/1E3;if(!this.w||this.w<m-1){this.w=m;GC(this.f,l);h=void 0;break a}}this.g.debug("Seek to "+k);this.A(h?1:0);h=void 0}return h},LC(this,
|
|
@@ -258,7 +258,7 @@ RH=class{constructor(a){this.j=a;this.o=new Map;this.a=()=>{};this.f=()=>{};this
|
|
|
258
258
|
a);this.o.set(d,f);const g=this.w.find(h=>h.Rc===e&&h.Qc===f);g&&g.Kc(d,b&&0===c)}}};$C=class{constructor(){this.f=new _.sI(2);this.h=new _.sI(5);this.a=0}getBandwidthEstimate(a){return 128E3>this.a?a:Math.min(_.YB(this.f),_.YB(this.h))}};_.zI=class{constructor(a,b){this.id=a;this.qa=b}};
|
|
259
259
|
BH=class extends _.Yt{constructor(a,b){super();this.A=a;this.h=null;this.B=b;this.C=new _.ju;this.f=300;this.o=new Map;this.l=new Map;this.w=new Map;this.j=new Map;this.a=null;this.g=new _.T("clpp.net.ContentSteeringManager")}destroy(){this.B=this.h=this.A=null;this.o.clear();this.l.clear();this.j.clear();this.w.clear();null!=this.a&&(this.a.stop(),this.a=null);return this.C.destroy()}getBaseUriCollectionById(a){var b=this.l.get(a);if(!b)return this.g.warn(`getBaseUriCollectionById: invalid baseUriSetId:${a}.`),
|
|
260
260
|
null;const c=Date.now();this.j.forEach((e,f)=>{e.xd&&c>e.xd&&(e.xd=0,this.trigger(new _.H(_.zd,{detail:{serviceLocationId:f,banned:!1,bannedSeconds:0}})))});let d=b.filter(e=>0===aD(this,e.serviceLocationId).xd);d.length||(d=b);d.length&&(b=this.w.get(a),UC(d,b)||(b={baseUriCollectionId:a,from:b||[],to:d},this.g.info(`Steering server update baseUriCollectionId: ${b.baseUriCollectionId} from: ${JSON.stringify(b.from)} to: ${JSON.stringify(b.to)}`),this.trigger(new _.H(_.yd,{detail:b})),this.w.set(a,
|
|
261
|
-
d)));return new _.zI(a,d)}notifyThroughput(a,b,c){a=aD(this,a);SC(a.
|
|
261
|
+
d)));return new _.zI(a,d)}notifyThroughput(a,b,c){a=aD(this,a);SC(a.hg,b,c);a.Me=!0}banLocation(a){const b=aD(this,a);b.xd=Date.now()+1E3*this.f;b.Me=!1;this.g.info(`service location ${a} banned during ${this.f} seconds`);this.trigger(new _.H(_.zd,{detail:{serviceLocationId:a,banned:!0,bannedSeconds:this.f}}))}};var AI=class extends _.V{constructor(){super();this.g=new _.T("clpp.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 qD(this,_.R)}getAudioTracks(){return qD(this,_.Q)}sa(){return qD(this,_.P)}ta(){return this.a.get(_.R)||null}Qa(){return this.a.get(_.Q)||null}Xa(){return this.a.get(_.P)||null}xb(){return this.f.get(_.R)||null}Nb(){return this.f.get(_.Q)||
|
|
262
262
|
null}Ob(){return this.f.get(_.P)||null}Ia(){return rD(this,_.R)}ra(){return rD(this,_.Q)}ua(){return rD(this,_.P)}Gb(a){this.m&&sD(this,_.R,a)}za(a){this.m&&sD(this,_.Q,a)}ab(a){this.m&&sD(this,_.P,a)}sb(a,b){b=void 0===b?!1:b;if(this.m)if(a)wD(this,a,b);else if(a=b,b=rD(this,_.R))this.g.info("Unset video rendition."),b.trickPlay?this.g.info("Enabling ABR for trick play tracks is not supported"):(this.g.info("Enable ABR."),vD(this.m,null,a))}Eb(a){this.m&&(a?(tD(this,a,_.Q),uD(this,a,_.Q)&&(this.g.info(`Set audio rendition with ID: ${a.id}`),
|
|
263
263
|
this.f.set(_.Q,a),xG(this.m,parseInt(a.id,10)))):this.g.info("Enabling ABR for audio is not supported"))}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))})}va(){return!!this.m&&this.m.va()}Fb(a){if(this.m){var b=a;if(!a){const c=this.Xa();if(c&&c.track.kind!==_.Zd){a=this.sa().find(d=>d.kind===_.Zd&&d.language===c.track.language);if(!a){const d=this.ra();d&&(a=this.sa().find(e=>e.kind===_.Zd&&e.language===d.language))}a&&
|
|
264
264
|
(b=a.renditions[0])}}b?AD(this,b):BD(this)}}};AI.prototype.setTextRendition=AI.prototype.Fb;AI.prototype.isAbrEnabled=AI.prototype.va;AI.prototype.addTextTrack=AI.prototype.addTextTrack;AI.prototype.setAudioRendition=AI.prototype.Eb;AI.prototype.setVideoRendition=AI.prototype.sb;AI.prototype.setTextTrack=AI.prototype.ab;AI.prototype.setAudioTrack=AI.prototype.za;AI.prototype.setVideoTrack=AI.prototype.Gb;AI.prototype.getTextTrack=AI.prototype.ua;AI.prototype.getAudioTrack=AI.prototype.ra;
|
|
@@ -276,30 +276,30 @@ b){this.g.debug("Segment downloaded:","deltaTimeMs\x3d"+a,"numBytes\x3d"+b,"last
|
|
|
276
276
|
this.h<1E3*this.a.switchInterval){this.g.debug("Still within switch interval...");break a}a=this.chooseTrack();b=this.getBandwidthEstimate();this.g.debug("Calling switch_(), bandwidth\x3d"+Math.round(b/1E3)+" kbps");a&&this.A(a)}}playbackRateChanged(a){this.o=a}getBandwidthEstimate(){if(this.j&&this.a.useCmsd){var a=$A(this.j,_.Yd);a=null==a?null:a;if(null!==a)return this.g.debug("Using CMSD estimatedThroughputKbps:",a),1E3*a}return this.w.getBandwidthEstimate(this.a.defaultBandwidthEstimate)}setTracks(a){this.f=
|
|
277
277
|
a}setCmsdManager(a){this.j=a}configure(a){this.a=a}reset(){this.B=!1;this.w=new $C;const a=this.chooseTrack();a&&this.A(a)}};var CI=class{constructor(){this.a=null}};var DI=class{constructor(){this.a=new Map}clear(){this.a.clear()}},BE=class{constructor(){this.text=this.video=this.ib=this.audio=null}};var EI=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(FE(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 sG=class{constructor(a,b){b=void 0===b?_.sf:b;this.f=a;this.a=b;this.h=new aH(a.language,"",a.audio&&a.audio.channelsCount?a.audio.channelsCount:0,!1,b)}create(a){const b=this.a===_.Of&&LB(),c=a.filter(d=>FE(this.f,d,!b));return c.length?new EI(c[0],c):this.h.create(a)}},aH=class{constructor(a,b,c,d,e){this.j=_.ci(a);this.a=b;this.f=c;this.l=void 0===d?!1:d;this.h=void 0===e?_.sf:e}create(a){var b=GE(a,this.j);0<b.length&&(a=b);b=!1;if(this.a){var c=HE(a,this.a);0<c.length?(a=c,b=!0):_.B("No exact match for preferred variant role could be "+
|
|
278
278
|
`found. Role: ${this.a}`)}b||(b=a.filter(d=>d.primary),0<b.length&&(a=b));this.f&&(b=iE(a,this.f),b.length?a=b:_.B("No exact match for the channel count could be found."));b=IE(a,this.l);b.length?a=b:_.B("No exact match for spatial audio could be found.");b=this.h===_.Of&&LB();c=new EI(a[0]);for(const d of a)c.add(d,!b);return c}};var TH=class{constructor(a,b){this.a=XH;this.f=(new Map).set(XH,b).set(JH,a)}getState(){return this.a}},JH=0,XH=1;var eH=class{constructor(a){this.D=a;this.a=a.getConfiguration().streaming;this.f=new _.Vt;this.g=new _.T("clpp.mse.media.LiveEdgeObserver");JE(this)&&(a=this.D.getSurface().getMedia(),this.f.on(a,_.gg,()=>{{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."),
|
|
279
|
-
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 QH=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=SB(c,a)||c[0]}b!==a&&this.f(a);this.a=a}};var dH=class{constructor(a){this.f=a;this.o=this.w=this.l=!1;this.h=this.f.nc();this.A=_.Cd;this.j=null;this.a=new _.Pi(()=>{this.w||this.f.
|
|
280
|
-
a.D.yb();var c=SB(a.j.periods,b+_.ou);if(!c)throw new _.I(_.D,5,5006,"No period found.");c=a.D.
|
|
281
|
-
if(!a.Db&&null!=a.ub&&!a.zc)if(a.ub=null,a.kc)b.g.debug(c,"skipping update and clearing the buffer"),yield qF(b,a,a.
|
|
282
|
-
(b.j.presentationTimeline.f=c),b.D.
|
|
283
|
-
0===e?a.startTime+b.startTime+k/h:a.startTime+l/h,c.includes(f)&&("urn:mpeg:dash:event:2012"===f?this.D.
|
|
284
|
-
_.N(d.reader),f=_.N(d.reader);b=e!==f;this.g.debug(`hSpacing=${e}, vSpacing=${f}, updatePASP=${b}`);d.parser.stop()}).parse(a.data);b&&(a=new _.pp(new DataView(a.data)),a.seek(c),_.M(a,1),_.M(a,1))}};var FI=class{constructor(){this.a=null}};var GI=class extends _.qv{constructor(){super(HA);this.G=uH;this.j=this.X=null;this.
|
|
285
|
-
this.configuration.preferredAudioChannelCount,this.configuration.preferSpatialAudio,this.configuration.mediaSource.codecSwitchingStrategy);this.yc=this.configuration.preferredTextLanguage;this.w=new CI;this.ca=this.Ma=null;this.Ib=new Map;this.Fc=null;this.jd=this.configuration.preferredTextRole;this.xc=this.configuration.preferForcedSubtitles;this.o.on(window,"online",()=>{this.G===yG&&BF(this.a)});this.
|
|
286
|
-
super.init(a,b);BG(this,c)}namespace(){return HA}setSeekInterceptor(a){this.
|
|
279
|
+
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 QH=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=SB(c,a)||c[0]}b!==a&&this.f(a);this.a=a}};var dH=class{constructor(a){this.f=a;this.o=this.w=this.l=!1;this.h=this.f.nc();this.A=_.Cd;this.j=null;this.a=new _.Pi(()=>{this.w||this.f.Ei(.25*this.h)});this.g=new _.T("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;OE(this,b)}};var RE=new _.Ou(()=>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]));_.UH=class{constructor(a,b){this.D=b;this.j=a;VE(a);this.h=null;this.l=1;this.G=Promise.resolve();this.B=new Map;this.o=new Map;this.a=new Map;this.J=this.f=this.w=this.C=!1;this.I=0;this.g=new _.T("clpp.mse.Streaming");this.F=this.A=this.H=!1}destroy(){const a=this;return _.w(function*(){const b=[];for(const c of a.a.values())WE(c),b.push(XE(c));yield Promise.all(b);a.a.clear();a.o.clear();a.D=null;a.j=null;a.G=null;a.B.clear();a.h=null;a.f=!0})}start(){const a=this;return _.w(function*(){const b=
|
|
280
|
+
a.D.yb();var c=SB(a.j.periods,b+_.ou);if(!c)throw new _.I(_.D,5,5006,"No period found.");c=a.D.pf(c);if(!c.video&&!c.audio&&!c.text)throw a.g.error("start(): No streams chosen"),new _.I(_.D,5,5005,"No streams chosen.");a.H=!c.video&&!c.audio&&!!c.text;a.A=!!c.ib;yield dF(a,c,b);a.f||(a.g.debug("init: completed initial Stream setup"),a.D.Hi&&a.D.Hi())})}resume(){if(!CF(this))for(const a of this.a.values())a.endOfStream=!1,cF(this,a,0)}dc(a){const b=this;return _.w(function*(){if(!b.f){var c=TE(a);
|
|
281
|
+
if(!a.Db&&null!=a.ub&&!a.zc)if(a.ub=null,a.kc)b.g.debug(c,"skipping update and clearing the buffer"),yield qF(b,a,a.Re,a.pe);else{try{const d=NF(b,a);null!=d&&(cF(b,a,d),a.fd=!1)}catch(d){yield OF(b,d);return}PF(b,a);if(DF(b))if(b.D.configuration.yi){b.g.debug("End of stream reached, keeping MediaSource open.");for(const d of b.a.values())d.ub=null}else b.g.debug("End of stream reached, calling ms.endOfStream()."),yield b.D.$.endOfStream(),b.f||(c=b.D.$.getDuration(),c<b.j.presentationTimeline.getDuration()&&
|
|
282
|
+
(b.j.presentationTimeline.f=c),b.D.Qg())}}})}K(a,b,c,d){const e=d.version;let f,g,h,k,l,m,n;if(0===e)f=bB(d.reader),g=bB(d.reader),h=_.N(d.reader),k=_.N(d.reader),m=_.N(d.reader),n=_.N(d.reader);else if(1===e)h=_.N(d.reader),l=_.bp(d.reader),m=_.N(d.reader),n=_.N(d.reader),f=bB(d.reader),g=bB(d.reader);else{this.g.warn(`Ignoring EMSG box with unsupported version ${e}.`);return}0===h?this.g.warn("Ignoring EMSG box with invalid timescale 0."):(d=_.dp(d.reader,d.reader.Ta()-d.reader.getPosition()),a=
|
|
283
|
+
0===e?a.startTime+b.startTime+k/h:a.startTime+l/h,c.includes(f)&&("urn:mpeg:dash:event:2012"===f?this.D.Tg():(c=new _.H("emsg",{detail:{startTime:a,endTime:a+m/h,schemeIdUri:f,value:g,version:e,timescale:h,presentationTimeDelta:k,presentationTime:l,eventDuration:m,id:n,messageData:d}}),this.D.onEvent(c))))}L(a){let b=!1,c=0;(new _.np).N(_.Ee,_.gp).N(_.ig,_.gp).N(_.ze,_.gp).N(_.De,_.gp).N(_.Tf,_.gp).fa(_.Vf,_.hp).N("encv",d=>{d.reader.skip(78);_.gp(d)}).N("pasp",d=>{c=d.start+d.headerSize;const e=
|
|
284
|
+
_.N(d.reader),f=_.N(d.reader);b=e!==f;this.g.debug(`hSpacing=${e}, vSpacing=${f}, updatePASP=${b}`);d.parser.stop()}).parse(a.data);b&&(a=new _.pp(new DataView(a.data)),a.seek(c),_.M(a,1),_.M(a,1))}};var FI=class{constructor(){this.a=null}};var GI=class extends _.qv{constructor(){super(HA);this.G=uH;this.j=this.X=null;this.Rf=0;this.mh=2;this.Jb=null;this.Ff=!1;this.o=new _.Vt;this.R=this.Uf=this.md=this.H=this.lb=this.B=this.K=this.A=null;this.Ic=!1;this.a=this.J=this.I=null;this.M=[];this.f=null;this.h=new _.BI;this.U=this.cb=null;this.Yf=1E9;this.od=new Set;this.da=null;this.Xf=!1;this.ph=0;this.W=null;this.l=new DI;this.F=null;this.Aa=_.Hs;this.Dc=new aH(this.configuration.preferredAudioLanguage||[],this.configuration.preferredAudioRole,
|
|
285
|
+
this.configuration.preferredAudioChannelCount,this.configuration.preferSpatialAudio,this.configuration.mediaSource.codecSwitchingStrategy);this.yc=this.configuration.preferredTextLanguage;this.w=new CI;this.ca=this.Ma=null;this.Ib=new Map;this.Fc=null;this.jd=this.configuration.preferredTextRole;this.xc=this.configuration.preferForcedSubtitles;this.o.on(window,"online",()=>{this.G===yG&&BF(this.a)});this.De=this.Bc=this.Ie=null;this.S=_.na;this.Jc=new FI;this.Ac=null}init(a,b){const c=a.getMedia();
|
|
286
|
+
super.init(a,b);BG(this,c)}namespace(){return HA}setSeekInterceptor(a){this.Uf=a||null}setPlaybackSessionId(a){this.Ac=a}oh(){return new AI}getState(){return this.Aa}getDrmInfo(){return this.A?this.A.getDrmInfo():null}unload(){const a=this;return _.w(function*(){yD(a,!1);a.Ic=!1;if(a.ha){a.log.debug("Unload player with source",a.ha);var b=a.getTrackManager();b&&b.release();a.G!==LG&&(yield JG(a),a.ha=null,a.Rf=0,a.Ma=null,a.ca=null,a.getNetworkEngine().headers.delete(CA))}})}release(){const a=this;
|
|
287
287
|
return _.w(function*(){if(a.X)return a.X;a.X=KG(a);a.X.finally(()=>{a.X=null});return a.X})}getBufferInfo(a){if(this.K){var b=XD(this.K);const c=new _.St(void 0,a);switch(a){case _.R:return b.video?b.video:c;case _.Q:return b.audio?b.audio:c;case _.P:return b.text?b.text:c}return b.total?b.total:c}return this.Jb?(b=NB(this.Jb),kB(b,a)):super.getBufferInfo(a)}getPosition(){var a=this.Jc,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?this.B.getTime():
|
|
288
|
-
super.getMediaPosition()}seek(a,b){if(this.
|
|
288
|
+
super.getMediaPosition()}seek(a,b){if(this.Uf&&!this.Uf(a,b))return Promise.resolve();b=this.Jc;b=b.a?a+b.a.Xb():a;b!==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.Jc,b=this.getMediaDuration();return a.a?a.a.getDuration():b}getMediaDuration(){return this.f?this.f.presentationTimeline.getDuration():Infinity}destroy(){const a=
|
|
289
289
|
this,b=()=>Object.getPrototypeOf(Object.getPrototypeOf(this)).destroy;return _.w(function*(){yield b().call(a);a.G!==LG&&(a.log.debug("Destroying player..."),a.G=LG,HG(a),a.o&&(a.o.release(),a.o=null),a.Bc=null,a.h=null)})}getTimeline(){return this.Bc}setupPlaylist(a){const b=this;return _.w(function*(){const c=new _.Kl;b.w.a=c;try{FG(b);b.S=_.db;yield MG(b);AE(b.w,c);const d=a[0];d.playlist&&d.playlist.startTime&&(d.startTime=d.playlist.startTime);b.ha=_.jn(d);b.configuration=_.en([b.ia,d]);b.log.info("Loading playlist configurations",
|
|
290
290
|
a);b.Bc=NG(b.configuration);yield RG(b,c);AE(b.w,c);const e=a.map(n=>UG(b,n,0,null,!0)),f=yield Promise.all(e);b.M=f.map(n=>n.parser).filter(n=>null!=n);const g=f.filter(n=>n.manifest.presentationTimeline.isLive()),h=g[0];if(1<g.length)throw new _.I(_.D,7,7003,"Playlist of multiple live streams is not supported.");if(h){const n=b.configuration.playlist.content;if(n===_.Fb)throw new _.I(_.D,7,7003,"Cannot play live content in VOD mode.");if("IPR"===n&&h!==f[f.length-1])throw new _.I(_.D,7,7003,"Wrong order of playlist assets.");
|
|
291
291
|
}const k=new _.uI({version:2},null,0,null==h),l=f.map(n=>jD(n.manifest)),m=mD(l,k);b.f=m;b.A=yield YG(b,m,b.configuration);AE(b.w,c);yield kH(b,c);AE(b.w,c);zF(b.a,m);lH(b,m);c.resolve()}catch(d){yield mH(b),oH(b,d,c)}})}appendLoad(a){const b=this;return _.w(function*(){FG(b);if(b.S!==_.db)throw new _.I(_.D,7,7003,"Cannot append-load to non-playlist player.");const c=yield qH(b,a);b.f=c.manifest;c.parser&&b.M.push(c.parser);zF(b.a,c.manifest);DF(b.a)&&b.a.resume();lH(b,c.manifest)})}seekWith(a){return this.seek(this.getPosition()+
|
|
292
|
-
a)}
|
|
293
|
-
HG(a)})}isLive(){var a;this.f?(a=this.f.presentationTimeline.isLive())||(a=this.f.presentationTimeline,a=Infinity!==a.f&&!a.o):a=!1;return a}
|
|
292
|
+
a)}nh(){const a=this;return _.w(function*(){FG(a);a.Ie?(a.log.info("Loading preloaded asset",a.Ie),a.Ie=null,yield kH(a,null)):a.log.warn("No preloaded asset found")})}preload(a){const b=this;return _.w(function*(){FG(b);_.zm("preload.start");b.log.info("Preloading asset",a);yield AH(b,a,!1);b.Ie=a;b.log.info("Preloaded asset",a);_.zm("preload.end");_.Bm("preload","preload.start","preload.end")})}load(a){return AH(this,a)}detach(){const a=this;return _.w(function*(){yield GG(a);a.configuration=a.ia;
|
|
293
|
+
HG(a)})}isLive(){var a;this.f?(a=this.f.presentationTimeline.isLive())||(a=this.f.presentationTimeline,a=Infinity!==a.f&&!a.o):a=!1;return a}Zf(){this.log.debug("User seeking finished");this.I&&KH(this);HH(this)}getSeekRange(){var a={start:0,end:0};if(this.f){var b=this.f.presentationTimeline;a={start:fC(b),end:pC(b)}}b=this.Jc;b.a?(b=b.a.getDuration(),b>a.end&&(b=a.end),b={start:0,end:b}):b=a;return b}Gc(){return this.f?this.f.presentationTimeline.Gc():null}getPlaybackRate(){if(this.H){var a=this.H;
|
|
294
294
|
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!");else if(this.G===yG){if(_.Ti()){this.log.warn("Pausing and unpausing to mitigate playbackRate platform issue.");const c=this.getSurface().getMedia();c.pause();this.H.set(a,b);c.play()}else this.H.set(a,b);(b=this.H.getConfiguration())&&b.preferTrickPlayTracks&&sF(this.a,1<Math.abs(a));this.h.playbackRateChanged(a)}}dd(){if(!this.f||!this.B)return[];const a=ZH(this),b=$H(this),c=[];for(const d of bI(this)){const e=
|
|
295
|
-
tE(d);e.
|
|
295
|
+
tE(d);e.ke=d.video===a;e.je=d.audio===b;c.push(e)}return c}sa(){if(this.f&&this.B){var a=GD(this);if(null==a)a=null;else{if(!HD(this.l,a).text){var b=_.xE(a.textStreams,this.yc,this.jd,this.xc);b.length&&CE(this.l,a,b[0])}a=HD(this.l,a).text}b=[];for(const c of cI(this)){const d=uE(c);d.Te=c===a;b.push(d)}return b}return[]}getPeriods(){return this.f.periods}getStats(){if(this.G!==yG)return _.xs();HH(this);var a=this.j;if(a.getVideoPlaybackQuality){var b=a.getVideoPlaybackQuality();a=this.F;var c=
|
|
296
296
|
Number(b.totalVideoFrames);a.o=Number(b.droppedVideoFrames);a.l=c}if(this.G===yG){(c=GD(this))?(a=HD(this.l,c).video,c=HD(this.l,c).audio,a=((a?a.bandwidth:0)||0)+((c?c.bandwidth:0)||0)):a=null;a&&(this.F.w=a);if(b=ZH(this))a=this.F,c=b.height||NaN,a.A=b.width||NaN,a.j=c;a=this.h.getBandwidthEstimate();this.F.h=a}return this.F.getStats()}getBandwidthEstimate(){return this.h.getBandwidthEstimate()}getCueTimeline(){return this.J}getTimelineCues(){return this.J?uC(this.J,EH(this)):[]}resetAbr(){this.h&&
|
|
297
|
-
this.h.reset()}
|
|
297
|
+
this.h.reset()}Gd(){return this.h}addTextTrack(a,b,c,d,e,f){const g=this;return _.w(function*(){if(g.G!==yG)throw g.log.error("Must call load() and wait for it to resolve before adding text tracks."),Error("State error!");const h=GD(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 _.I(1,4,4040);const m=new _.rI(1,0,l,()=>[a],0,null,0);k={id:g.Yf++,originalId:null,createSegmentIndex:Promise.resolve.bind(Promise),
|
|
298
298
|
findSegmentPosition:()=>1,getSegmentReference:p=>1===p?m:null,adjustSegmentDurations:()=>{},getDuration:()=>l,segmentLookupStrategy:_.LA,initSegmentReference:null,mimeType:d,codecs:e||"",kind:c,encrypted:!1,keyId:null,language:b,originalLanguage:b,label:f||null,type:_.K,primary:!1,trickModeVideo:null,emsgSchemeIdUris:null,roles:[],channelsCount:null,spatialAudio:!1,closedCaptions:null};g.od.add(k);h.textStreams.push(k);yield jF(g.a,k);const n=_.gF(g.a,_.K);n&&CE(g.l,h,n);g.od.delete(k);g.log.debug("Choosing new streams after adding a text stream");
|
|
299
|
-
gI(g,h);WG(g);return uE(k)})}
|
|
300
|
-
a.configuration.abr.enabled&&a.h.enable();a.da&&(yield tF(a.a,a.da,a.
|
|
301
|
-
d[a.type];e&&e.id===a.id&&(d.allowedByApplication=!1)}WG(this);this.va()||(this.configuration.abr.enabled=!0,this.h.enable());gI(this,b)}return c}
|
|
302
|
-
_.H?this.dispatchEvent(a):this.log.debug(_.zb,a.type)))}va(){return this.configuration.abr.enabled}
|
|
299
|
+
gI(g,h);WG(g);return uE(k)})}rh(a){this.log.debug(_.PA,a.id);try{this.log.debug("onChooseStreams_, choosing variant from ",a.variants);this.log.debug("onChooseStreams_, choosing text from ",a.textStreams);const b=hI(this,a);this.log.debug("onChooseStreams_, chose video ",b.video);this.log.debug("onChooseStreams_, chose audio ",b.audio);this.log.debug("onChooseStreams_, chose text ",b.text);return b}catch(b){return this.onError(b),{audio:null,video:null,text:null,ib:null}}}sh(){const a=this;return _.w(function*(){a.log.debug("onCanSwitch_");
|
|
300
|
+
a.configuration.abr.enabled&&a.h.enable();a.da&&(yield tF(a.a,a.da,a.Xf,a.ph),a.da=null);a.W&&(yield _.xF(a.a,a.W),a.W=null)})}xh(){const a=GD(this);a&&a.parser&&a.parser.update()}uh(){this.B&&this.B.j.Ge()}qh(a,b,c){if((void 0===c?"":c)===NA)return WG(this),this.va()||(this.configuration.abr.enabled=!0,this.h.enable()),gI(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===_.q&&(e=e&&f.language===a.language));return e})&&this.va()){for(const d of b.variants){const e=
|
|
301
|
+
d[a.type];e&&e.id===a.id&&(d.allowedByApplication=!1)}WG(this);this.va()||(this.configuration.abr.enabled=!0,this.h.enable());gI(this,b)}return c}th(){this.log.debug("endOfStream called by streaming engine");this.Ic=!0}onError(a){if(this.G!==LG&&7001!==a.code&&7E3!==a.code){var b=new _.H(_.Xd,{detail:a});a.severity===_.D&&EG(this,_.As);this.trigger(b);b.defaultPrevented&&(b.a=!0)}}Nf(a){a.type===_.Qd?this.dispatchEvent(a):"largegap"!==a.type&&(a.type===_.Hg?vH(this):"emsg"!==a.type&&(a instanceof
|
|
302
|
+
_.H?this.dispatchEvent(a):this.log.debug(_.zb,a.type)))}va(){return this.configuration.abr.enabled}wh(a){const b=this;return _.w(function*(){if(b.Uc){b.log.info("Attempt to switch CDN.");var c=b.getLoadedSource(),d=b.va();if(c=yield b.Uc(c.url,a)){c=_.hh(b.getLoadedSource(),{url:c});d&&b.h.disable();yield EF(b.a);var e=ZH(b),f=$H(b);do{var g=!1;try{b.log.info(`Switching CDN to ${c.url}.`),yield iI(b,c,e,f)}catch(h){if(b.log.info("Switch failed"),g=yield b.Uc(c.url,a))c.url=g,g=!0;else throw h;}}while(g);
|
|
303
303
|
d&&b.h.enable();BF(b.a,!0);b.ha[b.getSourceIndex()]=c;a.f=!0;b.trigger(new _.H(_.Vc,{newManifest:c.url}))}}})}},LG=0,uH=1,yG=2,VG=[_.Se,_.ie];var HI=class extends _.Ov{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===xA&&(this.a=c)}this.a||(this.a=a.addTextTrack(_.WA,xA));this.a.mode=_.ce}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=_.Ei(e);e=new VTTCue(d.startTime,d.endTime,e);e.line=-1;try{e.align=_.Xc}catch(f){e.align=
|
|
304
304
|
"middle"}d.writingMode===_.xg?e.vertical="lr":d.writingMode===_.yg&&(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;oI(this.a,c=>c.startTime<b&&c.endTime>a);return!0}isTextVisible(){return this.a.mode===_.Kf}setTextVisibility(a){null!==this.a&&(this.a.mode=a?_.Kf:_.ce)}destroy(){this.a&&
|
|
305
305
|
oI(this.a,()=>!0);this.a=null;return Promise.resolve()}};var II=class{a(){return!0}create(a){return new HI(a)}};_.Gh(new class{a(){return HA}canPlay(a,b){if(_.aj())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 _.Ot||_.Um(a.url)in _.Pt?!0:!1:!1;if(d&&a){if(_.Ti(2))return 1;if(_.bj()&&c===_.xl){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===
|