jamis
Version:
一种支持通过JSON配置方式生成页面的组件库
6 lines • 356 kB
JavaScript
import{g as wt,c as Wt}from"../sdk.js";function Gt(Lt,Ot){for(var W=0;W<Ot.length;W++){const M=Ot[W];if(typeof M!="string"&&!Array.isArray(M)){for(const y in M)if(y!=="default"&&!(y in Lt)){const C=Object.getOwnPropertyDescriptor(M,y);C&&Object.defineProperty(Lt,y,C.get?C:{enumerable:!0,get:()=>M[y]})}}}return Object.freeze(Object.defineProperty(Lt,Symbol.toStringTag,{value:"Module"}))}var Mt={exports:{}};(function(Lt,Ot){typeof window<"u"&&function(M,y){Lt.exports=y()}(Wt,function(){return function(W){var M={};function y(C){if(M[C])return M[C].exports;var D=M[C]={i:C,l:!1,exports:{}};return W[C].call(D.exports,D,D.exports,y),D.l=!0,D.exports}return y.m=W,y.c=M,y.d=function(C,D,A){y.o(C,D)||Object.defineProperty(C,D,{enumerable:!0,get:A})},y.r=function(C){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(C,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(C,"__esModule",{value:!0})},y.t=function(C,D){if(D&1&&(C=y(C)),D&8||D&4&&typeof C=="object"&&C&&C.__esModule)return C;var A=Object.create(null);if(y.r(A),Object.defineProperty(A,"default",{enumerable:!0,value:C}),D&2&&typeof C!="string")for(var b in C)y.d(A,b,(function(I){return C[I]}).bind(null,b));return A},y.n=function(C){var D=C&&C.__esModule?function(){return C.default}:function(){return C};return y.d(D,"a",D),D},y.o=function(C,D){return Object.prototype.hasOwnProperty.call(C,D)},y.p="/dist/",y(y.s="./src/hls.ts")}({"./node_modules/eventemitter3/index.js":function(W,M,y){var C=Object.prototype.hasOwnProperty,D="~";function A(){}Object.create&&(A.prototype=Object.create(null),new A().__proto__||(D=!1));function b(m,S,p){this.fn=m,this.context=S,this.once=p||!1}function I(m,S,p,T,E){if(typeof p!="function")throw new TypeError("The listener must be a function");var v=new b(p,T||m,E),n=D?D+S:S;return m._events[n]?m._events[n].fn?m._events[n]=[m._events[n],v]:m._events[n].push(v):(m._events[n]=v,m._eventsCount++),m}function O(m,S){--m._eventsCount===0?m._events=new A:delete m._events[S]}function L(){this._events=new A,this._eventsCount=0}L.prototype.eventNames=function(){var S=[],p,T;if(this._eventsCount===0)return S;for(T in p=this._events)C.call(p,T)&&S.push(D?T.slice(1):T);return Object.getOwnPropertySymbols?S.concat(Object.getOwnPropertySymbols(p)):S},L.prototype.listeners=function(S){var p=D?D+S:S,T=this._events[p];if(!T)return[];if(T.fn)return[T.fn];for(var E=0,v=T.length,n=new Array(v);E<v;E++)n[E]=T[E].fn;return n},L.prototype.listenerCount=function(S){var p=D?D+S:S,T=this._events[p];return T?T.fn?1:T.length:0},L.prototype.emit=function(S,p,T,E,v,n){var t=D?D+S:S;if(!this._events[t])return!1;var r=this._events[t],e=arguments.length,f,s;if(r.fn){switch(r.once&&this.removeListener(S,r.fn,void 0,!0),e){case 1:return r.fn.call(r.context),!0;case 2:return r.fn.call(r.context,p),!0;case 3:return r.fn.call(r.context,p,T),!0;case 4:return r.fn.call(r.context,p,T,E),!0;case 5:return r.fn.call(r.context,p,T,E,v),!0;case 6:return r.fn.call(r.context,p,T,E,v,n),!0}for(s=1,f=new Array(e-1);s<e;s++)f[s-1]=arguments[s];r.fn.apply(r.context,f)}else{var i=r.length,o;for(s=0;s<i;s++)switch(r[s].once&&this.removeListener(S,r[s].fn,void 0,!0),e){case 1:r[s].fn.call(r[s].context);break;case 2:r[s].fn.call(r[s].context,p);break;case 3:r[s].fn.call(r[s].context,p,T);break;case 4:r[s].fn.call(r[s].context,p,T,E);break;default:if(!f)for(o=1,f=new Array(e-1);o<e;o++)f[o-1]=arguments[o];r[s].fn.apply(r[s].context,f)}}return!0},L.prototype.on=function(S,p,T){return I(this,S,p,T,!1)},L.prototype.once=function(S,p,T){return I(this,S,p,T,!0)},L.prototype.removeListener=function(S,p,T,E){var v=D?D+S:S;if(!this._events[v])return this;if(!p)return O(this,v),this;var n=this._events[v];if(n.fn)n.fn===p&&(!E||n.once)&&(!T||n.context===T)&&O(this,v);else{for(var t=0,r=[],e=n.length;t<e;t++)(n[t].fn!==p||E&&!n[t].once||T&&n[t].context!==T)&&r.push(n[t]);r.length?this._events[v]=r.length===1?r[0]:r:O(this,v)}return this},L.prototype.removeAllListeners=function(S){var p;return S?(p=D?D+S:S,this._events[p]&&O(this,p)):(this._events=new A,this._eventsCount=0),this},L.prototype.off=L.prototype.removeListener,L.prototype.addListener=L.prototype.on,L.prefixed=D,L.EventEmitter=L,W.exports=L},"./node_modules/url-toolkit/src/url-toolkit.js":function(W,M,y){(function(C){var D=/^((?:[a-zA-Z0-9+\-.]+:)?)(\/\/[^\/?#]*)?((?:[^\/?#]*\/)*[^;?#]*)?(;[^?#]*)?(\?[^#]*)?(#[^]*)?$/,A=/^([^\/?#]*)([^]*)$/,b=/(?:\/|^)\.(?=\/)/g,I=/(?:\/|^)\.\.\/(?!\.\.\/)[^\/]*(?=\/)/g,O={buildAbsoluteURL:function(L,m,S){if(S=S||{},L=L.trim(),m=m.trim(),!m){if(!S.alwaysNormalize)return L;var p=O.parseURL(L);if(!p)throw new Error("Error trying to parse base URL.");return p.path=O.normalizePath(p.path),O.buildURLFromParts(p)}var T=O.parseURL(m);if(!T)throw new Error("Error trying to parse relative URL.");if(T.scheme)return S.alwaysNormalize?(T.path=O.normalizePath(T.path),O.buildURLFromParts(T)):m;var E=O.parseURL(L);if(!E)throw new Error("Error trying to parse base URL.");if(!E.netLoc&&E.path&&E.path[0]!=="/"){var v=A.exec(E.path);E.netLoc=v[1],E.path=v[2]}E.netLoc&&!E.path&&(E.path="/");var n={scheme:E.scheme,netLoc:T.netLoc,path:null,params:T.params,query:T.query,fragment:T.fragment};if(!T.netLoc&&(n.netLoc=E.netLoc,T.path[0]!=="/"))if(!T.path)n.path=E.path,T.params||(n.params=E.params,T.query||(n.query=E.query));else{var t=E.path,r=t.substring(0,t.lastIndexOf("/")+1)+T.path;n.path=O.normalizePath(r)}return n.path===null&&(n.path=S.alwaysNormalize?O.normalizePath(T.path):T.path),O.buildURLFromParts(n)},parseURL:function(L){var m=D.exec(L);return m?{scheme:m[1]||"",netLoc:m[2]||"",path:m[3]||"",params:m[4]||"",query:m[5]||"",fragment:m[6]||""}:null},normalizePath:function(L){for(L=L.split("").reverse().join("").replace(b,"");L.length!==(L=L.replace(I,"")).length;);return L.split("").reverse().join("")},buildURLFromParts:function(L){return L.scheme+L.netLoc+L.path+L.params+L.query+L.fragment}};W.exports=O})()},"./node_modules/webworkify-webpack/index.js":function(W,M,y){function C(S){var p={};function T(v){if(p[v])return p[v].exports;var n=p[v]={i:v,l:!1,exports:{}};return S[v].call(n.exports,n,n.exports,T),n.l=!0,n.exports}T.m=S,T.c=p,T.i=function(v){return v},T.d=function(v,n,t){T.o(v,n)||Object.defineProperty(v,n,{configurable:!1,enumerable:!0,get:t})},T.r=function(v){Object.defineProperty(v,"__esModule",{value:!0})},T.n=function(v){var n=v&&v.__esModule?function(){return v.default}:function(){return v};return T.d(n,"a",n),n},T.o=function(v,n){return Object.prototype.hasOwnProperty.call(v,n)},T.p="/",T.oe=function(v){throw console.error(v),v};var E=T(T.s=ENTRY_MODULE);return E.default||E}var D="[\\.|\\-|\\+|\\w|/|@]+",A="\\(\\s*(/\\*.*?\\*/)?\\s*.*?("+D+").*?\\)";function b(S){return(S+"").replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}function I(S){return!isNaN(1*S)}function O(S,p,T){var E={};E[T]=[];var v=p.toString(),n=v.match(/^function\s?\w*\(\w+,\s*\w+,\s*(\w+)\)/);if(!n)return E;for(var t=n[1],r=new RegExp("(\\\\n|\\W)"+b(t)+A,"g"),e;e=r.exec(v);)e[3]!=="dll-reference"&&E[T].push(e[3]);for(r=new RegExp("\\("+b(t)+'\\("(dll-reference\\s('+D+'))"\\)\\)'+A,"g");e=r.exec(v);)S[e[2]]||(E[T].push(e[1]),S[e[2]]=y(e[1]).m),E[e[2]]=E[e[2]]||[],E[e[2]].push(e[4]);for(var f=Object.keys(E),s=0;s<f.length;s++)for(var i=0;i<E[f[s]].length;i++)I(E[f[s]][i])&&(E[f[s]][i]=1*E[f[s]][i]);return E}function L(S){var p=Object.keys(S);return p.reduce(function(T,E){return T||S[E].length>0},!1)}function m(S,p){for(var T={main:[p]},E={main:[]},v={main:{}};L(T);)for(var n=Object.keys(T),t=0;t<n.length;t++){var r=n[t],e=T[r],f=e.pop();if(v[r]=v[r]||{},!(v[r][f]||!S[r][f])){v[r][f]=!0,E[r]=E[r]||[],E[r].push(f);for(var s=O(S,S[r][f],r),i=Object.keys(s),o=0;o<i.length;o++)T[i[o]]=T[i[o]]||[],T[i[o]]=T[i[o]].concat(s[i[o]])}}return E}W.exports=function(S,p){p=p||{};var T={main:y.m},E=p.all?{main:Object.keys(T.main)}:m(T,S),v="";Object.keys(E).filter(function(f){return f!=="main"}).forEach(function(f){for(var s=0;E[f][s];)s++;E[f].push(s),T[f][s]="(function(module, exports, __webpack_require__) { module.exports = __webpack_require__; })",v=v+"var "+f+" = ("+C.toString().replace("ENTRY_MODULE",JSON.stringify(s))+")({"+E[f].map(function(i){return""+JSON.stringify(i)+": "+T[f][i].toString()}).join(",")+`});
`}),v=v+"new (("+C.toString().replace("ENTRY_MODULE",JSON.stringify(S))+")({"+E.main.map(function(f){return""+JSON.stringify(f)+": "+T.main[f].toString()}).join(",")+"}))(self);";var n=new window.Blob([v],{type:"text/javascript"});if(p.bare)return n;var t=window.URL||window.webkitURL||window.mozURL||window.msURL,r=t.createObjectURL(n),e=new window.Worker(r);return e.objectURL=r,e}},"./src/config.ts":function(W,M,y){y.r(M),y.d(M,"hlsDefaultConfig",function(){return o}),y.d(M,"mergeConfig",function(){return h}),y.d(M,"enableStreamingMode",function(){return u});var C=y("./src/controller/abr-controller.ts"),D=y("./src/controller/audio-stream-controller.ts"),A=y("./src/controller/audio-track-controller.ts"),b=y("./src/controller/subtitle-stream-controller.ts"),I=y("./src/controller/subtitle-track-controller.ts"),O=y("./src/controller/buffer-controller.ts"),L=y("./src/controller/timeline-controller.ts"),m=y("./src/controller/cap-level-controller.ts"),S=y("./src/controller/fps-controller.ts"),p=y("./src/controller/eme-controller.ts"),T=y("./src/controller/cmcd-controller.ts"),E=y("./src/utils/xhr-loader.ts"),v=y("./src/utils/fetch-loader.ts"),n=y("./src/utils/cues.ts"),t=y("./src/utils/mediakeys-helper.ts"),r=y("./src/utils/logger.ts");function e(){return e=Object.assign||function(a){for(var l=1;l<arguments.length;l++){var d=arguments[l];for(var g in d)Object.prototype.hasOwnProperty.call(d,g)&&(a[g]=d[g])}return a},e.apply(this,arguments)}function f(a,l){var d=Object.keys(a);if(Object.getOwnPropertySymbols){var g=Object.getOwnPropertySymbols(a);l&&(g=g.filter(function(x){return Object.getOwnPropertyDescriptor(a,x).enumerable})),d.push.apply(d,g)}return d}function s(a){for(var l=1;l<arguments.length;l++){var d=arguments[l]!=null?arguments[l]:{};l%2?f(Object(d),!0).forEach(function(g){i(a,g,d[g])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(d)):f(Object(d)).forEach(function(g){Object.defineProperty(a,g,Object.getOwnPropertyDescriptor(d,g))})}return a}function i(a,l,d){return l in a?Object.defineProperty(a,l,{value:d,enumerable:!0,configurable:!0,writable:!0}):a[l]=d,a}var o=s(s({autoStartLoad:!0,startPosition:-1,defaultAudioCodec:void 0,debug:!1,capLevelOnFPSDrop:!1,capLevelToPlayerSize:!1,initialLiveManifestSize:1,maxBufferLength:30,backBufferLength:1/0,maxBufferSize:60*1e3*1e3,maxBufferHole:.1,highBufferWatchdogPeriod:2,nudgeOffset:.1,nudgeMaxRetry:3,maxFragLookUpTolerance:.25,liveSyncDurationCount:3,liveMaxLatencyDurationCount:1/0,liveSyncDuration:void 0,liveMaxLatencyDuration:void 0,maxLiveSyncPlaybackRate:1,liveDurationInfinity:!1,liveBackBufferLength:null,maxMaxBufferLength:600,enableWorker:!0,enableSoftwareAES:!0,manifestLoadingTimeOut:1e4,manifestLoadingMaxRetry:1,manifestLoadingRetryDelay:1e3,manifestLoadingMaxRetryTimeout:64e3,startLevel:void 0,levelLoadingTimeOut:1e4,levelLoadingMaxRetry:4,levelLoadingRetryDelay:1e3,levelLoadingMaxRetryTimeout:64e3,fragLoadingTimeOut:2e4,fragLoadingMaxRetry:6,fragLoadingRetryDelay:1e3,fragLoadingMaxRetryTimeout:64e3,startFragPrefetch:!1,fpsDroppedMonitoringPeriod:5e3,fpsDroppedMonitoringThreshold:.2,appendErrorMaxRetry:3,loader:E.default,fLoader:void 0,pLoader:void 0,xhrSetup:void 0,licenseXhrSetup:void 0,licenseResponseCallback:void 0,abrController:C.default,bufferController:O.default,capLevelController:m.default,fpsController:S.default,stretchShortVideoTrack:!1,maxAudioFramesDrift:1,forceKeyFrameOnDiscontinuity:!0,abrEwmaFastLive:3,abrEwmaSlowLive:9,abrEwmaFastVoD:3,abrEwmaSlowVoD:9,abrEwmaDefaultEstimate:5e5,abrBandWidthFactor:.95,abrBandWidthUpFactor:.7,abrMaxWithRealBitrate:!1,maxStarvationDelay:4,maxLoadingDelay:4,minAutoBitrate:0,emeEnabled:!1,widevineLicenseUrl:void 0,drmSystemOptions:{},requestMediaKeySystemAccessFunc:t.requestMediaKeySystemAccess,testBandwidth:!0,progressive:!1,lowLatencyMode:!0,cmcd:void 0},c()),{},{subtitleStreamController:b.SubtitleStreamController,subtitleTrackController:I.default,timelineController:L.TimelineController,audioStreamController:D.default,audioTrackController:A.default,emeController:p.default,cmcdController:T.default});function c(){return{cueHandler:n.default,enableCEA708Captions:!0,enableWebVTT:!0,enableIMSC1:!0,captionsTextTrack1Label:"English",captionsTextTrack1LanguageCode:"en",captionsTextTrack2Label:"Spanish",captionsTextTrack2LanguageCode:"es",captionsTextTrack3Label:"Unknown CC",captionsTextTrack3LanguageCode:"",captionsTextTrack4Label:"Unknown CC",captionsTextTrack4LanguageCode:"",renderTextTracksNatively:!0}}function h(a,l){if((l.liveSyncDurationCount||l.liveMaxLatencyDurationCount)&&(l.liveSyncDuration||l.liveMaxLatencyDuration))throw new Error("Illegal hls.js config: don't mix up liveSyncDurationCount/liveMaxLatencyDurationCount and liveSyncDuration/liveMaxLatencyDuration");if(l.liveMaxLatencyDurationCount!==void 0&&(l.liveSyncDurationCount===void 0||l.liveMaxLatencyDurationCount<=l.liveSyncDurationCount))throw new Error('Illegal hls.js config: "liveMaxLatencyDurationCount" must be greater than "liveSyncDurationCount"');if(l.liveMaxLatencyDuration!==void 0&&(l.liveSyncDuration===void 0||l.liveMaxLatencyDuration<=l.liveSyncDuration))throw new Error('Illegal hls.js config: "liveMaxLatencyDuration" must be greater than "liveSyncDuration"');return e({},a,l)}function u(a){var l=a.loader;if(l!==v.default&&l!==E.default)r.logger.log("[config]: Custom loader detected, cannot enable progressive streaming"),a.progressive=!1;else{var d=Object(v.fetchSupported)();d&&(a.loader=v.default,a.progressive=!0,a.enableSoftwareAES=!0,r.logger.log("[config]: Progressive streaming enabled, using FetchLoader"))}}},"./src/controller/abr-controller.ts":function(W,M,y){y.r(M);var C=y("./src/polyfills/number.ts"),D=y("./src/utils/ewma-bandwidth-estimator.ts"),A=y("./src/events.ts"),b=y("./src/utils/buffer-helper.ts"),I=y("./src/errors.ts"),O=y("./src/types/loader.ts"),L=y("./src/utils/logger.ts");function m(T,E){for(var v=0;v<E.length;v++){var n=E[v];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(T,n.key,n)}}function S(T,E,v){return E&&m(T.prototype,E),v&&m(T,v),T}var p=function(){function T(v){this.hls=void 0,this.lastLoadedFragLevel=0,this._nextAutoLevel=-1,this.timer=void 0,this.onCheck=this._abandonRulesCheck.bind(this),this.fragCurrent=null,this.partCurrent=null,this.bitrateTestDelay=0,this.bwEstimator=void 0,this.hls=v;var n=v.config;this.bwEstimator=new D.default(n.abrEwmaSlowVoD,n.abrEwmaFastVoD,n.abrEwmaDefaultEstimate),this.registerListeners()}var E=T.prototype;return E.registerListeners=function(){var n=this.hls;n.on(A.Events.FRAG_LOADING,this.onFragLoading,this),n.on(A.Events.FRAG_LOADED,this.onFragLoaded,this),n.on(A.Events.FRAG_BUFFERED,this.onFragBuffered,this),n.on(A.Events.LEVEL_LOADED,this.onLevelLoaded,this),n.on(A.Events.ERROR,this.onError,this)},E.unregisterListeners=function(){var n=this.hls;n.off(A.Events.FRAG_LOADING,this.onFragLoading,this),n.off(A.Events.FRAG_LOADED,this.onFragLoaded,this),n.off(A.Events.FRAG_BUFFERED,this.onFragBuffered,this),n.off(A.Events.LEVEL_LOADED,this.onLevelLoaded,this),n.off(A.Events.ERROR,this.onError,this)},E.destroy=function(){this.unregisterListeners(),this.clearTimer(),this.hls=this.onCheck=null,this.fragCurrent=this.partCurrent=null},E.onFragLoading=function(n,t){var r=t.frag;if(r.type===O.PlaylistLevelType.MAIN&&!this.timer){var e;this.fragCurrent=r,this.partCurrent=(e=t.part)!=null?e:null,this.timer=self.setInterval(this.onCheck,100)}},E.onLevelLoaded=function(n,t){var r=this.hls.config;t.details.live?this.bwEstimator.update(r.abrEwmaSlowLive,r.abrEwmaFastLive):this.bwEstimator.update(r.abrEwmaSlowVoD,r.abrEwmaFastVoD)},E._abandonRulesCheck=function(){var n=this.fragCurrent,t=this.partCurrent,r=this.hls,e=r.autoLevelEnabled,f=r.config,s=r.media;if(!(!n||!s)){var i=t?t.stats:n.stats,o=t?t.duration:n.duration;if(i.aborted){L.logger.warn("frag loader destroy or aborted, disarm abandonRules"),this.clearTimer(),this._nextAutoLevel=-1;return}if(!(!e||s.paused||!s.playbackRate||!s.readyState)){var c=performance.now()-i.loading.start,h=Math.abs(s.playbackRate);if(!(c<=500*o/h)){var u=r.levels,a=r.minAutoLevel,l=u[n.level],d=i.total||Math.max(i.loaded,Math.round(o*l.maxBitrate/8)),g=Math.max(1,i.bwEstimate?i.bwEstimate/8:i.loaded*1e3/c),x=(d-i.loaded)/g,R=s.currentTime,P=(b.BufferHelper.bufferInfo(s,R,f.maxBufferHole).end-R)/h;if(!(P>=2*o/h||x<=P)){var _=Number.POSITIVE_INFINITY,F;for(F=n.level-1;F>a;F--){var B=u[F].maxBitrate;if(_=o*B/(8*.8*g),_<P)break}if(!(_>=x)){var U=this.bwEstimator.getEstimate();L.logger.warn("Fragment "+n.sn+(t?" part "+t.index:"")+" of level "+n.level+" is loading too slowly and will cause an underbuffer; aborting and switching to level "+F+`
Current BW estimate: `+(Object(C.isFiniteNumber)(U)?(U/1024).toFixed(3):"Unknown")+` Kb/s
Estimated load time for current fragment: `+x.toFixed(3)+` s
Estimated load time for the next fragment: `+_.toFixed(3)+` s
Time to underbuffer: `+P.toFixed(3)+" s"),r.nextLoadLevel=F,this.bwEstimator.sample(c,i.loaded),this.clearTimer(),n.loader&&(this.fragCurrent=this.partCurrent=null,n.loader.abort()),r.trigger(A.Events.FRAG_LOAD_EMERGENCY_ABORTED,{frag:n,part:t,stats:i})}}}}}},E.onFragLoaded=function(n,t){var r=t.frag,e=t.part;if(r.type===O.PlaylistLevelType.MAIN&&Object(C.isFiniteNumber)(r.sn)){var f=e?e.stats:r.stats,s=e?e.duration:r.duration;if(this.clearTimer(),this.lastLoadedFragLevel=r.level,this._nextAutoLevel=-1,this.hls.config.abrMaxWithRealBitrate){var i=this.hls.levels[r.level],o=(i.loaded?i.loaded.bytes:0)+f.loaded,c=(i.loaded?i.loaded.duration:0)+s;i.loaded={bytes:o,duration:c},i.realBitrate=Math.round(8*o/c)}if(r.bitrateTest){var h={stats:f,frag:r,part:e,id:r.type};this.onFragBuffered(A.Events.FRAG_BUFFERED,h),r.bitrateTest=!1}}},E.onFragBuffered=function(n,t){var r=t.frag,e=t.part,f=e?e.stats:r.stats;if(!f.aborted&&!(r.type!==O.PlaylistLevelType.MAIN||r.sn==="initSegment")){var s=f.parsing.end-f.loading.start;this.bwEstimator.sample(s,f.loaded),f.bwEstimate=this.bwEstimator.getEstimate(),r.bitrateTest?this.bitrateTestDelay=s/1e3:this.bitrateTestDelay=0}},E.onError=function(n,t){switch(t.details){case I.ErrorDetails.FRAG_LOAD_ERROR:case I.ErrorDetails.FRAG_LOAD_TIMEOUT:this.clearTimer();break}},E.clearTimer=function(){self.clearInterval(this.timer),this.timer=void 0},E.getNextABRAutoLevel=function(){var n=this.fragCurrent,t=this.partCurrent,r=this.hls,e=r.maxAutoLevel,f=r.config,s=r.minAutoLevel,i=r.media,o=t?t.duration:n?n.duration:0,c=i?i.currentTime:0,h=i&&i.playbackRate!==0?Math.abs(i.playbackRate):1,u=this.bwEstimator?this.bwEstimator.getEstimate():f.abrEwmaDefaultEstimate,a=(b.BufferHelper.bufferInfo(i,c,f.maxBufferHole).end-c)/h,l=this.findBestLevel(u,s,e,a,f.abrBandWidthFactor,f.abrBandWidthUpFactor);if(l>=0)return l;L.logger.trace((a?"rebuffering expected":"buffer is empty")+", finding optimal quality level");var d=o?Math.min(o,f.maxStarvationDelay):f.maxStarvationDelay,g=f.abrBandWidthFactor,x=f.abrBandWidthUpFactor;if(!a){var R=this.bitrateTestDelay;if(R){var P=o?Math.min(o,f.maxLoadingDelay):f.maxLoadingDelay;d=P-R,L.logger.trace("bitrate test took "+Math.round(1e3*R)+"ms, set first fragment max fetchDuration to "+Math.round(1e3*d)+" ms"),g=x=1}}return l=this.findBestLevel(u,s,e,a+d,g,x),Math.max(l,0)},E.findBestLevel=function(n,t,r,e,f,s){for(var i,o=this.fragCurrent,c=this.partCurrent,h=this.lastLoadedFragLevel,u=this.hls.levels,a=u[h],l=!!(a!=null&&(i=a.details)!==null&&i!==void 0&&i.live),d=a==null?void 0:a.codecSet,g=c?c.duration:o?o.duration:0,x=r;x>=t;x--){var R=u[x];if(!(!R||d&&R.codecSet!==d)){var P=R.details,_=(c?P==null?void 0:P.partTarget:P==null?void 0:P.averagetargetduration)||g,F=void 0;x<=h?F=f*n:F=s*n;var B=u[x].maxBitrate,U=B*_/F;if(L.logger.trace("level/adjustedbw/bitrate/avgDuration/maxFetchDuration/fetchDuration: "+x+"/"+Math.round(F)+"/"+B+"/"+_+"/"+e+"/"+U),F>B&&(!U||l&&!this.bitrateTestDelay||U<e))return x}}return-1},S(T,[{key:"nextAutoLevel",get:function(){var n=this._nextAutoLevel,t=this.bwEstimator;if(n!==-1&&(!t||!t.canEstimate()))return n;var r=this.getNextABRAutoLevel();return n!==-1&&(r=Math.min(n,r)),r},set:function(n){this._nextAutoLevel=n}}]),T}();M.default=p},"./src/controller/audio-stream-controller.ts":function(W,M,y){y.r(M);var C=y("./src/polyfills/number.ts"),D=y("./src/controller/base-stream-controller.ts"),A=y("./src/events.ts"),b=y("./src/utils/buffer-helper.ts"),I=y("./src/controller/fragment-tracker.ts"),O=y("./src/types/level.ts"),L=y("./src/types/loader.ts"),m=y("./src/loader/fragment.ts"),S=y("./src/demux/chunk-cache.ts"),p=y("./src/demux/transmuxer-interface.ts"),T=y("./src/types/transmuxer.ts"),E=y("./src/controller/fragment-finders.ts"),v=y("./src/utils/discontinuities.ts"),n=y("./src/errors.ts"),t=y("./src/utils/logger.ts");function r(){return r=Object.assign||function(o){for(var c=1;c<arguments.length;c++){var h=arguments[c];for(var u in h)Object.prototype.hasOwnProperty.call(h,u)&&(o[u]=h[u])}return o},r.apply(this,arguments)}function e(o,c){o.prototype=Object.create(c.prototype),o.prototype.constructor=o,f(o,c)}function f(o,c){return f=Object.setPrototypeOf||function(u,a){return u.__proto__=a,u},f(o,c)}var s=100,i=function(o){e(c,o);function c(u,a){var l;return l=o.call(this,u,a,"[audio-stream-controller]")||this,l.videoBuffer=null,l.videoTrackCC=-1,l.waitingVideoCC=-1,l.audioSwitch=!1,l.trackId=-1,l.waitingData=null,l.mainDetails=null,l.bufferFlushed=!1,l._registerListeners(),l}var h=c.prototype;return h.onHandlerDestroying=function(){this._unregisterListeners(),this.mainDetails=null},h._registerListeners=function(){var a=this.hls;a.on(A.Events.MEDIA_ATTACHED,this.onMediaAttached,this),a.on(A.Events.MEDIA_DETACHING,this.onMediaDetaching,this),a.on(A.Events.MANIFEST_LOADING,this.onManifestLoading,this),a.on(A.Events.LEVEL_LOADED,this.onLevelLoaded,this),a.on(A.Events.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),a.on(A.Events.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),a.on(A.Events.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),a.on(A.Events.ERROR,this.onError,this),a.on(A.Events.BUFFER_RESET,this.onBufferReset,this),a.on(A.Events.BUFFER_CREATED,this.onBufferCreated,this),a.on(A.Events.BUFFER_FLUSHED,this.onBufferFlushed,this),a.on(A.Events.INIT_PTS_FOUND,this.onInitPtsFound,this),a.on(A.Events.FRAG_BUFFERED,this.onFragBuffered,this)},h._unregisterListeners=function(){var a=this.hls;a.off(A.Events.MEDIA_ATTACHED,this.onMediaAttached,this),a.off(A.Events.MEDIA_DETACHING,this.onMediaDetaching,this),a.off(A.Events.MANIFEST_LOADING,this.onManifestLoading,this),a.off(A.Events.LEVEL_LOADED,this.onLevelLoaded,this),a.off(A.Events.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),a.off(A.Events.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),a.off(A.Events.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),a.off(A.Events.ERROR,this.onError,this),a.off(A.Events.BUFFER_RESET,this.onBufferReset,this),a.off(A.Events.BUFFER_CREATED,this.onBufferCreated,this),a.off(A.Events.BUFFER_FLUSHED,this.onBufferFlushed,this),a.off(A.Events.INIT_PTS_FOUND,this.onInitPtsFound,this),a.off(A.Events.FRAG_BUFFERED,this.onFragBuffered,this)},h.onInitPtsFound=function(a,l){var d=l.frag,g=l.id,x=l.initPTS;if(g==="main"){var R=d.cc;this.initPTS[d.cc]=x,this.log("InitPTS for cc: "+R+" found from main: "+x),this.videoTrackCC=R,this.state===D.State.WAITING_INIT_PTS&&this.tick()}},h.startLoad=function(a){if(!this.levels){this.startPosition=a,this.state=D.State.STOPPED;return}var l=this.lastCurrentTime;this.stopLoad(),this.setInterval(s),this.fragLoadError=0,l>0&&a===-1?(this.log("Override startPosition with lastCurrentTime @"+l.toFixed(3)),this.state=D.State.IDLE):(this.loadedmetadata=!1,this.state=D.State.WAITING_TRACK),this.nextLoadPosition=this.startPosition=this.lastCurrentTime=a,this.tick()},h.doTick=function(){switch(this.state){case D.State.IDLE:this.doTickIdle();break;case D.State.WAITING_TRACK:{var a,l=this.levels,d=this.trackId,g=l==null||(a=l[d])===null||a===void 0?void 0:a.details;if(g){if(this.waitForCdnTuneIn(g))break;this.state=D.State.WAITING_INIT_PTS}break}case D.State.FRAG_LOADING_WAITING_RETRY:{var x,R=performance.now(),P=this.retryDate;(!P||R>=P||(x=this.media)!==null&&x!==void 0&&x.seeking)&&(this.log("RetryDate reached, switch back to IDLE state"),this.state=D.State.IDLE);break}case D.State.WAITING_INIT_PTS:{var _=this.waitingData;if(_){var F=_.frag,B=_.part,U=_.cache,N=_.complete;if(this.initPTS[F.cc]!==void 0){this.waitingData=null,this.waitingVideoCC=-1,this.state=D.State.FRAG_LOADING;var k=U.flush(),w={frag:F,part:B,payload:k,networkDetails:null};this._handleFragmentLoadProgress(w),N&&o.prototype._handleFragmentLoadComplete.call(this,w)}else if(this.videoTrackCC!==this.waitingVideoCC)t.logger.log("Waiting fragment cc ("+F.cc+") cancelled because video is at cc "+this.videoTrackCC),this.clearWaitingFragment();else{var K=this.getLoadPosition(),j=b.BufferHelper.bufferInfo(this.mediaBuffer,K,this.config.maxBufferHole),H=Object(E.fragmentWithinToleranceTest)(j.end,this.config.maxFragLookUpTolerance,F);H<0&&(t.logger.log("Waiting fragment cc ("+F.cc+") @ "+F.start+" cancelled because another fragment at "+j.end+" is needed"),this.clearWaitingFragment())}}else this.state=D.State.IDLE}}this.onTickEnd()},h.clearWaitingFragment=function(){var a=this.waitingData;a&&(this.fragmentTracker.removeFragment(a.frag),this.waitingData=null,this.waitingVideoCC=-1,this.state=D.State.IDLE)},h.onTickEnd=function(){var a=this.media;if(!(!a||!a.readyState)){var l=this.mediaBuffer?this.mediaBuffer:a,d=l.buffered;!this.loadedmetadata&&d.length&&(this.loadedmetadata=!0),this.lastCurrentTime=a.currentTime}},h.doTickIdle=function(){var a,l,d=this.hls,g=this.levels,x=this.media,R=this.trackId,P=d.config;if(!(!g||!g[R])&&!(!x&&(this.startFragRequested||!P.startFragPrefetch))){var _=g[R],F=_.details;if(!F||F.live&&this.levelLastLoaded!==R||this.waitForCdnTuneIn(F)){this.state=D.State.WAITING_TRACK;return}this.bufferFlushed&&(this.bufferFlushed=!1,this.afterBufferFlushed(this.mediaBuffer?this.mediaBuffer:this.media,m.ElementaryStreamTypes.AUDIO,L.PlaylistLevelType.AUDIO));var B=this.getFwdBufferInfo(this.mediaBuffer?this.mediaBuffer:this.media,L.PlaylistLevelType.AUDIO);if(B!==null){var U=B.len,N=this.getMaxBufferLength(),k=this.audioSwitch;if(!(U>=N&&!k)){if(!k&&this._streamEnded(B,F)){d.trigger(A.Events.BUFFER_EOS,{type:"audio"}),this.state=D.State.ENDED;return}var w=F.fragments,K=w[0].start,j=B.end;if(k){var H=this.getLoadPosition();j=H,F.PTSKnown&&H<K&&(B.end>K||B.nextStart)&&(this.log("Alt audio track ahead of main track, seek to start of alt audio track"),x.currentTime=K+.05)}var G=this.getNextFragment(j,F);if(!G){this.bufferFlushed=!0;return}((a=G.decryptdata)===null||a===void 0?void 0:a.keyFormat)==="identity"&&!((l=G.decryptdata)!==null&&l!==void 0&&l.key)?this.loadKey(G,F):this.loadFragment(G,F,j)}}}},h.getMaxBufferLength=function(){var a=o.prototype.getMaxBufferLength.call(this),l=this.getFwdBufferInfo(this.videoBuffer?this.videoBuffer:this.media,L.PlaylistLevelType.MAIN);return l===null?a:Math.max(a,l.len)},h.onMediaDetaching=function(){this.videoBuffer=null,o.prototype.onMediaDetaching.call(this)},h.onAudioTracksUpdated=function(a,l){var d=l.audioTracks;this.resetTransmuxer(),this.levels=d.map(function(g){return new O.Level(g)})},h.onAudioTrackSwitching=function(a,l){var d=!!l.url;this.trackId=l.id;var g=this.fragCurrent;g!=null&&g.loader&&g.loader.abort(),this.fragCurrent=null,this.clearWaitingFragment(),d?this.setInterval(s):this.resetTransmuxer(),d?(this.audioSwitch=!0,this.state=D.State.IDLE):this.state=D.State.STOPPED,this.tick()},h.onManifestLoading=function(){this.mainDetails=null,this.fragmentTracker.removeAllFragments(),this.startPosition=this.lastCurrentTime=0,this.bufferFlushed=!1},h.onLevelLoaded=function(a,l){this.mainDetails=l.details},h.onAudioTrackLoaded=function(a,l){var d,g=this.levels,x=l.details,R=l.id;if(!g){this.warn("Audio tracks were reset while loading level "+R);return}this.log("Track "+R+" loaded ["+x.startSN+","+x.endSN+"],duration:"+x.totalduration);var P=g[R],_=0;if(x.live||(d=P.details)!==null&&d!==void 0&&d.live){var F=this.mainDetails;if(x.fragments[0]||(x.deltaUpdateFailed=!0),x.deltaUpdateFailed||!F)return;!P.details&&x.hasProgramDateTime&&F.hasProgramDateTime?(Object(v.alignMediaPlaylistByPDT)(x,F),_=x.fragments[0].start):_=this.alignPlaylists(x,P.details)}P.details=x,this.levelLastLoaded=R,!this.startFragRequested&&(this.mainDetails||!x.live)&&this.setStartPosition(P.details,_),this.state===D.State.WAITING_TRACK&&!this.waitForCdnTuneIn(x)&&(this.state=D.State.IDLE),this.tick()},h._handleFragmentLoadProgress=function(a){var l,d=a.frag,g=a.part,x=a.payload,R=this.config,P=this.trackId,_=this.levels;if(!_){this.warn("Audio tracks were reset while fragment load was in progress. Fragment "+d.sn+" of level "+d.level+" will not be buffered");return}var F=_[P];console.assert(F,"Audio track is defined on fragment load progress");var B=F.details;console.assert(B,"Audio track details are defined on fragment load progress");var U=R.defaultAudioCodec||F.audioCodec||"mp4a.40.2",N=this.transmuxer;N||(N=this.transmuxer=new p.default(this.hls,L.PlaylistLevelType.AUDIO,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)));var k=this.initPTS[d.cc],w=(l=d.initSegment)===null||l===void 0?void 0:l.data;if(k!==void 0){var K=!1,j=g?g.index:-1,H=j!==-1,G=new T.ChunkMetadata(d.level,d.sn,d.stats.chunkCount,x.byteLength,j,H);N.push(x,w,U,"",d,g,B.totalduration,K,G,k)}else{t.logger.log("Unknown video PTS for cc "+d.cc+", waiting for video PTS before demuxing audio frag "+d.sn+" of ["+B.startSN+" ,"+B.endSN+"],track "+P);var X=this.waitingData=this.waitingData||{frag:d,part:g,cache:new S.default,complete:!1},V=X.cache;V.push(new Uint8Array(x)),this.waitingVideoCC=this.videoTrackCC,this.state=D.State.WAITING_INIT_PTS}},h._handleFragmentLoadComplete=function(a){if(this.waitingData){this.waitingData.complete=!0;return}o.prototype._handleFragmentLoadComplete.call(this,a)},h.onBufferReset=function(){this.mediaBuffer=this.videoBuffer=null,this.loadedmetadata=!1},h.onBufferCreated=function(a,l){var d=l.tracks.audio;d&&(this.mediaBuffer=d.buffer),l.tracks.video&&(this.videoBuffer=l.tracks.video.buffer)},h.onFragBuffered=function(a,l){var d=l.frag,g=l.part;if(d.type===L.PlaylistLevelType.AUDIO){if(this.fragContextChanged(d)){this.warn("Fragment "+d.sn+(g?" p: "+g.index:"")+" of level "+d.level+" finished buffering, but was aborted. state: "+this.state+", audioSwitch: "+this.audioSwitch);return}d.sn!=="initSegment"&&(this.fragPrevious=d,this.audioSwitch&&(this.audioSwitch=!1,this.hls.trigger(A.Events.AUDIO_TRACK_SWITCHED,{id:this.trackId}))),this.fragBufferedComplete(d,g)}},h.onError=function(a,l){switch(l.details){case n.ErrorDetails.FRAG_LOAD_ERROR:case n.ErrorDetails.FRAG_LOAD_TIMEOUT:case n.ErrorDetails.KEY_LOAD_ERROR:case n.ErrorDetails.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(L.PlaylistLevelType.AUDIO,l);break;case n.ErrorDetails.AUDIO_TRACK_LOAD_ERROR:case n.ErrorDetails.AUDIO_TRACK_LOAD_TIMEOUT:this.state!==D.State.ERROR&&this.state!==D.State.STOPPED&&(this.state=l.fatal?D.State.ERROR:D.State.IDLE,this.warn(l.details+" while loading frag, switching to "+this.state+" state"));break;case n.ErrorDetails.BUFFER_FULL_ERROR:if(l.parent==="audio"&&(this.state===D.State.PARSING||this.state===D.State.PARSED)){var d=!0,g=this.getFwdBufferInfo(this.mediaBuffer,L.PlaylistLevelType.AUDIO);g&&g.len>.5&&(d=!this.reduceMaxBufferLength(g.len)),d&&(this.warn("Buffer full error also media.currentTime is not buffered, flush audio buffer"),this.fragCurrent=null,o.prototype.flushMainBuffer.call(this,0,Number.POSITIVE_INFINITY,"audio")),this.resetLoadingState()}break}},h.onBufferFlushed=function(a,l){var d=l.type;d===m.ElementaryStreamTypes.AUDIO&&(this.bufferFlushed=!0)},h._handleTransmuxComplete=function(a){var l,d="audio",g=this.hls,x=a.remuxResult,R=a.chunkMeta,P=this.getCurrentContext(R);if(!P){this.warn("The loading context changed while buffering fragment "+R.sn+" of level "+R.level+". This chunk will not be buffered."),this.resetLiveStartWhenNotLoaded(R.level);return}var _=P.frag,F=P.part,B=x.audio,U=x.text,N=x.id3,k=x.initSegment;if(!this.fragContextChanged(_)){if(this.state=D.State.PARSING,this.audioSwitch&&B&&this.completeAudioSwitch(),k!=null&&k.tracks&&(this._bufferInitSegment(k.tracks,_,R),g.trigger(A.Events.FRAG_PARSING_INIT_SEGMENT,{frag:_,id:d,tracks:k.tracks})),B){var w=B.startPTS,K=B.endPTS,j=B.startDTS,H=B.endDTS;F&&(F.elementaryStreams[m.ElementaryStreamTypes.AUDIO]={startPTS:w,endPTS:K,startDTS:j,endDTS:H}),_.setElementaryStreamInfo(m.ElementaryStreamTypes.AUDIO,w,K,j,H),this.bufferFragmentData(B,_,F,R)}if(N!=null&&(l=N.samples)!==null&&l!==void 0&&l.length){var G=r({frag:_,id:d},N);g.trigger(A.Events.FRAG_PARSING_METADATA,G)}if(U){var X=r({frag:_,id:d},U);g.trigger(A.Events.FRAG_PARSING_USERDATA,X)}}},h._bufferInitSegment=function(a,l,d){if(this.state===D.State.PARSING){a.video&&delete a.video;var g=a.audio;if(g){g.levelCodec=g.codec,g.id="audio",this.log("Init audio buffer, container:"+g.container+", codecs[parsed]=["+g.codec+"]"),this.hls.trigger(A.Events.BUFFER_CODECS,a);var x=g.initSegment;if(x!=null&&x.byteLength){var R={type:"audio",frag:l,part:null,chunkMeta:d,parent:l.type,data:x};this.hls.trigger(A.Events.BUFFER_APPENDING,R)}this.tick()}}},h.loadFragment=function(a,l,d){var g=this.fragmentTracker.getState(a);this.fragCurrent=a,(this.audioSwitch||g===I.FragmentState.NOT_LOADED||g===I.FragmentState.PARTIAL)&&(a.sn==="initSegment"?this._loadInitSegment(a):l.live&&!Object(C.isFiniteNumber)(this.initPTS[a.cc])?(this.log("Waiting for video PTS in continuity counter "+a.cc+" of live stream before loading audio fragment "+a.sn+" of level "+this.trackId),this.state=D.State.WAITING_INIT_PTS):(this.startFragRequested=!0,o.prototype.loadFragment.call(this,a,l,d)))},h.completeAudioSwitch=function(){var a=this.hls,l=this.media,d=this.trackId;l&&(this.log("Switching audio track : flushing all audio"),o.prototype.flushMainBuffer.call(this,0,Number.POSITIVE_INFINITY,"audio")),this.audioSwitch=!1,a.trigger(A.Events.AUDIO_TRACK_SWITCHED,{id:d})},c}(D.default);M.default=i},"./src/controller/audio-track-controller.ts":function(W,M,y){y.r(M);var C=y("./src/events.ts"),D=y("./src/errors.ts"),A=y("./src/controller/base-playlist-controller.ts"),b=y("./src/types/loader.ts");function I(p,T){for(var E=0;E<T.length;E++){var v=T[E];v.enumerable=v.enumerable||!1,v.configurable=!0,"value"in v&&(v.writable=!0),Object.defineProperty(p,v.key,v)}}function O(p,T,E){return T&&I(p.prototype,T),E&&I(p,E),p}function L(p,T){p.prototype=Object.create(T.prototype),p.prototype.constructor=p,m(p,T)}function m(p,T){return m=Object.setPrototypeOf||function(v,n){return v.__proto__=n,v},m(p,T)}var S=function(p){L(T,p);function T(v){var n;return n=p.call(this,v,"[audio-track-controller]")||this,n.tracks=[],n.groupId=null,n.tracksInGroup=[],n.trackId=-1,n.trackName="",n.selectDefaultTrack=!0,n.registerListeners(),n}var E=T.prototype;return E.registerListeners=function(){var n=this.hls;n.on(C.Events.MANIFEST_LOADING,this.onManifestLoading,this),n.on(C.Events.MANIFEST_PARSED,this.onManifestParsed,this),n.on(C.Events.LEVEL_LOADING,this.onLevelLoading,this),n.on(C.Events.LEVEL_SWITCHING,this.onLevelSwitching,this),n.on(C.Events.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),n.on(C.Events.ERROR,this.onError,this)},E.unregisterListeners=function(){var n=this.hls;n.off(C.Events.MANIFEST_LOADING,this.onManifestLoading,this),n.off(C.Events.MANIFEST_PARSED,this.onManifestParsed,this),n.off(C.Events.LEVEL_LOADING,this.onLevelLoading,this),n.off(C.Events.LEVEL_SWITCHING,this.onLevelSwitching,this),n.off(C.Events.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),n.off(C.Events.ERROR,this.onError,this)},E.destroy=function(){this.unregisterListeners(),this.tracks.length=0,this.tracksInGroup.length=0,p.prototype.destroy.call(this)},E.onManifestLoading=function(){this.tracks=[],this.groupId=null,this.tracksInGroup=[],this.trackId=-1,this.trackName="",this.selectDefaultTrack=!0},E.onManifestParsed=function(n,t){this.tracks=t.audioTracks||[]},E.onAudioTrackLoaded=function(n,t){var r=t.id,e=t.details,f=this.tracksInGroup[r];if(!f){this.warn("Invalid audio track id "+r);return}var s=f.details;f.details=t.details,this.log("audioTrack "+r+" loaded ["+e.startSN+"-"+e.endSN+"]"),r===this.trackId&&(this.retryCount=0,this.playlistLoaded(r,t,s))},E.onLevelLoading=function(n,t){this.switchLevel(t.level)},E.onLevelSwitching=function(n,t){this.switchLevel(t.level)},E.switchLevel=function(n){var t=this.hls.levels[n];if(t!=null&&t.audioGroupIds){var r=t.audioGroupIds[t.urlId];if(this.groupId!==r){this.groupId=r;var e=this.tracks.filter(function(s){return!r||s.groupId===r});this.selectDefaultTrack&&!e.some(function(s){return s.default})&&(this.selectDefaultTrack=!1),this.tracksInGroup=e;var f={audioTracks:e};this.log("Updating audio tracks, "+e.length+' track(s) found in "'+r+'" group-id'),this.hls.trigger(C.Events.AUDIO_TRACKS_UPDATED,f),this.selectInitialTrack()}}},E.onError=function(n,t){p.prototype.onError.call(this,n,t),!(t.fatal||!t.context)&&t.context.type===b.PlaylistContextType.AUDIO_TRACK&&t.context.id===this.trackId&&t.context.groupId===this.groupId&&this.retryLoadingOrFail(t)},E.setAudioTrack=function(n){var t=this.tracksInGroup;if(n<0||n>=t.length){this.warn("Invalid id passed to audio-track controller");return}this.clearTimer();var r=t[this.trackId];this.log("Now switching to audio-track index "+n);var e=t[n],f=e.id,s=e.groupId,i=s===void 0?"":s,o=e.name,c=e.type,h=e.url;if(this.trackId=n,this.trackName=o,this.selectDefaultTrack=!1,this.hls.trigger(C.Events.AUDIO_TRACK_SWITCHING,{id:f,groupId:i,name:o,type:c,url:h}),!(e.details&&!e.details.live)){var u=this.switchParams(e.url,r==null?void 0:r.details);this.loadPlaylist(u)}},E.selectInitialTrack=function(){var n=this.tracksInGroup;console.assert(n.length,"Initial audio track should be selected when tracks are known");var t=this.trackName,r=this.findTrackId(t)||this.findTrackId();r!==-1?this.setAudioTrack(r):(this.warn("No track found for running audio group-ID: "+this.groupId),this.hls.trigger(C.Events.ERROR,{type:D.ErrorTypes.MEDIA_ERROR,details:D.ErrorDetails.AUDIO_TRACK_LOAD_ERROR,fatal:!0}))},E.findTrackId=function(n){for(var t=this.tracksInGroup,r=0;r<t.length;r++){var e=t[r];if((!this.selectDefaultTrack||e.default)&&(!n||n===e.name))return e.id}return-1},E.loadPlaylist=function(n){var t=this.tracksInGroup[this.trackId];if(this.shouldLoadTrack(t)){var r=t.id,e=t.groupId,f=t.url;if(n)try{f=n.addDirectives(f)}catch(s){this.warn("Could not construct new URL with HLS Delivery Directives: "+s)}this.log("loading audio-track playlist for id: "+r),this.clearTimer(),this.hls.trigger(C.Events.AUDIO_TRACK_LOADING,{url:f,id:r,groupId:e,deliveryDirectives:n||null})}},O(T,[{key:"audioTracks",get:function(){return this.tracksInGroup}},{key:"audioTrack",get:function(){return this.trackId},set:function(n){this.selectDefaultTrack=!1,this.setAudioTrack(n)}}]),T}(A.default);M.default=S},"./src/controller/base-playlist-controller.ts":function(W,M,y){y.r(M),y.d(M,"default",function(){return O});var C=y("./src/polyfills/number.ts"),D=y("./src/types/level.ts"),A=y("./src/controller/level-helper.ts"),b=y("./src/utils/logger.ts"),I=y("./src/errors.ts"),O=function(){function L(S,p){this.hls=void 0,this.timer=-1,this.canLoad=!1,this.retryCount=0,this.log=void 0,this.warn=void 0,this.log=b.logger.log.bind(b.logger,p+":"),this.warn=b.logger.warn.bind(b.logger,p+":"),this.hls=S}var m=L.prototype;return m.destroy=function(){this.clearTimer(),this.hls=this.log=this.warn=null},m.onError=function(p,T){T.fatal&&T.type===I.ErrorTypes.NETWORK_ERROR&&this.clearTimer()},m.clearTimer=function(){clearTimeout(this.timer),this.timer=-1},m.startLoad=function(){this.canLoad=!0,this.retryCount=0,this.loadPlaylist()},m.stopLoad=function(){this.canLoad=!1,this.clearTimer()},m.switchParams=function(p,T){var E=T==null?void 0:T.renditionReports;if(E)for(var v=0;v<E.length;v++){var n=E[v],t=""+n.URI;if(t===p.substr(-t.length)){var r=parseInt(n["LAST-MSN"]),e=parseInt(n["LAST-PART"]);if(T&&this.hls.config.lowLatencyMode){var f=Math.min(T.age-T.partTarget,T.targetduration);e!==void 0&&f>T.partTarget&&(e+=1)}if(Object(C.isFiniteNumber)(r))return new D.HlsUrlParameters(r,Object(C.isFiniteNumber)(e)?e:void 0,D.HlsSkip.No)}}},m.loadPlaylist=function(p){},m.shouldLoadTrack=function(p){return this.canLoad&&p&&!!p.url&&(!p.details||p.details.live)},m.playlistLoaded=function(p,T,E){var v=this,n=T.details,t=T.stats,r=t.loading.end?Math.max(0,self.performance.now()-t.loading.end):0;if(n.advancedDateTime=Date.now()-r,n.live||E!=null&&E.live){if(n.reloaded(E),E&&this.log("live playlist "+p+" "+(n.advanced?"REFRESHED "+n.lastPartSn+"-"+n.lastPartIndex:"MISSED")),E&&n.fragments.length>0&&Object(A.mergeDetails)(E,n),!this.canLoad||!n.live)return;var e,f=void 0,s=void 0;if(n.canBlockReload&&n.endSN&&n.advanced){var i=this.hls.config.lowLatencyMode,o=n.lastPartSn,c=n.endSN,h=n.lastPartIndex,u=h!==-1,a=o===c,l=i?0:h;u?(f=a?c+1:o,s=a?l:h+1):f=c+1;var d=n.age,g=d+n.ageHeader,x=Math.min(g-n.partTarget,n.targetduration*1.5);if(x>0){if(E&&x>E.tuneInGoal)this.warn("CDN Tune-in goal increased from: "+E.tuneInGoal+" to: "+x+" with playlist age: "+n.age),x=0;else{var R=Math.floor(x/n.targetduration);if(f+=R,s!==void 0){var P=Math.round(x%n.targetduration/n.partTarget);s+=P}this.log("CDN Tune-in age: "+n.ageHeader+"s last advanced "+d.toFixed(2)+"s goal: "+x+" skip sn "+R+" to part "+s)}n.tuneInGoal=x}if(e=this.getDeliveryDirectives(n,T.deliveryDirectives,f,s),i||!a){this.loadPlaylist(e);return}}else e=this.getDeliveryDirectives(n,T.deliveryDirectives,f,s);var _=Object(A.computeReloadInterval)(n,t);f!==void 0&&n.canBlockReload&&(_-=n.partTarget||1),this.log("reload live playlist "+p+" in "+Math.round(_)+" ms"),this.timer=self.setTimeout(function(){return v.loadPlaylist(e)},_)}else this.clearTimer()},m.getDeliveryDirectives=function(p,T,E,v){var n=Object(D.getSkipValue)(p,E);return T!=null&&T.skip&&p.deltaUpdateFailed&&(E=T.msn,v=T.part,n=D.HlsSkip.No),new D.HlsUrlParameters(E,v,n)},m.retryLoadingOrFail=function(p){var T=this,E=this.hls.config,v=this.retryCount<E.levelLoadingMaxRetry;if(v){var n;if(this.retryCount++,p.details.indexOf("LoadTimeOut")>-1&&(n=p.context)!==null&&n!==void 0&&n.deliveryDirectives)this.warn("retry playlist loading #"+this.retryCount+' after "'+p.details+'"'),this.loadPlaylist();else{var t=Math.min(Math.pow(2,this.retryCount)*E.levelLoadingRetryDelay,E.levelLoadingMaxRetryTimeout);this.timer=self.setTimeout(function(){return T.loadPlaylist()},t),this.warn("retry playlist loading #"+this.retryCount+" in "+t+' ms after "'+p.details+'"')}}else this.warn('cannot recover from error "'+p.details+'"'),this.clearTimer(),p.fatal=!0;return v},L}()},"./src/controller/base-stream-controller.ts":function(W,M,y){y.r(M),y.d(M,"State",function(){return c}),y.d(M,"default",function(){return h});var C=y("./src/polyfills/number.ts"),D=y("./src/task-loop.ts"),A=y("./src/controller/fragment-tracker.ts"),b=y("./src/utils/buffer-helper.ts"),I=y("./src/utils/logger.ts"),O=y("./src/events.ts"),L=y("./src/errors.ts"),m=y("./src/types/transmuxer.ts"),S=y("./src/utils/mp4-tools.ts"),p=y("./src/utils/discontinuities.ts"),T=y("./src/controller/fragment-finders.ts"),E=y("./src/controller/level-helper.ts"),v=y("./src/loader/fragment-loader.ts"),n=y("./src/crypt/decrypter.ts"),t=y("./src/utils/time-ranges.ts"),r=y("./src/types/loader.ts");function e(u,a){for(var l=0;l<a.length;l++){var d=a[l];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(u,d.key,d)}}function f(u,a,l){return a&&e(u.prototype,a),l&&e(u,l),u}function s(u){if(u===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return u}function i(u,a){u.prototype=Object.create(a.prototype),u.prototype.constructor=u,o(u,a)}function o(u,a){return o=Object.setPrototypeOf||function(d,g){return d.__proto__=g,d},o(u,a)}var c={STOPPED:"STOPPED",IDLE:"IDLE",KEY_LOADING:"KEY_LOADING",FRAG_LOADING:"FRAG_LOADING",FRAG_LOADING_WAITING_RETRY:"FRAG_LOADING_WAITING_RETRY",WAITING_TRACK:"WAITING_TRACK",PARSING:"PARSING",PARSED:"PARSED",BACKTRACKING:"BACKTRACKING",ENDED:"ENDED",ERROR:"ERROR",WAITING_INIT_PTS:"WAITING_INIT_PTS",WAITING_LEVEL:"WAITING_LEVEL"},h=function(u){i(a,u);function a(d,g,x){var R;return R=u.call(this)||this,R.hls=void 0,R.fragPrevious=null,R.fragCurrent=null,R.fragmentTracker=void 0,R.transmuxer=null,R._state=c.STOPPED,R.media=void 0,R.mediaBuffer=void 0,R.config=void 0,R.bitrateTest=!1,R.lastCurrentTime=0,R.nextLoadPosition=0,R.startPosition=0,R.loadedmetadata=!1,R.fragLoadError=0,R.retryDate=0,R.levels=null,R.fragmentLoader=void 0,R.levelLastLoaded=null,R.startFragRequested=!1,R.decrypter=void 0,R.initPTS=[],R.onvseeking=null,R.onvended=null,R.logPrefix="",R.log=void 0,R.warn=void 0,R.logPrefix=x,R.log=I.logger.log.bind(I.logger,x+":"),R.warn=I.logger.warn.bind(I.logger,x+":"),R.hls=d,R.fragmentLoader=new v.default(d.config),R.fragmentTracker=g,R.config=d.config,R.decrypter=new n.default(d,d.config),d.on(O.Events.KEY_LOADED,R.onKeyLoaded,s(R)),R}var l=a.prototype;return l.doTick=function(){this.onTickEnd()},l.onTickEnd=function(){},l.startLoad=function(g){},l.stopLoad=function(){this.fragmentLoader.abort();var g=this.fragCurrent;g&&this.fragmentTracker.removeFragment(g),this.resetTransmuxer(),this.fragCurrent=null,this.fragPrevious=null,this.clearInterval(),this.clearNextTick(),this.state=c.STOPPED},l._streamEnded=function(g,x){var R=this.fragCurrent,P=this.fragmentTracker;if(!x.live&&R&&R.sn===x.endSN&&!g.nextStart){var _=P.getState(R);return _===A.FragmentState.PARTIAL||_===A.FragmentState.OK}return!1},l.onMediaAttached=function(g,x){var R=this.media=this.mediaBuffer=x.media;this.onvseeking=this.onMediaSeeking.bind(this),this.onvended=this.onMediaEnded.bind(this),R.addEventListener("seeking",this.onvseeking),R.addEventListener("ended",this.onvended);var P=this.config;this.levels&&P.autoStartLoad&&this.state===c.STOPPED&&this.startLoad(P.startPosition)},l.onMediaDetaching=function(){var g=this.media;g!=null&&g.ended&&(this.log("MSE detaching and video ended, reset startPosition"),this.startPosition=this.lastCurrentTime=0),g&&(g.removeEventListener("seeking",this.onvseeking),g.removeEventListener("ended",this.onvended),this.onvseeking=this.onvended=null),this.media=this.mediaBuffer=null,this.loadedmetadata=!1,this.fragmentTracker.removeAllFragments(),this.stopLoad()},l.onMediaSeeking=function(){var g=this.config,x=this.fragCurrent,R=this.media,P=this.mediaBuffer,_=this.state,F=R?R.currentTime:0,B=b.BufferHelper.bufferInfo(P||R,F,g.maxBufferHole);if(this.log("media seeking to "+(Object(C.isFiniteNumber)(F)?F.toFixed(3):F)+", state: "+_),_===c.ENDED)this.resetLoadingState();else if(x&&!B.len){var U=g.maxFragLookUpTolerance,N=x.start-U,k=x.start+x.duration+U,w=F>k;(F<N||w)&&(w&&x.loader&&(this.log("seeking outside of buffer while fragment load in progress, cancel fragment load"),x.loader.abort()),this.resetLoadingState())}R&&(this.lastCurrentTime=F),!this.loadedmetadata&&!B.len&&(this.nextLoadPosition=this.startPosition=F),this.tickImmediate()},l.onMediaEnded=function(){this.startPosition=this.lastCurrentTime=0},l.onKeyLoaded=function(g,x){if(!(this.state!==c.KEY_LOADING||x.frag!==this.fragCurrent||!this.levels)){this.state=c.IDLE;var R=this.levels[x.frag.level].details;R&&this.loadFragment(x.frag,R,x.frag.start)}},l.onHandlerDestroying=function(){this.stopLoad(),u.prototype.onHandlerDestroying.call(this)},l.onHandlerDestroyed=function(){this.state=c.STOPPED,this.hls.off(O.Events.KEY_LOADED,this.onKeyLoaded,this),this.fragmentLoader&&this.fragmentLoader.destroy(),this.decrypter&&this.decrypter.destroy(),this.hls=this.log=this.warn=this.decrypter=this.fragmentLoader=this.fragmentTracker=null,u.prototype.onHandlerDestroyed.call(this)},l.loadKey=function(g,x){this.log("Loading key for "+g.sn+" of ["+x.startSN+"-"+x.endSN+"], "+(this.logPrefix==="[stream-controller]"?"level":"track")+" "+g.level),this.state=c.KEY_LOADING,this.fragCurrent=g,this.hls.trigger(O.Events.KEY_LOADING,{frag:g})},l.loadFragment=function(g,x,R){this._loadFragForPlayback(g,x,R)},l._loadFragForPlayback=function(g,x,R){var P=this,_=function(B){if(P.fragContextChanged(g)){P.warn("Fragment "+g.sn+(B.part?" p: "+B.part.index:"")+" of level "+g.level+" was dropped during download."),P.fragmentTracker.removeFragment(g);return}g.stats.chunkCount++,P._handleFragmentLoadProgress(B)};this._doFragLoad(g,x,R,_).then(function(F){if(F){P.fragLoadError=0;var B=P.state;if(P.fragContextChanged(g)){(B===c.FRAG_LOADING||B===c.BACKTRACKING||!P.fragCurrent&&B===c.PARSING)&&(P.fragmentTracker.removeFragment(g),P.state=c.IDLE);return}if("payload"in F&&(P.log("Loaded fragment "+g.sn+" of level "+g.level),P.hls.trigger(O.Events.FRAG_LOADED,F),P.state===c.BACKTRACKING)){P.fragmentTracker.backtrack(g,F),P.resetFragmentLoading(g);return}P._handleFragmentLoadComplete(F)}}).catch(function(F){P.warn(F),P.resetFragmentLoading(g)})},l.flushMainBuffer=function(g,x,R){if(R===void 0&&(R=null),!!(g-x)){var P={startOffset:g,endOffset:x,type:R};this.fragLoadError=0,this.hls.trigger(O.Events.BUFFER_FLUSHING,P)}},l._loadInitSegment=function(g){var x=this;this._doFragLoad(g).then(function(R){if(!R||x.fragContextChanged(g)||!x.levels)throw new Error("init load aborted");return R}).then(function(R){var P=x.hls,_=R.payload,F=g.decryptdata;if(_&&_.byteLength>0&&F&&F.key&&F.iv&&F.method==="AES-128"){var B=self.performance.now();return x.decrypter.webCryptoDecrypt(new Uint8Array(_)