@hanifhan1f/vidstack 1.12.13
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/.templates/sandbox/favicon-32x32.png +0 -0
- package/.templates/sandbox/index.html +42 -0
- package/.templates/sandbox/main.ts +137 -0
- package/.templates/sandbox/styles.css +68 -0
- package/LICENSE +21 -0
- package/README.md +22 -0
- package/analyze.config.ts +133 -0
- package/build/build-styles.js +33 -0
- package/build/rollup-decorators.ts +102 -0
- package/build/rollup-minify.js +20 -0
- package/build/rollup-ts.js +57 -0
- package/npm/analyze.json.d.ts +8 -0
- package/npm/bundle.d.ts +1 -0
- package/npm/dom.d.ts +91 -0
- package/npm/empty.vtt +1 -0
- package/npm/google-cast.d.ts +1422 -0
- package/npm/player/index.d.ts +3 -0
- package/npm/player/layouts/default.d.ts +3 -0
- package/npm/player/layouts/index.d.ts +3 -0
- package/npm/player/layouts/plyr.d.ts +3 -0
- package/npm/player/ui.d.ts +3 -0
- package/npm/tailwind.cjs +101 -0
- package/npm/tailwind.d.cts +15 -0
- package/package.json +283 -0
- package/rollup.config.ts +442 -0
- package/src/components/aria/announcer.ts +181 -0
- package/src/components/layouts/default/audio-layout.ts +20 -0
- package/src/components/layouts/default/context.ts +15 -0
- package/src/components/layouts/default/default-layout.ts +67 -0
- package/src/components/layouts/default/props.ts +143 -0
- package/src/components/layouts/default/translations.ts +70 -0
- package/src/components/layouts/default/video-layout.ts +20 -0
- package/src/components/layouts/plyr/context.ts +13 -0
- package/src/components/layouts/plyr/plyr-layout.ts +90 -0
- package/src/components/layouts/plyr/props.ts +114 -0
- package/src/components/layouts/plyr/translations.ts +53 -0
- package/src/components/player.ts +758 -0
- package/src/components/provider/provider.ts +184 -0
- package/src/components/provider/source-select.ts +378 -0
- package/src/components/provider/tracks.ts +37 -0
- package/src/components/ui/buttons/airplay-button.ts +74 -0
- package/src/components/ui/buttons/caption-button.ts +68 -0
- package/src/components/ui/buttons/fullscreen-button.ts +90 -0
- package/src/components/ui/buttons/google-cast-button.ts +75 -0
- package/src/components/ui/buttons/live-button.ts +76 -0
- package/src/components/ui/buttons/mute-button.ts +69 -0
- package/src/components/ui/buttons/pip-button.ts +71 -0
- package/src/components/ui/buttons/play-button.ts +62 -0
- package/src/components/ui/buttons/seek-button.ts +92 -0
- package/src/components/ui/buttons/toggle-button-controller.ts +92 -0
- package/src/components/ui/buttons/toggle-button.ts +49 -0
- package/src/components/ui/captions/captions-renderer.ts +63 -0
- package/src/components/ui/captions/captions.ts +227 -0
- package/src/components/ui/controls-group.ts +13 -0
- package/src/components/ui/controls.ts +101 -0
- package/src/components/ui/gesture.ts +252 -0
- package/src/components/ui/menu/menu-button.ts +95 -0
- package/src/components/ui/menu/menu-context.ts +27 -0
- package/src/components/ui/menu/menu-focus-controller.ts +205 -0
- package/src/components/ui/menu/menu-item.ts +9 -0
- package/src/components/ui/menu/menu-items.ts +129 -0
- package/src/components/ui/menu/menu-portal.ts +105 -0
- package/src/components/ui/menu/menu.ts +612 -0
- package/src/components/ui/menu/radio/radio-controller.ts +18 -0
- package/src/components/ui/menu/radio/radio-group-controller.ts +81 -0
- package/src/components/ui/menu/radio/radio-group.ts +78 -0
- package/src/components/ui/menu/radio/radio.ts +151 -0
- package/src/components/ui/menu/radio-groups/audio-gain-radio-group.ts +116 -0
- package/src/components/ui/menu/radio-groups/audio-radio-group.ts +121 -0
- package/src/components/ui/menu/radio-groups/captions-radio-group.ts +153 -0
- package/src/components/ui/menu/radio-groups/chapters-radio-group.ts +211 -0
- package/src/components/ui/menu/radio-groups/quality-radio-group.ts +181 -0
- package/src/components/ui/menu/radio-groups/speed-radio-group.ts +112 -0
- package/src/components/ui/popper/popper.ts +103 -0
- package/src/components/ui/poster.ts +187 -0
- package/src/components/ui/sliders/audio-gain-slider.ts +150 -0
- package/src/components/ui/sliders/quality-slider.ts +148 -0
- package/src/components/ui/sliders/slider/api/cssvars.ts +10 -0
- package/src/components/ui/sliders/slider/api/events.ts +65 -0
- package/src/components/ui/sliders/slider/api/state.ts +101 -0
- package/src/components/ui/sliders/slider/events-controller.ts +383 -0
- package/src/components/ui/sliders/slider/format.ts +12 -0
- package/src/components/ui/sliders/slider/slider-context.ts +18 -0
- package/src/components/ui/sliders/slider/slider-controller.ts +211 -0
- package/src/components/ui/sliders/slider/slider.ts +94 -0
- package/src/components/ui/sliders/slider/types.ts +1 -0
- package/src/components/ui/sliders/slider/utils.ts +14 -0
- package/src/components/ui/sliders/slider-preview.ts +131 -0
- package/src/components/ui/sliders/slider-thumbnail.ts +28 -0
- package/src/components/ui/sliders/slider-value.ts +122 -0
- package/src/components/ui/sliders/slider-video.ts +198 -0
- package/src/components/ui/sliders/speed-slider.ts +147 -0
- package/src/components/ui/sliders/time-slider/slider-chapters.ts +444 -0
- package/src/components/ui/sliders/time-slider/time-slider.ts +319 -0
- package/src/components/ui/sliders/volume-slider.ts +145 -0
- package/src/components/ui/thumbnails/thumbnail-loader.ts +324 -0
- package/src/components/ui/thumbnails/thumbnail.ts +244 -0
- package/src/components/ui/time.ts +191 -0
- package/src/components/ui/tooltip/tooltip-content.ts +105 -0
- package/src/components/ui/tooltip/tooltip-context.ts +13 -0
- package/src/components/ui/tooltip/tooltip-trigger.ts +49 -0
- package/src/components/ui/tooltip/tooltip.ts +127 -0
- package/src/core/api/media-attrs.ts +35 -0
- package/src/core/api/media-context.ts +52 -0
- package/src/core/api/media-events.ts +601 -0
- package/src/core/api/media-request-events.ts +323 -0
- package/src/core/api/player-controller.ts +10 -0
- package/src/core/api/player-events.ts +49 -0
- package/src/core/api/player-props.ts +233 -0
- package/src/core/api/player-state.ts +940 -0
- package/src/core/api/src-types.ts +97 -0
- package/src/core/api/types.ts +69 -0
- package/src/core/controls.ts +251 -0
- package/src/core/font/font-options.ts +106 -0
- package/src/core/font/font-vars.ts +107 -0
- package/src/core/keyboard/aria-shortcuts.ts +42 -0
- package/src/core/keyboard/controller.ts +302 -0
- package/src/core/keyboard/types.ts +40 -0
- package/src/core/quality/events.ts +48 -0
- package/src/core/quality/symbols.ts +8 -0
- package/src/core/quality/utils.ts +13 -0
- package/src/core/quality/video-quality.ts +86 -0
- package/src/core/state/media-events-logger.ts +67 -0
- package/src/core/state/media-load-controller.ts +40 -0
- package/src/core/state/media-player-delegate.ts +170 -0
- package/src/core/state/media-request-manager.ts +952 -0
- package/src/core/state/media-state-manager.ts +1077 -0
- package/src/core/state/media-state-sync.ts +162 -0
- package/src/core/state/media-storage.ts +196 -0
- package/src/core/state/navigator-media-session.ts +62 -0
- package/src/core/state/remote-control.ts +584 -0
- package/src/core/state/tracked-media-events.ts +22 -0
- package/src/core/time-ranges.ts +130 -0
- package/src/core/tracks/audio/audio-tracks.ts +33 -0
- package/src/core/tracks/audio/events.ts +41 -0
- package/src/core/tracks/text/events.ts +52 -0
- package/src/core/tracks/text/render/libass-text-renderer.ts +246 -0
- package/src/core/tracks/text/render/native-text-renderer.ts +106 -0
- package/src/core/tracks/text/render/text-renderer.ts +134 -0
- package/src/core/tracks/text/symbols.ts +17 -0
- package/src/core/tracks/text/text-track.test.ts +407 -0
- package/src/core/tracks/text/text-track.ts +413 -0
- package/src/core/tracks/text/text-tracks.ts +210 -0
- package/src/core/tracks/text/utils.ts +85 -0
- package/src/elements/bundles/cdn/player.core.ts +6 -0
- package/src/elements/bundles/cdn/player.ts +8 -0
- package/src/elements/bundles/cdn/plyr.ts +6 -0
- package/src/elements/bundles/cdn-legacy/player-with-default.ts +4 -0
- package/src/elements/bundles/cdn-legacy/player-with-layouts.ts +4 -0
- package/src/elements/bundles/cdn-legacy/player-with-plyr.ts +3 -0
- package/src/elements/bundles/cdn-legacy/player.ts +3 -0
- package/src/elements/bundles/icons.ts +3 -0
- package/src/elements/bundles/player-layouts/default.ts +7 -0
- package/src/elements/bundles/player-layouts/index.ts +9 -0
- package/src/elements/bundles/player-layouts/plyr.ts +65 -0
- package/src/elements/bundles/player-ui.ts +108 -0
- package/src/elements/bundles/player.ts +7 -0
- package/src/elements/define/announcer-element.ts +20 -0
- package/src/elements/define/buttons/airplay-button-element.ts +21 -0
- package/src/elements/define/buttons/caption-button-element.ts +22 -0
- package/src/elements/define/buttons/fullscreen-button-element.ts +22 -0
- package/src/elements/define/buttons/google-cast-button-element.ts +21 -0
- package/src/elements/define/buttons/live-button-element.ts +22 -0
- package/src/elements/define/buttons/mute-button-element.ts +23 -0
- package/src/elements/define/buttons/pip-button-element.ts +22 -0
- package/src/elements/define/buttons/play-button-element.ts +23 -0
- package/src/elements/define/buttons/seek-button-element.ts +26 -0
- package/src/elements/define/buttons/toggle-button-element.ts +21 -0
- package/src/elements/define/captions-element.ts +20 -0
- package/src/elements/define/chapter-title-element.ts +54 -0
- package/src/elements/define/controls-element.ts +26 -0
- package/src/elements/define/controls-group-element.ts +26 -0
- package/src/elements/define/gesture-element.ts +24 -0
- package/src/elements/define/layouts/default/audio-layout-element.ts +137 -0
- package/src/elements/define/layouts/default/audio-layout.ts +113 -0
- package/src/elements/define/layouts/default/icons-loader.ts +17 -0
- package/src/elements/define/layouts/default/icons.ts +86 -0
- package/src/elements/define/layouts/default/slots.ts +12 -0
- package/src/elements/define/layouts/default/ui/announcer.ts +14 -0
- package/src/elements/define/layouts/default/ui/buttons.ts +291 -0
- package/src/elements/define/layouts/default/ui/captions.ts +14 -0
- package/src/elements/define/layouts/default/ui/controls.ts +5 -0
- package/src/elements/define/layouts/default/ui/keyboard-display.ts +114 -0
- package/src/elements/define/layouts/default/ui/menu/accessibility-menu.ts +79 -0
- package/src/elements/define/layouts/default/ui/menu/audio-menu.ts +135 -0
- package/src/elements/define/layouts/default/ui/menu/captions-menu.ts +114 -0
- package/src/elements/define/layouts/default/ui/menu/chapters-menu.ts +117 -0
- package/src/elements/define/layouts/default/ui/menu/episodes-menu.ts +133 -0
- package/src/elements/define/layouts/default/ui/menu/font-menu.ts +253 -0
- package/src/elements/define/layouts/default/ui/menu/items/menu-checkbox.ts +67 -0
- package/src/elements/define/layouts/default/ui/menu/items/menu-items.ts +108 -0
- package/src/elements/define/layouts/default/ui/menu/items/menu-slider.ts +59 -0
- package/src/elements/define/layouts/default/ui/menu/menu-portal.ts +56 -0
- package/src/elements/define/layouts/default/ui/menu/playback-menu.ts +183 -0
- package/src/elements/define/layouts/default/ui/menu/settings-menu.ts +98 -0
- package/src/elements/define/layouts/default/ui/slider.ts +112 -0
- package/src/elements/define/layouts/default/ui/time.ts +41 -0
- package/src/elements/define/layouts/default/ui/title.ts +25 -0
- package/src/elements/define/layouts/default/ui/utils.ts +10 -0
- package/src/elements/define/layouts/default/video-layout-element.ts +125 -0
- package/src/elements/define/layouts/default/video-layout.ts +353 -0
- package/src/elements/define/layouts/icons/icons-loader.ts +47 -0
- package/src/elements/define/layouts/icons/layout-icons-loader.ts +24 -0
- package/src/elements/define/layouts/layout-element.ts +78 -0
- package/src/elements/define/layouts/layout-name.ts +15 -0
- package/src/elements/define/layouts/plyr/icons/plyr-airplay.js +1 -0
- package/src/elements/define/layouts/plyr/icons/plyr-captions-off.js +1 -0
- package/src/elements/define/layouts/plyr/icons/plyr-captions-on.js +1 -0
- package/src/elements/define/layouts/plyr/icons/plyr-download.js +1 -0
- package/src/elements/define/layouts/plyr/icons/plyr-enter-fullscreen.js +1 -0
- package/src/elements/define/layouts/plyr/icons/plyr-exit-fullscreen.js +1 -0
- package/src/elements/define/layouts/plyr/icons/plyr-fast-forward.js +1 -0
- package/src/elements/define/layouts/plyr/icons/plyr-muted.js +1 -0
- package/src/elements/define/layouts/plyr/icons/plyr-pause.js +1 -0
- package/src/elements/define/layouts/plyr/icons/plyr-pip.js +1 -0
- package/src/elements/define/layouts/plyr/icons/plyr-play.js +1 -0
- package/src/elements/define/layouts/plyr/icons/plyr-restart.js +1 -0
- package/src/elements/define/layouts/plyr/icons/plyr-rewind.js +1 -0
- package/src/elements/define/layouts/plyr/icons/plyr-settings.js +1 -0
- package/src/elements/define/layouts/plyr/icons/plyr-volume.js +1 -0
- package/src/elements/define/layouts/plyr/icons-loader.ts +21 -0
- package/src/elements/define/layouts/plyr/icons.ts +34 -0
- package/src/elements/define/layouts/plyr/plyr-layout-element.ts +67 -0
- package/src/elements/define/layouts/plyr/ui.ts +657 -0
- package/src/elements/define/layouts/slot-manager.ts +61 -0
- package/src/elements/define/layouts/slot-observer.ts +70 -0
- package/src/elements/define/menus/_template.ts +47 -0
- package/src/elements/define/menus/audio-gain-group-element.ts +37 -0
- package/src/elements/define/menus/audio-radio-group-element.ts +37 -0
- package/src/elements/define/menus/captions-radio-group-element.ts +37 -0
- package/src/elements/define/menus/chapters-radio-group-element.ts +68 -0
- package/src/elements/define/menus/menu-button-element.ts +27 -0
- package/src/elements/define/menus/menu-element.ts +28 -0
- package/src/elements/define/menus/menu-item-element.ts +24 -0
- package/src/elements/define/menus/menu-items-element.ts +27 -0
- package/src/elements/define/menus/menu-portal-element.ts +35 -0
- package/src/elements/define/menus/quality-radio-group-element.ts +51 -0
- package/src/elements/define/menus/radio-element.ts +24 -0
- package/src/elements/define/menus/radio-group-element.ts +24 -0
- package/src/elements/define/menus/speed-radio-group-element.ts +37 -0
- package/src/elements/define/player-element.ts +33 -0
- package/src/elements/define/poster-element.ts +53 -0
- package/src/elements/define/provider-cast-display.ts +36 -0
- package/src/elements/define/provider-element.ts +158 -0
- package/src/elements/define/sliders/audio-gain-slider-element.ts +34 -0
- package/src/elements/define/sliders/quality-slider-element.ts +34 -0
- package/src/elements/define/sliders/slider-chapters-element.ts +53 -0
- package/src/elements/define/sliders/slider-element.ts +25 -0
- package/src/elements/define/sliders/slider-preview-element.ts +16 -0
- package/src/elements/define/sliders/slider-steps-element.ts +50 -0
- package/src/elements/define/sliders/slider-thumbnail-element.ts +48 -0
- package/src/elements/define/sliders/slider-value-element.ts +49 -0
- package/src/elements/define/sliders/slider-video-element.ts +59 -0
- package/src/elements/define/sliders/speed-slider-element.ts +34 -0
- package/src/elements/define/sliders/time-slider-element.ts +34 -0
- package/src/elements/define/sliders/volume-slider-element.ts +34 -0
- package/src/elements/define/spinner-element.ts +96 -0
- package/src/elements/define/thumbnail-element.ts +63 -0
- package/src/elements/define/time-element.ts +32 -0
- package/src/elements/define/title-element.ts +38 -0
- package/src/elements/define/tooltips/tooltip-content-element.ts +28 -0
- package/src/elements/define/tooltips/tooltip-element.ts +28 -0
- package/src/elements/define/tooltips/tooltip-trigger-element.ts +32 -0
- package/src/elements/icon.ts +30 -0
- package/src/elements/index.ts +71 -0
- package/src/elements/lit/directives/signal.ts +80 -0
- package/src/elements/lit/html.ts +11 -0
- package/src/elements/lit/lit-element.ts +23 -0
- package/src/elements/state-controller.ts +48 -0
- package/src/exports/components.ts +79 -0
- package/src/exports/core.ts +41 -0
- package/src/exports/events.ts +46 -0
- package/src/exports/font.ts +3 -0
- package/src/exports/foundation.ts +8 -0
- package/src/exports/maverick.ts +9 -0
- package/src/exports/providers.ts +42 -0
- package/src/exports/utils.ts +18 -0
- package/src/foundation/fullscreen/controller.ts +128 -0
- package/src/foundation/fullscreen/events.ts +26 -0
- package/src/foundation/list/list.ts +127 -0
- package/src/foundation/list/select-list.ts +86 -0
- package/src/foundation/list/symbols.ts +22 -0
- package/src/foundation/logger/colors.ts +33 -0
- package/src/foundation/logger/controller.ts +71 -0
- package/src/foundation/logger/events.ts +29 -0
- package/src/foundation/logger/grouped-log.ts +44 -0
- package/src/foundation/logger/log-level.ts +17 -0
- package/src/foundation/logger/log-printer.ts +119 -0
- package/src/foundation/logger/ms.ts +31 -0
- package/src/foundation/observers/focus-visible.ts +74 -0
- package/src/foundation/observers/intersection-observer.ts +60 -0
- package/src/foundation/observers/page-visibility.ts +105 -0
- package/src/foundation/observers/raf-loop.ts +29 -0
- package/src/foundation/orientation/controller.ts +139 -0
- package/src/foundation/orientation/events.ts +20 -0
- package/src/foundation/orientation/types.ts +96 -0
- package/src/foundation/queue/queue.ts +41 -0
- package/src/foundation/queue/request-queue.test.ts +139 -0
- package/src/foundation/queue/request-queue.ts +94 -0
- package/src/global/layouts/default.ts +28 -0
- package/src/global/layouts/loader.ts +5 -0
- package/src/global/layouts/plyr.ts +24 -0
- package/src/global/player.ts +144 -0
- package/src/global/plyr.ts +917 -0
- package/src/globals.d.ts +11 -0
- package/src/index.ts +10 -0
- package/src/plugins.ts +369 -0
- package/src/providers/audio/loader.ts +45 -0
- package/src/providers/audio/provider.ts +50 -0
- package/src/providers/dash/dash.ts +417 -0
- package/src/providers/dash/events.ts +585 -0
- package/src/providers/dash/lib-loader.ts +202 -0
- package/src/providers/dash/loader.ts +33 -0
- package/src/providers/dash/provider.ts +135 -0
- package/src/providers/dash/types.ts +21 -0
- package/src/providers/embed/EmbedProvider.ts +84 -0
- package/src/providers/google-cast/events.ts +53 -0
- package/src/providers/google-cast/loader.ts +174 -0
- package/src/providers/google-cast/media-info.ts +49 -0
- package/src/providers/google-cast/provider.ts +483 -0
- package/src/providers/google-cast/tracks.ts +170 -0
- package/src/providers/google-cast/types.ts +3 -0
- package/src/providers/google-cast/utils.ts +112 -0
- package/src/providers/hls/events.ts +472 -0
- package/src/providers/hls/hls.ts +290 -0
- package/src/providers/hls/lib-loader.ts +178 -0
- package/src/providers/hls/loader.ts +33 -0
- package/src/providers/hls/provider.ts +137 -0
- package/src/providers/hls/types.ts +10 -0
- package/src/providers/html/audio/audio-context.ts +60 -0
- package/src/providers/html/audio/audio-gain.ts +100 -0
- package/src/providers/html/html/342/200/223media-events.ts +338 -0
- package/src/providers/html/native-audio-tracks.ts +91 -0
- package/src/providers/html/provider.ts +141 -0
- package/src/providers/html/remote-playback.ts +94 -0
- package/src/providers/type-check.ts +61 -0
- package/src/providers/types.ts +95 -0
- package/src/providers/video/loader.ts +45 -0
- package/src/providers/video/native-hls-text-tracks.ts +69 -0
- package/src/providers/video/picture-in-picture.ts +54 -0
- package/src/providers/video/presentation/events.ts +12 -0
- package/src/providers/video/presentation/video-presentation.ts +110 -0
- package/src/providers/video/provider.ts +91 -0
- package/src/providers/vimeo/embed/command.ts +118 -0
- package/src/providers/vimeo/embed/event.ts +124 -0
- package/src/providers/vimeo/embed/message.ts +9 -0
- package/src/providers/vimeo/embed/misc.ts +57 -0
- package/src/providers/vimeo/embed/params.ts +168 -0
- package/src/providers/vimeo/loader.ts +61 -0
- package/src/providers/vimeo/provider.ts +730 -0
- package/src/providers/vimeo/utils.ts +53 -0
- package/src/providers/youtube/embed/command.ts +21 -0
- package/src/providers/youtube/embed/event.ts +1 -0
- package/src/providers/youtube/embed/message.ts +54 -0
- package/src/providers/youtube/embed/params.ts +238 -0
- package/src/providers/youtube/embed/quality.ts +35 -0
- package/src/providers/youtube/embed/state.ts +13 -0
- package/src/providers/youtube/loader.ts +61 -0
- package/src/providers/youtube/provider.ts +403 -0
- package/src/providers/youtube/utils.ts +45 -0
- package/src/tailwind.test.ts +413 -0
- package/src/test-utils/index.ts +22 -0
- package/src/test-utils/setup.ts +3 -0
- package/src/utils/aria.ts +14 -0
- package/src/utils/array.ts +3 -0
- package/src/utils/color.ts +5 -0
- package/src/utils/dom.ts +458 -0
- package/src/utils/error.ts +11 -0
- package/src/utils/language.ts +16 -0
- package/src/utils/manifest.ts +61 -0
- package/src/utils/mime.ts +101 -0
- package/src/utils/network.ts +118 -0
- package/src/utils/number.ts +25 -0
- package/src/utils/promise.ts +12 -0
- package/src/utils/scroll.ts +19 -0
- package/src/utils/support.ts +163 -0
- package/src/utils/time.test.ts +111 -0
- package/src/utils/time.ts +123 -0
- package/styles/player/base.css +153 -0
- package/styles/player/default/buffering.css +55 -0
- package/styles/player/default/buttons.css +175 -0
- package/styles/player/default/captions.css +181 -0
- package/styles/player/default/chapter-title.css +26 -0
- package/styles/player/default/controls.css +56 -0
- package/styles/player/default/gestures.css +19 -0
- package/styles/player/default/icons.css +6 -0
- package/styles/player/default/keyboard.css +148 -0
- package/styles/player/default/layouts/audio.css +417 -0
- package/styles/player/default/layouts/video.css +1082 -0
- package/styles/player/default/menus.css +959 -0
- package/styles/player/default/poster.css +52 -0
- package/styles/player/default/sliders.css +391 -0
- package/styles/player/default/theme.css +2461 -0
- package/styles/player/default/thumbnail.css +40 -0
- package/styles/player/default/time.css +45 -0
- package/styles/player/default/tooltips.css +141 -0
- package/styles/player/plyr/theme.css +1237 -0
- package/tsconfig.build.json +9 -0
- package/tsconfig.json +11 -0
- package/types/components/aria/announcer.d.ts +27 -0
- package/types/components/layouts/default/audio-layout.d.ts +15 -0
- package/types/components/layouts/default/context.d.ts +9 -0
- package/types/components/layouts/default/default-layout.d.ts +10 -0
- package/types/components/layouts/default/props.d.ts +125 -0
- package/types/components/layouts/default/translations.d.ts +6 -0
- package/types/components/layouts/default/video-layout.d.ts +15 -0
- package/types/components/layouts/plyr/context.d.ts +7 -0
- package/types/components/layouts/plyr/plyr-layout.d.ts +9 -0
- package/types/components/layouts/plyr/props.d.ts +68 -0
- package/types/components/layouts/plyr/translations.d.ts +6 -0
- package/types/components/player.d.ts +214 -0
- package/types/components/provider/provider.d.ts +24 -0
- package/types/components/provider/source-select.d.ts +10 -0
- package/types/components/provider/tracks.d.ts +7 -0
- package/types/components/ui/buttons/airplay-button.d.ts +23 -0
- package/types/components/ui/buttons/caption-button.d.ts +21 -0
- package/types/components/ui/buttons/fullscreen-button.d.ts +28 -0
- package/types/components/ui/buttons/google-cast-button.d.ts +23 -0
- package/types/components/ui/buttons/live-button.d.ts +30 -0
- package/types/components/ui/buttons/mute-button.d.ts +21 -0
- package/types/components/ui/buttons/pip-button.d.ts +22 -0
- package/types/components/ui/buttons/play-button.d.ts +21 -0
- package/types/components/ui/buttons/seek-button.d.ts +32 -0
- package/types/components/ui/buttons/toggle-button-controller.d.ts +20 -0
- package/types/components/ui/buttons/toggle-button.d.ts +29 -0
- package/types/components/ui/captions/captions-renderer.d.ts +12 -0
- package/types/components/ui/captions/captions.d.ts +22 -0
- package/types/components/ui/controls-group.d.ts +9 -0
- package/types/components/ui/controls.d.ts +38 -0
- package/types/components/ui/gesture.d.ts +64 -0
- package/types/components/ui/menu/menu-button.d.ts +37 -0
- package/types/components/ui/menu/menu-context.d.ts +23 -0
- package/types/components/ui/menu/menu-focus-controller.d.ts +14 -0
- package/types/components/ui/menu/menu-item.d.ts +9 -0
- package/types/components/ui/menu/menu-items.d.ts +44 -0
- package/types/components/ui/menu/menu-portal.d.ts +31 -0
- package/types/components/ui/menu/menu.d.ts +66 -0
- package/types/components/ui/menu/radio/radio-controller.d.ts +14 -0
- package/types/components/ui/menu/radio/radio-group-controller.d.ts +11 -0
- package/types/components/ui/menu/radio/radio-group.d.ts +40 -0
- package/types/components/ui/menu/radio/radio.d.ts +50 -0
- package/types/components/ui/menu/radio-groups/audio-gain-radio-group.d.ts +36 -0
- package/types/components/ui/menu/radio-groups/audio-radio-group.d.ts +37 -0
- package/types/components/ui/menu/radio-groups/captions-radio-group.d.ts +38 -0
- package/types/components/ui/menu/radio-groups/chapters-radio-group.d.ts +46 -0
- package/types/components/ui/menu/radio-groups/quality-radio-group.d.ts +48 -0
- package/types/components/ui/menu/radio-groups/speed-radio-group.d.ts +36 -0
- package/types/components/ui/popper/popper.d.ts +15 -0
- package/types/components/ui/poster.d.ts +47 -0
- package/types/components/ui/sliders/audio-gain-slider.d.ts +43 -0
- package/types/components/ui/sliders/quality-slider.d.ts +34 -0
- package/types/components/ui/sliders/slider/api/cssvars.d.ts +10 -0
- package/types/components/ui/sliders/slider/api/events.d.ts +57 -0
- package/types/components/ui/sliders/slider/api/state.d.ts +68 -0
- package/types/components/ui/sliders/slider/events-controller.d.ts +23 -0
- package/types/components/ui/sliders/slider/format.d.ts +8 -0
- package/types/components/ui/sliders/slider/slider-context.d.ts +13 -0
- package/types/components/ui/sliders/slider/slider-controller.d.ts +59 -0
- package/types/components/ui/sliders/slider/slider.d.ts +39 -0
- package/types/components/ui/sliders/slider/types.d.ts +1 -0
- package/types/components/ui/sliders/slider/utils.d.ts +2 -0
- package/types/components/ui/sliders/slider-preview.d.ts +34 -0
- package/types/components/ui/sliders/slider-thumbnail.d.ts +16 -0
- package/types/components/ui/sliders/slider-value.d.ts +59 -0
- package/types/components/ui/sliders/slider-video.d.ts +73 -0
- package/types/components/ui/sliders/speed-slider.d.ts +42 -0
- package/types/components/ui/sliders/time-slider/slider-chapters.d.ts +36 -0
- package/types/components/ui/sliders/time-slider/time-slider.d.ts +56 -0
- package/types/components/ui/sliders/volume-slider.d.ts +35 -0
- package/types/components/ui/thumbnails/thumbnail-loader.d.ts +47 -0
- package/types/components/ui/thumbnails/thumbnail.d.ts +50 -0
- package/types/components/ui/time.d.ts +62 -0
- package/types/components/ui/tooltip/tooltip-content.d.ts +39 -0
- package/types/components/ui/tooltip/tooltip-context.d.ts +11 -0
- package/types/components/ui/tooltip/tooltip-trigger.d.ts +14 -0
- package/types/components/ui/tooltip/tooltip.d.ts +23 -0
- package/types/core/api/media-attrs.d.ts +3 -0
- package/types/core/api/media-context.d.ts +37 -0
- package/types/core/api/media-events.d.ts +581 -0
- package/types/core/api/media-request-events.d.ts +319 -0
- package/types/core/api/player-controller.d.ts +6 -0
- package/types/core/api/player-events.d.ts +38 -0
- package/types/core/api/player-props.d.ts +163 -0
- package/types/core/api/player-state.d.ts +656 -0
- package/types/core/api/src-types.d.ts +50 -0
- package/types/core/api/types.d.ts +54 -0
- package/types/core/controls.d.ts +43 -0
- package/types/core/font/font-options.d.ts +42 -0
- package/types/core/font/font-vars.d.ts +1 -0
- package/types/core/keyboard/aria-shortcuts.d.ts +6 -0
- package/types/core/keyboard/controller.d.ts +9 -0
- package/types/core/keyboard/types.d.ts +33 -0
- package/types/core/quality/events.d.ts +43 -0
- package/types/core/quality/symbols.d.ts +6 -0
- package/types/core/quality/utils.d.ts +2 -0
- package/types/core/quality/video-quality.d.ts +52 -0
- package/types/core/state/media-events-logger.d.ts +7 -0
- package/types/core/state/media-load-controller.d.ts +6 -0
- package/types/core/state/media-player-delegate.d.ts +13 -0
- package/types/core/state/media-request-manager.d.ts +71 -0
- package/types/core/state/media-state-manager.d.ts +59 -0
- package/types/core/state/media-state-sync.d.ts +8 -0
- package/types/core/state/media-storage.d.ts +74 -0
- package/types/core/state/navigator-media-session.d.ts +5 -0
- package/types/core/state/remote-control.d.ts +288 -0
- package/types/core/state/tracked-media-events.d.ts +2 -0
- package/types/core/time-ranges.d.ts +12 -0
- package/types/core/tracks/audio/audio-tracks.d.ts +32 -0
- package/types/core/tracks/audio/events.d.ts +37 -0
- package/types/core/tracks/text/events.d.ts +49 -0
- package/types/core/tracks/text/render/libass-text-renderer.d.ts +181 -0
- package/types/core/tracks/text/render/native-text-renderer.d.ts +13 -0
- package/types/core/tracks/text/render/text-renderer.d.ts +17 -0
- package/types/core/tracks/text/symbols.d.ts +11 -0
- package/types/core/tracks/text/text-track.d.ts +137 -0
- package/types/core/tracks/text/text-tracks.d.ts +55 -0
- package/types/core/tracks/text/utils.d.ts +8 -0
- package/types/elements/bundles/cdn/player.core.d.ts +5 -0
- package/types/elements/bundles/cdn/player.d.ts +7 -0
- package/types/elements/bundles/cdn/plyr.d.ts +5 -0
- package/types/elements/bundles/cdn-legacy/player-with-default.d.ts +4 -0
- package/types/elements/bundles/cdn-legacy/player-with-layouts.d.ts +4 -0
- package/types/elements/bundles/cdn-legacy/player-with-plyr.d.ts +3 -0
- package/types/elements/bundles/cdn-legacy/player.d.ts +3 -0
- package/types/elements/bundles/icons.d.ts +2 -0
- package/types/elements/bundles/player-layouts/default.d.ts +1 -0
- package/types/elements/bundles/player-layouts/index.d.ts +1 -0
- package/types/elements/bundles/player-layouts/plyr.d.ts +1 -0
- package/types/elements/bundles/player-ui.d.ts +1 -0
- package/types/elements/bundles/player.d.ts +1 -0
- package/types/elements/define/announcer-element.d.ts +18 -0
- package/types/elements/define/buttons/airplay-button-element.d.ts +19 -0
- package/types/elements/define/buttons/caption-button-element.d.ts +20 -0
- package/types/elements/define/buttons/fullscreen-button-element.d.ts +20 -0
- package/types/elements/define/buttons/google-cast-button-element.d.ts +19 -0
- package/types/elements/define/buttons/live-button-element.d.ts +20 -0
- package/types/elements/define/buttons/mute-button-element.d.ts +21 -0
- package/types/elements/define/buttons/pip-button-element.d.ts +20 -0
- package/types/elements/define/buttons/play-button-element.d.ts +21 -0
- package/types/elements/define/buttons/seek-button-element.d.ts +24 -0
- package/types/elements/define/buttons/toggle-button-element.d.ts +19 -0
- package/types/elements/define/captions-element.d.ts +18 -0
- package/types/elements/define/chapter-title-element.d.ts +30 -0
- package/types/elements/define/controls-element.d.ts +24 -0
- package/types/elements/define/controls-group-element.d.ts +24 -0
- package/types/elements/define/gesture-element.d.ts +22 -0
- package/types/elements/define/layouts/default/audio-layout-element.d.ts +29 -0
- package/types/elements/define/layouts/default/audio-layout.d.ts +1 -0
- package/types/elements/define/layouts/default/icons-loader.d.ts +5 -0
- package/types/elements/define/layouts/default/icons.d.ts +52 -0
- package/types/elements/define/layouts/default/slots.d.ts +2 -0
- package/types/elements/define/layouts/default/ui/announcer.d.ts +1 -0
- package/types/elements/define/layouts/default/ui/buttons.d.ts +31 -0
- package/types/elements/define/layouts/default/ui/captions.d.ts +1 -0
- package/types/elements/define/layouts/default/ui/controls.d.ts +1 -0
- package/types/elements/define/layouts/default/ui/keyboard-display.d.ts +1 -0
- package/types/elements/define/layouts/default/ui/menu/accessibility-menu.d.ts +1 -0
- package/types/elements/define/layouts/default/ui/menu/audio-menu.d.ts +1 -0
- package/types/elements/define/layouts/default/ui/menu/captions-menu.d.ts +1 -0
- package/types/elements/define/layouts/default/ui/menu/chapters-menu.d.ts +8 -0
- package/types/elements/define/layouts/default/ui/menu/episodes-menu.d.ts +8 -0
- package/types/elements/define/layouts/default/ui/menu/font-menu.d.ts +1 -0
- package/types/elements/define/layouts/default/ui/menu/items/menu-checkbox.d.ts +8 -0
- package/types/elements/define/layouts/default/ui/menu/items/menu-items.d.ts +26 -0
- package/types/elements/define/layouts/default/ui/menu/items/menu-slider.d.ts +3 -0
- package/types/elements/define/layouts/default/ui/menu/menu-portal.d.ts +4 -0
- package/types/elements/define/layouts/default/ui/menu/playback-menu.d.ts +1 -0
- package/types/elements/define/layouts/default/ui/menu/settings-menu.d.ts +8 -0
- package/types/elements/define/layouts/default/ui/slider.d.ts +10 -0
- package/types/elements/define/layouts/default/ui/time.d.ts +3 -0
- package/types/elements/define/layouts/default/ui/title.d.ts +2 -0
- package/types/elements/define/layouts/default/ui/utils.d.ts +3 -0
- package/types/elements/define/layouts/default/video-layout-element.d.ts +29 -0
- package/types/elements/define/layouts/default/video-layout.d.ts +5 -0
- package/types/elements/define/layouts/icons/icons-loader.d.ts +11 -0
- package/types/elements/define/layouts/icons/layout-icons-loader.d.ts +4 -0
- package/types/elements/define/layouts/layout-element.d.ts +38 -0
- package/types/elements/define/layouts/layout-name.d.ts +2 -0
- package/types/elements/define/layouts/plyr/icons/plyr-airplay.d.ts +2 -0
- package/types/elements/define/layouts/plyr/icons/plyr-captions-off.d.ts +2 -0
- package/types/elements/define/layouts/plyr/icons/plyr-captions-on.d.ts +2 -0
- package/types/elements/define/layouts/plyr/icons/plyr-download.d.ts +2 -0
- package/types/elements/define/layouts/plyr/icons/plyr-enter-fullscreen.d.ts +2 -0
- package/types/elements/define/layouts/plyr/icons/plyr-exit-fullscreen.d.ts +2 -0
- package/types/elements/define/layouts/plyr/icons/plyr-fast-forward.d.ts +2 -0
- package/types/elements/define/layouts/plyr/icons/plyr-muted.d.ts +2 -0
- package/types/elements/define/layouts/plyr/icons/plyr-pause.d.ts +2 -0
- package/types/elements/define/layouts/plyr/icons/plyr-pip.d.ts +2 -0
- package/types/elements/define/layouts/plyr/icons/plyr-play.d.ts +2 -0
- package/types/elements/define/layouts/plyr/icons/plyr-restart.d.ts +2 -0
- package/types/elements/define/layouts/plyr/icons/plyr-rewind.d.ts +2 -0
- package/types/elements/define/layouts/plyr/icons/plyr-settings.d.ts +2 -0
- package/types/elements/define/layouts/plyr/icons/plyr-volume.d.ts +2 -0
- package/types/elements/define/layouts/plyr/icons-loader.d.ts +5 -0
- package/types/elements/define/layouts/plyr/icons.d.ts +18 -0
- package/types/elements/define/layouts/plyr/plyr-layout-element.d.ts +26 -0
- package/types/elements/define/layouts/plyr/ui.d.ts +3 -0
- package/types/elements/define/layouts/slot-manager.d.ts +7 -0
- package/types/elements/define/layouts/slot-observer.d.ts +12 -0
- package/types/elements/define/menus/_template.d.ts +7 -0
- package/types/elements/define/menus/audio-gain-group-element.d.ts +31 -0
- package/types/elements/define/menus/audio-radio-group-element.d.ts +31 -0
- package/types/elements/define/menus/captions-radio-group-element.d.ts +31 -0
- package/types/elements/define/menus/chapters-radio-group-element.d.ts +36 -0
- package/types/elements/define/menus/menu-button-element.d.ts +25 -0
- package/types/elements/define/menus/menu-element.d.ts +26 -0
- package/types/elements/define/menus/menu-item-element.d.ts +22 -0
- package/types/elements/define/menus/menu-items-element.d.ts +25 -0
- package/types/elements/define/menus/menu-portal-element.d.ts +25 -0
- package/types/elements/define/menus/quality-radio-group-element.d.ts +33 -0
- package/types/elements/define/menus/radio-element.d.ts +22 -0
- package/types/elements/define/menus/radio-group-element.d.ts +22 -0
- package/types/elements/define/menus/speed-radio-group-element.d.ts +31 -0
- package/types/elements/define/player-element.d.ts +24 -0
- package/types/elements/define/poster-element.d.ts +25 -0
- package/types/elements/define/provider-cast-display.d.ts +2 -0
- package/types/elements/define/provider-element.d.ts +25 -0
- package/types/elements/define/sliders/audio-gain-slider-element.d.ts +32 -0
- package/types/elements/define/sliders/quality-slider-element.d.ts +32 -0
- package/types/elements/define/sliders/slider-chapters-element.d.ts +31 -0
- package/types/elements/define/sliders/slider-element.d.ts +23 -0
- package/types/elements/define/sliders/slider-preview-element.d.ts +14 -0
- package/types/elements/define/sliders/slider-steps-element.d.ts +28 -0
- package/types/elements/define/sliders/slider-thumbnail-element.d.ts +26 -0
- package/types/elements/define/sliders/slider-value-element.d.ts +37 -0
- package/types/elements/define/sliders/slider-video-element.d.ts +25 -0
- package/types/elements/define/sliders/speed-slider-element.d.ts +32 -0
- package/types/elements/define/sliders/time-slider-element.d.ts +32 -0
- package/types/elements/define/sliders/volume-slider-element.d.ts +32 -0
- package/types/elements/define/spinner-element.d.ts +50 -0
- package/types/elements/define/thumbnail-element.d.ts +29 -0
- package/types/elements/define/time-element.d.ts +24 -0
- package/types/elements/define/title-element.d.ts +23 -0
- package/types/elements/define/tooltips/tooltip-content-element.d.ts +26 -0
- package/types/elements/define/tooltips/tooltip-element.d.ts +26 -0
- package/types/elements/define/tooltips/tooltip-trigger-element.d.ts +27 -0
- package/types/elements/icon.d.ts +10 -0
- package/types/elements/index.d.ts +56 -0
- package/types/elements/lit/directives/signal.d.ts +1 -0
- package/types/elements/lit/html.d.ts +4 -0
- package/types/elements/lit/lit-element.d.ts +8 -0
- package/types/elements/state-controller.d.ts +5 -0
- package/types/exports/components.d.ts +59 -0
- package/types/exports/core.d.ts +26 -0
- package/types/exports/events.d.ts +32 -0
- package/types/exports/font.d.ts +2 -0
- package/types/exports/foundation.d.ts +8 -0
- package/types/exports/maverick.d.ts +1 -0
- package/types/exports/providers.d.ts +22 -0
- package/types/exports/utils.d.ts +4 -0
- package/types/foundation/fullscreen/controller.d.ts +39 -0
- package/types/foundation/fullscreen/events.d.ts +25 -0
- package/types/foundation/list/list.d.ts +64 -0
- package/types/foundation/list/select-list.d.ts +30 -0
- package/types/foundation/list/symbols.d.ts +14 -0
- package/types/foundation/logger/colors.d.ts +5 -0
- package/types/foundation/logger/controller.d.ts +20 -0
- package/types/foundation/logger/events.d.ts +26 -0
- package/types/foundation/logger/grouped-log.d.ts +22 -0
- package/types/foundation/logger/log-level.d.ts +15 -0
- package/types/foundation/logger/log-printer.d.ts +11 -0
- package/types/foundation/logger/ms.d.ts +4 -0
- package/types/foundation/observers/focus-visible.d.ts +7 -0
- package/types/foundation/observers/intersection-observer.d.ts +36 -0
- package/types/foundation/observers/page-visibility.d.ts +37 -0
- package/types/foundation/observers/raf-loop.d.ts +6 -0
- package/types/foundation/orientation/controller.d.ts +62 -0
- package/types/foundation/orientation/events.d.ts +16 -0
- package/types/foundation/orientation/types.d.ts +85 -0
- package/types/foundation/queue/queue.d.ts +24 -0
- package/types/foundation/queue/request-queue.d.ts +42 -0
- package/types/global/layouts/default.d.ts +9 -0
- package/types/global/layouts/loader.d.ts +5 -0
- package/types/global/layouts/plyr.d.ts +9 -0
- package/types/global/player.d.ts +26 -0
- package/types/global/plyr.d.ts +344 -0
- package/types/index.d.ts +6 -0
- package/types/plugins.d.ts +11 -0
- package/types/providers/audio/loader.d.ts +12 -0
- package/types/providers/audio/provider.d.ts +29 -0
- package/types/providers/dash/dash.d.ts +15 -0
- package/types/providers/dash/events.d.ts +570 -0
- package/types/providers/dash/lib-loader.d.ts +6 -0
- package/types/providers/dash/loader.d.ts +10 -0
- package/types/providers/dash/provider.d.ts +62 -0
- package/types/providers/dash/types.d.ts +13 -0
- package/types/providers/embed/EmbedProvider.d.ts +18 -0
- package/types/providers/google-cast/events.d.ts +36 -0
- package/types/providers/google-cast/loader.d.ts +18 -0
- package/types/providers/google-cast/media-info.d.ts +11 -0
- package/types/providers/google-cast/provider.d.ts +48 -0
- package/types/providers/google-cast/tracks.d.ts +10 -0
- package/types/providers/google-cast/types.d.ts +3 -0
- package/types/providers/google-cast/utils.d.ts +34 -0
- package/types/providers/hls/events.d.ts +463 -0
- package/types/providers/hls/hls.d.ts +14 -0
- package/types/providers/hls/lib-loader.d.ts +6 -0
- package/types/providers/hls/loader.d.ts +10 -0
- package/types/providers/hls/provider.d.ts +64 -0
- package/types/providers/hls/types.d.ts +9 -0
- package/types/providers/html/audio/audio-context.d.ts +6 -0
- package/types/providers/html/audio/audio-gain.d.ts +10 -0
- package/types/providers/html/html/342/200/223media-events.d.ts +6 -0
- package/types/providers/html/native-audio-tracks.d.ts +6 -0
- package/types/providers/html/provider.d.ts +34 -0
- package/types/providers/html/remote-playback.d.ts +18 -0
- package/types/providers/type-check.d.ts +28 -0
- package/types/providers/types.d.ts +95 -0
- package/types/providers/video/loader.d.ts +12 -0
- package/types/providers/video/native-hls-text-tracks.d.ts +9 -0
- package/types/providers/video/picture-in-picture.d.ts +16 -0
- package/types/providers/video/presentation/events.d.ts +11 -0
- package/types/providers/video/presentation/video-presentation.d.ts +30 -0
- package/types/providers/video/provider.d.ts +34 -0
- package/types/providers/vimeo/embed/command.d.ts +81 -0
- package/types/providers/vimeo/embed/event.d.ts +58 -0
- package/types/providers/vimeo/embed/message.d.ts +8 -0
- package/types/providers/vimeo/embed/misc.d.ts +52 -0
- package/types/providers/vimeo/embed/params.d.ts +148 -0
- package/types/providers/vimeo/loader.d.ts +14 -0
- package/types/providers/vimeo/provider.d.ts +61 -0
- package/types/providers/vimeo/utils.d.ts +6 -0
- package/types/providers/youtube/embed/command.d.ts +13 -0
- package/types/providers/youtube/embed/event.d.ts +1 -0
- package/types/providers/youtube/embed/message.d.ts +50 -0
- package/types/providers/youtube/embed/params.d.ts +218 -0
- package/types/providers/youtube/embed/quality.d.ts +2 -0
- package/types/providers/youtube/embed/state.d.ts +12 -0
- package/types/providers/youtube/loader.d.ts +14 -0
- package/types/providers/youtube/provider.d.ts +61 -0
- package/types/providers/youtube/utils.d.ts +2 -0
- package/types/utils/aria.d.ts +4 -0
- package/types/utils/array.d.ts +1 -0
- package/types/utils/color.d.ts +1 -0
- package/types/utils/dom.d.ts +41 -0
- package/types/utils/error.d.ts +2 -0
- package/types/utils/language.d.ts +8 -0
- package/types/utils/manifest.d.ts +3 -0
- package/types/utils/mime.d.ts +15 -0
- package/types/utils/network.d.ts +17 -0
- package/types/utils/number.d.ts +17 -0
- package/types/utils/promise.d.ts +1 -0
- package/types/utils/scroll.d.ts +5 -0
- package/types/utils/support.d.ts +72 -0
- package/types/utils/time.d.ts +57 -0
- package/vite.config.ts +61 -0
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { listenEvent } from 'maverick.js/std';
|
|
2
|
+
|
|
3
|
+
import type { Src } from '../../core/api/src-types';
|
|
4
|
+
|
|
5
|
+
export function getCastFrameworkURL() {
|
|
6
|
+
return 'https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1';
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Whether the Google Cast framework has loaded.
|
|
11
|
+
*/
|
|
12
|
+
export function hasLoadedCastFramework() {
|
|
13
|
+
return !!window.cast?.framework;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Whether Google Cast is available on this platform.
|
|
18
|
+
*/
|
|
19
|
+
export function isCastAvailable() {
|
|
20
|
+
return !!window.chrome?.cast?.isAvailable;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Whether the cast sender is connected.
|
|
25
|
+
*/
|
|
26
|
+
export function isCastConnected() {
|
|
27
|
+
return getCastContext().getCastState() === cast.framework.CastState.CONNECTED;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* @see {@link https://developers.google.com/cast/docs/reference/web_sender/cast.framework.CastContext}
|
|
32
|
+
*/
|
|
33
|
+
export function getCastContext() {
|
|
34
|
+
return window.cast.framework.CastContext.getInstance();
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* @see {@link https://developers.google.com/cast/docs/reference/web_sender/cast.framework.CastSession}
|
|
39
|
+
*/
|
|
40
|
+
export function getCastSession() {
|
|
41
|
+
return getCastContext().getCurrentSession();
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* @see {@link https://developers.google.com/cast/docs/reference/web_sender/chrome.cast.media.Media}
|
|
46
|
+
*/
|
|
47
|
+
export function getCastSessionMedia() {
|
|
48
|
+
return getCastSession()?.getSessionObj().media[0];
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export function hasActiveCastSession(src: Src | undefined | null) {
|
|
52
|
+
const contentId = getCastSessionMedia()?.media.contentId;
|
|
53
|
+
return contentId === src?.src;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* @see {@link https://developers.google.com/cast/docs/reference/web_sender/cast.framework.CastOptions}
|
|
58
|
+
*/
|
|
59
|
+
export function getDefaultCastOptions(): cast.framework.CastOptions {
|
|
60
|
+
return {
|
|
61
|
+
language: 'en-US',
|
|
62
|
+
autoJoinPolicy: chrome.cast.AutoJoinPolicy.ORIGIN_SCOPED,
|
|
63
|
+
receiverApplicationId: chrome.cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID,
|
|
64
|
+
resumeSavedSession: true,
|
|
65
|
+
androidReceiverCompatible: true,
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
export function getCastErrorMessage(code: chrome.cast.ErrorCode) {
|
|
70
|
+
const defaultMessage = `Google Cast Error Code: ${code}`;
|
|
71
|
+
|
|
72
|
+
if (__DEV__) {
|
|
73
|
+
switch (code) {
|
|
74
|
+
case chrome.cast.ErrorCode.API_NOT_INITIALIZED:
|
|
75
|
+
return 'The API is not initialized.';
|
|
76
|
+
case chrome.cast.ErrorCode.CANCEL:
|
|
77
|
+
return 'The operation was canceled by the user';
|
|
78
|
+
case chrome.cast.ErrorCode.CHANNEL_ERROR:
|
|
79
|
+
return 'A channel to the receiver is not available.';
|
|
80
|
+
case chrome.cast.ErrorCode.EXTENSION_MISSING:
|
|
81
|
+
return 'The Cast extension is not available.';
|
|
82
|
+
case chrome.cast.ErrorCode.INVALID_PARAMETER:
|
|
83
|
+
return 'The parameters to the operation were not valid.';
|
|
84
|
+
case chrome.cast.ErrorCode.RECEIVER_UNAVAILABLE:
|
|
85
|
+
return 'No receiver was compatible with the session request.';
|
|
86
|
+
case chrome.cast.ErrorCode.SESSION_ERROR:
|
|
87
|
+
return 'A session could not be created, or a session was invalid.';
|
|
88
|
+
case chrome.cast.ErrorCode.TIMEOUT:
|
|
89
|
+
return 'The operation timed out.';
|
|
90
|
+
default:
|
|
91
|
+
return defaultMessage;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
return defaultMessage;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
export function listenCastContextEvent<T extends keyof cast.framework.CastContextEvents>(
|
|
99
|
+
type: T,
|
|
100
|
+
handler: (event: cast.framework.CastContextEvents[T]) => void,
|
|
101
|
+
) {
|
|
102
|
+
// @ts-expect-error - not typed
|
|
103
|
+
return listenEvent(getCastContext(), type, handler);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
export function listenCastSessionEvent<T extends keyof cast.framework.CastSessionEvents>(
|
|
107
|
+
type: T,
|
|
108
|
+
handler: (event: cast.framework.CastSessionEvents[T]) => void,
|
|
109
|
+
) {
|
|
110
|
+
// @ts-expect-error - not typed
|
|
111
|
+
return listenEvent(getCastSession(), type, handler);
|
|
112
|
+
}
|
|
@@ -0,0 +1,472 @@
|
|
|
1
|
+
import type * as HLS from 'hls.js';
|
|
2
|
+
import type { DOMEvent } from 'maverick.js/std';
|
|
3
|
+
|
|
4
|
+
import type { MediaPlayer } from '../../components/player';
|
|
5
|
+
|
|
6
|
+
export interface HLSProviderEvents {
|
|
7
|
+
'hls-lib-load-start': HLSLibLoadStartEvent;
|
|
8
|
+
'hls-lib-loaded': HLSLibLoadedEvent;
|
|
9
|
+
'hls-lib-load-error': HLSLibLoadErrorEvent;
|
|
10
|
+
'hls-instance': HLSInstanceEvent;
|
|
11
|
+
'hls-unsupported': HLSUnsupportedEvent;
|
|
12
|
+
// re-dispatched `hls.js` events below
|
|
13
|
+
'hls-media-attaching': HLSMediaAttachingEvent;
|
|
14
|
+
'hls-media-attached': HLSMediaAttachedEvent;
|
|
15
|
+
'hls-media-detaching': HLSMediaDetachingEvent;
|
|
16
|
+
'hls-media-detached': HLSMediaDetachedEvent;
|
|
17
|
+
'hls-buffer-reset': HLSBufferResetEvent;
|
|
18
|
+
'hls-buffer-codecs': HLSBufferCodecsEvent;
|
|
19
|
+
'hls-buffer-created': HLSBufferCreatedEvent;
|
|
20
|
+
'hls-buffer-appending': HLSBufferAppendingEvent;
|
|
21
|
+
'hls-buffer-appended': HLSBufferAppendedEvent;
|
|
22
|
+
'hls-buffer-eos': HLSBufferEosEvent;
|
|
23
|
+
'hls-buffer-flushing': HLSBufferFlushingEvent;
|
|
24
|
+
'hls-buffer-flushed': HLSBufferFlushedEvent;
|
|
25
|
+
'hls-manifest-loading': HLSManifestLoadingEvent;
|
|
26
|
+
'hls-manifest-loaded': HLSManifestLoadedEvent;
|
|
27
|
+
'hls-manifest-parsed': HLSManifestParsedEvent;
|
|
28
|
+
'hls-level-switching': HLSLevelSwitchingEvent;
|
|
29
|
+
'hls-level-switched': HLSLevelSwitchedEvent;
|
|
30
|
+
'hls-level-loading': HLSLevelLoadingEvent;
|
|
31
|
+
'hls-level-loaded': HLSLevelLoadedEvent;
|
|
32
|
+
'hls-level-updated': HLSLevelUpdatedEvent;
|
|
33
|
+
'hls-level-pts-updated': HLSLevelPtsUpdatedEvent;
|
|
34
|
+
'hls-levels-updated': HLSLevelsUpdatedEvent;
|
|
35
|
+
'hls-audio-tracks-updated': HLSAudioTracksUpdatedEvent;
|
|
36
|
+
'hls-audio-track-switching': HLSAudioTrackSwitchingEvent;
|
|
37
|
+
'hls-audio-track-switched': HLSAudioTrackSwitchedEvent;
|
|
38
|
+
'hls-audio-track-loading': HLSAudioTrackLoadingEvent;
|
|
39
|
+
'hls-audio-track-loaded': HLSAudioTrackLoadedEvent;
|
|
40
|
+
'hls-subtitle-tracks-updated': HLSSubtitleTracksUpdatedEvent;
|
|
41
|
+
'hls-subtitle-tracks-cleared': HLSSubtitleTracksClearedEvent;
|
|
42
|
+
'hls-subtitle-track-switch': HLSSubtitleTrackSwitchEvent;
|
|
43
|
+
'hls-subtitle-track-loading': HLSSubtitleTrackLoadingEvent;
|
|
44
|
+
'hls-subtitle-track-loaded': HLSSubtitleTrackLoadedEvent;
|
|
45
|
+
'hls-subtitle-frag-processed': HLSSubtitleFragProcessedEvent;
|
|
46
|
+
'hls-cues-parsed': HLSCuesParsedEvent;
|
|
47
|
+
'hls-non-native-text-tracks-found': HLSNonNativeTextTracksFoundEvent;
|
|
48
|
+
'hls-init-pts-found': HLSInitPtsFoundEvent;
|
|
49
|
+
'hls-frag-loading': HLSFragLoadingEvent;
|
|
50
|
+
'hls-frag-load-emergency-aborted': HLSFragLoadEmergencyAbortedEvent;
|
|
51
|
+
'hls-frag-loaded': HLSFragLoadedEvent;
|
|
52
|
+
'hls-frag-decrypted': HLSFragDecryptedEvent;
|
|
53
|
+
'hls-frag-parsing-init-segment': HLSFragParsingInitSegmentEvent;
|
|
54
|
+
'hls-frag-parsing-userdata': HLSFragParsingUserdataEvent;
|
|
55
|
+
'hls-frag-parsing-metadata': HLSFragParsingMetadataEvent;
|
|
56
|
+
'hls-frag-parsed': HLSFragParsedEvent;
|
|
57
|
+
'hls-frag-buffered-data': HLSFragBufferedDataEvent;
|
|
58
|
+
'hls-frag-changed': HLSFragChangedEvent;
|
|
59
|
+
'hls-fps-drop': HLSFpsDropEvent;
|
|
60
|
+
'hls-fps-drop-level-capping': HLSFpsDropLevelCappingEvent;
|
|
61
|
+
'hls-error': HLSErrorEvent;
|
|
62
|
+
'hls-destroying': HLSDestroyingEvent;
|
|
63
|
+
'hls-key-loading': HLSKeyLoadingEvent;
|
|
64
|
+
'hls-key-loaded': HLSKeyLoadedEvent;
|
|
65
|
+
'hls-back-buffer-reached': HLSBackBufferReachedEvent;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
export interface HLSMediaEvent<DetailType = unknown> extends DOMEvent<DetailType> {
|
|
69
|
+
target: MediaPlayer;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Fired when the browser begins downloading the `hls.js` library.
|
|
74
|
+
*/
|
|
75
|
+
export interface HLSLibLoadStartEvent extends HLSMediaEvent<void> {}
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Fired when the `hls.js` library has been loaded.
|
|
79
|
+
*
|
|
80
|
+
* @detail constructor
|
|
81
|
+
*/
|
|
82
|
+
export interface HLSLibLoadedEvent extends HLSMediaEvent<typeof HLS.default> {}
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Fired when the `hls.js` library fails during the download process.
|
|
86
|
+
*
|
|
87
|
+
* @detail error
|
|
88
|
+
*/
|
|
89
|
+
export interface HLSLibLoadErrorEvent extends HLSMediaEvent<Error> {}
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* Fired when the `hls.js` instance is built. This will not fire if the browser does not
|
|
93
|
+
* support `hls.js`.
|
|
94
|
+
*
|
|
95
|
+
* @detail instance
|
|
96
|
+
*/
|
|
97
|
+
export interface HLSInstanceEvent extends HLSMediaEvent<HLS.default> {}
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Fired when the browser doesn't support HLS natively, _and_ `hls.js` doesn't support
|
|
101
|
+
* this environment either, most likely due to missing Media Extensions or video codecs.
|
|
102
|
+
*/
|
|
103
|
+
export interface HLSUnsupportedEvent extends HLSMediaEvent<void> {}
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Fired before `MediaSource` begins attaching to the media element.
|
|
107
|
+
*
|
|
108
|
+
* @detail data
|
|
109
|
+
*/
|
|
110
|
+
export interface HLSMediaAttachingEvent extends HLSMediaEvent<HLS.MediaAttachingData> {}
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* Fired when `MediaSource` has been successfully attached to the media element.
|
|
114
|
+
*
|
|
115
|
+
* @detail data
|
|
116
|
+
*/
|
|
117
|
+
export interface HLSMediaAttachedEvent extends HLSMediaEvent<HLS.MediaAttachedData> {}
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* Fired before detaching `MediaSource` from the media element.
|
|
121
|
+
*/
|
|
122
|
+
export interface HLSMediaDetachingEvent extends HLSMediaEvent<void> {}
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* Fired when `MediaSource` has been detached from media element.
|
|
126
|
+
*/
|
|
127
|
+
export interface HLSMediaDetachedEvent extends HLSMediaEvent<void> {}
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
* Fired when we buffer is going to be reset.
|
|
131
|
+
*/
|
|
132
|
+
export interface HLSBufferResetEvent extends HLSMediaEvent<void> {}
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* Fired when we know about the codecs that we need buffers for to push into.
|
|
136
|
+
*
|
|
137
|
+
* @detail data
|
|
138
|
+
*/
|
|
139
|
+
export interface HLSBufferCodecsEvent extends HLSMediaEvent<HLS.BufferCodecsData> {}
|
|
140
|
+
|
|
141
|
+
/**
|
|
142
|
+
* Fired when `SourceBuffer`'s have been created.
|
|
143
|
+
*
|
|
144
|
+
* @detail data
|
|
145
|
+
*/
|
|
146
|
+
export interface HLSBufferCreatedEvent extends HLSMediaEvent<HLS.BufferCreatedData> {}
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* Fired when we begin appending a media segment to the buffer.
|
|
150
|
+
*
|
|
151
|
+
* @detail data
|
|
152
|
+
*/
|
|
153
|
+
export interface HLSBufferAppendingEvent extends HLSMediaEvent<HLS.BufferAppendingData> {}
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* Fired when we are done with appending a media segment to the buffer.
|
|
157
|
+
*
|
|
158
|
+
* @detail data
|
|
159
|
+
*/
|
|
160
|
+
export interface HLSBufferAppendedEvent extends HLSMediaEvent<HLS.BufferAppendedData> {}
|
|
161
|
+
|
|
162
|
+
/**
|
|
163
|
+
* Fired when the stream is finished and we want to notify the media buffer that there will be no
|
|
164
|
+
* more data.
|
|
165
|
+
*
|
|
166
|
+
* @detail data
|
|
167
|
+
*/
|
|
168
|
+
export interface HLSBufferEosEvent extends HLSMediaEvent<HLS.BufferEOSData> {}
|
|
169
|
+
|
|
170
|
+
/**
|
|
171
|
+
* Fired when the media buffer should be flushed.
|
|
172
|
+
*
|
|
173
|
+
* @detail data
|
|
174
|
+
*/
|
|
175
|
+
export interface HLSBufferFlushingEvent extends HLSMediaEvent<HLS.BufferFlushingData> {}
|
|
176
|
+
|
|
177
|
+
/**
|
|
178
|
+
* Fired when the media buffer has been flushed.
|
|
179
|
+
*
|
|
180
|
+
* @detail data
|
|
181
|
+
*/
|
|
182
|
+
export interface HLSBufferFlushedEvent extends HLSMediaEvent<HLS.BufferFlushedData> {}
|
|
183
|
+
|
|
184
|
+
/**
|
|
185
|
+
* Fired to signal that manifest loading is starting.
|
|
186
|
+
*
|
|
187
|
+
* @detail data
|
|
188
|
+
*/
|
|
189
|
+
export interface HLSManifestLoadingEvent extends HLSMediaEvent<HLS.ManifestLoadingData> {}
|
|
190
|
+
|
|
191
|
+
/**
|
|
192
|
+
* Fired after the manifest has been loaded.
|
|
193
|
+
*
|
|
194
|
+
* @detail data
|
|
195
|
+
*/
|
|
196
|
+
export interface HLSManifestLoadedEvent extends HLSMediaEvent<HLS.ManifestLoadedData> {}
|
|
197
|
+
|
|
198
|
+
/**
|
|
199
|
+
* Fired after manifest has been parsed.
|
|
200
|
+
*
|
|
201
|
+
* @detail data
|
|
202
|
+
*/
|
|
203
|
+
export interface HLSManifestParsedEvent extends HLSMediaEvent<HLS.ManifestParsedData> {}
|
|
204
|
+
|
|
205
|
+
/**
|
|
206
|
+
* Fired when a level switch is requested.
|
|
207
|
+
*
|
|
208
|
+
* @detail data
|
|
209
|
+
*/
|
|
210
|
+
export interface HLSLevelSwitchingEvent extends HLSMediaEvent<HLS.LevelSwitchingData> {}
|
|
211
|
+
|
|
212
|
+
/**
|
|
213
|
+
* Fired when a level switch is effective.
|
|
214
|
+
*
|
|
215
|
+
* @detail data
|
|
216
|
+
*/
|
|
217
|
+
export interface HLSLevelSwitchedEvent extends HLSMediaEvent<HLS.LevelSwitchedData> {}
|
|
218
|
+
|
|
219
|
+
/**
|
|
220
|
+
* Fired when a level playlist loading starts.
|
|
221
|
+
*
|
|
222
|
+
* @detail data
|
|
223
|
+
*/
|
|
224
|
+
export interface HLSLevelLoadingEvent extends HLSMediaEvent<HLS.LevelLoadingData> {}
|
|
225
|
+
|
|
226
|
+
/**
|
|
227
|
+
* Fired when a level playlist loading finishes.
|
|
228
|
+
*
|
|
229
|
+
* @detail data
|
|
230
|
+
*/
|
|
231
|
+
export interface HLSLevelLoadedEvent extends HLSMediaEvent<HLS.LevelLoadedData> {}
|
|
232
|
+
|
|
233
|
+
/**
|
|
234
|
+
* Fired when a level's details have been updated based on previous details, after it has been
|
|
235
|
+
* loaded.
|
|
236
|
+
*
|
|
237
|
+
* @detail data
|
|
238
|
+
*/
|
|
239
|
+
export interface HLSLevelUpdatedEvent extends HLSMediaEvent<HLS.LevelUpdatedData> {}
|
|
240
|
+
|
|
241
|
+
/**
|
|
242
|
+
* Fired when a level's PTS information has been updated after parsing a fragment.
|
|
243
|
+
*
|
|
244
|
+
* @detail data
|
|
245
|
+
*/
|
|
246
|
+
export interface HLSLevelPtsUpdatedEvent extends HLSMediaEvent<HLS.LevelPTSUpdatedData> {}
|
|
247
|
+
|
|
248
|
+
/**
|
|
249
|
+
* Fired when a level is removed after calling `removeLevel()`.
|
|
250
|
+
*
|
|
251
|
+
* @detail data
|
|
252
|
+
*/
|
|
253
|
+
export interface HLSLevelsUpdatedEvent extends HLSMediaEvent<HLS.LevelsUpdatedData> {}
|
|
254
|
+
|
|
255
|
+
/**
|
|
256
|
+
* Fired to notify that the audio track list has been updated.
|
|
257
|
+
*
|
|
258
|
+
* @detail data
|
|
259
|
+
*/
|
|
260
|
+
export interface HLSAudioTracksUpdatedEvent extends HLSMediaEvent<HLS.AudioTracksUpdatedData> {}
|
|
261
|
+
|
|
262
|
+
/**
|
|
263
|
+
* Fired when an audio track switching is requested.
|
|
264
|
+
*
|
|
265
|
+
* @detail data
|
|
266
|
+
*/
|
|
267
|
+
export interface HLSAudioTrackSwitchingEvent extends HLSMediaEvent<HLS.AudioTrackSwitchingData> {}
|
|
268
|
+
|
|
269
|
+
/**
|
|
270
|
+
* Fired when an audio track switch actually occurs.
|
|
271
|
+
*
|
|
272
|
+
* @detail data
|
|
273
|
+
*/
|
|
274
|
+
export interface HLSAudioTrackSwitchedEvent extends HLSMediaEvent<HLS.AudioTrackSwitchedData> {}
|
|
275
|
+
|
|
276
|
+
/**
|
|
277
|
+
* Fired when loading an audio track starts.
|
|
278
|
+
*
|
|
279
|
+
* @detail data
|
|
280
|
+
*/
|
|
281
|
+
export interface HLSAudioTrackLoadingEvent extends HLSMediaEvent<HLS.TrackLoadingData> {}
|
|
282
|
+
|
|
283
|
+
/**
|
|
284
|
+
* Fired when loading an audio track finishes.
|
|
285
|
+
*
|
|
286
|
+
* @detail data
|
|
287
|
+
*/
|
|
288
|
+
export interface HLSAudioTrackLoadedEvent extends HLSMediaEvent<HLS.AudioTrackLoadedData> {}
|
|
289
|
+
|
|
290
|
+
/**
|
|
291
|
+
* Fired to notify that the subtitle track list has been updated.
|
|
292
|
+
*
|
|
293
|
+
* @detail data
|
|
294
|
+
*/
|
|
295
|
+
export interface HLSSubtitleTracksUpdatedEvent
|
|
296
|
+
extends HLSMediaEvent<HLS.SubtitleTracksUpdatedData> {}
|
|
297
|
+
|
|
298
|
+
/**
|
|
299
|
+
* Fired to notify that subtitle tracks were cleared as a result of stopping the media.
|
|
300
|
+
*/
|
|
301
|
+
export interface HLSSubtitleTracksClearedEvent extends HLSMediaEvent<void> {}
|
|
302
|
+
|
|
303
|
+
/**
|
|
304
|
+
* Fired when a subtitle track switch occurs.
|
|
305
|
+
*
|
|
306
|
+
* @detail data
|
|
307
|
+
*/
|
|
308
|
+
export interface HLSSubtitleTrackSwitchEvent extends HLSMediaEvent<HLS.SubtitleTrackSwitchData> {}
|
|
309
|
+
|
|
310
|
+
/**
|
|
311
|
+
* Fired when loading a subtitle track starts.
|
|
312
|
+
*
|
|
313
|
+
* @detail data
|
|
314
|
+
*/
|
|
315
|
+
export interface HLSSubtitleTrackLoadingEvent extends HLSMediaEvent<HLS.TrackLoadingData> {}
|
|
316
|
+
|
|
317
|
+
/**
|
|
318
|
+
* Fired when loading a subtitle track finishes.
|
|
319
|
+
*
|
|
320
|
+
* @detail data
|
|
321
|
+
*/
|
|
322
|
+
export interface HLSSubtitleTrackLoadedEvent extends HLSMediaEvent<HLS.SubtitleTrackLoadedData> {}
|
|
323
|
+
|
|
324
|
+
/**
|
|
325
|
+
* Fired when a subtitle fragment has been processed.
|
|
326
|
+
*
|
|
327
|
+
* @detail data
|
|
328
|
+
*/
|
|
329
|
+
export interface HLSSubtitleFragProcessedEvent
|
|
330
|
+
extends HLSMediaEvent<HLS.SubtitleFragProcessedData> {}
|
|
331
|
+
|
|
332
|
+
/**
|
|
333
|
+
* Fired when a set of `VTTCue`'s to be managed externally has been parsed.
|
|
334
|
+
*
|
|
335
|
+
* @detail data
|
|
336
|
+
*/
|
|
337
|
+
export interface HLSCuesParsedEvent extends HLSMediaEvent<HLS.CuesParsedData> {}
|
|
338
|
+
|
|
339
|
+
/**
|
|
340
|
+
* Fired when a text track to be managed externally is found.
|
|
341
|
+
*
|
|
342
|
+
* @detail data
|
|
343
|
+
*/
|
|
344
|
+
export interface HLSNonNativeTextTracksFoundEvent
|
|
345
|
+
extends HLSMediaEvent<HLS.NonNativeTextTracksData> {}
|
|
346
|
+
|
|
347
|
+
/**
|
|
348
|
+
* Fired when the first timestamp is found.
|
|
349
|
+
*
|
|
350
|
+
* @detail data
|
|
351
|
+
*/
|
|
352
|
+
export interface HLSInitPtsFoundEvent extends HLSMediaEvent<HLS.InitPTSFoundData> {}
|
|
353
|
+
|
|
354
|
+
/**
|
|
355
|
+
* Fired when loading a fragment starts.
|
|
356
|
+
*
|
|
357
|
+
* @detail data
|
|
358
|
+
*/
|
|
359
|
+
export interface HLSFragLoadingEvent extends HLSMediaEvent<HLS.FragLoadingData> {}
|
|
360
|
+
|
|
361
|
+
/**
|
|
362
|
+
* Fired when fragment loading is aborted for emergency switch down.
|
|
363
|
+
*
|
|
364
|
+
* @detail data
|
|
365
|
+
*/
|
|
366
|
+
export interface HLSFragLoadEmergencyAbortedEvent
|
|
367
|
+
extends HLSMediaEvent<HLS.FragLoadEmergencyAbortedData> {}
|
|
368
|
+
|
|
369
|
+
/**
|
|
370
|
+
* Fired when fragment loading is completed.
|
|
371
|
+
*
|
|
372
|
+
* @detail data
|
|
373
|
+
*/
|
|
374
|
+
export interface HLSFragLoadedEvent extends HLSMediaEvent<HLS.FragLoadedData> {}
|
|
375
|
+
|
|
376
|
+
/**
|
|
377
|
+
* Fired when a fragment has finished decrypting.
|
|
378
|
+
*
|
|
379
|
+
* @detail data
|
|
380
|
+
*/
|
|
381
|
+
export interface HLSFragDecryptedEvent extends HLSMediaEvent<HLS.FragDecryptedData> {}
|
|
382
|
+
|
|
383
|
+
/**
|
|
384
|
+
* Fired when `InitSegment` has been extracted from a fragment.
|
|
385
|
+
*
|
|
386
|
+
* @detail data
|
|
387
|
+
*/
|
|
388
|
+
export interface HLSFragParsingInitSegmentEvent
|
|
389
|
+
extends HLSMediaEvent<HLS.FragParsingInitSegmentData> {}
|
|
390
|
+
|
|
391
|
+
/**
|
|
392
|
+
* Fired when parsing sei text is completed.
|
|
393
|
+
*
|
|
394
|
+
* @detail data
|
|
395
|
+
*/
|
|
396
|
+
export interface HLSFragParsingUserdataEvent extends HLSMediaEvent<HLS.FragParsingUserdataData> {}
|
|
397
|
+
|
|
398
|
+
/**
|
|
399
|
+
* Fired when parsing id3 is completed.
|
|
400
|
+
*
|
|
401
|
+
* @detail data
|
|
402
|
+
*/
|
|
403
|
+
export interface HLSFragParsingMetadataEvent extends HLSMediaEvent<HLS.FragParsingMetadataData> {}
|
|
404
|
+
|
|
405
|
+
/**
|
|
406
|
+
* Fired when fragment parsing is completed.
|
|
407
|
+
*
|
|
408
|
+
* @detail data
|
|
409
|
+
*/
|
|
410
|
+
export interface HLSFragParsedEvent extends HLSMediaEvent<HLS.FragParsedData> {}
|
|
411
|
+
|
|
412
|
+
/**
|
|
413
|
+
* Fired when fragment remuxed MP4 boxes have all been appended into `SourceBuffer`.
|
|
414
|
+
*
|
|
415
|
+
* @detail data
|
|
416
|
+
*/
|
|
417
|
+
export interface HLSFragBufferedDataEvent extends HLSMediaEvent<HLS.FragBufferedData> {}
|
|
418
|
+
|
|
419
|
+
/**
|
|
420
|
+
* Fired when fragment matching with current media position is changing.
|
|
421
|
+
*
|
|
422
|
+
* @detail data
|
|
423
|
+
*/
|
|
424
|
+
export interface HLSFragChangedEvent extends HLSMediaEvent<HLS.FragChangedData> {}
|
|
425
|
+
|
|
426
|
+
/**
|
|
427
|
+
* Fired when a FPS drop is identified.
|
|
428
|
+
*
|
|
429
|
+
* @detail data
|
|
430
|
+
*/
|
|
431
|
+
export interface HLSFpsDropEvent extends HLSMediaEvent<HLS.FPSDropData> {}
|
|
432
|
+
|
|
433
|
+
/**
|
|
434
|
+
* Fired when FPS drop triggers auto level capping.
|
|
435
|
+
*
|
|
436
|
+
* @detail data
|
|
437
|
+
*/
|
|
438
|
+
export interface HLSFpsDropLevelCappingEvent extends HLSMediaEvent<HLS.FPSDropLevelCappingData> {}
|
|
439
|
+
|
|
440
|
+
/**
|
|
441
|
+
* Fired when an error has occurred during loading or playback.
|
|
442
|
+
*
|
|
443
|
+
* @detail data
|
|
444
|
+
*/
|
|
445
|
+
export interface HLSErrorEvent extends HLSMediaEvent<HLS.ErrorData> {}
|
|
446
|
+
|
|
447
|
+
/**
|
|
448
|
+
* Fired when the `hls.js` instance is being destroyed. Different from `hls-media-detached` as
|
|
449
|
+
* one could want to detach, and reattach media to the `hls.js` instance to handle mid-rolls.
|
|
450
|
+
*/
|
|
451
|
+
export interface HLSDestroyingEvent extends HLSMediaEvent<void> {}
|
|
452
|
+
|
|
453
|
+
/**
|
|
454
|
+
* Fired when a decrypt key loading starts.
|
|
455
|
+
*
|
|
456
|
+
* @detail data
|
|
457
|
+
*/
|
|
458
|
+
export interface HLSKeyLoadingEvent extends HLSMediaEvent<HLS.KeyLoadingData> {}
|
|
459
|
+
|
|
460
|
+
/**
|
|
461
|
+
* Fired when a decrypt key has been loaded.
|
|
462
|
+
*
|
|
463
|
+
* @detail data
|
|
464
|
+
*/
|
|
465
|
+
export interface HLSKeyLoadedEvent extends HLSMediaEvent<HLS.KeyLoadedData> {}
|
|
466
|
+
|
|
467
|
+
/**
|
|
468
|
+
* Fired when the back buffer is reached as defined by the `backBufferLength` config option.
|
|
469
|
+
*
|
|
470
|
+
* @detail data
|
|
471
|
+
*/
|
|
472
|
+
export interface HLSBackBufferReachedEvent extends HLSMediaEvent<HLS.BackBufferData> {}
|