/*! * artplayer-plugin-dash-control.js v1.0.1 * Github: https://github.com/zhw2590582/ArtPlayer * (c) 2017-2026 Harvey Zhao * Released under the MIT License. */ function t(t,e){const o=/* @__PURE__ */new Map;return t.filter(t=>{const a=t[e];return void 0===a||!o.has(a)&&o.set(a,1)})}function e(e={}){return o=>{const{$video:a}=o.template,{errorHandle:n}=o.constructor.utils;function i(){n(o.dash.getVideoElement()===a,'Cannot find instance of DASH from "art.dash"'),function(a){const n=a.getBitrateInfoListFor("video");if(!n||!n.length)return;const i=e.quality||{},l=i.auto||"Auto",s=i.title||"Quality",r=i.getName||(t=>`${t.height}p`),c=a.getQualityFor("video"),u=a.getSettings().streaming.abr.autoSwitchBitrate.video,h=u?l:r(n[c]),d=t(n.map(t=>({html:r(t),value:t.qualityIndex,default:c===t.qualityIndex&&!u})),"html").sort((t,e)=>e.value-t.value);d.push({html:l,value:"auto",default:u});const g=t=>("auto"===t.value?a.updateSettings({streaming:{abr:{autoSwitchBitrate:{video:!0}}}}):(a.updateSettings({streaming:{abr:{autoSwitchBitrate:{video:!1}}}}),a.setQualityFor("video",t.value)),o.notice.show=`${s}: ${t.html}`,i.control&&o.controls.check(t),i.setting&&o.setting.check(t),t.html);i.control&&o.controls.update({name:"dash-quality",position:"right",html:h,style:{padding:"0 10px"},selector:d,onSelect:g}),i.setting&&o.setting.update({name:"dash-quality",tooltip:h,html:s,icon:'',width:200,selector:d,onSelect:g})}(o.dash),function(a){const n=a.getTracksFor("audio");if(!n||!n.length)return;const i=e.audio||{},l=i.auto||"Auto",s=i.title||"Audio",r=i.getName||(t=>t.lang||t.id),c=a.getCurrentTrackFor("audio")||n[0],u=c?r(c):l,h=t(n.map(t=>({html:r(t),value:t,default:c===t})),"html"),d=t=>(a.setCurrentTrack(t.value),o.notice.show=`${s}: ${t.html}`,i.control&&o.controls.check(t),i.setting&&o.setting.check(t),t.html);i.control&&o.controls.update({name:"dash-audio",position:"right",html:u,style:{padding:"0 10px"},selector:h,onSelect:d}),i.setting&&o.setting.update({name:"dash-audio",tooltip:u,html:s,icon:'',width:200,selector:h,onSelect:d})}(o.dash)}return o.on("ready",i),o.on("restart",i),{name:"artplayerPluginDashControl",update:i}}}export{e as default};