@bitmovin/player-web-x 10.2.0-beta.0 → 10.2.0-beta.11
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/bundles/playerx-bitmovin-v8-core.js +3 -3
- package/bundles/playerx-bitmovin-v8.js +3 -3
- package/bundles/playerx-core.js +3 -3
- package/bundles/playerx-dash.js +3 -3
- package/bundles/playerx-hls-ts-audio.d.ts +1 -0
- package/bundles/playerx-hls-ts-audio.js +3 -3
- package/bundles/playerx-hls.js +3 -3
- package/bundles/playerx-playback.d.ts +1 -0
- package/bundles/playerx-playback.js +10 -0
- package/bundles/playerx-tv.js +3 -3
- package/framework-types/Types.d.ts +3 -1
- package/framework-types/effects/LoggerEffect.d.ts +59 -0
- package/framework-types/registry/Registry.d.ts +3 -3
- package/package.json +1 -1
- package/packages/playerx-adaptation.package.js +3 -3
- package/packages/playerx-advertising-api.package.d.ts +1 -0
- package/packages/playerx-advertising-api.package.js +10 -0
- package/packages/playerx-advertising-base.package.d.ts +1 -0
- package/packages/playerx-advertising-base.package.js +10 -0
- package/packages/playerx-advertising-bitmovin.package.d.ts +1 -0
- package/packages/playerx-advertising-bitmovin.package.js +10 -0
- package/packages/playerx-analytics.package.d.ts +1 -0
- package/packages/playerx-analytics.package.js +3 -3
- package/packages/playerx-bitmovin-advertising-bundle.package.d.ts +1 -0
- package/packages/playerx-bitmovin-advertising-bundle.package.js +10 -0
- package/packages/playerx-bitmovin-source-api.package.js +3 -3
- package/packages/playerx-bitmovin-ui.package.js +3 -3
- package/packages/playerx-bitmovin-v8-core.package.js +3 -3
- package/packages/playerx-bitmovin-v8-static-api.package.js +3 -3
- package/packages/playerx-bitmovin-video-element-utils.package.js +3 -3
- package/packages/playerx-capabilities.package.js +3 -3
- package/packages/playerx-container-mp4.package.js +3 -3
- package/packages/playerx-container-ts.package.js +3 -3
- package/packages/playerx-core.package.js +3 -3
- package/packages/playerx-dash-manifest-technology.package.d.ts +1 -0
- package/packages/playerx-dash-manifest-technology.package.js +10 -0
- package/packages/playerx-dash-manifest.package.d.ts +1 -0
- package/packages/playerx-dash-manifest.package.js +10 -0
- package/packages/playerx-dash-parsing.package.js +3 -3
- package/packages/playerx-dash-translation.package.js +3 -3
- package/packages/playerx-dash.package.js +3 -3
- package/packages/playerx-data.package.js +3 -3
- package/packages/playerx-event-bus.package.js +3 -3
- package/packages/playerx-hls-manifest-technology.package.d.ts +1 -0
- package/packages/playerx-hls-manifest-technology.package.js +10 -0
- package/packages/playerx-hls-manifest.package.d.ts +1 -0
- package/packages/playerx-hls-manifest.package.js +10 -0
- package/packages/playerx-hls-parsing.package.js +3 -3
- package/packages/playerx-hls-translation.package.js +3 -3
- package/packages/playerx-hls.package.js +3 -3
- package/packages/playerx-mse-playback.package.d.ts +1 -0
- package/packages/playerx-mse-playback.package.js +10 -0
- package/packages/playerx-mse-presentation.package.d.ts +1 -0
- package/packages/playerx-mse-presentation.package.js +10 -0
- package/packages/playerx-native-playback.package.d.ts +1 -0
- package/packages/playerx-native-playback.package.js +10 -0
- package/packages/playerx-native-presentation.package.d.ts +1 -0
- package/packages/playerx-native-presentation.package.js +10 -0
- package/packages/playerx-network.package.js +3 -3
- package/packages/playerx-no-adaptation.package.d.ts +1 -0
- package/packages/playerx-no-adaptation.package.js +3 -3
- package/packages/playerx-playback-api.package.js +3 -3
- package/packages/playerx-playback-technology.package.d.ts +1 -0
- package/packages/playerx-playback-technology.package.js +10 -0
- package/packages/playerx-playback.package.js +3 -3
- package/packages/playerx-player-api.package.js +3 -3
- package/packages/playerx-segment-processing.package.js +3 -3
- package/packages/playerx-source.package.js +3 -3
- package/packages/playerx-sources-api.package.js +3 -3
- package/packages/playerx-stream-data-structure.package.d.ts +1 -0
- package/packages/playerx-stream-data-structure.package.js +10 -0
- package/packages/playerx-streaming.package.d.ts +1 -0
- package/packages/playerx-streaming.package.js +10 -0
- package/packages/playerx-subtitle-api.package.js +3 -3
- package/packages/playerx-subtitle-base.package.js +3 -3
- package/packages/playerx-subtitle-format-detection.package.js +3 -3
- package/packages/playerx-subtitle-native-renderer.package.js +3 -3
- package/packages/playerx-subtitles.package.js +3 -3
- package/packages/playerx-trick-play.package.js +3 -3
- package/packages/playerx-ts-transmuxer.package.js +3 -3
- package/packages/playerx-tv.package.js +3 -3
- package/packages/playerx-ui.package.d.ts +1 -0
- package/packages/playerx-ui.package.js +10 -0
- package/packages/playerx-view-mode.package.js +3 -3
- package/packages/playerx-web-vtt.package.js +3 -3
- package/playerx-framework-utils.js +2 -2
- package/types/bundles/BitmovinV8.bundle.d.ts +1 -1
- package/types/bundles/Dash.bundle.d.ts +2 -3
- package/types/bundles/Hls.bundle.d.ts +3 -4
- package/types/bundles/HlsTsAudio.bundle.d.ts +26 -0
- package/types/bundles/Playback.bundle.d.ts +28 -0
- package/types/bundles/Tv.bundle.d.ts +1 -1
- package/types/bundles/Types.d.ts +2 -2
- package/types/packages/adaptation/Adaptation.package.d.ts +4 -3
- package/types/packages/adaptation/AdaptationStateAtom.d.ts +14 -23
- package/types/packages/adaptation/NoAdaptation.package.d.ts +10 -0
- package/types/packages/adaptation/Types.d.ts +32 -8
- package/types/packages/adaptation/WishConfigAtom.d.ts +4 -29
- package/types/packages/advertising/BitmovinAdvertisingBundle.package.d.ts +14 -0
- package/types/packages/advertising/api/AdvertisingApi.package.d.ts +12 -0
- package/types/packages/advertising/api/AdvertisingEvents.d.ts +44 -0
- package/types/packages/advertising/api/Types.d.ts +49 -0
- package/types/packages/advertising/base/AdPosition.d.ts +4 -0
- package/types/packages/advertising/base/AdSchedule.d.ts +3 -0
- package/types/packages/advertising/base/AdTagAtom.d.ts +11 -0
- package/types/packages/advertising/base/AdvertisingBase.package.d.ts +12 -0
- package/types/packages/advertising/base/BaseAdAtom.d.ts +22 -0
- package/types/packages/advertising/base/BaseAdBreakAtom.d.ts +29 -0
- package/types/packages/advertising/base/PreloadConfigAtom.d.ts +17 -0
- package/types/packages/advertising/base/Types.d.ts +67 -0
- package/types/packages/advertising/bitmovin/AdvertisingBitmovin.package.d.ts +14 -0
- package/types/packages/advertising/bitmovin/Types.d.ts +46 -0
- package/types/packages/analytics/Analytics.package.d.ts +15 -0
- package/types/packages/analytics/Types.d.ts +20 -0
- package/types/packages/capabilities/Capabilities.package.d.ts +1 -1
- package/types/packages/capabilities/Types.d.ts +5 -2
- package/types/packages/container/container-mp4/ContainerMp4.package.d.ts +3 -2
- package/types/packages/container/container-ts/ContainerTs.package.d.ts +3 -2
- package/types/packages/container/ts-transmuxer/TsTransmuxer.package.d.ts +3 -2
- package/types/packages/core/Constants.d.ts +11 -2
- package/types/packages/core/Types.d.ts +4 -54
- package/types/packages/core/state/StateMachineAtom.d.ts +20 -6
- package/types/packages/core/state/Symbols.d.ts +1 -0
- package/types/packages/core/state/Types.d.ts +2 -1
- package/types/packages/core/state/stream-timeline/StreamSectionAtom.d.ts +1 -1
- package/types/packages/core/state/stream-timeline/StreamSequenceMapAtom.d.ts +2 -2
- package/types/packages/core/state/timeline/Types.d.ts +1 -1
- package/types/packages/core/technology/Types.d.ts +19 -0
- package/types/packages/core/utils/MapUnsubscribedError.d.ts +1 -1
- package/types/packages/core/utils/RangesHelper.d.ts +3 -1
- package/types/packages/core/utils/StateUtils.d.ts +9 -3
- package/types/packages/core/utils/Types.d.ts +0 -2
- package/types/packages/data/Data.package.d.ts +1 -1
- package/types/packages/data/Types.d.ts +6 -7
- package/types/packages/event-bus/EventBus.d.ts +6 -3
- package/types/packages/event-bus/EventBus.package.d.ts +2 -1
- package/types/packages/event-bus/Types.d.ts +32 -12
- package/types/packages/manifest/dash/DashManifest.package.d.ts +3 -0
- package/types/packages/manifest/dash/parsing/DashParsing.package.d.ts +0 -3
- package/types/packages/manifest/dash/root/Dash.package.d.ts +1 -1
- package/types/packages/manifest/dash/root/Types.d.ts +4 -4
- package/types/packages/manifest/dash/technology/DashManifestTechnology.package.d.ts +11 -0
- package/types/packages/manifest/dash/technology/Types.d.ts +32 -0
- package/types/packages/manifest/dash/technology/atoms/DashTechStateAtom.d.ts +10 -0
- package/types/packages/manifest/dash/translation/DashTranslation.package.d.ts +1 -1
- package/types/packages/manifest/dash/translation/Types.d.ts +2 -4
- package/types/packages/manifest/dash/translation/manifests/DashPlaylistTranslatorTask.d.ts +1 -1
- package/types/packages/manifest/hls/HlsManifest.package.d.ts +3 -0
- package/types/packages/manifest/hls/parsing/HlsParsing.package.d.ts +0 -3
- package/types/packages/manifest/hls/parsing/HlsParsingFunctions.d.ts +1 -1
- package/types/packages/manifest/hls/parsing/Types.d.ts +1 -1
- package/types/packages/manifest/hls/parsing/m3u8/TranslatorStream.d.ts +2 -2
- package/types/packages/manifest/hls/root/Hls.package.d.ts +5 -5
- package/types/packages/manifest/hls/technology/HlsManifestTechnology.package.d.ts +11 -0
- package/types/packages/manifest/hls/technology/Types.d.ts +32 -0
- package/types/packages/manifest/hls/technology/atoms/HlsTechStateAtom.d.ts +10 -0
- package/types/packages/manifest/hls/translation/HlsTranslation.package.d.ts +3 -5
- package/types/packages/manifest/hls/translation/manifests/HlsMultivariantPlaylistTranslatorTask.d.ts +1 -1
- package/types/packages/manifest/hls/translation/manifests/HlsVariantTranslationTask.d.ts +2 -2
- package/types/packages/network/Network.package.d.ts +1 -1
- package/types/packages/playback/play-pause/Types.d.ts +0 -3
- package/types/packages/playback/playback-state/Types.d.ts +0 -3
- package/types/packages/playback/video-element-state/SeekRestrictionAtom.d.ts +2 -0
- package/types/packages/playback/video-element-state/Types.d.ts +4 -1
- package/types/packages/playback/volume/TargetVolumeStateAtom.d.ts +10 -0
- package/types/packages/playback/volume/Types.d.ts +19 -0
- package/types/packages/playback-api/Types.d.ts +5 -3
- package/types/packages/playback-api/playback-api-events/Types.d.ts +7 -5
- package/types/packages/playback-api/playback-api-events/events/DurationChangedEvent.d.ts +6 -0
- package/types/packages/playback-api/playback-api-events/events/PlaybackEventMap.d.ts +14 -1
- package/types/packages/playback-api/playback-api-events/events/PlaybackRateChangedEvent.d.ts +6 -0
- package/types/packages/playback-api/playback-api-events/events/VolumeChangedEvent.d.ts +6 -0
- package/types/packages/playback-api/time-api/SeekableRangeProviderAtom.d.ts +20 -0
- package/types/packages/playback-api/time-api/Types.d.ts +36 -0
- package/types/packages/playback-api/volume-api/Types.d.ts +19 -0
- package/types/packages/playback-technology/PlaybackTechnology.package.d.ts +23 -0
- package/types/packages/playback-technology/Types.d.ts +54 -0
- package/types/packages/player-api/PlayerApi.package.d.ts +2 -4
- package/types/packages/player-api/Types.d.ts +3 -2
- package/types/packages/presentation/mse/MsePlayback.package.d.ts +3 -0
- package/types/packages/presentation/mse/playback-technology/Types.d.ts +26 -0
- package/types/packages/presentation/mse/playback-technology/atoms/MsePresentationStateAtom.d.ts +10 -0
- package/types/packages/presentation/mse/presentation/MsePresentation.package.d.ts +55 -0
- package/types/packages/presentation/{Types.d.ts → mse/presentation/Types.d.ts} +1 -1
- package/types/packages/presentation/mse/presentation/cache/Types.d.ts +4 -0
- package/types/packages/presentation/native/NativePlayback.package.d.ts +4 -0
- package/types/packages/presentation/native/Types.d.ts +12 -0
- package/types/packages/presentation/native/playback-technology/Types.d.ts +26 -0
- package/types/packages/presentation/native/playback-technology/atoms/NativePresentationStateAtom.d.ts +10 -0
- package/types/packages/presentation/native/presentation/NativePresentation.package.d.ts +14 -0
- package/types/packages/presentation/native/presentation/Types.d.ts +12 -0
- package/types/packages/segment-processing/SegmentProcessing.package.d.ts +1 -1
- package/types/packages/segment-processing/Types.d.ts +4 -6
- package/types/packages/source/Source.package.d.ts +1 -1
- package/types/packages/source/SourceReference.d.ts +2 -1
- package/types/packages/source/Types.d.ts +4 -0
- package/types/packages/source/atoms/PlaybackAtom.d.ts +5 -1
- package/types/packages/source/atoms/PlaybackConfigAtom.d.ts +1 -0
- package/types/packages/source/atoms/SourceConfigAtom.d.ts +11 -4
- package/types/packages/source/atoms/SourceStateAtom.d.ts +10 -23
- package/types/packages/sources-api/SourceRemovedError.d.ts +5 -0
- package/types/packages/sources-api/SourcesApi.package.d.ts +1 -1
- package/types/packages/sources-api/Types.d.ts +22 -7
- package/types/packages/stream-data-structure/StreamDataStructure.package.d.ts +4 -0
- package/types/packages/stream-data-structure/Types.d.ts +23 -0
- package/types/packages/stream-data-structure/segment/Exports.d.ts +22 -0
- package/types/packages/{core/state → stream-data-structure}/segment/SegmentAtom.d.ts +8 -8
- package/types/packages/stream-data-structure/segment/SegmentDataAtom.d.ts +19 -0
- package/types/packages/{core/state → stream-data-structure}/segment/SegmentTimingAtom.d.ts +3 -3
- package/types/packages/{core/state → stream-data-structure}/segment/SegmentUtils.d.ts +10 -10
- package/types/packages/stream-data-structure/selection-group/Exports.d.ts +16 -0
- package/types/packages/{core/state → stream-data-structure}/selection-group/SelectionGroupAtom.d.ts +17 -15
- package/types/packages/stream-data-structure/selection-group/SelectionGroupTypeGuards.d.ts +11 -0
- package/types/packages/stream-data-structure/selection-group/SelectionGroupUtils.d.ts +7 -0
- package/types/packages/stream-data-structure/stream/Exports.d.ts +8 -0
- package/types/packages/{core/state → stream-data-structure}/stream/StreamAtom.d.ts +8 -8
- package/types/packages/stream-data-structure/track/Exports.d.ts +18 -0
- package/types/packages/{core/state → stream-data-structure}/track/TrackAtom.d.ts +18 -26
- package/types/packages/stream-data-structure/track/TrackTypeGuards.d.ts +13 -0
- package/types/packages/streaming/Streaming.package.d.ts +12 -0
- package/types/packages/streaming/Types.d.ts +11 -0
- package/types/packages/{core/state/data-ranges → streaming/atoms}/DataRangesAtom.d.ts +8 -8
- package/types/packages/streaming/atoms/StreamingStateAtom.d.ts +30 -0
- package/types/packages/subtitles/subtitle-api/SubtitleApi.package.d.ts +1 -1
- package/types/packages/subtitles/subtitle-api/Types.d.ts +8 -5
- package/types/packages/subtitles/subtitle-base/SubtitleBase.package.d.ts +1 -1
- package/types/packages/subtitles/subtitle-base/SubtitleCueMapAtom.d.ts +1 -1
- package/types/packages/subtitles/subtitle-base/Types.d.ts +4 -4
- package/types/packages/subtitles/subtitle-format-detection/SubtitleFormatDetection.package.d.ts +1 -1
- package/types/packages/subtitles/subtitle-format-detection/Types.d.ts +3 -4
- package/types/packages/subtitles/subtitle-native-renderer/SubtitleNativeRenderer.package.d.ts +1 -1
- package/types/packages/subtitles/subtitle-native-renderer/Types.d.ts +4 -1
- package/types/packages/subtitles/webvtt/Types.d.ts +5 -3
- package/types/packages/subtitles/webvtt/WebVtt.package.d.ts +1 -1
- package/types/packages/trick-play/TrickPlay.package.d.ts +6 -14
- package/types/packages/tv/Tv.package.d.ts +1 -4
- package/types/packages/ui/Types.d.ts +36 -0
- package/types/packages/ui/Ui.package.d.ts +4 -0
- package/types/packages/v8-compat/BitmovinUi.package.d.ts +1 -1
- package/types/packages/v8-compat/BitmovinV8StaticApi.package.d.ts +5 -6
- package/types/packages/v8-compat/source-api/BitmovinSourceApi.package.d.ts +4 -2
- package/types/packages/v8-compat/types/Types.d.ts +1 -1
- package/types/packages/v8-compat/video-element/BitmovinVideoElementUtils.package.d.ts +1 -4
- package/types/packages/view-mode/ViewMode.package.d.ts +1 -4
- package/packages/playerx-presentation.package.d.ts +0 -1
- package/packages/playerx-presentation.package.js +0 -10
- package/types/packages/core/state/segment/SegmentDataAtom.d.ts +0 -31
- package/types/packages/core/state/selection-group/SelectionGroupTypeGuards.d.ts +0 -5
- package/types/packages/core/state/selection-group/SelectionGroupUtils.d.ts +0 -7
- package/types/packages/core/state/track/TrackTypeGuards.d.ts +0 -7
- package/types/packages/core/utils/Logger.d.ts +0 -40
- package/types/packages/presentation/Presentation.package.d.ts +0 -62
- package/types/packages/presentation/cache/Types.d.ts +0 -4
- /package/types/packages/{core/state → stream-data-structure}/segment/SegmentTypeGuards.d.ts +0 -0
- /package/types/packages/{source → streaming}/atoms/BufferConfigAtom.d.ts +0 -0
- /package/types/packages/{source → streaming}/atoms/MediaTypeMapAtom.d.ts +0 -0
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*
|
|
7
7
|
*
|
|
8
8
|
* ### `BitmovinSourceApi` Package Dependency Graph
|
|
9
|
-
* <svg aria-roledescription="flowchart-v2" role="graphics-document document" viewBox="-8 -43 1539.65625 1178" style="max-width: 1539.66px; background-color: transparent;" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" width="100%" id="my-svg"><style>#my-svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#ccc;}#my-svg .error-icon{fill:#a44141;}#my-svg .error-text{fill:#ddd;stroke:#ddd;}#my-svg .edge-thickness-normal{stroke-width:2px;}#my-svg .edge-thickness-thick{stroke-width:3.5px;}#my-svg .edge-pattern-solid{stroke-dasharray:0;}#my-svg .edge-pattern-dashed{stroke-dasharray:3;}#my-svg .edge-pattern-dotted{stroke-dasharray:2;}#my-svg .marker{fill:lightgrey;stroke:lightgrey;}#my-svg .marker.cross{stroke:lightgrey;}#my-svg svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#my-svg .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#ccc;}#my-svg .cluster-label text{fill:#F9FFFE;}#my-svg .cluster-label span,#my-svg p{color:#F9FFFE;}#my-svg .label text,#my-svg span,#my-svg p{fill:#ccc;color:#ccc;}#my-svg .node rect,#my-svg .node circle,#my-svg .node ellipse,#my-svg .node polygon,#my-svg .node path{fill:#1f2020;stroke:#81B1DB;stroke-width:1px;}#my-svg .flowchart-label text{text-anchor:middle;}#my-svg .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#my-svg .node .label{text-align:center;}#my-svg .node.clickable{cursor:pointer;}#my-svg .arrowheadPath{fill:lightgrey;}#my-svg .edgePath .path{stroke:lightgrey;stroke-width:2.0px;}#my-svg .flowchart-link{stroke:lightgrey;fill:none;}#my-svg .edgeLabel{background-color:hsl(0, 0%, 34.4117647059%);text-align:center;}#my-svg .edgeLabel rect{opacity:0.5;background-color:hsl(0, 0%, 34.4117647059%);fill:hsl(0, 0%, 34.4117647059%);}#my-svg .labelBkg{background-color:rgba(87.75, 87.75, 87.75, 0.5);}#my-svg .cluster rect{fill:hsl(180, 1.5873015873%, 28.3529411765%);stroke:rgba(255, 255, 255, 0.25);stroke-width:1px;}#my-svg .cluster text{fill:#F9FFFE;}#my-svg .cluster span,#my-svg p{color:#F9FFFE;}#my-svg div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(20, 1.5873015873%, 12.3529411765%);border:1px solid rgba(255, 255, 255, 0.25);border-radius:2px;pointer-events:none;z-index:100;}#my-svg .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#ccc;}#my-svg :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g><marker orient="auto" markerHeight="12" markerWidth="12" markerUnits="userSpaceOnUse" refY="5" refX="6" viewBox="0 0 10 10" class="marker flowchart" id="my-svg_flowchart-pointEnd"><path style="stroke-width: 1; stroke-dasharray: 1, 0;" class="arrowMarkerPath" d="M 0 0 L 10 5 L 0 10 z"/></marker><marker orient="auto" markerHeight="12" markerWidth="12" markerUnits="userSpaceOnUse" refY="5" refX="4.5" viewBox="0 0 10 10" class="marker flowchart" id="my-svg_flowchart-pointStart"><path style="stroke-width: 1; stroke-dasharray: 1, 0;" class="arrowMarkerPath" d="M 0 5 L 10 10 L 10 0 z"/></marker><marker orient="auto" markerHeight="11" markerWidth="11" markerUnits="userSpaceOnUse" refY="5" refX="11" viewBox="0 0 10 10" class="marker flowchart" id="my-svg_flowchart-circleEnd"><circle style="stroke-width: 1; stroke-dasharray: 1, 0;" class="arrowMarkerPath" r="5" cy="5" cx="5"/></marker><marker orient="auto" markerHeight="11" markerWidth="11" markerUnits="userSpaceOnUse" refY="5" refX="-1" viewBox="0 0 10 10" class="marker flowchart" id="my-svg_flowchart-circleStart"><circle style="stroke-width: 1; stroke-dasharray: 1, 0;" class="arrowMarkerPath" r="5" cy="5" cx="5"/></marker><marker orient="auto" markerHeight="11" markerWidth="11" markerUnits="userSpaceOnUse" refY="5.2" refX="12" viewBox="0 0 11 11" class="marker cross flowchart" id="my-svg_flowchart-crossEnd"><path style="stroke-width: 2; stroke-dasharray: 1, 0;" class="arrowMarkerPath" d="M 1,1 l 9,9 M 10,1 l -9,9"/></marker><marker orient="auto" markerHeight="11" markerWidth="11" markerUnits="userSpaceOnUse" refY="5.2" refX="-1" viewBox="0 0 11 11" class="marker cross flowchart" id="my-svg_flowchart-crossStart"><path style="stroke-width: 2; stroke-dasharray: 1, 0;" class="arrowMarkerPath" d="M 1,1 l 9,9 M 10,1 l -9,9"/></marker><g class="root"><g class="clusters"/><g class="edgePaths"><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-BitmovinSourceApi LE-Core" id="L-BitmovinSourceApi-Core-0" d="M83.577,799.5L98.842,829.167C114.108,858.833,144.64,918.167,171.698,947.833C198.755,977.5,222.339,977.5,245.922,977.5C269.505,977.5,293.089,977.5,317.784,977.5C342.479,977.5,368.286,977.5,394.094,977.5C419.901,977.5,445.708,977.5,466.845,977.5C487.982,977.5,504.448,977.5,520.914,977.5C537.38,977.5,553.846,977.5,572.387,977.5C590.927,977.5,611.542,977.5,632.156,977.5C652.771,977.5,673.385,977.5,701.042,977.5C728.698,977.5,763.396,977.5,798.094,977.5C832.792,977.5,867.49,977.5,902.26,977.5C937.031,977.5,971.875,977.5,1006.719,977.5C1041.563,977.5,1076.406,977.5,1115.228,977.5C1154.049,977.5,1196.849,977.5,1239.648,977.5C1282.448,977.5,1325.247,977.5,1361.252,858.627C1397.257,739.753,1426.468,502.007,1441.073,383.134L1455.678,264.26"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-BitmovinSourceApi LE-ViewMode" id="L-BitmovinSourceApi-ViewMode-0" d="M150.172,794.816L154.339,795.472C158.505,796.127,166.839,797.439,182.797,798.094C198.755,798.75,222.339,798.75,245.922,798.75C269.505,798.75,293.089,798.75,317.784,798.75C342.479,798.75,368.286,798.75,394.094,798.75C419.901,798.75,445.708,798.75,466.845,798.75C487.982,798.75,504.448,798.75,520.914,798.75C537.38,798.75,553.846,798.75,572.387,798.75C590.927,798.75,611.542,798.75,632.156,798.75C652.771,798.75,673.385,798.75,692.707,798.75C712.028,798.75,730.055,798.75,739.069,798.75L748.083,798.75"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-BitmovinSourceApi LE-BitmovinVideoElementUtils" id="L-BitmovinSourceApi-BitmovinVideoElementUtils-0" d="M86.988,799.5L101.685,819.875C116.383,840.25,145.777,881,172.266,901.375C198.755,921.75,222.339,921.75,245.922,921.75C269.505,921.75,293.089,921.75,317.784,921.75C342.479,921.75,368.286,921.75,394.094,921.75C419.901,921.75,445.708,921.75,466.845,921.75C487.982,921.75,504.448,921.75,520.914,921.75C537.38,921.75,553.846,921.75,572.387,921.75C590.927,921.75,611.542,921.75,632.156,921.75C652.771,921.75,673.385,921.75,701.042,921.75C728.698,921.75,763.396,921.75,798.094,921.75C832.792,921.75,867.49,921.75,902.26,921.75C937.031,921.75,971.875,921.75,1006.719,921.75C1041.563,921.75,1076.406,921.75,1097.118,921.346C1117.83,920.943,1124.41,920.136,1127.7,919.732L1130.989,919.329"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-BitmovinSourceApi LE-BitmovinV8StaticApi" id="L-BitmovinSourceApi-BitmovinV8StaticApi-0" d="M96.887,766.5L109.934,756.625C122.982,746.75,149.077,727,173.916,717.125C198.755,707.25,222.339,707.25,245.922,707.25C269.505,707.25,293.089,707.25,317.784,707.25C342.479,707.25,368.286,707.25,394.094,707.25C419.901,707.25,445.708,707.25,466.845,707.25C487.982,707.25,504.448,707.25,520.914,707.25C537.38,707.25,553.846,707.25,572.387,707.25C590.927,707.25,611.542,707.25,632.156,707.25C652.771,707.25,673.385,707.25,701.042,707.25C728.698,707.25,763.396,707.25,798.094,707.25C832.792,707.25,867.49,707.25,897.966,697.204C928.442,687.157,954.696,667.064,967.823,657.018L980.95,646.971"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-BitmovinSourceApi LE-SubtitleApi" id="L-BitmovinSourceApi-SubtitleApi-0" d="M79.598,766.5L95.527,708.25C111.456,650,143.314,533.5,162.526,475.25C181.739,417,188.305,417,191.589,417L194.872,417"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-BitmovinSourceApi LE-Source" id="L-BitmovinSourceApi-Source-0" d="M121.279,766.5L130.262,763.292C139.244,760.083,157.208,753.667,177.981,750.458C198.755,747.25,222.339,747.25,245.922,747.25C269.505,747.25,293.089,747.25,317.784,747.25C342.479,747.25,368.286,747.25,394.094,747.25C419.901,747.25,445.708,747.25,466.845,747.25C487.982,747.25,504.448,747.25,520.914,747.25C537.38,747.25,553.846,747.25,572.387,747.25C590.927,747.25,611.542,747.25,632.156,747.25C652.771,747.25,673.385,747.25,701.042,747.25C728.698,747.25,763.396,747.25,798.094,747.25C832.792,747.25,867.49,747.25,902.26,747.25C937.031,747.25,971.875,747.25,1006.719,747.25C1041.563,747.25,1076.406,747.25,1112.825,719.768C1149.243,692.287,1187.236,637.323,1206.233,609.841L1225.229,582.36"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-BitmovinSourceApi LE-SourcesApi" id="L-BitmovinSourceApi-SourcesApi-0" d="M89.7,799.5L103.946,815.583C118.191,831.667,146.681,863.833,172.718,879.917C198.755,896,222.339,896,245.922,896C269.505,896,293.089,896,317.784,896C342.479,896,368.286,896,394.094,896C419.901,896,445.708,896,466.845,896C487.982,896,504.448,896,520.914,896C537.38,896,553.846,896,572.387,896C590.927,896,611.542,896,632.156,896C652.771,896,673.385,896,701.042,896C728.698,896,763.396,896,798.094,896C832.792,896,867.49,896,893.334,893.907C919.178,891.815,936.168,887.629,944.663,885.537L953.159,883.444"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-ViewMode LE-Core" id="L-ViewMode-Core-0" d="M808.913,815.25L824.459,838.958C840.004,862.667,871.096,910.083,904.064,933.792C937.031,957.5,971.875,957.5,1006.719,957.5C1041.563,957.5,1076.406,957.5,1115.228,957.5C1154.049,957.5,1196.849,957.5,1239.648,957.5C1282.448,957.5,1325.247,957.5,1361.24,841.96C1397.232,726.419,1426.418,495.339,1441.011,379.799L1455.603,264.258"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-ViewMode LE-Source" id="L-ViewMode-Source-0" d="M822.115,782.25L835.461,773.083C848.806,763.917,875.497,745.583,906.264,736.417C937.031,727.25,971.875,727.25,1006.719,727.25C1041.563,727.25,1076.406,727.25,1112.557,703.073C1148.707,678.897,1186.164,630.543,1204.892,606.367L1223.621,582.19"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-ViewMode LE-BitmovinV8StaticApi" id="L-ViewMode-BitmovinV8StaticApi-0" d="M812.742,782.25L827.65,765.458C842.557,748.667,872.372,715.083,898.619,692.407C924.866,669.73,947.544,657.961,958.883,652.076L970.222,646.191"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-ViewMode LE-SourcesApi" id="L-ViewMode-SourcesApi-0" d="M822.115,815.25L835.461,824.417C848.806,833.583,875.497,851.917,897.312,861.083C919.127,870.25,936.066,870.25,944.535,870.25L953.005,870.25"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Source LE-Core" id="L-Source-Core-0" d="M1272.5,561.5L1288.424,561.5C1304.349,561.5,1336.198,561.5,1366.154,511.933C1396.11,462.367,1424.174,363.233,1438.205,313.666L1452.237,264.1"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-BitmovinV8StaticApi LE-Core" id="L-BitmovinV8StaticApi-Core-0" d="M1012.126,610.75L1028.646,560.333C1045.167,509.917,1078.209,409.083,1116.129,358.667C1154.049,308.25,1196.849,308.25,1239.648,308.25C1282.448,308.25,1325.247,308.25,1357.207,300.562C1389.166,292.873,1410.286,277.496,1420.845,269.808L1431.405,262.12"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-BitmovinV8StaticApi LE-Source" id="L-BitmovinV8StaticApi-Source-0" d="M1086.25,627.25L1090.417,627.25C1094.583,627.25,1102.917,627.25,1122.327,619.444C1141.736,611.639,1172.223,596.027,1187.466,588.221L1202.709,580.416"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-BitmovinV8StaticApi LE-BitmovinV8Core" id="L-BitmovinV8StaticApi-BitmovinV8Core-0" d="M1011.074,643.75L1027.77,707C1044.466,770.25,1077.858,896.75,1115.954,960C1154.049,1023.25,1196.849,1023.25,1239.648,1023.25C1282.448,1023.25,1325.247,1023.25,1349.932,1023.041C1374.617,1022.832,1381.187,1022.413,1384.472,1022.204L1387.758,1021.995"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-BitmovinV8StaticApi LE-BitmovinVideoElementUtils" id="L-BitmovinV8StaticApi-BitmovinVideoElementUtils-0" d="M1015.278,643.75L1031.274,674.583C1047.269,705.417,1079.259,767.083,1111.327,807.586C1143.394,848.089,1175.538,867.428,1191.61,877.098L1207.682,886.768"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-BitmovinVideoElementUtils LE-Core" id="L-BitmovinVideoElementUtils-Core-0" d="M1243.078,889.5L1263.906,789.292C1284.734,689.083,1326.391,488.667,1357.341,383.33C1388.291,277.994,1408.536,267.738,1418.658,262.61L1428.78,257.482"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-BitmovinVideoElementUtils LE-BitmovinV8Core" id="L-BitmovinVideoElementUtils-BitmovinV8Core-0" d="M1262.802,922.5L1280.343,935C1297.884,947.5,1332.965,972.5,1353.81,985.732C1374.655,998.964,1381.264,1000.427,1384.568,1001.159L1387.872,1001.891"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-SourcesApi LE-Core" id="L-SourcesApi-Core-0" d="M1009.584,853.75L1026.528,756.167C1043.473,658.583,1077.361,463.417,1115.705,365.833C1154.049,268.25,1196.849,268.25,1239.648,268.25C1282.448,268.25,1325.247,268.25,1356.708,265.381C1388.168,262.512,1408.29,256.775,1418.35,253.906L1428.411,251.037"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-SourcesApi LE-Source" id="L-SourcesApi-Source-0" d="M1012.813,853.75L1029.219,809.333C1045.626,764.917,1078.438,676.083,1109.902,628.647C1141.367,581.21,1171.484,575.17,1186.542,572.15L1201.6,569.13"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-SourcesApi LE-EventBus" id="L-SourcesApi-EventBus-0" d="M1013.456,886.75L1029.755,926.667C1046.054,966.583,1078.652,1046.417,1116.351,1086.333C1154.049,1126.25,1196.849,1126.25,1239.648,1126.25C1282.448,1126.25,1325.247,1126.25,1353.871,1124.99C1382.494,1123.73,1396.941,1121.211,1404.165,1119.951L1411.388,1118.691"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-SourcesApi LE-PlayerApi" id="L-SourcesApi-PlayerApi-0" d="M1015.153,886.75L1031.169,918.083C1047.185,949.417,1079.218,1012.083,1108.793,1043.417C1138.369,1074.75,1165.488,1074.75,1179.047,1074.75L1192.606,1074.75"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-PlayerApi LE-EventBus" id="L-PlayerApi-EventBus-0" d="M1281.391,1074.75L1295.833,1074.75C1310.276,1074.75,1339.161,1074.75,1360.887,1077.633C1382.613,1080.516,1397.179,1086.283,1404.462,1089.166L1411.745,1092.049"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-SubtitleApi LE-Core" id="L-SubtitleApi-Core-0" d="M252.612,400.5L263.288,374.167C273.965,347.833,295.318,295.167,318.899,268.833C342.479,242.5,368.286,242.5,394.094,242.5C419.901,242.5,445.708,242.5,466.845,242.5C487.982,242.5,504.448,242.5,520.914,242.5C537.38,242.5,553.846,242.5,572.387,242.5C590.927,242.5,611.542,242.5,632.156,242.5C652.771,242.5,673.385,242.5,701.042,242.5C728.698,242.5,763.396,242.5,798.094,242.5C832.792,242.5,867.49,242.5,902.26,242.5C937.031,242.5,971.875,242.5,1006.719,242.5C1041.563,242.5,1076.406,242.5,1115.228,242.5C1154.049,242.5,1196.849,242.5,1239.648,242.5C1282.448,242.5,1325.247,242.5,1356.674,242.5C1388.101,242.5,1408.154,242.5,1418.181,242.5L1428.208,242.5"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-SubtitleApi LE-Data" id="L-SubtitleApi-Data-0" d="M256.253,400.5L266.323,384.417C276.392,368.333,296.532,336.167,319.506,320.083C342.479,304,368.286,304,394.094,304C419.901,304,445.708,304,461.913,303.332C478.117,302.664,484.719,301.327,488.02,300.659L491.321,299.991"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-SubtitleApi LE-SubtitleBase" id="L-SubtitleApi-SubtitleBase-0" d="M264.904,400.5L273.532,393C282.16,385.5,299.416,370.5,311.327,363C323.239,355.5,329.805,355.5,333.089,355.5L336.372,355.5"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-SubtitleApi LE-Source" id="L-SubtitleApi-Source-0" d="M254.001,433.5L264.446,454.833C274.891,476.167,295.781,518.833,319.13,540.167C342.479,561.5,368.286,561.5,394.094,561.5C419.901,561.5,445.708,561.5,466.845,561.5C487.982,561.5,504.448,561.5,520.914,561.5C537.38,561.5,553.846,561.5,572.387,561.5C590.927,561.5,611.542,561.5,632.156,561.5C652.771,561.5,673.385,561.5,701.042,561.5C728.698,561.5,763.396,561.5,798.094,561.5C832.792,561.5,867.49,561.5,902.26,561.5C937.031,561.5,971.875,561.5,1006.719,561.5C1041.563,561.5,1076.406,561.5,1108.869,561.5C1141.332,561.5,1171.415,561.5,1186.456,561.5L1201.497,561.5"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-SubtitleApi LE-BitmovinV8StaticApi" id="L-SubtitleApi-BitmovinV8StaticApi-0" d="M250.696,433.5L261.692,471.5C272.688,509.5,294.68,585.5,318.58,623.5C342.479,661.5,368.286,661.5,394.094,661.5C419.901,661.5,445.708,661.5,466.845,661.5C487.982,661.5,504.448,661.5,520.914,661.5C537.38,661.5,553.846,661.5,572.387,661.5C590.927,661.5,611.542,661.5,632.156,661.5C652.771,661.5,673.385,661.5,701.042,661.5C728.698,661.5,763.396,661.5,798.094,661.5C832.792,661.5,867.49,661.5,893.028,658.817C918.566,656.133,934.945,650.767,943.135,648.084L951.324,645.4"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-SubtitleApi LE-SourcesApi" id="L-SubtitleApi-SourcesApi-0" d="M248.616,433.5L259.959,502.958C271.302,572.417,293.987,711.333,318.233,780.792C342.479,850.25,368.286,850.25,394.094,850.25C419.901,850.25,445.708,850.25,466.845,850.25C487.982,850.25,504.448,850.25,520.914,850.25C537.38,850.25,553.846,850.25,572.387,850.25C590.927,850.25,611.542,850.25,632.156,850.25C652.771,850.25,673.385,850.25,701.042,850.25C728.698,850.25,763.396,850.25,798.094,850.25C832.792,850.25,867.49,850.25,893.324,851.873C919.158,853.497,936.129,856.744,944.614,858.367L953.099,859.991"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Data LE-Capabilities" id="L-Data-Capabilities-0" d="M525.585,277.5L533.04,251.167C540.494,224.833,555.403,172.167,573.165,145.833C590.927,119.5,611.542,119.5,632.156,119.5C652.771,119.5,673.385,119.5,701.042,119.5C728.698,119.5,763.396,119.5,798.094,119.5C832.792,119.5,867.49,119.5,902.26,119.5C937.031,119.5,971.875,119.5,1006.719,119.5C1041.563,119.5,1076.406,119.5,1106.201,119.5C1135.996,119.5,1160.743,119.5,1173.116,119.5L1185.489,119.5"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Data LE-Core" id="L-Data-Core-0" d="M532.314,277.5L538.647,268.333C544.98,259.167,557.646,240.833,574.287,231.667C590.927,222.5,611.542,222.5,632.156,222.5C652.771,222.5,673.385,222.5,701.042,222.5C728.698,222.5,763.396,222.5,798.094,222.5C832.792,222.5,867.49,222.5,902.26,222.5C937.031,222.5,971.875,222.5,1006.719,222.5C1041.563,222.5,1076.406,222.5,1115.228,222.5C1154.049,222.5,1196.849,222.5,1239.648,222.5C1282.448,222.5,1325.247,222.5,1356.695,224.725C1388.142,226.951,1408.238,231.401,1418.285,233.626L1428.333,235.852"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Data LE-Network" id="L-Data-Network-0" d="M527.541,277.5L534.669,259.75C541.798,242,556.055,206.5,566.467,188.75C576.879,171,583.446,171,586.729,171L590.013,171"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Data LE-SegmentProcessing" id="L-Data-SegmentProcessing-0" d="M524.688,310.5L532.292,343.75C539.896,377,555.104,443.5,573.016,476.75C590.927,510,611.542,510,632.156,510C652.771,510,673.385,510,686.976,510C700.567,510,707.133,510,710.417,510L713.7,510"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Data LE-Adaptation" id="L-Data-Adaptation-0" d="M527.245,310.5L534.423,329.208C541.601,347.917,555.957,385.333,573.442,404.042C590.927,422.75,611.542,422.75,632.156,422.75C652.771,422.75,673.385,422.75,692.542,421.411C711.699,420.072,729.397,417.394,738.246,416.055L747.096,414.716"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Data LE-NoAdaptation" id="L-Data-NoAdaptation-0" d="M524.028,277.5L531.742,236.625C539.456,195.75,554.884,114,572.906,73.125C590.927,32.25,611.542,32.25,632.156,32.25C652.771,32.25,673.385,32.25,690.838,31.169C708.29,30.088,722.579,27.926,729.724,26.845L736.869,25.764"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Data LE-Source" id="L-Data-Source-0" d="M525.869,310.5L533.276,335.167C540.683,359.833,555.498,409.167,573.213,433.833C590.927,458.5,611.542,458.5,632.156,458.5C652.771,458.5,673.385,458.5,701.042,458.5C728.698,458.5,763.396,458.5,798.094,458.5C832.792,458.5,867.49,458.5,902.26,458.5C937.031,458.5,971.875,458.5,1006.719,458.5C1041.563,458.5,1076.406,458.5,1111.111,472.364C1145.815,486.228,1180.38,513.956,1197.663,527.82L1214.946,541.684"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Data LE-BitmovinV8StaticApi" id="L-Data-BitmovinV8StaticApi-0" d="M523.26,310.5L531.102,365.667C538.944,420.833,554.628,531.167,572.778,586.333C590.927,641.5,611.542,641.5,632.156,641.5C652.771,641.5,673.385,641.5,701.042,641.5C728.698,641.5,763.396,641.5,798.094,641.5C832.792,641.5,867.49,641.5,888.13,641.051C908.77,640.603,915.353,639.705,918.645,639.257L921.936,638.808"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Capabilities LE-Core" id="L-Capabilities-Core-0" d="M1288.508,119.5L1301.764,119.5C1315.021,119.5,1341.534,119.5,1367.299,136.538C1393.065,153.576,1418.083,187.652,1430.592,204.69L1443.101,221.728"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Network LE-Core" id="L-Network-Core-0" d="M642.063,154.5L650.719,140.083C659.376,125.667,676.688,96.833,702.693,82.417C728.698,68,763.396,68,798.094,68C832.792,68,867.49,68,902.26,68C937.031,68,971.875,68,1006.719,68C1041.563,68,1076.406,68,1115.228,68C1154.049,68,1196.849,68,1239.648,68C1282.448,68,1325.247,68,1359.869,93.549C1394.49,119.098,1420.933,170.195,1434.155,195.744L1447.377,221.293"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Network LE-Adaptation" id="L-Network-Adaptation-0" d="M636.789,187.5L646.324,221.458C655.86,255.417,674.93,323.333,693.314,358.631C711.699,393.928,729.397,396.606,738.246,397.945L747.096,399.284"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Network LE-NoAdaptation" id="L-Network-NoAdaptation-0" d="M638.15,154.5L647.458,128.875C656.767,103.25,675.383,52,691.836,27.456C708.29,2.912,722.579,5.074,729.724,6.155L736.869,7.236"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Adaptation LE-Core" id="L-Adaptation-Core-0" d="M802.803,390.5L819.367,332.458C835.931,274.417,869.059,158.333,903.045,100.292C937.031,42.25,971.875,42.25,1006.719,42.25C1041.563,42.25,1076.406,42.25,1115.228,42.25C1154.049,42.25,1196.849,42.25,1239.648,42.25C1282.448,42.25,1325.247,42.25,1360.095,72.07C1394.942,101.89,1421.837,161.529,1435.284,191.349L1448.732,221.169"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Adaptation LE-Source" id="L-Adaptation-Source-0" d="M843.852,407L853.574,407C863.297,407,882.742,407,909.887,407C937.031,407,971.875,407,1006.719,407C1041.563,407,1076.406,407,1112.378,429.321C1148.349,451.641,1185.449,496.283,1203.999,518.603L1222.548,540.924"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Adaptation LE-BitmovinV8StaticApi" id="L-Adaptation-BitmovinV8StaticApi-0" d="M806.101,423.5L822.115,456.5C838.13,489.5,870.159,555.5,889.458,588.681C908.757,621.861,915.326,622.223,918.611,622.403L921.896,622.584"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-NoAdaptation LE-Core" id="L-NoAdaptation-Core-0" d="M854.078,16.5L862.096,16.5C870.115,16.5,886.151,16.5,911.591,16.5C937.031,16.5,971.875,16.5,1006.719,16.5C1041.563,16.5,1076.406,16.5,1115.228,16.5C1154.049,16.5,1196.849,16.5,1239.648,16.5C1282.448,16.5,1325.247,16.5,1360.271,50.596C1395.295,84.693,1422.544,152.886,1436.168,186.982L1449.792,221.078"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-SegmentProcessing LE-Source" id="L-SegmentProcessing-Source-0" d="M811.434,493.5L826.56,474.792C841.685,456.083,871.936,418.667,904.484,399.958C937.031,381.25,971.875,381.25,1006.719,381.25C1041.563,381.25,1076.406,381.25,1112.756,407.822C1149.107,434.394,1186.963,487.539,1205.892,514.111L1224.82,540.683"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-SegmentProcessing LE-BitmovinV8StaticApi" id="L-SegmentProcessing-BitmovinV8StaticApi-0" d="M816.865,526.5L831.085,539C845.306,551.5,873.747,576.5,893.368,590.33C912.989,604.161,923.79,606.822,929.191,608.152L934.591,609.482"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-SubtitleBase LE-Core" id="L-SubtitleBase-Core-0" d="M397.365,339L409.724,276.667C422.082,214.333,446.799,89.667,467.39,27.333C487.982,-35,504.448,-35,520.914,-35C537.38,-35,553.846,-35,572.387,-35C590.927,-35,611.542,-35,632.156,-35C652.771,-35,673.385,-35,701.042,-35C728.698,-35,763.396,-35,798.094,-35C832.792,-35,867.49,-35,902.26,-35C937.031,-35,971.875,-35,1006.719,-35C1041.563,-35,1076.406,-35,1115.228,-35C1154.049,-35,1196.849,-35,1239.648,-35C1282.448,-35,1325.247,-35,1360.53,7.66C1395.812,50.32,1423.577,135.64,1437.459,178.3L1451.342,220.96"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-SubtitleBase LE-Data" id="L-SubtitleBase-Data-0" d="M410.63,339L420.778,328.875C430.926,318.75,451.221,298.5,464.693,289.435C478.166,280.37,484.816,282.491,488.141,283.551L491.466,284.611"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-SubtitleBase LE-Source" id="L-SubtitleBase-Source-0" d="M446.516,355.5L450.682,355.5C454.849,355.5,463.182,355.5,475.582,355.5C487.982,355.5,504.448,355.5,520.914,355.5C537.38,355.5,553.846,355.5,572.387,355.5C590.927,355.5,611.542,355.5,632.156,355.5C652.771,355.5,673.385,355.5,701.042,355.5C728.698,355.5,763.396,355.5,798.094,355.5C832.792,355.5,867.49,355.5,902.26,355.5C937.031,355.5,971.875,355.5,1006.719,355.5C1041.563,355.5,1076.406,355.5,1113.047,386.334C1149.687,417.167,1188.124,478.835,1207.342,509.668L1226.561,540.502"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-SubtitleBase LE-BitmovinV8StaticApi" id="L-SubtitleBase-BitmovinV8StaticApi-0" d="M399.746,372L411.708,406.917C423.669,441.833,447.592,511.667,467.787,546.583C487.982,581.5,504.448,581.5,520.914,581.5C537.38,581.5,553.846,581.5,572.387,581.5C590.927,581.5,611.542,581.5,632.156,581.5C652.771,581.5,673.385,581.5,701.042,581.5C728.698,581.5,763.396,581.5,798.094,581.5C832.792,581.5,867.49,581.5,895.168,586.021C922.846,590.542,943.505,599.583,953.834,604.104L964.164,608.625"/></g><g class="edgeLabels"><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g></g><g class="nodes"><g transform="translate(75.0859375, 783)" data-id="BitmovinSourceApi" data-node="true" id="flowchart-BitmovinSourceApi-0" class="node default default flowchart-label"><rect height="33" width="150.171875" y="-16.5" x="-75.0859375" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-67.5859375, -9)" style="" class="label"><rect/><foreignObject height="18" width="135.171875"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">BitmovinSourceApi</span></div></foreignObject></g></g><g transform="translate(1458.3515625, 242.5)" data-id="Core" data-node="true" id="flowchart-Core-1" class="node default default flowchart-label"><rect height="33" width="49.6875" y="-16.5" x="-24.84375" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-17.34375, -9)" style="" class="label"><rect/><foreignObject height="18" width="34.6875"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">Core</span></div></foreignObject></g></g><g transform="translate(798.09375, 798.75)" data-id="ViewMode" data-node="true" id="flowchart-ViewMode-3" class="node default default flowchart-label"><rect height="33" width="89.421875" y="-16.5" x="-44.7109375" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-37.2109375, -9)" style="" class="label"><rect/><foreignObject height="18" width="74.421875"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">ViewMode</span></div></foreignObject></g></g><g transform="translate(1239.6484375, 906)" data-id="BitmovinVideoElementUtils" data-node="true" id="flowchart-BitmovinVideoElementUtils-5" class="node default default flowchart-label"><rect height="33" width="206.796875" y="-16.5" x="-103.3984375" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-95.8984375, -9)" style="" class="label"><rect/><foreignObject height="18" width="191.796875"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">BitmovinVideoElementUtils</span></div></foreignObject></g></g><g transform="translate(1006.71875, 627.25)" data-id="BitmovinV8StaticApi" data-node="true" id="flowchart-BitmovinV8StaticApi-7" class="node default default flowchart-label"><rect height="33" width="159.0625" y="-16.5" x="-79.53125" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-72.03125, -9)" style="" class="label"><rect/><foreignObject height="18" width="144.0625"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">BitmovinV8StaticApi</span></div></foreignObject></g></g><g transform="translate(245.921875, 417)" data-id="SubtitleApi" data-node="true" id="flowchart-SubtitleApi-9" class="node default default flowchart-label"><rect height="33" width="91.5" y="-16.5" x="-45.75" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-38.25, -9)" style="" class="label"><rect/><foreignObject height="18" width="76.5"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">SubtitleApi</span></div></foreignObject></g></g><g transform="translate(1239.6484375, 561.5)" data-id="Source" data-node="true" id="flowchart-Source-11" class="node default default flowchart-label"><rect height="33" width="65.703125" y="-16.5" x="-32.8515625" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-25.3515625, -9)" style="" class="label"><rect/><foreignObject height="18" width="50.703125"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">Source</span></div></foreignObject></g></g><g transform="translate(1006.71875, 870.25)" data-id="SourcesApi" data-node="true" id="flowchart-SourcesApi-13" class="node default default flowchart-label"><rect height="33" width="96.828125" y="-16.5" x="-48.4140625" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-40.9140625, -9)" style="" class="label"><rect/><foreignObject height="18" width="81.828125"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">SourcesApi</span></div></foreignObject></g></g><g transform="translate(1458.3515625, 1017.5)" data-id="BitmovinV8Core" data-node="true" id="flowchart-BitmovinV8Core-29" class="node default default flowchart-label"><rect height="33" width="130.609375" y="-16.5" x="-65.3046875" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-57.8046875, -9)" style="" class="label"><rect/><foreignObject height="18" width="115.609375"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">BitmovinV8Core</span></div></foreignObject></g></g><g transform="translate(1458.3515625, 1110.5)" data-id="EventBus" data-node="true" id="flowchart-EventBus-41" class="node default default flowchart-label"><rect height="33" width="83.484375" y="-16.5" x="-41.7421875" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-34.2421875, -9)" style="" class="label"><rect/><foreignObject height="18" width="68.484375"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">EventBus</span></div></foreignObject></g></g><g transform="translate(1239.6484375, 1074.75)" data-id="PlayerApi" data-node="true" id="flowchart-PlayerApi-43" class="node default default flowchart-label"><rect height="33" width="83.484375" y="-16.5" x="-41.7421875" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-34.2421875, -9)" style="" class="label"><rect/><foreignObject height="18" width="68.484375"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">PlayerApi</span></div></foreignObject></g></g><g transform="translate(520.9140625, 294)" data-id="Data" data-node="true" id="flowchart-Data-49" class="node default default flowchart-label"><rect height="33" width="48.796875" y="-16.5" x="-24.3984375" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-16.8984375, -9)" style="" class="label"><rect/><foreignObject height="18" width="33.796875"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">Data</span></div></foreignObject></g></g><g transform="translate(394.09375, 355.5)" data-id="SubtitleBase" data-node="true" id="flowchart-SubtitleBase-51" class="node default default flowchart-label"><rect height="33" width="104.84375" y="-16.5" x="-52.421875" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-44.921875, -9)" style="" class="label"><rect/><foreignObject height="18" width="89.84375"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">SubtitleBase</span></div></foreignObject></g></g><g transform="translate(1239.6484375, 119.5)" data-id="Capabilities" data-node="true" id="flowchart-Capabilities-59" class="node default default flowchart-label"><rect height="33" width="97.71875" y="-16.5" x="-48.859375" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-41.359375, -9)" style="" class="label"><rect/><foreignObject height="18" width="82.71875"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">Capabilities</span></div></foreignObject></g></g><g transform="translate(632.15625, 171)" data-id="Network" data-node="true" id="flowchart-Network-63" class="node default default flowchart-label"><rect height="33" width="73.6875" y="-16.5" x="-36.84375" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-29.34375, -9)" style="" class="label"><rect/><foreignObject height="18" width="58.6875"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">Network</span></div></foreignObject></g></g><g transform="translate(798.09375, 510)" data-id="SegmentProcessing" data-node="true" id="flowchart-SegmentProcessing-65" class="node default default flowchart-label"><rect height="33" width="158.1875" y="-16.5" x="-79.09375" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-71.59375, -9)" style="" class="label"><rect/><foreignObject height="18" width="143.1875"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">SegmentProcessing</span></div></foreignObject></g></g><g transform="translate(798.09375, 407)" data-id="Adaptation" data-node="true" id="flowchart-Adaptation-67" class="node default default flowchart-label"><rect height="33" width="91.515625" y="-16.5" x="-45.7578125" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-38.2578125, -9)" style="" class="label"><rect/><foreignObject height="18" width="76.515625"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">Adaptation</span></div></foreignObject></g></g><g transform="translate(798.09375, 16.5)" data-id="NoAdaptation" data-node="true" id="flowchart-NoAdaptation-69" class="node default default flowchart-label"><rect height="33" width="111.96875" y="-16.5" x="-55.984375" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-48.484375, -9)" style="" class="label"><rect/><foreignObject height="18" width="96.96875"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">NoAdaptation</span></div></foreignObject></g></g></g></g></g></svg>
|
|
9
|
+
* <svg aria-roledescription="flowchart-v2" role="graphics-document document" viewBox="-8 -8 16 16" style="max-width: 16px; background-color: transparent;" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" width="100%" id="my-svg"><style>#my-svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#ccc;}#my-svg .error-icon{fill:#a44141;}#my-svg .error-text{fill:#ddd;stroke:#ddd;}#my-svg .edge-thickness-normal{stroke-width:2px;}#my-svg .edge-thickness-thick{stroke-width:3.5px;}#my-svg .edge-pattern-solid{stroke-dasharray:0;}#my-svg .edge-pattern-dashed{stroke-dasharray:3;}#my-svg .edge-pattern-dotted{stroke-dasharray:2;}#my-svg .marker{fill:lightgrey;stroke:lightgrey;}#my-svg .marker.cross{stroke:lightgrey;}#my-svg svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#my-svg .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#ccc;}#my-svg .cluster-label text{fill:#F9FFFE;}#my-svg .cluster-label span,#my-svg p{color:#F9FFFE;}#my-svg .label text,#my-svg span,#my-svg p{fill:#ccc;color:#ccc;}#my-svg .node rect,#my-svg .node circle,#my-svg .node ellipse,#my-svg .node polygon,#my-svg .node path{fill:#1f2020;stroke:#81B1DB;stroke-width:1px;}#my-svg .flowchart-label text{text-anchor:middle;}#my-svg .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#my-svg .node .label{text-align:center;}#my-svg .node.clickable{cursor:pointer;}#my-svg .arrowheadPath{fill:lightgrey;}#my-svg .edgePath .path{stroke:lightgrey;stroke-width:2.0px;}#my-svg .flowchart-link{stroke:lightgrey;fill:none;}#my-svg .edgeLabel{background-color:hsl(0, 0%, 34.4117647059%);text-align:center;}#my-svg .edgeLabel rect{opacity:0.5;background-color:hsl(0, 0%, 34.4117647059%);fill:hsl(0, 0%, 34.4117647059%);}#my-svg .labelBkg{background-color:rgba(87.75, 87.75, 87.75, 0.5);}#my-svg .cluster rect{fill:hsl(180, 1.5873015873%, 28.3529411765%);stroke:rgba(255, 255, 255, 0.25);stroke-width:1px;}#my-svg .cluster text{fill:#F9FFFE;}#my-svg .cluster span,#my-svg p{color:#F9FFFE;}#my-svg div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(20, 1.5873015873%, 12.3529411765%);border:1px solid rgba(255, 255, 255, 0.25);border-radius:2px;pointer-events:none;z-index:100;}#my-svg .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#ccc;}#my-svg :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g><marker orient="auto" markerHeight="12" markerWidth="12" markerUnits="userSpaceOnUse" refY="5" refX="6" viewBox="0 0 10 10" class="marker flowchart" id="my-svg_flowchart-pointEnd"><path style="stroke-width: 1; stroke-dasharray: 1, 0;" class="arrowMarkerPath" d="M 0 0 L 10 5 L 0 10 z"/></marker><marker orient="auto" markerHeight="12" markerWidth="12" markerUnits="userSpaceOnUse" refY="5" refX="4.5" viewBox="0 0 10 10" class="marker flowchart" id="my-svg_flowchart-pointStart"><path style="stroke-width: 1; stroke-dasharray: 1, 0;" class="arrowMarkerPath" d="M 0 5 L 10 10 L 10 0 z"/></marker><marker orient="auto" markerHeight="11" markerWidth="11" markerUnits="userSpaceOnUse" refY="5" refX="11" viewBox="0 0 10 10" class="marker flowchart" id="my-svg_flowchart-circleEnd"><circle style="stroke-width: 1; stroke-dasharray: 1, 0;" class="arrowMarkerPath" r="5" cy="5" cx="5"/></marker><marker orient="auto" markerHeight="11" markerWidth="11" markerUnits="userSpaceOnUse" refY="5" refX="-1" viewBox="0 0 10 10" class="marker flowchart" id="my-svg_flowchart-circleStart"><circle style="stroke-width: 1; stroke-dasharray: 1, 0;" class="arrowMarkerPath" r="5" cy="5" cx="5"/></marker><marker orient="auto" markerHeight="11" markerWidth="11" markerUnits="userSpaceOnUse" refY="5.2" refX="12" viewBox="0 0 11 11" class="marker cross flowchart" id="my-svg_flowchart-crossEnd"><path style="stroke-width: 2; stroke-dasharray: 1, 0;" class="arrowMarkerPath" d="M 1,1 l 9,9 M 10,1 l -9,9"/></marker><marker orient="auto" markerHeight="11" markerWidth="11" markerUnits="userSpaceOnUse" refY="5.2" refX="-1" viewBox="0 0 11 11" class="marker cross flowchart" id="my-svg_flowchart-crossStart"><path style="stroke-width: 2; stroke-dasharray: 1, 0;" class="arrowMarkerPath" d="M 1,1 l 9,9 M 10,1 l -9,9"/></marker><g class="root"><g class="clusters"/><g class="edgePaths"/><g class="edgeLabels"/><g class="nodes"/></g></g></svg>
|
|
10
10
|
*/
|
|
11
11
|
import type { ApiManager } from '../../../../framework-types/api-manager/ApiManager';
|
|
12
12
|
import type { ContextHaving } from '../../../../framework-types/execution-context/Types';
|
|
@@ -18,6 +18,8 @@ import type { SourceStateAtom } from '../../source/atoms/SourceStateAtom';
|
|
|
18
18
|
import { SourceExportNames } from '../../source/Types';
|
|
19
19
|
import type { SourceApiBase } from '../../sources-api/Types';
|
|
20
20
|
import { SourcesApiExportNames } from '../../sources-api/Types';
|
|
21
|
+
import { StreamDataStructureStream } from '../../stream-data-structure/stream/Exports';
|
|
22
|
+
import type { StreamingState } from '../../streaming/Types';
|
|
21
23
|
import type { SubtitleEvent, SubtitleEventMap, SubtitleSourceApi } from '../../subtitles/subtitle-api/Types';
|
|
22
24
|
import { SubtitleApiExportNames } from '../../subtitles/subtitle-api/Types';
|
|
23
25
|
import type { ContextWithState } from '../../Types';
|
|
@@ -37,7 +39,7 @@ type SourceApiCompatDependencies = {
|
|
|
37
39
|
[SourcesApiExportNames.SourceApiManager]: ApiManager<SourceApiBase & ViewModeApi & SubtitleSourceApi>;
|
|
38
40
|
[SourcesApiExportNames.SourceEventBus]: EventBus<SubtitleEventMap>;
|
|
39
41
|
[SubtitleApiExportNames.SubtitleEvent]: typeof SubtitleEvent;
|
|
40
|
-
};
|
|
42
|
+
} & StreamDataStructureStream & StreamingState;
|
|
41
43
|
type SourceApiCompatExports = EmptyObject;
|
|
42
44
|
export type SourceApiCompatContext = ContextHaving<SourceApiCompatDependencies, SourceApiCompatExports, ContextWithState>;
|
|
43
45
|
export declare const BitmovinPlayerSourceApiPackage: import("../../../../framework-types/package-api/Package").Package<SourceApiCompatDependencies, EmptyObject, BitmovinV8PlayerApi>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { TimeRange } from '../../
|
|
1
|
+
import type { TimeRange } from '../../stream-data-structure/track/TrackAtom';
|
|
2
2
|
import type { BufferApi } from '../apis/BufferApi';
|
|
3
3
|
import type { DrmApi } from '../apis/DrmApi';
|
|
4
4
|
import type { ManifestApi } from '../apis/ManifestApi';
|
|
@@ -5,20 +5,17 @@
|
|
|
5
5
|
* extends API manager for `getVideoElement` and `setVideoElement` methods.
|
|
6
6
|
*
|
|
7
7
|
* ### `BitmovinVideoElementUtils` Package Dependency Graph
|
|
8
|
-
* <svg aria-roledescription="flowchart-v2" role="graphics-document document" viewBox="-8 -8 403.40625
|
|
8
|
+
* <svg aria-roledescription="flowchart-v2" role="graphics-document document" viewBox="-8 -8 403.40625 49" style="max-width: 403.406px; background-color: transparent;" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" width="100%" id="my-svg"><style>#my-svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#ccc;}#my-svg .error-icon{fill:#a44141;}#my-svg .error-text{fill:#ddd;stroke:#ddd;}#my-svg .edge-thickness-normal{stroke-width:2px;}#my-svg .edge-thickness-thick{stroke-width:3.5px;}#my-svg .edge-pattern-solid{stroke-dasharray:0;}#my-svg .edge-pattern-dashed{stroke-dasharray:3;}#my-svg .edge-pattern-dotted{stroke-dasharray:2;}#my-svg .marker{fill:lightgrey;stroke:lightgrey;}#my-svg .marker.cross{stroke:lightgrey;}#my-svg svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#my-svg .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#ccc;}#my-svg .cluster-label text{fill:#F9FFFE;}#my-svg .cluster-label span,#my-svg p{color:#F9FFFE;}#my-svg .label text,#my-svg span,#my-svg p{fill:#ccc;color:#ccc;}#my-svg .node rect,#my-svg .node circle,#my-svg .node ellipse,#my-svg .node polygon,#my-svg .node path{fill:#1f2020;stroke:#81B1DB;stroke-width:1px;}#my-svg .flowchart-label text{text-anchor:middle;}#my-svg .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#my-svg .node .label{text-align:center;}#my-svg .node.clickable{cursor:pointer;}#my-svg .arrowheadPath{fill:lightgrey;}#my-svg .edgePath .path{stroke:lightgrey;stroke-width:2.0px;}#my-svg .flowchart-link{stroke:lightgrey;fill:none;}#my-svg .edgeLabel{background-color:hsl(0, 0%, 34.4117647059%);text-align:center;}#my-svg .edgeLabel rect{opacity:0.5;background-color:hsl(0, 0%, 34.4117647059%);fill:hsl(0, 0%, 34.4117647059%);}#my-svg .labelBkg{background-color:rgba(87.75, 87.75, 87.75, 0.5);}#my-svg .cluster rect{fill:hsl(180, 1.5873015873%, 28.3529411765%);stroke:rgba(255, 255, 255, 0.25);stroke-width:1px;}#my-svg .cluster text{fill:#F9FFFE;}#my-svg .cluster span,#my-svg p{color:#F9FFFE;}#my-svg div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(20, 1.5873015873%, 12.3529411765%);border:1px solid rgba(255, 255, 255, 0.25);border-radius:2px;pointer-events:none;z-index:100;}#my-svg .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#ccc;}#my-svg :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g><marker orient="auto" markerHeight="12" markerWidth="12" markerUnits="userSpaceOnUse" refY="5" refX="6" viewBox="0 0 10 10" class="marker flowchart" id="my-svg_flowchart-pointEnd"><path style="stroke-width: 1; stroke-dasharray: 1, 0;" class="arrowMarkerPath" d="M 0 0 L 10 5 L 0 10 z"/></marker><marker orient="auto" markerHeight="12" markerWidth="12" markerUnits="userSpaceOnUse" refY="5" refX="4.5" viewBox="0 0 10 10" class="marker flowchart" id="my-svg_flowchart-pointStart"><path style="stroke-width: 1; stroke-dasharray: 1, 0;" class="arrowMarkerPath" d="M 0 5 L 10 10 L 10 0 z"/></marker><marker orient="auto" markerHeight="11" markerWidth="11" markerUnits="userSpaceOnUse" refY="5" refX="11" viewBox="0 0 10 10" class="marker flowchart" id="my-svg_flowchart-circleEnd"><circle style="stroke-width: 1; stroke-dasharray: 1, 0;" class="arrowMarkerPath" r="5" cy="5" cx="5"/></marker><marker orient="auto" markerHeight="11" markerWidth="11" markerUnits="userSpaceOnUse" refY="5" refX="-1" viewBox="0 0 10 10" class="marker flowchart" id="my-svg_flowchart-circleStart"><circle style="stroke-width: 1; stroke-dasharray: 1, 0;" class="arrowMarkerPath" r="5" cy="5" cx="5"/></marker><marker orient="auto" markerHeight="11" markerWidth="11" markerUnits="userSpaceOnUse" refY="5.2" refX="12" viewBox="0 0 11 11" class="marker cross flowchart" id="my-svg_flowchart-crossEnd"><path style="stroke-width: 2; stroke-dasharray: 1, 0;" class="arrowMarkerPath" d="M 1,1 l 9,9 M 10,1 l -9,9"/></marker><marker orient="auto" markerHeight="11" markerWidth="11" markerUnits="userSpaceOnUse" refY="5.2" refX="-1" viewBox="0 0 11 11" class="marker cross flowchart" id="my-svg_flowchart-crossStart"><path style="stroke-width: 2; stroke-dasharray: 1, 0;" class="arrowMarkerPath" d="M 1,1 l 9,9 M 10,1 l -9,9"/></marker><g class="root"><g class="clusters"/><g class="edgePaths"><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-BitmovinVideoElementUtils LE-BitmovinV8Core" id="L-BitmovinVideoElementUtils-BitmovinV8Core-0" d="M206.797,16.5L210.964,16.5C215.13,16.5,223.464,16.5,230.914,16.5C238.364,16.5,244.93,16.5,248.214,16.5L251.497,16.5"/></g><g class="edgeLabels"><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g></g><g class="nodes"><g transform="translate(103.3984375, 16.5)" data-id="BitmovinVideoElementUtils" data-node="true" id="flowchart-BitmovinVideoElementUtils-0" class="node default default flowchart-label"><rect height="33" width="206.796875" y="-16.5" x="-103.3984375" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-95.8984375, -9)" style="" class="label"><rect/><foreignObject height="18" width="191.796875"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">BitmovinVideoElementUtils</span></div></foreignObject></g></g><g transform="translate(322.1015625, 16.5)" data-id="BitmovinV8Core" data-node="true" id="flowchart-BitmovinV8Core-1" class="node default default flowchart-label"><rect height="33" width="130.609375" y="-16.5" x="-65.3046875" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-57.8046875, -9)" style="" class="label"><rect/><foreignObject height="18" width="115.609375"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">BitmovinV8Core</span></div></foreignObject></g></g></g></g></g></svg>
|
|
9
9
|
*/
|
|
10
10
|
import type { ContextHaving } from '../../../../framework-types/execution-context/Types';
|
|
11
11
|
import type { BaseContext } from '../../../../framework-types/Types';
|
|
12
|
-
import { BundleExportNames } from '../../../bundles/Types';
|
|
13
12
|
import type { CoreEffects } from '../../core/Types';
|
|
14
13
|
import { CoreExportNames } from '../../core/Types';
|
|
15
|
-
import type { Logger } from '../../core/utils/Logger';
|
|
16
14
|
import { SourcesApiExportNames } from '../../sources-api/Types';
|
|
17
15
|
import type VideoElementUtils from '../../sources-api/VideoElementUtils';
|
|
18
16
|
import { AdditionalPlayerExports } from '../enums/PlayerExports';
|
|
19
17
|
import type { BitmovinV8PlayerApi, PlayerConfig } from '../types/Types';
|
|
20
18
|
type Dependencies = {
|
|
21
|
-
[BundleExportNames.Logger]: Logger;
|
|
22
19
|
[CoreExportNames.CoreEffects]: CoreEffects;
|
|
23
20
|
[AdditionalPlayerExports.Container]: HTMLElement;
|
|
24
21
|
[AdditionalPlayerExports.UserConfig]: PlayerConfig;
|
|
@@ -6,15 +6,13 @@
|
|
|
6
6
|
* Exposes the ViewMode state atom, and `viewMode` API on the source API to write to the state.
|
|
7
7
|
*
|
|
8
8
|
* ### `ViewMode` Package Dependency Graph
|
|
9
|
-
* <svg aria-roledescription="flowchart-v2" role="graphics-document document" viewBox="-8 -43 751.890625 423" style="max-width: 751.891px; background-color: transparent;" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" width="100%" id="my-svg"><style>#my-svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#ccc;}#my-svg .error-icon{fill:#a44141;}#my-svg .error-text{fill:#ddd;stroke:#ddd;}#my-svg .edge-thickness-normal{stroke-width:2px;}#my-svg .edge-thickness-thick{stroke-width:3.5px;}#my-svg .edge-pattern-solid{stroke-dasharray:0;}#my-svg .edge-pattern-dashed{stroke-dasharray:3;}#my-svg .edge-pattern-dotted{stroke-dasharray:2;}#my-svg .marker{fill:lightgrey;stroke:lightgrey;}#my-svg .marker.cross{stroke:lightgrey;}#my-svg svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#my-svg .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#ccc;}#my-svg .cluster-label text{fill:#F9FFFE;}#my-svg .cluster-label span,#my-svg p{color:#F9FFFE;}#my-svg .label text,#my-svg span,#my-svg p{fill:#ccc;color:#ccc;}#my-svg .node rect,#my-svg .node circle,#my-svg .node ellipse,#my-svg .node polygon,#my-svg .node path{fill:#1f2020;stroke:#81B1DB;stroke-width:1px;}#my-svg .flowchart-label text{text-anchor:middle;}#my-svg .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#my-svg .node .label{text-align:center;}#my-svg .node.clickable{cursor:pointer;}#my-svg .arrowheadPath{fill:lightgrey;}#my-svg .edgePath .path{stroke:lightgrey;stroke-width:2.0px;}#my-svg .flowchart-link{stroke:lightgrey;fill:none;}#my-svg .edgeLabel{background-color:hsl(0, 0%, 34.4117647059%);text-align:center;}#my-svg .edgeLabel rect{opacity:0.5;background-color:hsl(0, 0%, 34.4117647059%);fill:hsl(0, 0%, 34.4117647059%);}#my-svg .labelBkg{background-color:rgba(87.75, 87.75, 87.75, 0.5);}#my-svg .cluster rect{fill:hsl(180, 1.5873015873%, 28.3529411765%);stroke:rgba(255, 255, 255, 0.25);stroke-width:1px;}#my-svg .cluster text{fill:#F9FFFE;}#my-svg .cluster span,#my-svg p{color:#F9FFFE;}#my-svg div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(20, 1.5873015873%, 12.3529411765%);border:1px solid rgba(255, 255, 255, 0.25);border-radius:2px;pointer-events:none;z-index:100;}#my-svg .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#ccc;}#my-svg :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g><marker orient="auto" markerHeight="12" markerWidth="12" markerUnits="userSpaceOnUse" refY="5" refX="6" viewBox="0 0 10 10" class="marker flowchart" id="my-svg_flowchart-pointEnd"><path style="stroke-width: 1; stroke-dasharray: 1, 0;" class="arrowMarkerPath" d="M 0 0 L 10 5 L 0 10 z"/></marker><marker orient="auto" markerHeight="12" markerWidth="12" markerUnits="userSpaceOnUse" refY="5" refX="4.5" viewBox="0 0 10 10" class="marker flowchart" id="my-svg_flowchart-pointStart"><path style="stroke-width: 1; stroke-dasharray: 1, 0;" class="arrowMarkerPath" d="M 0 5 L 10 10 L 10 0 z"/></marker><marker orient="auto" markerHeight="11" markerWidth="11" markerUnits="userSpaceOnUse" refY="5" refX="11" viewBox="0 0 10 10" class="marker flowchart" id="my-svg_flowchart-circleEnd"><circle style="stroke-width: 1; stroke-dasharray: 1, 0;" class="arrowMarkerPath" r="5" cy="5" cx="5"/></marker><marker orient="auto" markerHeight="11" markerWidth="11" markerUnits="userSpaceOnUse" refY="5" refX="-1" viewBox="0 0 10 10" class="marker flowchart" id="my-svg_flowchart-circleStart"><circle style="stroke-width: 1; stroke-dasharray: 1, 0;" class="arrowMarkerPath" r="5" cy="5" cx="5"/></marker><marker orient="auto" markerHeight="11" markerWidth="11" markerUnits="userSpaceOnUse" refY="5.2" refX="12" viewBox="0 0 11 11" class="marker cross flowchart" id="my-svg_flowchart-crossEnd"><path style="stroke-width: 2; stroke-dasharray: 1, 0;" class="arrowMarkerPath" d="M 1,1 l 9,9 M 10,1 l -9,9"/></marker><marker orient="auto" markerHeight="11" markerWidth="11" markerUnits="userSpaceOnUse" refY="5.2" refX="-1" viewBox="0 0 11 11" class="marker cross flowchart" id="my-svg_flowchart-crossStart"><path style="stroke-width: 2; stroke-dasharray: 1, 0;" class="arrowMarkerPath" d="M 1,1 l 9,9 M 10,1 l -9,9"/></marker><g class="root"><g class="clusters"/><g class="edgePaths"><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-ViewMode LE-Core" id="L-ViewMode-Core-0" d="M54.062,71.5L64.122,53.75C74.182,36,94.302,0.5,121.784,-17.25C149.266,-35,184.109,-35,218.953,-35C253.797,-35,288.641,-35,327.462,-35C366.284,-35,409.083,-35,451.883,-35C494.682,-35,537.482,-35,571.391,-17.962C605.299,-0.924,630.317,33.152,642.826,50.19L655.335,67.228"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-ViewMode LE-Source" id="L-ViewMode-Source-0" d="M55.878,71.5L65.635,57.083C75.393,42.667,94.907,13.833,122.086,-0.583C149.266,-15,184.109,-15,218.953,-15C253.797,-15,288.641,-15,321.129,-11.304C353.618,-7.607,383.751,-0.215,398.817,3.481L413.884,7.178"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-ViewMode LE-BitmovinV8StaticApi" id="L-ViewMode-BitmovinV8StaticApi-0" d="M83.052,104.5L88.28,106.75C93.509,109,103.965,113.5,112.477,115.75C120.989,118,127.555,118,130.839,118L134.122,118"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-ViewMode LE-SourcesApi" id="L-ViewMode-SourcesApi-0" d="M54.521,104.5L64.504,121.292C74.488,138.083,94.455,171.667,112.908,188.458C131.361,205.25,148.3,205.25,156.77,205.25L165.239,205.25"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Source LE-Core" id="L-Source-Core-0" d="M484.734,16.5L500.659,16.5C516.583,16.5,548.432,16.5,575.242,25.118C602.051,33.737,623.821,50.973,634.706,59.592L645.591,68.21"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-BitmovinV8StaticApi LE-Core" id="L-BitmovinV8StaticApi-Core-0" d="M256.653,101.5L267.791,96.625C278.93,91.75,301.207,82,333.746,77.125C366.284,72.25,409.083,72.25,451.883,72.25C494.682,72.25,537.482,72.25,568.921,74.001C600.361,75.752,620.441,79.254,630.481,81.005L640.521,82.756"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-BitmovinV8StaticApi LE-Source" id="L-BitmovinV8StaticApi-Source-0" d="M237.803,101.5L252.083,89C266.363,76.5,294.924,51.5,324.248,37.828C353.572,24.157,383.66,21.813,398.703,20.642L413.747,19.47"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-BitmovinV8StaticApi LE-BitmovinV8Core" id="L-BitmovinV8StaticApi-BitmovinV8Core-0" d="M233.477,134.5L248.479,151.542C263.48,168.583,293.482,202.667,329.883,219.708C366.284,236.75,409.083,236.75,451.883,236.75C494.682,236.75,537.482,236.75,562.17,237.114C586.859,237.478,593.436,238.207,596.725,238.571L600.013,238.935"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-BitmovinV8StaticApi LE-BitmovinVideoElementUtils" id="L-BitmovinV8StaticApi-BitmovinVideoElementUtils-0" d="M244.6,134.5L257.748,142.958C270.895,151.417,297.19,168.333,313.62,176.792C330.051,185.25,336.618,185.25,339.901,185.25L343.184,185.25"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-BitmovinVideoElementUtils LE-Core" id="L-BitmovinVideoElementUtils-Core-0" d="M481.513,168.75L497.975,159.583C514.436,150.417,547.359,132.083,573.881,120.048C600.403,108.012,620.524,102.275,630.585,99.406L640.645,96.537"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-BitmovinVideoElementUtils LE-BitmovinV8Core" id="L-BitmovinVideoElementUtils-BitmovinV8Core-0" d="M474.663,201.75L492.266,214.5C509.869,227.25,545.075,252.75,569.011,263.291C592.947,273.832,605.613,269.414,611.946,267.205L618.279,264.996"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-SourcesApi LE-Core" id="L-SourcesApi-Core-0" d="M243.076,188.75L256.477,179.583C269.879,170.417,296.681,152.083,331.483,142.917C366.284,133.75,409.083,133.75,451.883,133.75C494.682,133.75,537.482,133.75,569.004,128.622C600.526,123.494,620.77,113.238,630.892,108.11L641.014,102.982"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-SourcesApi LE-Source" id="L-SourcesApi-Source-0" d="M229.818,188.75L245.429,165.042C261.04,141.333,292.262,93.917,322.938,66.689C353.613,39.461,383.742,32.421,398.806,28.901L413.87,25.382"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-SourcesApi LE-EventBus" id="L-SourcesApi-EventBus-0" d="M237.499,221.75L251.83,234.5C266.161,247.25,294.823,272.75,330.553,285.5C366.284,298.25,409.083,298.25,451.883,298.25C494.682,298.25,537.482,298.25,566.141,300.782C594.801,303.315,609.32,308.379,616.58,310.912L623.839,313.444"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-SourcesApi LE-PlayerApi" id="L-SourcesApi-PlayerApi-0" d="M230.432,221.75L245.941,244.042C261.45,266.333,292.467,310.917,321.535,333.208C350.603,355.5,377.722,355.5,391.281,355.5L404.841,355.5"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-PlayerApi LE-EventBus" id="L-PlayerApi-EventBus-0" d="M493.625,355.5L508.068,355.5C522.51,355.5,551.396,355.5,573.083,353.434C594.77,351.369,609.258,347.237,616.503,345.172L623.747,343.106"/></g><g class="edgeLabels"><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g></g><g class="nodes"><g transform="translate(44.7109375, 88)" data-id="ViewMode" data-node="true" id="flowchart-ViewMode-0" class="node default default flowchart-label"><rect height="33" width="89.421875" y="-16.5" x="-44.7109375" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-37.2109375, -9)" style="" class="label"><rect/><foreignObject height="18" width="74.421875"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">ViewMode</span></div></foreignObject></g></g><g transform="translate(670.5859375, 88)" data-id="Core" data-node="true" id="flowchart-Core-1" class="node default default flowchart-label"><rect height="33" width="49.6875" y="-16.5" x="-24.84375" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-17.34375, -9)" style="" class="label"><rect/><foreignObject height="18" width="34.6875"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">Core</span></div></foreignObject></g></g><g transform="translate(451.8828125, 16.5)" data-id="Source" data-node="true" id="flowchart-Source-3" class="node default default flowchart-label"><rect height="33" width="65.703125" y="-16.5" x="-32.8515625" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-25.3515625, -9)" style="" class="label"><rect/><foreignObject height="18" width="50.703125"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">Source</span></div></foreignObject></g></g><g transform="translate(218.953125, 118)" data-id="BitmovinV8StaticApi" data-node="true" id="flowchart-BitmovinV8StaticApi-5" class="node default default flowchart-label"><rect height="33" width="159.0625" y="-16.5" x="-79.53125" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-72.03125, -9)" style="" class="label"><rect/><foreignObject height="18" width="144.0625"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">BitmovinV8StaticApi</span></div></foreignObject></g></g><g transform="translate(218.953125, 205.25)" data-id="SourcesApi" data-node="true" id="flowchart-SourcesApi-7" class="node default default flowchart-label"><rect height="33" width="96.828125" y="-16.5" x="-48.4140625" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-40.9140625, -9)" style="" class="label"><rect/><foreignObject height="18" width="81.828125"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">SourcesApi</span></div></foreignObject></g></g><g transform="translate(670.5859375, 246.75)" data-id="BitmovinV8Core" data-node="true" id="flowchart-BitmovinV8Core-15" class="node default default flowchart-label"><rect height="33" width="130.609375" y="-16.5" x="-65.3046875" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-57.8046875, -9)" style="" class="label"><rect/><foreignObject height="18" width="115.609375"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">BitmovinV8Core</span></div></foreignObject></g></g><g transform="translate(451.8828125, 185.25)" data-id="BitmovinVideoElementUtils" data-node="true" id="flowchart-BitmovinVideoElementUtils-17" class="node default default flowchart-label"><rect height="33" width="206.796875" y="-16.5" x="-103.3984375" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-95.8984375, -9)" style="" class="label"><rect/><foreignObject height="18" width="191.796875"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">BitmovinVideoElementUtils</span></div></foreignObject></g></g><g transform="translate(670.5859375, 329.75)" data-id="EventBus" data-node="true" id="flowchart-EventBus-27" class="node default default flowchart-label"><rect height="33" width="83.484375" y="-16.5" x="-41.7421875" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-34.2421875, -9)" style="" class="label"><rect/><foreignObject height="18" width="68.484375"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">EventBus</span></div></foreignObject></g></g><g transform="translate(451.8828125, 355.5)" data-id="PlayerApi" data-node="true" id="flowchart-PlayerApi-29" class="node default default flowchart-label"><rect height="33" width="83.484375" y="-16.5" x="-41.7421875" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-34.2421875, -9)" style="" class="label"><rect/><foreignObject height="18" width="68.484375"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">PlayerApi</span></div></foreignObject></g></g></g></g></g></svg>
|
|
9
|
+
* <svg aria-roledescription="flowchart-v2" role="graphics-document document" viewBox="-8 -8 252.25 132" style="max-width: 252.25px; background-color: transparent;" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" width="100%" id="my-svg"><style>#my-svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#ccc;}#my-svg .error-icon{fill:#a44141;}#my-svg .error-text{fill:#ddd;stroke:#ddd;}#my-svg .edge-thickness-normal{stroke-width:2px;}#my-svg .edge-thickness-thick{stroke-width:3.5px;}#my-svg .edge-pattern-solid{stroke-dasharray:0;}#my-svg .edge-pattern-dashed{stroke-dasharray:3;}#my-svg .edge-pattern-dotted{stroke-dasharray:2;}#my-svg .marker{fill:lightgrey;stroke:lightgrey;}#my-svg .marker.cross{stroke:lightgrey;}#my-svg svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#my-svg .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#ccc;}#my-svg .cluster-label text{fill:#F9FFFE;}#my-svg .cluster-label span,#my-svg p{color:#F9FFFE;}#my-svg .label text,#my-svg span,#my-svg p{fill:#ccc;color:#ccc;}#my-svg .node rect,#my-svg .node circle,#my-svg .node ellipse,#my-svg .node polygon,#my-svg .node path{fill:#1f2020;stroke:#81B1DB;stroke-width:1px;}#my-svg .flowchart-label text{text-anchor:middle;}#my-svg .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#my-svg .node .label{text-align:center;}#my-svg .node.clickable{cursor:pointer;}#my-svg .arrowheadPath{fill:lightgrey;}#my-svg .edgePath .path{stroke:lightgrey;stroke-width:2.0px;}#my-svg .flowchart-link{stroke:lightgrey;fill:none;}#my-svg .edgeLabel{background-color:hsl(0, 0%, 34.4117647059%);text-align:center;}#my-svg .edgeLabel rect{opacity:0.5;background-color:hsl(0, 0%, 34.4117647059%);fill:hsl(0, 0%, 34.4117647059%);}#my-svg .labelBkg{background-color:rgba(87.75, 87.75, 87.75, 0.5);}#my-svg .cluster rect{fill:hsl(180, 1.5873015873%, 28.3529411765%);stroke:rgba(255, 255, 255, 0.25);stroke-width:1px;}#my-svg .cluster text{fill:#F9FFFE;}#my-svg .cluster span,#my-svg p{color:#F9FFFE;}#my-svg div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(20, 1.5873015873%, 12.3529411765%);border:1px solid rgba(255, 255, 255, 0.25);border-radius:2px;pointer-events:none;z-index:100;}#my-svg .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#ccc;}#my-svg :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g><marker orient="auto" markerHeight="12" markerWidth="12" markerUnits="userSpaceOnUse" refY="5" refX="6" viewBox="0 0 10 10" class="marker flowchart" id="my-svg_flowchart-pointEnd"><path style="stroke-width: 1; stroke-dasharray: 1, 0;" class="arrowMarkerPath" d="M 0 0 L 10 5 L 0 10 z"/></marker><marker orient="auto" markerHeight="12" markerWidth="12" markerUnits="userSpaceOnUse" refY="5" refX="4.5" viewBox="0 0 10 10" class="marker flowchart" id="my-svg_flowchart-pointStart"><path style="stroke-width: 1; stroke-dasharray: 1, 0;" class="arrowMarkerPath" d="M 0 5 L 10 10 L 10 0 z"/></marker><marker orient="auto" markerHeight="11" markerWidth="11" markerUnits="userSpaceOnUse" refY="5" refX="11" viewBox="0 0 10 10" class="marker flowchart" id="my-svg_flowchart-circleEnd"><circle style="stroke-width: 1; stroke-dasharray: 1, 0;" class="arrowMarkerPath" r="5" cy="5" cx="5"/></marker><marker orient="auto" markerHeight="11" markerWidth="11" markerUnits="userSpaceOnUse" refY="5" refX="-1" viewBox="0 0 10 10" class="marker flowchart" id="my-svg_flowchart-circleStart"><circle style="stroke-width: 1; stroke-dasharray: 1, 0;" class="arrowMarkerPath" r="5" cy="5" cx="5"/></marker><marker orient="auto" markerHeight="11" markerWidth="11" markerUnits="userSpaceOnUse" refY="5.2" refX="12" viewBox="0 0 11 11" class="marker cross flowchart" id="my-svg_flowchart-crossEnd"><path style="stroke-width: 2; stroke-dasharray: 1, 0;" class="arrowMarkerPath" d="M 1,1 l 9,9 M 10,1 l -9,9"/></marker><marker orient="auto" markerHeight="11" markerWidth="11" markerUnits="userSpaceOnUse" refY="5.2" refX="-1" viewBox="0 0 11 11" class="marker cross flowchart" id="my-svg_flowchart-crossStart"><path style="stroke-width: 2; stroke-dasharray: 1, 0;" class="arrowMarkerPath" d="M 1,1 l 9,9 M 10,1 l -9,9"/></marker><g class="root"><g class="clusters"/><g class="edgePaths"><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-ViewMode LE-Source" id="L-ViewMode-Source-0" d="M72.427,41.5L79.426,37.333C86.426,33.167,100.424,24.833,113.3,20.667C126.176,16.5,137.93,16.5,143.807,16.5L149.684,16.5"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-ViewMode LE-SourcesApi" id="L-ViewMode-SourcesApi-0" d="M72.427,74.5L79.426,78.667C86.426,82.833,100.424,91.167,110.706,95.333C120.989,99.5,127.555,99.5,130.839,99.5L134.122,99.5"/></g><g class="edgeLabels"><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g></g><g class="nodes"><g transform="translate(44.7109375, 58)" data-id="ViewMode" data-node="true" id="flowchart-ViewMode-0" class="node default default flowchart-label"><rect height="33" width="89.421875" y="-16.5" x="-44.7109375" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-37.2109375, -9)" style="" class="label"><rect/><foreignObject height="18" width="74.421875"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">ViewMode</span></div></foreignObject></g></g><g transform="translate(187.8359375, 16.5)" data-id="Source" data-node="true" id="flowchart-Source-1" class="node default default flowchart-label"><rect height="33" width="65.703125" y="-16.5" x="-32.8515625" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-25.3515625, -9)" style="" class="label"><rect/><foreignObject height="18" width="50.703125"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">Source</span></div></foreignObject></g></g><g transform="translate(187.8359375, 99.5)" data-id="SourcesApi" data-node="true" id="flowchart-SourcesApi-3" class="node default default flowchart-label"><rect height="33" width="96.828125" y="-16.5" x="-48.4140625" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-40.9140625, -9)" style="" class="label"><rect/><foreignObject height="18" width="81.828125"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">SourcesApi</span></div></foreignObject></g></g></g></g></g></svg>
|
|
10
10
|
*/
|
|
11
11
|
import type { ApiManager } from '../../../framework-types/api-manager/ApiManager';
|
|
12
12
|
import type { ContextHaving } from '../../../framework-types/execution-context/Types';
|
|
13
|
-
import { BundleExportNames } from '../../bundles/Types';
|
|
14
13
|
import type { EmptyObject } from '../../Types';
|
|
15
14
|
import type { CoreEffects } from '../core/Types';
|
|
16
15
|
import { CoreExportNames } from '../core/Types';
|
|
17
|
-
import type { Logger } from '../core/utils/Logger';
|
|
18
16
|
import type { SourceStateAtom } from '../source/atoms/SourceStateAtom';
|
|
19
17
|
import { SourceExportNames } from '../source/Types';
|
|
20
18
|
import { SourcesApiExportNames } from '../sources-api/Types';
|
|
@@ -25,7 +23,6 @@ import type { ViewModeAtom } from './ViewModeAtom';
|
|
|
25
23
|
type Dependencies = {
|
|
26
24
|
[CoreExportNames.CoreEffects]: CoreEffects;
|
|
27
25
|
[SourceExportNames.SourceState]: SourceStateAtom;
|
|
28
|
-
[BundleExportNames.Logger]: Logger;
|
|
29
26
|
[SourcesApiExportNames.SourceApiManager]: ApiManager<ViewModeApi>;
|
|
30
27
|
};
|
|
31
28
|
export type ViewModePackageExports = {
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from '../types/packages/presentation/Presentation.package';
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/*******************************************************************************
|
|
2
|
-
* This source code is the proprietary property of Bitmovin, Inc. Unauthorized
|
|
3
|
-
* copying, distribution, or use of this code, or any portion thereof, is
|
|
4
|
-
* strictly prohibited. © 2025 Bitmovin, Inc. All rights reserved. This
|
|
5
|
-
* source code is subject to the terms and conditions of the accompanying
|
|
6
|
-
* license agreement.
|
|
7
|
-
*
|
|
8
|
-
* Bitmovin Player X Version 10.2.0-beta.0
|
|
9
|
-
*******************************************************************************/
|
|
10
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.presentation=t():(e.bitmovin=e.bitmovin||{},e.bitmovin.playerx=e.bitmovin.playerx||{},e.bitmovin.playerx.presentation=t())}(self,(()=>(()=>{"use strict";var e={7085:(e,t)=>{function r(e,t,r){const n=t;return n._name=e,{onAdd:n,dependencies:r}}Object.defineProperty(t,"__esModule",{value:!0}),t.createPackage=void 0,t.createPackage=r},1270:(e,t)=>{function r(e,t){const r=t;return r._name=e,r}function n(e){return(...t)=>{const[n,o]=e(...t);return r(n,o)}}function o(e){var t;return null!==(t=e._name)&&void 0!==t?t:e.name}Object.defineProperty(t,"__esModule",{value:!0}),t.getTaskName=t.createTaskClosure=t.createTask=void 0,t.createTask=r,t.createTaskClosure=n,t.getTaskName=o},8668:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.BundleExportNames=void 0,function(e){e.Logger="logger",e.PlayerConfig="player-config"}(t.BundleExportNames||(t.BundleExportNames={}))},5225:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CapabilitiesExportNames=void 0,function(e){e.PlatformCapabilities="platform-capabilities"}(t.CapabilitiesExportNames||(t.CapabilitiesExportNames={}))},4809:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CoreExportNames=void 0,function(e){e.Utils="utils",e.Constants="constants",e.CoreEffects="core-effects",e.CoreStateAtoms="core-state-atoms"}(t.CoreExportNames||(t.CoreExportNames={}))},7755:(e,t)=>{function r(e,t){return e.length===t.length&&e.every(((e,r)=>e===t[r]))}function n(e,...t){return 0!==t.length&&(e.push(...t),!0)}function o(e,...t){const r=e.length;for(const r of t)e.includes(r)||e.push(r);return r!==e.length}function s(e,t,...r){return 0!==r.length&&(e.splice(t,0,...r),!0)}function i(e,t,r){let n=0,o=e.length;for(;n<o;){const s=n+o>>>1;r(e[s])<r(t)?n=s+1:o=s}return n}function a(e,t,...r){const n=e.length;if(0===r.length)return!1;if(0===e.length)return e.push(...r.sort(((e,r)=>t(e)-t(r)))),!0;for(const n of r){const r=t(n),o=t(e[0]);if(t(e[e.length-1])<=r)e.push(n);else if(r<=o)e.unshift(n);else{const r=i(e,n,t);e.splice(r,0,n)}}return e.length!==n}function c(e,...t){let r=!1;for(const n of t){const t=e.indexOf(n);t<0||(r=!0,e.splice(t,1))}return r}function u(e){return 0!==e.length&&(e.splice(0,e.length),!0)}function f(e,t){if(r(e,t))return!1;const n=u(e);return t.forEach((t=>e.push(t))),n||t.length>0}Object.defineProperty(t,"__esModule",{value:!0}),t.createArrayAtom=void 0;const d=(e,t=[])=>{const r={add:n,insert:s,insertSorted:a,remove:c,clear:u,set:f,addIfNew:o};return e.effects.state.create(t,r)};t.createArrayAtom=d},1146:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DataExportNames=void 0,function(e){e.StreamTimeline="stream-timeline"}(t.DataExportNames||(t.DataExportNames={}))},9861:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.activeSectionUpdaterTask=void 0;const n=r(1270),o=r(4809),s=r(1146),i=r(7269),a=r(3799);t.activeSectionUpdaterTask=(0,n.createTask)("active-section-update",(([e,t],r)=>{const n=r.registry.get(i.SourceExportNames.SourceState),a=r.registry.get(s.DataExportNames.StreamTimeline),{mapSubscribe:f}=r.registry.get(o.CoreExportNames.Utils).State,d=u([e,t]),g=c(d);return r.effects.state.subscribe(r,n.playback.playhead,d),f(r,a,g),r.fork(d,a),r.effects.loop(r.abortSignal)}));const c=(0,n.createTaskClosure)((e=>["stream-timeline-sub",(t,r)=>{const{subscribeAndRun:n}=r.registry.get(o.CoreExportNames.Utils).State;return n(r,t.streamSequenceMap,e),r.effects.loop(r.abortSignal)}])),u=(0,n.createTaskClosure)((([e,t])=>["active-section-update",(r,n)=>{if(!g(n)||f(n))return;const o=l(n,t.dataRangeIds.buffered);o&&n.effects.state.dispatch(e.setActiveSection,o)}]));function f(e){const t=e.registry.get(i.SourceExportNames.SourceState),r=t.playback.playhead.position;return t.stream.duration.value<r||r<0}function d(e){const{MediaType:t}=e.registry.get(o.CoreExportNames.Constants),r=e=>e!==t.Unknown&&e!==t.Subtitle,n=e.registry.get(i.SourceExportNames.SourceState).activeMediaTypes;return Array.from(n.keys()).filter(r).length}function g(e){const{isMediaSelectionGroup:t}=e.registry.get(o.CoreExportNames.CoreStateAtoms).SelectionGroups,r=e.registry.get(s.DataExportNames.StreamTimeline),n=d(e);return r.length>0&&r.some((e=>Array.from(e.streamSequenceMap.keys()).filter(t).length===n))}function m(e,t){return e>=t.start&&e<=t.end}function l(e,t){const r=e.registry.get(i.SourceExportNames.SourceState),n=e.registry.get(s.DataExportNames.StreamTimeline),{isEndInRange:c}=e.registry.get(o.CoreExportNames.Utils).Ranges,u=d(e);return n.find((n=>{const o=b(e,n);if(o.length!==u)return!1;return!!o.every((({mediaType:e,selectionGroup:t})=>{const n=(0,a.getMediaTypeTargetRanges)(r,e);return m(n.start,t.timeRange)||c(n.end,t.timeRange)}))&&o.some((({mediaType:o,mediaId:s,selectionGroup:i})=>{var c,u;const f=(0,a.getMediaTypeTargetRanges)(r,o),d=y(e,n,o,f),g=null!==(u=null===(c=r.dataRanges.media[s])||void 0===c?void 0:c.ranges)&&void 0!==u?u:[],m=i.timeRange.end,l=g.length>0&&g.some((e=>e.start<=m&&m<=e.end)),b=p(e,d,s,t);return!l||!b}))}))}function p(e,t,r,n){var o,s;const{dataRanges:a}=e.registry.get(i.SourceExportNames.SourceState),c=null!==(s=null===(o=a.media[r])||void 0===o?void 0:o.source[n])&&void 0!==s?s:[];return t.every((e=>c.includes(e)))}function y(e,t,r,n){const{isVideoSelectionGroup:s,isAudioSelectionGroup:i}=e.registry.get(o.CoreExportNames.CoreStateAtoms).SelectionGroups,{isEndInRange:a,isStartInRange:c}=e.registry.get(o.CoreExportNames.Utils).Ranges,u=e.registry.get(o.CoreExportNames.Constants).MediaType,f=[];for(const[e,o]of t.streamSequenceMap)if(o.length&&(r===u.Audio&&i(e)||r===u.Video&&s(e)))for(const e of o){const t=e.segmentTiming.parsedPlaybackTime,r=e.segmentTiming.parsedPlaybackTime+e.segmentTiming.parsedDuration;(c(t,n)||a(r,n))&&f.push(e)}return f}function b(e,t){const{isVideoSelectionGroup:r,isAudioSelectionGroup:n}=e.registry.get(o.CoreExportNames.CoreStateAtoms).SelectionGroups,s=e.registry.get(o.CoreExportNames.Constants).MediaType;return Array.from(t.streamSequenceMap.keys()).map((e=>r(e)?{mediaType:s.Video,mediaId:e.mediaId,selectionGroup:e}:n(e)?{mediaType:s.Audio,mediaId:e.mediaId,selectionGroup:e}:void 0)).filter(Boolean)}},407:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GapHandlingTask=void 0;const n=r(1270),o=r(8668);t.GapHandlingTask=(0,n.createTaskClosure)((e=>["gap-handler",(t,r)=>{const{events:n}=r.effects;let s=!1;const a=()=>{if(s)return;const t=r.registry.get(o.BundleExportNames.Logger),n=i(r,e);void 0!==n&&(t.log(`Skipping buffer gap (${e.currentTime.toFixed(2)} → ${n.toFixed(2)})`),e.currentTime=n)},c=()=>{s=!0},u=()=>{s=!1},f=()=>{s=!1};return n.subscribe(r,e,"waiting",a),n.subscribe(r,e,"seeking",c),n.subscribe(r,e,"seeked",u),n.subscribe(r,e,"playing",f),r.effects.loop(r.abortSignal)}]));const s=.1;function i(e,t){const r=t.currentTime,n=t.buffered;for(let e=0;e<n.length;e++){const t=n.start(e),o=n.end(e);if(r>=t&&r<=o&&o-r<s&&e<n.length-1)return n.start(e+1)}}},6375:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,s){function i(e){try{c(n.next(e))}catch(e){s(e)}}function a(e){try{c(n.throw(e))}catch(e){s(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,a)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.awaitMediaInfo=void 0;const o=r(1270),s=r(4809);function i(e){return e.tracks.some((e=>e.codecs.size>0))}function a(e){return void 0!==e.container.value}function c(e,t,r){return n(this,void 0,void 0,(function*(){const{abortable:n}=e.effects,{subscribeAndRun:i}=e.registry.get(s.CoreExportNames.Utils).State;return n((n=>{const s=(0,o.createTask)("segment-container-format-subscriber",((e,t)=>{r()&&(n(),a())})),a=i(e,t,s)}))}))}function u(e,t){return n(this,void 0,void 0,(function*(){return c(e,t.container,(()=>a(t)))}))}function f(e,t){return n(this,void 0,void 0,(function*(){const{containerFormatMap:r}=e.effects.store;return c(e,r,(()=>void 0!==r.get(t)))}))}function d(e,t){return n(this,void 0,void 0,(function*(){const{abortable:r,state:n}=e.effects,s=[],a=r((r=>{for(const a of t.tracks){const c=(0,o.createTask)("codec-subscriber",((e,n)=>{i(t)&&r()}));s.push(n.subscribe(e,a.codecs,c))}}));return a.finally((()=>s.forEach((e=>e())))).catch((()=>{})),a}))}function g(e,t){return n(this,void 0,void 0,(function*(){const{isMediaSelectionGroup:r}=e.registry.get(s.CoreExportNames.CoreStateAtoms).SelectionGroups,{containerFormatMap:n}=e.effects.store;for(const[o]of t.streamSequenceMap)r(o)&&(i(o)||(yield d(e,o)),a(o)||(yield u(e,o)),void 0===n.get(o)&&(yield f(e,o)))}))}t.awaitMediaInfo=g},2160:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,s){function i(e){try{c(n.next(e))}catch(e){s(e)}}function a(e){try{c(n.throw(e))}catch(e){s(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,a)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.PresentationPackage=void 0;const o=r(7085),s=r(8668),i=r(5225),a=r(4809),c=r(1146),u=r(158),f=r(7269),d=r(3894),g=r(2566),m=r(1851),l=r(6254),p=r(7365),y=r(4417);t.PresentationPackage=(0,o.createPackage)("presentation",((e,t)=>n(void 0,void 0,void 0,(function*(){const{createMapStateAtom:e}=t.registry.get(a.CoreExportNames.CoreStateAtoms),{StateEffectFactory:r,EventListenerEffectFactory:n,StoreEffectFactory:o}=t.registry.get(a.CoreExportNames.CoreEffects),s=t.using(r,n),i=s.using(o("segmentDataCache",new Map)).using(o("containerFormatMap",e(s)));i.registry.maybeSet(p.PresentationExportNames.SelectContainerFormat,m.SelectContainerFormatTask);const{state:c}=i.effects,u=i.registry.get(f.SourceExportNames.SourceState),b=(0,y.VideoElementSubscriber)((0,g.createPresentationStateAtom)(i),(0,d.createActiveSectionAtom)(i));(0,l.startPresentationSegmentProcessing)(i),c.subscribe(i,u.video,b)}))),[s.BundleExportNames.Logger,a.CoreExportNames.Utils,f.SourceExportNames.SourceState,c.DataExportNames.StreamTimeline,a.CoreExportNames.CoreStateAtoms,a.CoreExportNames.CoreEffects,i.CapabilitiesExportNames.PlatformCapabilities,u.SegmentProcessingExportNames.SegmentProcessingComponent,u.SegmentProcessingExportNames.SegmentProcessorErrors]),t.default=t.PresentationPackage},3966:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,s){function i(e){try{c(n.next(e))}catch(e){s(e)}}function a(e){try{c(n.throw(e))}catch(e){s(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,a)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.ActiveSectionSubscriber=t.SegmentCacheMissError=t.EncodedPlaybackTimeUnknownError=void 0;const o=r(1270),s=r(8668),i=r(4809),a=r(7269),c=r(6375),u=r(2012),f=r(1249),d=r(5457),g=r(3799);function m(e,t,r){const{MediaType:n}=e.registry.get(i.CoreExportNames.Constants),{getMediaTypeFromCodec:o,canSwitchBetweenAudioCodecs:s,extractCodec:a}=e.registry.get(i.CoreExportNames.Utils).Codecs,c=e=>r.filter((t=>o(t)===e));for(const e of t){const t=o(e);switch(t){case n.Video:{const r=a(e),n=c(t);if(void 0===r||0===n.length)return!1;if(!n.every((e=>r===a(e))))return!1;break}case n.Audio:{const r=c(t);if(0===r.length)return!1;if(!r.every((t=>s(e,t))))return!1;break}default:return!1}}return!0}function l(e,t,r,n,o){const{equals:s}=e.registry.get(i.CoreExportNames.Utils).Arrays;return t.find((([t,i,a])=>{const c=r===i,u=s(o,a),f=m(e,n,t);return c&&u&&f}))}function p(e,t,r){if(t.length!==r.length)return!0;for(let n=0;n<t.length;n++){const[o,s,i]=t[n];if(void 0===l(e,r,s,o,i))return!0}return!1}function y(e,t,r){return n(this,void 0,void 0,(function*(){const{events:n,abortable:o}=e.effects;t.close(),yield o((t=>{if(r.ended)t();else{const o=n.subscribe(e,r,"ended",(()=>{t(),o()}))}}))}))}function b(e){const t=[];if(void 0===e)return t;for(const{containerFormat:r,mediaTypes:n,codecs:o}of e.buffers)t.push([o,r,n]);return t}function S(e,t,r,n){if(r.length!==n.length)return!1;for(const[o,s,i]of r){const r=(0,g.getMatchingBuffer)(e,t.buffers,s,i);if(void 0===r)return!1;const a=l(e,n,s,o,i);if(void 0===a)return!1;const[c,u,f]=a;if(!t.canChangeBuffer(r,c,u))return!1}return!0}function v(e,t,r){return n(this,void 0,void 0,(function*(){r.bind(e);for(const[n,o,s]of t){const t=(0,g.getMatchingBuffer)(e,r.buffers,o,s);if(void 0===t)throw new Error("Could not find matching buffer");yield r.changeBuffer(t,n,o)}return r}))}function h(e,t,r,o){return n(this,void 0,void 0,(function*(){const n=e.registry.get(s.BundleExportNames.Logger),{waitFor:c}=e.registry.get(i.CoreExportNames.Utils).State;t&&(n.debug("Waiting for end of buffer before recreating the MSE..."),t.bind(e),yield y(e,t,o),n.debug("End of buffer reached, recreating MSE...")),yield null==t?void 0:t.dispose(),t=(0,u.createRenderer)(e);const f=c(e,t.onOpen);n.log(`Setting video element source to ${t.sourceUrl}`),o.src=t.sourceUrl,o.load(),yield f;for(const[e,n,o]of r)t.addBuffer(e,n,o);const d=e.registry.get(a.SourceExportNames.SourceState).stream;return yield t.setDuration(d.duration.value),t}))}function E(e,t,r,o,i,c){return n(this,void 0,void 0,(function*(){const n=e.registry.get(s.BundleExportNames.Logger),u=e.registry.get(a.SourceExportNames.SourceState).playback.playhead;if(void 0===t)return n.log(`Creating MSE for ${c}`),yield h(e,void 0,c,i);const d=b(t);return p(e,d,c)?S(e,t,d,c)?(n.log(`Changing MSE buffer types for ${c}`),t.bind(e),yield e.fork((0,f.BufferClearingTask)(t,o,r),u),yield v(e,c,t)):(n.log(`Re-creating MSE for ${c}`),yield h(e,t,c,i)):(n.log(`Re-using MSE for ${c}`,e.abortSignal.reason),t.bind(e),yield e.fork((0,f.BufferClearingTask)(t,o,r),u),t)}))}class x extends Error{constructor(){super("The encoded playback time could not be extracted from the segment"),this.name="EncodedPlaybackTimeUnknownError"}}t.EncodedPlaybackTimeUnknownError=x;class T extends Error{constructor(){super("Could not retrieve cached segment data for playback time retrieval"),this.name="SegmentCacheMissError"}}function C(e,t){const{MediaType:r}=e.registry.get(i.CoreExportNames.Constants),{isMediaSelectionGroup:n}=e.registry.get(i.CoreExportNames.CoreStateAtoms).SelectionGroups,{isMediaTrack:o}=e.registry.get(i.CoreExportNames.CoreStateAtoms).Tracks,s=Array.from(t.streamSequenceMap.keys()).filter(n).flatMap((e=>e.tracks)).filter(o);for(const e of s){const t=Array.from(e.codecs.keys()),n=t.includes(r.Muxed),o=t.includes(r.Audio),s=t.includes(r.Video);if(n||o&&s)return!0}return!1}function k(e,t){const r=C(e,t),n=[],{containerFormatMap:o}=e.effects.store,{Tracks:{isMediaTrack:s},SelectionGroups:{isMediaSelectionGroup:a}}=e.registry.get(i.CoreExportNames.CoreStateAtoms);for(const[e]of t.streamSequenceMap){if(!a(e))continue;const t=o.get(e);if(void 0===t)throw new Error("Container format is unexpectedly undefined");let i,c=-1/0;for(const t of e.tracks){if(!s(t))continue;const{bitrate:e,codecs:r}=t;e>c&&r.size>0&&(c=e,i=r)}if(void 0===i)throw new Error("Could not determine codec to create buffers with");if(r)for(const[e,r]of i)n.push([r,t,[e]]);else{const e=Array.from(i.keys()),r=Array.from(i.values()).flat();n.push([r,t,e])}}return n}t.SegmentCacheMissError=T;const N=(0,o.createTaskClosure)((e=>["buffer-statistics-printer",(t,r)=>{const n=r.registry.get(s.BundleExportNames.Logger);try{if(0===e.buffered.length)return void n.verbose(`Buffered for ${e.mediaTypes} is empty`);let t=`Buffered Ranges for ${e.mediaTypes}`;for(let r=0;r<e.buffered.length;r++){const n=e.buffered.start(r),o=e.buffered.end(r);t=`${t}\n\t[${r}] ${n.toFixed(2)} - ${o.toFixed(2)}`}n.verbose(t)}catch(t){n.verbose(`Could not get buffered ranges from ${e.mediaTypes} buffer`)}}])),A=(0,o.createTaskClosure)((e=>["duration-updater",({value:t},r)=>e.setDuration(t)]));t.ActiveSectionSubscriber=(0,o.createTaskClosure)(((e,t)=>["active-section-subscriber",({section:r},o)=>n(void 0,void 0,void 0,(function*(){if(!r)return;const{state:n,events:i,loop:u}=o.effects,g=o.registry.get(s.BundleExportNames.Logger),{activeRenderer:m,dataRangeIds:l}=e,p=o.registry.get(a.SourceExportNames.SourceState),y=p.stream,b=p.playback.playhead;yield(0,c.awaitMediaInfo)(o,r);const S=k(o,r);g.log("Preparing playback of section with buffers",S),i.subscribe(o,t,"timeupdate",(()=>{0!==t.currentTime&&n.dispatch(b.setPosition,t.currentTime)})),i.subscribe(o,t,"seeking",(()=>n.dispatch(b.setPosition,t.currentTime)));const v=yield E(o,m,l,r,t,S);return v.buffers.map((e=>n.subscribe(o,e.onUpdateEnd,N(e)))),n.dispatch(e.setActiveRenderer,v),n.subscribe(o,y.duration,A(v)),n.subscribe(o,b,(0,f.BufferClearingTask)(v,r,l)),o.fork(d.SegmentAppendage,{renderer:v,section:r,dataRangeIds:l,video:t}).catch((()=>{})),u(o.abortSignal)}))]))},7365:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.PresentationExportNames=void 0,function(e){e.SelectContainerFormat="presentation-select-container-format-task"}(t.PresentationExportNames||(t.PresentationExportNames={}))},3799:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getMatchingBuffer=t.getTargetBufferRange=t.getMediaTypeTargetRanges=void 0;const n=r(4809);function o(e,t){const r=e.playback.playhead.position;return{start:r,end:r+e.config.buffer[t].forwardDuration}}function s(e,t){const r=e.playback.playhead.position,n=e.config.buffer[t];return{start:Math.max(0,r-n.backwardDuration),end:r+n.forwardDuration}}function i(e,t,r,o){const{equals:s}=e.registry.get(n.CoreExportNames.Utils).Arrays;return t.find((e=>s(e.mediaTypes,o)&&e.containerFormat===r))}t.getMediaTypeTargetRanges=o,t.getTargetBufferRange=s,t.getMatchingBuffer=i},7709:(e,t)=>{function r(e,t){t.log("Revoking MSE src object URL");try{URL.revokeObjectURL(e.src)}catch(e){t.warn("Revoking MSE src object URL failed:",e)}e.setAttribute("src",""),e.removeAttribute("src"),e.load()}Object.defineProperty(t,"__esModule",{value:!0}),t.resetVideoSource=void 0,t.resetVideoSource=r},4417:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.VideoElementSubscriber=void 0;const n=r(1270),o=r(8668),s=r(7269),i=r(9861),a=r(407),c=r(3966),u=r(7709);t.VideoElementSubscriber=(0,n.createTaskClosure)(((e,t)=>["video-element-subscriber",(r,n)=>{const{fork:f,registry:d,effects:g,abortSignal:m}=n,{state:l,loop:p,abortable:y}=g,b=d.get(o.BundleExportNames.Logger);if(void 0===r.element)return b.log("Cannot set up presentation task - no video element"),y((e=>e()));const S=r.element,v=(0,c.ActiveSectionSubscriber)(e,S);return b.log("Setting up presentation task..."),l.subscribe(n,t,v),void 0!==t.section&&f(v,t),f((0,a.GapHandlingTask)(S),e),f(i.activeSectionUpdaterTask,[t,e],(()=>{var t;const r=null===(t=e.activeRenderer)||void 0===t?void 0:t.sourceUrl,{state:i}=n.effects;if(n.registry.has(s.SourceExportNames.SourceState)){const t=n.registry.get(s.SourceExportNames.SourceState).dataRanges;for(const r in t.media)for(const n of Object.values(e.dataRangeIds))i.dispatch(t.deleteSource,r,n)}return i.dispatch(e.setActiveRenderer,void 0),void 0!==r&&S.src===r&&(0,u.resetVideoSource)(S,n.registry.get(o.BundleExportNames.Logger)),!1})),p(m)}]))},3894:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createActiveSectionAtom=void 0;const r=()=>({section:void 0});function n(e,t){return e.section!==t&&(e.section=t,!0)}function o(e){return e.effects.state.create(r(),{setActiveSection:n})}t.createActiveSectionAtom=o},2566:(e,t)=>{function r(){return{activeRenderer:void 0,dataRangeIds:{buffered:"buffered",appending:"appending"}}}function n(e,t){return e.activeRenderer!==t&&(e.activeRenderer=t,!0)}function o(e){return e.effects.state.create(r(),{setActiveRenderer:n})}Object.defineProperty(t,"__esModule",{value:!0}),t.createPresentationStateAtom=void 0,t.createPresentationStateAtom=o},5159:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,s){function i(e){try{c(n.next(e))}catch(e){s(e)}}function a(e){try{c(n.throw(e))}catch(e){s(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,a)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.createSegmentAppendageQueueAtom=void 0;const o=r(1270),s=r(4809);function i(e){const{createTransient:t}=e.registry.get(s.CoreExportNames.Utils).State;return{queue:[],appendSegments:t(e),consumed:t(e)}}const a=(0,o.createTaskClosure)(((e,t,r,o)=>["segment-appendage-queue-subscriber",({value:s},i)=>n(void 0,void 0,void 0,(function*(){if(void 0===s)return;const n=t.queue;n.push(s);try{yield e.fork(r,s.slice(),o)}catch(e){}finally{const r=n.indexOf(s);r>-1&&n.splice(r,1),e.effects.state.dispatch(t.consumed.trigger)}}))]));function c(e,t,r=(()=>!1)){const{state:n}=e.effects,o=e.effects.state.create(i(e),{}),s=a(e,o,t,r);return n.subscribe(e,o.appendSegments,s),o}t.createSegmentAppendageQueueAtom=c},215:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getOrCreateOutputStream=void 0;const n=r(4809);function o(e,t,r){const{createDataStreamAtom:o}=e.registry.get(n.CoreExportNames.CoreStateAtoms).DataStream,s=o(e);return t.set(r,s),s}function s(e,t,r){var n;return null!==(n=t.get(r))&&void 0!==n?n:o(e,t,r)}t.getOrCreateOutputStream=s},1188:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SourceBufferActionFailedError=t.SourceBufferActionAbortedError=t.NotSupportedError=void 0;class r extends Error{constructor(e){super(`The operation "${e}" is not supported on this platform`),this.name="NotSupportedError"}}t.NotSupportedError=r;class n extends Error{constructor(){super("SourceBuffer action was aborted"),this.name="SourceBufferActionAbortedError"}}t.SourceBufferActionAbortedError=n;class o extends Error{constructor(e){super(`SourceBuffer action failed: ${e}`),this.name="SourceBufferActionFailedError"}}t.SourceBufferActionFailedError=o},2012:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,s){function i(e){try{c(n.next(e))}catch(e){s(e)}}function a(e){try{c(n.throw(e))}catch(e){s(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,a)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.createRenderer=void 0;const o=r(8668),s=r(5225),i=r(4809),a=r(6374),c=r(957),u=r(9583),f=r(8377);function d(e,t){const{state:r,events:n}=e.effects,{createTransient:o}=e.registry.get(i.CoreExportNames.Utils).State,s={onOpen:o(e),onClose:o(e),onEnded:o(e),onError:o(e)};return n.subscribe(e,t,"sourceopen",(()=>r.dispatch(s.onOpen.trigger))),n.subscribe(e,t,"sourceclose",(()=>r.dispatch(s.onClose.trigger))),n.subscribe(e,t,"sourceended",(()=>r.dispatch(s.onEnded.trigger))),n.subscribe(e,t,"error",(e=>r.dispatch(s.onError.trigger,new Error(JSON.stringify(e))))),s}function g(e,t){const r=e.get(t);if(!r)throw new Error("Unexpectedly encountered untracked value");return r}function m(e,t,r,n,s,i,a){const f=(0,c.generateMimeTypeString)(e,a,i,s);e.registry.get(o.BundleExportNames.Logger).debug(`Adding source buffer of type "${f}"`);const d=t.addSourceBuffer(f),g=(0,u.createSourceBufferActionQueue)(e,d),m=(0,c.createRendererBufferAtom)(e,s,a,i,!1,d),p=l(e,m,d);n.set(m,[d,g,p]),e.effects.state.dispatch(r.add,m)}function l(e,t,r){const{events:n,state:o}=e.effects,s=[n.subscribe(e,r,"updatestart",(()=>o.dispatch(t.onUpdateStart.trigger))),n.subscribe(e,r,"update",(()=>o.dispatch(t.onUpdate.trigger))),n.subscribe(e,r,"updateend",(()=>o.dispatch(t.onUpdateEnd.trigger))),n.subscribe(e,r,"error",(e=>o.dispatch(t.onError.trigger,new Error(e.type)))),n.subscribe(e,r,"abort",(()=>o.dispatch(t.onAbort.trigger)))];return()=>s.forEach((e=>e()))}function p(e,t,r,n,o,i){const{typeSupported:a}=e.registry.get(s.CapabilitiesExportNames.PlatformCapabilities),u=g(r,n)[0],f=(0,c.generateMimeTypeString)(e,n.mediaTypes,i,o);return"function"==typeof u.changeType&&a(f)}function y(e,t,r,n,o,s){const[i,a]=g(r,n),u=(0,c.generateMimeTypeString)(e,n.mediaTypes,s,o),f=e=>e.changeType(u);return a.execute(f)}function b(e,t,r,o,s){return n(this,void 0,void 0,(function*(){const[n,i]=g(r,s),a=e=>t.removeSourceBuffer(e);yield i.execute(a),r.delete(s),e.effects.state.dispatch(o.remove,s)}))}function S(e,t,r,n,s){const i=e.registry.get(o.BundleExportNames.Logger),[a,c]=g(r,n),u=e=>{e.timestampOffset=s};return i.log(`Setting timestamp offset to ${s.toFixed(2)} for buffer ${n.mediaTypes}/${n.codecs}`),e.effects.state.dispatch(n.setTimestampOffset,s),c.execute(u)}function v(e,t,r,n,o){const[s,i]=g(r,n),a=e=>e.appendBuffer(o.data.buffer);return i.execute(a)}function h(e,t,r,n,o,s){if(o>=s)return e.effects.abortable((e=>e()));const[i,a]=g(r,n),c=e=>e.remove(o,s);return a.execute(c)}function E(e,t,r){e.readyState===f.MediaSourceReadyState.Open&&e.setLiveSeekableRange(t,r)}function x(e,t,r,n){if(t.readyState===f.MediaSourceReadyState.Open){const e=()=>{t.duration=n};return r.execute(e)}return e.registry.get(o.BundleExportNames.Logger).log("Unable to set duration, media source not open"),e.effects.abortable((e=>e()))}function T(e,t,r){const n=e.registry.get(o.BundleExportNames.Logger);if(t.readyState===f.MediaSourceReadyState.Open){const e=()=>{t.endOfStream()};return n.debug("Signaling EoS..."),r.execute(e)}return n.log("Skipping EoS - media source not open"),e.effects.abortable((e=>e()))}function C(e,t){const r=[];try{for(let e=0;e<t.buffered.length;e++)r.push({start:t.buffered.start(e),end:t.buffered.end(e)})}catch(t){e.registry.get(o.BundleExportNames.Logger).debug("Could not determine buffered ranges for source buffer:",t)}return r}function k(e,t,r,n){const o=new Map;for(const[t,[r]]of n)o.set(t,C(e,r));return o}function N(e){return e.readyState}function A(e,t,r){const n=Array.from(r.entries());if(t.readyState===f.MediaSourceReadyState.Open||0===n.length)return e.effects.abortable((e=>e()));const[[o,[s]]]=n;return S(e,t,r,o,s.timestampOffset)}function M(e,t,r,n){for(const[e,[n]]of r)t.removeSourceBuffer(n);r.clear(),e.effects.state.dispatch(n.clear)}function w(e){const{createArrayAtom:t}=e.registry.get(i.CoreExportNames.CoreStateAtoms);let r=e;const n=new MediaSource,s=URL.createObjectURL(n),c=d(r,n),u=new Map,f=t(r,[]),g=(0,a.createRendererActionQueue)(r,u);return Object.assign(Object.assign({},c),{sourceUrl:s,buffers:f,addBuffer:m.bind(void 0,r,n,f,u),canChangeBuffer:p.bind(void 0,r,n,u),changeBuffer:y.bind(void 0,r,n,u),removeBuffer:b.bind(void 0,r,n,u,f),setTimestampOffset:S.bind(void 0,r,n,u),getBufferedRanges:k.bind(void 0,r,n,g,u),appendData:v.bind(void 0,r,n,u),removeData:h.bind(void 0,r,n,u),setSeekableRange:E.bind(void 0,n),setDuration:x.bind(void 0,r,n,g),getState:N.bind(void 0,n),close:T.bind(void 0,r,n,g),reopen:A.bind(void 0,r,n,u),dispose:M.bind(void 0,r,n,u,f),bind:e=>{const t=e.registry.get(o.BundleExportNames.Logger),n=Array.from(u.keys());t.debug("Binding renderer to new context..."),r=e,g.bind(r);for(let t=0;t<n.length;t++){const o=n[t],s=u.get(o);if(!s)continue;const[i,a,c]=s;c(),a.bind(r),s[2]=l(e,o,i)}}})}t.createRenderer=w},6374:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,s){function i(e){try{c(n.next(e))}catch(e){s(e)}}function a(e){try{c(n.throw(e))}catch(e){s(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,a)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.createRendererActionQueue=void 0;function o(e,t,r,s){return n(this,void 0,void 0,(function*(){if(t.executing)return;t.executing=!0;const n=r.shift();if(n)try{yield e.fork(s,n)}finally{t.executing=!1,o(e,t,r,s).catch((()=>{}))}else t.executing=!1}))}const s=(0,r(1270).createTaskClosure)((e=>["renderer-action",(t,r)=>n(void 0,void 0,void 0,(function*(){const{abortSignal:n,effects:o}=r,{abortable:s,events:a}=o;let c=()=>{},u=()=>{};const f=s(((e,t)=>{u=e,c=t})),d=[c],[g,m]=t,l=a.subscribe(r,n,"abort",(()=>{d.forEach((e=>e(n.reason)))}));f.catch((()=>{}));try{const{sourceBufferActionEnteredAbortables:t,sourceBufferActionAbortables:n}=i(r,e,f,d);yield Promise.all(t),yield g(void 0,r),u(),yield Promise.all(n),m()}finally{l()}}))]));function i(e,t,r,o){const s=[],i=[];for(const[a,[c,u]]of t){let t=()=>{};const a=e.effects.abortable(((e,r)=>{t=e,o.push(r)}));a.catch((()=>{}));const c=(e,o)=>n(this,void 0,void 0,(function*(){t(),yield r.catch((()=>{}))}));s.push(a),i.push(u.execute(c))}return{sourceBufferActionEnteredAbortables:s,sourceBufferActionAbortables:i}}function a(e,t){const r=[],n={executing:!1},i=s(t);return{execute:t=>{const{abortable:s}=e.effects;let a=()=>{},c=()=>{};const u=s(((e,t)=>{a=e,c=t}));return r.push([t,a,c]),o(e,n,r,i).catch((()=>{})),u},bind:t=>e=t,abort:()=>{}}}t.createRendererActionQueue=a},957:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createRendererBufferAtom=t.generateMimeTypeString=void 0;const n=r(7755),o=r(4809);function s(e,t,r,s,i){const{createTransient:a}=e.registry.get(o.CoreExportNames.Utils).State;return{onUpdateStart:a(e),onUpdate:a(e),onUpdateEnd:a(e),onError:a(e),onAbort:a(e),codecs:(0,n.createArrayAtom)(e,t),containerFormat:s,mediaTypes:(0,n.createArrayAtom)(e,r),encrypted:i,mimeType:c(e,r,s,t),timestampOffset:0,initSegment:void 0}}function i(e,t,r){const{MediaType:n}=e.registry.get(o.CoreExportNames.Constants),{ContainerFormat:s}=e.registry.get(o.CoreExportNames.CoreStateAtoms).Segments;return t===s.TS?n.Video:r}function a(e,t){return r=>`${i(e,t,r)}/${t}`}function c(e,t,r,n){return`${t.map(a(e,r)).join(";")};codecs="${n.join(",")}"`}function u(e,t){return e.timestampOffset!==t&&(e.timestampOffset=t,!0)}function f(e,t){return e.initSegment!==t&&(e.initSegment=t,!0)}function d(e,t,r,n,o){const{state:s}=e.effects,i=t.codecs.length===r.length&&t.codecs.every((e=>r.includes(e))),a=t.mediaTypes.length===n.length&&t.mediaTypes.every((e=>n.includes(e)));return(t.containerFormat!==o||!a||!i)&&(t.mimeType=c(e,n,o,r),t.containerFormat=o,s.dispatch(t.codecs.set,r),s.dispatch(t.mediaTypes.set,n),!0)}function g(e,t,r,n,i,a){const{deriveFrom:c}=e.registry.get(o.CoreExportNames.Utils).State,g=s(e,t,r,n,i);return c(g,"buffered",(()=>a.buffered)),e.effects.state.create(g,{setTimestampOffset:u,setInitSegment:f,updateType:d.bind(void 0,e)})}t.generateMimeTypeString=c,t.createRendererBufferAtom=g},9583:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,s){function i(e){try{c(n.next(e))}catch(e){s(e)}}function a(e){try{c(n.throw(e))}catch(e){s(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,a)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.createSourceBufferActionQueue=void 0;const o=r(1270),s=r(1188),i=(0,o.createTask)("source-buffer-update-awaiter",((e,t)=>{const{events:r,abortable:n}=t.effects;return n(((n,o)=>{e.updating?(r.subscribe(t,e,"updateend",(()=>n())),r.subscribe(t,e,"abort",(()=>o(new s.SourceBufferActionAbortedError))),r.subscribe(t,e,"error",(e=>o(new s.SourceBufferActionFailedError(e))))):n()}))}));function a(e,t,r,o){return n(this,void 0,void 0,(function*(){if(t.executing)return;t.executing=!0;const n=r.shift();if(n)try{yield e.fork(o,n,(e=>e instanceof s.SourceBufferActionAbortedError))}finally{t.executing=!1,a(e,t,r,o).catch((()=>{}))}else t.executing=!1}))}const c=(0,o.createTaskClosure)((e=>["source-buffer-action",(t,r)=>n(void 0,void 0,void 0,(function*(){const[n,o,a]=t;let c=()=>{};try{yield r.fork(i,e,(()=>!0)).catch((()=>{}));const t=n(e,r);c=r.effects.events.subscribe(r,r.abortSignal,"abort",(()=>e.abort())),yield t,yield r.fork(i,e),c(),o()}catch(e){c();a(e instanceof Error?e:e instanceof Event?new s.SourceBufferActionFailedError(e):new Error(""))}}))]));function u(e,t){const r=[],n={executing:!1},o=c(t);let i=()=>{};const u=e=>{r.forEach((([t,n,o])=>{r.shift(),o(e)}))},f=()=>{i(),i=e.effects.events.subscribe(e,e.abortSignal,"abort",(()=>{u(new s.SourceBufferActionAbortedError)}))};return f(),{execute(t){const{abortable:s}=e.effects;let i=()=>{},c=()=>{};const u=s(((e,t)=>{i=e,c=t}));return u.catch((()=>{})),r.push([t,i,c]),a(e,n,r,o).catch((()=>{})),u},bind:t=>{e=t,f()},abort(e){u(new s.SourceBufferActionAbortedError)}}}t.createSourceBufferActionQueue=u},8377:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SourceBufferEvent=t.MediaSourceEvent=t.MediaSourceReadyState=void 0,function(e){e.Closed="closed",e.Open="open",e.Ended="ended"}(t.MediaSourceReadyState||(t.MediaSourceReadyState={})),function(e){e.Error="error",e.SourceOpen="sourceopen",e.SourceClose="sourceopen",e.WebkitSourceOpen="webkitsourceopen"}(t.MediaSourceEvent||(t.MediaSourceEvent={})),function(e){e.UpdateStart="updatestart",e.Update="update",e.UpdateEnd="updateend",e.Error="error",e.Abort="abort"}(t.SourceBufferEvent||(t.SourceBufferEvent={}))},1249:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,s){function i(e){try{c(n.next(e))}catch(e){s(e)}}function a(e){try{c(n.throw(e))}catch(e){s(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,a)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.BufferClearingTask=void 0;const o=r(1270),s=r(8668),i=r(4809),a=r(7269),c=r(8377),u=r(3799),f=r(8423);function d(e,t,r,o){return n(this,void 0,void 0,(function*(){if(t.getState()!==c.MediaSourceReadyState.Open)return;const n=yield t.getBufferedRanges(),s=[];for(const[r,o]of n){const n=g(e,r),i=[],a=o.filter((e=>e.start>n.end));m(e,o,{start:0,end:n.start})&&(s.push({start:0,end:n.start}),i.push(t.removeData(r,0,n.start))),a.length>0&&(s.push({start:a[0].start,end:1/0}),i.push(t.removeData(r,a[0].start,1/0))),yield Promise.all(i)}l(e,t.buffers,r,o),y(e,t.buffers)}))}function g(e,t){const r=e.registry.get(a.SourceExportNames.SourceState);if(0===t.mediaTypes.length)throw new Error("Renderer Buffer has no media types");return t.mediaTypes.map((e=>(0,u.getTargetBufferRange)(r,e))).reduce(((e,t)=>({start:Math.min(e.start,t.start),end:Math.max(e.end,t.end)})),{start:1/0,end:-1/0})}function m(e,t,r){const{overlaps:n}=e.registry.get(i.CoreExportNames.Utils).Ranges;let o=!1;for(let e=0;e<t.length;e++){o=n({start:t[e].start,end:t[e].end},r)||o}return o}function l(e,t,r,n){var o,c;const u=e.registry.get(a.SourceExportNames.SourceState).dataRanges,{isMediaSelectionGroup:d}=e.registry.get(i.CoreExportNames.CoreStateAtoms).SelectionGroups,{resetData:g}=e.registry.get(i.CoreExportNames.CoreStateAtoms).Segments,m=e.registry.get(s.BundleExportNames.Logger),{state:l}=e.effects;for(const[s]of r.streamSequenceMap){if(!d(s))continue;const r=null!==(c=null===(o=u.media[s.mediaId])||void 0===o?void 0:o.source[n.buffered])&&void 0!==c?c:[];for(const o of[...r])p(e,o,t)||(l.dispatch(u.removeSegment,s.mediaId,n.buffered,o),(0,f.removeSegmentFromStreamTimeline)(e,o),g(o,e,m))}}function p(e,t,r){const{getTimeRange:n}=e.registry.get(i.CoreExportNames.CoreStateAtoms).Segments,{overlaps:o,isFullyIncluded:s}=e.registry.get(i.CoreExportNames.Utils).Ranges,c=n(t),u=e.registry.get(a.SourceExportNames.SourceState).playback.playhead;for(const e of r){const t=e.buffered;for(let e=0;e<t.length;e++){const r={start:t.start(e),end:t.end(e)};if(c.end>=u.position?o(c,r):s(c,r))return!0}}return!1}function y(e,t){const r=e.effects.store.segmentDataCache,n=Array.from(r.keys()),{Segments:o,Tracks:s}=e.registry.get(i.CoreExportNames.CoreStateAtoms),{overlaps:c}=e.registry.get(i.CoreExportNames.Utils).Ranges,d=e.registry.get(a.SourceExportNames.SourceState),{isDataOrSelfInitSegment:m,isDataSegment:l,getTimeRange:y}=o,{isMediaTrack:b}=s,S=new Map;for(const r of t)S.set(r,g(e,r));const v=new Set,h=[];for(const o of n){if(!b(o.track))continue;if(!m(o)){h.push(o);continue}const n=c(Array.from(o.track.codecs.keys()).reduce(((e,t)=>{const{start:r,end:n}=(0,u.getTargetBufferRange)(d,t);return{start:Math.min(e.start,r),end:Math.max(e.end,n)}}),{start:1/0,end:-1/0}),y(o));p(e,o,t)||n?l(o)&&v.add(o.initSegment):(r.delete(o),(0,f.removeSegmentFromStreamTimeline)(e,o))}for(const e of h)v.has(e)||r.delete(e)}t.BufferClearingTask=(0,o.createTaskClosure)(((e,t,r)=>["buffer-clearing-task",(o,i)=>n(void 0,void 0,void 0,(function*(){const n=i.registry.get(s.BundleExportNames.Logger);try{n.debug("Clearing buffers"),yield d(i,e,t,r),n.debug("Done clearing buffers")}catch(e){n.debug("Failed to clear buffers:",e instanceof Error?e.message:e)}}))]))},5457:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SegmentAppendage=void 0;const n=r(1270),o=r(4809),s=r(5159),i=r(3966),a=r(8423),c=r(9657);t.SegmentAppendage=(0,n.createTask)("segment-appendage",(({renderer:e,dataRangeIds:t,section:r,video:n},u)=>{const{MapUnsubscribedError:f}=u.registry.get(o.CoreExportNames.Utils).State,{QueueItemRemovedError:d}=u.registry.get(o.CoreExportNames.CoreStateAtoms).Queue,g=e=>e instanceof i.EncodedPlaybackTimeUnknownError||e instanceof f||e instanceof i.SegmentCacheMissError||e instanceof d,m=(0,s.createSegmentAppendageQueueAtom)(u,(0,a.SegmentAppendageQueueConsumer)(e,t,r,n),g);return u.fork(c.KeepUpdatingSegmentsToAppend,{section:r,segmentAppendageQueue:m,dataRangeIds:t})}))},8423:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,s){function i(e){try{c(n.next(e))}catch(e){s(e)}}function a(e){try{c(n.throw(e))}catch(e){s(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,a)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.waitForEncodedPlaybackTime=t.removeSegmentFromStreamTimeline=t.SegmentAppendageQueueConsumer=void 0;const o=r(1270),s=r(8668),i=r(4809),a=r(1146),c=r(7269),u=r(8377),f=r(3966),d=r(3799),g=r(4579),m=r(1249),l=r(9791);function p(e){const t=e.effects.store.segmentDataCache,r=[];for(const[e,{error:n}]of t.entries())n&&r.push(e);for(const e of r)t.delete(e)}function y(e,t,r){const{state:n}=e.effects,o=e.registry.get(c.SourceExportNames.SourceState);n.dispatch(o.dataRanges.addSegment,r.selectionGroup.mediaId,t.buffered,r),n.dispatch(o.dataRanges.removeSegment,r.selectionGroup.mediaId,t.appending,r)}function b(e,t,r,o){return n(this,void 0,void 0,(function*(){yield(0,g.maybeAppendInitSegment)(e,o,r),yield(0,g.appendSegment)(e,o,r),C(e,o),y(e,t,o)}))}function S(e,t){const{isMediaTrack:r}=e.registry.get(i.CoreExportNames.CoreStateAtoms).Tracks,n=e.registry.get(c.SourceExportNames.SourceState);if(!r(t.track))throw new Error("Encountered non-media segment during segment appendage");const o={start:1/0,end:-1/0};for(const e of t.track.codecs.keys()){const{start:t,end:r}=(0,d.getTargetBufferRange)(n,e);o.start=Math.min(o.start,t),o.end=Math.max(o.end,r)}return o}function v(e,t){var r;const{store:n}=e.effects,{getTimeRange:o}=e.registry.get(i.CoreExportNames.CoreStateAtoms).Segments,{overlaps:s}=e.registry.get(i.CoreExportNames.Utils).Ranges;for(const i of t){const t=S(e,i),a=void 0!==(null===(r=n.segmentDataCache.get(i))||void 0===r?void 0:r.error),c=s(t,o(i));!a&&c||k(e,i)}}function h(e,t){return n(this,void 0,void 0,(function*(){if(t.getState()===u.MediaSourceReadyState.Open)return;const r=e.registry.get(c.SourceExportNames.SourceState).stream;yield t.reopen(),yield t.setDuration(r.duration.value)}))}function E(e,t,r,n){var o,s;const i=r.currentTime,a=e.registry.get(c.SourceExportNames.SourceState).dataRanges;let u=!1;for(const[e,r]of t.streamSequenceMap){const t=r[r.length-1];if(r.length>0&&(u=!0),t){const{parsedPlaybackTime:r,parsedDuration:n}=t.segmentTiming,o=r+n;if(e.timeRange.end>o)return!1}for(const e of r){if(e.segmentTiming.parsedPlaybackTime+e.segmentTiming.parsedDuration<i)continue;if(!(null!==(s=null===(o=a.media[e.selectionGroup.mediaId])||void 0===o?void 0:o.source[n.buffered])&&void 0!==s?s:[]).includes(e))return!1}}return u}function x(e,t){const r=e.registry.get(c.SourceExportNames.SourceState).stream,{Type:n}=e.registry.get(i.CoreExportNames.CoreStateAtoms).Stream;if(r.type===n.Live)return!1;for(const[{sequenceNumber:e,mediaId:n},o]of t.streamSequenceMap)for(let t=r.selectionGroups.length-1;t>=0;t--){const o=r.selectionGroups[t];if(o.sequenceNumber!==1/0&&o.mediaId===n){if(o.sequenceNumber>e)return!1;if(o.sequenceNumber<=e)break}}return!0}function T(e,t,r,n,o){const s=E(e,t,n,o),i=x(e,t);s&&i&&r.close()}function C(e,t){const{state:r}=e.effects,n=e.registry.get(c.SourceExportNames.SourceState),{parsedDuration:o,encodedDuration:s}=t.segmentTiming,{isMediaTrack:a}=e.registry.get(i.CoreExportNames.CoreStateAtoms).Tracks;o!==s&&a(t.track)&&r.dispatch(n.stream.onDurationMismatch.trigger,{segment:t,track:t.track,expectedDuration:o,actualDuration:s})}function k(e,t){const r=e.registry.get(a.DataExportNames.StreamTimeline),n=t.selectionGroup,{state:o}=e.effects,s=r.find((e=>e.sequenceNumber===n.sequenceNumber));if(s){const e=s.streamSequenceMap.get(n);e&&o.dispatch(e.remove,t)}}function N(e){return Array.from(e.streamSequenceMap.keys())}function A(e,t){return N(e).every((({tracks:e})=>e.every((({timeRange:{start:e,end:r}})=>e<=t&&r>t))))}function M(e,t,r,n){const o=[],i=t.currentTime,a=r.getBufferedRanges(),c=e.registry.get(s.BundleExportNames.Logger);if(A(n,i))return;for(const[{mimeType:e},t]of a){let r;for(const{start:e,end:n}of t)if(n>i){r={start:e,end:n};break}if(void 0===r)return void c.debug(`Not setting current time yet - "${e}" buffer is empty`);o.push(r)}let u=o[0];for(const{start:e,end:t}of o)u={start:Math.max(u.start,e),end:Math.min(u.end,t)};if(u.start>=u.end)c.debug("Not setting current time yet - buffers don't overlap");else if(i<u.start){const e=u.start;c.log(`Setting currentTime to start of buffer (${i.toFixed(2)} → ${e.toFixed(2)})`),t.currentTime=e}}function w(e,t){return n(this,void 0,void 0,(function*(){if(t.length<1)return;const{state:r}=e.effects,o=e.registry.get(s.BundleExportNames.Logger),a=e.registry.get(c.SourceExportNames.SourceState),{Tracks:u,Segments:f}=e.registry.get(i.CoreExportNames.CoreStateAtoms),{isMediaTrack:d}=u,{getReadableSegmentName:g}=f;yield Promise.all(t.map((t=>n(this,void 0,void 0,(function*(){if(!d(t.track))return;yield P(e,t);const{parsedPlaybackTime:n,encodedPlaybackTime:s,timestampOffset:i}=t.segmentTiming;if(i===-1/0){const e=g(t);return void o.debug(`Cannot verify segment timing - timestampOffset is not set (${e})`)}const c=s+i;n!==c&&r.dispatch(a.stream.onPlaybackTimeMismatch.trigger,{track:t.track,segment:t,expectedTime:c,actualTime:n})})))))}))}function P(e,t){return n(this,void 0,void 0,(function*(){const{segmentTiming:r}=t,{abortable:n,state:s,store:i}=e.effects,a=i.segmentDataCache.get(t);if(void 0===a)throw new f.SegmentCacheMissError;if(-1!==r.encodedPlaybackTime)return r.encodedPlaybackTime;if(a.closed)throw new f.EncodedPlaybackTimeUnknownError;return n(((t,n)=>{const i=(0,o.createTask)("data-awaiter",((e,t)=>{const{closed:r,error:o}=e;(r||o)&&(g(),n(new f.EncodedPlaybackTimeUnknownError))})),c=(0,o.createTask)("segment-data-cleared-subscriber",((e,t)=>{g(),n(new f.EncodedPlaybackTimeUnknownError)})),u=(0,o.createTask)("encoded-playback-time-awaiter",(({encodedPlaybackTime:e},r)=>{-1!==e&&(g(),t(e))})),d=[s.subscribe(e,r,u),s.subscribe(e,a,i),s.subscribe(e,a.cleared,c)],g=()=>d.forEach((e=>e()))}))}))}t.SegmentAppendageQueueConsumer=(0,o.createTaskClosure)(((e,t,r,o)=>["segment-appendage-queue-consumer",(s,i)=>n(void 0,void 0,void 0,(function*(){s=[...s];const n=i.registry.get(c.SourceExportNames.SourceState),{state:a}=i.effects;for(const e of s)a.dispatch(n.dataRanges.addSegment,e.selectionGroup.mediaId,t.appending,e);try{yield h(i,e),yield(0,l.maybeUpdateTimestampOffset)(i,e,s),yield w(i,s),yield Promise.all(s.map((r=>b(i,t,e,r)))),M(i,o,e,r),T(i,r,e,o,t),yield i.fork((0,m.BufferClearingTask)(e,r,t),n.playback.playhead)}catch(e){throw v(i,s),e}finally{p(i);for(const e of s)a.dispatch(n.dataRanges.removeSegment,e.selectionGroup.mediaId,t.appending,e)}}))])),t.removeSegmentFromStreamTimeline=k,t.waitForEncodedPlaybackTime=P},9657:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.KeepUpdatingSegmentsToAppend=void 0;const n=r(1270),o=r(4809),s=r(7269),i=r(3799);t.KeepUpdatingSegmentsToAppend=(0,n.createTask)("keep-updating-segments-to-append",(({section:e,dataRangeIds:t,segmentAppendageQueue:r},n)=>{const{loop:o,state:i}=n.effects,{playback:{playhead:c}}=n.registry.get(s.SourceExportNames.SourceState),u=a(t,e,r);i.subscribe(n,r.consumed,u),i.subscribe(n,c,u),i.subscribe(n,e.streamSequenceMap,u);for(const[t,r]of e.streamSequenceMap)i.subscribe(n,r,u);return n.fork(u,c),o(n.abortSignal)}));const a=(0,n.createTaskClosure)(((e,t,r)=>["select-segments-to-append",(n,s)=>{const{areSegmentsOverlapping:i}=s.registry.get(o.CoreExportNames.CoreStateAtoms).Segments;let a=u(s,e,t);a=c(a,r),a.length>=1&&!i(a)&&a.splice(1,a.length-1),a.length<1||s.effects.state.dispatch(r.appendSegments.trigger,a)}]));function c(e,t){const r=[];for(const e of t.queue)for(const t of e)r.push(t.selectionGroup.mediaId);return e.filter((e=>!r.includes(e.selectionGroup.mediaId)))}function u(e,t,r){var n,a,c,u;const f=e.registry.get(s.SourceExportNames.SourceState),d=f.dataRanges,g=[],{isMediaSelectionGroup:m,getMediaType:l}=e.registry.get(o.CoreExportNames.CoreStateAtoms).SelectionGroups,{overlaps:p}=e.registry.get(o.CoreExportNames.Utils).Ranges,{getGapToNextSegment:y}=e.registry.get(o.CoreExportNames.CoreStateAtoms).Segments;for(const[o,s]of r.streamSequenceMap){if(!m(o))continue;const r=l(o),b=(0,i.getMediaTypeTargetRanges)(f,r),S=null!==(a=null===(n=d.media[o.mediaId])||void 0===n?void 0:n.source[t.buffered])&&void 0!==a?a:[],v=null!==(u=null===(c=d.media[o.mediaId])||void 0===c?void 0:c.source[t.appending])&&void 0!==u?u:[];for(let t=0;t<s.length;t++){const r=s[t],{parsedPlaybackTime:n,parsedDuration:o}=r.segmentTiming,i=n+o,a=S.includes(r),c=v.includes(r),u=y(r,s[t+1]),f=void 0!==u&&i===u.start,d=n>=b.start&&n<b.end,m=i>b.start&&i<=b.end,l=e.effects.store.segmentDataCache.has(r);if((d||m||(b.start===i||void 0!==u&&p(b,u))&&f)&&!a&&!c&&l){g.push(r);break}}}return g.sort(((e,t)=>e.segmentTiming.parsedPlaybackTime-t.segmentTiming.parsedPlaybackTime)),g}},9791:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,s){function i(e){try{c(n.next(e))}catch(e){s(e)}}function a(e){try{c(n.throw(e))}catch(e){s(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,a)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.maybeUpdateTimestampOffset=void 0;const o=r(8668),s=r(4809),i=r(8423);function a(e,t,r){return n(this,void 0,void 0,(function*(){const t=[];for(const e of r){const{timestampOffset:r}=e.segmentTiming;r===-1/0&&t.push(e)}0!==t.length&&(yield c(e,t))}))}function c(e,t){return n(this,void 0,void 0,(function*(){const{state:r}=e.effects,s=e.registry.get(o.BundleExportNames.Logger),a=d(t),c=new Map;yield Promise.all(a.map((t=>n(this,void 0,void 0,(function*(){yield(0,i.waitForEncodedPlaybackTime)(e,t),c.set(t.track,u(e,t))})))));const f=Array.from(c.values()),g=Math.max(...f);if(void 0!==g){s.debug(`Determined timestampOffset to be (${g})`);for(const[e]of c)for(const t of e.segments){const e=t.segmentTiming;e.timestampOffset===-1/0&&r.dispatch(e.timestampOffsetChanged,g)}}else s.debug(`Could not determine timestamp offset (${f})`)}))}function u(e,t){const r=f(e,t);if(void 0!==r)return r;{const{parsedPlaybackTime:e,encodedPlaybackTime:r}=t.segmentTiming;return e-r}}function f(e,t){var r;const n=t.track,o=n.selectionGroup.tracks.filter((e=>e!==n)),{getTimeRange:i}=e.registry.get(s.CoreExportNames.CoreStateAtoms).Segments,{overlaps:a}=e.registry.get(s.CoreExportNames.Utils).Ranges,c=i(t);for(const e of o){const t=e.segments.find((e=>a(i(e),c))),{timestampOffset:n}=null!==(r=null==t?void 0:t.segmentTiming)&&void 0!==r?r:{};if(void 0!==n&&n!==-1/0)return n}}function d(e){const t=new Map;for(const r of e){const e=r.track,n=t.get(e);if(void 0!==n){const{parsedPlaybackTime:o}=n.segmentTiming,{parsedPlaybackTime:s}=r.segmentTiming;s<o&&t.set(e,r)}else t.set(e,r)}return Array.from(t.values())}t.maybeUpdateTimestampOffset=a},4579:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,s){function i(e){try{c(n.next(e))}catch(e){s(e)}}function a(e){try{c(n.throw(e))}catch(e){s(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,a)}c((n=n.apply(e,t||[])).next())}))},o=this&&this.__asyncValues||function(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e="function"==typeof __values?__values(e):e[Symbol.iterator](),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(r){t[r]=e[r]&&function(t){return new Promise((function(n,s){o(n,s,(t=e[r](t)).done,t.value)}))}}function o(e,t,r,n){Promise.resolve(n).then((function(t){e({value:t,done:r})}),t)}};Object.defineProperty(t,"__esModule",{value:!0}),t.appendSegment=t.maybeAppendInitSegment=void 0;const s=r(8668),i=r(4809),a=r(3966),c=r(3799);function u(e,t,r){var s,a,u,d;return n(this,void 0,void 0,(function*(){const{isDataSegment:n}=e.registry.get(i.CoreExportNames.CoreStateAtoms).Segments;if(!n(t))return;const g=e.effects.store.segmentDataCache.get(t);if(!g)throw new Error("Ey yo, wtf");try{for(var m,l=!0,p=o(g);m=yield p.next(),!(s=m.done);){d=m.value,l=!1;try{const n=d,o=(0,c.getMatchingBuffer)(e,r.buffers,n.containerFormat,n.mediaTypes);if(!o)continue;if(o.initSegment===t.initSegment)return;yield f(e,t.initSegment,r),e.effects.state.dispatch(o.setInitSegment,t.initSegment)}finally{l=!0}}}catch(e){a={error:e}}finally{try{l||s||!(u=p.return)||(yield u.call(p))}finally{if(a)throw a.error}}}))}function f(e,t,r){var u,f,d,g,m,l,p,y;return n(this,void 0,void 0,(function*(){const n=e.registry.get(s.BundleExportNames.Logger),{isDataOrSelfInitSegment:b}=e.registry.get(i.CoreExportNames.CoreStateAtoms).Segments;n.debug("Appending",t.url);const S=e.effects.store.segmentDataCache.get(t);if(!S)throw new a.SegmentCacheMissError;try{for(var v,h=!0,E=o(S);v=yield E.next(),!(u=v.done);){g=v.value,h=!1;try{const s=g,i=(0,c.getMatchingBuffer)(e,r.buffers,s.containerFormat,s.mediaTypes);if(!i){n.log(`Can't append "${s.mediaTypes}" data "${t.url}": there is no buffer of the given type`);continue}b(t)&&t.segmentTiming.timestampOffset>-1/0&&(yield r.setTimestampOffset(i,t.segmentTiming.timestampOffset));try{for(var x,T=!0,C=(l=void 0,o(s.fragments));x=yield C.next(),!(m=x.done);){y=x.value,T=!1;try{const e=y;yield r.appendData(i,e)}finally{T=!0}}}catch(e){l={error:e}}finally{try{T||m||!(p=C.return)||(yield p.call(C))}finally{if(l)throw l.error}}}finally{h=!0}}}catch(e){f={error:e}}finally{try{h||u||!(d=E.return)||(yield d.call(E))}finally{if(f)throw f.error}}n.debug("Appended",t.url)}))}t.maybeAppendInitSegment=u,t.appendSegment=f},1991:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.verifyCodecs=void 0;const n=r(8668);class o extends Error{constructor(e){super(`MediaType "${e}" is present in track but missing in segment`),this.name="MediaTypeMissingError"}}function s(e,t,r){return void 0!==r?`"${e}" codecs don't match between track (${t}) and segment (${r})`:`Segment doesn't contain "${e}" codec, but track does`}function i(e,t,r){const o=t.split(".")[0],i=r.find((e=>o===e.split(".")[0])),a=e.registry.get(n.BundleExportNames.Logger);i?t!==i&&a.log(`Codecs don't match between track and segment (${t}, ${i})`):a.warn(s(t))}function a(e,t,r,a){var c;const u=e.registry.get(n.BundleExportNames.Logger),[f,d]=null!==(c=a.find((([e])=>e===t)))&&void 0!==c?c:[];if(!d)throw new o(t);if(r.length===d.length)for(const t of r)i(e,t,d);else u.warn(s(t,r,d))}function c(e,t,r){if(t.codecs.size!==r.length)throw new Error(`Detected codec mismatch - track specifies ${t.codecs.size} codecs, but segment contains ${r.length}`);for(const[n,o]of t.codecs)a(e,n,o,r)}t.verifyCodecs=c},1851:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SelectContainerFormatTask=void 0;const n=r(1270),o=r(5225),s=r(4809);function i(e){const{ContainerFormat:t}=e.registry.get(s.CoreExportNames.CoreStateAtoms).Segments,{isContainerSupported:r}=e.registry.get(o.CapabilitiesExportNames.PlatformCapabilities);return Object.values(t).filter(r)}t.SelectContainerFormatTask=(0,n.createTaskClosure)((e=>["select-container",({availableContainerFormats:t,segment:r},n)=>{const{store:o,state:s}=e.effects,{containerFormatMap:a}=o,c=i(e),u=t.filter((e=>c.includes(e)))[0],f=r.selectionGroup;return s.dispatch(a.add,f,u),u}]))},6254:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,s){function i(e){try{c(n.next(e))}catch(e){s(e)}}function a(e){try{c(n.throw(e))}catch(e){s(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,a)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.startPresentationSegmentProcessing=void 0;const o=r(1270),s=r(4809),i=r(1146),a=r(7718),c=(0,o.createTask)("timeline-section-subscriber",((e,t)=>n(void 0,void 0,void 0,(function*(){const{subscribeAndRun:r}=t.registry.get(s.CoreExportNames.Utils).State;return r(t,e.streamSequenceMap,u),t.effects.loop(t.abortSignal)})))),u=(0,o.createTask)("timeline-sequence-map-subscriber",((e,t)=>n(void 0,void 0,void 0,(function*(){const{mapSubscribe:r}=t.registry.get(s.CoreExportNames.Utils).State;for(const[n,o]of e)r(t,o,a.SegmentDataStreamSubscriber);return t.effects.loop(t.abortSignal)}))));function f(e){const t=e.registry.get(i.DataExportNames.StreamTimeline),{mapSubscribe:r}=e.registry.get(s.CoreExportNames.Utils).State;return r(e,t,c),e.effects.loop(e.abortSignal)}t.startPresentationSegmentProcessing=f},7718:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,s){function i(e){try{c(n.next(e))}catch(e){s(e)}}function a(e){try{c(n.throw(e))}catch(e){s(e)}}function c(e){e.done?r(e.value):o(e.value).then(i,a)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.SegmentDataStreamSubscriber=void 0;const o=r(1270),s=r(4809),i=r(158),a=r(215),c=r(1851),u=r(1023);function f(e,t,r){const{createTransient:n}=e.registry.get(s.CoreExportNames.Utils).State;return{input:t.data,segment:t,output:r,codecsExtracted:n(e),playbackTimeExtracted:n(e),durationExtracted:n(e),selectContainerFormat:(0,c.SelectContainerFormatTask)(e)}}function d(e,t){return n(this,void 0,void 0,(function*(){const r=e.effects.store.segmentDataCache;if(r.has(t))return;const{state:n}=e.effects,o=(0,a.getOrCreateOutputStream)(e,r,t),c=f(e,t,o),d=e.registry.get(i.SegmentProcessingExportNames.SegmentProcessingComponent),g=(0,u.subscribeToTransients)(e,c),{DataStreamClearedError:m,DataStreamClosedError:l}=e.registry.get(s.CoreExportNames.CoreStateAtoms).DataStream,{QueueItemRemovedError:p}=e.registry.get(s.CoreExportNames.CoreStateAtoms).Queue,y=e=>[l,m,p].some((t=>e instanceof t));try{yield e.fork(d.process,c,y)}catch(e){const s=e instanceof Error?e:new Error("Failed to fetch segment");if(n.dispatch(o.throw,s),r.delete(t),!y(s))throw s}finally{g()}}))}t.SegmentDataStreamSubscriber=(0,o.createTask)("segment-data-stream-subscriber",((e,t)=>n(void 0,void 0,void 0,(function*(){const{isDataSegment:r}=t.registry.get(s.CoreExportNames.CoreStateAtoms).Segments,n=r(e)?[e,e.initSegment]:[e];yield Promise.all(n.map((e=>d(t,e))))}))))},1023:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.subscribeToTransients=void 0;const n=r(1270),o=r(8668),s=r(4809),i=r(1991);function a(e,{value:t},r){if(void 0===t)throw new Error("CodecMap was unexpectedly undefined");const{isMediaTrack:n}=r.registry.get(s.CoreExportNames.CoreStateAtoms).Tracks,{track:a}=e;if(!n(a))return;const c=[],u=Object.keys(t);for(const e of u)c.push([e,t[e]]);if(0===a.codecs.size){r.registry.get(o.BundleExportNames.Logger).log("Parsed codecs from segment",c),r.effects.state.dispatch(a.codecs.setAll,c)}else(0,i.verifyCodecs)(r,a,c)}function c(e,t,r){const{isDataOrSelfInitSegment:n}=r.registry.get(s.CoreExportNames.CoreStateAtoms).Segments,{state:o}=r.effects;if(!n(e)||void 0===t.value||-1!==e.segmentTiming.encodedDuration)return;const{encodedPlaybackTime:i,dataParsed:a}=e.segmentTiming;o.dispatch(a,t.value,i)}function u(e,t,r){const{isDataOrSelfInitSegment:n}=r.registry.get(s.CoreExportNames.CoreStateAtoms).Segments,{state:o}=r.effects;if(!n(e)||void 0===t.value)return;const{encodedPlaybackTime:i,encodedDuration:a,dataParsed:c}=e.segmentTiming;-1===i&&o.dispatch(c,a,t.value)}function f(e,t){const r=[e.effects.state.subscribe(e,t.codecsExtracted,(0,n.createTask)("segment-codec-updater",a.bind(void 0,t.segment))),e.effects.state.subscribe(e,t.durationExtracted,(0,n.createTask)("segment-duration-updater",c.bind(void 0,t.segment))),e.effects.state.subscribe(e,t.playbackTimeExtracted,(0,n.createTask)("segment-playback-time-updater",u.bind(void 0,t.segment)))];return()=>{for(const e of r)e()}}t.subscribeToTransients=f},158:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SegmentProcessorType=t.SegmentProcessingExportNames=void 0,function(e){e.SegmentProcessingComponent="segment-processing-component",e.SegmentProcessorType="segment-processor-type",e.SegmentProcessorErrors="segment-processor-errors"}(t.SegmentProcessingExportNames||(t.SegmentProcessingExportNames={})),function(e){e.Decryptor="decryptor",e.Parser="parser",e.Preprocessor="preprocessor",e.Transmuxer="transmuxer",e.Postprocessor="postprocessor"}(t.SegmentProcessorType||(t.SegmentProcessorType={}))},7269:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SourceExportNames=void 0,function(e){e.CreateSourceStateAtom="create-source-state-atom",e.CreateSourceReference="create-source-reference",e.SourceReferences="source-references",e.SourceState="source-state-atom"}(t.SourceExportNames||(t.SourceExportNames={}))}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var s=t[n]={exports:{}};return e[n].call(s.exports,s,s.exports,r),s.exports}return r(2160)})()));
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import type { ContextHaving, ContextUsing } from '../../../../../framework-types/execution-context/Types';
|
|
2
|
-
import type { EmptyObject } from '../../../../Types';
|
|
3
|
-
import type { ContextWithState } from '../../../Types';
|
|
4
|
-
import type { Constants, MediaType } from '../../Constants';
|
|
5
|
-
import type { EventListenerEffect } from '../../effects/EventListenerEffectFactory';
|
|
6
|
-
import type { CoreExportNames, CoreStateAtoms } from '../../Types';
|
|
7
|
-
import type { CoreUtils } from '../../utils/Types';
|
|
8
|
-
import type { DataStreamAtom } from '../data-stream/DataStreamAtom';
|
|
9
|
-
export declare enum ContainerFormat {
|
|
10
|
-
MP4 = "mp4",
|
|
11
|
-
TS = "mp2t",
|
|
12
|
-
WebM = "webm",
|
|
13
|
-
Unknown = "unknown"
|
|
14
|
-
}
|
|
15
|
-
export interface Fragment {
|
|
16
|
-
data: Uint8Array;
|
|
17
|
-
}
|
|
18
|
-
export interface SegmentData {
|
|
19
|
-
mediaTypes: MediaType[];
|
|
20
|
-
fragments: DataStreamAtom<Fragment>;
|
|
21
|
-
containerFormat: ContainerFormat;
|
|
22
|
-
}
|
|
23
|
-
type Dependencies = {
|
|
24
|
-
[CoreExportNames.Utils]: CoreUtils;
|
|
25
|
-
[CoreExportNames.Constants]: Constants;
|
|
26
|
-
[CoreExportNames.CoreStateAtoms]: CoreStateAtoms;
|
|
27
|
-
};
|
|
28
|
-
type ExtendedContext = ContextUsing<[EventListenerEffect], ContextHaving<Dependencies, EmptyObject, ContextWithState>>;
|
|
29
|
-
export type SegmentDataAtom = ReturnType<typeof createSegmentDataAtom>;
|
|
30
|
-
export declare const createSegmentDataAtom: (context: ExtendedContext, initialData: SegmentData) => import("../Types").StateAtom<SegmentData, {}>;
|
|
31
|
-
export {};
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import type { AudioSelectionGroupAtom, MediaSelectionGroupAtom, SubtitleSelectionGroupAtom, UnknownSelectionGroupAtom, VideoSelectionGroupAtom } from './SelectionGroupAtom';
|
|
2
|
-
export declare function isVideoSelectionGroup(selectionGroup: UnknownSelectionGroupAtom | AudioSelectionGroupAtom | VideoSelectionGroupAtom | SubtitleSelectionGroupAtom | MediaSelectionGroupAtom): selectionGroup is VideoSelectionGroupAtom;
|
|
3
|
-
export declare function isAudioSelectionGroup(selectionGroup: UnknownSelectionGroupAtom | AudioSelectionGroupAtom | VideoSelectionGroupAtom | SubtitleSelectionGroupAtom | MediaSelectionGroupAtom): selectionGroup is AudioSelectionGroupAtom;
|
|
4
|
-
export declare function isSubtitleSelectionGroup(selectionGroup: UnknownSelectionGroupAtom | AudioSelectionGroupAtom | VideoSelectionGroupAtom | SubtitleSelectionGroupAtom | MediaSelectionGroupAtom): selectionGroup is SubtitleSelectionGroupAtom;
|
|
5
|
-
export declare function isMediaSelectionGroup(selectionGroup: UnknownSelectionGroupAtom | AudioSelectionGroupAtom | VideoSelectionGroupAtom | SubtitleSelectionGroupAtom | MediaSelectionGroupAtom): selectionGroup is MediaSelectionGroupAtom;
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { MediaType } from '../../Constants';
|
|
2
|
-
import type { MediaSelectionGroupAtom } from './SelectionGroupAtom';
|
|
3
|
-
declare function getMediaType(group: MediaSelectionGroupAtom): MediaType.Audio | MediaType.Video;
|
|
4
|
-
export declare const SelectionGroupUtils: {
|
|
5
|
-
getMediaType: typeof getMediaType;
|
|
6
|
-
};
|
|
7
|
-
export {};
|