@videojs/html 10.0.0-beta.2 → 10.0.0-beta.21
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/abort-C9UiBdVU.js +2 -0
- package/cdn/abort-C9UiBdVU.js.map +1 -0
- package/cdn/abort-DsTff8mS.js +22 -0
- package/cdn/abort-DsTff8mS.js.map +1 -0
- package/cdn/audio-minimal-ui.dev.d.ts +1 -0
- package/cdn/audio-minimal-ui.dev.js +4 -0
- package/cdn/audio-minimal-ui.js +1 -0
- package/cdn/audio-minimal.dev.d.ts +1 -0
- package/cdn/audio-minimal.dev.js +93 -5331
- package/cdn/audio-minimal.dev.js.map +1 -1
- package/cdn/audio-minimal.js +1 -24
- package/cdn/audio-minimal.js.map +1 -1
- package/cdn/audio-ui.dev.d.ts +1 -0
- package/cdn/audio-ui.dev.js +4 -0
- package/cdn/audio-ui.js +1 -0
- package/cdn/audio.dev.d.ts +1 -0
- package/cdn/audio.dev.js +107 -5325
- package/cdn/audio.dev.js.map +1 -1
- package/cdn/audio.js +1 -24
- package/cdn/audio.js.map +1 -1
- package/cdn/background.dev.d.ts +1 -0
- package/cdn/background.dev.js +105 -2017
- package/cdn/background.dev.js.map +1 -1
- package/cdn/background.js +1 -18
- package/cdn/background.js.map +1 -1
- package/cdn/compounds-CM_NP-ej.js +4154 -0
- package/cdn/compounds-CM_NP-ej.js.map +1 -0
- package/cdn/compounds-Vvz-YfXP.js +8 -0
- package/cdn/compounds-Vvz-YfXP.js.map +1 -0
- package/cdn/context-0rI_P6jf.js +107 -0
- package/cdn/context-0rI_P6jf.js.map +1 -0
- package/cdn/context-CEFisYD0.js +14 -0
- package/cdn/context-CEFisYD0.js.map +1 -0
- package/cdn/create-player-Bi6WUwDZ.js +2182 -0
- package/cdn/create-player-Bi6WUwDZ.js.map +1 -0
- package/cdn/create-player-CKuX8YI5.js +7 -0
- package/cdn/create-player-CKuX8YI5.js.map +1 -0
- package/cdn/default-C8KsZ0zK.js +2 -0
- package/cdn/default-C8KsZ0zK.js.map +1 -0
- package/cdn/default-XHZAb7gP.js +28 -0
- package/cdn/default-XHZAb7gP.js.map +1 -0
- package/cdn/hls-BotloEPN.js +28632 -0
- package/cdn/hls-BotloEPN.js.map +1 -0
- package/cdn/hls-CBpGTZXU.js +41 -0
- package/cdn/hls-CBpGTZXU.js.map +1 -0
- package/cdn/hotkey-element-317kwVH5.js +369 -0
- package/cdn/hotkey-element-317kwVH5.js.map +1 -0
- package/cdn/hotkey-element-DRGCbVj9.js +2 -0
- package/cdn/hotkey-element-DRGCbVj9.js.map +1 -0
- package/cdn/listen-CJT7C4kM.js +9 -0
- package/cdn/listen-CJT7C4kM.js.map +1 -0
- package/cdn/listen-DFX-0NbX.js +2 -0
- package/cdn/listen-DFX-0NbX.js.map +1 -0
- package/cdn/media/dash-video.dev.d.ts +1 -0
- package/cdn/media/dash-video.dev.js +39153 -0
- package/cdn/media/dash-video.dev.js.map +1 -0
- package/cdn/media/dash-video.js +21 -0
- package/cdn/media/dash-video.js.map +1 -0
- package/cdn/media/hls-video.dev.d.ts +1 -0
- package/cdn/media/hls-video.dev.js +12 -28712
- package/cdn/media/hls-video.dev.js.map +1 -1
- package/cdn/media/hls-video.js +1 -82
- package/cdn/media/hls-video.js.map +1 -1
- package/cdn/media/mux-audio.dev.d.ts +1 -0
- package/cdn/media/mux-audio.dev.js +29 -0
- package/cdn/media/mux-audio.dev.js.map +1 -0
- package/cdn/media/mux-audio.js +2 -0
- package/cdn/media/mux-audio.js.map +1 -0
- package/cdn/media/mux-video.dev.d.ts +1 -0
- package/cdn/media/mux-video.dev.js +29 -0
- package/cdn/media/mux-video.dev.js.map +1 -0
- package/cdn/media/mux-video.js +2 -0
- package/cdn/media/mux-video.js.map +1 -0
- package/cdn/media/native-hls-video.dev.d.ts +1 -0
- package/cdn/media/native-hls-video.dev.js +19 -0
- package/cdn/media/native-hls-video.dev.js.map +1 -0
- package/cdn/media/native-hls-video.js +2 -0
- package/cdn/media/native-hls-video.js.map +1 -0
- package/cdn/media/simple-hls-video.dev.d.ts +1 -0
- package/cdn/media/simple-hls-video.dev.js +2887 -2605
- package/cdn/media/simple-hls-video.dev.js.map +1 -1
- package/cdn/media/simple-hls-video.js +58 -43
- package/cdn/media/simple-hls-video.js.map +1 -1
- package/cdn/media-attach-mixin-C2wz0Qbd.js +2 -0
- package/cdn/media-attach-mixin-C2wz0Qbd.js.map +1 -0
- package/cdn/media-attach-mixin-CYoNe7Sh.js +67 -0
- package/cdn/media-attach-mixin-CYoNe7Sh.js.map +1 -0
- package/cdn/minimal-BnDnlwbj.js +28 -0
- package/cdn/minimal-BnDnlwbj.js.map +1 -0
- package/cdn/minimal-CqBxBoLe.js +2 -0
- package/cdn/minimal-CqBxBoLe.js.map +1 -0
- package/cdn/minimal-ui-C_G24FML.js +2 -0
- package/cdn/minimal-ui-C_G24FML.js.map +1 -0
- package/cdn/minimal-ui-CroDYUGf.js +2 -0
- package/cdn/minimal-ui-CroDYUGf.js.map +1 -0
- package/cdn/minimal-ui-DhxN21v5.js +22 -0
- package/cdn/minimal-ui-DhxN21v5.js.map +1 -0
- package/cdn/minimal-ui-cy2oEbFm.js +28 -0
- package/cdn/minimal-ui-cy2oEbFm.js.map +1 -0
- package/cdn/mux-B5K6kOzg.js +3072 -0
- package/cdn/mux-B5K6kOzg.js.map +1 -0
- package/cdn/mux-DJhfbcCw.js +25 -0
- package/cdn/mux-DJhfbcCw.js.map +1 -0
- package/cdn/native-hls-CU2F7L5C.js +123 -0
- package/cdn/native-hls-CU2F7L5C.js.map +1 -0
- package/cdn/native-hls-DKcYYWRt.js +2 -0
- package/cdn/native-hls-DKcYYWRt.js.map +1 -0
- package/cdn/pick-CERGq1No.js +2 -0
- package/cdn/pick-CERGq1No.js.map +1 -0
- package/cdn/pick-D-wCJ3iA.js +23 -0
- package/cdn/pick-D-wCJ3iA.js.map +1 -0
- package/cdn/player-BK35-ndY.js +2 -0
- package/cdn/player-BK35-ndY.js.map +1 -0
- package/cdn/player-C7ajkBi4.js +2 -0
- package/cdn/player-C7ajkBi4.js.map +1 -0
- package/cdn/player-CatrGW7l.js +382 -0
- package/cdn/player-CatrGW7l.js.map +1 -0
- package/cdn/player-xstFHOgW.js +16 -0
- package/cdn/player-xstFHOgW.js.map +1 -0
- package/cdn/shadow-styles-BYZ6q3Q4.js +3 -0
- package/cdn/shadow-styles-BYZ6q3Q4.js.map +1 -0
- package/cdn/shadow-styles-DKXFMmyD.js +41 -0
- package/cdn/shadow-styles-DKXFMmyD.js.map +1 -0
- package/cdn/shallow-equal-Daj3-_LC.js +15 -0
- package/cdn/shallow-equal-Daj3-_LC.js.map +1 -0
- package/cdn/shallow-equal-xh6Wj-hj.js +2 -0
- package/cdn/shallow-equal-xh6Wj-hj.js.map +1 -0
- package/cdn/skin-element-BGP23sop.js +2 -0
- package/cdn/skin-element-BGP23sop.js.map +1 -0
- package/cdn/skin-element-CDUkmCtS.js +55 -0
- package/cdn/skin-element-CDUkmCtS.js.map +1 -0
- package/cdn/ui-AFHQtrqa.js +25 -0
- package/cdn/ui-AFHQtrqa.js.map +1 -0
- package/cdn/ui-B7vt9mp-.js +2 -0
- package/cdn/ui-B7vt9mp-.js.map +1 -0
- package/cdn/ui-Em9rF9Ah.js +31 -0
- package/cdn/ui-Em9rF9Ah.js.map +1 -0
- package/cdn/ui-QHwo6iyo.js +2 -0
- package/cdn/ui-QHwo6iyo.js.map +1 -0
- package/cdn/video-host-CPRJVRi3.js +47 -0
- package/cdn/video-host-CPRJVRi3.js.map +1 -0
- package/cdn/video-host-ycP7ckxU.js +410 -0
- package/cdn/video-host-ycP7ckxU.js.map +1 -0
- package/cdn/video-minimal-ui.dev.d.ts +1 -0
- package/cdn/video-minimal-ui.dev.js +4 -0
- package/cdn/video-minimal-ui.js +1 -0
- package/cdn/video-minimal.dev.d.ts +1 -0
- package/cdn/video-minimal.dev.js +114 -5669
- package/cdn/video-minimal.dev.js.map +1 -1
- package/cdn/video-minimal.js +1 -24
- package/cdn/video-minimal.js.map +1 -1
- package/cdn/video-ui.dev.d.ts +1 -0
- package/cdn/video-ui.dev.js +4 -0
- package/cdn/video-ui.js +1 -0
- package/cdn/video.dev.d.ts +1 -0
- package/cdn/video.dev.js +136 -5739
- package/cdn/video.dev.js.map +1 -1
- package/cdn/video.js +1 -24
- package/cdn/video.js.map +1 -1
- package/dist/default/_virtual/inline-css_src/define/audio/minimal-skin.js +2 -2
- 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 +2 -2
- package/dist/default/_virtual/inline-css_src/define/audio/skin.js.map +1 -1
- package/dist/default/_virtual/inline-css_src/define/background/skin.js +6 -0
- package/dist/default/_virtual/inline-css_src/define/background/skin.js.map +1 -0
- package/dist/default/_virtual/inline-css_src/define/base.js +6 -0
- package/dist/default/_virtual/inline-css_src/define/base.js.map +1 -0
- package/dist/default/_virtual/inline-css_src/define/shared.js +6 -0
- package/dist/default/_virtual/inline-css_src/define/shared.js.map +1 -0
- package/dist/default/_virtual/inline-css_src/define/video/minimal-skin.js +2 -2
- 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 +2 -2
- package/dist/default/_virtual/inline-css_src/define/video/skin.js.map +1 -1
- package/dist/default/define/audio/minimal-skin.css +324 -182
- package/dist/default/define/audio/minimal-skin.js +10 -19
- package/dist/default/define/audio/minimal-skin.js.map +1 -1
- package/dist/default/define/audio/minimal-skin.tailwind.js +11 -19
- package/dist/default/define/audio/minimal-skin.tailwind.js.map +1 -1
- package/dist/default/define/audio/minimal-ui.js +28 -0
- package/dist/default/define/audio/minimal-ui.js.map +1 -0
- package/dist/default/define/audio/player.js +1 -2
- package/dist/default/define/audio/player.js.map +1 -1
- package/dist/default/define/audio/skin.css +307 -174
- package/dist/default/define/audio/skin.js +10 -19
- package/dist/default/define/audio/skin.js.map +1 -1
- package/dist/default/define/audio/skin.tailwind.js +13 -21
- package/dist/default/define/audio/skin.tailwind.js.map +1 -1
- package/dist/default/define/audio/ui.js +32 -0
- package/dist/default/define/audio/ui.js.map +1 -0
- package/dist/default/define/background/player.js +1 -2
- package/dist/default/define/background/player.js.map +1 -1
- package/dist/default/define/background/skin.css +1 -1
- package/dist/default/define/background/skin.js +6 -4
- package/dist/default/define/background/skin.js.map +1 -1
- package/dist/default/define/background/video.js +1 -2
- package/dist/default/define/base.css +27 -0
- package/dist/default/define/media/background-video.js +1 -2
- package/dist/default/define/media/background-video.js.map +1 -1
- package/dist/default/define/media/container.js +1 -2
- package/dist/default/define/media/container.js.map +1 -1
- package/dist/default/define/media/dash-video.js +13 -0
- package/dist/default/define/media/dash-video.js.map +1 -0
- package/dist/default/define/media/hls-video.js +1 -2
- package/dist/default/define/media/hls-video.js.map +1 -1
- package/dist/default/define/media/mux-audio.js +13 -0
- package/dist/default/define/media/mux-audio.js.map +1 -0
- package/dist/default/define/media/mux-video.js +13 -0
- package/dist/default/define/media/mux-video.js.map +1 -0
- package/dist/default/define/media/native-hls-video.js +13 -0
- package/dist/default/define/media/native-hls-video.js.map +1 -0
- package/dist/default/define/media/simple-hls-video.js +3 -3
- package/dist/default/define/media/simple-hls-video.js.map +1 -1
- package/dist/default/define/safe-define.js +4 -2
- package/dist/default/define/safe-define.js.map +1 -1
- package/dist/default/define/shared.css +14 -0
- package/dist/default/define/skin-element.js +33 -0
- package/dist/default/define/skin-element.js.map +1 -0
- package/dist/default/define/ui/alert-dialog-close.js +1 -2
- package/dist/default/define/ui/alert-dialog-close.js.map +1 -1
- package/dist/default/define/ui/alert-dialog-description.js +1 -2
- package/dist/default/define/ui/alert-dialog-description.js.map +1 -1
- package/dist/default/define/ui/alert-dialog-title.js +1 -2
- package/dist/default/define/ui/alert-dialog-title.js.map +1 -1
- package/dist/default/define/ui/alert-dialog.js +1 -2
- package/dist/default/define/ui/alert-dialog.js.map +1 -1
- package/dist/default/define/ui/buffering-indicator.js +1 -2
- package/dist/default/define/ui/buffering-indicator.js.map +1 -1
- package/dist/default/define/ui/captions-button.js +3 -3
- package/dist/default/define/ui/captions-button.js.map +1 -1
- package/dist/default/define/ui/compounds.js +62 -0
- package/dist/default/define/ui/compounds.js.map +1 -0
- package/dist/default/define/ui/controls-group.js +1 -2
- package/dist/default/define/ui/controls-group.js.map +1 -1
- package/dist/default/define/ui/controls.js +3 -7
- package/dist/default/define/ui/controls.js.map +1 -1
- package/dist/default/define/ui/error-dialog.js +6 -0
- package/dist/default/define/ui/error-dialog.js.map +1 -0
- package/dist/default/define/ui/fullscreen-button.js +1 -2
- package/dist/default/define/ui/fullscreen-button.js.map +1 -1
- package/dist/default/define/ui/hotkey.js +7 -0
- package/dist/default/define/ui/hotkey.js.map +1 -0
- package/dist/default/define/ui/mute-button.js +1 -2
- package/dist/default/define/ui/mute-button.js.map +1 -1
- package/dist/default/define/ui/pip-button.js +1 -2
- package/dist/default/define/ui/pip-button.js.map +1 -1
- package/dist/default/define/ui/play-button.js +1 -2
- package/dist/default/define/ui/play-button.js.map +1 -1
- package/dist/default/define/ui/playback-rate-button.js +1 -2
- package/dist/default/define/ui/playback-rate-button.js.map +1 -1
- package/dist/default/define/ui/popover.js +1 -2
- package/dist/default/define/ui/popover.js.map +1 -1
- package/dist/default/define/ui/poster.js +1 -2
- package/dist/default/define/ui/poster.js.map +1 -1
- package/dist/default/define/ui/seek-button.js +1 -2
- package/dist/default/define/ui/seek-button.js.map +1 -1
- package/dist/default/define/ui/slider-buffer.js +1 -2
- package/dist/default/define/ui/slider-buffer.js.map +1 -1
- package/dist/default/define/ui/slider-fill.js +1 -2
- package/dist/default/define/ui/slider-fill.js.map +1 -1
- package/dist/default/define/ui/slider-thumb.js +1 -2
- package/dist/default/define/ui/slider-thumb.js.map +1 -1
- package/dist/default/define/ui/slider-thumbnail.js +1 -2
- package/dist/default/define/ui/slider-thumbnail.js.map +1 -1
- package/dist/default/define/ui/slider-track.js +1 -2
- package/dist/default/define/ui/slider-track.js.map +1 -1
- package/dist/default/define/ui/slider-value.js +1 -2
- package/dist/default/define/ui/slider-value.js.map +1 -1
- package/dist/default/define/ui/slider.js +3 -15
- package/dist/default/define/ui/slider.js.map +1 -1
- package/dist/default/define/ui/thumbnail.js +1 -2
- package/dist/default/define/ui/thumbnail.js.map +1 -1
- package/dist/default/define/ui/time-group.js +1 -2
- package/dist/default/define/ui/time-group.js.map +1 -1
- package/dist/default/define/ui/time-separator.js +1 -2
- package/dist/default/define/ui/time-separator.js.map +1 -1
- package/dist/default/define/ui/time-slider.js +3 -19
- package/dist/default/define/ui/time-slider.js.map +1 -1
- package/dist/default/define/ui/time.js +3 -9
- package/dist/default/define/ui/time.js.map +1 -1
- package/dist/default/define/ui/tooltip-group.js +1 -2
- package/dist/default/define/ui/tooltip-group.js.map +1 -1
- package/dist/default/define/ui/tooltip.js +1 -2
- package/dist/default/define/ui/tooltip.js.map +1 -1
- package/dist/default/define/ui/volume-slider.js +3 -15
- package/dist/default/define/ui/volume-slider.js.map +1 -1
- package/dist/default/define/video/minimal-skin.css +618 -328
- package/dist/default/define/video/minimal-skin.js +10 -23
- package/dist/default/define/video/minimal-skin.js.map +1 -1
- package/dist/default/define/video/minimal-skin.tailwind.js +13 -30
- package/dist/default/define/video/minimal-skin.tailwind.js.map +1 -1
- package/dist/default/define/video/minimal-ui.js +39 -0
- package/dist/default/define/video/minimal-ui.js.map +1 -0
- package/dist/default/define/video/player.js +1 -2
- package/dist/default/define/video/player.js.map +1 -1
- package/dist/default/define/video/skin.css +586 -311
- package/dist/default/define/video/skin.js +10 -24
- package/dist/default/define/video/skin.js.map +1 -1
- package/dist/default/define/video/skin.tailwind.js +13 -28
- package/dist/default/define/video/skin.tailwind.js.map +1 -1
- package/dist/default/define/video/ui.js +43 -0
- package/dist/default/define/video/ui.js.map +1 -0
- package/dist/default/icons/dist/render/default/index.js +3 -2
- package/dist/default/icons/dist/render/default/index.js.map +1 -1
- package/dist/default/icons/dist/render/minimal/index.js +3 -2
- package/dist/default/icons/dist/render/minimal/index.js.map +1 -1
- package/dist/default/index.js +10 -5
- package/dist/default/media/background-video/index.js +6 -3
- package/dist/default/media/background-video/index.js.map +1 -1
- package/dist/default/media/container-element.js +22 -4
- package/dist/default/media/container-element.js.map +1 -1
- package/dist/default/media/dash-video/index.js +9 -0
- package/dist/default/media/dash-video/index.js.map +1 -0
- package/dist/default/media/hls-video/index.js +12 -19
- package/dist/default/media/hls-video/index.js.map +1 -1
- package/dist/default/media/mux-audio/index.js +18 -0
- package/dist/default/media/mux-audio/index.js.map +1 -0
- package/dist/default/media/mux-video/index.js +18 -0
- package/dist/default/media/mux-video/index.js.map +1 -0
- package/dist/default/media/native-hls-video/index.js +9 -0
- package/dist/default/media/native-hls-video/index.js.map +1 -0
- package/dist/default/media/simple-hls-video/index.js +5 -17
- package/dist/default/media/simple-hls-video/index.js.map +1 -1
- package/dist/default/player/context.js +7 -4
- package/dist/default/player/context.js.map +1 -1
- package/dist/default/player/create-player.js +12 -5
- package/dist/default/player/create-player.js.map +1 -1
- package/dist/default/player/player-controller.js +1 -2
- package/dist/default/player/player-controller.js.map +1 -1
- package/dist/default/presets/audio.js +1 -2
- package/dist/default/presets/background.js +1 -2
- package/dist/default/presets/video.js +1 -2
- package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js +17 -38
- package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/buffering.js +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/buffering.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/button-group.js +7 -0
- package/dist/default/skins/dist/default/default/tailwind/components/button-group.js.map +1 -0
- package/dist/default/skins/dist/default/default/tailwind/components/button.js +5 -5
- package/dist/default/skins/dist/default/default/tailwind/components/button.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/controls.js +2 -3
- package/dist/default/skins/dist/default/default/tailwind/components/controls.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/error.js +4 -5
- package/dist/default/skins/dist/default/default/tailwind/components/error.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/icon.js +1 -2
- package/dist/default/skins/dist/default/default/tailwind/components/icon.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/overlay.js +2 -3
- package/dist/default/skins/dist/default/default/tailwind/components/overlay.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/playback-rate.js +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/playback-rate.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/popup.js +5 -6
- package/dist/default/skins/dist/default/default/tailwind/components/popup.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/poster.js +15 -0
- package/dist/default/skins/dist/default/default/tailwind/components/poster.js.map +1 -0
- package/dist/default/skins/dist/default/default/tailwind/components/preview.js +12 -0
- package/dist/default/skins/dist/default/default/tailwind/components/preview.js.map +1 -0
- package/dist/default/skins/dist/default/default/tailwind/components/root.js +2 -3
- package/dist/default/skins/dist/default/default/tailwind/components/root.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/seek.js +2 -3
- package/dist/default/skins/dist/default/default/tailwind/components/seek.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/slider.js +2 -3
- package/dist/default/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/surface.js +2 -3
- package/dist/default/skins/dist/default/default/tailwind/components/surface.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/time.js +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/time.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js +41 -26
- package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js +18 -33
- package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/buffering.js +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/buffering.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/button-group.js +1 -2
- package/dist/default/skins/dist/default/minimal/tailwind/components/button-group.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/button.js +5 -5
- package/dist/default/skins/dist/default/minimal/tailwind/components/button.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js +2 -3
- package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/error.js +4 -5
- package/dist/default/skins/dist/default/minimal/tailwind/components/error.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js +1 -2
- package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js +2 -3
- package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/playback-rate.js +6 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/playback-rate.js.map +1 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js +5 -5
- package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js +15 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/preview.js +13 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/preview.js.map +1 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/root.js +2 -3
- package/dist/default/skins/dist/default/minimal/tailwind/components/root.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/seek.js +2 -3
- package/dist/default/skins/dist/default/minimal/tailwind/components/seek.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js +2 -3
- package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/time.js +5 -6
- package/dist/default/skins/dist/default/minimal/tailwind/components/time.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js +45 -24
- package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
- package/dist/{dev/skins/dist/default/default/tailwind/components → default/skins/dist/default/shared/tailwind}/icon-state.js +7 -2
- package/dist/default/skins/dist/default/shared/tailwind/icon-state.js.map +1 -0
- package/dist/default/store/container-mixin.js +17 -62
- package/dist/default/store/container-mixin.js.map +1 -1
- package/dist/default/store/media-attach-mixin.js +44 -0
- package/dist/default/store/media-attach-mixin.js.map +1 -0
- package/dist/default/store/provider-mixin.js +100 -11
- package/dist/default/store/provider-mixin.js.map +1 -1
- package/dist/default/ui/alert-dialog/alert-dialog-close-element.js +1 -2
- package/dist/default/ui/alert-dialog/alert-dialog-close-element.js.map +1 -1
- package/dist/default/ui/alert-dialog/alert-dialog-description-element.js +1 -2
- package/dist/default/ui/alert-dialog/alert-dialog-description-element.js.map +1 -1
- package/dist/default/ui/alert-dialog/alert-dialog-element.js +2 -2
- package/dist/default/ui/alert-dialog/alert-dialog-element.js.map +1 -1
- package/dist/default/ui/alert-dialog/alert-dialog-title-element.js +1 -2
- package/dist/default/ui/alert-dialog/alert-dialog-title-element.js.map +1 -1
- package/dist/default/ui/alert-dialog/context.js +2 -5
- package/dist/default/ui/alert-dialog/context.js.map +1 -1
- package/dist/default/ui/buffering-indicator/buffering-indicator-element.js +2 -2
- package/dist/default/ui/buffering-indicator/buffering-indicator-element.js.map +1 -1
- package/dist/default/ui/captions-button/captions-button-element.js +2 -2
- package/dist/default/ui/captions-button/captions-button-element.js.map +1 -1
- package/dist/default/ui/context-part-element.js +1 -2
- package/dist/default/ui/context-part-element.js.map +1 -1
- package/dist/default/ui/controls/context.js +2 -5
- package/dist/default/ui/controls/context.js.map +1 -1
- package/dist/default/ui/controls/controls-element.js +1 -2
- package/dist/default/ui/controls/controls-element.js.map +1 -1
- package/dist/default/ui/controls/controls-group-element.js +1 -2
- package/dist/default/ui/controls/controls-group-element.js.map +1 -1
- package/dist/default/ui/error-dialog/error-dialog-element.js +77 -0
- package/dist/default/ui/error-dialog/error-dialog-element.js.map +1 -0
- package/dist/default/ui/fullscreen-button/fullscreen-button-element.js +2 -2
- package/dist/default/ui/fullscreen-button/fullscreen-button-element.js.map +1 -1
- package/dist/default/ui/gesture/gesture-element.js +84 -0
- package/dist/default/ui/gesture/gesture-element.js.map +1 -0
- package/dist/default/ui/hotkey/aria-key-shortcuts-controller.js +28 -0
- package/dist/default/ui/hotkey/aria-key-shortcuts-controller.js.map +1 -0
- package/dist/default/ui/hotkey/hotkey-element.js +81 -0
- package/dist/default/ui/hotkey/hotkey-element.js.map +1 -0
- package/dist/default/ui/media-button-element.js +17 -3
- package/dist/default/ui/media-button-element.js.map +1 -1
- package/dist/default/ui/media-element.js +1 -2
- package/dist/default/ui/media-element.js.map +1 -1
- package/dist/default/ui/media-ui-element.js +1 -2
- package/dist/default/ui/media-ui-element.js.map +1 -1
- package/dist/default/ui/mute-button/mute-button-element.js +2 -2
- package/dist/default/ui/mute-button/mute-button-element.js.map +1 -1
- package/dist/default/ui/pip-button/pip-button-element.js +2 -2
- package/dist/default/ui/pip-button/pip-button-element.js.map +1 -1
- package/dist/default/ui/play-button/play-button-element.js +2 -2
- package/dist/default/ui/play-button/play-button-element.js.map +1 -1
- package/dist/default/ui/playback-rate-button/playback-rate-button-element.js +1 -2
- package/dist/default/ui/playback-rate-button/playback-rate-button-element.js.map +1 -1
- package/dist/default/ui/popover/popover-element.js +13 -11
- package/dist/default/ui/popover/popover-element.js.map +1 -1
- package/dist/default/ui/position-controller.js +76 -0
- package/dist/default/ui/position-controller.js.map +1 -0
- package/dist/default/ui/poster/poster-element.js +1 -2
- package/dist/default/ui/poster/poster-element.js.map +1 -1
- package/dist/default/ui/seek-button/seek-button-element.js +1 -2
- package/dist/default/ui/seek-button/seek-button-element.js.map +1 -1
- package/dist/default/ui/slider/context.js +2 -5
- package/dist/default/ui/slider/context.js.map +1 -1
- package/dist/default/ui/slider/slider-buffer-element.js +1 -2
- package/dist/default/ui/slider/slider-buffer-element.js.map +1 -1
- package/dist/default/ui/slider/slider-element.js +2 -3
- package/dist/default/ui/slider/slider-element.js.map +1 -1
- package/dist/default/ui/slider/slider-fill-element.js +1 -2
- package/dist/default/ui/slider/slider-fill-element.js.map +1 -1
- package/dist/default/ui/slider/slider-preview-element.js +2 -3
- package/dist/default/ui/slider/slider-preview-element.js.map +1 -1
- package/dist/default/ui/slider/slider-thumb-element.js +1 -2
- package/dist/default/ui/slider/slider-thumb-element.js.map +1 -1
- package/dist/default/ui/slider/slider-thumbnail-element.js +1 -2
- package/dist/default/ui/slider/slider-thumbnail-element.js.map +1 -1
- package/dist/default/ui/slider/slider-track-element.js +1 -2
- package/dist/default/ui/slider/slider-track-element.js.map +1 -1
- package/dist/default/ui/slider/slider-value-element.js +1 -2
- package/dist/default/ui/slider/slider-value-element.js.map +1 -1
- package/dist/default/ui/thumbnail/thumbnail-element.js +1 -2
- package/dist/default/ui/thumbnail/thumbnail-element.js.map +1 -1
- package/dist/default/ui/time/time-element.js +13 -12
- package/dist/default/ui/time/time-element.js.map +1 -1
- package/dist/default/ui/time/time-group-element.js +1 -2
- package/dist/default/ui/time/time-group-element.js.map +1 -1
- package/dist/default/ui/time/time-separator-element.js +1 -2
- package/dist/default/ui/time/time-separator-element.js.map +1 -1
- package/dist/default/ui/time-slider/time-slider-element.js +7 -8
- package/dist/default/ui/time-slider/time-slider-element.js.map +1 -1
- package/dist/default/ui/tooltip/context.js +2 -5
- package/dist/default/ui/tooltip/context.js.map +1 -1
- package/dist/default/ui/tooltip/tooltip-element.js +25 -18
- package/dist/default/ui/tooltip/tooltip-element.js.map +1 -1
- package/dist/default/ui/tooltip/tooltip-group-element.js +5 -3
- package/dist/default/ui/tooltip/tooltip-group-element.js.map +1 -1
- package/dist/default/ui/volume-slider/volume-slider-element.js +27 -20
- package/dist/default/ui/volume-slider/volume-slider-element.js.map +1 -1
- package/dist/dev/_virtual/inline-css_src/define/audio/minimal-skin.js +2 -2
- 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 +2 -2
- package/dist/dev/_virtual/inline-css_src/define/audio/skin.js.map +1 -1
- package/dist/dev/_virtual/inline-css_src/define/background/skin.js +6 -0
- package/dist/dev/_virtual/inline-css_src/define/background/skin.js.map +1 -0
- package/dist/dev/_virtual/inline-css_src/define/base.js +6 -0
- package/dist/dev/_virtual/inline-css_src/define/base.js.map +1 -0
- package/dist/dev/_virtual/inline-css_src/define/shared.js +6 -0
- package/dist/dev/_virtual/inline-css_src/define/shared.js.map +1 -0
- package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js +2 -2
- 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 +2 -2
- package/dist/dev/_virtual/inline-css_src/define/video/skin.js.map +1 -1
- package/dist/dev/define/audio/minimal-skin.css +324 -182
- package/dist/dev/define/audio/minimal-skin.d.ts +6 -10
- package/dist/dev/define/audio/minimal-skin.d.ts.map +1 -1
- package/dist/dev/define/audio/minimal-skin.js +85 -82
- package/dist/dev/define/audio/minimal-skin.js.map +1 -1
- package/dist/dev/define/audio/minimal-skin.tailwind.d.ts +4 -10
- package/dist/dev/define/audio/minimal-skin.tailwind.d.ts.map +1 -1
- package/dist/dev/define/audio/minimal-skin.tailwind.js +86 -84
- package/dist/dev/define/audio/minimal-skin.tailwind.js.map +1 -1
- package/dist/dev/define/audio/minimal-ui.d.ts +1 -0
- package/dist/dev/define/audio/minimal-ui.js +28 -0
- package/dist/dev/define/audio/minimal-ui.js.map +1 -0
- package/dist/dev/define/audio/player.js +1 -2
- package/dist/dev/define/audio/player.js.map +1 -1
- package/dist/dev/define/audio/skin.css +307 -174
- package/dist/dev/define/audio/skin.d.ts +6 -10
- package/dist/dev/define/audio/skin.d.ts.map +1 -1
- package/dist/dev/define/audio/skin.js +97 -74
- package/dist/dev/define/audio/skin.js.map +1 -1
- package/dist/dev/define/audio/skin.tailwind.d.ts +4 -10
- package/dist/dev/define/audio/skin.tailwind.d.ts.map +1 -1
- package/dist/dev/define/audio/skin.tailwind.js +84 -78
- package/dist/dev/define/audio/skin.tailwind.js.map +1 -1
- package/dist/dev/define/audio/ui.d.ts +1 -0
- package/dist/dev/define/audio/ui.js +32 -0
- package/dist/dev/define/audio/ui.js.map +1 -0
- package/dist/dev/define/background/player.js +1 -2
- package/dist/dev/define/background/player.js.map +1 -1
- package/dist/dev/define/background/skin.css +1 -1
- package/dist/dev/define/background/skin.d.ts.map +1 -1
- package/dist/dev/define/background/skin.js +8 -4
- package/dist/dev/define/background/skin.js.map +1 -1
- package/dist/dev/define/background/video.js +1 -2
- package/dist/dev/define/base.css +27 -0
- package/dist/dev/define/media/background-video.js +1 -2
- package/dist/dev/define/media/background-video.js.map +1 -1
- package/dist/dev/define/media/container.js +1 -2
- package/dist/dev/define/media/container.js.map +1 -1
- package/dist/dev/define/media/dash-video.d.ts +14 -0
- package/dist/dev/define/media/dash-video.d.ts.map +1 -0
- package/dist/dev/define/media/dash-video.js +13 -0
- package/dist/dev/define/media/dash-video.js.map +1 -0
- package/dist/dev/define/media/hls-video.js +1 -2
- package/dist/dev/define/media/hls-video.js.map +1 -1
- package/dist/dev/define/media/mux-audio.d.ts +14 -0
- package/dist/dev/define/media/mux-audio.d.ts.map +1 -0
- package/dist/dev/define/media/mux-audio.js +13 -0
- package/dist/dev/define/media/mux-audio.js.map +1 -0
- package/dist/dev/define/media/mux-video.d.ts +14 -0
- package/dist/dev/define/media/mux-video.d.ts.map +1 -0
- package/dist/dev/define/media/mux-video.js +13 -0
- package/dist/dev/define/media/mux-video.js.map +1 -0
- package/dist/dev/define/media/native-hls-video.d.ts +14 -0
- package/dist/dev/define/media/native-hls-video.d.ts.map +1 -0
- package/dist/dev/define/media/native-hls-video.js +13 -0
- package/dist/dev/define/media/native-hls-video.js.map +1 -0
- package/dist/dev/define/media/simple-hls-video.d.ts.map +1 -1
- package/dist/dev/define/media/simple-hls-video.js +3 -3
- package/dist/dev/define/media/simple-hls-video.js.map +1 -1
- package/dist/dev/define/safe-define.js +4 -2
- package/dist/dev/define/safe-define.js.map +1 -1
- package/dist/dev/define/shared.css +14 -0
- package/dist/dev/define/skin-element.d.ts +18 -0
- package/dist/dev/define/skin-element.d.ts.map +1 -0
- package/dist/dev/define/skin-element.js +33 -0
- package/dist/dev/define/skin-element.js.map +1 -0
- package/dist/dev/define/ui/alert-dialog-close.js +1 -2
- package/dist/dev/define/ui/alert-dialog-close.js.map +1 -1
- package/dist/dev/define/ui/alert-dialog-description.js +1 -2
- package/dist/dev/define/ui/alert-dialog-description.js.map +1 -1
- package/dist/dev/define/ui/alert-dialog-title.js +1 -2
- package/dist/dev/define/ui/alert-dialog-title.js.map +1 -1
- package/dist/dev/define/ui/alert-dialog.js +1 -2
- package/dist/dev/define/ui/alert-dialog.js.map +1 -1
- package/dist/dev/define/ui/buffering-indicator.js +1 -2
- package/dist/dev/define/ui/buffering-indicator.js.map +1 -1
- package/dist/dev/define/ui/captions-button.d.ts.map +1 -1
- package/dist/dev/define/ui/captions-button.js +3 -3
- package/dist/dev/define/ui/captions-button.js.map +1 -1
- package/dist/dev/define/ui/compounds.d.ts +12 -0
- package/dist/dev/define/ui/compounds.d.ts.map +1 -0
- package/dist/dev/define/ui/compounds.js +62 -0
- package/dist/dev/define/ui/compounds.js.map +1 -0
- package/dist/dev/define/ui/controls-group.js +1 -2
- package/dist/dev/define/ui/controls-group.js.map +1 -1
- package/dist/dev/define/ui/controls.d.ts +2 -0
- package/dist/dev/define/ui/controls.d.ts.map +1 -1
- package/dist/dev/define/ui/controls.js +3 -7
- package/dist/dev/define/ui/controls.js.map +1 -1
- package/dist/dev/define/ui/error-dialog.d.ts +15 -0
- package/dist/dev/define/ui/error-dialog.d.ts.map +1 -0
- package/dist/dev/define/ui/error-dialog.js +6 -0
- package/dist/dev/define/ui/error-dialog.js.map +1 -0
- package/dist/dev/define/ui/fullscreen-button.js +1 -2
- package/dist/dev/define/ui/fullscreen-button.js.map +1 -1
- package/dist/dev/define/ui/hotkey.d.ts +9 -0
- package/dist/dev/define/ui/hotkey.d.ts.map +1 -0
- package/dist/dev/define/ui/hotkey.js +7 -0
- package/dist/dev/define/ui/hotkey.js.map +1 -0
- package/dist/dev/define/ui/mute-button.js +1 -2
- package/dist/dev/define/ui/mute-button.js.map +1 -1
- package/dist/dev/define/ui/pip-button.js +1 -2
- package/dist/dev/define/ui/pip-button.js.map +1 -1
- package/dist/dev/define/ui/play-button.js +1 -2
- package/dist/dev/define/ui/play-button.js.map +1 -1
- package/dist/dev/define/ui/playback-rate-button.js +1 -2
- package/dist/dev/define/ui/playback-rate-button.js.map +1 -1
- package/dist/dev/define/ui/popover.js +1 -2
- package/dist/dev/define/ui/popover.js.map +1 -1
- package/dist/dev/define/ui/poster.js +1 -2
- package/dist/dev/define/ui/poster.js.map +1 -1
- package/dist/dev/define/ui/seek-button.js +1 -2
- package/dist/dev/define/ui/seek-button.js.map +1 -1
- package/dist/dev/define/ui/slider-buffer.js +1 -2
- package/dist/dev/define/ui/slider-buffer.js.map +1 -1
- package/dist/dev/define/ui/slider-fill.js +1 -2
- package/dist/dev/define/ui/slider-fill.js.map +1 -1
- package/dist/dev/define/ui/slider-thumb.js +1 -2
- package/dist/dev/define/ui/slider-thumb.js.map +1 -1
- package/dist/dev/define/ui/slider-thumbnail.js +1 -2
- package/dist/dev/define/ui/slider-thumbnail.js.map +1 -1
- package/dist/dev/define/ui/slider-track.js +1 -2
- package/dist/dev/define/ui/slider-track.js.map +1 -1
- package/dist/dev/define/ui/slider-value.js +1 -2
- package/dist/dev/define/ui/slider-value.js.map +1 -1
- package/dist/dev/define/ui/slider.d.ts +10 -0
- package/dist/dev/define/ui/slider.d.ts.map +1 -1
- package/dist/dev/define/ui/slider.js +3 -15
- package/dist/dev/define/ui/slider.js.map +1 -1
- package/dist/dev/define/ui/thumbnail.js +1 -2
- package/dist/dev/define/ui/thumbnail.js.map +1 -1
- package/dist/dev/define/ui/time-group.js +1 -2
- package/dist/dev/define/ui/time-group.js.map +1 -1
- package/dist/dev/define/ui/time-separator.js +1 -2
- package/dist/dev/define/ui/time-separator.js.map +1 -1
- package/dist/dev/define/ui/time-slider.d.ts +14 -0
- package/dist/dev/define/ui/time-slider.d.ts.map +1 -1
- package/dist/dev/define/ui/time-slider.js +3 -19
- package/dist/dev/define/ui/time-slider.js.map +1 -1
- package/dist/dev/define/ui/time.d.ts +4 -0
- package/dist/dev/define/ui/time.d.ts.map +1 -1
- package/dist/dev/define/ui/time.js +3 -9
- package/dist/dev/define/ui/time.js.map +1 -1
- package/dist/dev/define/ui/tooltip-group.js +1 -2
- package/dist/dev/define/ui/tooltip-group.js.map +1 -1
- package/dist/dev/define/ui/tooltip.js +1 -2
- package/dist/dev/define/ui/tooltip.js.map +1 -1
- package/dist/dev/define/ui/volume-slider.d.ts +10 -0
- package/dist/dev/define/ui/volume-slider.d.ts.map +1 -1
- package/dist/dev/define/ui/volume-slider.js +3 -15
- package/dist/dev/define/ui/volume-slider.js.map +1 -1
- package/dist/dev/define/video/minimal-skin.css +618 -328
- package/dist/dev/define/video/minimal-skin.d.ts +6 -10
- package/dist/dev/define/video/minimal-skin.d.ts.map +1 -1
- package/dist/dev/define/video/minimal-skin.js +113 -119
- package/dist/dev/define/video/minimal-skin.js.map +1 -1
- package/dist/dev/define/video/minimal-skin.tailwind.d.ts +4 -10
- package/dist/dev/define/video/minimal-skin.tailwind.d.ts.map +1 -1
- package/dist/dev/define/video/minimal-skin.tailwind.js +105 -129
- package/dist/dev/define/video/minimal-skin.tailwind.js.map +1 -1
- package/dist/dev/define/video/minimal-ui.d.ts +1 -0
- package/dist/dev/define/video/minimal-ui.js +39 -0
- package/dist/dev/define/video/minimal-ui.js.map +1 -0
- package/dist/dev/define/video/player.js +1 -2
- package/dist/dev/define/video/player.js.map +1 -1
- package/dist/dev/define/video/skin.css +586 -311
- package/dist/dev/define/video/skin.d.ts +6 -10
- package/dist/dev/define/video/skin.d.ts.map +1 -1
- package/dist/dev/define/video/skin.js +134 -116
- package/dist/dev/define/video/skin.js.map +1 -1
- package/dist/dev/define/video/skin.tailwind.d.ts +4 -10
- package/dist/dev/define/video/skin.tailwind.d.ts.map +1 -1
- package/dist/dev/define/video/skin.tailwind.js +101 -121
- package/dist/dev/define/video/skin.tailwind.js.map +1 -1
- package/dist/dev/define/video/ui.d.ts +1 -0
- package/dist/dev/define/video/ui.js +43 -0
- package/dist/dev/define/video/ui.js.map +1 -0
- package/dist/dev/icons/dist/render/default/index.js +3 -2
- package/dist/dev/icons/dist/render/default/index.js.map +1 -1
- package/dist/dev/icons/dist/render/minimal/index.js +3 -2
- package/dist/dev/icons/dist/render/minimal/index.js.map +1 -1
- package/dist/dev/index.d.ts +12 -5
- package/dist/dev/index.js +10 -5
- package/dist/dev/media/background-video/index.d.ts +8 -1
- package/dist/dev/media/background-video/index.d.ts.map +1 -1
- package/dist/dev/media/background-video/index.js +6 -3
- package/dist/dev/media/background-video/index.js.map +1 -1
- package/dist/dev/media/container-element.d.ts +3 -0
- package/dist/dev/media/container-element.d.ts.map +1 -1
- package/dist/dev/media/container-element.js +22 -4
- package/dist/dev/media/container-element.js.map +1 -1
- package/dist/dev/media/dash-video/index.d.ts +17 -0
- package/dist/dev/media/dash-video/index.d.ts.map +1 -0
- package/dist/dev/media/dash-video/index.js +9 -0
- package/dist/dev/media/dash-video/index.js.map +1 -0
- package/dist/dev/media/hls-video/index.d.ts +13 -6
- package/dist/dev/media/hls-video/index.d.ts.map +1 -1
- package/dist/dev/media/hls-video/index.js +12 -19
- package/dist/dev/media/hls-video/index.js.map +1 -1
- package/dist/dev/media/mux-audio/index.d.ts +19 -0
- package/dist/dev/media/mux-audio/index.d.ts.map +1 -0
- package/dist/dev/media/mux-audio/index.js +18 -0
- package/dist/dev/media/mux-audio/index.js.map +1 -0
- package/dist/dev/media/mux-video/index.d.ts +19 -0
- package/dist/dev/media/mux-video/index.d.ts.map +1 -0
- package/dist/dev/media/mux-video/index.js +18 -0
- package/dist/dev/media/mux-video/index.js.map +1 -0
- package/dist/dev/media/native-hls-video/index.d.ts +17 -0
- package/dist/dev/media/native-hls-video/index.d.ts.map +1 -0
- package/dist/dev/media/native-hls-video/index.js +9 -0
- package/dist/dev/media/native-hls-video/index.js.map +1 -0
- package/dist/dev/media/simple-hls-video/index.d.ts +12 -6
- package/dist/dev/media/simple-hls-video/index.d.ts.map +1 -1
- package/dist/dev/media/simple-hls-video/index.js +5 -17
- package/dist/dev/media/simple-hls-video/index.js.map +1 -1
- package/dist/dev/player/context.d.ts +19 -3
- package/dist/dev/player/context.d.ts.map +1 -1
- package/dist/dev/player/context.js +7 -4
- package/dist/dev/player/context.js.map +1 -1
- package/dist/dev/player/create-player.d.ts +1 -1
- package/dist/dev/player/create-player.js +12 -5
- package/dist/dev/player/create-player.js.map +1 -1
- package/dist/dev/player/player-controller.js +1 -2
- package/dist/dev/player/player-controller.js.map +1 -1
- package/dist/dev/presets/audio.js +1 -2
- package/dist/dev/presets/background.js +1 -2
- package/dist/dev/presets/video.js +1 -2
- package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js +17 -38
- package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/button-group.js +7 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/button-group.js.map +1 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/button.js +5 -5
- package/dist/dev/skins/dist/default/default/tailwind/components/button.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/controls.js +2 -3
- package/dist/dev/skins/dist/default/default/tailwind/components/controls.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/error.js +4 -5
- package/dist/dev/skins/dist/default/default/tailwind/components/error.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/icon.js +1 -2
- package/dist/dev/skins/dist/default/default/tailwind/components/icon.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js +2 -3
- package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/playback-rate.js +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/playback-rate.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/popup.js +5 -6
- package/dist/dev/skins/dist/default/default/tailwind/components/popup.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/poster.js +15 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/poster.js.map +1 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/preview.js +12 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/preview.js.map +1 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/root.js +2 -3
- package/dist/dev/skins/dist/default/default/tailwind/components/root.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/seek.js +2 -3
- package/dist/dev/skins/dist/default/default/tailwind/components/seek.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/slider.js +2 -3
- package/dist/dev/skins/dist/default/default/tailwind/components/slider.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/surface.js +2 -3
- package/dist/dev/skins/dist/default/default/tailwind/components/surface.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/time.js +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/time.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js +41 -26
- package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js +18 -33
- package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/buffering.js +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/buffering.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/button-group.js +1 -2
- package/dist/dev/skins/dist/default/minimal/tailwind/components/button-group.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js +5 -5
- package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js +2 -3
- package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/error.js +4 -5
- package/dist/dev/skins/dist/default/minimal/tailwind/components/error.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js +1 -2
- package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js +2 -3
- package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/playback-rate.js +6 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/playback-rate.js.map +1 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js +5 -5
- package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/poster.js +15 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/preview.js +13 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/preview.js.map +1 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js +2 -3
- package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/seek.js +2 -3
- package/dist/dev/skins/dist/default/minimal/tailwind/components/seek.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js +2 -3
- package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js +5 -6
- package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js +45 -24
- package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
- package/dist/{default/skins/dist/default/default/tailwind/components → dev/skins/dist/default/shared/tailwind}/icon-state.js +7 -2
- package/dist/dev/skins/dist/default/shared/tailwind/icon-state.js.map +1 -0
- package/dist/dev/store/container-mixin.d.ts +10 -5
- package/dist/dev/store/container-mixin.d.ts.map +1 -1
- package/dist/dev/store/container-mixin.js +17 -62
- package/dist/dev/store/container-mixin.js.map +1 -1
- package/dist/dev/store/media-attach-mixin.d.ts +19 -0
- package/dist/dev/store/media-attach-mixin.d.ts.map +1 -0
- package/dist/dev/store/media-attach-mixin.js +44 -0
- package/dist/dev/store/media-attach-mixin.js.map +1 -0
- package/dist/dev/store/provider-mixin.d.ts +19 -6
- package/dist/dev/store/provider-mixin.d.ts.map +1 -1
- package/dist/dev/store/provider-mixin.js +100 -11
- package/dist/dev/store/provider-mixin.js.map +1 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-close-element.js +1 -2
- package/dist/dev/ui/alert-dialog/alert-dialog-close-element.js.map +1 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-description-element.js +1 -2
- package/dist/dev/ui/alert-dialog/alert-dialog-description-element.js.map +1 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-element.d.ts.map +1 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-element.js +2 -2
- package/dist/dev/ui/alert-dialog/alert-dialog-element.js.map +1 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-title-element.js +1 -2
- package/dist/dev/ui/alert-dialog/alert-dialog-title-element.js.map +1 -1
- package/dist/dev/ui/alert-dialog/context.js +2 -5
- package/dist/dev/ui/alert-dialog/context.js.map +1 -1
- package/dist/dev/ui/buffering-indicator/buffering-indicator-element.d.ts.map +1 -1
- package/dist/dev/ui/buffering-indicator/buffering-indicator-element.js +2 -2
- package/dist/dev/ui/buffering-indicator/buffering-indicator-element.js.map +1 -1
- package/dist/dev/ui/captions-button/captions-button-element.d.ts +1 -0
- package/dist/dev/ui/captions-button/captions-button-element.d.ts.map +1 -1
- package/dist/dev/ui/captions-button/captions-button-element.js +2 -2
- package/dist/dev/ui/captions-button/captions-button-element.js.map +1 -1
- package/dist/dev/ui/context-part-element.d.ts +1 -1
- package/dist/dev/ui/context-part-element.js +1 -2
- package/dist/dev/ui/context-part-element.js.map +1 -1
- package/dist/dev/ui/controls/context.js +2 -5
- package/dist/dev/ui/controls/context.js.map +1 -1
- package/dist/dev/ui/controls/controls-element.js +1 -2
- package/dist/dev/ui/controls/controls-element.js.map +1 -1
- package/dist/dev/ui/controls/controls-group-element.js +1 -2
- package/dist/dev/ui/controls/controls-group-element.js.map +1 -1
- package/dist/dev/ui/error-dialog/error-dialog-element.d.ts +16 -0
- package/dist/dev/ui/error-dialog/error-dialog-element.d.ts.map +1 -0
- package/dist/dev/ui/error-dialog/error-dialog-element.js +77 -0
- package/dist/dev/ui/error-dialog/error-dialog-element.js.map +1 -0
- package/dist/dev/ui/fullscreen-button/fullscreen-button-element.d.ts +1 -0
- package/dist/dev/ui/fullscreen-button/fullscreen-button-element.d.ts.map +1 -1
- package/dist/dev/ui/fullscreen-button/fullscreen-button-element.js +2 -2
- package/dist/dev/ui/fullscreen-button/fullscreen-button-element.js.map +1 -1
- package/dist/dev/ui/gesture/gesture-element.d.ts +22 -0
- package/dist/dev/ui/gesture/gesture-element.d.ts.map +1 -0
- package/dist/dev/ui/gesture/gesture-element.js +84 -0
- package/dist/dev/ui/gesture/gesture-element.js.map +1 -0
- package/dist/dev/ui/hotkey/aria-key-shortcuts-controller.d.ts +15 -0
- package/dist/dev/ui/hotkey/aria-key-shortcuts-controller.d.ts.map +1 -0
- package/dist/dev/ui/hotkey/aria-key-shortcuts-controller.js +28 -0
- package/dist/dev/ui/hotkey/aria-key-shortcuts-controller.js.map +1 -0
- package/dist/dev/ui/hotkey/hotkey-element.d.ts +21 -0
- package/dist/dev/ui/hotkey/hotkey-element.d.ts.map +1 -0
- package/dist/dev/ui/hotkey/hotkey-element.js +81 -0
- package/dist/dev/ui/hotkey/hotkey-element.js.map +1 -0
- package/dist/dev/ui/media-button-element.d.ts +8 -2
- package/dist/dev/ui/media-button-element.d.ts.map +1 -1
- package/dist/dev/ui/media-button-element.js +17 -3
- package/dist/dev/ui/media-button-element.js.map +1 -1
- package/dist/dev/ui/media-element.js +1 -2
- package/dist/dev/ui/media-element.js.map +1 -1
- package/dist/dev/ui/media-ui-element.js +1 -2
- package/dist/dev/ui/media-ui-element.js.map +1 -1
- package/dist/dev/ui/mute-button/mute-button-element.d.ts +1 -0
- package/dist/dev/ui/mute-button/mute-button-element.d.ts.map +1 -1
- package/dist/dev/ui/mute-button/mute-button-element.js +2 -2
- package/dist/dev/ui/mute-button/mute-button-element.js.map +1 -1
- package/dist/dev/ui/pip-button/pip-button-element.d.ts +1 -0
- package/dist/dev/ui/pip-button/pip-button-element.d.ts.map +1 -1
- package/dist/dev/ui/pip-button/pip-button-element.js +2 -2
- package/dist/dev/ui/pip-button/pip-button-element.js.map +1 -1
- package/dist/dev/ui/play-button/play-button-element.d.ts +1 -0
- package/dist/dev/ui/play-button/play-button-element.d.ts.map +1 -1
- package/dist/dev/ui/play-button/play-button-element.js +2 -2
- package/dist/dev/ui/play-button/play-button-element.js.map +1 -1
- package/dist/dev/ui/playback-rate-button/playback-rate-button-element.js +1 -2
- package/dist/dev/ui/playback-rate-button/playback-rate-button-element.js.map +1 -1
- package/dist/dev/ui/popover/popover-element.d.ts.map +1 -1
- package/dist/dev/ui/popover/popover-element.js +13 -11
- package/dist/dev/ui/popover/popover-element.js.map +1 -1
- package/dist/dev/ui/position-controller.js +76 -0
- package/dist/dev/ui/position-controller.js.map +1 -0
- package/dist/dev/ui/poster/poster-element.js +1 -2
- package/dist/dev/ui/poster/poster-element.js.map +1 -1
- package/dist/dev/ui/seek-button/seek-button-element.js +1 -2
- package/dist/dev/ui/seek-button/seek-button-element.js.map +1 -1
- package/dist/dev/ui/slider/context.js +2 -5
- package/dist/dev/ui/slider/context.js.map +1 -1
- package/dist/dev/ui/slider/slider-buffer-element.js +1 -2
- package/dist/dev/ui/slider/slider-buffer-element.js.map +1 -1
- package/dist/dev/ui/slider/slider-element.js +2 -3
- package/dist/dev/ui/slider/slider-element.js.map +1 -1
- package/dist/dev/ui/slider/slider-fill-element.js +1 -2
- package/dist/dev/ui/slider/slider-fill-element.js.map +1 -1
- package/dist/dev/ui/slider/slider-preview-element.d.ts +21 -0
- package/dist/dev/ui/slider/slider-preview-element.d.ts.map +1 -0
- package/dist/dev/ui/slider/slider-preview-element.js +2 -3
- package/dist/dev/ui/slider/slider-preview-element.js.map +1 -1
- package/dist/dev/ui/slider/slider-thumb-element.js +1 -2
- package/dist/dev/ui/slider/slider-thumb-element.js.map +1 -1
- package/dist/dev/ui/slider/slider-thumbnail-element.js +1 -2
- package/dist/dev/ui/slider/slider-thumbnail-element.js.map +1 -1
- package/dist/dev/ui/slider/slider-track-element.js +1 -2
- package/dist/dev/ui/slider/slider-track-element.js.map +1 -1
- package/dist/dev/ui/slider/slider-value-element.js +1 -2
- package/dist/dev/ui/slider/slider-value-element.js.map +1 -1
- package/dist/dev/ui/thumbnail/thumbnail-element.js +1 -2
- package/dist/dev/ui/thumbnail/thumbnail-element.js.map +1 -1
- package/dist/dev/ui/time/time-element.d.ts +0 -1
- package/dist/dev/ui/time/time-element.d.ts.map +1 -1
- package/dist/dev/ui/time/time-element.js +13 -12
- package/dist/dev/ui/time/time-element.js.map +1 -1
- package/dist/dev/ui/time/time-group-element.js +1 -2
- package/dist/dev/ui/time/time-group-element.js.map +1 -1
- package/dist/dev/ui/time/time-separator-element.js +1 -2
- package/dist/dev/ui/time/time-separator-element.js.map +1 -1
- package/dist/dev/ui/time-slider/time-slider-element.d.ts +2 -2
- package/dist/dev/ui/time-slider/time-slider-element.js +7 -8
- package/dist/dev/ui/time-slider/time-slider-element.js.map +1 -1
- package/dist/dev/ui/tooltip/context.js +2 -5
- package/dist/dev/ui/tooltip/context.js.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-element.d.ts.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-element.js +25 -18
- package/dist/dev/ui/tooltip/tooltip-element.js.map +1 -1
- package/dist/dev/ui/tooltip/tooltip-group-element.js +5 -3
- package/dist/dev/ui/tooltip/tooltip-group-element.js.map +1 -1
- package/dist/dev/ui/volume-slider/volume-slider-element.d.ts +5 -0
- package/dist/dev/ui/volume-slider/volume-slider-element.d.ts.map +1 -1
- package/dist/dev/ui/volume-slider/volume-slider-element.js +27 -20
- package/dist/dev/ui/volume-slider/volume-slider-element.js.map +1 -1
- package/package.json +25 -14
- package/cdn/audio-minimal.css +0 -1
- package/cdn/audio.css +0 -1
- package/cdn/background.css +0 -1
- package/cdn/video-minimal.css +0 -1
- package/cdn/video.css +0 -1
- package/dist/default/define/skin-mixin.js +0 -55
- package/dist/default/define/skin-mixin.js.map +0 -1
- package/dist/default/skins/dist/default/default/tailwind/components/icon-state.js.map +0 -1
- package/dist/default/skins/dist/default/default/tailwind/components/tooltip-state.js +0 -28
- package/dist/default/skins/dist/default/default/tailwind/components/tooltip-state.js.map +0 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/icon-state.js +0 -29
- package/dist/default/skins/dist/default/minimal/tailwind/components/icon-state.js.map +0 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/tooltip-state.js +0 -28
- package/dist/default/skins/dist/default/minimal/tailwind/components/tooltip-state.js.map +0 -1
- package/dist/dev/define/skin-mixin.d.ts +0 -21
- package/dist/dev/define/skin-mixin.d.ts.map +0 -1
- package/dist/dev/define/skin-mixin.js +0 -69
- package/dist/dev/define/skin-mixin.js.map +0 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/icon-state.js.map +0 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/tooltip-state.js +0 -28
- package/dist/dev/skins/dist/default/default/tailwind/components/tooltip-state.js.map +0 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/icon-state.js +0 -29
- package/dist/dev/skins/dist/default/minimal/tailwind/components/icon-state.js.map +0 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/tooltip-state.js +0 -28
- package/dist/dev/skins/dist/default/minimal/tailwind/components/tooltip-state.js.map +0 -1
|
@@ -1,44 +1,59 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
`}function o(e,{tag:t,is:o}){let c=globalThis.document?.createElement?.(t,{is:o}),u=c?s(c):[];return class s extends e{static getTemplateHTML=t.endsWith(`audio`)?i:a;static shadowRootOptions={mode:`open`};static Events=n;static#e=!1;static#t;static get observedAttributes(){return s.#n(),[...c?.constructor?.observedAttributes??[],...r]}static#n(){if(!s.#e){s.#e=!0,s.#t=new Set(s.observedAttributes),s.#t.delete(`muted`);for(let e of u)if(!(e in s.prototype))if(typeof c[e]==`function`)s.prototype[e]=function(...t){return this.#s(),this.call(e,...t)};else{let t={get(){return this.#s(),this.get(e)}};e!==e.toUpperCase()&&(t.set=function(t){this.#s(),this.set(e,t)}),Object.defineProperty(s.prototype,e,t)}}}#r=!1;#i=null;#a=new Map;#o;get(e){let t=e.toLowerCase();if(s.#t.has(t)){let e=this.getAttribute(t);return e===null?!1:e===``?!0:e}return this.target?.[e]}set(e,t){let n=e.toLowerCase();if(s.#t.has(n)){t===!0||t===!1||t==null?this.toggleAttribute(n,!!t):this.setAttribute(n,t);return}this.target&&(this.target[e]=t)}call(e,...t){return(this.target?.[e])?.apply(this.target,t)}get target(){return this.#s(),this.#i??this.querySelector(`:scope > [slot=media]`)??this.querySelector(t)??this.shadowRoot?.querySelector(t)??null}set target(e){this.#i=e}get defaultMuted(){return this.#s(),this.get(`muted`)}set defaultMuted(e){this.#s(),this.set(`muted`,e)}#s(){this.#r||(this.#r=!0,this.init())}init(){if(!this.shadowRoot){this.attachShadow({mode:`open`});let e=l(this.attributes);o&&(e.is=o),t&&(e.part=t),this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(e)}this.target.muted=this.hasAttribute(`muted`);for(let e of u)this.#d(e);this.#o=new MutationObserver(this.#l.bind(this)),this.shadowRoot.addEventListener(`slotchange`,()=>this.#c()),this.#c();for(let e of this.constructor.Events)this.shadowRoot.addEventListener(e,this,!0)}handleEvent(e){e.target===this.target&&this.dispatchEvent(new CustomEvent(e.type,{detail:e.detail}))}#c(){let e=new Map(this.#a);((this.shadowRoot?.querySelector(`slot:not([name])`))?.assignedElements({flatten:!0}).filter(e=>[`track`,`source`].includes(e.localName))).forEach(t=>{e.delete(t);let n=this.#a.get(t);n||(n=t.cloneNode(),this.#a.set(t,n),this.#o?.observe(t,{attributes:!0})),this.target?.append(n),this.#u(n)}),e.forEach((e,t)=>{e.remove(),this.#a.delete(t)})}#l(e){for(let t of e)if(t.type===`attributes`){let{target:e,attributeName:n}=t,r=this.#a.get(e);r&&n&&(r.setAttribute(n,e.getAttribute(n)??``),this.#u(r))}}#u(e){e&&e.localName===`track`&&e.default&&(e.kind===`chapters`||e.kind===`metadata`)&&e.track.mode===`disabled`&&(e.track.mode=`hidden`)}#d(e){if(Object.hasOwn(this,e)){let t=this[e];delete this[e],this[e]=t}}attributeChangedCallback(e,t,n){this.#s(),this.#f(e,t,n)}#f(e,t,n){[`id`,`class`].includes(e)||!s.observedAttributes.includes(e)&&this.constructor.observedAttributes.includes(e)||(n===null?this.target?.removeAttribute(e):this.target?.getAttribute(e)!==n&&this.target?.setAttribute(e,n))}connectedCallback(){this.#s(),this.setAttribute(`data-media-element`,``)}}}function s(e){let t=[];for(let n=Object.getPrototypeOf(e);n&&n!==HTMLElement.prototype;n=Object.getPrototypeOf(n)){let e=Object.getOwnPropertyNames(n);t.push(...e)}return t}function c(e){let t=``;for(let n in e){if(!r.includes(n))continue;let i=e[n];i===``?t+=` ${n}`:t+=` ${n}="${i}"`}return t}function l(e){let t={};for(let n of e)t[n.name]=n.value;return t}o(globalThis.HTMLElement??class{},{tag:`video`}),o(globalThis.HTMLElement??class{},{tag:`audio`});function u(e,t,n,r){return e.addEventListener(t,n,r),()=>e.removeEventListener(t,n,r)}function d(e){return e===void 0}function f(e){return e==null}const p=Symbol(`@videojs/spf/state`);function m(e,t){return Object.is(e,t)}var ee=class{[p]=!0;#e;#t=null;#n=!1;#r;#i=new Set;#a=new Set;constructor(e,t){this.#e=typeof e==`object`&&e?{...e}:e,this.#r=t?.equalityFn??m}get current(){return this.#t??this.#e}patch(e){let t=this.#t??this.#e;if(typeof t!=`object`||!t){let n=e;Object.is(t,n)||(this.#t=n,this.#o());return}let n={...t},r=!1;for(let i in e){if(!Object.hasOwn(e,i))continue;let a=e[i];Object.is(t[i],a)||(n[i]=a,r=!0)}r&&(this.#t=n,this.#o())}subscribe(e,t,n){if(t===void 0){let t=e;return this.#i.add(t),t(this.current),()=>{this.#i.delete(t)}}let r=e,i=t,a={selector:r,listener:i,options:n??{}};return this.#a.add(a),i(r(this.current)),()=>{this.#a.delete(a)}}flush(){if(this.#t===null)return;let e=this.#e,t=this.#t;if(this.#t=null,this.#n=!1,!this.#r(e,t)){this.#e=t;for(let e of this.#i)e(this.#e);for(let t of this.#a){let n=t.selector(e),r=t.selector(this.#e);(t.options.equalityFn??Object.is)(n,r)||t.listener(r)}}}#o(){this.#n||(this.#n=!0,queueMicrotask(()=>this.flush()))}};function h(e,t){return new ee(e,t)}function te(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 ne(e){let t=/^(\d+)x(\d+)$/.exec(e);return t?{width:Number.parseInt(t[1],10),height:Number.parseInt(t[2],10)}:null}function re(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)})}function g(e){let t=e.split(`,`).map(e=>e.trim()),n={};for(let e of t)e.startsWith(`avc1.`)||e.startsWith(`hvc1.`)||e.startsWith(`hev1.`)?n.video=e:e.startsWith(`mp4a.`)&&(n.audio=e);return n}function ie(e){let t=e.split(`,`)[0]??e,n=Number.parseFloat(t);return Number.isNaN(n)?0:n}function _(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 ae(e){let t=te(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 ne(n)??void 0},getFrameRate(e){let n=t.get(e);if(n)return re(n)}}}function v(e,t){let n=`#${t}:`;return e.startsWith(n)?ae(e.slice(n.length)):null}function y(e,t){return new URL(e,t).href}function oe(e,t){let n=e.split(/\r?\n/),r=t.url,i=[],a,o,s=0,c,l=0,u=0,d;for(let e of n){let t=e.trim();if(!t||t.startsWith(`#`)&&!t.startsWith(`#EXT`)||t===`#EXTM3U`||t.startsWith(`#EXT-X-VERSION:`)||t.startsWith(`#EXT-X-TARGETDURATION:`)||t.startsWith(`#EXT-X-PLAYLIST-TYPE:`)||t.startsWith(`#EXT-X-INDEPENDENT-SEGMENTS`))continue;let n=v(t,`EXT-X-MAP`);if(n){let e=n.get(`URI`);if(e){a=y(e,r);let t=n.get(`BYTERANGE`);t&&(o=_(t,0)??void 0)}continue}if(t.startsWith(`#EXTINF:`)){s=ie(t.slice(8));continue}if(t.startsWith(`#EXT-X-BYTERANGE:`)){c=_(t.slice(17),d)??void 0;continue}if(t!==`#EXT-X-ENDLIST`&&!t.startsWith(`#`)&&s>0){let e={id:`segment-${u}`,url:y(t,r),duration:s,startTime:l};c?(e.byteRange=c,d=c.end+1):d=void 0,i.push(e),l+=s,u++,s=0,c=void 0}}let f=l,p=t.type===`text`&&!a?void 0:a?{url:a,...o?{byteRange:o}:{}}:{url:``};return{...t,startTime:0,duration:f,segments:i,initialization:p}}function b(){return`${Date.now()}-${Math.floor(Math.random()*1e6)}`}function se(e,t){let n=t.url,r=e.split(/\r?\n/),i=[],a=[],o=[],s=null;for(let e of r){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=v(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`);a.push({groupId:t,name:i,language:r.get(`LANGUAGE`),uri:e?y(e,n):void 0,default:r.getBool(`DEFAULT`),autoselect:r.getBool(`AUTOSELECT`)})}if(e===`SUBTITLES`&&t&&i){let e=r.get(`URI`);e&&o.push({groupId:t,name:i,language:r.get(`LANGUAGE`),uri:y(e,n),default:r.getBool(`DEFAULT`),autoselect:r.getBool(`AUTOSELECT`),forced:r.getBool(`FORCED`)})}continue}let c=v(t,`EXT-X-STREAM-INF`);if(c){s={bandwidth:c.getInt(`BANDWIDTH`,0),resolution:c.getResolution(`RESOLUTION`),codecs:c.get(`CODECS`),frameRate:c.getFrameRate(`FRAME-RATE`),audioGroupId:c.get(`AUDIO`)};continue}!t.startsWith(`#`)&&s&&(i.push({...s,uri:y(t,n)}),s=null)}let c=[],l=[];for(let e of i){if(!e.codecs){c.push(e);continue}let t=g(e.codecs);e.codecs.split(`,`).length===1&&t.audio&&!t.video?l.push(e):c.push(e)}let u=c.map(e=>{let t=e.codecs?g(e.codecs):void 0,n={type:`video`,id:b(),url:e.uri,bandwidth:e.bandwidth,mimeType:`video/mp4`,codecs:[]};return e.resolution?.width!==void 0&&(n.width=e.resolution.width),e.resolution?.height!==void 0&&(n.height=e.resolution.height),t?.video&&(n.codecs=[t.video]),e.frameRate&&(n.frameRate=e.frameRate),e.audioGroupId&&(n.audioGroupId=e.audioGroupId),n}),d=l.map(e=>{let t=e.codecs?g(e.codecs):void 0;return{type:`audio`,id:b(),url:e.uri,bandwidth:e.bandwidth,mimeType:`audio/mp4`,codecs:t?.audio?[t.audio]:[],groupId:e.audioGroupId||`default`,name:`Default`,sampleRate:48e3,channels:2}}),f=[...a.map(e=>{let t;for(let n of i)if(n.audioGroupId===e.groupId&&n.codecs){let e=g(n.codecs);if(e.audio){t=[e.audio];break}}let n={type:`audio`,id:b(),url:e.uri??``,groupId:e.groupId,name:e.name,mimeType:`audio/mp4`,bandwidth:0,sampleRate:48e3,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}),...d],p=o.map(e=>{let t={type:`text`,id:b(),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}),m=[];if(u.length>0){let e={id:b(),type:`video`,tracks:u},t={id:b(),type:`video`,switchingSets:[e]};m.push(t)}if(f.length>0){let e={id:b(),type:`audio`,tracks:f},t={id:b(),type:`audio`,switchingSets:[e]};m.push(t)}if(p.length>0){let e={id:b(),type:`text`,tracks:p},t={id:b(),type:`text`,switchingSets:[e]};m.push(t)}return{id:b(),url:t.url,startTime:0,selectionSets:m}}function x(e){return Math.exp(Math.log(.5)/e)}function S(e,t,n,r){let i=x(r)**n;return t*(1-i)+i*e}function C(e,t,n){return t===0?0:e/(1-x(n)**t)}const w={fastHalfLife:2,slowHalfLife:5,minTotalBytes:128e3,minBytes:16e3,minDuration:5};function ce(e,t,n,r=w){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:S(e.fastEstimate,a,o,r.fastHalfLife),fastTotalWeight:e.fastTotalWeight+o,slowEstimate:S(e.slowEstimate,a,o,r.slowHalfLife),slowTotalWeight:e.slowTotalWeight+o,bytesSampled:i}}function le(e,t,n=w){if(e.bytesSampled<n.minTotalBytes)return t;let r=C(e.fastEstimate,e.fastTotalWeight,n.fastHalfLife),i=C(e.slowEstimate,e.slowTotalWeight,n.slowHalfLife);return Math.min(r,i)}const ue={safetyMargin:.85};function de(e,t,n=ue){if(e.length===0)return;let r=e.slice().sort((e,t)=>e.bandwidth-t.bandwidth),i;for(let e of r)t>=e.bandwidth/n.safetyMargin&&(!i||e.bandwidth>i.bandwidth||e.bandwidth===i.bandwidth&&fe(e,i))&&(i=e);return i??r[0]}function fe(e,t){return(e.width??0)*(e.height??0)>(t.width??0)*(t.height??0)}const pe={keepSegments:2};function me(e,t,n=pe){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}const T={bufferDuration:30};function he(e,t,n=T){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 E(e,t,n,r=T){if(e.length===0)return[];let i=n+r.bufferDuration,a=new Set(t.map(e=>e.startTime));return e.filter(e=>{let t=e.startTime+e.duration,r=e.startTime<i&&t>n,o=!a.has(e.startTime);return r&&o})}function D(e){return`segments`in e}function ge(e){return e.duration!==void 0}function O(){return typeof MediaSource<`u`}function k(){return typeof ManagedMediaSource<`u`}function _e(e={}){let{preferManaged:t=!1}=e;if(t&&k())return new ManagedMediaSource;if(O())return new MediaSource;throw Error(`MediaSource API is not supported`)}function ve(e,t){if(k()&&e instanceof ManagedMediaSource)return t.disableRemotePlayback=!0,t.srcObject=e,{url:``,detach:()=>{t.srcObject=null,t.load()}};let n=URL.createObjectURL(e);return t.src=n,{url:n,detach:()=>{t.removeAttribute(`src`),t.load(),URL.revokeObjectURL(n)}}}function ye(e,t){return new Promise((n,r)=>{if(e.readyState===`open`){n();return}if(t?.aborted){r(new DOMException(`Aborted`,`AbortError`));return}let i=new AbortController,a={signal:i.signal};e.addEventListener(`sourceopen`,()=>{i.abort(),n()},a),t?.addEventListener(`abort`,()=>{i.abort(),r(new DOMException(`Aborted`,`AbortError`))},a)})}function be(e,t){if(e.readyState!==`open`)throw Error(`MediaSource is not open`);if(!xe(t))throw Error(`Codec not supported: ${t}`);return e.addSourceBuffer(t)}function xe(e){return O()?MediaSource.isTypeSupported(e):!1}async function A(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)}async function j(e,t){return(await A(e,t)).arrayBuffer()}function M(e){return e.text()}const Se=Symbol(`@videojs/event-stream`);function Ce(){let e=new Set;return{[Se]:!0,dispatch(t){let n=Array.from(e);for(let e of n)e(t)},subscribe(t){return e.add(t),()=>e.delete(t)}}}function N(e){let t=t=>{let n=Array(e.length),r=Array(e.length).fill(!1),i=[];for(let a=0;a<e.length;a++){let o=e[a].subscribe(e=>{n[a]=e,r[a]=!0,r.every(e=>e)&&t([...n])});i.push(o)}return()=>{for(let e of i)e()}};return{subscribe(e,n,r){if(n===void 0)return t(e);let i=e,a=n,o=r?.equalityFn??Object.is,s,c=!1;return t(e=>{let t=i(e);(!c||!o(s,t))&&(s=t,c=!0,a(t))})}}}function we(e){return e!==void 0&&`url`in e&&!(`id`in e)}function Te(e){return we(e.presentation)}function Ee(e,t){let{preload:n}=e;return[`auto`,`metadata`].includes(n)||t.type===`play`}function De(e,t){return t.subscribe(t=>{let n=t.mediaElement?.preload||void 0;e.patch({preload:n})})}function Oe({state:e,events:t}){let n=!1,r=null,i=N([e,t]).subscribe(async([t,i])=>{if(!(!Te(t)||!Ee(t,i)||n))try{n=!0,r=new AbortController;let{presentation:i}=t,a=se(await M(await A(i,{signal:r.signal})),i);e.patch({presentation:a})}catch(e){if(e instanceof Error&&e.name===`AbortError`)return;throw e}finally{n=!1,r=null}});return()=>{r?.abort(),i()}}const P={safetyMargin:.85,minUpgradeInterval:8e3,defaultBandwidth:5e6};function ke(e){return(e.selectionSets?.find(e=>e.type===`video`))?.switchingSets[0]?.tracks??[]}function Ae({state:e},t={}){let n=t.safetyMargin??P.safetyMargin,r=t.minUpgradeInterval??P.minUpgradeInterval,i=t.defaultBandwidth??P.defaultBandwidth,a=Date.now(),o=!0;return e.subscribe(t=>{let{presentation:s,bandwidthState:c,selectedVideoTrackId:l,abrDisabled:u}=t;if(u===!0||!s||!c)return;let d=ke(s);if(d.length===0)return;let f=o;o=!1;let p=de(d,le(c,i),{safetyMargin:n});if(!p||p.id===l)return;let m=d.find(e=>e.id===l);if(!m||p.bandwidth>m.bandwidth){let e=Date.now();if(!f&&e-a<r)return;a=e}e.patch({selectedVideoTrackId:p.id})})}const F={video:`selectedVideoTrackId`,audio:`selectedAudioTrackId`,text:`selectedTextTrackId`},I={video:`videoBuffer`,audio:`audioBuffer`};function L(e,t){let{presentation:n}=e;if(!n||!(`id`in n))return;let r=e[F[t]];return n.selectionSets.find(({type:e})=>e===t)?.switchingSets[0]?.tracks.find(({id:e})=>e===r)}function je(e,t){let n=null,r=null,i=null,a=null,o=!1,s=!1,c=t=>{let n=new Set(e.snapshot.context.segments.map(e=>e.id));return t.filter(e=>n.has(e.id))},l=t=>{let{track:n,range:r}=t,i=e.snapshot.context,a=c(n.segments),o=r?.start??0,s=[];if(r){let e=he(a,o);e<1/0&&s.push({type:`remove`,start:e,end:1/0});let t=me(a,o);t>0&&s.push({type:`remove`,start:0,end:t})}if(i.initTrackId!==n.id&&s.push({type:`append-init`,meta:{trackId:n.id},url:n.initialization.url}),r){let e=E(n.segments,a,o).filter(e=>{let t=i.segments.find(t=>Math.abs(t.startTime-e.startTime)<1e-4);return!t?.trackBandwidth||!n.bandwidth?!0:n.bandwidth>t.trackBandwidth});for(let t of e)s.push({type:`append-segment`,meta:{id:t.id,startTime:t.startTime,duration:t.duration,trackId:n.id,trackBandwidth:n.bandwidth},url:t.url})}return s},u=async o=>{let s=a.signal;try{if(o.type===`remove`){await e.send(o,s);return}if(o.type===`append-init`){if(r=o.meta.trackId,!s.aborted){let r=await t(o,{signal:s}),i=n?.some(e=>e.type===`append-init`&&e.meta.trackId!==o.meta.trackId);if(!s.aborted||!i){let t=s.aborted?new AbortController().signal:s;await e.send({type:`append-init`,data:r,meta:o.meta},t)}}return}if(i=o.meta.id,!s.aborted){let n=await t(o,{signal:s});s.aborted||await e.send({type:`append-segment`,data:n,meta:o.meta},s)}}finally{r=null,i=null}},d=async e=>{o=!0,a=new AbortController;let t=e;for(;t.length>0&&!s;){let e=t[0];t=t.slice(1);try{await u(e)}catch(e){e instanceof Error&&e.name===`AbortError`||(console.error(`Unexpected error in segment loader:`,e),t=[])}if(n!==null)t=n,n=null,a=new AbortController;else if(a.signal.aborted)break}a=null,o=!1};return{send(e){if(s)return;let t=l(e);if(!o){if(t.length===0)return;d(t);return}i!==null&&t.some(e=>e.type===`append-segment`&&e.meta.id===i)||r!==null&&t.some(e=>e.type===`append-init`&&e.meta.trackId===r)?n=t.filter(e=>!(e.type===`append-segment`&&e.meta.id===i)&&!(e.type===`append-init`&&e.meta.trackId===r)):(n=t,a?.abort())},destroy(){s=!0,a?.abort()}}}const Me={video:`videoBufferActor`,audio:`audioBufferActor`};function Ne(e,t){return async(n,r)=>{let i=performance.now(),a=await j(n,r),o=performance.now()-i,s=ce(e.current,o,a.byteLength);return e.patch(s),e.flush(),t?.(s),a}}function Pe([e,t],n){let{playbackInitiated:r,preload:i,currentTime:a}=t;return{playbackInitiated:r,preload:i,currentTime:a,track:L(t,n),segmentsCanLoad:e}}const R=(e,t)=>{if(e!=null)return t?.segments.find(({startTime:t,duration:n},r,i)=>e>=t&&(e<t+n||r===i.length-1))?.startTime};function Fe(e,t){return t.segmentsCanLoad?t.playbackInitiated?!e.playbackInitiated&&t.playbackInitiated&&e.preload!==`auto`?!1:!t.track||!D(t.track)?!0:e.track?.id!==t.track.id&&D(t.track)?!1:R(e.currentTime,t.track)===R(t.currentTime,t.track):t.preload===`none`?!0:t.preload===e.preload:!0}function z({state:e,owners:t},n){let{type:r}=n,i=Me[r],a=e.current.bandwidthState,o=h(a??{fastEstimate:0,fastTotalWeight:0,slowEstimate:0,slowTotalWeight:0,bytesSampled:0}),s=r===`video`?Ne(o,a===void 0?void 0:t=>{e.patch({bandwidthState:t}),e.flush()}):j,c=h(void 0),l=t.subscribe(e=>e[i],e=>(e?c.patch(je(e,s)):!e&&c.current&&(c.current.destroy(),c.patch(void 0)),()=>{c.current?.destroy(),c.patch(void 0)})),u=h(!1),d=N([e,c]).subscribe(([e,t])=>{let n=L(e,r),i=!!n&&D(n),a=!!t;u.patch(i&&a)}),f=N([u,e]).subscribe(([e,t])=>Pe([e,t],r),({preload:e,playbackInitiated:t,currentTime:n,track:r})=>{e===`auto`||t?c.current?.send({type:`load`,track:r,range:{start:n,end:n+T.bufferDuration}}):c.current?.send({type:`load`,track:r})},{equalityFn:Fe});return()=>{d(),f(),l()}}let B=null;function Ie(){return B||(B=document.createElement(`video`),B.muted=!0,B.preload=`none`,B.style.display=`none`,B.crossOrigin=`anonymous`),B}function Le(e){let t=Ie(),n=document.createElement(`track`);return n.kind=`subtitles`,n.default=!0,new Promise((r,i)=>{let a=()=>{let e=[],t=n.track;if(t.cues)for(let n=0;n<t.cues.length;n++){let r=t.cues[n];r&&e.push(r)}s(),r(e)},o=()=>{s(),i(Error(`Failed to load VTT segment: ${e}`))},s=()=>{n.removeEventListener(`load`,a),n.removeEventListener(`error`,o),t.removeChild(n)};n.addEventListener(`load`,a),n.addEventListener(`error`,o),t.appendChild(n),n.src=e})}function Re(){B=null}function ze(e,t){let{cues:n}=t;if(!n)return!1;for(let t=0;t<n.length;t++){let r=n[t];if(r.startTime===e.startTime&&r.endTime===e.endTime&&r.text===e.text)return!0}return!1}const Be=async({segment:e},t)=>{let n=await Le(e.url);for(let e of n)ze(e,t.textTrack)||t.textTrack.addCue(e)},Ve=async({currentState:e},t)=>{let n=V(e);if(!n||!D(n))return;let{segments:r}=n;if(r.length===0)return;let i=n.id,a=new Set((e.textBufferState?.[i]?.segments??[]).map(e=>e.id)),o=E(r,r.filter(e=>a.has(e.id)),e.currentTime??0).filter(e=>!a.has(e.id));if(o.length!==0){for(let e of o){if(t.signal.aborted)break;try{await Be({segment:e},{textTrack:t.textTrack});let n=t.state.current.textBufferState??{},r=n[i]??{segments:[]};t.state.patch({textBufferState:{...n,[i]:{segments:[...r.segments,{id:e.id}]}}})}catch(e){if(e instanceof Error&&e.name===`AbortError`)break;console.error(`Failed to load VTT segment:`,e)}}t.textTrack.mode===`showing`&&t.textTrack.cues&&Array.from(t.textTrack.cues).forEach(e=>{t.textTrack.addCue(e)}),await new Promise(e=>requestAnimationFrame(e))}};function V(e){if(!e.presentation||!e.selectedTextTrackId)return;let t=e.presentation.selectionSets.find(e=>e.type===`text`);if(t?.switchingSets?.[0]?.tracks)return t.switchingSets[0].tracks.find(t=>t.id===e.selectedTextTrackId)}function H(e,t){let n=e.selectedTextTrackId;if(!(!n||!t.textTracks))return t.textTracks.get(n)?.track}function He(e,t){return!!e.selectedTextTrackId&&!!t.textTracks&&t.textTracks.has(e.selectedTextTrackId)}function Ue(e,t){if(!He(e,t))return!1;let n=V(e);return!(!n||!D(n)||n.segments.length===0||!H(e,t))}function We({state:e,owners:t}){let n=null,r=null,i,a=N([e,t]).subscribe(async([t,a])=>{if(t.selectedTextTrackId!==i&&(i=t.selectedTextTrackId,r?.abort(),n=null),n||!Ue(t,a))return;let o=H(t,a);o&&(r=new AbortController,n=Ve({currentState:t},{signal:r.signal,textTrack:o,state:e}).finally(()=>{n=null}))});return()=>{r?.abort(),a()}}function Ge({state:e,owners:t}){let n,r=null,i=t.subscribe(t=>{let{mediaElement:i}=t;if(i===n||(r?.(),r=null,n=i,!i))return;e.patch({currentTime:i.currentTime});let a=()=>e.patch({currentTime:i.currentTime}),o=u(i,`timeupdate`,a),s=u(i,`seeking`,a);r=()=>{o(),s()}});return()=>{r?.(),i()}}function Ke({state:e,owners:t,events:n}){let r,i=null,a,o=e.subscribe(t=>{let n=t.presentation?.url;n!==a&&(a!==void 0&&e.patch({playbackInitiated:!1}),a=n)}),s=t.subscribe(t=>{let{mediaElement:a}=t;a!==r&&(i?.(),i=null,r=a,a&&(i=u(a,`play`,()=>{e.patch({playbackInitiated:!0}),n.dispatch({type:`play`})})))});return()=>{i?.(),o(),s()}}async function U(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 qe(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 Je(e){return e.presentation?!!(e.selectedVideoTrackId||e.selectedAudioTrackId):!1}function Ye(e){if(!Je(e))return!1;let{presentation:t}=e;if(t.duration!==void 0)return!1;let n=e.selectedVideoTrackId?L(e,`video`):void 0,r=e.selectedAudioTrackId?L(e,`audio`):void 0;return!!(n&&D(n)||r&&D(r))}function Xe(e){let t=e.selectedVideoTrackId?L(e,`video`):void 0;if(t&&D(t))return t.duration;let n=e.selectedAudioTrackId?L(e,`audio`):void 0;if(n&&D(n))return n.duration}function Ze({state:e}){return N([e]).subscribe(([t])=>{if(!Ye(t))return;let n=Xe(t);if(n===void 0||!Number.isFinite(n))return;let{presentation:r}=t;e.patch({presentation:{...r,duration:n}})})}var W=class{id;#e;#t=new AbortController;#n;#r=`pending`;#i=void 0;#a=void 0;constructor(e,t){this.#e=e;let n=t?.id;this.id=typeof n==`function`?n():n??b(),this.#n=t?.signal?AbortSignal.any([this.#t.signal,t.signal]):this.#t.signal}get status(){return this.#r}get value(){return this.#i}get error(){return this.#a}async run(){this.#r=`running`;try{let e=await this.#e(this.#n);return this.#i=e,this.#r=`done`,e}catch(e){throw this.#a=e,this.#r=`error`,e}}abort(){this.#t.abort()}},Qe=class{#e=new Map;schedule(e){this.#e.has(e.id)||(this.#e.set(e.id,e),e.run().catch(e=>{if(!(e instanceof Error&&e.name===`AbortError`))throw e}).finally(()=>{this.#e.delete(e.id)}))}abortAll(){for(let e of this.#e.values())e.abort();this.#e.clear()}},$e=class{#e=Promise.resolve();#t=new Set;#n=null;schedule(e){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}abortAll(){for(let e of this.#t)e.abort();this.#t.clear(),this.#n?.abort()}destroy(){this.abortAll()}};function et(e,t){let n=L(e,t.type);return n?!D(n):!1}function tt(e,t){return!0}function nt(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)}))}))}}function G({state:e,events:t},n){let r=new Qe,i=N([e,t]).subscribe(([t,i])=>{if(!et(t,n)||!tt(t,i))return;let a=L(t,n.type);if(!a)return;let o=a;r.schedule(new W(async t=>{let n=oe(await M(await A(o,{signal:t})),o),r=e.current.presentation,i=nt(r,n);e.patch({presentation:i})},{id:a.id}))});return()=>{r.abortAll(),i()}}function rt(e,t){let n=e.selectionSets.find(e=>e.type===`text`);if(!n?.switchingSets?.[0]?.tracks.length)return;let r=n.switchingSets[0].tracks,i=t.includeForcedTracks?r:r.filter(e=>!e.forced);if(i.length===0)return;let{preferredSubtitleLanguage:a,enableDefaultTrack:o=!1}=t;if(a){let e=i.find(e=>e.language===a);if(e)return e.id}if(o){let e=i.find(e=>e.default===!0);if(e)return e.id}}function K(e,t){return!!e?.presentation?.selectionSets?.find(({type:e})=>e===t.type)?.switchingSets?.[0]?.tracks.length}function q(e,t){return!e[F[t.type]]}function it({state:e},t={type:`video`}){let n=!1;return e.subscribe(async r=>{if(!(!K(r,t)||!q(r,t)||n))try{n=!0;let i=r.presentation?.selectionSets.find(({type:e})=>e===t.type)?.switchingSets[0]?.tracks[0]?.id;if(i){let n=F[t.type];e.patch({[n]:i})}}finally{n=!1}})}function at({state:e},t={type:`audio`}){let n=!1;return e.subscribe(async r=>{if(!(!K(r,t)||!q(r,t)||n))try{n=!0;let t=r.presentation?.selectionSets.find(({type:e})=>e===`audio`)?.switchingSets[0]?.tracks[0]?.id;t&&e.patch({selectedAudioTrackId:t})}finally{n=!1}})}function ot({state:e},t={type:`text`}){let n=!1;return e.subscribe(async r=>{if(!(!K(r,t)||!q(r,t)||n))try{n=!0;let i=rt(r.presentation,t);i&&e.patch({selectedTextTrackId:i})}finally{n=!1}})}function J(e,t){if(e.length===0)return!0;let n=e[e.length-1];return n?t?.snapshot.context.segments.some(e=>e.id===n.id)??!1:!1}function st(e,t){let n=e.selectedVideoTrackId?L(e,`video`):void 0,r=e.selectedAudioTrackId?L(e,`audio`):void 0;return!(n&&!D(n)||r&&!D(r)||n&&D(n)&&!J(n.segments,t.videoBufferActor)||r&&D(r)&&!J(r.segments,t.audioBufferActor))}function ct(e,t){return!!(t.mediaSource&&e.presentation)}function lt(e,t){if(!ct(e,t))return!1;let{mediaSource:n,mediaElement:r}=t;if(n.readyState!==`open`||r&&r.readyState<HTMLMediaElement.HAVE_METADATA)return!1;let i=!!e.selectedVideoTrackId,a=!!e.selectedAudioTrackId;if(i&&!t.videoBuffer||a&&!t.audioBuffer||t.videoBufferActor?.snapshot.status===`updating`||t.audioBufferActor?.snapshot.status===`updating`||!st(e,t))return!1;if(r){let t=i?L(e,`video`):void 0,n=a?L(e,`audio`):void 0,o=t&&D(t)?t:n&&D(n)?n:void 0;if(o&&o.segments.length>0){let e=o.segments[o.segments.length-1];if(r.currentTime<e.startTime)return!1}}return!0}function ut(e){let t=[e.videoBufferActor,e.audioBufferActor].filter(e=>e!==void 0&&e.snapshot.status===`updating`);return t.length===0?Promise.resolve():Promise.all(t.map(e=>new Promise(t=>{let n=e.subscribe(e=>{e.status!==`updating`&&(n(),t())})}))).then(()=>void 0)}function dt(e){let t=0;for(let n of[e.videoBuffer,e.audioBuffer])if(n&&n.buffered.length>0){let e=n.buffered.end(n.buffered.length-1);e>t&&(t=e)}return t}const ft=async({currentOwners:e},t)=>{let{mediaSource:n}=e;if(n.readyState===`ended`||(await ut(e),n.readyState!==`open`))return;let r=dt(e);r>0&&(n.duration=r),n.endOfStream(),await new Promise(e=>requestAnimationFrame(e))};function pt({state:e,owners:t}){let n=!1,r=!1,i=[],a=async()=>{if(r)return;let i=e.current,a=t.current;if(n){if(a.mediaSource?.readyState!==`open`)return;n=!1}if(lt(i,a)){n=!0;try{await ft({currentOwners:a},{})}catch(e){console.error(`Failed to call endOfStream:`,e)}}},o=t.subscribe(e=>{i.forEach(e=>e()),i.length=0;for(let t of[e.videoBufferActor,e.audioBufferActor]){if(!t)continue;let e=!0;i.push(t.subscribe(()=>{if(e){e=!1;return}a()}))}}),s=N([e,t]).subscribe(async()=>a());return()=>{r=!0,i.forEach(e=>e()),o(),s()}}function mt(e,t){return!f(t.mediaElement)&&!f(e.presentation?.url)}function ht(e,t){return f(t.mediaSource)}function gt({state:e,owners:t}){let n=!1,r=null,i=N([e,t]).subscribe(async([e,i])=>{if(!(!mt(e,i)||!ht(e,i)||n))try{n=!0,r=new AbortController;let e=_e({preferManaged:!0});ve(e,i.mediaElement),await ye(e,r.signal),t.patch({mediaSource:e})}catch(e){if(e instanceof DOMException&&e.name===`AbortError`)return;throw e}finally{n=!1}});return()=>{r?.abort(),i()}}var Y=class extends Error{constructor(e){super(e),this.name=`SourceBufferActorError`}};function X(e){let t=[];for(let n=0;n<e.length;n++)t.push({start:e.start(n),end:e.end(n)});return t}function _t(e,{signal:t,getCtx:n,sourceBuffer:r}){return new W(async t=>{let i=n();return t.aborted?i:(await U(r,e.data),{...i,initTrackId:e.meta.trackId})},{signal:t})}function vt(e,{signal:t,getCtx:n,sourceBuffer:r}){return new W(async t=>{let i=n();if(t.aborted)return i;await U(r,e.data);let{meta:a}=e,o=i.segments.filter(e=>Math.abs(e.startTime-a.startTime)>=1e-4);return{...i,segments:[...o,{id:a.id,startTime:a.startTime,duration:a.duration,trackId:a.trackId,...a.trackBandwidth!==void 0&&{trackBandwidth:a.trackBandwidth}}],bufferedRanges:X(r.buffered)}},{signal:t})}function yt(e,{signal:t,getCtx:n,sourceBuffer:r}){return new W(async t=>{let i=n();if(t.aborted)return i;await qe(r,e.start,e.end);let a=X(r.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}},{signal:t})}const bt={"append-init":_t,"append-segment":vt,remove:yt};function Z(e,t){let n=bt[e.type];return n(e,t)}function xt(e,t){let n=h({status:`idle`,context:{segments:[],bufferedRanges:[],initTrackId:void 0,...t}}),r=new $e;function i(e){let t=n.current.status===`destroyed`?`destroyed`:`idle`;n.patch({status:t,context:e}),n.flush()}function a(e){let t=n.current.status===`destroyed`?`destroyed`:`idle`;throw n.patch({status:t}),n.flush(),e}return{get snapshot(){return n.current},subscribe(e){return n.subscribe(e)},send(t,o){if(n.current.status!==`idle`)return Promise.reject(new Y(`send() called while actor is ${n.current.status}`));n.patch({status:`updating`});let s=Z(t,{signal:o,getCtx:()=>n.current.context,sourceBuffer:e});return r.schedule(s).then(i).catch(a)},batch(t,o){if(n.current.status!==`idle`)return Promise.reject(new Y(`batch() called while actor is ${n.current.status}`));if(t.length===0)return Promise.resolve();n.patch({status:`updating`});let s=n.current.context;for(let n of t.slice(0,-1)){let t=Z(n,{signal:o,getCtx:()=>s,sourceBuffer:e});r.schedule(t).then(e=>{s=e})}let c=Z(t[t.length-1],{signal:o,getCtx:()=>s,sourceBuffer:e});return r.schedule(c).then(i).catch(a)},destroy(){n.patch({status:`destroyed`}),n.flush(),r.destroy()}}}const St={video:`videoBufferActor`,audio:`audioBufferActor`},Ct=async({currentState:e,currentOwners:t},n)=>{let r=L(e,n.config.type);if(!r||!D(r)||!r.codecs||r.codecs.length===0)return;let i=wt(r),a=be(t.mediaSource,i),o=xt(a),s=I[n.config.type],c=St[n.config.type];n.owners.patch({[s]:a,[c]:o}),await new Promise(e=>requestAnimationFrame(e))};function wt(e){let t=e.codecs?.join(`,`)??``;return`${e.mimeType}; codecs="${t}"`}function Tt(e,t,n){return!(!t.mediaSource||!L(e,n))}function Et(e,t){let n=I[t];return d(e[n])}function Q({state:e,owners:t},n){let r=null;return N([e,t]).subscribe(async([e,i])=>{if(!r&&!(!Tt(e,i,n.type)||!Et(i,n.type))){r=Ct({currentState:e,currentOwners:i},{owners:t,config:n});try{await r}finally{r=null}}})}function Dt(e){if(!e?.selectionSets)return[];let t=e.selectionSets.find(e=>e.type===`text`);return t?.switchingSets?.[0]?.tracks?t.switchingSets[0].tracks:[]}function Ot(e,t){return!!t.mediaElement&&!!Dt(e.presentation).length}function kt(e){return!e.textTracks}function At(e){let t=document.createElement(`track`);return t.id=e.id,t.kind=e.kind,t.label=e.label,e.language&&(t.srclang=e.language),e.default&&(t.default=!0),t.src=e.url,t}function jt({state:e,owners:t}){let n=!1,r=[],i=N([e,t]).subscribe(([e,i])=>{if(n||!Ot(e,i)||!kt(i))return;n=!0;let a=Dt(e.presentation);if(a.length===0)return;let o=new Map;for(let e of a){let t=At(e);i.mediaElement.appendChild(t),o.set(e.id,t),r.push(t)}t.patch({textTracks:o})});return()=>{for(let e of r)e.remove();r=[],i()}}function Mt({state:e,owners:t}){let n,r=null,i=t.subscribe(t=>{let{mediaElement:i}=t;i===n||(r?.(),r=null,n=i,!i)||(r=u(i.textTracks,`change`,()=>{let t=Array.from(i.textTracks).find(e=>e.mode===`showing`&&(e.kind===`subtitles`||e.kind===`captions`))?.id||void 0,n=e.current;if(n.selectedTextTrackId!==t)if(t)e.patch({selectedTextTrackId:t});else{let t=n.selectedTextTrackId;if(t&&n.textBufferState?.[t]){let r={...n.textBufferState};delete r[t],e.patch({selectedTextTrackId:void 0,textBufferState:r})}else e.patch({selectedTextTrackId:void 0})}}))});return()=>{r?.(),i()}}function Nt(e){return!!e.textTracks&&e.textTracks.size>0}function Pt({state:e,owners:t}){return N([e,t]).subscribe(([e,t])=>{if(!Nt(t))return;let n=e.selectedTextTrackId;for(let[e,r]of t.textTracks)e===n?r.track.mode=`showing`:r.track.mode=`hidden`})}function Ft(e,t){return!!(t.mediaSource&&e.presentation&&ge(e.presentation))}function It(e){let t=0,n=[e.videoSourceBuffer,e.audioSourceBuffer].filter(e=>e!==void 0);for(let e of n){let{buffered:n}=e;if(n.length>0){let e=n.end(n.length-1);e>t&&(t=e)}}return t}function Lt(e,t){if(!Ft(e,t))return!1;let{mediaSource:n}=t,{presentation:r}=e;if(n.readyState!==`open`)return!1;let i=r.duration;return!Number.isFinite(i)||Number.isNaN(i)||i<=0?!1:Number.isNaN(n.duration)}function Rt(e){let t=[e.videoSourceBuffer,e.audioSourceBuffer].filter(e=>e?.updating===!0);return t.length===0?Promise.resolve():Promise.all(t.map(e=>new Promise(t=>e.addEventListener(`updateend`,()=>t(),{once:!0})))).then(()=>void 0)}function zt({state:e,owners:t}){let n=!1,r=N([e,t]).subscribe(async([e,t])=>{if(!Lt(e,t))return;let{mediaSource:r}=t;if(await Rt(t),n||r.readyState!==`open`)return;let i=e.presentation.duration,a=It(t);a>i&&(i=a),r.duration=i});return()=>{n=!0,r()}}function Bt(e={}){let t=h({bandwidthState:{fastEstimate:0,fastTotalWeight:0,slowEstimate:0,slowTotalWeight:0,bytesSampled:0}}),n=h({}),r=Ce(),i=[De(t,n),Ke({state:t,owners:n,events:r}),Oe({state:t,events:r}),it({state:t,owners:n,events:r},{type:`video`,...e.initialBandwidth!==void 0&&{initialBandwidth:e.initialBandwidth}}),at({state:t,owners:n,events:r},{type:`audio`,...e.preferredAudioLanguage!==void 0&&{preferredAudioLanguage:e.preferredAudioLanguage}}),ot({state:t,owners:n,events:r},{type:`text`,...e.preferredSubtitleLanguage!==void 0&&{preferredSubtitleLanguage:e.preferredSubtitleLanguage},...e.includeForcedTracks!==void 0&&{includeForcedTracks:e.includeForcedTracks},...e.enableDefaultTrack!==void 0&&{enableDefaultTrack:e.enableDefaultTrack}}),G({state:t,events:r},{type:`video`}),G({state:t,events:r},{type:`audio`}),G({state:t,events:r},{type:`text`}),Ze({state:t}),gt({state:t,owners:n}),zt({state:t,owners:n}),Q({state:t,owners:n},{type:`video`}),Q({state:t,owners:n},{type:`audio`}),Ge({state:t,owners:n}),Ae({state:t}),z({state:t,owners:n},{type:`video`}),z({state:t,owners:n},{type:`audio`}),pt({state:t,owners:n}),jt({state:t,owners:n}),Pt({state:t,owners:n}),Mt({state:t,owners:n}),We({state:t,owners:n})];return r.dispatch({type:`@@INITIALIZE@@`}),{state:t,owners:n,events:r,destroy:()=>{i.forEach(e=>e()),Re()}}}var Vt=class{#e;#t;#n=null;constructor(e={}){this.#t=e,this.#e=Bt(e)}get engine(){return this.#e}attach(e){this.#e.owners.patch({mediaElement:e})}detach(){this.#r(),this.#e.owners.patch({mediaElement:void 0})}destroy(){this.#r(),this.#e.destroy()}get src(){return this.#e.state.current.presentation?.url??``}set src(e){let t=this.#e.owners.current.mediaElement;this.#r(),this.#e.destroy(),this.#e=Bt(this.#t),t&&this.#e.owners.patch({mediaElement:t}),e&&this.#e.state.patch({presentation:{url:e}})}play(){let{mediaElement:e}=this.#e.owners.current;return e?(this.#e.state.patch({playbackInitiated:!0}),e.play().catch(t=>{if(this.src)return new Promise((t,n)=>{let r=()=>{this.#n=null,e.play().then(t,n)};this.#n=r,e.addEventListener(`loadstart`,r,{once:!0})});throw t})):Promise.reject(Error(`SpfMedia: no media element attached`))}#r(){if(!this.#n)return;let{mediaElement:e}=this.#e.owners.current;e?.removeEventListener(`loadstart`,this.#n),this.#n=null}},Ht=class extends t(o(globalThis.HTMLElement??class{},{tag:`video`}),Vt){},Ut=class extends Ht{static getTemplateHTML(e){let{src:t,...n}=e;return super.getTemplateHTML(n)}constructor(){super(),this.attach(this.target)}attributeChangedCallback(e,t,n){e!==`src`&&super.attributeChangedCallback(e,t,n),e===`src`&&t!==n&&(this.src=n??``)}},$=class extends Ut{static{this.tagName=`simple-hls-video`}};customElements.define($.tagName,$);
|
|
1
|
+
import{t as e}from"../media-attach-mixin-C2wz0Qbd.js";import{t}from"../listen-DFX-0NbX.js";import{o as n}from"../context-CEFisYD0.js";import{t as r}from"../abort-C9UiBdVU.js";import{n as i,t as a}from"../video-host-CPRJVRi3.js";function o(e){return Math.exp(Math.log(.5)/e)}function s(e,t,n,r){let i=o(r)**n;return t*(1-i)+i*e}function c(e,t,n){return t===0?0:e/(1-o(n)**t)}const l={fastHalfLife:2,slowHalfLife:5,minTotalBytes:128e3,minBytes:16e3,minDuration:5};function u(e,t,n,r=l){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:s(e.fastEstimate,a,o,r.fastHalfLife),fastTotalWeight:e.fastTotalWeight+o,slowEstimate:s(e.slowEstimate,a,o,r.slowHalfLife),slowTotalWeight:e.slowTotalWeight+o,bytesSampled:i}}function d(e,t,n=l){if(e.bytesSampled<n.minTotalBytes)return t;let r=c(e.fastEstimate,e.fastTotalWeight,n.fastHalfLife),i=c(e.slowEstimate,e.slowTotalWeight,n.slowHalfLife);return Math.min(r,i)}const f={bufferDuration:30};function p(e,t,n=f){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 m(e,t,n,r=f){if(e.length===0)return[];let i=n+r.bufferDuration,a=new Set(t.map(e=>e.startTime));return e.filter(e=>{let t=e.startTime+e.duration,r=e.startTime<i&&t>n,o=!a.has(e.startTime);return r&&o})}var h=Object.defineProperty,ee=(e,t,n)=>t in e?h(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,te=(e,t,n)=>(ee(e,typeof t==`symbol`?t:t+``,n),n),ne=(e,t,n)=>{if(!t.has(e))throw TypeError(`Cannot `+n)},g=(e,t)=>{if(Object(t)!==t)throw TypeError(`Cannot use the "in" operator on this value`);return e.has(t)},_=(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)},re=(e,t,n)=>(ne(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 ie(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 v=null,y=!1,b=1;const x=Symbol(`SIGNAL`);function S(e){let t=v;return v=e,t}function ae(){return v}function oe(){return y}const se={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 C(e){if(y)throw Error(typeof ngDevMode<`u`&&ngDevMode?`Assertion error: signal read during notification phase`:``);if(v===null)return;v.consumerOnSignalRead(e);let t=v.nextProducerIndex++;if(T(v),t<v.producerNode.length&&v.producerNode[t]!==e&&_e(v)){let e=v.producerNode[t];w(e,v.producerIndexOfThis[t])}v.producerNode[t]!==e&&(v.producerNode[t]=e,v.producerIndexOfThis[t]=_e(v)?ge(e,v,t):0),v.producerLastReadVersion[t]=e.version}function ce(){b++}function le(e){if(!(!e.dirty&&e.lastCleanEpoch===b)){if(!e.producerMustRecompute(e)&&!he(e)){e.dirty=!1,e.lastCleanEpoch=b;return}e.producerRecomputeValue(e),e.dirty=!1,e.lastCleanEpoch=b}}function ue(e){if(e.liveConsumerNode===void 0)return;let t=y;y=!0;try{for(let t of e.liveConsumerNode)t.dirty||fe(t)}finally{y=t}}function de(){return v?.consumerAllowSignalWrites!==!1}function fe(e){var t;e.dirty=!0,ue(e),(t=e.consumerMarkedDirty)==null||t.call(e.wrapper??e)}function pe(e){return e&&(e.nextProducerIndex=0),S(e)}function me(e,t){if(S(t),!(!e||e.producerNode===void 0||e.producerIndexOfThis===void 0||e.producerLastReadVersion===void 0)){if(_e(e))for(let t=e.nextProducerIndex;t<e.producerNode.length;t++)w(e.producerNode[t],e.producerIndexOfThis[t]);for(;e.producerNode.length>e.nextProducerIndex;)e.producerNode.pop(),e.producerLastReadVersion.pop(),e.producerIndexOfThis.pop()}}function he(e){T(e);for(let t=0;t<e.producerNode.length;t++){let n=e.producerNode[t],r=e.producerLastReadVersion[t];if(r!==n.version||(le(n),r!==n.version))return!0}return!1}function ge(e,t,n){var r;if(E(e),T(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]=ge(e.producerNode[t],e,t)}return e.liveConsumerIndexOfThis.push(n),e.liveConsumerNode.push(t)-1}function w(e,t){var n;if(E(e),T(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++)w(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];T(r),r.producerIndexOfThis[n]=t}}function _e(e){return e.consumerIsAlwaysLive||(e?.liveConsumerNode?.length??0)>0}function T(e){e.producerNode??=[],e.producerIndexOfThis??=[],e.producerLastReadVersion??=[]}function E(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 ve(e){if(le(e),C(e),e.value===k)throw e.error;return e.value}function ye(e){let t=Object.create(be);t.computation=e;let n=()=>ve(t);return n[x]=t,n}const D=Symbol(`UNSET`),O=Symbol(`COMPUTING`),k=Symbol(`ERRORED`),be={...se,value:D,dirty:!0,error:null,equal:ie,producerMustRecompute(e){return e.value===D||e.value===O},producerRecomputeValue(e){if(e.value===O)throw Error(`Detected cycle in computations.`);let t=e.value;e.value=O;let n=pe(e),r,i=!1;try{r=e.computation.call(e.wrapper),i=t!==D&&t!==k&&e.equal.call(e.wrapper,t,r)}catch(t){r=k,e.error=t}finally{me(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 xe(){throw Error()}let Se=xe;function Ce(){Se()}
|
|
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 we(e){let t=Object.create(De);t.value=e;let n=()=>(C(t),t.value);return n[x]=t,n}function Te(){return C(this),this.value}function Ee(e,t){de()||Ce(),e.equal.call(e.wrapper,e.value,t)||(e.value=t,Oe(e))}const De={...se,equal:ie,value:void 0};function Oe(e){e.version++,ce(),ue(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 A=Symbol(`node`);var j;(e=>{var t,n,r,i;class a{constructor(r,i={}){_(this,n),te(this,t);let a=we(r)[x];if(this[A]=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 Te.call(this[A])}set(t){if(!(0,e.isState)(this))throw TypeError(`Wrong receiver type for Signal.State.prototype.set`);if(oe())throw Error(`Writes to signals not permitted during Watcher callback`);let n=this[A];Ee(n,t)}}t=A,n=new WeakSet,e.isState=e=>typeof e==`object`&&g(n,e),e.State=a;class o{constructor(t,n){_(this,i),te(this,r);let a=ye(t)[x];if(a.consumerAllowSignalWrites=!0,this[A]=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 ve(this[A])}}r=A,i=new WeakSet,e.isComputed=e=>typeof e==`object`&&g(i,e),e.Computed=o,(t=>{var n,r,i,a;function o(e){let t,n=null;try{n=S(null),t=e()}finally{S(n)}return t}t.untrack=o;function s(t){if(!(0,e.isComputed)(t)&&!(0,e.isWatcher)(t))throw TypeError(`Called introspectSources without a Computed or Watcher argument`);return t[A].producerNode?.map(e=>e.wrapper)??[]}t.introspectSources=s;function c(t){if(!(0,e.isComputed)(t)&&!(0,e.isState)(t))throw TypeError(`Called introspectSinks without a Signal argument`);return t[A].liveConsumerNode?.map(e=>e.wrapper)??[]}t.introspectSinks=c;function l(t){if(!(0,e.isComputed)(t)&&!(0,e.isState)(t))throw TypeError(`Called hasSinks without a Signal argument`);let n=t[A].liveConsumerNode;return n?n.length>0:!1}t.hasSinks=l;function u(t){if(!(0,e.isComputed)(t)&&!(0,e.isWatcher)(t))throw TypeError(`Called hasSources without a Computed or Watcher argument`);let n=t[A].producerNode;return n?n.length>0:!1}t.hasSources=u;class d{constructor(e){_(this,r),_(this,i),te(this,n);let t=Object.create(se);t.wrapper=this,t.consumerMarkedDirty=e,t.consumerIsAlwaysLive=!0,t.consumerAllowSignalWrites=!1,t.producerNode=[],this[A]=t}watch(...t){if(!(0,e.isWatcher)(this))throw TypeError(`Called unwatch without Watcher receiver`);re(this,i,a).call(this,t);let n=this[A];n.dirty=!1;let r=S(n);for(let e of t)C(e[A]);S(r)}unwatch(...t){if(!(0,e.isWatcher)(this))throw TypeError(`Called unwatch without Watcher receiver`);re(this,i,a).call(this,t);let n=this[A];T(n);for(let e=n.producerNode.length-1;e>=0;e--)if(t.includes(n.producerNode[e].wrapper)){w(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];E(r),r.liveConsumerIndexOfThis[t]=e}}}getPending(){if(!(0,e.isWatcher)(this))throw TypeError(`Called getPending without Watcher receiver`);return this[A].producerNode.filter(e=>e.dirty).map(e=>e.wrapper)}}n=A,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=>g(r,e),t.Watcher=d;function f(){return ae()?.wrapper}t.currentComputed=f,t.watched=Symbol(`watched`),t.unwatched=Symbol(`unwatched`)})(e.subtle||={})})(j||={});const M=new Set,N=new j.subtle.Watcher(()=>{queueMicrotask(ke)});function ke(){for(let e of N.getPending())M.add(e);N.watch();for(let e of M)M.delete(e),e.get()}function P(e){let t,n=new j.Computed(()=>{typeof t==`function`&&t(),t=e()});return N.watch(n),n.get(),()=>{N.unwatch(n),typeof t==`function`&&t()}}const F=j.subtle.untrack;function I(e,t){return new j.State(e,t)}function L(e,t){return new j.Computed(e,t)}function R(e,t){let n=F(()=>e.get());e.set(typeof t==`function`?t(n):{...n,...t})}function z(e){return`segments`in e}function Ae(e){return e.duration!==void 0}const B={video:`selectedVideoTrackId`,audio:`selectedAudioTrackId`,text:`selectedTextTrackId`},je={video:`videoBuffer`,audio:`audioBuffer`};function V(e,t){let{presentation:n}=e;if(!n||!(`id`in n))return;let r=e[B[t]];return n.selectionSets.find(({type:e})=>e===t)?.switchingSets[0]?.tracks.find(({id:e})=>e===r)}const Me=2**17;var Ne=class{minChunkSize;#e;constructor(e,{minChunkSize:t=Me}={}){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?Pe(e,r):r,e.length>=this.minChunkSize&&(yield e,e=void 0)}}finally{t.releaseLock()}}};function Pe(e,t){let n=new Uint8Array(e.length+t.length);return n.set(e),n.set(t,e.length),n}async function H(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 Fe(e){return e.text()}const Ie={keepSegments:2};function Le(e,t,n=Ie){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 U(e){let t=I(e);return{snapshotSignal:t,getState:()=>F(()=>t.get().value),transition:e=>R(t,t=>({...t,value:e}))}}function Re(e){let t=e.runner?.(),{snapshotSignal:n,getState:r,transition:i}=U({value:e.initial,context:e.context}),a=()=>F(()=>n.get().context),o=e=>{R(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`))}}}function W(){return`${Date.now()}-${Math.floor(Math.random()*1e6)}`}var G=class{id;#e;#t=new AbortController;#n;#r=`pending`;#i=void 0;#a=void 0;constructor(e,t){this.#e=e;let n=t?.id;this.id=typeof n==`function`?n():n??W(),this.#n=t?.signal?r([this.#t.signal,t.signal]):this.#t.signal}get status(){return this.#r}get value(){return this.#i}get error(){return this.#a}async run(){this.#r=`running`;try{let e=await this.#e(this.#n);return this.#i=e,this.#r=`done`,e}catch(e){throw this.#a=e,this.#r=`error`,e}}abort(){this.#t.abort()}},ze=class{#e=new Map;#t=Promise.resolve();#n=null;#r=!1;schedule(e){if(this.#r)return Promise.resolve();let t=this.#e.get(e.id);if(t)return t.promise;this.#e.size===0&&(this.#t=new Promise(e=>{this.#n=e}));let n=e.run();n.catch(()=>{});let r=()=>{this.#e.delete(e.id),this.#e.size===0&&(this.#n?.(),this.#n=null)};return n.then(r,r),this.#e.set(e.id,{task:e,promise:n}),n}whenSettled(e){if(this.#e.size===0)return;let t=this.#t;t.then(()=>{this.#t===t&&e()},()=>{})}abortAll(){for(let{task:e}of this.#e.values())e.abort();this.#e.clear(),this.#n?.(),this.#n=null,this.#t=Promise.resolve()}destroy(){this.#r=!0,this.abortAll()}},K=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()}};function q(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=P(()=>{let t=e.get().value;t===`idle`?a(n):t===`destroyed`&&a(()=>r(new DOMException(`Aborted`,`AbortError`)))}),t.addEventListener(`abort`,o,{once:!0})})}function Be(e,{getContext:t,setContext:n,fetchBytes:r,sourceBufferActor:i}){return new G(async a=>{if(!a.aborted){if(e.type===`remove`){i.send(e),await q(i.snapshot,a);return}if(e.type===`append-init`){n({...t(),inFlightInitTrackId:e.meta.trackId});try{let t=await r(e,{signal:a,minChunkSize:1/0});a.aborted||(i.send({type:`append-init`,data:t,meta:e.meta}),await q(i.snapshot,a))}finally{n({...t(),inFlightInitTrackId:null})}return}n({...t(),inFlightSegmentId:e.meta.id});try{let t=await r(e,{signal:a});a.aborted||(i.send({type:`append-segment`,data:t,meta:e.meta}),await q(i.snapshot,a))}finally{n({...t(),inFlightSegmentId:null})}}})}function Ve(e,t){let n=t=>{let n=new Set(e.snapshot.get().context.segments.filter(e=>!e.partial).map(e=>e.id));return t.filter(e=>n.has(e.id))},r=t=>{let{track:r,range:i}=t,a=e.snapshot.get().context,o=n(r.segments),s=i?.start??0,c=[];if(i){let e=p(o,s);e<1/0&&c.push({type:`remove`,start:e,end:1/0});let t=Le(o,s);t>0&&c.push({type:`remove`,start:0,end:t})}if(a.initTrackId!==r.id&&c.push({type:`append-init`,meta:{trackId:r.id},url:r.initialization.url,...r.initialization.byteRange!==void 0&&{byteRange:r.initialization.byteRange}}),i){let e=m(r.segments,o,s).filter(e=>{let t=a.segments.find(t=>Math.abs(t.startTime-e.startTime)<1e-4);return t?.partial||!t?.trackBandwidth||!r.bandwidth?!0:r.bandwidth>t.trackBandwidth});for(let t of e)c.push({type:`append-segment`,meta:{id:t.id,startTime:t.startTime,duration:t.duration,trackId:r.id,trackBandwidth:r.bandwidth},url:t.url,...t.byteRange!==void 0&&{byteRange:t.byteRange}})}return c},i=(n,{getContext:r,setContext:i,runner:a})=>{n.forEach(n=>{a.schedule(Be(n,{getContext:r,setContext:i,fetchBytes:t,sourceBufferActor:e})).then(void 0,e=>{e instanceof Error&&e.name===`AbortError`||(console.error(`Unexpected error in segment loader:`,e),a.abortPending())})})};return Re({runner:()=>new K,initial:`idle`,context:{inFlightInitTrackId:null,inFlightSegmentId:null},states:{idle:{on:{load:(e,t)=>{let n=r(e);n.length!==0&&(t.transition(`loading`),i(n,t))}}},loading:{onSettled:`idle`,on:{load:(t,n)=>{let{context:a,runner:o}=n,s=r(t);a.inFlightSegmentId!==null&&s.some(e=>e.type===`append-segment`&&e.meta.id===a.inFlightSegmentId)||a.inFlightInitTrackId!==null&&s.some(e=>e.type===`append-init`&&e.meta.trackId===a.inFlightInitTrackId)?(o.abortPending(),i(s.filter(e=>!(e.type===`append-segment`&&e.meta.id===a.inFlightSegmentId)&&!(e.type===`append-init`&&e.meta.trackId===a.inFlightInitTrackId)),n)):(o.abortAll(),(a.inFlightSegmentId!==null||a.inFlightInitTrackId!==null&&s.some(e=>e.type===`append-init`&&e.meta.trackId!==a.inFlightInitTrackId))&&e.send({type:`cancel`}),i(s,n))}}}}})}const He={video:`videoBufferActor`,audio:`audioBufferActor`};function Ue(e,t){return async(n,r)=>{let{minChunkSize:i,...a}=r??{},o=await H(n,a);if(!o.body)throw Error(`Response has no body`);let s=o.body;return{[Symbol.asyncIterator]:async function*(){let n=performance.now();for await(let r of new Ne(s,...i===void 0?[]:[{minChunkSize:i}])){let i=performance.now()-n,a=u(e.get(),i,r.byteLength);e.set(a),t?.(a),yield r,n=performance.now()}}}}}async function We(e,t){let{minChunkSize:n,...r}=t??{},i=await H(e,r);if(!i.body)throw Error(`Response has no body`);return new Ne(i.body,...n===void 0?[]:[{minChunkSize:n}])}function Ge([e,t],n){let{playbackInitiated:r,preload:i,currentTime:a}=t;return{playbackInitiated:r,preload:i,currentTime:a,track:V(t,n),segmentsCanLoad:e}}const Ke=(e,t)=>{if(e!=null)return t?.segments.find(({startTime:t,duration:n},r,i)=>e>=t&&(e<t+n||r===i.length-1))?.startTime};function qe(e,t){return t.segmentsCanLoad?t.playbackInitiated?!e.playbackInitiated&&t.playbackInitiated&&e.preload!==`auto`?!1:!t.track||!z(t.track)?!0:e.track?.id!==t.track.id&&z(t.track)?!1:Ke(e.currentTime,t.track)===Ke(t.currentTime,t.track):t.preload===`none`?!0:t.preload===e.preload:!0}function Je({state:e,owners:t},n){let{type:r}=n,i=He[r],a=e.get().bandwidthState,o=I(a??{fastEstimate:0,fastTotalWeight:0,slowEstimate:0,slowTotalWeight:0,bytesSampled:0}),s=r===`video`?Ue(o,a===void 0?void 0:t=>{e.set(Object.assign({},e.get(),{bandwidthState:t}))}):We,c=I(void 0),l=L(()=>t.get()[i]),u,d=P(()=>{let e=l.get();if(u&&=(u.destroy(),c.set(void 0),void 0),e){let t=Ve(e,s);u=t,c.set(t)}}),p=L(()=>{let t=V(e.get(),r);return!!t&&z(t)&&!!c.get()}),m=L(()=>Ge([p.get(),e.get()],r)),h,ee=P(()=>{let e=m.get();if(h!==void 0&&qe(h,e))return;let{preload:t,playbackInitiated:n,currentTime:r,track:i,segmentsCanLoad:a}=e;a&&(h=e,t===`auto`||n?c.get()?.send({type:`load`,track:i,range:{start:r,end:r+f.bufferDuration}}):c.get()?.send({type:`load`,track:i}))});return()=>{d(),ee(),u?.destroy()}}let J=null;function Ye(){return J||(J=document.createElement(`video`),J.muted=!0,J.preload=`none`,J.style.display=`none`,J.crossOrigin=`anonymous`),J}function Xe(e){let t=Ye(),n=document.createElement(`track`);return n.kind=`subtitles`,n.default=!0,new Promise((r,i)=>{let a=()=>{let e=[],t=n.track;if(t.cues)for(let n=0;n<t.cues.length;n++){let r=t.cues[n];r&&e.push(r)}s(),r(e)},o=()=>{s(),i(Error(`Failed to load VTT segment: ${e}`))},s=()=>{n.removeEventListener(`load`,a),n.removeEventListener(`error`,o),t.removeChild(n)};n.addEventListener(`load`,a),n.addEventListener(`error`,o),t.appendChild(n),n.src=e})}function Ze(){J=null}const Y=e=>e===void 0?[]:Array.isArray(e)?e:[e];function X(e){let{snapshotSignal:t,getState:n,transition:r}=U({value:e.initial}),i=[],a=e=>{if(e)return typeof e==`function`?e:()=>e.abort()},o=e=>()=>F(e),s=e=>e.value===`destroying`||e.value===`destroyed`,c=[...Y(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[...Y(t.entry).map(e=>({fn:e,shouldSkip:n,toFnCall:o})),...Y(t.effects).map(e=>({fn:e,shouldSkip:n}))]})];return i.push(...c.map(({fn:e,shouldSkip:n,toFnCall:r=e=>e})=>P(()=>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()}}}}function Qe(e){let t=new K,n=!1;return{send({track:r,currentTime:i}){if(n)return;let a=r.id,o=F(()=>e.snapshot.get().context.segments[a]??[]),s=m(r.segments,o,i);t.abortAll();for(let n of s)t.schedule(new G(async t=>{if(!t.aborted)try{let r=await Xe(n.url);if(t.aborted)return;e.send({type:`add-cues`,meta:{trackId:a,id:n.id,startTime:n.startTime,duration:n.duration},cues:r})}catch(e){console.error(`Failed to load VTT segment:`,e)}}))},destroy(){n||(n=!0,t.destroy())}}}function $e(e,t){let{snapshotSignal:n,getState:r,transition:i}=U({value:`active`,context:e}),a=()=>F(()=>n.get().context),o=e=>R(n,{context:e});return{get snapshot(){return n},send(e){if(r()===`destroyed`)return;let n=a(),i=t(n,e);i!==n&&o(i)},destroy(){r()!==`destroyed`&&i(`destroyed`)}}}function et(e,t){return t.some(t=>t.startTime===e.startTime&&t.endTime===e.endTime&&t.text===e.text)}function tt(e){return $e({loaded:{},segments:{}},(t,n)=>{let{meta:r,cues:i}=n,{trackId:a,id:o,startTime:s,duration:c}=r,l=Array.from(e.textTracks).find(e=>e.id===a);if(!l)return t;let u=t.loaded[a]??[],d=t.segments[a]??[],f=i.filter(e=>!et(e,u)),p=d.some(e=>e.id===o);if(f.length===0&&p)return t;for(let e of f)l.addCue(e);return{...t,loaded:{...t.loaded,[a]:[...u,...f]},segments:p?t.segments:{...t.segments,[a]:[...d,{id:o,startTime:s,duration:c}]}}})}function nt(e){return e?.selectionSets?.find(e=>e.type===`text`)?.switchingSets[0]?.tracks}function rt(e){let t=nt(e.presentation)?.find(t=>t.id===e.selectedTextTrackId);return t&&z(t)?t:void 0}function it(e,t){if(!t.mediaElement||!nt(e.presentation)?.length)return`preconditions-unmet`;if(!t.textTracksActor||!t.segmentLoaderActor)return`setting-up`;let n=rt(e);return!n||n.segments.length===0||!Array.from(t.mediaElement.textTracks).some(t=>t.id===e.selectedTextTrackId)?`pending`:`monitoring-for-loads`}function at(e){let{textTracksActor:t,segmentLoaderActor:n}=F(()=>e.get());!t&&!n||(t?.destroy(),n?.destroy(),R(e,{textTracksActor:void 0,segmentLoaderActor:void 0}))}function ot({state:e,owners:t}){let n=L(()=>it(e.get(),t.get())),r=L(()=>e.get().currentTime??0),i=L(()=>rt(e.get()));return X({initial:`preconditions-unmet`,monitor:()=>n.get(),states:{"preconditions-unmet":{entry:()=>{at(t)}},"setting-up":{entry:()=>{at(t);let e=t.get().mediaElement,n=tt(e);R(t,{textTracksActor:n,segmentLoaderActor:Qe(n)})}},pending:{},"monitoring-for-loads":{effects:()=>{let e=r.get(),n=i.get(),{segmentLoaderActor:a}=F(()=>t.get());a.send({type:`load`,track:n,currentTime:e})}}}})}function st({state:e,owners:n}){let r,i=null,a=P(()=>{let{mediaElement:a}=n.get();if(a===r||(i?.(),i=null,r=a,!a))return;let o=()=>{R(e,{currentTime:a.currentTime})};o();let s=t(a,`timeupdate`,o),c=t(a,`seeking`,o);i=()=>{s(),c()}});return()=>{i?.(),a()}}function ct(e,t){return!t.mediaElement||!e.presentation?.url?`preconditions-unmet`:e.playbackInitiated?`playback-initiated`:`monitoring`}function lt({state:e,owners:n}){let r=L(()=>ct(e.get(),n.get())),i=L(()=>n.get().mediaElement),a=L(()=>e.get().presentation?.url);return X({initial:`preconditions-unmet`,monitor:()=>r.get(),states:{"preconditions-unmet":{},monitoring:{entry:()=>{let n=i.get();return R(e,{playbackInitiated:!n.paused}),t(n,`play`,()=>{R(e,{playbackInitiated:!n.paused})})}},"playback-initiated":{effects:()=>(i.get(),a.get(),()=>R(e,{playbackInitiated:!1}))}}})}async function ut(e,t,n){if(t instanceof ArrayBuffer)await dt(e,t);else try{for await(let r of t){if(n?.aborted)throw n.reason??new DOMException(`Aborted`,`AbortError`);await dt(e,r)}}catch(t){if(t instanceof DOMException&&t.name===`AbortError`&&!e.updating)try{e.abort()}catch{}throw t}}async function dt(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 ft(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 pt(e){return e.presentation?!!(e.selectedVideoTrackId||e.selectedAudioTrackId):!1}function mt(e){if(!pt(e))return!1;let{presentation:t}=e;if(t.duration!==void 0)return!1;let n=e.selectedVideoTrackId?V(e,`video`):void 0,r=e.selectedAudioTrackId?V(e,`audio`):void 0;return!!(n&&z(n)||r&&z(r))}function ht(e){let t=e.selectedVideoTrackId?V(e,`video`):void 0;if(t&&z(t))return t.duration;let n=e.selectedAudioTrackId?V(e,`audio`):void 0;if(n&&z(n))return n.duration}function gt({state:e}){return P(()=>{let t=e.get();if(!mt(t))return;let n=ht(t);n===void 0||!Number.isFinite(n)||e.set({...t,presentation:{...t.presentation,duration:n}})})}const _t={safetyMargin:.85};function vt(e,t,n=_t){if(e.length===0)return;let r=e.slice().sort((e,t)=>e.bandwidth-t.bandwidth),i;for(let e of r)t>=e.bandwidth/n.safetyMargin&&(!i||e.bandwidth>i.bandwidth||e.bandwidth===i.bandwidth&&yt(e,i))&&(i=e);return i??r[0]}function yt(e,t){return(e.width??0)*(e.height??0)>(t.width??0)*(t.height??0)}const Z={safetyMargin:.85,minUpgradeInterval:8e3,defaultBandwidth:5e6};function bt(e){return(e.selectionSets?.find(e=>e.type===`video`))?.switchingSets[0]?.tracks??[]}function xt({state:e},t={}){let n=t.safetyMargin??Z.safetyMargin,r=t.minUpgradeInterval??Z.minUpgradeInterval,i=t.defaultBandwidth??Z.defaultBandwidth,a=Date.now(),o=!0;return P(()=>{let{presentation:t,bandwidthState:s,selectedVideoTrackId:c,abrDisabled:l}=e.get();if(l===!0||!t||!s)return;let u=bt(t);if(u.length===0)return;let f=o;o=!1;let p=vt(u,d(s,i),{safetyMargin:n});if(!p||p.id===c)return;let m=u.find(e=>e.id===c);if(!m||p.bandwidth>m.bandwidth){let e=Date.now();if(!f&&e-a<r)return;a=e}R(e,{selectedVideoTrackId:p.id})})}function St(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 Ct(e){let t=/^(\d+)x(\d+)$/.exec(e);return t?{width:Number.parseInt(t[1],10),height:Number.parseInt(t[2],10)}:null}function wt(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)})}function Q(e){let t=e.split(`,`).map(e=>e.trim()),n={};for(let e of t)e.startsWith(`avc1.`)||e.startsWith(`hvc1.`)||e.startsWith(`hev1.`)?n.video=e:e.startsWith(`mp4a.`)&&(n.audio=e);return n}function Tt(e){let t=e.split(`,`)[0]??e,n=Number.parseFloat(t);return Number.isNaN(n)?0:n}function Et(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 Dt(e){let t=St(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 Ct(n)??void 0},getFrameRate(e){let n=t.get(e);if(n)return wt(n)}}}function Ot(e,t){let n=`#${t}:`;return e.startsWith(n)?Dt(e.slice(n.length)):null}function $(e,t){return new URL(e,t).href}function kt(e,t){let n=t.url,r=e.split(/\r?\n/),i=[],a=[],o=[],s=null;for(let e of r){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=Ot(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`);a.push({groupId:t,name:i,language:r.get(`LANGUAGE`),uri:e?$(e,n):void 0,default:r.getBool(`DEFAULT`),autoselect:r.getBool(`AUTOSELECT`)})}if(e===`SUBTITLES`&&t&&i){let e=r.get(`URI`);e&&o.push({groupId:t,name:i,language:r.get(`LANGUAGE`),uri:$(e,n),default:r.getBool(`DEFAULT`),autoselect:r.getBool(`AUTOSELECT`),forced:r.getBool(`FORCED`)})}continue}let c=Ot(t,`EXT-X-STREAM-INF`);if(c){s={bandwidth:c.getInt(`BANDWIDTH`,0),resolution:c.getResolution(`RESOLUTION`),codecs:c.get(`CODECS`),frameRate:c.getFrameRate(`FRAME-RATE`),audioGroupId:c.get(`AUDIO`)};continue}!t.startsWith(`#`)&&s&&(i.push({...s,uri:$(t,n)}),s=null)}let c=[],l=[];for(let e of i){if(!e.codecs){c.push(e);continue}let t=Q(e.codecs);e.codecs.split(`,`).length===1&&t.audio&&!t.video?l.push(e):c.push(e)}let u=c.map(e=>{let t=e.codecs?Q(e.codecs):void 0,n={type:`video`,id:W(),url:e.uri,bandwidth:e.bandwidth,mimeType:`video/mp4`,codecs:[]};return e.resolution?.width!==void 0&&(n.width=e.resolution.width),e.resolution?.height!==void 0&&(n.height=e.resolution.height),t?.video&&(n.codecs=[t.video]),e.frameRate&&(n.frameRate=e.frameRate),e.audioGroupId&&(n.audioGroupId=e.audioGroupId),n}),d=l.map(e=>{let t=e.codecs?Q(e.codecs):void 0;return{type:`audio`,id:W(),url:e.uri,bandwidth:e.bandwidth,mimeType:`audio/mp4`,codecs:t?.audio?[t.audio]:[],groupId:e.audioGroupId||`default`,name:`Default`,sampleRate:48e3,channels:2}}),f=[...a.map(e=>{let t;for(let n of i)if(n.audioGroupId===e.groupId&&n.codecs){let e=Q(n.codecs);if(e.audio){t=[e.audio];break}}let n={type:`audio`,id:W(),url:e.uri??``,groupId:e.groupId,name:e.name,mimeType:`audio/mp4`,bandwidth:0,sampleRate:48e3,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}),...d],p=o.map(e=>{let t={type:`text`,id:W(),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}),m=[];if(u.length>0){let e={id:W(),type:`video`,tracks:u},t={id:W(),type:`video`,switchingSets:[e]};m.push(t)}if(f.length>0){let e={id:W(),type:`audio`,tracks:f},t={id:W(),type:`audio`,switchingSets:[e]};m.push(t)}if(p.length>0){let e={id:W(),type:`text`,tracks:p},t={id:W(),type:`text`,switchingSets:[e]};m.push(t)}return{id:W(),url:t.url,startTime:0,selectionSets:m}}function At(e){let{preload:t,playbackInitiated:n}=e;return[`auto`,`metadata`].includes(t)||!!n}function jt(e){let{presentation:t}=e;return!t||!(`url`in t)?`preconditions-unmet`:`id`in t?`resolved`:At(e)?`resolving`:`idle`}function Mt({state:e}){let t=L(()=>jt(e.get()));return X({initial:`preconditions-unmet`,monitor:()=>t.get(),states:{"preconditions-unmet":{},idle:{},resolving:{entry:()=>{let t=e.get().presentation,n=new AbortController;return H(t,{signal:n.signal}).then(e=>Fe(e)).then(n=>{R(e,{presentation:kt(n,t)})}).catch(e=>{if(!(e instanceof Error&&e.name===`AbortError`))throw e}),n}},resolved:{}}})}function Nt(e,t){let n=e.split(/\r?\n/),r=t.url,i=[],a,o,s=0,c,l=0,u=0,d;for(let e of n){let t=e.trim();if(!t||t.startsWith(`#`)&&!t.startsWith(`#EXT`)||t===`#EXTM3U`||t.startsWith(`#EXT-X-VERSION:`)||t.startsWith(`#EXT-X-TARGETDURATION:`)||t.startsWith(`#EXT-X-PLAYLIST-TYPE:`)||t.startsWith(`#EXT-X-INDEPENDENT-SEGMENTS`))continue;let n=Ot(t,`EXT-X-MAP`);if(n){let e=n.get(`URI`);if(e){a=$(e,r);let t=n.get(`BYTERANGE`);t&&(o=Et(t,0)??void 0)}continue}if(t.startsWith(`#EXTINF:`)){s=Tt(t.slice(8));continue}if(t.startsWith(`#EXT-X-BYTERANGE:`)){c=Et(t.slice(17),d)??void 0;continue}if(t!==`#EXT-X-ENDLIST`&&!t.startsWith(`#`)&&s>0){let e={id:`segment-${u}`,url:$(t,r),duration:s,startTime:l};c?(e.byteRange=c,d=c.end+1):d=void 0,i.push(e),l+=s,u++,s=0,c=void 0}}let f=l,p=t.type===`text`&&!a?void 0:a?{url:a,...o?{byteRange:o}:{}}:{url:``};return{...t,startTime:0,duration:f,segments:i,initialization:p}}function Pt(e,t){let n=V(e,t.type);return n?!z(n):!1}function Ft(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)}))}))}}function It({state:e},t){let n=new ze,r=P(()=>{let r=e.get();if(!Pt(r,t))return;let i=V(r,t.type);if(!i)return;let a=i;n.schedule(new G(async t=>{let n=Nt(await Fe(await H(a,{signal:t})),a),r=e.get(),i=Ft(r.presentation,n);e.set({...r,presentation:i})},{id:i.id}))});return()=>{n.abortAll(),r()}}function Lt(e,t){let n=e.selectionSets.find(e=>e.type===`text`);if(!n?.switchingSets?.[0]?.tracks.length)return;let r=n.switchingSets[0].tracks,i=t.includeForcedTracks?r:r.filter(e=>!e.forced);if(i.length===0)return;let{preferredSubtitleLanguage:a,enableDefaultTrack:o=!1}=t;if(a){let e=i.find(e=>e.language===a);if(e)return e.id}if(o){let e=i.find(e=>e.default===!0);if(e)return e.id}}function Rt(e,t){return!!e?.presentation?.selectionSets?.find(({type:e})=>e===t.type)?.switchingSets?.[0]?.tracks.length}function zt(e,t){return!e[B[t.type]]}function Bt({state:e},t={type:`video`}){return P(()=>{let n=e.get();if(!Rt(n,t)||!zt(n,t))return;let r=n.presentation?.selectionSets.find(({type:e})=>e===t.type)?.switchingSets[0]?.tracks[0]?.id;r&&R(e,{[B[t.type]]:r})})}function Vt({state:e},t={type:`audio`}){return P(()=>{let n=e.get();if(!Rt(n,t)||!zt(n,t))return;let r=n.presentation?.selectionSets.find(({type:e})=>e===`audio`)?.switchingSets[0]?.tracks[0]?.id;r&&R(e,{selectedAudioTrackId:r})})}function Ht({state:e},t={type:`text`}){return P(()=>{let n=e.get();if(!Rt(n,t)||!zt(n,t))return;let r=Lt(n.presentation,t);r&&R(e,{selectedTextTrackId:r})})}function Ut({state:e,owners:t}){let n=L(()=>t.get().mediaElement);return P(()=>{if(e.get().preload!==void 0)return;let t=n.get()?.preload||void 0;t!==void 0&&R(e,{preload:t})})}function Wt(e,t){if(e.length===0)return!0;let n=e[e.length-1];return n?t?.snapshot.get().context.segments.some(e=>e.id===n.id&&!e.partial)??!1:!1}function Gt(e,t){let n=e.selectedVideoTrackId?V(e,`video`):void 0,r=e.selectedAudioTrackId?V(e,`audio`):void 0;return!(n&&!z(n)||r&&!z(r)||n&&z(n)&&!Wt(n.segments,t.videoBufferActor)||r&&z(r)&&!Wt(r.segments,t.audioBufferActor))}function Kt(e,t){return!!(t.mediaSource&&e.presentation)}function qt(e,t){if(!Kt(e,t))return!1;let{mediaElement:n}=t;if((t.mediaSourceReadyState?.get()??t.mediaSource?.readyState)!==`open`||n&&n.readyState<HTMLMediaElement.HAVE_METADATA)return!1;let r=!!e.selectedVideoTrackId,i=!!e.selectedAudioTrackId;if(r&&!t.videoBuffer||i&&!t.audioBuffer||t.videoBufferActor?.snapshot.get().value===`updating`||t.audioBufferActor?.snapshot.get().value===`updating`||!Gt(e,t))return!1;if(n){let t=r?V(e,`video`):void 0,a=i?V(e,`audio`):void 0,o=t&&z(t)?t:a&&z(a)?a:void 0;if(o&&o.segments.length>0){let e=o.segments[o.segments.length-1];if(n.currentTime<e.startTime)return!1}}return!0}function Jt(e){let t=[e.videoBufferActor,e.audioBufferActor].filter(e=>e!==void 0&&e.snapshot.get().value===`updating`);return t.length===0?Promise.resolve():Promise.all(t.map(e=>new Promise(t=>{let n,r=!1;n=P(()=>{e.snapshot.get().value!==`updating`&&(r||(r=!0,t()),queueMicrotask(()=>n?.()))})}))).then(()=>void 0)}function Yt(e){let t=0;for(let n of[e.videoBuffer,e.audioBuffer])if(n&&n.buffered.length>0){let e=n.buffered.end(n.buffered.length-1);e>t&&(t=e)}return t}const Xt=async({currentOwners:e},t)=>{let{mediaSource:n}=e;if(n.readyState===`ended`||(await Jt(e),n.readyState!==`open`))return;let r=Yt(e);r>0&&(n.duration=r),n.endOfStream(),await new Promise(e=>requestAnimationFrame(e))};function Zt({state:e,owners:t}){let n=L(()=>qt(e.get(),t.get())),r=!1;return P(()=>{if(!n.get())return;let e=t.get();if(r){if((e.mediaSourceReadyState?.get()??e.mediaSource?.readyState)!==`open`)return;r=!1}r=!0,Xt({currentOwners:e},{}).catch(e=>console.error(`Failed to call endOfStream:`,e))})}function Qt(){return typeof MediaSource<`u`}function $t(){return typeof ManagedMediaSource<`u`}function en(e={}){let{preferManaged:t=!1}=e;if(t&&$t())return new ManagedMediaSource;if(Qt())return new MediaSource;throw Error(`MediaSource API is not supported`)}function tn(e,t){if($t()&&e instanceof ManagedMediaSource)return t.disableRemotePlayback=!0,t.srcObject=e,{url:``,detach:()=>{t.srcObject=null,t.load()}};let n=URL.createObjectURL(e);return t.src=n,{url:n,detach:()=>{t.removeAttribute(`src`),t.load(),URL.revokeObjectURL(n)}}}function nn(e,t){if(e.readyState!==`open`)throw Error(`MediaSource is not open`);if(!rn(t))throw Error(`Codec not supported: ${t}`);return e.addSourceBuffer(t)}function rn(e){return Qt()?MediaSource.isTypeSupported(e):!1}function an(e,t){let n=I(e.readyState),r=()=>n.set(e.readyState),i={signal:t};return e.addEventListener(`sourceopen`,r,i),e.addEventListener(`sourceended`,r,i),e.addEventListener(`sourceclose`,r,i),n}function on({state:e,owners:t}){let n=new AbortController,r=L(()=>t.get().mediaElement),i=L(()=>e.get().presentation?.url),a=L(()=>!!r.get()&&!!i.get()),o=L(()=>r.get()?.src),s=L(()=>t.get().mediaSource),c=L(()=>!o.get()),l=P(()=>{if(!a.get()||!c.get())return;let e=r.get(),{signal:i}=n,o=en({preferManaged:!0}),l=an(o,i);tn(o,e);let u=P(()=>{s.get()||l.get()!==`open`||t.set(Object.assign({},t.get(),{mediaSource:o,mediaSourceReadyState:l}))});return()=>{u()}});return()=>{n?.abort(),l()}}function sn(e){let t=[];for(let n=0;n<e.length;n++)t.push({start:e.start(n),end:e.end(n)});return t}function cn(e,{getContext:t,sourceBuffer:n}){return new G(async r=>{let i=t();return r.aborted?i:(await ut(n,e.data),{...i,initTrackId:e.meta.trackId})})}function ln(e,{getContext:t,sourceBuffer:n,setContext:r}){return new G(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)>=1e-4);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}),await ut(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:sn(n.buffered)}})}function un(e,{getContext:t,sourceBuffer:n}){return new G(async r=>{let i=t();if(r.aborted)return i;await ft(n,e.start,e.end);let a=sn(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 dn={"append-init":cn,"append-segment":ln,remove:un};function fn(e,t){let n=dn[e.type];return n(e,t)}function pn(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=fn(t,{getContext:a,sourceBuffer:e,setContext:i});o.schedule(s).then(i,n)};return Re({runner:()=>new K,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=fn(t,{getContext:a,sourceBuffer:e,setContext:i});o.schedule(r).then(i,n)}))}}},updating:{onSettled:`idle`,on:{cancel:(e,{runner:t})=>{t.abortAll()}}}}})}const mn={video:`videoBufferActor`,audio:`audioBufferActor`};function hn(e){let t=e.codecs?.join(`,`)??``;return`${e.mimeType}; codecs="${t}"`}function gn({state:e,owners:t}){let n=L(()=>{let{presentation:t}=e.get();return!t||!(`selectionSets`in t)?[]:t.selectionSets.map(({type:e})=>e).filter(e=>e===`video`||e===`audio`)}),r=L(()=>{let r=n.get();if(!t.get().mediaSource||r.length===0)return!1;let i=e.get();return r.every(e=>{let t=V(i,e);return t&&z(t)&&!!t.codecs?.length})}),i=L(()=>{let e=t.get();return n.get().every(t=>!e[je[t]])});return P(()=>{if(!r.get()||!i.get())return;let a=e.get(),o=t.get(),s={};for(let e of n.get()){let t=V(a,e),n=nn(o.mediaSource,hn(t));s[je[e]]=n,s[mn[e]]=pn(n)}R(t,s)})}function _n(e){let t=document.createElement(`track`);return t.id=e.id,t.kind=e.kind,t.label=e.label,t.toggleAttribute(`data-src-track`,!0),e.language&&(t.srclang=e.language),e.default&&(t.default=!0),t}function vn(e){return e?.selectionSets?.find(e=>e.type===`text`)?.switchingSets[0]?.tracks}function yn(e,t){for(let n=0;n<e.length;n++){let r=e[n];r.kind!==`subtitles`&&r.kind!==`captions`||(r.mode=r.id===t?`showing`:`disabled`)}}function bn({state:e,owners:n}){let r=L(()=>n.get().mediaElement),i=L(()=>vn(e.get().presentation),{equals(e,t){return e===t?!0:typeof e!=typeof t||e?.length!==t?.length?!1:!!t&&t.every(t=>e?.some(e=>e.id===t.id))}}),a=L(()=>e.get().selectedTextTrackId),o=L(()=>!!r.get()&&!!i.get()?.length);return X({initial:`preconditions-unmet`,monitor:()=>o.get()?`set-up`:`preconditions-unmet`,states:{"preconditions-unmet":{},"set-up":{entry:()=>{let t=r.get();return i.get().forEach(e=>t.appendChild(_n(e))),()=>{t.querySelectorAll(`track[data-src-track]:is([kind="subtitles"],[kind="captions"]`).forEach(e=>e.remove()),R(e,{selectedTextTrackId:void 0})}},effects:()=>{let n=F(()=>r.get()),i=a.get();yn(n.textTracks,i);let o=setTimeout(()=>{o=void 0},0),s=t(n.textTracks,`change`,()=>{if(o){yn(n.textTracks,F(()=>a.get()));return}let t=Array.from(n.textTracks).find(e=>e.mode===`showing`&&(e.kind===`subtitles`||e.kind===`captions`))?.id;t!==F(()=>a.get())&&R(e,{selectedTextTrackId:t})});return()=>{clearTimeout(o??void 0),s()}}}}})}function xn(e,t){return!!(t.mediaSource&&e.presentation&&Ae(e.presentation))}function Sn(e){let t=0,n=[e.videoSourceBuffer,e.audioSourceBuffer].filter(e=>e!==void 0);for(let e of n){let{buffered:n}=e;if(n.length>0){let e=n.end(n.length-1);e>t&&(t=e)}}return t}function Cn(e,t){if(!xn(e,t))return!1;let{mediaSource:n}=t,{presentation:r}=e;if((t.mediaSourceReadyState?.get()??t.mediaSource?.readyState)!==`open`)return!1;let i=r.duration;return!Number.isFinite(i)||Number.isNaN(i)||i<=0?!1:Number.isNaN(n.duration)}function wn(e){let t=[e.videoSourceBuffer,e.audioSourceBuffer].filter(e=>e?.updating===!0);return t.length===0?Promise.resolve():Promise.all(t.map(e=>new Promise(t=>e.addEventListener(`updateend`,()=>t(),{once:!0})))).then(()=>void 0)}function Tn({state:e,owners:t}){let n=!1,r=!1,i=P(()=>{let i=e.get(),a=t.get();if(!Cn(i,a)||r)return;let{mediaSource:o}=a;r=!0,wn(a).then(()=>{if(n||o.readyState!==`open`)return;let e=i.presentation.duration,t=Sn(a);t>e&&(e=t),o.duration=e}).finally(()=>{r=!1})});return()=>{n=!0,i()}}function En(e={}){let t=I({bandwidthState:{fastEstimate:0,fastTotalWeight:0,slowEstimate:0,slowTotalWeight:0,bytesSampled:0}}),n=I({}),r=[Ut({state:t,owners:n}),lt({state:t,owners:n}),Mt({state:t}),Bt({state:t},{type:`video`,...e.initialBandwidth!==void 0&&{initialBandwidth:e.initialBandwidth}}),Vt({state:t},{type:`audio`,...e.preferredAudioLanguage!==void 0&&{preferredAudioLanguage:e.preferredAudioLanguage}}),Ht({state:t},{type:`text`,...e.preferredSubtitleLanguage!==void 0&&{preferredSubtitleLanguage:e.preferredSubtitleLanguage},...e.includeForcedTracks!==void 0&&{includeForcedTracks:e.includeForcedTracks},...e.enableDefaultTrack!==void 0&&{enableDefaultTrack:e.enableDefaultTrack}}),It({state:t},{type:`video`}),It({state:t},{type:`audio`}),It({state:t},{type:`text`}),gt({state:t}),on({state:t,owners:n}),Tn({state:t,owners:n}),gn({state:t,owners:n}),st({state:t,owners:n}),xt({state:t},e.initialBandwidth===void 0?{}:{defaultBandwidth:e.initialBandwidth}),Je({state:t,owners:n},{type:`video`}),Je({state:t,owners:n},{type:`audio`}),Zt({state:t,owners:n}),bn({state:t,owners:n}),ot({state:t,owners:n})];return{state:t,owners:n,destroy:()=>{r.forEach(e=>typeof e==`function`?e():e.destroy());for(let e of Object.values(n.get()))typeof e==`object`&&e&&typeof e.destroy==`function`&&e.destroy();Ze()}}}function Dn(e){class t extends e{#e;#t;#n=``;#r=null;constructor(...e){super(...e);let{config:t}=e?.[0]??{};this.#t=t,this.#e=En(t)}get engine(){return this.#e}attach(e){super.attach?.(e),R(this.#e.owners,{mediaElement:e})}detach(){this.#i(),R(this.#e.owners,{mediaElement:void 0}),super.detach?.()}destroy(){this.#i(),this.#e.destroy()}get preload(){return this.#n}set preload(e){this.#n=e,e&&R(this.#e.state,{preload:e})}get src(){return this.#e.state.get().presentation?.url??``}set src(e){let t=this.#e.owners.get().mediaElement;this.#i(),this.#e.destroy(),this.#e=En(this.#t),this.#n&&R(this.#e.state,{preload:this.#n}),t&&R(this.#e.owners,{mediaElement:t}),e&&R(this.#e.state,{presentation:{url:e}})}play(){let{mediaElement:e}=this.#e.owners.get();return e?(R(this.#e.state,{playbackInitiated:!0}),e.play().catch(t=>{if(this.src)return new Promise((t,n)=>{let r=()=>{this.#r=null,e.play().then(t,n)};this.#r=r,e.addEventListener(`loadstart`,r,{once:!0})});throw t})):Promise.reject(Error(`SpfMedia: no media element attached`))}#i(){if(!this.#r)return;let{mediaElement:e}=this.#e.owners.get();e?.removeEventListener(`loadstart`,this.#r),this.#r=null}}return t}var On=class extends Dn(a){},kn=class extends e(i(`video`,On)){};n(class extends kn{static{this.tagName=`simple-hls-video`}});
|
|
44
59
|
//# sourceMappingURL=simple-hls-video.js.map
|