@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,570 @@
|
|
|
1
|
+
import type DASH from 'dashjs';
|
|
2
|
+
import type { DOMEvent } from 'maverick.js/std';
|
|
3
|
+
import type { MediaPlayer } from '../../components/player';
|
|
4
|
+
export interface DASHProviderEvents {
|
|
5
|
+
'dash-lib-load-start': DASHLibLoadStartEvent;
|
|
6
|
+
'dash-lib-loaded': DASHLibLoadedEvent;
|
|
7
|
+
'dash-lib-load-error': DASHLibLoadErrorEvent;
|
|
8
|
+
'dash-instance': DASHInstanceEvent;
|
|
9
|
+
'dash-unsupported': DASHUnsupportedEvent;
|
|
10
|
+
'dash-ast-in-future': DASHAstInFutureEvent;
|
|
11
|
+
'dash-base-urls-updated': DASHBaseUrlsUpdatedEvent;
|
|
12
|
+
'dash-buffer-empty': DASHBufferStalledEvent;
|
|
13
|
+
'dash-buffer-loaded': DASHBufferLoadedEvent;
|
|
14
|
+
'dash-buffer-level-state-changed': DASHBufferStateChangedEvent;
|
|
15
|
+
'dash-buffer-level-updated': DASHBufferLevelUpdatedEvent;
|
|
16
|
+
'dash-dvb-font-download-added': DASHDvbFontDownloadAddedEvent;
|
|
17
|
+
'dash-dvb-font-download-complete': DASHDvbFontDownloadCompleteEvent;
|
|
18
|
+
'dash-dvb-font-download-failed': DASHDvbFontDownloadFailedEvent;
|
|
19
|
+
'dash-dynamic-to-static': DASHDynamicToStaticEvent;
|
|
20
|
+
'dash-error': DASHErrorEvent;
|
|
21
|
+
'dash-fragment-loading-completed': DASHFragmentLoadingCompletedEvent;
|
|
22
|
+
'dash-fragment-loading-progress': DASHFragmentLoadingProgressEvent;
|
|
23
|
+
'dash-fragment-loading-started': DASHFragmentLoadingStartedEvent;
|
|
24
|
+
'dash-fragment-loading-abandoned': DASHFragmentLoadingAbandonedEvent;
|
|
25
|
+
'dash-log': DASHLogEvent;
|
|
26
|
+
'dash-manifest-loading-started': DASHManifestLoadingStartedEvent;
|
|
27
|
+
'dash-manifest-loading-finished': DASHManifestLoadingFinishedEvent;
|
|
28
|
+
'dash-manifest-loaded': DASHManifestLoadedEvent;
|
|
29
|
+
'dash-metrics-changed': DASHMetricsChangedEvent;
|
|
30
|
+
'dash-metric-changed': DASHMetricChangedEvent;
|
|
31
|
+
'dash-metric-added': DASHMetricAddedEvent;
|
|
32
|
+
'dash-metric-updated': DASHMetricUpdatedEvent;
|
|
33
|
+
'dash-period-switch-started': DASHPeriodSwitchStartedEvent;
|
|
34
|
+
'dash-period-switch-completed': DASHPeriodSwitchCompletedEvent;
|
|
35
|
+
'dash-quality-change-requested': DASHQualityChangeRequestedEvent;
|
|
36
|
+
'dash-quality-change-rendered': DASHQualityChangeRenderedEvent;
|
|
37
|
+
'dash-track-change-rendered': DASHTrackChangeRenderedEvent;
|
|
38
|
+
'dash-stream-initializing': DASHStreamInitializingEvent;
|
|
39
|
+
'dash-stream-updated': DASHStreamUpdatedEvent;
|
|
40
|
+
'dash-stream-activated': DASHStreamActivatedEvent;
|
|
41
|
+
'dash-stream-deactivated': DASHStreamDeactivatedEvent;
|
|
42
|
+
'dash-stream-initialized': DASHStreamInitializedEvent;
|
|
43
|
+
'dash-stream-teardown-complete': DASHStreamTeardownCompleteEvent;
|
|
44
|
+
'dash-text-tracks-added': DASHAllTextTracksAddedEvent;
|
|
45
|
+
'dash-text-track-added': DASHTextTrackAddedEvent;
|
|
46
|
+
'dash-cue-enter': DASHCueEnterEvent;
|
|
47
|
+
'dash-cue-exit': DASHCueExitEvent;
|
|
48
|
+
'dash-throughput-measurement-stored': DASHThroughputMeasurementStoredEvent;
|
|
49
|
+
'dash-ttml-parsed': DASHTtmlParsedEvent;
|
|
50
|
+
'dash-ttml-to-parse': DASHTtmlToParseEvent;
|
|
51
|
+
'dash-caption-rendered': DASHCaptionRenderedEvent;
|
|
52
|
+
'dash-caption-container-resize': DASHCaptionContainerResizeEvent;
|
|
53
|
+
'dash-can-play': DASHCanPlayEvent;
|
|
54
|
+
'dash-can-play-through': DASHCanPlayThroughEvent;
|
|
55
|
+
'dash-playback-ended': DASHPlaybackEndedEvent;
|
|
56
|
+
'dash-playback-error': DASHPlaybackErrorEvent;
|
|
57
|
+
'dash-playback-not-allowed': DASHPlaybackNotAllowedEvent;
|
|
58
|
+
'dash-playback-metadata-loaded': DASHPlaybackMetaDataLoadedEvent;
|
|
59
|
+
'dash-playback-loaded-data': DASHPlaybackLoadedDataEvent;
|
|
60
|
+
'dash-playback-paused': DASHPlaybackPausedEvent;
|
|
61
|
+
'dash-playback-playing': DASHPlaybackPlayingEvent;
|
|
62
|
+
'dash-playback-progress': DASHPlaybackProgressEvent;
|
|
63
|
+
'dash-playback-rate-changed': DASHPlaybackRateChangedEvent;
|
|
64
|
+
'dash-playback-seeked': DASHPlaybackSeekedEvent;
|
|
65
|
+
'dash-playback-seeking': DASHPlaybackSeekingEvent;
|
|
66
|
+
'dash-playback-stalled': DASHPlaybackStalledEvent;
|
|
67
|
+
'dash-playback-started': DASHPlaybackStartedEvent;
|
|
68
|
+
'dash-playback-time-updated': DASHPlaybackTimeUpdatedEvent;
|
|
69
|
+
'dash-playback-volume-changed': DASHPlaybackVolumeChangedEvent;
|
|
70
|
+
'dash-playback-waiting': DASHPlaybackWaitingEvent;
|
|
71
|
+
'dash-manifest-validity-changed': DASHManifestValidityChangedEvent;
|
|
72
|
+
'dash-event-mode-on-start': DASHEventModeOnStartEvent;
|
|
73
|
+
'dash-event-mode-on-receive': DASHEventModeOnReceiveEvent;
|
|
74
|
+
'dash-conformance-violation': DASHConformanceViolationEvent;
|
|
75
|
+
'dash-representation-switch': DASHRepresentationSwitchEvent;
|
|
76
|
+
'dash-adaptation-set-removed-no-capabilities': DASHAdaptationSetRemovedNoCapabilitiesEvent;
|
|
77
|
+
'dash-content-steering-request-completed': DASHContentSteeringRequestCompletedEvent;
|
|
78
|
+
'dash-inband-prft': DASHInbandPrftEvent;
|
|
79
|
+
'dash-managed-media-source-start-streaming': DASHManagedMediaSourceStartStreamingEvent;
|
|
80
|
+
'dash-managed-media-source-end-streaming': DASHManagedMediaSourceEndStreamingEvent;
|
|
81
|
+
}
|
|
82
|
+
export interface DASHMediaEvent<DetailType = unknown> extends DOMEvent<DetailType> {
|
|
83
|
+
target: MediaPlayer;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Fired when the browser begins downloading the `dash.js` library.
|
|
87
|
+
*/
|
|
88
|
+
export interface DASHLibLoadStartEvent extends DASHMediaEvent<void> {
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Fired when the `dash.js` library has been loaded.
|
|
92
|
+
*
|
|
93
|
+
* @detail constructor
|
|
94
|
+
*/
|
|
95
|
+
export interface DASHLibLoadedEvent extends DASHMediaEvent<typeof DASH.MediaPlayer> {
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Fired when the `dash.js` library fails during the download process.
|
|
99
|
+
*
|
|
100
|
+
* @detail error
|
|
101
|
+
*/
|
|
102
|
+
export interface DASHLibLoadErrorEvent extends DASHMediaEvent<Error> {
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Fired when the `dash.js` instance is built. This will not fire if the browser does not
|
|
106
|
+
* support `DASH.js`.
|
|
107
|
+
*
|
|
108
|
+
* @detail instance
|
|
109
|
+
*/
|
|
110
|
+
export interface DASHInstanceEvent extends DASHMediaEvent<DASH.MediaPlayerClass> {
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Fired when the browser doesn't support DASH natively, _and_ `dash.js` doesn't support
|
|
114
|
+
* this environment either, most likely due to missing Media Extensions or video codecs.
|
|
115
|
+
*/
|
|
116
|
+
export interface DASHUnsupportedEvent extends DASHMediaEvent<void> {
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Triggered when playback will not start yet as the MPD's `availabilityStartTime` is in the future.
|
|
120
|
+
* Check delay property in payload to determine time before playback will start.
|
|
121
|
+
*
|
|
122
|
+
* @detail data
|
|
123
|
+
*/
|
|
124
|
+
export interface DASHAstInFutureEvent extends DASHMediaEvent<DASH.AstInFutureEvent> {
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Triggered when the `BaseURL` have been updated.
|
|
128
|
+
*/
|
|
129
|
+
export interface DASHBaseUrlsUpdatedEvent extends DASHMediaEvent<void> {
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Triggered when the video element's buffer state changes to `stalled`. Check `mediaType` in
|
|
133
|
+
* payload to determine type (Video, Audio, FragmentedText).
|
|
134
|
+
*/
|
|
135
|
+
export interface DASHBufferStalledEvent extends DASHMediaEvent<void> {
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Triggered when the video element's buffer state changes to `loaded`. Check `mediaType` in payload
|
|
139
|
+
* to determine type (Video, Audio, FragmentedText).
|
|
140
|
+
*
|
|
141
|
+
* @detail data
|
|
142
|
+
*/
|
|
143
|
+
export interface DASHBufferLoadedEvent extends DASHMediaEvent<DASH.BufferEvent> {
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Triggered when the video element's buffer state changes, either stalled or loaded. Check
|
|
147
|
+
* payload for state.
|
|
148
|
+
*
|
|
149
|
+
* @detail data
|
|
150
|
+
*/
|
|
151
|
+
export interface DASHBufferStateChangedEvent extends DASHMediaEvent<DASH.BufferStateChangedEvent> {
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Triggered when the buffer level of a media type has been updated.
|
|
155
|
+
*/
|
|
156
|
+
export interface DASHBufferLevelUpdatedEvent extends DASHMediaEvent<void> {
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Triggered when a font signalled by a DVB Font Download has been added to the document `ntFaceSet`
|
|
160
|
+
* interface.
|
|
161
|
+
*
|
|
162
|
+
* @detail data
|
|
163
|
+
*/
|
|
164
|
+
export interface DASHDvbFontDownloadAddedEvent extends DASHMediaEvent<DASH.dvbFontDownloadAdded> {
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Triggered when a font signalled by a DVB Font Download has successfully downloaded and the
|
|
168
|
+
* `ntFace` can be used.
|
|
169
|
+
*
|
|
170
|
+
* @detail data
|
|
171
|
+
*/
|
|
172
|
+
export interface DASHDvbFontDownloadCompleteEvent extends DASHMediaEvent<DASH.dvbFontDownloadComplete> {
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Triggered when a font signalled by a DVB Font Download could not be successfully downloaded, so
|
|
176
|
+
* the `FontFace` will not be used.
|
|
177
|
+
*
|
|
178
|
+
* @detail data
|
|
179
|
+
*/
|
|
180
|
+
export interface DASHDvbFontDownloadFailedEvent extends DASHMediaEvent<DASH.dvbFontDownloadFailed> {
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Triggered when a dynamic stream changed to static (transition phase between Live and -Demand).
|
|
184
|
+
*
|
|
185
|
+
* @detail data
|
|
186
|
+
*/
|
|
187
|
+
export interface DASHDynamicToStaticEvent extends DASHMediaEvent<DASH.DynamicToStaticEvent> {
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Triggered when there is an error from the element or MSE source buffer.
|
|
191
|
+
*
|
|
192
|
+
* @detail error
|
|
193
|
+
*/
|
|
194
|
+
export interface DASHErrorEvent extends DASHMediaEvent<DASH.ErrorEvent> {
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Triggered when a fragment download has completed.
|
|
198
|
+
*
|
|
199
|
+
* @detail data
|
|
200
|
+
*/
|
|
201
|
+
export interface DASHFragmentLoadingCompletedEvent extends DASHMediaEvent<DASH.FragmentLoadingCompletedEvent> {
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Triggered when a partial fragment download has completed.
|
|
205
|
+
*/
|
|
206
|
+
export interface DASHFragmentLoadingProgressEvent extends DASHMediaEvent<void> {
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Triggered when a fragment download has started.
|
|
210
|
+
*/
|
|
211
|
+
export interface DASHFragmentLoadingStartedEvent extends DASHMediaEvent<void> {
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Triggered when a fragment download is abandoned due to detection of slow download base on e
|
|
215
|
+
* ABR abandon rule.
|
|
216
|
+
*
|
|
217
|
+
* @detail data
|
|
218
|
+
*/
|
|
219
|
+
export interface DASHFragmentLoadingAbandonedEvent extends DASHMediaEvent<DASH.FragmentLoadingAbandonedEvent> {
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Triggered when Debug logger methods are called.
|
|
223
|
+
*
|
|
224
|
+
* @detail data
|
|
225
|
+
*/
|
|
226
|
+
export interface DASHLogEvent extends DASHMediaEvent<DASH.LogEvent> {
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* Triggered when the manifest load has started.
|
|
230
|
+
*/
|
|
231
|
+
export interface DASHManifestLoadingStartedEvent extends DASHMediaEvent<void> {
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* Triggered when the manifest loading is finished, providing the request object information.
|
|
235
|
+
*/
|
|
236
|
+
export interface DASHManifestLoadingFinishedEvent extends DASHMediaEvent<void> {
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Triggered when the manifest load is complete, providing the payload.
|
|
240
|
+
*
|
|
241
|
+
* @detail data
|
|
242
|
+
*/
|
|
243
|
+
export interface DASHManifestLoadedEvent extends DASHMediaEvent<DASH.ManifestLoadedEvent> {
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* Triggered anytime there is a change to the overall metrics.
|
|
247
|
+
*/
|
|
248
|
+
export interface DASHMetricsChangedEvent extends DASHMediaEvent<void> {
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* Triggered when an individual metric is added, updated or cleared.
|
|
252
|
+
*
|
|
253
|
+
* @detail data
|
|
254
|
+
*/
|
|
255
|
+
export interface DASHMetricChangedEvent extends DASHMediaEvent<DASH.MetricChangedEvent> {
|
|
256
|
+
}
|
|
257
|
+
/**
|
|
258
|
+
* Triggered every time a new metric is added.
|
|
259
|
+
*
|
|
260
|
+
* @detail data
|
|
261
|
+
*/
|
|
262
|
+
export interface DASHMetricAddedEvent extends DASHMediaEvent<DASH.MetricEvent> {
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Triggered every time a metric is updated.
|
|
266
|
+
*
|
|
267
|
+
* @detail data
|
|
268
|
+
*/
|
|
269
|
+
export interface DASHMetricUpdatedEvent extends DASHMediaEvent<DASH.MetricEvent> {
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* Triggered when a new stream (period) starts.
|
|
273
|
+
*
|
|
274
|
+
* @detail data
|
|
275
|
+
*/
|
|
276
|
+
export interface DASHPeriodSwitchStartedEvent extends DASHMediaEvent<DASH.PeriodSwitchEvent> {
|
|
277
|
+
}
|
|
278
|
+
/**
|
|
279
|
+
* Triggered at the stream end of a period.
|
|
280
|
+
*
|
|
281
|
+
* @detail data
|
|
282
|
+
*/
|
|
283
|
+
export interface DASHPeriodSwitchCompletedEvent extends DASHMediaEvent<DASH.PeriodSwitchEvent> {
|
|
284
|
+
}
|
|
285
|
+
/**
|
|
286
|
+
* Triggered when an ABR up /down switch is initiated; either by user in manual mode or auto de via
|
|
287
|
+
* ABR rules.
|
|
288
|
+
*
|
|
289
|
+
* @detail data
|
|
290
|
+
*/
|
|
291
|
+
export interface DASHQualityChangeRequestedEvent extends DASHMediaEvent<DASH.QualityChangeRequestedEvent> {
|
|
292
|
+
}
|
|
293
|
+
/**
|
|
294
|
+
* Triggered when the new ABR quality is being rendered on-screen.
|
|
295
|
+
*
|
|
296
|
+
* @detail data
|
|
297
|
+
*/
|
|
298
|
+
export interface DASHQualityChangeRenderedEvent extends DASHMediaEvent<DASH.QualityChangeRenderedEvent> {
|
|
299
|
+
}
|
|
300
|
+
/**
|
|
301
|
+
* Triggered when the new track is being rendered.
|
|
302
|
+
*
|
|
303
|
+
* @detail data
|
|
304
|
+
*/
|
|
305
|
+
export interface DASHTrackChangeRenderedEvent extends DASHMediaEvent<DASH.TrackChangeRenderedEvent> {
|
|
306
|
+
}
|
|
307
|
+
/**
|
|
308
|
+
* Triggered when a stream (period) is being loaded.
|
|
309
|
+
*/
|
|
310
|
+
export interface DASHStreamInitializingEvent extends DASHMediaEvent<void> {
|
|
311
|
+
}
|
|
312
|
+
/**
|
|
313
|
+
* Triggered when a stream (period) is loaded.
|
|
314
|
+
*/
|
|
315
|
+
export interface DASHStreamUpdatedEvent extends DASHMediaEvent<void> {
|
|
316
|
+
}
|
|
317
|
+
/**
|
|
318
|
+
* Triggered when a stream (period) is activated.
|
|
319
|
+
*/
|
|
320
|
+
export interface DASHStreamActivatedEvent extends DASHMediaEvent<void> {
|
|
321
|
+
}
|
|
322
|
+
/**
|
|
323
|
+
* Triggered when a stream (period) is deactivated
|
|
324
|
+
*/
|
|
325
|
+
export interface DASHStreamDeactivatedEvent extends DASHMediaEvent<void> {
|
|
326
|
+
}
|
|
327
|
+
/**
|
|
328
|
+
* Triggered when a stream (period) is activated.
|
|
329
|
+
*
|
|
330
|
+
* @detail data
|
|
331
|
+
*/
|
|
332
|
+
export interface DASHStreamInitializedEvent extends DASHMediaEvent<DASH.StreamInitializedEvent> {
|
|
333
|
+
}
|
|
334
|
+
/**
|
|
335
|
+
* Triggered when the player has been reset.
|
|
336
|
+
*/
|
|
337
|
+
export interface DASHStreamTeardownCompleteEvent extends DASHMediaEvent<void> {
|
|
338
|
+
}
|
|
339
|
+
/**
|
|
340
|
+
* Triggered once all text tracks detected in the MPD are added to the video element.
|
|
341
|
+
*
|
|
342
|
+
* @detail data
|
|
343
|
+
*/
|
|
344
|
+
export interface DASHAllTextTracksAddedEvent extends DASHMediaEvent<DASH.TextTracksAddedEvent> {
|
|
345
|
+
}
|
|
346
|
+
/**
|
|
347
|
+
* Triggered when a text track is added to the video element's `TextTrackList`.
|
|
348
|
+
*
|
|
349
|
+
* @detail data
|
|
350
|
+
*/
|
|
351
|
+
export interface DASHTextTrackAddedEvent extends DASHMediaEvent<DASH.TextTracksAddedEvent> {
|
|
352
|
+
}
|
|
353
|
+
/**
|
|
354
|
+
* Triggered when a text track should be shown.
|
|
355
|
+
*
|
|
356
|
+
* @detail data
|
|
357
|
+
*/
|
|
358
|
+
export interface DASHCueEnterEvent extends DASHMediaEvent<DASH.CueEnterEvent> {
|
|
359
|
+
}
|
|
360
|
+
/**
|
|
361
|
+
* Triggered when a text track should be hidden.
|
|
362
|
+
*
|
|
363
|
+
* @detail data
|
|
364
|
+
*/
|
|
365
|
+
export interface DASHCueExitEvent extends DASHMediaEvent<DASH.CueExitEvent> {
|
|
366
|
+
}
|
|
367
|
+
/**
|
|
368
|
+
* Triggered when a throughput measurement based on the last segment request has been stored.
|
|
369
|
+
*
|
|
370
|
+
* @detail data
|
|
371
|
+
*/
|
|
372
|
+
export interface DASHThroughputMeasurementStoredEvent extends DASHMediaEvent<void> {
|
|
373
|
+
}
|
|
374
|
+
/**
|
|
375
|
+
* Triggered when a `ttml` chunk is parsed.
|
|
376
|
+
*
|
|
377
|
+
* @detail data
|
|
378
|
+
*/
|
|
379
|
+
export interface DASHTtmlParsedEvent extends DASHMediaEvent<DASH.TtmlParsedEvent> {
|
|
380
|
+
}
|
|
381
|
+
/**
|
|
382
|
+
* Triggered when a `ttml` chunk has to be parsed.
|
|
383
|
+
*
|
|
384
|
+
* @detail data
|
|
385
|
+
*/
|
|
386
|
+
export interface DASHTtmlToParseEvent extends DASHMediaEvent<DASH.TtmlToParseEvent> {
|
|
387
|
+
}
|
|
388
|
+
/**
|
|
389
|
+
* Triggered when a caption is rendered.
|
|
390
|
+
*
|
|
391
|
+
* @detail data
|
|
392
|
+
*/
|
|
393
|
+
export interface DASHCaptionRenderedEvent extends DASHMediaEvent<DASH.CaptionRenderedEvent> {
|
|
394
|
+
}
|
|
395
|
+
/**
|
|
396
|
+
* Triggered when the caption container is resized.
|
|
397
|
+
*
|
|
398
|
+
* @detail data
|
|
399
|
+
*/
|
|
400
|
+
export interface DASHCaptionContainerResizeEvent extends DASHMediaEvent<DASH.CaptionContainerResizeEvent> {
|
|
401
|
+
}
|
|
402
|
+
/**
|
|
403
|
+
* Sent when enough data is available that the media can be played, at least for a couple of
|
|
404
|
+
* frames. This corresponds to the `HAVE_ENOUGH_DATA` `readyState`.
|
|
405
|
+
*/
|
|
406
|
+
export interface DASHCanPlayEvent extends DASHMediaEvent<void> {
|
|
407
|
+
}
|
|
408
|
+
/**
|
|
409
|
+
* This corresponds to the `CAN_PLAY_THROUGH` `readyState`.
|
|
410
|
+
*/
|
|
411
|
+
export interface DASHCanPlayThroughEvent extends DASHMediaEvent<void> {
|
|
412
|
+
}
|
|
413
|
+
/**
|
|
414
|
+
* Sent when playback completes.
|
|
415
|
+
*/
|
|
416
|
+
export interface DASHPlaybackEndedEvent extends DASHMediaEvent<void> {
|
|
417
|
+
}
|
|
418
|
+
/**
|
|
419
|
+
* Sent when an error occurs. The element's error attribute contains more information.
|
|
420
|
+
*
|
|
421
|
+
* @detail data
|
|
422
|
+
*/
|
|
423
|
+
export interface DASHPlaybackErrorEvent extends DASHMediaEvent<DASH.PlaybackErrorEvent> {
|
|
424
|
+
}
|
|
425
|
+
/**
|
|
426
|
+
* Sent when playback is not allowed (for example if user gesture is needed).
|
|
427
|
+
*/
|
|
428
|
+
export interface DASHPlaybackNotAllowedEvent extends DASHMediaEvent<void> {
|
|
429
|
+
}
|
|
430
|
+
/**
|
|
431
|
+
* The media's metadata has finished loading; all attributes now contain as much useful
|
|
432
|
+
* information as they're going to.
|
|
433
|
+
*/
|
|
434
|
+
export interface DASHPlaybackMetaDataLoadedEvent extends DASHMediaEvent<void> {
|
|
435
|
+
}
|
|
436
|
+
/**
|
|
437
|
+
* The event is fired when the frame at the current playback position of the media has finished
|
|
438
|
+
* loading; often the first frame.
|
|
439
|
+
*/
|
|
440
|
+
export interface DASHPlaybackLoadedDataEvent extends DASHMediaEvent<void> {
|
|
441
|
+
}
|
|
442
|
+
/**
|
|
443
|
+
* Sent when playback is paused.
|
|
444
|
+
*
|
|
445
|
+
* @detail data
|
|
446
|
+
*/
|
|
447
|
+
export interface DASHPlaybackPausedEvent extends DASHMediaEvent<DASH.PlaybackPausedEvent> {
|
|
448
|
+
}
|
|
449
|
+
/**
|
|
450
|
+
* Sent when the media begins to play (either for the first time, after having been paused,
|
|
451
|
+
* or after ending and then restarting).
|
|
452
|
+
*
|
|
453
|
+
* @detail data
|
|
454
|
+
*/
|
|
455
|
+
export interface DASHPlaybackPlayingEvent extends DASHMediaEvent<DASH.PlaybackPlayingEvent> {
|
|
456
|
+
}
|
|
457
|
+
/**
|
|
458
|
+
* Sent periodically to inform interested parties of progress downloading the media. Information
|
|
459
|
+
* about the current amount of the media that has been downloaded is available in the media
|
|
460
|
+
* element's buffered attribute.
|
|
461
|
+
*/
|
|
462
|
+
export interface DASHPlaybackProgressEvent extends DASHMediaEvent<void> {
|
|
463
|
+
}
|
|
464
|
+
/**
|
|
465
|
+
* Sent when the playback speed changes.
|
|
466
|
+
*
|
|
467
|
+
* @detail data
|
|
468
|
+
*/
|
|
469
|
+
export interface DASHPlaybackRateChangedEvent extends DASHMediaEvent<DASH.PlaybackRateChangedEvent> {
|
|
470
|
+
}
|
|
471
|
+
/**
|
|
472
|
+
* Sent when a seek operation completes.
|
|
473
|
+
*/
|
|
474
|
+
export interface DASHPlaybackSeekedEvent extends DASHMediaEvent<void> {
|
|
475
|
+
}
|
|
476
|
+
/**
|
|
477
|
+
* Sent when a seek operation begins.
|
|
478
|
+
*
|
|
479
|
+
* @detail data
|
|
480
|
+
*/
|
|
481
|
+
export interface DASHPlaybackSeekingEvent extends DASHMediaEvent<DASH.PlaybackSeekingEvent> {
|
|
482
|
+
}
|
|
483
|
+
/**
|
|
484
|
+
* Sent when the video element reports stalled.
|
|
485
|
+
*/
|
|
486
|
+
export interface DASHPlaybackStalledEvent extends DASHMediaEvent<void> {
|
|
487
|
+
}
|
|
488
|
+
/**
|
|
489
|
+
* Sent when playback of the media starts after having been paused; that is, when playback is
|
|
490
|
+
* resumed after a prior pause event.
|
|
491
|
+
*
|
|
492
|
+
* @detail data
|
|
493
|
+
*/
|
|
494
|
+
export interface DASHPlaybackStartedEvent extends DASHMediaEvent<DASH.PlaybackStartedEvent> {
|
|
495
|
+
}
|
|
496
|
+
/**
|
|
497
|
+
* The time indicated by the element's currentTime attribute has changed.
|
|
498
|
+
*
|
|
499
|
+
* @detail data
|
|
500
|
+
*/
|
|
501
|
+
export interface DASHPlaybackTimeUpdatedEvent extends DASHMediaEvent<DASH.PlaybackTimeUpdatedEvent> {
|
|
502
|
+
}
|
|
503
|
+
/**
|
|
504
|
+
* Sent when the video element reports that the volume has changed.
|
|
505
|
+
*/
|
|
506
|
+
export interface DASHPlaybackVolumeChangedEvent extends DASHMediaEvent<void> {
|
|
507
|
+
}
|
|
508
|
+
/**
|
|
509
|
+
* Sent when the media playback has stopped because of a temporary lack of data.
|
|
510
|
+
*
|
|
511
|
+
* @detail data
|
|
512
|
+
*/
|
|
513
|
+
export interface DASHPlaybackWaitingEvent extends DASHMediaEvent<DASH.PlaybackWaitingEvent> {
|
|
514
|
+
}
|
|
515
|
+
/**
|
|
516
|
+
* Manifest validity changed - As a result of an MPD validity expiration event.
|
|
517
|
+
*/
|
|
518
|
+
export interface DASHManifestValidityChangedEvent extends DASHMediaEvent<void> {
|
|
519
|
+
}
|
|
520
|
+
/**
|
|
521
|
+
* Dash events are triggered at their respective start points on the timeline.
|
|
522
|
+
*/
|
|
523
|
+
export interface DASHEventModeOnStartEvent extends DASHMediaEvent<void> {
|
|
524
|
+
}
|
|
525
|
+
/**
|
|
526
|
+
* Dash events are triggered as soon as they were parsed.
|
|
527
|
+
*/
|
|
528
|
+
export interface DASHEventModeOnReceiveEvent extends DASHMediaEvent<void> {
|
|
529
|
+
}
|
|
530
|
+
/**
|
|
531
|
+
* Event that is dispatched whenever the player encounters a potential conformance validation at
|
|
532
|
+
* might lead to unexpected/not optimal behavior.
|
|
533
|
+
*/
|
|
534
|
+
export interface DASHConformanceViolationEvent extends DASHMediaEvent<void> {
|
|
535
|
+
}
|
|
536
|
+
/**
|
|
537
|
+
* Event that is dispatched whenever the player switches to a different representation.
|
|
538
|
+
*/
|
|
539
|
+
export interface DASHRepresentationSwitchEvent extends DASHMediaEvent<void> {
|
|
540
|
+
}
|
|
541
|
+
/**
|
|
542
|
+
* Event that is dispatched whenever an adaptation set is removed due to all representations to
|
|
543
|
+
* being supported.
|
|
544
|
+
*
|
|
545
|
+
* @detail data
|
|
546
|
+
*/
|
|
547
|
+
export interface DASHAdaptationSetRemovedNoCapabilitiesEvent extends DASHMediaEvent<DASH.AdaptationSetRemovedNoCapabilitiesEvent> {
|
|
548
|
+
}
|
|
549
|
+
/**
|
|
550
|
+
* Triggered when a content steering request has completed.
|
|
551
|
+
*/
|
|
552
|
+
export interface DASHContentSteeringRequestCompletedEvent extends DASHMediaEvent<void> {
|
|
553
|
+
}
|
|
554
|
+
/**
|
|
555
|
+
* Triggered when an inband prft (ProducerReferenceTime) boxes has been received.
|
|
556
|
+
*
|
|
557
|
+
* @detail data
|
|
558
|
+
*/
|
|
559
|
+
export interface DASHInbandPrftEvent extends DASHMediaEvent<DASH.InbandPrftReceivedEvent> {
|
|
560
|
+
}
|
|
561
|
+
/**
|
|
562
|
+
* The streaming attribute of the Managed Media Source is `true`.
|
|
563
|
+
*/
|
|
564
|
+
export interface DASHManagedMediaSourceStartStreamingEvent extends DASHMediaEvent<void> {
|
|
565
|
+
}
|
|
566
|
+
/**
|
|
567
|
+
* The streaming attribute of the Managed Media Source is `false`.
|
|
568
|
+
*/
|
|
569
|
+
export interface DASHManagedMediaSourceEndStreamingEvent extends DASHMediaEvent<void> {
|
|
570
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { MediaContext } from '../../core/api/media-context';
|
|
2
|
+
import type { DASHConstructor, DASHLibrary } from './types';
|
|
3
|
+
export declare class DASHLibLoader {
|
|
4
|
+
#private;
|
|
5
|
+
constructor(lib: DASHLibrary, ctx: MediaContext, callback: (ctor: DASHConstructor) => void);
|
|
6
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Src } from '../../core/api/src-types';
|
|
2
|
+
import type { MediaProviderLoader } from '../types';
|
|
3
|
+
import { VideoProviderLoader } from '../video/loader';
|
|
4
|
+
import { DASHProvider } from './provider';
|
|
5
|
+
export declare class DASHProviderLoader extends VideoProviderLoader implements MediaProviderLoader<DASHProvider> {
|
|
6
|
+
static supported: boolean;
|
|
7
|
+
readonly name = "dash";
|
|
8
|
+
canPlay(src: Src): boolean;
|
|
9
|
+
load(context: any): Promise<DASHProvider>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { type Dispose } from 'maverick.js';
|
|
2
|
+
import type { Src } from '../../core/api/src-types';
|
|
3
|
+
import type { MediaProviderAdapter } from '../types';
|
|
4
|
+
import { VideoProvider } from '../video/provider';
|
|
5
|
+
import type { DASHInstanceCallback, DASHLibrary } from './types';
|
|
6
|
+
/**
|
|
7
|
+
* The DASH provider introduces support for DASH streaming via the popular `dash.js`
|
|
8
|
+
*
|
|
9
|
+
* @docs {@link https://www.vidstack.io/docs/player/providers/dash}
|
|
10
|
+
* @see {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video}
|
|
11
|
+
* @see {@link https://cdn.dashjs.org/latest/jsdoc/index.html}
|
|
12
|
+
* @example
|
|
13
|
+
* ```html
|
|
14
|
+
* <media-player
|
|
15
|
+
* src="https://files.vidstack.io/dash/manifest.mpd"
|
|
16
|
+
* poster="https://files.vidstack.io/poster.png"
|
|
17
|
+
* >
|
|
18
|
+
* <media-provider></media-provider>
|
|
19
|
+
* </media-player>
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export declare class DASHProvider extends VideoProvider implements MediaProviderAdapter {
|
|
23
|
+
#private;
|
|
24
|
+
protected $$PROVIDER_TYPE: string;
|
|
25
|
+
/**
|
|
26
|
+
* The `dash.js` constructor.
|
|
27
|
+
*/
|
|
28
|
+
get ctor(): typeof import("dashjs").MediaPlayer | null;
|
|
29
|
+
/**
|
|
30
|
+
* The current `dash.js` instance.
|
|
31
|
+
*/
|
|
32
|
+
get instance(): import("dashjs").MediaPlayerClass | null;
|
|
33
|
+
/**
|
|
34
|
+
* Whether `dash.js` is supported in this environment.
|
|
35
|
+
*/
|
|
36
|
+
static supported: boolean;
|
|
37
|
+
get type(): string;
|
|
38
|
+
get canLiveSync(): boolean;
|
|
39
|
+
/**
|
|
40
|
+
* The `dash.js` configuration object.
|
|
41
|
+
*
|
|
42
|
+
* @see {@link https://cdn.dashjs.org/latest/jsdoc/module-Settings.html}
|
|
43
|
+
*/
|
|
44
|
+
get config(): Partial<import("dashjs").MediaPlayerSettingClass>;
|
|
45
|
+
set config(config: Partial<import("dashjs").MediaPlayerSettingClass>);
|
|
46
|
+
/**
|
|
47
|
+
* The `dash.js` constructor (supports dynamic imports) or a URL of where it can be found.
|
|
48
|
+
*
|
|
49
|
+
* @defaultValue `https://cdn.jsdelivr.net/npm/dashjs@4.7.4/dist/dash.all.min.js`
|
|
50
|
+
*/
|
|
51
|
+
get library(): DASHLibrary;
|
|
52
|
+
set library(library: DASHLibrary);
|
|
53
|
+
preconnect(): void;
|
|
54
|
+
setup(): void;
|
|
55
|
+
loadSource(src: Src, preload?: HTMLMediaElement['preload']): Promise<void>;
|
|
56
|
+
/**
|
|
57
|
+
* The given callback is invoked when a new `dash.js` instance is created and right before it's
|
|
58
|
+
* attached to media.
|
|
59
|
+
*/
|
|
60
|
+
onInstance(callback: DASHInstanceCallback): Dispose;
|
|
61
|
+
destroy(): void;
|
|
62
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type DASH from 'dashjs';
|
|
2
|
+
import type { DASHProviderEvents } from './events';
|
|
3
|
+
export { type DASHProviderEvents };
|
|
4
|
+
export type DASHConstructor = typeof DASH.MediaPlayer;
|
|
5
|
+
export type DASHConstructorLoader = () => Promise<{
|
|
6
|
+
default: DASHConstructor;
|
|
7
|
+
} | undefined>;
|
|
8
|
+
export type DASHNamespace = typeof DASH;
|
|
9
|
+
export type DASHNamespaceLoader = () => Promise<{
|
|
10
|
+
default: typeof DASH;
|
|
11
|
+
} | undefined>;
|
|
12
|
+
export type DASHLibrary = DASHConstructor | DASHConstructorLoader | DASHNamespace | DASHNamespaceLoader | string | undefined;
|
|
13
|
+
export type DASHInstanceCallback = (player: DASH.MediaPlayerClass) => void;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export declare abstract class EmbedProvider<Message> {
|
|
2
|
+
#private;
|
|
3
|
+
protected abstract getOrigin(): string;
|
|
4
|
+
protected abstract buildParams(): Record<string, any>;
|
|
5
|
+
protected abstract onMessage(message: Message, event: MessageEvent): void;
|
|
6
|
+
protected abstract onLoad(): void;
|
|
7
|
+
protected src: import("maverick.js").WriteSignal<string>;
|
|
8
|
+
/**
|
|
9
|
+
* Defines which referrer is sent when fetching the resource.
|
|
10
|
+
*
|
|
11
|
+
* @see {@link https://developer.mozilla.org/en-US/docs/Web/API/HTMLIFrameElement/referrerPolicy}
|
|
12
|
+
*/
|
|
13
|
+
referrerPolicy: ReferrerPolicy | null;
|
|
14
|
+
get iframe(): HTMLIFrameElement;
|
|
15
|
+
constructor(iframe: HTMLIFrameElement);
|
|
16
|
+
setup(): void;
|
|
17
|
+
postMessage(message: any, target?: string): void;
|
|
18
|
+
}
|