1import{r as q,g as p,p as x,h as N,Q as w,l as L,j as I,D as l,e as g,T as _,L as u,t as R,u as $,a as C,I as F,i as D,k as j,m as K,n as P,q as O}from"./index-_iurMbpo.js";import{VideoProvider as Q}from"./vidstack-video-DNpVMSSo.js";import{R as H}from"./vidstack-C-clE4br-DxFH7uJD.js";import"./app-BXezEdO3.js";import"./vidstack-DuY_sHvx-BC-q-ztc.js";function E(a){try{return new Intl.DisplayNames(navigator.languages,{type:"language"}).of(a)??null}catch{return null}}const G=a=>`dash-${K(a)}`;class V{constructor(t,i){this.m=t,this.b=i,this.d=null,this.qb=null,this.rb={},this.sb=new Set,this.Kb=null,this.oe={},this.na=-1}get instance(){return this.d}setup(t){this.d=t().create();const i=this.Ii.bind(this);for(const s of Object.values(t.events))this.d.on(s,i);this.d.on(t.events.ERROR,this.Q.bind(this));for(const s of this.sb)s(this.d);this.b.player.dispatch("dash-instance",{detail:this.d}),this.d.initialize(this.m,void 0,!1),this.d.updateSettings({streaming:{text:{defaultEnabled:!1,dispatchForManualRendering:!0},buffer:{fastSwitchEnabled:!0}},...this.rb}),this.d.on(t.events.FRAGMENT_LOADING_STARTED,this.Ji.bind(this)),this.d.on(t.events.FRAGMENT_LOADING_COMPLETED,this.Ki.bind(this)),this.d.on(t.events.MANIFEST_LOADED,this.Li.bind(this)),this.d.on(t.events.QUALITY_CHANGE_RENDERED,this.Za.bind(this)),this.d.on(t.events.TEXT_TRACKS_ADDED,this.Mi.bind(this)),this.d.on(t.events.TRACK_CHANGE_RENDERED,this.pc.bind(this)),this.b.qualities[w.Ia]=this.je.bind(this),L(this.b.qualities,"change",this.ke.bind(this)),L(this.b.audioTracks,"change",this.le.bind(this)),this.qb=I(this.me.bind(this))}aa(t){return new l(G(t.type),{detail:t})}me(){if(!this.b.$state.live())return;const t=new H(this.ne.bind(this));return t.Xa(),t.$.bind(t)}ne(){if(!this.d)return;const t=this.d.duration()-this.d.time();this.b.$state.liveSyncPosition.set(isNaN(t)?1/0:t)}Ii(t){this.b.player?.dispatch(this.aa(t))}Ni(t){const i=this.Kb?.[g._],s=(i?.track).cues;if(!i||!s)return;const r=this.Kb.id,n=this.oe[r]??0,d=this.aa(t);for(let c=n;c<s.length;c++){const h=s[c];h.positionAlign||(h.positionAlign="auto"),this.Kb.addCue(h,d)}this.oe[r]=s.length}Mi(t){if(!this.d)return;const i=t.tracks,s=[...this.m.textTracks].filter(n=>"manualMode"in n),r=this.aa(t);for(let n=0;n<s.length;n++){const d=i[n],c=s[n],h=`dash-${d.kind}-${n}`,o=new _({id:h,label:d?.label??d.labels.find(f=>f.text)?.text??(d?.lang&&E(d.lang))??d?.lang??void 0,language:d.lang??void 0,kind:d.kind,default:d.defaultTrack});o[g._]={managed:!0,track:c},o[g.ma]=2,o[g.hb]=()=>{this.d&&(o.mode==="showing"?(this.d.setTextTrack(n),this.Kb=o):(this.d.setTextTrack(-1),this.Kb=null))},this.b.textTracks.add(o,r)}}pc(t){const{mediaType:i,newMediaInfo:s}=t;if(i==="audio"){const r=this.b.audioTracks.getById(`dash-audio-${s.index}`);if(r){const n=this.aa(t);this.b.audioTracks[u.ea](r,!0,n)}}}Za(t){if(t.mediaType!=="video")return;const i=this.b.qualities[t.newQuality];if(i){const s=this.aa(t);this.b.qualities[u.ea](i,!0,s)}}Li(t){if(this.b.$state.canPlay()||!this.d)return;const{type:i,mediaPresentationDuration:s}=t.data,r=this.aa(t);this.b.delegate.c("stream-type-change",i!=="static"?"live":"on-demand",r),this.b.delegate.c("duration-change",s,r),this.b.qualities[w.Wa](!0,r);const n=this.d.getVideoElement(),d=this.d.getTracksForTypeFromManifest("video",t.data),c=[...new Set(d.map(e=>e.mimeType))].find(e=>e&&R(n,e)),h=d.filter(e=>c===e.mimeType)[0];let o=this.d.getTracksForTypeFromManifest("audio",t.data);const f=[...new Set(o.map(e=>e.mimeType))].find(e=>e&&$(n,e));if(o=o.filter(e=>f===e.mimeType),h.bitrateList.forEach((e,b)=>{const y={id:e.id?.toString()??`dash-bitrate-${b}`,width:e.width??0,height:e.height??0,bitrate:e.bandwidth??0,codec:h.codec,index:b};this.b.qualities[u.da](y,r)}),C(h.index)){const e=this.b.qualities[h.index];e&&this.b.qualities[u.ea](e,!0,r)}o.forEach((e,b)=>{const k=e.labels.find(T=>navigator.languages.some(M=>T.lang&&M.toLowerCase().startsWith(T.lang.toLowerCase())))||e.labels[0],A={id:`dash-audio-${e?.index}`,label:k?.text??(e.lang&&E(e.lang))??e.lang??"",language:e.lang??"",kind:"main",mimeType:e.mimeType,codec:e.codec,index:b};this.b.audioTracks[u.da](A,r)}),n.dispatchEvent(new l("canplay",{trigger:r}))}Q(t){const{type:i,error:s}=t;s.code===27?this.pe(s):this.qc(s)}Ji(){this.na>=0&&this._a()}Ki(t){t.mediaType==="text"&&requestAnimationFrame(this.Ni.bind(this,t))}pe(t){this._a(),this.d?.play(),this.na=window.setTimeout(()=>{this.na=-1,this.qc(t)},5e3)}_a(){clearTimeout(this.na),this.na=-1}qc(t){this.b.delegate.c("error",{message:t.message??"",code:1,error:t})}je(){this.lg("video",!0);const{qualities:t}=this.b;this.d?.setQualityFor("video",t.selectedIndex,!0)}lg(t,i){this.d?.updateSettings({streaming:{abr:{autoSwitchBitrate:{[t]:i}}}})}ke(){const{qualities:t}=this.b;!this.d||t.auto||!t.selected||(this.lg("video",!1),this.d.setQualityFor("video",t.selectedIndex,t.switch==="current"),F&&(this.m.currentTime=this.m.currentTime))}le(){if(!this.d)return;const{audioTracks:t}=this.b,i=this.d.getTracksFor("audio").find(s=>t.selected&&t.selected.id===`dash-audio-${s.index}`);i&&this.d.setCurrentTrack(i)}z(){this._a(),this.Kb=null,this.oe={}}loadSource(t){this.z(),p(t.src)&&this.d?.attachSource(t.src)}destroy(){this.z(),this.d?.destroy(),this.d=null,this.qb?.(),this.qb=null}}class z{constructor(t,i,s){this.L=t,this.b=i,this.La=s,this.qe()}async qe(){const t={onLoadStart:this.Ma.bind(this),onLoaded:this.tb.b
1ind(this),onLoadError:this.re.bind(this)};let i=await B(this.L,t);if(D(i)&&!p(this.L)&&(i=await J(this.L,t)),!i)return null;if(!window.dashjs.supportsMediaSource()){const s="[vidstack] `dash.js` is not supported in this environment";return this.b.player.dispatch(new l("dash-unsupported")),this.b.delegate.c("error",{message:s,code:4}),null}return i}Ma(){this.b.player.dispatch(new l("dash-lib-load-start"))}tb(t){this.b.player.dispatch(new l("dash-lib-loaded",{detail:t})),this.La(t)}re(t){const i=j(t);this.b.player.dispatch(new l("dash-lib-load-error",{detail:i})),this.b.delegate.c("error",{message:i.message,code:4,error:i})}}async function J(a,t={}){if(!D(a)){if(t.onLoadStart?.(),U(a))return t.onLoaded?.(a),a;if(S(a)){const i=a.MediaPlayer;return t.onLoaded?.(i),i}try{const i=(await a())?.default;if(S(i))return t.onLoaded?.(i.MediaPlayer),i.MediaPlayer;if(i)t.onLoaded?.(i);else throw Error("");return i}catch(i){t.onLoadError?.(i)}}}async function B(a,t={}){if(p(a)){t.onLoadStart?.();try{if(await P(a),!O(window.dashjs.MediaPlayer))throw Error("");const i=window.dashjs.MediaPlayer;return t.onLoaded?.(i),i}catch(i){t.onLoadError?.(i)}}}function U(a){return a&&a.prototype&&a.prototype!==Function}function S(a){return a&&"MediaPlayer"in a}const W="https://cdn.jsdelivr.net",m=class m extends Q{constructor(){super(...arguments),this.$$PROVIDER_TYPE="DASH",this.rc=null,this.e=new V(this.video,this.b),this.oa=`${W}/npm/[email protected]/dist/dash.all.min.js`}get ctor(){return this.rc}get instance(){return this.e.instance}get type(){return"dash"}get canLiveSync(){return!0}get config(){return this.e.rb}set config(t){this.e.rb=t}get library(){return this.oa}set library(t){this.oa=t}preconnect(){p(this.oa)&&x(this.oa)}setup(){super.setup(),new z(this.oa,this.b,t=>{this.rc=t,this.e.setup(t),this.b.delegate.c("provider-setup",this);const i=N(this.b.$state.source);i&&this.loadSource(i)})}async loadSource(t,i){if(!p(t.src)){this.oc();return}this.a.preload=i||"",this.ge(t,"application/x-mpegurl"),this.e.loadSource(t),this.K=t}onInstance(t){const i=this.e.instance;return i&&t(i),this.e.sb.add(t),()=>this.e.sb.delete(t)}destroy(){this.e.destroy()}};m.supported=q();let v=m;export{v as DASHProvider};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.