@videojs/html 10.0.0-beta.28 → 10.0.0-beta.29
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/cdn/{adapter-XTen-YVQ.js → adapter-CEnNWvii.js} +17 -4
- package/cdn/adapter-CEnNWvii.js.map +1 -0
- package/cdn/adapter-DaKW8NzI.js +2 -0
- package/cdn/adapter-DaKW8NzI.js.map +1 -0
- package/cdn/audio-headless.dev.js +1 -1
- package/cdn/audio-headless.js +1 -1
- package/cdn/audio-minimal-ui.dev.js +2 -2
- package/cdn/audio-minimal-ui.js +1 -1
- package/cdn/audio-minimal.dev.js +5 -5
- package/cdn/audio-minimal.dev.js.map +1 -1
- package/cdn/audio-minimal.js +1 -1
- package/cdn/audio-minimal.js.map +1 -1
- package/cdn/audio-ui.dev.js +2 -2
- package/cdn/audio-ui.js +1 -1
- package/cdn/audio.dev.js +5 -5
- package/cdn/audio.dev.js.map +1 -1
- package/cdn/audio.js +1 -1
- package/cdn/audio.js.map +1 -1
- package/cdn/background.dev.js +1 -1
- package/cdn/background.js +1 -1
- package/cdn/background.js.map +1 -1
- package/cdn/compounds-C4YYLyL2.js +8 -0
- package/cdn/compounds-C4YYLyL2.js.map +1 -0
- package/cdn/{compounds-nk9RJtBK.js → compounds-C73u1MeO.js} +63 -59
- package/cdn/compounds-C73u1MeO.js.map +1 -0
- package/cdn/create-player-BU8LDJDL.js +2 -0
- package/cdn/create-player-BU8LDJDL.js.map +1 -0
- package/cdn/{create-player-DK9WOywd.js → create-player-Db1CIvlK.js} +58 -46
- package/cdn/create-player-Db1CIvlK.js.map +1 -0
- package/cdn/{default-BqQDVloS.js → default-A3aM0skz.js} +2 -2
- package/cdn/default-A3aM0skz.js.map +1 -0
- package/cdn/default-BDyhiTCm.js +2 -0
- package/cdn/default-BDyhiTCm.js.map +1 -0
- package/cdn/{default-I2LasfxC.js → default-C1_k1NeB.js} +2 -2
- package/cdn/default-C1_k1NeB.js.map +1 -0
- package/cdn/default-DHrMd4ie.js +2 -0
- package/cdn/default-DHrMd4ie.js.map +1 -0
- package/cdn/error-surface-BID4D3DW.js +59 -0
- package/cdn/error-surface-BID4D3DW.js.map +1 -0
- package/cdn/{select-tracks-nRPBa1NC.js → error-surface-D0bo71gD.js} +442 -48
- package/cdn/error-surface-D0bo71gD.js.map +1 -0
- package/cdn/gesture-element-CeRy1IVs.js +2 -0
- package/cdn/gesture-element-CeRy1IVs.js.map +1 -0
- package/cdn/{gesture-element-6Ld1YwIL.js → gesture-element-DB67OYCE.js} +3 -3
- package/cdn/gesture-element-DB67OYCE.js.map +1 -0
- package/cdn/{hls-js-C4P_b2tT.js → hls-js-CiE4wOrG.js} +2 -2
- package/cdn/{hls-js-C4P_b2tT.js.map → hls-js-CiE4wOrG.js.map} +1 -1
- package/cdn/{hls-js-CATW7NBm.js → hls-js-DBKRCbQm.js} +2 -2
- package/cdn/{hls-js-CATW7NBm.js.map → hls-js-DBKRCbQm.js.map} +1 -1
- package/cdn/{hls-js-BEuVm0u9.js → hls-js-DX2NGCAr.js} +2 -2
- package/cdn/{hls-js-BEuVm0u9.js.map → hls-js-DX2NGCAr.js.map} +1 -1
- package/cdn/{hls-js-WCNy9MVh.js → hls-js-JeH8yvsP.js} +2 -2
- package/cdn/{hls-js-WCNy9MVh.js.map → hls-js-JeH8yvsP.js.map} +1 -1
- package/cdn/i18n-CpBDXf6M.js +2 -0
- package/cdn/{i18n-Dc7WM2xd.js.map → i18n-CpBDXf6M.js.map} +1 -1
- package/cdn/{i18n-Ch4t6EjV.js → i18n-D0nhPa0m.js} +2 -2
- package/cdn/{i18n-Ch4t6EjV.js.map → i18n-D0nhPa0m.js.map} +1 -1
- package/cdn/{live-button-element-DaHgnYdw.js → live-button-element-Co8z2LkI.js} +2 -2
- package/cdn/{live-button-element-DaHgnYdw.js.map → live-button-element-Co8z2LkI.js.map} +1 -1
- package/cdn/{live-button-element-Bae44kBN.js → live-button-element-zE-8uoR2.js} +3 -3
- package/cdn/{live-button-element-Bae44kBN.js.map → live-button-element-zE-8uoR2.js.map} +1 -1
- package/cdn/live-video-minimal.dev.js +11 -9
- package/cdn/live-video-minimal.dev.js.map +1 -1
- package/cdn/live-video-minimal.js +1 -1
- package/cdn/live-video-minimal.js.map +1 -1
- package/cdn/live-video.dev.js +12 -10
- package/cdn/live-video.dev.js.map +1 -1
- package/cdn/live-video.js +1 -1
- package/cdn/live-video.js.map +1 -1
- package/cdn/media/hls-audio.dev.js +1 -1
- package/cdn/media/hls-audio.js +1 -1
- package/cdn/media/hls-background-video.dev.js +1 -1
- package/cdn/media/hls-background-video.js +1 -1
- package/cdn/media/hls-video.dev.js +1 -1
- package/cdn/media/hls-video.js +1 -1
- package/cdn/media/mux-audio/hls-js.dev.js +1 -1
- package/cdn/media/mux-audio/hls-js.js +1 -1
- package/cdn/media/mux-audio/spf.dev.js +2 -2
- package/cdn/media/mux-audio/spf.js +1 -1
- package/cdn/media/mux-audio.dev.js +1 -1
- package/cdn/media/mux-audio.js +1 -1
- package/cdn/media/mux-background-video.dev.js +1 -1
- package/cdn/media/mux-background-video.js +1 -1
- package/cdn/media/mux-data.dev.js +1 -1
- package/cdn/media/mux-data.dev.js.map +1 -1
- package/cdn/media/mux-data.js +1 -1
- package/cdn/media/mux-data.js.map +1 -1
- package/cdn/media/mux-video/hls-js.dev.js +1 -1
- package/cdn/media/mux-video/hls-js.js +1 -1
- package/cdn/media/mux-video/spf.dev.js +2 -2
- package/cdn/media/mux-video/spf.js +1 -1
- package/cdn/media/mux-video.dev.js +1 -1
- package/cdn/media/mux-video.js +1 -1
- package/cdn/media/vimeo-video.dev.js +27 -5
- package/cdn/media/vimeo-video.dev.js.map +1 -1
- package/cdn/media/vimeo-video.js +1 -1
- package/cdn/media/vimeo-video.js.map +1 -1
- package/cdn/{media-Uxm0d3Vx.js → media-BI8caj07.js} +3 -3
- package/cdn/{media-Uxm0d3Vx.js.map → media-BI8caj07.js.map} +1 -1
- package/cdn/{media-COIe3uI5.js → media-BNuI0Im7.js} +19 -6
- package/cdn/media-BNuI0Im7.js.map +1 -0
- package/cdn/media-CQxFuDcv.js +2 -0
- package/cdn/{media-CPVSKLdk.js.map → media-CQxFuDcv.js.map} +1 -1
- package/cdn/media-D4tG62L5.js +2 -0
- package/cdn/{media-BTipOcKo.js.map → media-D4tG62L5.js.map} +1 -1
- package/cdn/{media-oa3nyL2o.js → media-DI6DvYm3.js} +3 -3
- package/cdn/{media-oa3nyL2o.js.map → media-DI6DvYm3.js.map} +1 -1
- package/cdn/media-DU3Xf5XR.js +2 -0
- package/cdn/media-DU3Xf5XR.js.map +1 -0
- package/cdn/media-mYKOAsk3.js +825 -0
- package/cdn/media-mYKOAsk3.js.map +1 -0
- package/cdn/media-zReLnePj.js +2 -0
- package/cdn/media-zReLnePj.js.map +1 -0
- package/cdn/{minimal-DQCLKRyR.js → minimal-3OmH0xQS.js} +2 -2
- package/cdn/minimal-3OmH0xQS.js.map +1 -0
- package/cdn/{minimal-DLosvq31.js → minimal-6w_Vyyl9.js} +2 -2
- package/cdn/minimal-6w_Vyyl9.js.map +1 -0
- package/cdn/minimal-BWLTn7oQ.js +2 -0
- package/cdn/minimal-BWLTn7oQ.js.map +1 -0
- package/cdn/minimal-DIGrklyh.js +2 -0
- package/cdn/minimal-DIGrklyh.js.map +1 -0
- package/cdn/{minimal-ui-CRKvUmB8.js → minimal-ui-BCIESK8f.js} +8 -8
- package/cdn/{minimal-ui-CRKvUmB8.js.map → minimal-ui-BCIESK8f.js.map} +1 -1
- package/cdn/minimal-ui-BXrq3z4U.js +2 -0
- package/cdn/{minimal-ui-Et2Wcn7r.js.map → minimal-ui-BXrq3z4U.js.map} +1 -1
- package/cdn/{minimal-ui-BpHxIo4z.js → minimal-ui-DEalpMk6.js} +4 -4
- package/cdn/{minimal-ui-BpHxIo4z.js.map → minimal-ui-DEalpMk6.js.map} +1 -1
- package/cdn/{minimal-ui-8iRZf_72.js → minimal-ui-vY3QgohH.js} +2 -2
- package/cdn/{minimal-ui-8iRZf_72.js.map → minimal-ui-vY3QgohH.js.map} +1 -1
- package/cdn/{player-DM9rUXg-.js → player-B3GlPF90.js} +2 -2
- package/cdn/{player-DM9rUXg-.js.map → player-B3GlPF90.js.map} +1 -1
- package/cdn/player-CtTC7qa5.js +2 -0
- package/cdn/{player-rCFqzWrA.js.map → player-CtTC7qa5.js.map} +1 -1
- package/cdn/player-DKkph8UM.js +2 -0
- package/cdn/{player-BRQLp5bX.js.map → player-DKkph8UM.js.map} +1 -1
- package/cdn/{player-CKTAtwit.js → player-DPDmTRvg.js} +2 -2
- package/cdn/{player-CKTAtwit.js.map → player-DPDmTRvg.js.map} +1 -1
- package/cdn/player-DrDd7LJi.js +2 -0
- package/cdn/{player-BloX4l6F.js.map → player-DrDd7LJi.js.map} +1 -1
- package/cdn/{player-B2oraRyD.js → player-L5UpZmT4.js} +2 -2
- package/cdn/{player-B2oraRyD.js.map → player-L5UpZmT4.js.map} +1 -1
- package/cdn/{poster-element-BGr1VQJB.js → poster-element-B5tdJ2ub.js} +179 -38
- package/cdn/poster-element-B5tdJ2ub.js.map +1 -0
- package/cdn/poster-element-B8QwXSU_.js +2 -0
- package/cdn/poster-element-B8QwXSU_.js.map +1 -0
- package/cdn/{error-surface-drmCvBVW.js → relocation-pipelines-Dh8CcgHw.js} +5 -343
- package/cdn/relocation-pipelines-Dh8CcgHw.js.map +1 -0
- package/cdn/relocation-pipelines-DunE4gcV.js +2 -0
- package/cdn/relocation-pipelines-DunE4gcV.js.map +1 -0
- package/cdn/{seek-button-element-XMTLIxZj.js → seek-button-element-5co-k0Dx.js} +4 -4
- package/cdn/seek-button-element-5co-k0Dx.js.map +1 -0
- package/cdn/{seek-button-element-FlgBVoGM.js → seek-button-element-B8TkILg-.js} +2 -2
- package/cdn/{seek-button-element-FlgBVoGM.js.map → seek-button-element-B8TkILg-.js.map} +1 -1
- package/cdn/shallow-equal-C7S8rj2f.js +16 -0
- package/cdn/shallow-equal-C7S8rj2f.js.map +1 -0
- package/cdn/shallow-equal-KV1zFqZi.js +2 -0
- package/cdn/shallow-equal-KV1zFqZi.js.map +1 -0
- package/cdn/{skin-element-DL-Kqa5f.js → skin-element-DrkI8xuM.js} +2 -2
- package/cdn/{skin-element-DL-Kqa5f.js.map → skin-element-DrkI8xuM.js.map} +1 -1
- package/cdn/{skin-element-DNytI-uu.js → skin-element-DvX6Bxsv.js} +2 -2
- package/cdn/{skin-element-DNytI-uu.js.map → skin-element-DvX6Bxsv.js.map} +1 -1
- package/cdn/{text-element-DeWBNKXb.js → text-element-BoY6AhMn.js} +2 -2
- package/cdn/{text-element-DeWBNKXb.js.map → text-element-BoY6AhMn.js.map} +1 -1
- package/cdn/{text-element-D88ArbZz.js → text-element-cg6l21cd.js} +2 -2
- package/cdn/{text-element-D88ArbZz.js.map → text-element-cg6l21cd.js.map} +1 -1
- package/cdn/time-slider-chapters-element-BfLjdnU4.js +2 -0
- package/cdn/time-slider-chapters-element-BfLjdnU4.js.map +1 -0
- package/cdn/{time-slider-chapters-element-DJ0abZXI.js → time-slider-chapters-element-CznFQWFm.js} +5 -5
- package/cdn/time-slider-chapters-element-CznFQWFm.js.map +1 -0
- package/cdn/{ui-BU3_2gDQ.js → ui-BwzqkJNK.js} +7 -7
- package/cdn/{ui-BU3_2gDQ.js.map → ui-BwzqkJNK.js.map} +1 -1
- package/cdn/ui-DayfItun.js +2 -0
- package/cdn/{ui-C0isALTQ.js.map → ui-DayfItun.js.map} +1 -1
- package/cdn/ui-PSnD-pv8.js +2 -0
- package/cdn/{ui-DVpkE1MN.js.map → ui-PSnD-pv8.js.map} +1 -1
- package/cdn/{ui-BsaWWE4y.js → ui-fnKp94a7.js} +9 -9
- package/cdn/{ui-BsaWWE4y.js.map → ui-fnKp94a7.js.map} +1 -1
- package/cdn/video-headless.dev.js +1 -1
- package/cdn/video-headless.js +1 -1
- package/cdn/video-minimal-ui.dev.js +2 -2
- package/cdn/video-minimal-ui.js +1 -1
- package/cdn/video-minimal.dev.js +8 -6
- package/cdn/video-minimal.dev.js.map +1 -1
- package/cdn/video-minimal.js +1 -1
- package/cdn/video-minimal.js.map +1 -1
- package/cdn/video-ui.dev.js +2 -2
- package/cdn/video-ui.js +1 -1
- package/cdn/video.dev.js +9 -7
- package/cdn/video.dev.js.map +1 -1
- package/cdn/video.js +1 -1
- package/cdn/video.js.map +1 -1
- package/dist/default/__generated__/skins/default-video/styles/buttons.css +132 -18
- package/dist/default/__generated__/skins/default-video/styles/captions.css +22 -0
- package/dist/default/__generated__/skins/default-video/styles/container.css +121 -8
- package/dist/default/__generated__/skins/default-video/styles/controls.css +436 -21
- package/dist/default/__generated__/skins/default-video/styles/dialog.css +169 -0
- package/dist/default/__generated__/skins/default-video/styles/indicator.css +459 -0
- package/dist/default/__generated__/skins/default-video/styles/menus.css +254 -0
- package/dist/default/__generated__/skins/default-video/styles/overlays.css +26 -2
- package/dist/default/__generated__/skins/default-video/styles/popups.css +338 -12
- package/dist/default/__generated__/skins/default-video/styles/poster.css +4 -4
- package/dist/default/__generated__/skins/default-video/styles/sliders.css +355 -31
- package/dist/default/__generated__/skins/default-video/styles/styles.css +2455 -216
- package/dist/default/__generated__/skins/default-video/styles/theme.css +4 -19
- package/dist/default/__generated__/skins/default-video/styles/video.css +29 -0
- package/dist/default/__generated__/skins/minimal-video/styles/base.css +25 -0
- package/dist/default/__generated__/skins/minimal-video/styles/buttons.css +266 -0
- package/dist/default/__generated__/skins/minimal-video/styles/captions.css +22 -0
- package/dist/default/__generated__/skins/minimal-video/styles/container.css +158 -0
- package/dist/default/__generated__/skins/minimal-video/styles/controls.css +182 -0
- package/dist/default/__generated__/skins/minimal-video/styles/dialog.css +77 -0
- package/dist/default/__generated__/skins/minimal-video/styles/indicator.css +322 -0
- package/dist/default/__generated__/skins/minimal-video/styles/menus.css +254 -0
- package/dist/default/__generated__/skins/minimal-video/styles/overlays.css +35 -0
- package/dist/default/__generated__/skins/minimal-video/styles/popups.css +371 -0
- package/dist/default/__generated__/skins/minimal-video/styles/poster.css +47 -0
- package/dist/default/__generated__/skins/minimal-video/styles/sliders.css +436 -0
- package/dist/default/__generated__/skins/minimal-video/styles/styles.css +2246 -0
- package/dist/default/__generated__/skins/minimal-video/styles/theme.css +7 -0
- package/dist/default/__generated__/skins/minimal-video/styles/video.css +29 -0
- package/dist/default/_virtual/inline-css_src/define/audio/minimal-skin.js +1 -1
- package/dist/default/_virtual/inline-css_src/define/audio/minimal-skin.js.map +1 -1
- package/dist/default/_virtual/inline-css_src/define/audio/skin.js +1 -1
- package/dist/default/_virtual/inline-css_src/define/audio/skin.js.map +1 -1
- package/dist/default/_virtual/inline-css_src/define/live-audio/minimal-skin.js +1 -1
- package/dist/default/_virtual/inline-css_src/define/live-audio/minimal-skin.js.map +1 -1
- package/dist/default/_virtual/inline-css_src/define/live-audio/skin.js +1 -1
- package/dist/default/_virtual/inline-css_src/define/live-audio/skin.js.map +1 -1
- package/dist/default/_virtual/inline-css_src/define/live-video/minimal-skin.js +1 -1
- package/dist/default/_virtual/inline-css_src/define/live-video/minimal-skin.js.map +1 -1
- package/dist/default/_virtual/inline-css_src/define/live-video/skin.js +1 -1
- package/dist/default/_virtual/inline-css_src/define/live-video/skin.js.map +1 -1
- package/dist/default/_virtual/inline-css_src/define/video/minimal-skin.js +1 -1
- package/dist/default/_virtual/inline-css_src/define/video/minimal-skin.js.map +1 -1
- package/dist/default/_virtual/inline-css_src/define/video/skin.js +1 -1
- package/dist/default/_virtual/inline-css_src/define/video/skin.js.map +1 -1
- package/dist/default/define/audio/minimal-skin.css +103 -101
- package/dist/default/define/audio/skin.css +68 -69
- package/dist/default/define/live-audio/minimal-skin.css +103 -101
- package/dist/default/define/live-audio/skin.css +68 -69
- package/dist/default/define/live-video/minimal-skin.css +140 -120
- package/dist/default/define/live-video/minimal-skin.js +1 -1
- package/dist/default/define/live-video/minimal-skin.js.map +1 -1
- package/dist/default/define/live-video/minimal-skin.tailwind.js +1 -1
- package/dist/default/define/live-video/minimal-skin.tailwind.js.map +1 -1
- package/dist/default/define/live-video/skin.css +89 -76
- package/dist/default/define/live-video/skin.js +1 -1
- package/dist/default/define/live-video/skin.js.map +1 -1
- package/dist/default/define/live-video/skin.tailwind.js +1 -1
- package/dist/default/define/live-video/skin.tailwind.js.map +1 -1
- package/dist/default/define/ui/gesture.js +7 -0
- package/dist/default/define/ui/gesture.js.map +1 -0
- package/dist/default/define/video/minimal-skin.css +140 -120
- package/dist/default/define/video/minimal-skin.js +1 -1
- package/dist/default/define/video/minimal-skin.js.map +1 -1
- package/dist/default/define/video/minimal-skin.tailwind.js +1 -1
- package/dist/default/define/video/minimal-skin.tailwind.js.map +1 -1
- package/dist/default/define/video/skin.css +89 -76
- package/dist/default/define/video/skin.js +1 -1
- package/dist/default/define/video/skin.js.map +1 -1
- package/dist/default/define/video/skin.tailwind.js +1 -1
- package/dist/default/define/video/skin.tailwind.js.map +1 -1
- package/dist/default/icons/dist/element/default/icons.js +1 -1
- package/dist/default/icons/dist/element/default/icons.js.map +1 -1
- package/dist/default/icons/dist/element/minimal/icons.js +1 -1
- package/dist/default/icons/dist/element/minimal/icons.js.map +1 -1
- package/dist/default/icons/dist/html/default/airplay-exit.js +1 -1
- package/dist/default/icons/dist/html/default/airplay-exit.js.map +1 -1
- package/dist/default/icons/dist/html/minimal/airplay-exit.js +1 -1
- package/dist/default/icons/dist/html/minimal/airplay-exit.js.map +1 -1
- package/dist/default/icons/dist/render/default/index.js +1 -1
- package/dist/default/icons/dist/render/default/index.js.map +1 -1
- package/dist/default/icons/dist/render/minimal/index.js +1 -1
- package/dist/default/icons/dist/render/minimal/index.js.map +1 -1
- package/dist/default/media/hls-background-video/media.js +18 -0
- package/dist/default/media/hls-background-video/media.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/button.js +3 -1
- package/dist/default/skins/dist/default/default/tailwind/components/button.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/poster.js +8 -1
- package/dist/default/skins/dist/default/default/tailwind/components/poster.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/slider.js +10 -10
- package/dist/default/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/thumbnail.js +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/thumbnail.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js +2 -2
- package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js +8 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js +13 -12
- package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/thumbnail.js +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/thumbnail.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js +6 -5
- package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
- package/dist/default/skins/dist/default/shared/tailwind/icon-state.js +4 -4
- package/dist/default/skins/dist/default/shared/tailwind/icon-state.js.map +1 -1
- package/dist/default/store/provider-mixin.js +22 -8
- package/dist/default/store/provider-mixin.js.map +1 -1
- package/dist/default/ui/audio-track-radio-group/audio-track-radio-group-element.js +1 -1
- package/dist/default/ui/audio-track-radio-group/audio-track-radio-group-element.js.map +1 -1
- package/dist/default/ui/captions-radio-group/captions-radio-group-element.js +1 -1
- package/dist/default/ui/captions-radio-group/captions-radio-group-element.js.map +1 -1
- package/dist/default/ui/gesture/gesture-element.js.map +1 -1
- package/dist/default/ui/hotkey/hotkey-element.js.map +1 -1
- package/dist/default/ui/menu/context.js.map +1 -1
- package/dist/default/ui/menu/menu-element.js +28 -27
- package/dist/default/ui/menu/menu-element.js.map +1 -1
- package/dist/default/ui/menu/menu-radio-group-element.js +14 -14
- package/dist/default/ui/menu/menu-radio-group-element.js.map +1 -1
- package/dist/default/ui/playback-rate-radio-group/playback-rate-radio-group-element.js +1 -1
- package/dist/default/ui/playback-rate-radio-group/playback-rate-radio-group-element.js.map +1 -1
- package/dist/default/ui/poster/poster-element.js +138 -8
- package/dist/default/ui/poster/poster-element.js.map +1 -1
- package/dist/default/ui/quality-radio-group/quality-radio-group-element.js +1 -1
- package/dist/default/ui/quality-radio-group/quality-radio-group-element.js.map +1 -1
- package/dist/default/ui/slider/slider-preview-element.js.map +1 -1
- package/dist/dev/__generated__/skins/default-video/styles/buttons.css +132 -18
- package/dist/dev/__generated__/skins/default-video/styles/captions.css +22 -0
- package/dist/dev/__generated__/skins/default-video/styles/container.css +121 -8
- package/dist/dev/__generated__/skins/default-video/styles/controls.css +436 -21
- package/dist/dev/__generated__/skins/default-video/styles/dialog.css +169 -0
- package/dist/dev/__generated__/skins/default-video/styles/indicator.css +459 -0
- package/dist/dev/__generated__/skins/default-video/styles/menus.css +254 -0
- package/dist/dev/__generated__/skins/default-video/styles/overlays.css +26 -2
- package/dist/dev/__generated__/skins/default-video/styles/popups.css +338 -12
- package/dist/dev/__generated__/skins/default-video/styles/poster.css +4 -4
- package/dist/dev/__generated__/skins/default-video/styles/sliders.css +355 -31
- package/dist/dev/__generated__/skins/default-video/styles/styles.css +2455 -216
- package/dist/dev/__generated__/skins/default-video/styles/theme.css +4 -19
- package/dist/dev/__generated__/skins/default-video/styles/video.css +29 -0
- package/dist/dev/__generated__/skins/minimal-video/styles/base.css +25 -0
- package/dist/dev/__generated__/skins/minimal-video/styles/buttons.css +266 -0
- package/dist/dev/__generated__/skins/minimal-video/styles/captions.css +22 -0
- package/dist/dev/__generated__/skins/minimal-video/styles/container.css +158 -0
- package/dist/dev/__generated__/skins/minimal-video/styles/controls.css +182 -0
- package/dist/dev/__generated__/skins/minimal-video/styles/dialog.css +77 -0
- package/dist/dev/__generated__/skins/minimal-video/styles/indicator.css +322 -0
- package/dist/dev/__generated__/skins/minimal-video/styles/menus.css +254 -0
- package/dist/dev/__generated__/skins/minimal-video/styles/overlays.css +35 -0
- package/dist/dev/__generated__/skins/minimal-video/styles/popups.css +371 -0
- package/dist/dev/__generated__/skins/minimal-video/styles/poster.css +47 -0
- package/dist/dev/__generated__/skins/minimal-video/styles/sliders.css +436 -0
- package/dist/dev/__generated__/skins/minimal-video/styles/styles.css +2246 -0
- package/dist/dev/__generated__/skins/minimal-video/styles/theme.css +7 -0
- package/dist/dev/__generated__/skins/minimal-video/styles/video.css +29 -0
- package/dist/dev/_virtual/inline-css_src/define/audio/minimal-skin.js +1 -1
- package/dist/dev/_virtual/inline-css_src/define/audio/minimal-skin.js.map +1 -1
- package/dist/dev/_virtual/inline-css_src/define/audio/skin.js +1 -1
- package/dist/dev/_virtual/inline-css_src/define/audio/skin.js.map +1 -1
- package/dist/dev/_virtual/inline-css_src/define/live-audio/minimal-skin.js +1 -1
- package/dist/dev/_virtual/inline-css_src/define/live-audio/minimal-skin.js.map +1 -1
- package/dist/dev/_virtual/inline-css_src/define/live-audio/skin.js +1 -1
- package/dist/dev/_virtual/inline-css_src/define/live-audio/skin.js.map +1 -1
- package/dist/dev/_virtual/inline-css_src/define/live-video/minimal-skin.js +1 -1
- package/dist/dev/_virtual/inline-css_src/define/live-video/minimal-skin.js.map +1 -1
- package/dist/dev/_virtual/inline-css_src/define/live-video/skin.js +1 -1
- package/dist/dev/_virtual/inline-css_src/define/live-video/skin.js.map +1 -1
- package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js +1 -1
- package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js.map +1 -1
- package/dist/dev/_virtual/inline-css_src/define/video/skin.js +1 -1
- package/dist/dev/_virtual/inline-css_src/define/video/skin.js.map +1 -1
- package/dist/dev/define/audio/minimal-skin.css +103 -101
- package/dist/dev/define/audio/skin.css +68 -69
- package/dist/dev/define/live-audio/minimal-skin.css +103 -101
- package/dist/dev/define/live-audio/skin.css +68 -69
- package/dist/dev/define/live-video/minimal-skin.css +140 -120
- package/dist/dev/define/live-video/minimal-skin.d.ts.map +1 -1
- package/dist/dev/define/live-video/minimal-skin.js +3 -1
- package/dist/dev/define/live-video/minimal-skin.js.map +1 -1
- package/dist/dev/define/live-video/minimal-skin.tailwind.d.ts.map +1 -1
- package/dist/dev/define/live-video/minimal-skin.tailwind.js +3 -1
- package/dist/dev/define/live-video/minimal-skin.tailwind.js.map +1 -1
- package/dist/dev/define/live-video/skin.css +89 -76
- package/dist/dev/define/live-video/skin.d.ts.map +1 -1
- package/dist/dev/define/live-video/skin.js +3 -1
- package/dist/dev/define/live-video/skin.js.map +1 -1
- package/dist/dev/define/live-video/skin.tailwind.d.ts.map +1 -1
- package/dist/dev/define/live-video/skin.tailwind.js +4 -2
- package/dist/dev/define/live-video/skin.tailwind.js.map +1 -1
- package/dist/dev/define/ui/gesture.d.ts +8 -0
- package/dist/dev/define/ui/gesture.d.ts.map +1 -0
- package/dist/dev/define/ui/gesture.js +7 -0
- package/dist/dev/define/ui/gesture.js.map +1 -0
- package/dist/dev/define/video/minimal-skin.css +140 -120
- package/dist/dev/define/video/minimal-skin.d.ts.map +1 -1
- package/dist/dev/define/video/minimal-skin.js +3 -1
- package/dist/dev/define/video/minimal-skin.js.map +1 -1
- package/dist/dev/define/video/minimal-skin.tailwind.d.ts.map +1 -1
- package/dist/dev/define/video/minimal-skin.tailwind.js +3 -1
- package/dist/dev/define/video/minimal-skin.tailwind.js.map +1 -1
- package/dist/dev/define/video/skin.css +89 -76
- package/dist/dev/define/video/skin.d.ts.map +1 -1
- package/dist/dev/define/video/skin.js +3 -1
- package/dist/dev/define/video/skin.js.map +1 -1
- package/dist/dev/define/video/skin.tailwind.d.ts.map +1 -1
- package/dist/dev/define/video/skin.tailwind.js +4 -2
- package/dist/dev/define/video/skin.tailwind.js.map +1 -1
- package/dist/dev/media/hls-background-video/media.d.ts +16 -0
- package/dist/dev/media/hls-background-video/media.d.ts.map +1 -1
- package/dist/dev/media/hls-background-video/media.js +18 -0
- package/dist/dev/media/hls-background-video/media.js.map +1 -1
- package/dist/dev/packages/icons/dist/element/default/icons.js +1 -1
- package/dist/dev/packages/icons/dist/element/default/icons.js.map +1 -1
- package/dist/dev/packages/icons/dist/element/minimal/icons.js +1 -1
- package/dist/dev/packages/icons/dist/element/minimal/icons.js.map +1 -1
- package/dist/dev/packages/icons/dist/html/default/airplay-exit.js +1 -1
- package/dist/dev/packages/icons/dist/html/default/airplay-exit.js.map +1 -1
- package/dist/dev/packages/icons/dist/html/minimal/airplay-exit.js +1 -1
- package/dist/dev/packages/icons/dist/html/minimal/airplay-exit.js.map +1 -1
- package/dist/dev/packages/icons/dist/render/default/index.js +1 -1
- package/dist/dev/packages/icons/dist/render/default/index.js.map +1 -1
- package/dist/dev/packages/icons/dist/render/minimal/index.js +1 -1
- package/dist/dev/packages/icons/dist/render/minimal/index.js.map +1 -1
- package/dist/dev/packages/skins/dist/default/default/tailwind/components/button.js +3 -1
- package/dist/dev/packages/skins/dist/default/default/tailwind/components/button.js.map +1 -1
- package/dist/dev/packages/skins/dist/default/default/tailwind/components/poster.js +8 -1
- package/dist/dev/packages/skins/dist/default/default/tailwind/components/poster.js.map +1 -1
- package/dist/dev/packages/skins/dist/default/default/tailwind/components/slider.js +10 -10
- package/dist/dev/packages/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
- package/dist/dev/packages/skins/dist/default/default/tailwind/components/thumbnail.js +1 -1
- package/dist/dev/packages/skins/dist/default/default/tailwind/components/thumbnail.js.map +1 -1
- package/dist/dev/packages/skins/dist/default/default/tailwind/video.tailwind.js +2 -2
- package/dist/dev/packages/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
- package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/poster.js +8 -1
- package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -1
- package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/slider.js +13 -12
- package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
- package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/thumbnail.js +1 -1
- package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/thumbnail.js.map +1 -1
- package/dist/dev/packages/skins/dist/default/minimal/tailwind/video.tailwind.js +6 -5
- package/dist/dev/packages/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
- package/dist/dev/packages/skins/dist/default/shared/tailwind/icon-state.js +4 -4
- package/dist/dev/packages/skins/dist/default/shared/tailwind/icon-state.js.map +1 -1
- package/dist/dev/store/provider-mixin.d.ts.map +1 -1
- package/dist/dev/store/provider-mixin.js +24 -8
- package/dist/dev/store/provider-mixin.js.map +1 -1
- package/dist/dev/store/types.d.ts +2 -2
- package/dist/dev/store/types.d.ts.map +1 -1
- package/dist/dev/ui/audio-track-radio-group/audio-track-radio-group-element.js +1 -1
- package/dist/dev/ui/audio-track-radio-group/audio-track-radio-group-element.js.map +1 -1
- package/dist/dev/ui/captions-radio-group/captions-radio-group-element.js +1 -1
- package/dist/dev/ui/captions-radio-group/captions-radio-group-element.js.map +1 -1
- package/dist/dev/ui/gesture/gesture-element.d.ts +7 -7
- package/dist/dev/ui/gesture/gesture-element.d.ts.map +1 -1
- package/dist/dev/ui/gesture/gesture-element.js.map +1 -1
- package/dist/dev/ui/hotkey/hotkey-element.d.ts +6 -6
- package/dist/dev/ui/hotkey/hotkey-element.d.ts.map +1 -1
- package/dist/dev/ui/hotkey/hotkey-element.js.map +1 -1
- package/dist/dev/ui/menu/context.d.ts +8 -8
- package/dist/dev/ui/menu/context.d.ts.map +1 -1
- package/dist/dev/ui/menu/context.js.map +1 -1
- package/dist/dev/ui/menu/menu-element.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-element.js +28 -27
- package/dist/dev/ui/menu/menu-element.js.map +1 -1
- package/dist/dev/ui/menu/menu-radio-group-element.d.ts +1 -1
- package/dist/dev/ui/menu/menu-radio-group-element.d.ts.map +1 -1
- package/dist/dev/ui/menu/menu-radio-group-element.js +14 -14
- package/dist/dev/ui/menu/menu-radio-group-element.js.map +1 -1
- package/dist/dev/ui/playback-rate-radio-group/playback-rate-radio-group-element.js +1 -1
- package/dist/dev/ui/playback-rate-radio-group/playback-rate-radio-group-element.js.map +1 -1
- package/dist/dev/ui/poster/poster-element.d.ts +20 -18
- package/dist/dev/ui/poster/poster-element.d.ts.map +1 -1
- package/dist/dev/ui/poster/poster-element.js +145 -8
- package/dist/dev/ui/poster/poster-element.js.map +1 -1
- package/dist/dev/ui/quality-radio-group/quality-radio-group-element.js +1 -1
- package/dist/dev/ui/quality-radio-group/quality-radio-group-element.js.map +1 -1
- package/dist/dev/ui/slider/slider-preview-element.d.ts +2 -2
- package/dist/dev/ui/slider/slider-preview-element.d.ts.map +1 -1
- package/dist/dev/ui/slider/slider-preview-element.js.map +1 -1
- package/docs/README.md +1 -1
- package/docs/concepts/skins.md +91 -78
- package/docs/how-to/customize-skins.md +411 -377
- package/docs/reference/menu.md +3 -19
- package/docs/reference/popover.md +2 -2
- package/docs/reference/poster.md +211 -21
- package/docs/reference/slider.md +1 -1
- package/docs/reference/time-slider.md +1 -1
- package/docs/reference/tooltip.md +6 -6
- package/docs/reference/volume-slider.md +1 -1
- package/package.json +14 -9
- package/cdn/adapter-Bk03SAxn.js +0 -2
- package/cdn/adapter-Bk03SAxn.js.map +0 -1
- package/cdn/adapter-XTen-YVQ.js.map +0 -1
- package/cdn/compounds-BEO1d3ZM.js +0 -8
- package/cdn/compounds-BEO1d3ZM.js.map +0 -1
- package/cdn/compounds-nk9RJtBK.js.map +0 -1
- package/cdn/create-player-DK9WOywd.js.map +0 -1
- package/cdn/create-player-hSdQMP5p.js +0 -2
- package/cdn/create-player-hSdQMP5p.js.map +0 -1
- package/cdn/default-BqQDVloS.js.map +0 -1
- package/cdn/default-CXWVp2oG.js +0 -2
- package/cdn/default-CXWVp2oG.js.map +0 -1
- package/cdn/default-Dw6cIEqT.js +0 -2
- package/cdn/default-Dw6cIEqT.js.map +0 -1
- package/cdn/default-I2LasfxC.js.map +0 -1
- package/cdn/error-surface-DCT1m2p1.js +0 -2
- package/cdn/error-surface-DCT1m2p1.js.map +0 -1
- package/cdn/error-surface-drmCvBVW.js.map +0 -1
- package/cdn/gesture-element-6Ld1YwIL.js.map +0 -1
- package/cdn/gesture-element-BC48ucj9.js +0 -2
- package/cdn/gesture-element-BC48ucj9.js.map +0 -1
- package/cdn/i18n-Dc7WM2xd.js +0 -2
- package/cdn/media-BTipOcKo.js +0 -2
- package/cdn/media-Bmablv4g.js +0 -2
- package/cdn/media-Bmablv4g.js.map +0 -1
- package/cdn/media-COIe3uI5.js.map +0 -1
- package/cdn/media-CPVSKLdk.js +0 -2
- package/cdn/media-Dq4zmIJa.js +0 -2
- package/cdn/media-Dq4zmIJa.js.map +0 -1
- package/cdn/media-suYcjCG2.js +0 -445
- package/cdn/media-suYcjCG2.js.map +0 -1
- package/cdn/minimal-BedCvMBG.js +0 -2
- package/cdn/minimal-BedCvMBG.js.map +0 -1
- package/cdn/minimal-BoP112ye.js +0 -2
- package/cdn/minimal-BoP112ye.js.map +0 -1
- package/cdn/minimal-DLosvq31.js.map +0 -1
- package/cdn/minimal-DQCLKRyR.js.map +0 -1
- package/cdn/minimal-ui-Et2Wcn7r.js +0 -2
- package/cdn/player-BRQLp5bX.js +0 -2
- package/cdn/player-BloX4l6F.js +0 -2
- package/cdn/player-rCFqzWrA.js +0 -2
- package/cdn/poster-element-BGr1VQJB.js.map +0 -1
- package/cdn/poster-element-DBmgOyep.js +0 -2
- package/cdn/poster-element-DBmgOyep.js.map +0 -1
- package/cdn/seek-button-element-XMTLIxZj.js.map +0 -1
- package/cdn/select-tracks-nRPBa1NC.js.map +0 -1
- package/cdn/select-tracks-xV1s28xD.js +0 -59
- package/cdn/select-tracks-xV1s28xD.js.map +0 -1
- package/cdn/time-slider-chapters-element-DJ0abZXI.js.map +0 -1
- package/cdn/time-slider-chapters-element-DW8YyJn8.js +0 -2
- package/cdn/time-slider-chapters-element-DW8YyJn8.js.map +0 -1
- package/cdn/ui-C0isALTQ.js +0 -2
- package/cdn/ui-DVpkE1MN.js +0 -2
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import{u as e}from"./predicate-LbFu-fPH.js";import{t}from"./listen-4VrUltMW.js";import{t as n}from"./abort-BhNYXtuF.js";function r(){return`${Date.now()}-${Math.floor(Math.random()*1e6)}`}var i=Object.defineProperty,a=(e,t,n)=>t in e?i(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,o=(e,t,n)=>(a(e,typeof t==`symbol`?t:t+``,n),n),s=(e,t,n)=>{if(!t.has(e))throw TypeError(`Cannot `+n)},c=(e,t)=>{if(Object(t)!==t)throw TypeError(`Cannot use the "in" operator on this value`);return e.has(t)},l=(e,t,n)=>{if(t.has(e))throw TypeError(`Cannot add the same private member more than once`);t instanceof WeakSet?t.add(e):t.set(e,n)},u=(e,t,n)=>(s(e,t,`access private method`),n);
|
|
2
|
-
/**
|
|
3
|
-
* @license
|
|
4
|
-
* Copyright Google LLC All Rights Reserved.
|
|
5
|
-
*
|
|
6
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
7
|
-
* found in the LICENSE file at https://angular.io/license
|
|
8
|
-
*/
|
|
9
|
-
function d(e,t){return Object.is(e,t)}
|
|
10
|
-
/**
|
|
11
|
-
* @license
|
|
12
|
-
* Copyright Google LLC All Rights Reserved.
|
|
13
|
-
*
|
|
14
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
15
|
-
* found in the LICENSE file at https://angular.io/license
|
|
16
|
-
*/
|
|
17
|
-
let f=null,p=!1,m=1;const h=Symbol(`SIGNAL`);function g(e){let t=f;return f=e,t}function _(){return f}function v(){return p}const y={version:0,lastCleanEpoch:0,dirty:!1,producerNode:void 0,producerLastReadVersion:void 0,producerIndexOfThis:void 0,nextProducerIndex:0,liveConsumerNode:void 0,liveConsumerIndexOfThis:void 0,consumerAllowSignalWrites:!1,consumerIsAlwaysLive:!1,producerMustRecompute:()=>!1,producerRecomputeValue:()=>{},consumerMarkedDirty:()=>{},consumerOnSignalRead:()=>{}};function b(e){if(p)throw Error(typeof ngDevMode<`u`&&ngDevMode?`Assertion error: signal read during notification phase`:``);if(f===null)return;f.consumerOnSignalRead(e);let t=f.nextProducerIndex++;if(O(f),t<f.producerNode.length&&f.producerNode[t]!==e&&D(f)){let e=f.producerNode[t];E(e,f.producerIndexOfThis[t])}f.producerNode[t]!==e&&(f.producerNode[t]=e,f.producerIndexOfThis[t]=D(f)?re(e,f,t):0),f.producerLastReadVersion[t]=e.version}function x(){m++}function S(e){if(!(!e.dirty&&e.lastCleanEpoch===m)){if(!e.producerMustRecompute(e)&&!T(e)){e.dirty=!1,e.lastCleanEpoch=m;return}e.producerRecomputeValue(e),e.dirty=!1,e.lastCleanEpoch=m}}function ee(e){if(e.liveConsumerNode===void 0)return;let t=p;p=!0;try{for(let t of e.liveConsumerNode)t.dirty||w(t)}finally{p=t}}function C(){return f?.consumerAllowSignalWrites!==!1}function w(e){var t;e.dirty=!0,ee(e),(t=e.consumerMarkedDirty)==null||t.call(e.wrapper??e)}function te(e){return e&&(e.nextProducerIndex=0),g(e)}function ne(e,t){if(g(t),!(!e||e.producerNode===void 0||e.producerIndexOfThis===void 0||e.producerLastReadVersion===void 0)){if(D(e))for(let t=e.nextProducerIndex;t<e.producerNode.length;t++)E(e.producerNode[t],e.producerIndexOfThis[t]);for(;e.producerNode.length>e.nextProducerIndex;)e.producerNode.pop(),e.producerLastReadVersion.pop(),e.producerIndexOfThis.pop()}}function T(e){O(e);for(let t=0;t<e.producerNode.length;t++){let n=e.producerNode[t],r=e.producerLastReadVersion[t];if(r!==n.version||(S(n),r!==n.version))return!0}return!1}function re(e,t,n){var r;if(ie(e),O(e),e.liveConsumerNode.length===0){(r=e.watched)==null||r.call(e.wrapper);for(let t=0;t<e.producerNode.length;t++)e.producerIndexOfThis[t]=re(e.producerNode[t],e,t)}return e.liveConsumerIndexOfThis.push(n),e.liveConsumerNode.push(t)-1}function E(e,t){var n;if(ie(e),O(e),typeof ngDevMode<`u`&&ngDevMode&&t>=e.liveConsumerNode.length)throw Error(`Assertion error: active consumer index ${t} is out of bounds of ${e.liveConsumerNode.length} consumers)`);if(e.liveConsumerNode.length===1){(n=e.unwatched)==null||n.call(e.wrapper);for(let t=0;t<e.producerNode.length;t++)E(e.producerNode[t],e.producerIndexOfThis[t])}let r=e.liveConsumerNode.length-1;if(e.liveConsumerNode[t]=e.liveConsumerNode[r],e.liveConsumerIndexOfThis[t]=e.liveConsumerIndexOfThis[r],e.liveConsumerNode.length--,e.liveConsumerIndexOfThis.length--,t<e.liveConsumerNode.length){let n=e.liveConsumerIndexOfThis[t],r=e.liveConsumerNode[t];O(r),r.producerIndexOfThis[n]=t}}function D(e){return e.consumerIsAlwaysLive||(e?.liveConsumerNode?.length??0)>0}function O(e){e.producerNode??=[],e.producerIndexOfThis??=[],e.producerLastReadVersion??=[]}function ie(e){e.liveConsumerNode??=[],e.liveConsumerIndexOfThis??=[]}
|
|
18
|
-
/**
|
|
19
|
-
* @license
|
|
20
|
-
* Copyright Google LLC All Rights Reserved.
|
|
21
|
-
*
|
|
22
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
23
|
-
* found in the LICENSE file at https://angular.io/license
|
|
24
|
-
*/
|
|
25
|
-
function ae(e){if(S(e),b(e),e.value===le)throw e.error;return e.value}function oe(e){let t=Object.create(ue);t.computation=e;let n=()=>ae(t);return n[h]=t,n}const se=Symbol(`UNSET`),ce=Symbol(`COMPUTING`),le=Symbol(`ERRORED`),ue={...y,value:se,dirty:!0,error:null,equal:d,producerMustRecompute(e){return e.value===se||e.value===ce},producerRecomputeValue(e){if(e.value===ce)throw Error(`Detected cycle in computations.`);let t=e.value;e.value=ce;let n=te(e),r,i=!1;try{r=e.computation.call(e.wrapper),i=t!==se&&t!==le&&e.equal.call(e.wrapper,t,r)}catch(t){r=le,e.error=t}finally{ne(e,n)}if(i){e.value=t;return}e.value=r,e.version++}};
|
|
26
|
-
/**
|
|
27
|
-
* @license
|
|
28
|
-
* Copyright Google LLC All Rights Reserved.
|
|
29
|
-
*
|
|
30
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
31
|
-
* found in the LICENSE file at https://angular.io/license
|
|
32
|
-
*/
|
|
33
|
-
function de(){throw Error()}let fe=de;function pe(){fe()}
|
|
34
|
-
/**
|
|
35
|
-
* @license
|
|
36
|
-
* Copyright Google LLC All Rights Reserved.
|
|
37
|
-
*
|
|
38
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
39
|
-
* found in the LICENSE file at https://angular.io/license
|
|
40
|
-
*/
|
|
41
|
-
function me(e){let t=Object.create(_e);t.value=e;let n=()=>(b(t),t.value);return n[h]=t,n}function he(){return b(this),this.value}function ge(e,t){C()||pe(),e.equal.call(e.wrapper,e.value,t)||(e.value=t,ve(e))}const _e={...y,equal:d,value:void 0};function ve(e){e.version++,x(),ee(e)}
|
|
42
|
-
/**
|
|
43
|
-
* @license
|
|
44
|
-
* Copyright 2024 Bloomberg Finance L.P.
|
|
45
|
-
*
|
|
46
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
47
|
-
* you may not use this file except in compliance with the License.
|
|
48
|
-
* You may obtain a copy of the License at
|
|
49
|
-
*
|
|
50
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
51
|
-
*
|
|
52
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
53
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
54
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
55
|
-
* See the License for the specific language governing permissions and
|
|
56
|
-
* limitations under the License.
|
|
57
|
-
*/
|
|
58
|
-
const k=Symbol(`node`);var A;(e=>{var t,n,r,i;class a{constructor(r,i={}){l(this,n),o(this,t);let a=me(r)[h];if(this[k]=a,a.wrapper=this,i){let t=i.equals;t&&(a.equal=t),a.watched=i[e.subtle.watched],a.unwatched=i[e.subtle.unwatched]}}get(){if(!(0,e.isState)(this))throw TypeError(`Wrong receiver type for Signal.State.prototype.get`);return he.call(this[k])}set(t){if(!(0,e.isState)(this))throw TypeError(`Wrong receiver type for Signal.State.prototype.set`);if(v())throw Error(`Writes to signals not permitted during Watcher callback`);let n=this[k];ge(n,t)}}t=k,n=new WeakSet,e.isState=e=>typeof e==`object`&&c(n,e),e.State=a;class s{constructor(t,n){l(this,i),o(this,r);let a=oe(t)[h];if(a.consumerAllowSignalWrites=!0,this[k]=a,a.wrapper=this,n){let t=n.equals;t&&(a.equal=t),a.watched=n[e.subtle.watched],a.unwatched=n[e.subtle.unwatched]}}get(){if(!(0,e.isComputed)(this))throw TypeError(`Wrong receiver type for Signal.Computed.prototype.get`);return ae(this[k])}}r=k,i=new WeakSet,e.isComputed=e=>typeof e==`object`&&c(i,e),e.Computed=s,(t=>{var n,r,i,a;function s(e){let t,n=null;try{n=g(null),t=e()}finally{g(n)}return t}t.untrack=s;function d(t){if(!(0,e.isComputed)(t)&&!(0,e.isWatcher)(t))throw TypeError(`Called introspectSources without a Computed or Watcher argument`);return t[k].producerNode?.map(e=>e.wrapper)??[]}t.introspectSources=d;function f(t){if(!(0,e.isComputed)(t)&&!(0,e.isState)(t))throw TypeError(`Called introspectSinks without a Signal argument`);return t[k].liveConsumerNode?.map(e=>e.wrapper)??[]}t.introspectSinks=f;function p(t){if(!(0,e.isComputed)(t)&&!(0,e.isState)(t))throw TypeError(`Called hasSinks without a Signal argument`);let n=t[k].liveConsumerNode;return n?n.length>0:!1}t.hasSinks=p;function m(t){if(!(0,e.isComputed)(t)&&!(0,e.isWatcher)(t))throw TypeError(`Called hasSources without a Computed or Watcher argument`);let n=t[k].producerNode;return n?n.length>0:!1}t.hasSources=m;class h{constructor(e){l(this,r),l(this,i),o(this,n);let t=Object.create(y);t.wrapper=this,t.consumerMarkedDirty=e,t.consumerIsAlwaysLive=!0,t.consumerAllowSignalWrites=!1,t.producerNode=[],this[k]=t}watch(...t){if(!(0,e.isWatcher)(this))throw TypeError(`Called unwatch without Watcher receiver`);u(this,i,a).call(this,t);let n=this[k];n.dirty=!1;let r=g(n);for(let e of t)b(e[k]);g(r)}unwatch(...t){if(!(0,e.isWatcher)(this))throw TypeError(`Called unwatch without Watcher receiver`);u(this,i,a).call(this,t);let n=this[k];O(n);for(let e=n.producerNode.length-1;e>=0;e--)if(t.includes(n.producerNode[e].wrapper)){E(n.producerNode[e],n.producerIndexOfThis[e]);let t=n.producerNode.length-1;if(n.producerNode[e]=n.producerNode[t],n.producerIndexOfThis[e]=n.producerIndexOfThis[t],n.producerNode.length--,n.producerIndexOfThis.length--,n.nextProducerIndex--,e<n.producerNode.length){let t=n.producerIndexOfThis[e],r=n.producerNode[e];ie(r),r.liveConsumerIndexOfThis[t]=e}}}getPending(){if(!(0,e.isWatcher)(this))throw TypeError(`Called getPending without Watcher receiver`);return this[k].producerNode.filter(e=>e.dirty).map(e=>e.wrapper)}}n=k,r=new WeakSet,i=new WeakSet,a=function(t){for(let n of t)if(!(0,e.isComputed)(n)&&!(0,e.isState)(n))throw TypeError(`Called watch/unwatch without a Computed or State argument`)},e.isWatcher=e=>c(r,e),t.Watcher=h;function v(){return _()?.wrapper}t.currentComputed=v,t.watched=Symbol(`watched`),t.unwatched=Symbol(`unwatched`)})(e.subtle||={})})(A||={});const ye=new Set,j=new A.subtle.Watcher(()=>{queueMicrotask(be)});function be(){for(let e of j.getPending())ye.add(e);j.watch();for(let e of ye)ye.delete(e),e.get()}function M(e){let t,n=new A.Computed(()=>{typeof t==`function`&&t(),t=e()});return j.watch(n),n.get(),()=>{j.unwatch(n),typeof t==`function`&&t()}}const N=A.subtle.untrack;function P(e,t=e=>e){return N(()=>t(e.get()))}function F(e,t){return new A.State(e,t)}function I(e,t){return new A.Computed(e,t)}function L(e,t){let n=N(()=>e.get());typeof t==`function`?e.set(t(n)):e.set({...n,...t})}function xe(e,t){let n=t,r=new Set(e);return Object.fromEntries([...r].map(e=>[e,F(n[e])]))}function Se(e,t){let n=e,r=xe(n.flatMap(e=>e.stateKeys),t?.initialState??{}),i=xe(n.flatMap(e=>e.contextKeys),t?.initialContext??{}),a={state:r,context:i,config:t?.config??{}},o=n.map(e=>e.setup(a));return{state:r,context:i,async destroy(){let e=[];for(let t of o)t!=null&&(typeof t==`function`?e.push(t()):`destroy`in t&&e.push(t.destroy()));await Promise.all(e);for(let e of Object.values(r))e.set(void 0);for(let e of Object.values(i))e.set(void 0)}}}function R(e){return e}function Ce(e=[],t=[]){return{stateKeys:e,contextKeys:t,setup:({state:e,context:t,config:n})=>{n.onSignalsReady?.({state:e,context:t})}}}function we(e){let t=F(e);return{snapshotSignal:t,getState:()=>N(()=>t.get().value),transition:e=>L(t,t=>({...t,value:e}))}}const Te=e=>e===void 0?[]:Array.isArray(e)?e:[e];function z(e){let{snapshotSignal:t,getState:n,transition:r}=we({value:e.initial}),i=[],a=e=>{if(e)return typeof e==`function`?e:()=>e.abort()},o=e=>()=>N(e),s=e=>e.value===`destroying`||e.value===`destroyed`,c=[...Te(e.monitor).map(e=>({fn:()=>{let t=e();t!==n()&&r(t)},shouldSkip:s})),...Object.entries(e.states).flatMap(([e,t])=>{let n=t=>t.value!==e;return[...Te(t.entry).map(e=>({fn:e,shouldSkip:n,toFnCall:o})),...Te(t.effects).map(e=>({fn:e,shouldSkip:n}))]})];return i.push(...c.map(({fn:e,shouldSkip:n,toFnCall:r=e=>e})=>M(()=>n(t.get())?void 0:a(r(()=>e())())))),{get snapshot(){return t},destroy(){let e=n();if(e!==`destroying`&&e!==`destroyed`){r(`destroying`),r(`destroyed`);for(let e of i)e()}}}}const Ee=1e-4,De=`mediaPlaylist`;function Oe(e){return e.metadata?.[De]}function ke(e){return e?.playlistType===`VOD`?`on-demand`:`live`}function B(e){return`segments`in e}function Ae(e){return e.duration!==void 0}function V(e){return e!==void 0&&e.id!==void 0&&e.selectionSets!==void 0}function je(e,t=Ee){let n=e.filter(e=>e.end>e.start).sort((e,t)=>e.start-t.start),r=[];for(let e of n){let n=r[r.length-1];n&&e.start<=n.end+t?n.end=Math.max(n.end,e.end):r.push({start:e.start,end:e.end})}return r}function Me(e,t,n,r=Ee){return n.some(n=>n.start<=e+r&&n.end>=t-r)}const H={bufferDuration:30};function Ne(e,t,n=H){if(e.length===0)return 1/0;let r=t+n.bufferDuration,i=e.filter(e=>e.startTime>=r);return i.length===0?1/0:Math.min(...i.map(e=>e.startTime))}function Pe(e,t){if(e!=null)return t?.find(({startTime:t,duration:n},r,i)=>e>=t&&(e<t+n||r===i.length-1))?.startTime}function Fe(e,t,n,r=H){if(e.length===0)return[];let i=n+r.bufferDuration,a=new Set(t.map(e=>e.startTime));return e.filter((t,r)=>{let o=t.startTime+t.duration,s=r===e.length-1||o>n,c=t.startTime<i&&s,l=!a.has(t.startTime);return c&&l})}function Ie(e,t){return e.selectionSets?.find(({type:e})=>e===t)?.switchingSets[0]?.tracks??[]}function U(e,t,n){return Ie(e,t).find(({id:e})=>e===n)}function Le(e,t){for(let n of e.selectionSets??[]){let e=n.switchingSets[0]?.tracks.find(({id:e})=>e===t);if(e)return e}}function Re(e,t){if(!e||!t)return;let n=U(e,`text`,t);if(!(n?.type!==`text`||!B(n)))return n}function ze(e,t){if(!e||!t)return;let n=U(e,`video`,t);if(!(n?.type!==`video`||!B(n)))return n}function Be(e,t){if(!e||!t)return;let n=U(e,`audio`,t);if(!(n?.type!==`audio`||!B(n)))return n}function Ve(e){return!!e&&`codecs`in e&&!!e.codecs?.length}function He(e,t,n){return{...e,selectionSets:e.selectionSets.map(e=>e.type===t?{...e,switchingSets:e.switchingSets.map(e=>({...e,tracks:e.tracks.map(e=>e.mimeType===n?e:{...e,mimeType:n})}))}:e)}}function Ue(e,t){let n=t.id;return{...e,selectionSets:e.selectionSets.map(e=>({...e,switchingSets:e.switchingSets.map(e=>({...e,tracks:e.tracks.map(e=>e.id===n?t:e)}))}))}}const W={type:`video`,selectedKey:`selectedVideoTrackId`,actorKey:`videoBufferActor`,loaderKey:`videoSegmentLoaderActor`},G={type:`audio`,selectedKey:`selectedAudioTrackId`,actorKey:`audioBufferActor`,loaderKey:`audioSegmentLoaderActor`},We={type:`text`,selectedKey:`selectedTextTrackId`,loaderKey:`textTrackSegmentLoaderActor`};function Ge({state:e,context:t,config:n}){let{selectedKey:r,loaderKey:i,findResolvedTrack:a}=n,o=n.forwardBuffer?.bufferDuration??H.bufferDuration,s=I(()=>a(e.presentation.get(),e[r].get())),c=I(()=>{let t=s.get();if(t)return Pe(e.currentTime.get()??0,t.segments)}),l=I(()=>e.loadingSuspended?.get()?`dormant`:!t[i].get()||!s.get()?`preconditions-unmet`:e.loadActivated.get()||e.preload.get()===`auto`?`full-range`:e.preload.get()===`none`?`dormant`:`metadata-only`);return z({initial:`preconditions-unmet`,monitor:()=>l.get(),states:{"preconditions-unmet":{},dormant:{},"metadata-only":{entry:()=>{let e=s.get();t[i].get().send({type:`load`,track:e})}},"full-range":{effects:()=>{let n=s.get();c.get();let r=P(e.currentTime)??0;P(t[i]).send({type:`load`,track:n,range:{start:r,end:r+o}})}}}})}const Ke={...W,findResolvedTrack:ze},qe={...G,findResolvedTrack:Be},Je={...We,findResolvedTrack:Re},Ye=R({stateKeys:[`presentation`,`preload`,`currentTime`,`loadActivated`,`selectedVideoTrackId`],contextKeys:[`videoSegmentLoaderActor`],setup:({state:e,context:t,config:n={}})=>Ge({state:e,context:t,config:{...Ke,...n}})}),Xe=R({stateKeys:[`presentation`,`preload`,`currentTime`,`loadActivated`,`selectedAudioTrackId`],contextKeys:[`audioSegmentLoaderActor`],setup:({state:e,context:t,config:n={}})=>Ge({state:e,context:t,config:{...qe,...n}})}),Ze=R({stateKeys:[`presentation`,`preload`,`currentTime`,`loadActivated`,`selectedTextTrackId`],contextKeys:[`textTrackSegmentLoaderActor`],setup:({state:e,context:t,config:n={}})=>Ge({state:e,context:t,config:{...Je,...n}})});function Qe({state:e,context:n,config:r}){let i=r?.defaultCurrentTime??0;return M(()=>{let r=n.mediaElement.get();if(!r){e.currentTime.set(i);return}let a=()=>e.currentTime.set(r.currentTime);a();let o=t(r,`emptied`,a),s=t(r,`timeupdate`,a),c=t(r,`seeking`,a);return()=>{o(),s(),c()}})}const $e=R({stateKeys:[`currentTime`],contextKeys:[`mediaElement`],setup:Qe});function et(){return typeof MediaSource<`u`}function tt(){return typeof ManagedMediaSource<`u`}function nt(e={}){let{preferManaged:t=!1}=e;if(t&&tt())return new ManagedMediaSource;if(et())return new MediaSource;throw Error(`MediaSource API is not supported`)}function rt(e,t){tt()&&e instanceof ManagedMediaSource&&(t.disableRemotePlayback=!0);let n=URL.createObjectURL(e);return t.src=n,{url:n,detach:({deferReset:r}={})=>{t.removeAttribute(`src`),ot(e,t,n,r),URL.revokeObjectURL(n)}}}function it(e,t){tt()&&e instanceof ManagedMediaSource&&(t.disableRemotePlayback=!0);let n=URL.createObjectURL(e),r=document.createElement(`source`);return r.type=`video/mp4`,r.src=n,t.removeAttribute(`src`),t.prepend(r),t.load(),{url:n,detach:({deferReset:i}={})=>{r.remove(),ot(e,t,n,i),URL.revokeObjectURL(n)}}}function at(e,t,n){e.readyState!==`closed`&&t.currentSrc===n&&t.load()}function ot(e,t,n,r){if(r){queueMicrotask(()=>at(e,t,n));return}at(e,t,n)}function st(e,t){if(e.readyState!==`open`)throw Error(`MediaSource is not open`);if(!lt(t))throw Error(`Codec not supported: ${t}`);return e.addSourceBuffer(t)}function ct(e){let t=e.codecs?.join(`,`)??``;return`${e.mimeType}; codecs="${t}"`}function lt(e){return et()?MediaSource.isTypeSupported(e):!1}function ut(e,t,n){let r=()=>n(e.readyState),i={signal:t};e.addEventListener(`sourceopen`,r,i),e.addEventListener(`sourceended`,r,i),e.addEventListener(`sourceclose`,r,i)}function dt(e,t){return t.aborted||e.readyState!==`closed`?Promise.resolve():new Promise(n=>{let r=()=>n(),i={once:!0,signal:t};e.addEventListener(`sourceopen`,r,i),e.addEventListener(`sourceended`,r,i),e.addEventListener(`sourceclose`,r,i),t.addEventListener(`abort`,r,{once:!0})})}function ft(e){let t=new Map;for(let n of e.matchAll(/([A-Z0-9-]+)=(?:"([^"]*)"|([^,]*))/g)){let e=n[1],r=n[2]??n[3]??``;e&&t.set(e,r)}return t}function pt(e){let t=/^(\d+)x(\d+)$/.exec(e);return t?{width:Number.parseInt(t[1],10),height:Number.parseInt(t[2],10)}:null}function mt(e){let t=Number.parseFloat(e);if(!(Number.isNaN(t)||t<=0))return Math.abs(t-23.976)<.01?{frameRateNumerator:24e3,frameRateDenominator:1001}:Math.abs(t-29.97)<.01?{frameRateNumerator:3e4,frameRateDenominator:1001}:Math.abs(t-59.94)<.01?{frameRateNumerator:6e4,frameRateDenominator:1001}:(t%1,{frameRateNumerator:Math.round(t)})}const ht=[`mp4a.`,`ac-3`,`ec-3`,`ac-4`,`opus`,`flac`,`dts`,`alac`,`vorbis`];function K(e){let t=e.split(`,`).map(e=>e.trim()),n={};for(let e of t){let t=e.toLowerCase();e.startsWith(`avc1.`)||e.startsWith(`hvc1.`)||e.startsWith(`hev1.`)?n.video=e:ht.some(e=>t.startsWith(e))&&(n.audio=e)}return n}function gt(e){let t=e.split(`,`)[0]??e,n=Number.parseFloat(t);return Number.isNaN(n)?0:n}function _t(e,t){let n=/^(\d+)(?:@(\d+))?$/.exec(e);if(!n)return null;let r=Number.parseInt(n[1],10);if(Number.isNaN(r))return null;let i;if(n[2]!==void 0){if(i=Number.parseInt(n[2],10),Number.isNaN(i))return null}else if(t!==void 0)i=t;else return null;return{start:i,end:i+r-1}}function vt(e){let t=ft(e);return{get(e){return t.get(e)},getInt(e,n){let r=t.get(e);if(r===void 0)return n;let i=Number.parseInt(r,10);return Number.isNaN(i)?n:i},getFloat(e,n){let r=t.get(e);if(r===void 0)return n;let i=Number.parseFloat(r);return Number.isNaN(i)?n:i},getBool(e){return t.get(e)===`YES`},getResolution(e){let n=t.get(e);if(n)return pt(n)??void 0},getFrameRate(e){let n=t.get(e);if(n)return mt(n)}}}function q(e,t){let n=`#${t}:`;return e.startsWith(n)?vt(e.slice(n.length)):null}function J(e,t){return new URL(e,t).href}const yt={".ts":`video/mp2t`,".aac":`audio/aac`},bt=new Set(Object.values(yt));function xt(e){if(!e)return;let t;try{t=new URL(e).pathname.toLowerCase()}catch{t=e.toLowerCase().split(`?`)[0]??``}let n=t.lastIndexOf(`.`);return n===-1?void 0:yt[t.slice(n)]}function St(e,t,n,r){let i=e.segments,a=t[0]?.startTime??0;if(i.length===0||t.length===0)return t;let o=n-(Oe(e)?.mediaSequence??0),s;if(o>=0&&o<i.length){let e=i[o];e.url!==t[0].url&&console.warn(`[parseMediaPlaylist] media-sequence aligns previous[${o}] with the new window's first segment, but URLs differ (${e.url} vs ${t[0].url}); sequence numbers may be unreliable.`),s=e.startTime}else if(o<0)console.warn(`[parseMediaPlaylist] media-sequence went backwards (offset ${o}); resetting timeline.`),s=a;else{let e=i[i.length-1],n=t[0];e.startDate!==void 0&&n.startDate!==void 0?s=e.startTime+(n.startDate-e.startDate):(s=e.startTime+e.duration+(o-i.length)*r,console.warn(`[parseMediaPlaylist] full window turnover (offset ${o} >= ${i.length}); no PDT to bridge — estimating from previous end.`))}let c=s-a;return c===0?t:t.map(e=>({...e,startTime:e.startTime+c}))}function Ct(t,n){let r=t.find(t=>!e(t.startDate));if(!r||e(r.startDate))return t;let i=r.startDate-n-r.startTime;return i===0?t:t.map(e=>({...e,startTime:e.startTime+i}))}function wt(t,n){let r=t.split(/\r?\n/),i=n.url,a=[],o,s,c=0,l,u=0,d=0,f,p,m=0,h=0,g,_=!1,v,y=!1,b=!1;for(let t of r){let n=t.trim();if(!n||n.startsWith(`#`)&&!n.startsWith(`#EXT`))continue;if(n.startsWith(`#EXT-X-TARGETDURATION:`)){m=Number.parseInt(n.slice(22),10)||0;continue}if(n.startsWith(`#EXT-X-MEDIA-SEQUENCE:`)){h=Number.parseInt(n.slice(22),10)||0;continue}if(n.startsWith(`#EXT-X-PROGRAM-DATE-TIME:`)){let e=Date.parse(n.slice(25).trim());p=Number.isNaN(e)?p:e/1e3;continue}if(n.startsWith(`#EXT-X-PLAYLIST-TYPE:`)){let e=n.slice(21).trim();g=e===`VOD`||e===`EVENT`?e:void 0;continue}let r=q(n,`EXT-X-KEY`);if(r){let e=r.get(`METHOD`);e!==void 0&&e!==`NONE`&&(b=!0);continue}let x=q(n,`EXT-X-SERVER-CONTROL`);if(x){let e=x.get(`HOLD-BACK`);if(e!==void 0){let t=Number.parseFloat(e);Number.isFinite(t)&&t>0&&(v=t)}x.get(`PART-HOLD-BACK`)!==void 0&&(y=!0);continue}if(n.startsWith(`#EXT-X-PART-INF`)||n.startsWith(`#EXT-X-PART:`)){y=!0;continue}if(n===`#EXTM3U`||n.startsWith(`#EXT-X-VERSION:`)||n.startsWith(`#EXT-X-INDEPENDENT-SEGMENTS`))continue;let S=q(n,`EXT-X-MAP`);if(S){let e=S.get(`URI`);if(e){o=J(e,i);let t=S.get(`BYTERANGE`);t&&(s=_t(t,0)??void 0)}continue}if(n.startsWith(`#EXTINF:`)){c=gt(n.slice(8));continue}if(n.startsWith(`#EXT-X-BYTERANGE:`)){l=_t(n.slice(17),f)??void 0;continue}if(n===`#EXT-X-ENDLIST`){_=!0;continue}if(!n.startsWith(`#`)&&c>0){let t={id:`segment-${h+d}`,url:J(n,i),duration:c,startTime:u};e(p)||(t.startDate=p,p+=c),l?(t.byteRange=l,f=l.end+1):f=void 0,a.push(t),u+=c,d++,c=0,l=void 0}}let x=_||g===`VOD`,S=n.startDate,ee=a.some(t=>!e(t.startDate)),C=!e(S)&&ee?Ct(a,S):B(n)?St(n,a,h,m):a,w=C[C.length-1],te=w?w.startTime+w.duration:0,ne=x?te:1/0,T=C.find(t=>!e(t.startDate)),re=T&&!e(T.startDate)?T.startDate-T.startTime:void 0,E=n.type===`text`&&!o?void 0:o?{url:o,...s?{byteRange:s}:{}}:{url:``},D=o?void 0:xt(C[0]?.url),O=n.type!==`text`&&D?D:n.mimeType;return{...n,mimeType:O,startTime:0,startDate:re,duration:ne,segments:C,initialization:E,metadata:{...n.metadata,[De]:{targetDuration:m,mediaSequence:h,playlistType:g,lowLatency:y,endList:_,holdBack:v,encrypted:b}}}}function Tt(e,t){let n=t.url,i=e.split(/\r?\n/),a=[],o=[],s=[],c=null;for(let e of i){let t=e.trim();if(!t||t.startsWith(`#`)&&!t.startsWith(`#EXT`)||t===`#EXTM3U`||t.startsWith(`#EXT-X-VERSION:`)||t.startsWith(`#EXT-X-INDEPENDENT-SEGMENTS`))continue;let r=q(t,`EXT-X-MEDIA`);if(r){let e=r.get(`TYPE`),t=r.get(`GROUP-ID`),i=r.get(`NAME`);if(e===`AUDIO`&&t&&i){let e=r.get(`URI`);o.push({groupId:t,name:i,language:r.get(`LANGUAGE`),uri:e?J(e,n):void 0,default:r.getBool(`DEFAULT`),autoselect:r.getBool(`AUTOSELECT`),channels:r.getInt(`CHANNELS`)})}if(e===`SUBTITLES`&&t&&i){let e=r.get(`URI`);e&&s.push({groupId:t,name:i,language:r.get(`LANGUAGE`),uri:J(e,n),default:r.getBool(`DEFAULT`),autoselect:r.getBool(`AUTOSELECT`),forced:r.getBool(`FORCED`)})}continue}let i=q(t,`EXT-X-STREAM-INF`);if(i){c={bandwidth:i.getInt(`BANDWIDTH`,0),resolution:i.getResolution(`RESOLUTION`),codecs:i.get(`CODECS`),frameRate:i.getFrameRate(`FRAME-RATE`),audioGroupId:i.get(`AUDIO`)};continue}!t.startsWith(`#`)&&c&&(a.push({...c,uri:J(t,n)}),c=null)}let l=[],u=[];for(let e of a){if(!e.codecs){l.push(e);continue}let t=K(e.codecs);e.codecs.split(`,`).length===1&&t.audio&&!t.video?u.push(e):l.push(e)}let d=new Map;for(let e of l){let t=d.get(e.uri);if(t){e.audioGroupId&&!t.audioGroupIds?.includes(e.audioGroupId)&&(t.audioGroupIds=[...t.audioGroupIds??[],e.audioGroupId]),e.bandwidth<t.bandwidth&&(t.bandwidth=e.bandwidth);continue}let n=e.codecs?K(e.codecs):void 0,i={type:`video`,id:r(),url:e.uri,bandwidth:e.bandwidth,mimeType:`video/mp4`,codecs:[]};e.resolution?.width!==void 0&&(i.width=e.resolution.width),e.resolution?.height!==void 0&&(i.height=e.resolution.height),n?.video&&(i.codecs=n.audio&&!e.audioGroupId?[n.video,n.audio]:[n.video]),e.frameRate&&(i.frameRate=e.frameRate),e.audioGroupId&&(i.audioGroupIds=[e.audioGroupId]),d.set(e.uri,i)}let f=[...d.values()],p=u.map(e=>{let t=e.codecs?K(e.codecs):void 0;return{type:`audio`,id:r(),url:e.uri,bandwidth:e.bandwidth,mimeType:`audio/mp4`,codecs:t?.audio?[t.audio]:[],groupId:e.audioGroupId||`default`,name:`Default`,sampleRate:48e3,channels:2}}),m=[...o.flatMap(e=>{let t;for(let n of a)if(n.audioGroupId===e.groupId&&n.codecs){let e=K(n.codecs);if(e.audio){t=[e.audio];break}}if(!e.uri){let t=p.find(t=>t.groupId===e.groupId);if(t)return t.name=e.name,e.language&&(t.language=e.language),e.channels&&(t.channels=e.channels),e.default&&(t.default=e.default),e.autoselect&&(t.autoselect=e.autoselect),[]}let n={type:`audio`,id:r(),url:e.uri??``,groupId:e.groupId,name:e.name,mimeType:`audio/mp4`,bandwidth:0,sampleRate:48e3,channels:e.channels??2,codecs:[]};return e.language&&(n.language=e.language),t&&(n.codecs=t),e.default&&(n.default=e.default),e.autoselect&&(n.autoselect=e.autoselect),[n]}),...p],h=s.map(e=>{let t={type:`text`,id:r(),url:e.uri,groupId:e.groupId,label:e.name,kind:`subtitles`,mimeType:`text/vtt`,bandwidth:0};return e.language&&(t.language=e.language),e.default&&e.autoselect&&(t.default=!0),e.autoselect&&(t.autoselect=e.autoselect),e.forced&&(t.forced=e.forced),t}),g=[];if(f.length>0){let e={id:r(),type:`video`,tracks:f},t={id:r(),type:`video`,switchingSets:[e]};g.push(t)}if(m.length>0){let e={id:r(),type:`audio`,tracks:m},t={id:r(),type:`audio`,switchingSets:[e]};g.push(t)}if(h.length>0){let e={id:r(),type:`text`,tracks:h},t={id:r(),type:`text`,switchingSets:[e]};g.push(t)}return{id:r(),url:t.url,startTime:0,selectionSets:g}}const Et={video:`selectedVideoTrackId`,audio:`selectedAudioTrackId`,text:`selectedTextTrackId`};function Y(e,t){let{presentation:n}=e;if(!n?.selectionSets)return;let r=e[Et[t]];return n.selectionSets.find(({type:e})=>e===t)?.switchingSets[0]?.tracks.find(({id:e})=>e===r)}function Dt(e){if(e.selectedVideoTrackId){let t=Y(e,`video`);if(t&&B(t))return t.duration}if(e.selectedAudioTrackId){let t=Y(e,`audio`);if(t&&B(t))return t.duration}}function Ot({state:e,config:t}){return M(()=>{let n=e.presentation.get();if(!n||n.duration!==void 0)return;let r=N(()=>({presentation:n,selectedVideoTrackId:e.selectedVideoTrackId?.get(),selectedAudioTrackId:e.selectedAudioTrackId?.get()})),i=t.resolveDuration(r);i===void 0||Number.isNaN(i)||i<=0||L(e.presentation,{duration:i})})}const kt={stateKeys:[`presentation`],contextKeys:[],setup:Ot};function At(e,t){console.error(`[spf] reported condition`,t),e.errors&&L(e.errors,e=>[...e??[],t])}const jt=R({stateKeys:[`presentation`,`errors`],contextKeys:[],setup:({state:e})=>{let t=I(()=>V(e.presentation.get())?`presentation-resolved`:`presentation-unresolved`);return z({initial:`presentation-unresolved`,monitor:()=>t.get(),states:{"presentation-unresolved":{},"presentation-resolved":{entry:()=>()=>e.errors.set(void 0)}}})}});function Mt(e){try{return new URL(e).origin}catch{return e}}const Nt={video:0,audio:1,text:2};function Pt(e,t=Mt){let n=new Set,r=[],i=[...e.selectionSets??[]].sort((e,t)=>Nt[e.type]-Nt[t.type]);for(let e of i)for(let i of e.switchingSets)for(let e of i.tracks){let i=t(e.url);n.has(i)||(n.add(i),r.push(i))}return r}function Ft(e,t){return e?.includes(t)?e:[...e??[],t]}function It(e,t){return!!(t&&e&&Ae(e))}function Lt(e,t){return[...e].reduce((e,n)=>{let{buffered:r}=n;if(!r.length)return e;let i=r.end(r.length-1);return e?t(i,e)?i:e:i},void 0)??0}const Rt=(e,t)=>e>t,zt=(e,t)=>e<t;function Bt(e){return Lt(e,Rt)}function Vt(e){return Lt(e,zt)}function Ht(e,t){if(!It(e,t))return!1;let n=e.duration;return!(Number.isNaN(n)||n<=0)}function Ut(e,t){if(t.aborted)return Promise.resolve();let n=[];for(let t of e)t.updating&&n.push(t);return n.length===0?Promise.resolve():new Promise(e=>{let r=n.length,i=()=>{r--,r===0&&e()};for(let e of n)e.addEventListener(`updateend`,i,{once:!0,signal:t});t.addEventListener(`abort`,()=>e(),{once:!0})})}function Wt(e,t){if(e.length===0)return!0;let n=e[e.length-1];return n?t?.some(e=>e.id===n.id&&!e.partial)??!1:!1}function Gt(e,t,n,r,i,a){if(!t||!e||!n)return`preconditions-unmet`;let o=[r,i].filter(e=>e!==void 0);if(o.length===0)return`preconditions-unmet`;let s;for(let t of o){let n=t.snapshot.get();if(n.value!==`idle`)return`preconditions-unmet`;let{initTrackId:r,segments:i}=n.context;if(!r)return`preconditions-unmet`;let a=Le(e,r);if(!a||!B(a)||!Number.isFinite(a.duration)||!Wt(a.segments,i))return`preconditions-unmet`;if(a.segments.length>0){let e=a.segments[a.segments.length-1].startTime;(s===void 0||e>s)&&(s=e)}}return s!==void 0&&(a??0)<s-.5?`preconditions-unmet`:`eos-ready`}function Kt({state:e,context:t}){let n=F(!1),r=M(()=>{let e=t.mediaSource.get();if(!e){n.set(!1);return}n.set(e.readyState===`open`);let r=new AbortController;return ut(e,r.signal,e=>{n.set(e===`open`)}),()=>r.abort()}),i=I(()=>Gt(e.presentation.get(),t.mediaSource.get(),n.get(),t.videoBufferActor?.get(),t.audioBufferActor?.get(),e.currentTime.get())),a=z({initial:`preconditions-unmet`,monitor:()=>i.get(),states:{"preconditions-unmet":{},"eos-ready":{entry:()=>{let e=t.mediaSource.get(),n=new AbortController;return(async()=>{if(await Ut(e.sourceBuffers,n.signal),n.signal.aborted)return;let t=Bt(e.sourceBuffers);t>0&&(e.duration=t),e.endOfStream()})().catch(e=>console.error(`Failed to call endOfStream:`,e)),()=>n.abort()}}}});return()=>{r(),a.destroy()}}const qt={stateKeys:[`presentation`,`currentTime`],contextKeys:[`mediaSource`],setup:Kt};function Jt(e){return Math.exp(Math.log(.5)/e)}function Yt(e,t,n,r){let i=Jt(r)**n;return t*(1-i)+i*e}function Xt(e,t,n){return t===0?0:e/(1-Jt(n)**t)}const Zt={fastHalfLife:2,slowHalfLife:5,minTotalBytes:128e3,minBytes:16e3,minDuration:5};function Qt(e,t,n,r=Zt){let i=e.bytesSampled+n;if(n<r.minBytes||t<r.minDuration)return{...e,bytesSampled:i};let a=8e3*n/t,o=t/1e3;return{fastEstimate:Yt(e.fastEstimate,a,o,r.fastHalfLife),fastTotalWeight:e.fastTotalWeight+o,slowEstimate:Yt(e.slowEstimate,a,o,r.slowHalfLife),slowTotalWeight:e.slowTotalWeight+o,bytesSampled:i}}function $t(e,t,n=Zt){if(!e||e.bytesSampled<n.minTotalBytes)return t;let r=Xt(e.fastEstimate,e.fastTotalWeight,n.fastHalfLife),i=Xt(e.slowEstimate,e.slowTotalWeight,n.slowHalfLife);return Math.min(r,i)}const en=2**17;var tn=class{minChunkSize;#e;constructor(e,{minChunkSize:t=en}={}){this.#e=e,this.minChunkSize=t}async*[Symbol.asyncIterator](){let e,t=this.#e.getReader();try{for(;;){let{done:n,value:r}=await t.read();if(n){e&&(yield e);break}e=e?nn(e,r):r,e.length>=this.minChunkSize&&(yield e,e=void 0)}}finally{t.releaseLock()}}};function nn(e,t){let n=new Uint8Array(e.length+t.length);return n.set(e),n.set(t,e.length),n}async function X(e,t){let n=new Headers(t?.headers);if(e.byteRange){let{start:t,end:r}=e.byteRange;n.set(`Range`,`bytes=${t}-${r}`)}let r=new Request(e.url,{method:`GET`,headers:n,...t});return fetch(r)}function rn(e){return e.text()}const Z=async(e,t)=>{let n=await X(e,t);if(!n.ok)throw Error(`fetchResolvableText: ${n.status} ${n.statusText} for ${e.url}`);return rn(n)};async function an(e,t){let{minChunkSize:n,...r}=t??{},i=await X(e,r);if(!i.body)throw Error(`Response has no body`);return new tn(i.body,...n===void 0?[]:[{minChunkSize:n}])}function on(e,t){let n=e;return async(e,r)=>{let{minChunkSize:i,...a}=r??{},o=await X(e,a);if(!o.body)throw Error(`Response has no body`);let s=o.body;return{[Symbol.asyncIterator]:async function*(){let e=performance.now();for await(let r of new tn(s,...i===void 0?[]:[{minChunkSize:i}])){let i=performance.now()-e;n=Qt(n,i,r.byteLength),t(n),yield r,e=performance.now()}}}}}var Q=class e{id;#e;#t;#n=new AbortController;#r;#i=`pending`;#a=void 0;#o=void 0;#s=void 0;#c=void 0;constructor(e,t){this.#e=e;let i=t?.id;this.id=typeof i==`function`?i():i??r(),this.#t=t?.signal,this.#r=t?.signal?n([this.#n.signal,t.signal]):this.#n.signal}get status(){return this.#i}get value(){return this.#a}get error(){return this.#o}get previous(){return this.#s}get signal(){return this.#r}run(){return this.#c??=this.#l(),this.#c}async#l(){this.#i=`running`;try{let e=await this.#e(this.#r);return this.#a=e,this.#i=`done`,e}catch(e){throw this.#o=e,this.#i=`error`,e}}abort(){this.#n.abort()}clone(){let t=new e(this.#e,{id:this.id,signal:this.#t});return t.#s=this.#a??this.#s,t}},sn=class{#e=Promise.resolve();#t=new Set;#n=null;#r=!1;schedule(e){if(this.#r)return Promise.resolve();let t=e;this.#t.add(t);let n=this.#e.then(()=>(this.#t.delete(t),this.#n=t,e.run())).finally(()=>{this.#n=null});return this.#e=n.then(()=>{},()=>{}),n}get settled(){return this.#e}whenSettled(e){if(this.#t.size===0&&this.#n===null)return;let t=this.#e;t.then(()=>{this.#e===t&&e()},()=>{})}abortPending(){for(let e of this.#t)e.abort();this.#t.clear()}abortAll(){this.abortPending(),this.#n?.abort()}destroy(){this.#r=!0,this.abortAll()}};const cn=()=>Promise.resolve(!1);var ln=class{#e;#t=null;#n=!1;constructor(e){this.#e=e}schedule(e){return this.#n?Promise.resolve():this.#t?.id===e.id?this.#t.run():(this.#r(),this.#t=e,Promise.all([e.run(),this.#e(e)]).then(([t,n])=>this.#t===e&&n&&!e.signal.aborted?(this.#t=null,this.schedule(e.clone())):(this.#t===e&&(this.#t=null),t),t=>{if(this.#t===e&&(this.#t=null),!e.signal.aborted)throw t}))}#r(){this.#t?.abort(),this.#t=null}abortAll(){this.#r()}destroy(){this.#n=!0,this.abortAll()}};function un(e){let t=e.runner?.(),{snapshotSignal:n,getState:r,transition:i}=we({value:e.initial,context:e.context}),a=()=>N(()=>n.get().context),o=e=>{L(n,{context:e})};return{get snapshot(){return n},send(n){let s=r();if(s===`destroyed`)return;let c=e.states[s]?.on?.[n.type];if(!c)return;c(n,{context:a(),getContext:a,transition:e=>i(e),setContext:o,...t?{runner:t}:{}});let l=r();if(l!==`destroyed`){let n=e.states[l];if(n?.onSettled&&t){let e=n.onSettled;t.whenSettled(()=>{r()===l&&i(e)})}}},destroy(){r()!==`destroyed`&&(t?.destroy(),i(`destroyed`))}}}const dn={keepSegments:2};function fn(e,t,n=dn){if(e.length===0)return 0;let r=e.filter(e=>e.startTime<t);if(r.length===0)return 0;let i=r.length-n.keepSegments;return i<=0?0:i>=r.length?t:r[i].startTime}function pn(e){return e.config}function mn(e,t){return new Promise((n,r)=>{if(e.get().value===`idle`){n();return}if(e.get().value===`destroyed`){r(new DOMException(`Aborted`,`AbortError`));return}if(t.aborted){r(t.reason);return}let i,a=e=>{i?.(),t.removeEventListener(`abort`,o),e()},o=()=>a(()=>r(t.reason));i=M(()=>{let t=e.get().value;t===`idle`?a(n):t===`destroyed`&&a(()=>r(new DOMException(`Aborted`,`AbortError`)))}),t.addEventListener(`abort`,o,{once:!0})})}function hn({op:e,data:t,meta:n}){switch(e.type){case`remove`:return e;case`append-init`:return{type:`append-init`,data:t,meta:e.meta};case`append-segment`:return{type:`append-segment`,data:t,meta:n??e.meta}}}const gn=async(e,t,n)=>{let{op:r}=e;if(r.type===`remove`)return;let{fetch:i}=pn(n);e.data=await i(r,r.type===`append-init`?{signal:t,minChunkSize:1/0}:{signal:t})},_n=async(e,t,n)=>{let{sourceBufferActor:r}=pn(n);r.send(hn(e)),await mn(r.snapshot,t)},vn=()=>({remove:[_n],"append-init":[gn,_n],"append-segment":[gn,_n]});function yn(e,{getContext:t,setContext:n,pipelines:r,deps:i}){return new Q(async a=>{if(a.aborted)return;let o=e.type===`append-segment`?{op:e,meta:e.meta}:{op:e};try{e.type===`append-init`?n({...t(),inFlightInitTrackId:e.meta.trackId}):e.type===`append-segment`&&n({...t(),inFlightSegment:{id:e.meta.id,trackId:e.meta.trackId}});for(let t of r[e.type]){if(a.aborted)return;await t(o,a,i)}}finally{e.type===`append-init`?n({...t(),inFlightInitTrackId:null}):e.type===`append-segment`&&n({...t(),inFlightSegment:null})}})}function bn(e,t,n={},r={state:{},context:{},config:{}}){let i={...H,...n.forwardBuffer},a={...dn,...n.backBuffer},o={state:r.state,context:r.context,config:{...r.config,sourceBufferActor:e,fetch:t}},s=(n.messagePipelines??vn)(),c=t=>{let n=je(P(e.snapshot).context.segments.filter(e=>!e.partial).map(e=>({start:e.startTime,end:e.startTime+e.duration})));return t.filter(e=>Me(e.startTime,e.startTime+e.duration,n))},l=t=>{let{track:n,range:r}=t,o=P(e.snapshot).context,s=c(n.segments),l=r?.start??0,u=[],d=o.initTrackId!==void 0&&o.initTrackId!==n.id&&o.initTrackLanguage!==n.language,f=[],p=[];if(r){if(d){let e=o.segments.find(e=>e.startTime<=l&&e.startTime+e.duration>l)?.startTime??o.segments.find(e=>e.startTime>l)?.startTime;e!==void 0&&p.push({start:e,end:1/0})}let e=Ne(s,l,i);e<1/0&&f.push({start:e,end:1/0});let t=fn(s,l,a);t>0&&f.push({start:0,end:t});for(let e of f)u.push({type:`remove`,start:e.start,end:e.end})}let m=e=>{let t=e.startTime+e.duration;return f.some(n=>e.startTime<n.end&&t>n.start)||p.some(n=>e.startTime<n.end&&t>n.start)},h=f.length+p.length>0?s.filter(e=>!m(e)):s;if(o.initTrackId!==n.id&&u.push({type:`append-init`,meta:{trackId:n.id,language:n.language},url:n.initialization.url,...n.initialization.byteRange!==void 0&&{byteRange:n.initialization.byteRange}}),r){let e=Fe(n.segments,h,l,i).filter(e=>{let t=o.segments.find(t=>!m(t)&&Math.abs(t.startTime-e.startTime)<1e-4);return t?.partial||!t?.trackBandwidth||!n.bandwidth?!0:n.bandwidth>t.trackBandwidth});for(let t of e)u.push({type:`append-segment`,meta:{id:t.id,startTime:t.startTime,duration:t.duration,trackId:n.id,trackBandwidth:n.bandwidth},url:t.url,...t.byteRange!==void 0&&{byteRange:t.byteRange}})}return u},u=(e,{getContext:t,setContext:n,runner:r})=>{e.forEach(e=>{r.schedule(yn(e,{getContext:t,setContext:n,pipelines:s,deps:o})).then(void 0,e=>{e instanceof Error&&e.name===`AbortError`||(console.error(`Unexpected error in segment loader:`,e),r.abortPending())})})};return un({runner:()=>new sn,initial:`idle`,context:{inFlightInitTrackId:null,inFlightSegment:null},states:{idle:{on:{load:(e,t)=>{let n=l(e);n.length!==0&&(t.transition(`loading`),u(n,t))}}},loading:{onSettled:`idle`,on:{load:(t,n)=>{let{context:r,runner:i}=n,a=l(t),o=r.inFlightSegment,s=e=>e.type===`append-segment`&&o!==null&&e.meta.id===o.id&&e.meta.trackId===o.trackId;o!==null&&a.some(s)||r.inFlightInitTrackId!==null&&a.some(e=>e.type===`append-init`&&e.meta.trackId===r.inFlightInitTrackId)?(i.abortPending(),u(a.filter(e=>!s(e)&&(e.type!==`append-init`||e.meta.trackId!==r.inFlightInitTrackId)),n)):(i.abortAll(),(r.inFlightSegment!==null||r.inFlightInitTrackId!==null&&a.some(e=>e.type===`append-init`&&e.meta.trackId!==r.inFlightInitTrackId))&&e.send({type:`cancel`}),u(a,n))}}}}})}async function xn(e,t,n){if(t instanceof ArrayBuffer)await Sn(e,t);else try{for await(let r of t){if(n?.aborted)throw n.reason??new DOMException(`Aborted`,`AbortError`);await Sn(e,r)}}catch(t){if(t instanceof DOMException&&t.name===`AbortError`&&!e.updating)try{e.abort()}catch{}throw t}}async function Sn(e,t){return e.updating&&await new Promise(t=>{let n=()=>{e.removeEventListener(`updateend`,n),t()};e.addEventListener(`updateend`,n)}),new Promise((n,r)=>{let i=()=>{o(),n()},a=e=>{o(),r(Error(`SourceBuffer append error: ${e.type}`))},o=()=>{e.removeEventListener(`updateend`,i),e.removeEventListener(`error`,a)};e.addEventListener(`updateend`,i),e.addEventListener(`error`,a);try{e.appendBuffer(t)}catch(e){o(),r(e)}})}async function Cn(e,t,n){return e.updating&&await new Promise(t=>{let n=()=>{e.removeEventListener(`updateend`,n),t()};e.addEventListener(`updateend`,n)}),new Promise((r,i)=>{let a=()=>{s(),r()},o=e=>{s(),i(Error(`SourceBuffer remove error: ${e.type}`))},s=()=>{e.removeEventListener(`updateend`,a),e.removeEventListener(`error`,o)};e.addEventListener(`updateend`,a),e.addEventListener(`error`,o);try{e.remove(t,n)}catch(e){s(),i(e)}})}function wn(e){let t=[];for(let n=0;n<e.length;n++)t.push({start:e.start(n),end:e.end(n)});return t}function Tn(e,{getContext:t,sourceBuffer:n}){return new Q(async r=>{let i=t();return r.aborted?i:(await xn(n,e.data),{...i,initTrackId:e.meta.trackId,initTrackLanguage:e.meta.language})})}function En(e,{getContext:t,sourceBuffer:n,setContext:r}){return new Q(async i=>{let a=t();if(i.aborted)return a;let{meta:o}=e,s=a.segments.filter(e=>Math.abs(e.startTime-o.startTime)>=Ee);return e.data instanceof ArrayBuffer||r({...a,segments:[...s,{id:o.id,startTime:o.startTime,duration:o.duration,trackId:o.trackId,...o.trackBandwidth!==void 0&&{trackBandwidth:o.trackBandwidth},partial:!0}],bufferedRanges:a.bufferedRanges}),o.timestampOffset!=null&&n.timestampOffset!==o.timestampOffset&&(n.timestampOffset=o.timestampOffset),await xn(n,e.data,i),{...a,segments:[...s,{id:o.id,startTime:o.startTime,duration:o.duration,trackId:o.trackId,...o.trackBandwidth!==void 0&&{trackBandwidth:o.trackBandwidth}}],bufferedRanges:wn(n.buffered)}})}function Dn(e,{getContext:t,sourceBuffer:n}){return new Q(async r=>{let i=t();if(r.aborted)return i;await Cn(n,e.start,e.end);let a=wn(n.buffered),o=i.segments.filter(e=>{let t=e.startTime+e.duration/2;return a.some(e=>t>=e.start&&t<e.end)});return{...i,segments:o,bufferedRanges:a}})}const On={"append-init":Tn,"append-segment":En,remove:Dn};function kn(e,t){let n=On[e.type];return n(e,t)}function An(e,t){let n=e=>{e instanceof Error&&e.name===`AbortError`||console.error(`SourceBuffer operation failed:`,e)},r=(t,{transition:r,setContext:i,getContext:a,runner:o})=>{r(`updating`);let s=kn(t,{getContext:a,sourceBuffer:e,setContext:i});o.schedule(s).then(i,n)};return un({runner:()=>new sn,initial:`idle`,context:{segments:[],bufferedRanges:[],initTrackId:void 0,...t},states:{idle:{on:{"append-init":r,"append-segment":r,remove:r,batch:(t,{transition:r,setContext:i,getContext:a,runner:o})=>{let{messages:s}=t;s.length!==0&&(r(`updating`),s.forEach(t=>{let r=kn(t,{getContext:a,sourceBuffer:e,setContext:i});o.schedule(r).then(i,n)}))}}},updating:{onSettled:`idle`,on:{cancel:(e,{runner:t})=>{t.abortAll()}}}}})}function $(e,t,n){let r=n.getCdnId??Mt;return(async(i,a)=>{try{return await e(i,a)}catch(e){if(!a?.signal?.aborted&&t.failedCdns){let e=t.presentation.get(),i=t[n.selectedKey].get(),a=e&&i?Le(e,i):void 0;a&&L(t.failedCdns,e=>Ft(e,r(a.url)))}throw e}})}function jn({state:e,context:n,config:r}){let{type:i,selectedKey:a,actorKey:o,loaderKey:s,fetch:c,forwardBuffer:l,backBuffer:u,messagePipelines:d}=r,f=I(()=>n.mediaSource.get()&&Ve(Y({presentation:e.presentation.get(),[a]:e[a].get()},i))?`buffer-ready`:`preconditions-unmet`);return z({initial:`preconditions-unmet`,monitor:()=>f.get(),states:{"preconditions-unmet":{},"buffer-ready":{entry:()=>{let f=n.mediaSource.get(),p=An(st(f,ct(Y({presentation:e.presentation.get(),[a]:e[a].get()},i)))),m=bn(p,c,{forwardBuffer:l,backBuffer:u,messagePipelines:d},{state:e,context:n,config:r});n[o].set(p),n[s].set(m);let h=new AbortController,g=()=>{m.destroy(),p.destroy(),n[s].set(void 0),n[o].set(void 0),h.abort()};return t(f,`sourceclose`,g,{signal:h.signal}),g}}}})}const Mn=R({stateKeys:[`presentation`,`selectedVideoTrackId`,`bandwidthState`],contextKeys:[`mediaSource`,`videoBufferActor`,`videoSegmentLoaderActor`],setup:({state:e,context:t,config:n={}})=>{let r=on(e.bandwidthState.get()??{fastEstimate:0,fastTotalWeight:0,slowEstimate:0,slowTotalWeight:0,bytesSampled:0},t=>e.bandwidthState.set(t)),i={...W,...n};return jn({state:e,context:t,config:{...i,messagePipelines:n.videoMessagePipelines,fetch:$(r,e,i)}})}}),Nn=R({stateKeys:[`presentation`,`selectedAudioTrackId`],contextKeys:[`mediaSource`,`audioBufferActor`,`audioSegmentLoaderActor`],setup:({state:e,context:t,config:n={}})=>{let r={...G,...n};return jn({state:e,context:t,config:{...r,messagePipelines:n.audioMessagePipelines,fetch:$(an,e,r)}})}});function Pn(e,t,n){return!t||!V(e)||n?`preconditions-unmet`:`mediasource-attached`}function Fn({state:e,context:n,config:r={}}){let i=r.attachMediaSource??rt,a=e.loadingSuspended,o=F(!1),s=I(()=>Pn(e.presentation.get(),n.mediaElement.get(),o.get()));return z({initial:`preconditions-unmet`,monitor:()=>s.get(),states:{"preconditions-unmet":{effects:()=>{o.get()&&!a?.get()&&o.set(!1)}},"mediasource-attached":{entry:()=>{let e=n.mediaElement.get(),r=new AbortController,a=nt({preferManaged:!0}),{detach:s}=i(a,e),c=()=>{o.set(!0),r.abort(),n.mediaSource.set(void 0),s({deferReset:!0})};return t(a,`sourceclose`,c,{signal:r.signal}),(async()=>{if(await dt(a,r.signal),!r.signal.aborted){if(a.readyState!==`open`){console.warn(`[setupMediaSource] MediaSource transitioned to '${a.readyState}' before first 'sourceopen' — slot left unpublished; recoverable on next source reset.`);return}n.mediaSource.set(a)}})().catch(e=>console.error(`[setupMediaSource] failed to publish MediaSource:`,e)),c}}}})}const In=R({stateKeys:[`presentation`],contextKeys:[`mediaElement`,`mediaSource`],setup:Fn});function Ln(e,t){return Ht(e,t)?`duration-writable`:`preconditions-unmet`}function Rn({state:e,context:t}){let n=I(()=>Ln(e.presentation.get(),t.mediaSource.get()));return z({initial:`preconditions-unmet`,monitor:()=>n.get(),states:{"preconditions-unmet":{},"duration-writable":{entry:()=>{let n=e.presentation.get(),r=t.mediaSource.get();if(n.duration===1/0){if(r.duration===1/0)return;let e=new AbortController;return(async()=>{await dt(r,e.signal),!(e.signal.aborted||r.readyState!==`open`)&&(await Ut(r.sourceBuffers,e.signal),!(e.signal.aborted||r.readyState!==`open`)&&r.duration!==1/0&&(r.duration=1/0))})(),()=>e.abort()}if(!Number.isNaN(r.duration))return;let i=new AbortController;return(async()=>{if(await dt(r,i.signal),i.signal.aborted||r.readyState!==`open`||(await Ut(r.sourceBuffers,i.signal),i.signal.aborted)||r.readyState!==`open`)return;let e=Bt(r.sourceBuffers),t=e>n.duration?e:n.duration;r.duration=t})(),()=>i.abort()}}}})}const zn=R({stateKeys:[`presentation`],contextKeys:[`mediaSource`],setup:Rn});function Bn(e){return e===`auto`||e===`metadata`||e===`none`}function Vn(e,t=`metadata`){return(e||t)===`none`}function Hn(e,t,n,r){return e?.url?V(e)?`resolved`:n||!Vn(t,r)?`resolving`:`idle`:`preconditions-unmet`}function Un({state:e,config:t}){let{parsePresentation:n}=t,r=t.defaultPreload??`metadata`,i=I(()=>Hn(e.presentation.get(),e.preload.get(),e.loadActivated.get(),r));return z({initial:`preconditions-unmet`,monitor:()=>i.get(),states:{"preconditions-unmet":{},idle:{},resolving:{entry:()=>{let t=e.presentation.get(),r=new AbortController;return X(t,{signal:r.signal}).then(e=>rn(e)).then(r=>{let i=n(r,t);e.presentation.set(i)}).catch(e=>{e instanceof Error&&e.name===`AbortError`||console.error(`[resolvePresentation] manifest fetch/parse failed:`,e)}),r}},resolved:{}}})}const Wn=R({stateKeys:[`presentation`,`preload`,`loadActivated`],contextKeys:[],setup:Un});function Gn(e,t={}){let{signal:n}=t;return n?.aborted?Promise.reject(n.reason):new Promise((t,r)=>{let i=!1,a=e=>{i||(i=!0,e(),queueMicrotask(()=>{n?.removeEventListener(`abort`,o),s()}))},o=()=>a(()=>r(n?.reason));n?.addEventListener(`abort`,o,{once:!0});let s=M(()=>{!i&&e()&&a(t)})})}function Kn({state:e,config:{selectedKey:t,findTrackToResolve:n,fetchResolvableText:r=Z,gateFirstParse:i,reschedule:a,reportUnsupportedTrackConditions:o}}){let s=new ln(a??cn),c=I(()=>V(e.presentation.get())?`presentation-resolved`:`presentation-unresolved`);return z({initial:`presentation-unresolved`,monitor:()=>c.get(),states:{"presentation-unresolved":{},"presentation-resolved":{entry:()=>()=>s.abortAll(),effects:[()=>{let a=P(e.presentation),c=e[t].get();if(!a||!c)return;let l=n(a,c);!l||B(l)&&Number.isFinite(l.duration)||s.schedule(new Q(async t=>{let a=P(e.presentation),s=a?n(a,c):void 0;if(!s)throw Error(`resolve-track: selected track not found`);let l=await r(s,{signal:t});if(i&&!B(s)){let{selectedVideoTrackId:n,selectedAudioTrackId:r}=e;await Gn(()=>i(e.presentation.get(),{selectedVideoTrackId:n?.get(),selectedAudioTrackId:r?.get()},c),{signal:t})}let u=P(e.presentation),d=u?n(u,c):void 0;if(!d)throw Error(`resolve-track: selected track not found`);let f=wt(l,d);if(o)for(let t of o(f))At(e,t);return L(e.presentation,e=>{if(!V(e))return e;let t=Ue(e,f);return{...bt.has(f.mimeType)?He(t,f.type,f.mimeType):t,streamType:ke(Oe(f))}}),f},{id:l.id})).catch(()=>{})}]}}})}const qn={...W,findTrackToResolve:(e,t)=>U(e,`video`,t)},Jn={...G,findTrackToResolve:(e,t)=>U(e,`audio`,t)},Yn={...We,findTrackToResolve:(e,t)=>U(e,`text`,t)},Xn=R({stateKeys:[`presentation`,`selectedVideoTrackId`],contextKeys:[],setup:({state:e,config:t={}})=>{let n={...qn,...t};return Kn({state:e,config:{...n,fetchResolvableText:$(Z,e,n)}})}}),Zn=R({stateKeys:[`presentation`,`selectedAudioTrackId`],contextKeys:[],setup:({state:e,config:t={}})=>{let n={...Jn,...t};return Kn({state:e,config:{...n,fetchResolvableText:$(Z,e,n)}})}}),Qn=R({stateKeys:[`presentation`,`selectedTextTrackId`],contextKeys:[],setup:({state:e,config:t={}})=>{let n={...Yn,...t};return Kn({state:e,config:{...n,fetchResolvableText:$(Z,e,n)}})}});function $n(e,t){for(let n in t){let r=t[n];if(r!==void 0&&e[n]!==r)return!1}return!0}function er(e,t){return e.selectionSets?.find(e=>e.type===t)?.switchingSets[0]?.tracks[0]?.id}function tr(e,t=1/0){if(e.length===0)return;let n=[...e].sort((e,t)=>(t.width??0)*(t.height??0)-(e.width??0)*(e.height??0)||(t.bandwidth??0)-(e.bandwidth??0));return n.find(e=>(e.width??0)*(e.height??0)<=t)??n[n.length-1]}function nr(e){let t=(e.selectionSets?.find(e=>e.type===`video`))?.switchingSets[0]?.tracks;if(t?.length)return tr(t)?.id}function rr(e,t){let n=e.selectionSets?.find(e=>e.type===`audio`);if(!n||n.switchingSets.length===0)return;let r=n.switchingSets[0];if(!r||r.tracks.length===0)return;let i=r.tracks;if(t?.preferredAudioLanguage){let e=i.find(e=>e.language===t.preferredAudioLanguage);if(e)return e.id}let a=i.find(e=>e.default===!0);return a?a.id:i[0]?.id}function ir(e,t){let n=t?.includeForcedTracks?e:e.filter(e=>!e.forced);if(n.length===0)return;let{preferredSubtitleLanguage:r,enableDefaultTrack:i=!1}=t??{};if(r){let e=n.find(e=>e.language===r);if(e)return e.id}if(i){let e=n.find(e=>e.default===!0);if(e)return e.id}}export{Se as $,Dt as A,G as B,qt as C,jt as D,Pt as E,lt as F,Fe as G,Le as H,$e as I,V as J,ke as K,Xe as L,bt as M,it as N,At as O,ct as P,Ce as Q,Ze as R,$t as S,Mt as T,Ie as U,W as V,H as W,z as X,B as Y,we as Z,gn as _,ir as a,M as at,Q as b,Qn as c,Bn as d,R as et,zn as f,_n as g,Mn as h,nr as i,L as it,Tt as j,kt as k,Xn as l,Nn as m,rr as n,P as nt,tr as o,In as p,Oe as q,er as r,N as rt,Zn as s,$n as t,I as tt,Wn as u,un as v,Vt as w,Zt as x,sn as y,Ye as z};
|
|
59
|
-
//# sourceMappingURL=select-tracks-xV1s28xD.js.map
|