1 line
56 KiB
Plaintext
1 line
56 KiB
Plaintext
{"version":3,"sources":["../../../node_modules/tseep/lib/types.js","../../../node_modules/tseep/src/task-collection/utils.ts","../../../node_modules/tseep/src/task-collection/bake-collection.ts","../../../node_modules/tseep/src/task-collection/task-collection.ts","../../../node_modules/tseep/src/task-collection/index.ts","../../../node_modules/tseep/src/utils.ts","../../../node_modules/tseep/src/ee.ts","../../../node_modules/tseep/src/index.ts","../src/hls-player.ts","../../shared/src/assert.ts","../src/event-manager.ts","../src/helpers.ts","../src/types.ts","../src/state.ts"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=types.js.map",null,null,null,null,null,null,null,"import Hls from \"hls.js\";\nimport { assert } from \"shared/assert\";\nimport { EventEmitter } from \"tseep\";\nimport { EventManager } from \"./event-manager\";\nimport { getLangCode } from \"./helpers\";\nimport { getState, State } from \"./state\";\nimport { Events } from \"./types\";\nimport type {\n AudioTrack,\n HlsPlayerEventMap,\n Quality,\n SubtitleTrack,\n} from \"./types\";\nimport type { Level } from \"hls.js\";\n\nexport class HlsPlayer {\n private media_: HTMLMediaElement;\n\n private eventManager_ = new EventManager();\n\n private hls_: Hls | null = null;\n\n private state_: State | null = null;\n\n private emitter_ = new EventEmitter<HlsPlayerEventMap>();\n\n constructor(public container: HTMLDivElement) {\n this.media_ = this.createMedia_();\n }\n\n private createMedia_() {\n const media = document.createElement(\"video\");\n this.container.appendChild(media);\n\n media.style.position = \"absolute\";\n media.style.inset = \"0\";\n media.style.width = \"100%\";\n media.style.height = \"100%\";\n\n return media;\n }\n\n load(url: string) {\n this.unload();\n\n this.bindMediaListeners_();\n const hls = this.createHls_();\n\n this.state_ = new State({\n onEvent: (event: Events) => this.emit_(event),\n getTiming: () => ({\n primary: hls.interstitialsManager?.primary ?? hls.media,\n asset: hls.interstitialsManager?.playerQueue.find(\n (player) =>\n player.assetItem === hls.interstitialsManager?.playingAsset,\n ),\n }),\n });\n\n hls.attachMedia(this.media_);\n hls.loadSource(url);\n\n this.hls_ = hls;\n }\n\n unload() {\n this.eventManager_.removeAll();\n this.state_ = null;\n\n if (this.hls_) {\n this.hls_.destroy();\n this.hls_ = null;\n }\n\n this.emit_(Events.RESET);\n }\n\n destroy() {\n this.emitter_.removeAllListeners();\n this.unload();\n }\n\n on = this.emitter_.on.bind(this.emitter_);\n off = this.emitter_.off.bind(this.emitter_);\n once = this.emitter_.once.bind(this.emitter_);\n\n playOrPause() {\n if (!this.state_) {\n return;\n }\n const shouldPause =\n this.state_.playhead === \"play\" || this.state_.playhead === \"playing\";\n if (shouldPause) {\n this.media_.pause();\n } else {\n this.media_.play();\n }\n }\n\n seekTo(time: number) {\n assert(this.hls_);\n\n if (this.state_?.interstitial) {\n return false;\n }\n\n if (this.hls_.interstitialsManager) {\n this.hls_.interstitialsManager.primary.seekTo(time);\n } else {\n this.media_.currentTime = time;\n }\n\n return true;\n }\n\n setQuality(height: number | null) {\n assert(this.hls_);\n\n if (height === null) {\n this.hls_.nextLevel = -1;\n } else {\n const loadLevel = this.hls_.levels[this.hls_.loadLevel];\n assert(loadLevel, \"No level found for loadLevel index\");\n\n const idx = this.hls_.levels.findIndex((level) => {\n return (\n level.height === height &&\n level.audioCodec?.substring(0, 4) ===\n loadLevel.audioCodec?.substring(0, 4)\n );\n });\n\n if (idx < 0) {\n throw new Error(\"Could not find matching level\");\n }\n\n this.hls_.nextLevel = idx;\n }\n\n this.updateQualities_();\n }\n\n setAudioTrack(id: number) {\n assert(this.hls_);\n\n const audioTrack = this.state_?.audioTracks.find(\n (track) => track.id === id,\n );\n assert(audioTrack);\n\n this.hls_.setAudioOption({\n lang: audioTrack.track.lang,\n channels: audioTrack.track.channels,\n name: audioTrack.track.name,\n });\n }\n\n setSubtitleTrack(id: number | null) {\n assert(this.hls_);\n\n if (id === null) {\n this.hls_.subtitleTrack = -1;\n return;\n }\n\n const subtitleTrack = this.state_?.subtitleTracks.find(\n (track) => track.id === id,\n );\n assert(subtitleTrack);\n\n this.hls_.setSubtitleOption({\n lang: subtitleTrack.track.lang,\n name: subtitleTrack.track.name,\n });\n }\n\n setVolume(volume: number) {\n this.media_.volume = volume;\n this.media_.muted = volume === 0;\n this.state_?.setVolume(volume);\n }\n\n get ready() {\n return getState(this.state_, \"ready\");\n }\n\n get playhead() {\n return getState(this.state_, \"playhead\");\n }\n\n get started() {\n return getState(this.state_, \"started\");\n }\n\n get time() {\n return getState(this.state_, \"time\");\n }\n\n get duration() {\n return getState(this.state_, \"duration\");\n }\n\n get seeking() {\n return getState(this.state_, \"seeking\");\n }\n\n get interstitial() {\n return getState(this.state_, \"interstitial\");\n }\n\n get qualities() {\n return getState(this.state_, \"qualities\");\n }\n\n get autoQuality() {\n return getState(this.state_, \"autoQuality\");\n }\n\n get audioTracks() {\n return getState(this.state_, \"audioTracks\");\n }\n\n get subtitleTracks() {\n return getState(this.state_, \"subtitleTracks\");\n }\n\n get volume() {\n return getState(this.state_, \"volume\");\n }\n\n get seekableStart() {\n if (this.hls_) {\n return this.hls_.interstitialsManager?.primary?.seekableStart ?? 0;\n }\n return NaN;\n }\n\n get live() {\n return this.hls_?.levels[this.hls_.currentLevel]?.details?.live ?? false;\n }\n\n get cuePoints() {\n return getState(this.state_, \"cuePoints\");\n }\n\n private createHls_() {\n const hls = new Hls();\n\n const listen = this.eventManager_.listen(hls);\n\n listen(Hls.Events.MANIFEST_LOADED, () => {\n this.updateQualities_();\n this.updateAudioTracks_();\n this.updateSubtitleTracks_();\n });\n\n listen(Hls.Events.INTERSTITIAL_STARTED, () => {\n this.state_?.setInterstitial({\n asset: null,\n });\n });\n\n listen(Hls.Events.INTERSTITIAL_ASSET_STARTED, (_, data) => {\n const listResponseAsset = data.event.assetListResponse?.ASSETS[\n data.assetListIndex\n ] as {\n \"SPRS-KIND\"?: \"ad\" | \"bumper\";\n };\n\n this.state_?.setAsset({\n type: listResponseAsset[\"SPRS-KIND\"],\n });\n });\n\n listen(Hls.Events.INTERSTITIAL_ASSET_ENDED, () => {\n this.state_?.setAsset(null);\n });\n\n listen(Hls.Events.INTERSTITIAL_ENDED, () => {\n this.state_?.setInterstitial(null);\n });\n\n listen(Hls.Events.LEVELS_UPDATED, () => {\n this.updateQualities_();\n });\n\n listen(Hls.Events.LEVEL_SWITCHING, () => {\n this.updateQualities_();\n });\n\n listen(Hls.Events.AUDIO_TRACKS_UPDATED, () => {\n this.updateAudioTracks_();\n });\n\n listen(Hls.Events.AUDIO_TRACK_SWITCHING, () => {\n this.updateAudioTracks_();\n });\n\n listen(Hls.Events.SUBTITLE_TRACKS_UPDATED, () => {\n this.updateSubtitleTracks_();\n });\n\n listen(Hls.Events.SUBTITLE_TRACK_SWITCH, () => {\n this.updateSubtitleTracks_();\n });\n\n listen(Hls.Events.INTERSTITIALS_UPDATED, (_, data) => {\n const cuePoints = data.schedule.reduce<number[]>((acc, item) => {\n if (item.event) {\n acc.push(item.start);\n }\n return acc;\n }, []);\n this.state_?.setCuePoints(cuePoints);\n });\n\n return hls;\n }\n\n private updateQualities_() {\n assert(this.hls_);\n\n const group: {\n height: number;\n levels: Level[];\n }[] = [];\n\n for (const level of this.hls_.levels) {\n let item = group.find((item) => item.height === level.height);\n if (!item) {\n item = {\n height: level.height,\n levels: [],\n };\n group.push(item);\n }\n item.levels.push(level);\n }\n\n const level = this.hls_.levels[this.hls_.nextLoadLevel];\n\n const qualities = group.map<Quality>((item) => {\n return {\n ...item,\n active: item.height === level.height,\n };\n });\n\n qualities.sort((a, b) => b.height - a.height);\n\n const autoQuality = this.hls_.autoLevelEnabled;\n this.state_?.setQualities(qualities, autoQuality);\n }\n\n private updateAudioTracks_() {\n assert(this.hls_);\n\n const tracks = this.hls_.allAudioTracks.map<AudioTrack>((track, index) => {\n let label = getLangCode(track.lang);\n if (track.channels === \"6\") {\n label += \" 5.1\";\n }\n return {\n id: index,\n active: this.hls_?.audioTracks.includes(track)\n ? track.id === this.hls_.audioTrack\n : false,\n label,\n track,\n };\n });\n\n this.state_?.setAudioTracks(tracks);\n }\n\n private updateSubtitleTracks_() {\n assert(this.hls_);\n\n const tracks = this.hls_.allSubtitleTracks.map<SubtitleTrack>(\n (track, index) => {\n return {\n id: index,\n active: this.hls_?.subtitleTracks.includes(track)\n ? track.id === this.hls_.subtitleTrack\n : false,\n label: getLangCode(track.lang),\n track,\n };\n },\n );\n\n this.state_?.setSubtitleTracks(tracks);\n }\n\n private bindMediaListeners_() {\n const listen = this.eventManager_.listen(this.media_);\n\n listen(\"canplay\", () => {\n this.state_?.setReady();\n });\n\n listen(\"play\", () => {\n this.state_?.setPlayhead(\"play\");\n });\n\n listen(\"playing\", () => {\n this.state_?.setStarted();\n\n this.state_?.setPlayhead(\"playing\");\n });\n\n listen(\"pause\", () => {\n this.state_?.setPlayhead(\"pause\");\n });\n\n listen(\"volumechange\", () => {\n this.state_?.setVolume(this.media_.volume);\n });\n\n listen(\"seeking\", () => {\n this.state_?.setSeeking(true);\n });\n\n listen(\"seeked\", () => {\n this.state_?.setSeeking(false);\n });\n }\n\n private emit_(event: Events) {\n this.emitter_.emit(event);\n this.emitter_.emit(\"*\", event);\n }\n}\n","export function assert<T>(\n value: T,\n message = \"value is null\",\n): asserts value is NonNullable<T> {\n if (value === null || value === undefined) {\n throw Error(message);\n }\n}\n","interface Target {\n addEventListener?: Handler;\n removeEventListener?: Handler;\n on?: Handler;\n off?: Handler;\n}\n\ntype AddCallback<T extends Target> = T extends { addEventListener: Handler }\n ? T[\"addEventListener\"]\n : T extends { on: Handler }\n ? T[\"on\"]\n : Handler;\n\ntype RemoveCallback<T extends Target> = T extends {\n removeEventListener: Handler;\n}\n ? T[\"removeEventListener\"]\n : T extends { off: Handler }\n ? T[\"off\"]\n : Handler;\n\nexport class EventManager {\n private bindings_ = new Set<Binding>();\n\n listen = <T extends Target>(target: T) =>\n ((type, listener, context) => {\n const binding = createBinding(target, type, listener, context);\n this.bindings_.add(binding);\n }) as AddCallback<T>;\n\n listenOnce = <T extends Target>(target: T) =>\n ((type, listener, context) => {\n const binding = createBinding(target, type, listener, context, true);\n this.bindings_.add(binding);\n }) as AddCallback<T>;\n\n unlisten = <T extends Target>(target: T) =>\n ((type, listener) => {\n const binding = Array.from(this.bindings_).find(\n (binding) =>\n binding.target === target &&\n binding.type === type &&\n binding.listener === listener,\n );\n if (binding) {\n binding.remove();\n this.bindings_.delete(binding);\n }\n }) as RemoveCallback<T>;\n\n removeAll() {\n this.bindings_.forEach((binding) => {\n binding.remove();\n });\n this.bindings_.clear();\n }\n}\n\n/**\n * Create a binding for a specific target.\n * @param target\n * @param type\n * @param listener\n * @param context\n * @param once\n * @returns\n */\nfunction createBinding(\n target: Target,\n type: string,\n listener: Handler,\n context?: unknown,\n once?: boolean,\n) {\n const methodMap = {\n add: target.addEventListener?.bind(target) ?? target.on?.bind(target),\n remove:\n target.removeEventListener?.bind(target) ?? target.off?.bind(target),\n };\n\n const remove = () => {\n methodMap.remove?.(type, callback);\n };\n\n const callback = async (...args: unknown[]) => {\n try {\n await listener.apply(context, args);\n if (once) {\n remove();\n }\n } catch (error) {\n console.error(error);\n }\n };\n\n methodMap.add?.(type, callback);\n\n return {\n target,\n type,\n listener,\n context,\n once,\n remove,\n };\n}\n\ntype Binding = ReturnType<typeof createBinding>;\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype Handler = (...args: any) => any;\n","export function preciseFloat(value: number) {\n return Math.round((value + Number.EPSILON) * 100) / 100;\n}\n\nexport function getLangCode(key?: string) {\n const value = key ? langCodes[key]?.split(\",\")[0] : null;\n if (!value) {\n return \"Unknown\";\n }\n return `${value[0].toUpperCase()}${value.slice(1)}`;\n}\n\n// Inspired by iso-language-codes.\n// See https://github.com/pubcore/iso-language-codes/blob/master/src/data.ts\nconst langCodes: Record<string, string> = {\n sr: \"српски језик\",\n ro: \"Română\",\n ii: \"ꆈꌠ꒿ Nuosuhxop\",\n ty: \"Reo Tahiti\",\n tl: \"Wikang Tagalog\",\n yi: \"ייִדיש\",\n ak: \"Akan\",\n ms: \"Bahasa Melayu, بهاس ملايو\",\n ar: \"العربية\",\n no: \"Norsk\",\n oj: \"ᐊᓂᔑᓈᐯᒧᐎᓐ\",\n ff: \"Fulfulde, Pulaar, Pular\",\n fa: \"فارسی\",\n sq: \"Shqip\",\n ay: \"aymar aru\",\n az: \"azərbaycan dili\",\n zh: \"中文 (Zhōngwén), 汉语, 漢語\",\n cr: \"ᓀᐦᐃᔭᐍᐏᐣ\",\n et: \"eesti, eesti keel\",\n gn: \"Avañe'ẽ\",\n ik: \"Iñupiaq, Iñupiatun\",\n iu: \"ᐃᓄᒃᑎᑐᑦ\",\n kr: \"Kanuri\",\n kv: \"коми кыв\",\n kg: \"Kikongo\",\n ku: \"Kurdî, أۇزبېك\",\n lv: \"latviešu valoda\",\n mg: \"fiteny malagasy\",\n mn: \"Монгол хэл\",\n om: \"Afaan Oromoo\",\n ps: \"پښتو\",\n qu: \"Runa Simi, Kichwa\",\n sc: \"sardu\",\n sw: \"Kiswahili\",\n uz: \"O'zbek, Ўзбек, \",\n za: \"Saw cueŋƅ, Saw cuengh\",\n bi: \"Bislama\",\n nb: \"Norsk Bokmål\",\n nn: \"Norsk Nynorsk\",\n id: \"Bahasa Indonesia\",\n tw: \"Twi\",\n eo: \"Esperanto\",\n ia: \"Interlingua\",\n ie: \"Originally called Occidental; then Interlingue after WWII\",\n io: \"Ido\",\n vo: \"Volapük\",\n bh: \"भोजपुरी\",\n he: \"עברית\",\n sa: \"संस्कृतम्\",\n cu: \"ѩзыкъ словѣньскъ\",\n pi: \"पाऴि\",\n ae: \"avesta\",\n la: \"latine, lingua latina\",\n hy: \"Հայերեն\",\n ss: \"SiSwati\",\n bo: \"བོད་ཡིག\",\n nr: \"isiNdebele\",\n sl: \"Slovenski Jezik, Slovenščina\",\n or: \"ଓଡ଼ିଆ\",\n nd: \"isiNdebele\",\n na: \"Dorerin Naoero\",\n mi: \"te reo Māori\",\n mr: \"मराठी\",\n lu: \"Kiluba\",\n rn: \"Ikirundi\",\n km: \"ខ្មែរ, ខេមរភាសា, ភាសាខ្មែរ\",\n fy: \"Frysk\",\n bn: \"বাংলা\",\n av: \"авар мацӀ, магӀарул мацӀ\",\n ab: \"аҧсуа бызшәа, аҧсшәа\",\n aa: \"Afaraf\",\n af: \"Afrikaans\",\n am: \"አማርኛ\",\n an: \"aragonés\",\n as: \"অসমীয়া\",\n bm: \"bamanankan\",\n ba: \"башҡорт теле\",\n eu: \"euskara, euskera\",\n be: \"беларуская мова\",\n bs: \"bosanski jezik\",\n br: \"brezhoneg\",\n bg: \"български език\",\n my: \"ဗမာစာ\",\n ca: \"català, valencià\",\n ch: \"Chamoru\",\n ce: \"нохчийн мотт\",\n ny: \"chiCheŵa, chinyanja\",\n cv: \"чӑваш чӗлхи\",\n kw: \"Kernewek\",\n co: \"corsu, lingua corsa\",\n hr: \"hrvatski jezik\",\n cs: \"čeština, český jazyk\",\n da: \"dansk\",\n dv: \"ދިވެހި\",\n nl: \"Nederlands, Vlaams\",\n dz: \"རྫོང་ཁ\",\n en: \"English\",\n ee: \"Eʋegbe\",\n fo: \"føroyskt\",\n fj: \"vosa Vakaviti\",\n fi: \"suomi, suomen kieli\",\n fr: \"français, langue française\",\n gl: \"Galego\",\n ka: \"ქართული\",\n de: \"Deutsch\",\n el: \"ελληνικά\",\n gu: \"ગુજરાતી\",\n ht: \"Kreyòl ayisyen\",\n ha: \"(Hausa) هَوُسَ\",\n hz: \"Otjiherero\",\n hi: \"हिन्दी, हिंदी\",\n ho: \"Hiri Motu\",\n hu: \"magyar\",\n ga: \"Gaeilge\",\n ig: \"Asụsụ Igbo\",\n is: \"Íslenska\",\n it: \"Italiano\",\n ja: \"日本語 (にほんご)\",\n jv: \"ꦧꦱꦗꦮ, Basa Jawa\",\n kl: \"kalaallisut, kalaallit oqaasii\",\n kn: \"ಕನ್ನಡ\",\n ks: \"कश्मीरी, كشميري\",\n kk: \"қазақ тілі\",\n ki: \"Gĩkũyũ\",\n rw: \"Ikinyarwanda\",\n ky: \"Кыргызча, Кыргыз тили\",\n ko: \"한국어\",\n kj: \"Kuanyama\",\n lb: \"Lëtzebuergesch\",\n lg: \"Luganda\",\n li: \"Limburgs\",\n ln: \"Lingála\",\n lo: \"ພາສາລາວ\",\n lt: \"lietuvių kalba\",\n gv: \"Gaelg, Gailck\",\n mk: \"македонски јазик\",\n ml: \"മലയാളം\",\n mt: \"Malti\",\n mh: \"Kajin M̧ajeļ\",\n nv: \"Diné bizaad\",\n ne: \"नेपाली\",\n ng: \"Owambo\",\n oc: \"occitan, lenga d'òc\",\n os: \"ирон æвзаг\",\n pa: \"ਪੰਜਾਬੀ\",\n pl: \"język polski, polszczyzna\",\n pt: \"Português\",\n rm: \"Rumantsch Grischun\",\n ru: \"русский\",\n sd: \"सिन्धी, سنڌي، سندھی\",\n se: \"Davvisámegiella\",\n sm: \"gagana fa'a Samoa\",\n sg: \"yângâ tî sängö\",\n gd: \"Gàidhlig\",\n sn: \"chiShona\",\n si: \"සිංහල\",\n sk: \"Slovenčina, Slovenský Jazyk\",\n so: \"Soomaaliga, af Soomaali\",\n st: \"Sesotho\",\n es: \"Español\",\n su: \"Basa Sunda\",\n sv: \"Svenska\",\n ta: \"தமிழ்\",\n te: \"తెలుగు\",\n tg: \"тоҷикӣ, toçikī, تاجیکی\",\n th: \"ไทย\",\n ti: \"ትግርኛ\",\n tk: \"Türkmen, Түркмен\",\n tn: \"Setswana\",\n to: \"Faka Tonga\",\n tr: \"Türkçe\",\n ts: \"Xitsonga\",\n tt: \"татар теле, tatar tele\",\n ug: \"ئۇيغۇرچە, Uyghurche\",\n uk: \"Українська\",\n ur: \"اردو\",\n ve: \"Tshivenḓa\",\n vi: \"Tiếng Việt\",\n wa: \"Walon\",\n cy: \"Cymraeg\",\n wo: \"Wollof\",\n xh: \"isiXhosa\",\n yo: \"Yorùbá\",\n zu: \"isiZulu\",\n};\n","import type { Level, MediaPlaylist } from \"hls.js\";\n\nexport type Playhead = \"idle\" | \"play\" | \"playing\" | \"pause\" | \"ended\";\n\nexport enum Events {\n RESET = \"reset\",\n READY = \"ready\",\n STARTED = \"started\",\n PLAYHEAD_CHANGE = \"playheadChange\",\n TIME_CHANGE = \"timeChange\",\n VOLUME_CHANGE = \"volumeChange\",\n QUALITIES_CHANGE = \"qualitiesChange\",\n AUDIO_TRACKS_CHANGE = \"audioTracksChange\",\n SUBTITLE_TRACKS_CHANGE = \"subtitleTracksChange\",\n AUTO_QUALITY_CHANGE = \"autoQualityChange\",\n INTERSTITIAL_CHANGE = \"interstitialChange\",\n SEEKING_CHANGE = \"seekingChange\",\n CUEPOINTS_CHANGE = \"cuePointsChange\",\n}\n\nexport type HlsPlayerEventMap = {\n [Events.RESET]: () => void;\n [Events.READY]: () => void;\n [Events.STARTED]: () => void;\n [Events.PLAYHEAD_CHANGE]: () => void;\n [Events.TIME_CHANGE]: () => void;\n [Events.VOLUME_CHANGE]: () => void;\n [Events.QUALITIES_CHANGE]: () => void;\n [Events.AUDIO_TRACKS_CHANGE]: () => void;\n [Events.SUBTITLE_TRACKS_CHANGE]: () => void;\n [Events.AUTO_QUALITY_CHANGE]: () => void;\n [Events.INTERSTITIAL_CHANGE]: () => void;\n [Events.SEEKING_CHANGE]: () => void;\n [Events.CUEPOINTS_CHANGE]: () => void;\n} & {\n \"*\": (event: Events) => void;\n};\n\nexport interface Quality {\n height: number;\n active: boolean;\n levels: Level[];\n}\n\nexport interface AudioTrack {\n id: number;\n active: boolean;\n label: string;\n track: MediaPlaylist;\n}\n\nexport interface SubtitleTrack {\n id: number;\n active: boolean;\n label: string;\n track: MediaPlaylist;\n}\n\nexport interface Asset {\n time: number;\n duration: number;\n type?: \"ad\" | \"bumper\";\n}\n\nexport interface Interstitial {\n asset: Asset | null;\n}\n","import { preciseFloat } from \"./helpers\";\nimport { Events } from \"./types\";\nimport type {\n Asset,\n AudioTrack,\n Interstitial,\n Playhead,\n Quality,\n SubtitleTrack,\n} from \"./types\";\n\ninterface MediaShim {\n currentTime: number;\n duration: number;\n}\n\ninterface StateParams {\n onEvent(event: Events): void;\n getTiming(): {\n primary?: MediaShim | null;\n asset?: MediaShim | null;\n };\n}\n\ninterface StateProperties {\n ready: boolean;\n playhead: Playhead;\n started: boolean;\n time: number;\n duration: number;\n interstitial: Interstitial | null;\n qualities: Quality[];\n autoQuality: boolean;\n audioTracks: AudioTrack[];\n subtitleTracks: SubtitleTrack[];\n volume: number;\n seeking: boolean;\n cuePoints: number[];\n}\n\nconst noState: StateProperties = {\n playhead: \"idle\",\n ready: false,\n started: false,\n time: 0,\n duration: NaN,\n interstitial: null,\n qualities: [],\n autoQuality: false,\n audioTracks: [],\n subtitleTracks: [],\n volume: 1,\n seeking: false,\n cuePoints: [],\n};\n\nexport class State implements StateProperties {\n private timerId_: number | undefined;\n\n constructor(private params_: StateParams) {\n this.requestTimingSync();\n }\n\n setReady() {\n if (this.ready) {\n return;\n }\n this.ready = true;\n this.requestTimingSync();\n this.params_.onEvent(Events.READY);\n }\n\n setPlayhead(playhead: Playhead) {\n if (playhead === this.playhead) {\n return;\n }\n\n this.playhead = playhead;\n\n if (playhead === \"pause\") {\n this.requestTimingSync();\n }\n\n this.params_.onEvent(Events.PLAYHEAD_CHANGE);\n }\n\n setStarted() {\n if (this.started) {\n return;\n }\n this.started = true;\n this.params_.onEvent(Events.STARTED);\n }\n\n setInterstitial(interstitial: Interstitial | null) {\n this.interstitial = interstitial;\n this.setSeeking(false);\n this.params_.onEvent(Events.INTERSTITIAL_CHANGE);\n }\n\n setAsset(asset: Omit<Asset, \"time\" | \"duration\"> | null) {\n if (!this.interstitial) {\n return;\n }\n if (asset) {\n this.interstitial.asset = {\n time: 0,\n duration: NaN,\n ...asset,\n };\n this.requestTimingSync();\n } else {\n this.interstitial.asset = null;\n }\n }\n\n setQualities(qualities: Quality[], autoQuality: boolean) {\n const diff = (items: Quality[]) =>\n items.find((item) => item.active)?.height;\n\n if (diff(this.qualities) !== diff(qualities)) {\n this.qualities = qualities;\n this.params_.onEvent(Events.QUALITIES_CHANGE);\n }\n\n if (autoQuality !== this.autoQuality) {\n this.autoQuality = autoQuality;\n this.params_.onEvent(Events.AUTO_QUALITY_CHANGE);\n }\n }\n\n setAudioTracks(audioTracks: AudioTrack[]) {\n const diff = (items: AudioTrack[]) => items.find((item) => item.active)?.id;\n\n if (diff(this.audioTracks) !== diff(audioTracks)) {\n this.audioTracks = audioTracks;\n this.params_.onEvent(Events.AUDIO_TRACKS_CHANGE);\n }\n }\n\n setSubtitleTracks(subtitleTracks: SubtitleTrack[]) {\n const diff = (items: AudioTrack[]) => items.find((item) => item.active)?.id;\n\n if (\n // TODO: Come up with a generic logical check.\n (!this.subtitleTracks.length && subtitleTracks.length) ||\n diff(this.subtitleTracks) !== diff(subtitleTracks)\n ) {\n this.subtitleTracks = subtitleTracks;\n this.params_.onEvent(Events.SUBTITLE_TRACKS_CHANGE);\n }\n }\n\n setVolume(volume: number) {\n if (volume === this.volume) {\n return;\n }\n this.volume = volume;\n this.params_.onEvent(Events.VOLUME_CHANGE);\n }\n\n setSeeking(seeking: boolean) {\n if (seeking === this.seeking) {\n return;\n }\n this.seeking = seeking;\n this.requestTimingSync();\n this.params_.onEvent(Events.SEEKING_CHANGE);\n }\n\n setCuePoints(cuePoints: number[]) {\n this.cuePoints = cuePoints;\n this.requestTimingSync();\n this.params_.onEvent(Events.CUEPOINTS_CHANGE);\n }\n\n requestTimingSync() {\n clearTimeout(this.timerId_);\n this.timerId_ = window.setTimeout(() => {\n this.requestTimingSync();\n }, 250);\n\n const timing = this.params_.getTiming();\n\n let shouldEmit = false;\n\n if (this.updateTimeDuration_(this, timing.primary)) {\n shouldEmit = true;\n }\n\n if (\n this.interstitial?.asset &&\n this.updateTimeDuration_(this.interstitial.asset, timing.asset)\n ) {\n shouldEmit = true;\n }\n\n if (shouldEmit) {\n this.params_.onEvent(Events.TIME_CHANGE);\n }\n }\n\n private updateTimeDuration_(\n target: {\n time: number;\n duration: number;\n seekableStart?: number;\n },\n shim?: MediaShim | null,\n ) {\n if (!shim) {\n return false;\n }\n if (!Number.isFinite(shim.duration)) {\n return false;\n }\n\n const oldTime = target.time;\n target.time = preciseFloat(shim.currentTime);\n\n const oldDuration = target.duration;\n target.duration = preciseFloat(shim.duration);\n\n if (target.time > target.duration) {\n target.time = target.duration;\n }\n\n return oldTime !== target.time || oldDuration !== target.duration;\n }\n\n ready = noState.ready;\n playhead = noState.playhead;\n started = noState.started;\n time = noState.time;\n duration = noState.duration;\n interstitial = noState.interstitial;\n qualities = noState.qualities;\n autoQuality = noState.autoQuality;\n audioTracks = noState.audioTracks;\n subtitleTracks = noState.subtitleTracks;\n volume = noState.volume;\n seeking = noState.seeking;\n cuePoints = noState.cuePoints;\n}\n\nexport function getState<N extends keyof StateProperties>(\n state: State | null,\n name: N,\n) {\n return state?.[name] ?? noState[name];\n}\n"],"mappings":"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AAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,I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","names":["exports","exports","argsDefCode","funcDefCode","funcCallCode","_a","TaskCollection","exports","exports","exports","EventEmitter","exports","_a","exports","binding","Events","level","item"]} |