@bitmovin/player-web-x 10.2.0-beta.13 → 10.2.0-beta.14
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 +2 -2
- package/bundles/playerx-bitmovin-v8.js +2 -2
- package/bundles/playerx-core.js +2 -2
- package/bundles/playerx-dash.js +2 -2
- package/bundles/playerx-hls-ts-audio.js +2 -2
- package/bundles/playerx-hls.js +2 -2
- package/bundles/playerx-playback.js +2 -2
- package/bundles/playerx-tv.js +2 -2
- package/package.json +1 -1
- package/packages/playerx-adaptation.package.js +2 -2
- package/packages/playerx-advertising-api.package.js +2 -2
- package/packages/playerx-advertising-base.package.js +2 -2
- package/packages/playerx-advertising-bitmovin.package.js +2 -2
- package/packages/playerx-analytics.package.js +1 -1
- package/packages/playerx-bitmovin-advertising-bundle.package.js +2 -2
- package/packages/playerx-bitmovin-source-api.package.js +2 -2
- package/packages/playerx-bitmovin-ui.package.js +2 -2
- package/packages/playerx-bitmovin-v8-core.package.js +2 -2
- package/packages/playerx-bitmovin-v8-static-api.package.js +2 -2
- package/packages/playerx-bitmovin-video-element-utils.package.js +2 -2
- package/packages/playerx-capabilities.package.js +2 -2
- package/packages/playerx-container-mp4.package.js +2 -2
- package/packages/playerx-container-ts.package.js +2 -2
- package/packages/playerx-core.package.js +2 -2
- package/packages/playerx-dash-manifest-technology.package.js +2 -2
- package/packages/playerx-dash-manifest.package.js +2 -2
- package/packages/playerx-dash-parsing.package.js +2 -2
- package/packages/playerx-dash-translation.package.js +2 -2
- package/packages/playerx-dash.package.js +2 -2
- package/packages/playerx-data.package.js +2 -2
- package/packages/playerx-event-bus.package.js +1 -1
- package/packages/playerx-hls-manifest-technology.package.js +2 -2
- package/packages/playerx-hls-manifest.package.js +2 -2
- package/packages/playerx-hls-parsing.package.js +2 -2
- package/packages/playerx-hls-translation.package.js +2 -2
- package/packages/playerx-hls.package.js +2 -2
- package/packages/playerx-media-state.package.d.ts +1 -0
- package/packages/playerx-media-state.package.js +10 -0
- package/packages/playerx-mse-playback.package.js +2 -2
- package/packages/playerx-mse-presentation.package.js +2 -2
- package/packages/playerx-native-playback.package.js +2 -2
- package/packages/playerx-native-presentation.package.js +2 -2
- package/packages/playerx-network.package.js +2 -2
- package/packages/playerx-no-adaptation.package.js +2 -2
- package/packages/playerx-playback-api.package.js +2 -2
- package/packages/playerx-playback-technology.package.js +2 -2
- package/packages/playerx-playback.package.js +2 -2
- package/packages/playerx-player-api.package.js +2 -2
- package/packages/playerx-segment-processing.package.js +2 -2
- package/packages/playerx-source.package.js +2 -2
- package/packages/playerx-sources-api.package.js +2 -2
- package/packages/playerx-stream-data-structure.package.js +2 -2
- package/packages/playerx-streaming.package.js +1 -1
- package/packages/playerx-subtitle-api.package.js +2 -2
- package/packages/playerx-subtitle-base.package.js +2 -2
- package/packages/playerx-subtitle-format-detection.package.js +1 -1
- package/packages/playerx-subtitle-native-renderer.package.js +2 -2
- package/packages/playerx-subtitles.package.js +2 -2
- package/packages/playerx-trick-play.package.js +2 -2
- package/packages/playerx-ts-transmuxer.package.js +2 -2
- package/packages/playerx-tv.package.js +1 -1
- package/packages/playerx-ui.package.js +2 -2
- package/packages/playerx-video-element-controller.package.d.ts +1 -0
- package/packages/playerx-video-element-controller.package.js +10 -0
- package/packages/playerx-view-mode.package.js +2 -2
- package/packages/playerx-web-vtt.package.js +2 -2
- package/playerx-framework-utils.js +1 -1
- package/types/Types.d.ts +3 -0
- package/types/bundles/BitmovinV8.bundle.d.ts +1 -1
- package/types/bundles/Dash.bundle.d.ts +1 -1
- package/types/bundles/Hls.bundle.d.ts +1 -1
- package/types/bundles/HlsTsAudio.bundle.d.ts +1 -1
- package/types/bundles/Playback.bundle.d.ts +1 -1
- package/types/bundles/Tv.bundle.d.ts +1 -1
- package/types/packages/adaptation/AdaptationAlgorithm.d.ts +4 -0
- package/types/packages/adaptation/StartupQuality.d.ts +5 -0
- package/types/packages/adaptation/Types.d.ts +7 -11
- package/types/packages/adaptation/WishDataAtom.d.ts +9 -2
- package/types/packages/advertising/BitmovinAdvertisingBundle.package.d.ts +1 -1
- package/types/packages/advertising/api/AdvertisingApi.package.d.ts +1 -1
- package/types/packages/advertising/api/AdvertisingEvents.d.ts +29 -5
- package/types/packages/advertising/api/Types.d.ts +24 -6
- package/types/packages/advertising/base/AdPosition.d.ts +1 -0
- package/types/packages/advertising/base/AdQuartile.d.ts +5 -0
- package/types/packages/advertising/base/AdSchedule.d.ts +2 -2
- package/types/packages/advertising/base/AdTagAtom.d.ts +1 -1
- package/types/packages/advertising/base/AdType.d.ts +4 -0
- package/types/packages/advertising/base/BaseAdAtom.d.ts +5 -3
- package/types/packages/advertising/base/{BaseAdBreakAtom.d.ts → BaseAdPodAtom.d.ts} +8 -6
- package/types/packages/advertising/base/BaseAdPodState.d.ts +7 -0
- package/types/packages/advertising/base/BaseAdState.d.ts +7 -0
- package/types/packages/advertising/base/Types.d.ts +13 -29
- package/types/packages/advertising/bitmovin/Types.d.ts +13 -10
- package/types/packages/capabilities/Types.d.ts +1 -1
- package/types/packages/container/container-mp4/ContainerMp4.package.d.ts +2 -0
- package/types/packages/container/container-ts/ContainerTs.package.d.ts +3 -1
- package/types/packages/container/ts-transmuxer/TsTransmuxer.package.d.ts +2 -0
- package/types/packages/core/Constants.d.ts +7 -0
- package/types/packages/core/Types.d.ts +3 -2
- package/types/packages/core/metrics/MetricsAtom.d.ts +1 -1
- package/types/packages/{adaptation → core/state}/RingBufferAtom.d.ts +2 -2
- package/types/packages/core/state/StateMachineAtom.d.ts +13 -12
- package/types/packages/core/state/state-effect/Types.d.ts +2 -2
- package/types/packages/core/technology/Types.d.ts +2 -2
- package/types/packages/data/Types.d.ts +7 -1
- package/types/packages/manifest/dash/parsing/Errors.d.ts +1 -1
- package/types/packages/manifest/dash/root/Types.d.ts +3 -1
- package/types/packages/manifest/dash/technology/Types.d.ts +2 -1
- package/types/packages/manifest/hls/parsing/Constants.d.ts +47 -0
- package/types/packages/manifest/hls/parsing/Errors.d.ts +1 -1
- package/types/packages/manifest/hls/parsing/Types.d.ts +5 -48
- package/types/packages/manifest/hls/root/Hls.package.d.ts +6 -1
- package/types/packages/manifest/hls/technology/Types.d.ts +2 -1
- package/types/packages/manifest/hls/translation/HlsTranslation.package.d.ts +5 -0
- package/types/packages/manifest/hls/translation/Types.d.ts +10 -11
- package/types/packages/manifest/hls/translation/segments/StreamHelpers.d.ts +14 -0
- package/types/packages/manifest/hls/translation/stream/TracksToSelectionGroups.d.ts +6 -0
- package/types/packages/manifest/hls/translation/stream/UnknownTrackToMediaTrackTranslator.d.ts +4 -0
- package/types/packages/media-state/MediaInfoAtoms.d.ts +18 -0
- package/types/packages/media-state/MediaState.d.ts +10 -0
- package/types/packages/media-state/MediaState.package.d.ts +22 -0
- package/types/packages/media-state/MediaStateAtom.d.ts +16 -0
- package/types/packages/media-state/MediaStateTransitionType.d.ts +11 -0
- package/types/packages/media-state/SeekRestrictionAtom.d.ts +2 -0
- package/types/packages/media-state/Types.d.ts +48 -0
- package/types/packages/media-state/controllers/video-element/Types.d.ts +32 -0
- package/types/packages/media-state/controllers/video-element/VideoElementController.package.d.ts +15 -0
- package/types/packages/network/HttpRequestMethod.d.ts +5 -0
- package/types/packages/network/HttpRequestType.d.ts +11 -0
- package/types/packages/network/HttpResponseType.d.ts +7 -0
- package/types/packages/network/NetworkAtom.d.ts +15 -0
- package/types/packages/network/NetworkTask.d.ts +8 -7
- package/types/packages/network/Types.d.ts +17 -26
- package/types/packages/playback/play-pause/Types.d.ts +0 -3
- package/types/packages/playback/volume/Types.d.ts +2 -4
- package/types/packages/playback-api/play-pause-api/Types.d.ts +4 -3
- package/types/packages/playback-api/playback-api-events/Types.d.ts +11 -8
- package/types/packages/playback-api/time-api/Types.d.ts +4 -5
- package/types/packages/playback-technology/PlaybackTechnologyEntryType.d.ts +4 -0
- package/types/packages/playback-technology/Types.d.ts +6 -6
- package/types/packages/player-api/PlayerApi.package.d.ts +2 -0
- package/types/packages/player-api/PlayerEvent.d.ts +3 -0
- package/types/packages/player-api/Types.d.ts +4 -4
- package/types/packages/presentation/mse/playback-technology/Types.d.ts +2 -1
- package/types/packages/presentation/mse/playback-technology/atoms/MsePresentationStateAtom.d.ts +1 -4
- package/types/packages/presentation/mse/presentation/MsePresentation.package.d.ts +4 -2
- package/types/packages/presentation/mse/presentation/Types.d.ts +6 -0
- package/types/packages/presentation/native/Types.d.ts +1 -1
- package/types/packages/presentation/native/playback-technology/Types.d.ts +2 -1
- package/types/packages/segment-processing/SegmentProcessing.package.d.ts +2 -1
- package/types/packages/segment-processing/SegmentProcessorType.d.ts +7 -0
- package/types/packages/segment-processing/Types.d.ts +10 -10
- package/types/packages/source/SourceReference.d.ts +1 -1
- package/types/packages/source/atoms/PlaybackConfigAtom.d.ts +2 -2
- package/types/packages/source/atoms/SourceConfigAtom.d.ts +2 -0
- package/types/packages/sources-api/SourcesApiEvent.d.ts +7 -0
- package/types/packages/sources-api/Types.d.ts +4 -8
- package/types/packages/stream-data-structure/Types.d.ts +1 -0
- package/types/packages/stream-data-structure/segment/Exports.d.ts +3 -3
- package/types/packages/stream-data-structure/segment/SegmentAtom.d.ts +11 -2
- package/types/packages/stream-data-structure/segment/SegmentDataAtom.d.ts +1 -7
- package/types/packages/stream-data-structure/segment/SegmentUtils.d.ts +3 -2
- package/types/packages/stream-data-structure/selection-group/SelectionGroupAtom.d.ts +1 -2
- package/types/packages/stream-data-structure/track/Exports.d.ts +6 -1
- package/types/packages/stream-data-structure/track/TrackAtom.d.ts +19 -4
- package/types/packages/stream-data-structure/track/TrackTypeGuards.d.ts +3 -1
- package/types/packages/stream-data-structure/track/TypeDetection.d.ts +25 -0
- package/types/packages/stream-data-structure/track/TypeDetectionTypeGuards.d.ts +4 -0
- package/types/packages/streaming/Streaming.package.d.ts +2 -2
- package/types/packages/streaming/Types.d.ts +3 -2
- package/types/packages/subtitles/subtitle-api/SubtitleEvent.d.ts +9 -0
- package/types/packages/subtitles/subtitle-api/Types.d.ts +3 -9
- package/types/packages/trick-play/TrickPlay.package.d.ts +2 -1
- package/types/packages/v8-compat/BitmovinUi.package.d.ts +4 -4
- package/types/packages/v8-compat/BitmovinV8Core.package.d.ts +16 -4
- package/types/packages/v8-compat/BitmovinV8StaticApi.package.d.ts +8 -5
- package/types/packages/v8-compat/apis/SourceApis.d.ts +5 -0
- package/types/packages/v8-compat/apis/SubtitleApi.d.ts +5 -0
- package/types/packages/v8-compat/enums/AdditionalPlayerExportNames.d.ts +9 -0
- package/types/packages/v8-compat/enums/PlayerExports.d.ts +0 -7
- package/types/packages/v8-compat/event-handling/EventDispatcher.d.ts +11 -0
- package/types/packages/v8-compat/source-api/BitmovinSourceApi.package.d.ts +10 -4
- package/types/packages/v8-compat/video-element/BitmovinVideoElementUtils.package.d.ts +4 -4
- package/types/packages/view-mode/Types.d.ts +4 -6
- package/types/packages/view-mode/ViewMode.d.ts +5 -0
- package/types/packages/view-mode/ViewMode.package.d.ts +2 -0
- package/types/packages/view-mode/ViewModeAtom.d.ts +1 -1
- package/types/packages/core/FrameworkError.d.ts +0 -4
- package/types/packages/core/network/NetworkAtom.d.ts +0 -21
- package/types/packages/playback/playback-state/Types.d.ts +0 -41
- package/types/packages/playback/video-element-state/SeekRestrictionAtom.d.ts +0 -2
- package/types/packages/playback/video-element-state/Types.d.ts +0 -32
- package/types/packages/playback/video-element-state/VideoElementStateAtom.d.ts +0 -58
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* on some SmartTVs.
|
|
7
7
|
*
|
|
8
8
|
* ### Tv.bundle used packages
|
|
9
|
-
* <svg aria-roledescription="flowchart-v2" role="graphics-document document" viewBox="-7.5 -8 343.546875 2116" style="max-width: 343.547px; 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-Tv.bundle LE-Hls.bundle" id="L-Tv.bundle-Hls.bundle-0" d="M163.773,1999L163.773,2004.667C163.773,2010.333,163.773,2021.667,163.773,2032.117C163.773,2042.567,163.773,2052.133,163.773,2056.917L163.773,2061.7"/></g><g class="edgeLabels"><g transform="translate(163.7734375, 2033)" class="edgeLabel"><g transform="translate(-48.03125, -9)" class="label"><foreignObject height="18" width="96.0625"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel">created using</span></div></foreignObject></g></g></g><g class="nodes"><g transform="translate(-7.5, -8)" class="root"><g class="clusters"><g id="Tv.bundle" class="cluster default flowchart-label"><rect height="1999" width="327.546875" y="8" x="8" ry="0" rx="0" style=""/><g transform="translate(137.234375, 8)" class="cluster-label"><foreignObject height="18" width="69.078125"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">Tv.bundle</span></div></foreignObject></g></g></g><g class="edgePaths"/><g class="edgeLabels"/><g class="nodes"><g transform="translate(25.5, 35)" class="root"><g class="clusters"><g id="HlsBundlePackage" class="cluster default flowchart-label"><rect height="1846" width="277.546875" y="8" x="8" ry="0" rx="0" style=""/><g transform="translate(79.171875, 8)" class="cluster-label"><foreignObject height="18" width="135.203125"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">HlsBundlePackage</span></div></foreignObject></g></g></g><g class="edgePaths"/><g class="edgeLabels"/><g class="nodes"><g transform="translate(146.7734375, 59.5)" data-id="CorePackage" data-node="true" id="flowchart-CorePackage-2" class="node default default flowchart-label"><rect height="33" width="111.953125" y="-16.5" x="-55.9765625" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-48.4765625, -9)" style="" class="label"><rect/><foreignObject height="18" width="96.953125"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">CorePackage</span></div></foreignObject></g></g><g transform="translate(146.7734375, 142.5)" data-id="StreamDataStructurePackage" data-node="true" id="flowchart-StreamDataStructurePackage-3" class="node default default flowchart-label"><rect height="33" width="227.546875" y="-16.5" x="-113.7734375" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-106.2734375, -9)" style="" class="label"><rect/><foreignObject height="18" width="212.546875"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">StreamDataStructurePackage</span></div></foreignObject></g></g><g transform="translate(146.7734375, 225.5)" data-id="StreamingPackage" data-node="true" id="flowchart-StreamingPackage-4" class="node default default flowchart-label"><rect height="33" width="150.1875" y="-16.5" x="-75.09375" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-67.59375, -9)" style="" class="label"><rect/><foreignObject height="18" width="135.1875"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">StreamingPackage</span></div></foreignObject></g></g><g transform="translate(146.7734375, 308.5)" data-id="EventBusPackage" data-node="true" id="flowchart-EventBusPackage-5" class="node default default flowchart-label"><rect height="33" width="145.75" y="-16.5" x="-72.875" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-65.375, -9)" style="" class="label"><rect/><foreignObject height="18" width="130.75"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">EventBusPackage</span></div></foreignObject></g></g><g transform="translate(146.7734375, 391.5)" data-id="PlayerApiPackage" data-node="true" id="flowchart-PlayerApiPackage-6" class="node default default flowchart-label"><rect height="33" width="145.75" y="-16.5" x="-72.875" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-65.375, -9)" style="" class="label"><rect/><foreignObject height="18" width="130.75"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">PlayerApiPackage</span></div></foreignObject></g></g><g transform="translate(146.7734375, 474.5)" data-id="CapabilitiesPackage" data-node="true" id="flowchart-CapabilitiesPackage-7" class="node default default flowchart-label"><rect height="33" width="159.984375" y="-16.5" x="-79.9921875" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-72.4921875, -9)" style="" class="label"><rect/><foreignObject height="18" width="144.984375"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">CapabilitiesPackage</span></div></foreignObject></g></g><g transform="translate(146.7734375, 557.5)" data-id="SegmentProcessingPackage" data-node="true" id="flowchart-SegmentProcessingPackage-8" class="node default default flowchart-label"><rect height="33" width="220.453125" y="-16.5" x="-110.2265625" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-102.7265625, -9)" style="" class="label"><rect/><foreignObject height="18" width="205.453125"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">SegmentProcessingPackage</span></div></foreignObject></g></g><g transform="translate(146.7734375, 640.5)" data-id="ContainerMp4Package" data-node="true" id="flowchart-ContainerMp4Package-9" class="node default default flowchart-label"><rect height="33" width="177.765625" y="-16.5" x="-88.8828125" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-81.3828125, -9)" style="" class="label"><rect/><foreignObject height="18" width="162.765625"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">ContainerMp4Package</span></div></foreignObject></g></g><g transform="translate(146.7734375, 723.5)" data-id="ContainerTsPackage" data-node="true" id="flowchart-ContainerTsPackage-10" class="node default default flowchart-label"><rect height="33" width="162.640625" y="-16.5" x="-81.3203125" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-73.8203125, -9)" style="" class="label"><rect/><foreignObject height="18" width="147.640625"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">ContainerTsPackage</span></div></foreignObject></g></g><g transform="translate(146.7734375, 806.5)" data-id="TsTransmuxerPackage" data-node="true" id="flowchart-TsTransmuxerPackage-11" class="node default default flowchart-label"><rect height="33" width="178.03125" y="-16.5" x="-89.015625" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-81.515625, -9)" style="" class="label"><rect/><foreignObject height="18" width="163.03125"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">TsTransmuxerPackage</span></div></foreignObject></g></g><g transform="translate(146.7734375, 889.5)" data-id="DataPackage" data-node="true" id="flowchart-DataPackage-12" class="node default default flowchart-label"><rect height="33" width="111.0625" y="-16.5" x="-55.53125" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-48.03125, -9)" style="" class="label"><rect/><foreignObject height="18" width="96.0625"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">DataPackage</span></div></foreignObject></g></g><g transform="translate(146.7734375, 972.5)" data-id="NetworkPackage" data-node="true" id="flowchart-NetworkPackage-13" class="node default default flowchart-label"><rect height="33" width="135.953125" y="-16.5" x="-67.9765625" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-60.4765625, -9)" style="" class="label"><rect/><foreignObject height="18" width="120.953125"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">NetworkPackage</span></div></foreignObject></g></g><g transform="translate(146.7734375, 1055.5)" data-id="PlaybackTechnologyPackage" data-node="true" id="flowchart-PlaybackTechnologyPackage-14" class="node default default flowchart-label"><rect height="33" width="223.140625" y="-16.5" x="-111.5703125" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-104.0703125, -9)" style="" class="label"><rect/><foreignObject height="18" width="208.140625"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">PlaybackTechnologyPackage</span></div></foreignObject></g></g><g transform="translate(146.7734375, 1138.5)" data-id="HlsManifestPackage" data-node="true" id="flowchart-HlsManifestPackage-15" class="node default default flowchart-label"><rect height="33" width="160.84375" y="-16.5" x="-80.421875" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-72.921875, -9)" style="" class="label"><rect/><foreignObject height="18" width="145.84375"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">HlsManifestPackage</span></div></foreignObject></g></g><g transform="translate(146.7734375, 1221.5)" data-id="MsePlaybackPackage" data-node="true" id="flowchart-MsePlaybackPackage-16" class="node default default flowchart-label"><rect height="33" width="172.421875" y="-16.5" x="-86.2109375" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-78.7109375, -9)" style="" class="label"><rect/><foreignObject height="18" width="157.421875"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">MsePlaybackPackage</span></div></foreignObject></g></g><g transform="translate(146.7734375, 1304.5)" data-id="NativePlaybackPackage" data-node="true" id="flowchart-NativePlaybackPackage-17" class="node default default flowchart-label"><rect height="33" width="187.546875" y="-16.5" x="-93.7734375" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-86.2734375, -9)" style="" class="label"><rect/><foreignObject height="18" width="172.546875"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">NativePlaybackPackage</span></div></foreignObject></g></g><g transform="translate(146.7734375, 1387.5)" data-id="SourcePackage" data-node="true" id="flowchart-SourcePackage-18" class="node default default flowchart-label"><rect height="33" width="127.96875" y="-16.5" x="-63.984375" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-56.484375, -9)" style="" class="label"><rect/><foreignObject height="18" width="112.96875"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">SourcePackage</span></div></foreignObject></g></g><g transform="translate(146.7734375, 1470.5)" data-id="SourcesApiPackage" data-node="true" id="flowchart-SourcesApiPackage-19" class="node default default flowchart-label"><rect height="33" width="159.09375" y="-16.5" x="-79.546875" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-72.046875, -9)" style="" class="label"><rect/><foreignObject height="18" width="144.09375"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">SourcesApiPackage</span></div></foreignObject></g></g><g transform="translate(146.7734375, 1553.5)" data-id="AdaptationPackage" data-node="true" id="flowchart-AdaptationPackage-20" class="node default default flowchart-label"><rect height="33" width="153.78125" y="-16.5" x="-76.890625" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-69.390625, -9)" style="" class="label"><rect/><foreignObject height="18" width="138.78125"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">AdaptationPackage</span></div></foreignObject></g></g><g transform="translate(146.7734375, 1636.5)" data-id="PlaybackPackage" data-node="true" id="flowchart-PlaybackPackage-21" class="node default default flowchart-label"><rect height="33" width="142.1875" y="-16.5" x="-71.09375" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-63.59375, -9)" style="" class="label"><rect/><foreignObject height="18" width="127.1875"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">PlaybackPackage</span></div></foreignObject></g></g><g transform="translate(146.7734375, 1719.5)" data-id="PlaybackApiPackage" data-node="true" id="flowchart-PlaybackApiPackage-22" class="node default default flowchart-label"><rect height="33" width="165.3125" y="-16.5" x="-82.65625" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-75.15625, -9)" style="" class="label"><rect/><foreignObject height="18" width="150.3125"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">PlaybackApiPackage</span></div></foreignObject></g></g><g transform="translate(146.7734375, 1802.5)" data-id="ViewModePackage" data-node="true" id="flowchart-ViewModePackage-23" class="node default default flowchart-label"><rect height="33" width="151.6875" y="-16.5" x="-75.84375" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-68.34375, -9)" style="" class="label"><rect/><foreignObject height="18" width="136.6875"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">ViewModePackage</span></div></foreignObject></g></g></g></g><g transform="translate(171.7734375, 1955.5)" data-id="TvPackage" data-node="true" id="flowchart-TvPackage-1" class="node default default flowchart-label"><rect height="33" width="95.046875" y="-16.5" x="-47.5234375" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-40.0234375, -9)" style="" class="label"><rect/><foreignObject height="18" width="80.046875"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">TvPackage</span></div></foreignObject></g></g></g></g><g transform="translate(163.7734375, 2083.5)" data-id="Hls.bundle" data-node="true" id="flowchart-Hls.bundle-25" class="node default default flowchart-label"><rect height="33" width="90.609375" y="-16.5" x="-45.3046875" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-37.8046875, -9)" style="" class="label"><rect/><foreignObject height="18" width="75.609375"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">Hls.bundle</span></div></foreignObject></g></g></g></g></g></svg>
|
|
9
|
+
* <svg aria-roledescription="flowchart-v2" role="graphics-document document" viewBox="-7.5 -8 361.953125 2282" style="max-width: 361.953px; 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-Tv.bundle LE-Hls.bundle" id="L-Tv.bundle-Hls.bundle-0" d="M172.977,2165L172.977,2170.667C172.977,2176.333,172.977,2187.667,172.977,2198.117C172.977,2208.567,172.977,2218.133,172.977,2222.917L172.977,2227.7"/></g><g class="edgeLabels"><g transform="translate(172.9765625, 2199)" class="edgeLabel"><g transform="translate(-48.03125, -9)" class="label"><foreignObject height="18" width="96.0625"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel">created using</span></div></foreignObject></g></g></g><g class="nodes"><g transform="translate(-7.5, -8)" class="root"><g class="clusters"><g id="Tv.bundle" class="cluster default flowchart-label"><rect height="2165" width="345.953125" y="8" x="8" ry="0" rx="0" style=""/><g transform="translate(146.4375, 8)" class="cluster-label"><foreignObject height="18" width="69.078125"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">Tv.bundle</span></div></foreignObject></g></g></g><g class="edgePaths"/><g class="edgeLabels"/><g class="nodes"><g transform="translate(25.5, 35)" class="root"><g class="clusters"><g id="HlsBundlePackage" class="cluster default flowchart-label"><rect height="2012" width="295.953125" y="8" x="8" ry="0" rx="0" style=""/><g transform="translate(88.375, 8)" class="cluster-label"><foreignObject height="18" width="135.203125"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">HlsBundlePackage</span></div></foreignObject></g></g></g><g class="edgePaths"/><g class="edgeLabels"/><g class="nodes"><g transform="translate(155.9765625, 59.5)" data-id="CorePackage" data-node="true" id="flowchart-CorePackage-2" class="node default default flowchart-label"><rect height="33" width="111.953125" y="-16.5" x="-55.9765625" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-48.4765625, -9)" style="" class="label"><rect/><foreignObject height="18" width="96.953125"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">CorePackage</span></div></foreignObject></g></g><g transform="translate(155.9765625, 142.5)" data-id="StreamDataStructurePackage" data-node="true" id="flowchart-StreamDataStructurePackage-3" class="node default default flowchart-label"><rect height="33" width="227.546875" y="-16.5" x="-113.7734375" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-106.2734375, -9)" style="" class="label"><rect/><foreignObject height="18" width="212.546875"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">StreamDataStructurePackage</span></div></foreignObject></g></g><g transform="translate(155.9765625, 225.5)" data-id="StreamingPackage" data-node="true" id="flowchart-StreamingPackage-4" class="node default default flowchart-label"><rect height="33" width="150.1875" y="-16.5" x="-75.09375" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-67.59375, -9)" style="" class="label"><rect/><foreignObject height="18" width="135.1875"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">StreamingPackage</span></div></foreignObject></g></g><g transform="translate(155.9765625, 308.5)" data-id="EventBusPackage" data-node="true" id="flowchart-EventBusPackage-5" class="node default default flowchart-label"><rect height="33" width="145.75" y="-16.5" x="-72.875" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-65.375, -9)" style="" class="label"><rect/><foreignObject height="18" width="130.75"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">EventBusPackage</span></div></foreignObject></g></g><g transform="translate(155.9765625, 391.5)" data-id="PlayerApiPackage" data-node="true" id="flowchart-PlayerApiPackage-6" class="node default default flowchart-label"><rect height="33" width="145.75" y="-16.5" x="-72.875" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-65.375, -9)" style="" class="label"><rect/><foreignObject height="18" width="130.75"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">PlayerApiPackage</span></div></foreignObject></g></g><g transform="translate(155.9765625, 474.5)" data-id="CapabilitiesPackage" data-node="true" id="flowchart-CapabilitiesPackage-7" class="node default default flowchart-label"><rect height="33" width="159.984375" y="-16.5" x="-79.9921875" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-72.4921875, -9)" style="" class="label"><rect/><foreignObject height="18" width="144.984375"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">CapabilitiesPackage</span></div></foreignObject></g></g><g transform="translate(155.9765625, 557.5)" data-id="SegmentProcessingPackage" data-node="true" id="flowchart-SegmentProcessingPackage-8" class="node default default flowchart-label"><rect height="33" width="220.453125" y="-16.5" x="-110.2265625" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-102.7265625, -9)" style="" class="label"><rect/><foreignObject height="18" width="205.453125"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">SegmentProcessingPackage</span></div></foreignObject></g></g><g transform="translate(155.9765625, 640.5)" data-id="ContainerMp4Package" data-node="true" id="flowchart-ContainerMp4Package-9" class="node default default flowchart-label"><rect height="33" width="177.765625" y="-16.5" x="-88.8828125" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-81.3828125, -9)" style="" class="label"><rect/><foreignObject height="18" width="162.765625"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">ContainerMp4Package</span></div></foreignObject></g></g><g transform="translate(155.9765625, 723.5)" data-id="ContainerTsPackage" data-node="true" id="flowchart-ContainerTsPackage-10" class="node default default flowchart-label"><rect height="33" width="162.640625" y="-16.5" x="-81.3203125" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-73.8203125, -9)" style="" class="label"><rect/><foreignObject height="18" width="147.640625"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">ContainerTsPackage</span></div></foreignObject></g></g><g transform="translate(155.9765625, 806.5)" data-id="TsTransmuxerPackage" data-node="true" id="flowchart-TsTransmuxerPackage-11" class="node default default flowchart-label"><rect height="33" width="178.03125" y="-16.5" x="-89.015625" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-81.515625, -9)" style="" class="label"><rect/><foreignObject height="18" width="163.03125"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">TsTransmuxerPackage</span></div></foreignObject></g></g><g transform="translate(155.9765625, 889.5)" data-id="DataPackage" data-node="true" id="flowchart-DataPackage-12" class="node default default flowchart-label"><rect height="33" width="111.0625" y="-16.5" x="-55.53125" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-48.03125, -9)" style="" class="label"><rect/><foreignObject height="18" width="96.0625"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">DataPackage</span></div></foreignObject></g></g><g transform="translate(155.9765625, 972.5)" data-id="NetworkPackage" data-node="true" id="flowchart-NetworkPackage-13" class="node default default flowchart-label"><rect height="33" width="135.953125" y="-16.5" x="-67.9765625" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-60.4765625, -9)" style="" class="label"><rect/><foreignObject height="18" width="120.953125"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">NetworkPackage</span></div></foreignObject></g></g><g transform="translate(155.9765625, 1055.5)" data-id="PlaybackTechnologyPackage" data-node="true" id="flowchart-PlaybackTechnologyPackage-14" class="node default default flowchart-label"><rect height="33" width="223.140625" y="-16.5" x="-111.5703125" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-104.0703125, -9)" style="" class="label"><rect/><foreignObject height="18" width="208.140625"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">PlaybackTechnologyPackage</span></div></foreignObject></g></g><g transform="translate(155.9765625, 1138.5)" data-id="MediaStatePackage" data-node="true" id="flowchart-MediaStatePackage-15" class="node default default flowchart-label"><rect height="33" width="158.203125" y="-16.5" x="-79.1015625" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-71.6015625, -9)" style="" class="label"><rect/><foreignObject height="18" width="143.203125"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">MediaStatePackage</span></div></foreignObject></g></g><g transform="translate(155.9765625, 1221.5)" data-id="VideoElementControllerPackage" data-node="true" id="flowchart-VideoElementControllerPackage-16" class="node default default flowchart-label"><rect height="33" width="245.953125" y="-16.5" x="-122.9765625" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-115.4765625, -9)" style="" class="label"><rect/><foreignObject height="18" width="230.953125"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">VideoElementControllerPackage</span></div></foreignObject></g></g><g transform="translate(155.9765625, 1304.5)" data-id="HlsManifestPackage" data-node="true" id="flowchart-HlsManifestPackage-17" class="node default default flowchart-label"><rect height="33" width="160.84375" y="-16.5" x="-80.421875" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-72.921875, -9)" style="" class="label"><rect/><foreignObject height="18" width="145.84375"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">HlsManifestPackage</span></div></foreignObject></g></g><g transform="translate(155.9765625, 1387.5)" data-id="MsePlaybackPackage" data-node="true" id="flowchart-MsePlaybackPackage-18" class="node default default flowchart-label"><rect height="33" width="172.421875" y="-16.5" x="-86.2109375" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-78.7109375, -9)" style="" class="label"><rect/><foreignObject height="18" width="157.421875"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">MsePlaybackPackage</span></div></foreignObject></g></g><g transform="translate(155.9765625, 1470.5)" data-id="NativePlaybackPackage" data-node="true" id="flowchart-NativePlaybackPackage-19" class="node default default flowchart-label"><rect height="33" width="187.546875" y="-16.5" x="-93.7734375" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-86.2734375, -9)" style="" class="label"><rect/><foreignObject height="18" width="172.546875"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">NativePlaybackPackage</span></div></foreignObject></g></g><g transform="translate(155.9765625, 1553.5)" data-id="SourcePackage" data-node="true" id="flowchart-SourcePackage-20" class="node default default flowchart-label"><rect height="33" width="127.96875" y="-16.5" x="-63.984375" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-56.484375, -9)" style="" class="label"><rect/><foreignObject height="18" width="112.96875"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">SourcePackage</span></div></foreignObject></g></g><g transform="translate(155.9765625, 1636.5)" data-id="SourcesApiPackage" data-node="true" id="flowchart-SourcesApiPackage-21" class="node default default flowchart-label"><rect height="33" width="159.09375" y="-16.5" x="-79.546875" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-72.046875, -9)" style="" class="label"><rect/><foreignObject height="18" width="144.09375"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">SourcesApiPackage</span></div></foreignObject></g></g><g transform="translate(155.9765625, 1719.5)" data-id="AdaptationPackage" data-node="true" id="flowchart-AdaptationPackage-22" class="node default default flowchart-label"><rect height="33" width="153.78125" y="-16.5" x="-76.890625" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-69.390625, -9)" style="" class="label"><rect/><foreignObject height="18" width="138.78125"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">AdaptationPackage</span></div></foreignObject></g></g><g transform="translate(155.9765625, 1802.5)" data-id="PlaybackPackage" data-node="true" id="flowchart-PlaybackPackage-23" class="node default default flowchart-label"><rect height="33" width="142.1875" y="-16.5" x="-71.09375" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-63.59375, -9)" style="" class="label"><rect/><foreignObject height="18" width="127.1875"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">PlaybackPackage</span></div></foreignObject></g></g><g transform="translate(155.9765625, 1885.5)" data-id="PlaybackApiPackage" data-node="true" id="flowchart-PlaybackApiPackage-24" class="node default default flowchart-label"><rect height="33" width="165.3125" y="-16.5" x="-82.65625" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-75.15625, -9)" style="" class="label"><rect/><foreignObject height="18" width="150.3125"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">PlaybackApiPackage</span></div></foreignObject></g></g><g transform="translate(155.9765625, 1968.5)" data-id="ViewModePackage" data-node="true" id="flowchart-ViewModePackage-25" class="node default default flowchart-label"><rect height="33" width="151.6875" y="-16.5" x="-75.84375" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-68.34375, -9)" style="" class="label"><rect/><foreignObject height="18" width="136.6875"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">ViewModePackage</span></div></foreignObject></g></g></g></g><g transform="translate(180.9765625, 2121.5)" data-id="TvPackage" data-node="true" id="flowchart-TvPackage-1" class="node default default flowchart-label"><rect height="33" width="95.046875" y="-16.5" x="-47.5234375" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-40.0234375, -9)" style="" class="label"><rect/><foreignObject height="18" width="80.046875"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">TvPackage</span></div></foreignObject></g></g></g></g><g transform="translate(172.9765625, 2249.5)" data-id="Hls.bundle" data-node="true" id="flowchart-Hls.bundle-27" class="node default default flowchart-label"><rect height="33" width="90.609375" y="-16.5" x="-45.3046875" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-37.8046875, -9)" style="" class="label"><rect/><foreignObject height="18" width="75.609375"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">Hls.bundle</span></div></foreignObject></g></g></g></g></g></svg>
|
|
10
10
|
*/
|
|
11
11
|
import type { HlsBundleApi } from './Hls.bundle';
|
|
12
12
|
import type { PlayerConfig } from './Types';
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import type { ContextHaving, ContextUsing } from '../../../framework-types/execution-context/Types';
|
|
2
2
|
import type { BundleExportNames, PlayerConfig } from '../../bundles/Types';
|
|
3
|
+
import type { Constants } from '../core/Constants';
|
|
3
4
|
import type { MetricsAtom } from '../core/metrics/MetricsAtom';
|
|
4
5
|
import type { StoreEffectFactory } from '../core/state/StoreEffectFactory';
|
|
5
6
|
import type { CoreEffects, CoreExportNames, CoreStateAtoms } from '../core/Types';
|
|
6
|
-
import type {
|
|
7
|
+
import type { MediaStatePackageExports } from '../media-state/Types';
|
|
7
8
|
import type { SourceStateAtom } from '../source/atoms/SourceStateAtom';
|
|
8
9
|
import type { SourceExportNames } from '../source/Types';
|
|
9
10
|
import type { StreamDataStructureSegments } from '../stream-data-structure/segment/Exports';
|
|
@@ -13,17 +14,11 @@ import type { StreamingState } from '../streaming/Types';
|
|
|
13
14
|
import type { ContextWithState } from '../Types';
|
|
14
15
|
import type { AdaptationStateAtom } from './AdaptationStateAtom';
|
|
15
16
|
import type { AdaptationTask } from './AdaptationTask';
|
|
17
|
+
import type { StartupQuality } from './StartupQuality';
|
|
16
18
|
import type { QualityFunction, WishConfig } from './WishConfigAtom';
|
|
17
19
|
import type { WishDataAtom } from './WishDataAtom';
|
|
18
|
-
export
|
|
19
|
-
|
|
20
|
-
Middle = "middle",
|
|
21
|
-
Highest = "highest"
|
|
22
|
-
}
|
|
23
|
-
export declare enum AdaptationAlgorithm {
|
|
24
|
-
Wish = "wish",
|
|
25
|
-
Default = "default"
|
|
26
|
-
}
|
|
20
|
+
export type { AdaptationAlgorithm } from './AdaptationAlgorithm';
|
|
21
|
+
export type { StartupQuality } from './StartupQuality';
|
|
27
22
|
export type AdaptationInitialConfig = Partial<WishConfig> & {
|
|
28
23
|
startupQuality?: StartupQuality;
|
|
29
24
|
};
|
|
@@ -51,10 +46,11 @@ export type AdaptationExports = {
|
|
|
51
46
|
};
|
|
52
47
|
export type AdaptationDependencies = {
|
|
53
48
|
[CoreExportNames.CoreEffects]: CoreEffects;
|
|
49
|
+
[CoreExportNames.Constants]: Constants;
|
|
54
50
|
[SourceExportNames.SourceState]: SourceStateAtom;
|
|
55
51
|
[CoreExportNames.CoreStateAtoms]: CoreStateAtoms;
|
|
56
52
|
[BundleExportNames.PlayerConfig]: PlayerConfig;
|
|
57
|
-
} & StreamDataStructureSegments & StreamDataStructureTracks & StreamingState &
|
|
53
|
+
} & StreamDataStructureSegments & StreamDataStructureTracks & StreamingState & MediaStatePackageExports;
|
|
58
54
|
export type AdaptationPackageContext = ContextUsing<[
|
|
59
55
|
StoreEffectFactory<'adaptationData', WishDataAtom>,
|
|
60
56
|
StoreEffectFactory<'adaptationState', AdaptationStateAtom>
|
|
@@ -1,5 +1,12 @@
|
|
|
1
|
+
import type { ContextHaving } from '../../../framework-types/execution-context/Types';
|
|
2
|
+
import type { EmptyObject } from '../../Types';
|
|
3
|
+
import type { RingBufferAtom } from '../core/state/RingBufferAtom';
|
|
4
|
+
import type { CoreStateAtoms } from '../core/Types';
|
|
5
|
+
import { CoreExportNames } from '../core/Types';
|
|
1
6
|
import type { ContextWithState } from '../Types';
|
|
2
|
-
|
|
7
|
+
type WishDataAtomContext = ContextHaving<{
|
|
8
|
+
[CoreExportNames.CoreStateAtoms]: CoreStateAtoms;
|
|
9
|
+
}, EmptyObject, ContextWithState>;
|
|
3
10
|
interface WishData {
|
|
4
11
|
weights: [number, number, number];
|
|
5
12
|
selectedQualityHistory: RingBufferAtom<number>;
|
|
@@ -7,7 +14,7 @@ interface WishData {
|
|
|
7
14
|
declare function setWeights(data: WishData, weights: WishData['weights']): boolean;
|
|
8
15
|
declare function updateHistory(data: WishData, selectedQuality: number): boolean;
|
|
9
16
|
export type WishDataAtom = ReturnType<typeof createWishDataAtom>;
|
|
10
|
-
export declare function createWishDataAtom(context:
|
|
17
|
+
export declare function createWishDataAtom(context: WishDataAtomContext): import("../core/state/Types").StateAtom<WishData, {
|
|
11
18
|
setWeights: typeof setWeights;
|
|
12
19
|
updateHistory: typeof updateHistory;
|
|
13
20
|
}>;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @packageDocumentation Advertising.package
|
|
3
3
|
*
|
|
4
4
|
* Bundle package that composes the three advertising sub-packages:
|
|
5
|
-
* - AdvertisingBase: state atoms for ad
|
|
5
|
+
* - AdvertisingBase: state atoms for ad pods, active ads, etc.
|
|
6
6
|
* - AdvertisingApi: public API (schedule, discard, list, skip, events)
|
|
7
7
|
* - AdvertisingBitmovin: VAST/VMAP fetching, scheduling, and playback
|
|
8
8
|
*
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @packageDocumentation AdvertisingApi.package
|
|
3
3
|
*
|
|
4
4
|
* Advertising API package exposes the advertising API on the source API,
|
|
5
|
-
* including schedule,
|
|
5
|
+
* including schedule, discardAdPod, list, skip, active state, and event bus.
|
|
6
6
|
*
|
|
7
7
|
* ### `AdvertisingApi` Package Dependency Graph
|
|
8
8
|
* <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>
|
|
@@ -1,12 +1,21 @@
|
|
|
1
|
-
import type { AdQuartile } from '../base/
|
|
2
|
-
import type { Ad, AdBreak } from './Types';
|
|
1
|
+
import type { AdQuartile } from '../base/AdQuartile';
|
|
2
|
+
import type { Ad, AdBreak, AdPod } from './Types';
|
|
3
3
|
export declare enum AdvertisingEvent {
|
|
4
|
+
AdBreakAdded = "ad-break-added",
|
|
5
|
+
AdBreakChanged = "ad-break-changed",
|
|
6
|
+
AdBreakRemoved = "ad-break-removed",
|
|
4
7
|
AdBreakStarted = "ad-break-started",
|
|
5
8
|
AdBreakError = "ad-break-error",
|
|
6
9
|
AdBreakFinished = "ad-break-finished",
|
|
10
|
+
AdPodAdded = "ad-pod-added",
|
|
11
|
+
AdPodRemoved = "ad-pod-removed",
|
|
12
|
+
AdPodLoaded = "ad-pod-loaded",
|
|
13
|
+
AdPodStarted = "ad-pod-started",
|
|
14
|
+
AdPodError = "ad-pod-error",
|
|
15
|
+
AdPodFinished = "ad-pod-finished",
|
|
7
16
|
AdStarted = "ad-started",
|
|
8
17
|
AdFinished = "ad-finished",
|
|
9
|
-
|
|
18
|
+
AdSkippableStateChanged = "ad-skippable-state-changed",
|
|
10
19
|
AdSkipped = "ad-skipped",
|
|
11
20
|
AdError = "ad-error",
|
|
12
21
|
AdClicked = "ad-clicked",
|
|
@@ -18,7 +27,13 @@ export type AdBreakEvent = {
|
|
|
18
27
|
export type AdBreakErrorEvent = AdBreakEvent & {
|
|
19
28
|
error: Error;
|
|
20
29
|
};
|
|
21
|
-
export type
|
|
30
|
+
export type AdPodEvent = {
|
|
31
|
+
adPod: AdPod;
|
|
32
|
+
};
|
|
33
|
+
export type AdPodErrorEvent = AdPodEvent & {
|
|
34
|
+
error: Error;
|
|
35
|
+
};
|
|
36
|
+
export type AdEvent = AdPodEvent & {
|
|
22
37
|
ad: Ad;
|
|
23
38
|
};
|
|
24
39
|
export type AdErrorEvent = AdEvent & {
|
|
@@ -31,12 +46,21 @@ export type AdClickedEvent = AdEvent & {
|
|
|
31
46
|
clickThroughUrl: string;
|
|
32
47
|
};
|
|
33
48
|
export type AdvertisingEventMap = {
|
|
49
|
+
[AdvertisingEvent.AdBreakAdded]: AdBreakEvent;
|
|
50
|
+
[AdvertisingEvent.AdBreakChanged]: AdBreakEvent;
|
|
51
|
+
[AdvertisingEvent.AdBreakRemoved]: AdBreakEvent;
|
|
34
52
|
[AdvertisingEvent.AdBreakStarted]: AdBreakEvent;
|
|
35
53
|
[AdvertisingEvent.AdBreakError]: AdBreakErrorEvent;
|
|
36
54
|
[AdvertisingEvent.AdBreakFinished]: AdBreakEvent;
|
|
55
|
+
[AdvertisingEvent.AdPodAdded]: AdPodEvent;
|
|
56
|
+
[AdvertisingEvent.AdPodRemoved]: AdPodEvent;
|
|
57
|
+
[AdvertisingEvent.AdPodLoaded]: AdPodEvent;
|
|
58
|
+
[AdvertisingEvent.AdPodStarted]: AdPodEvent;
|
|
59
|
+
[AdvertisingEvent.AdPodError]: AdPodErrorEvent;
|
|
60
|
+
[AdvertisingEvent.AdPodFinished]: AdPodEvent;
|
|
37
61
|
[AdvertisingEvent.AdStarted]: AdEvent;
|
|
38
62
|
[AdvertisingEvent.AdFinished]: AdEvent;
|
|
39
|
-
[AdvertisingEvent.
|
|
63
|
+
[AdvertisingEvent.AdSkippableStateChanged]: AdEvent;
|
|
40
64
|
[AdvertisingEvent.AdSkipped]: AdEvent;
|
|
41
65
|
[AdvertisingEvent.AdError]: AdErrorEvent;
|
|
42
66
|
[AdvertisingEvent.AdClicked]: AdClickedEvent;
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type { EventBus } from '../../event-bus/Types';
|
|
2
|
-
import type { AdType
|
|
2
|
+
import type { AdType } from '../base/AdType';
|
|
3
|
+
import type { BaseAdPodState } from '../base/BaseAdPodState';
|
|
4
|
+
import type { BaseAdState } from '../base/BaseAdState';
|
|
3
5
|
import type { AdvertisingEventMap } from './AdvertisingEvents';
|
|
4
6
|
export type AdTagConfig = {
|
|
5
7
|
type: AdType;
|
|
@@ -9,7 +11,7 @@ export type PreloadConfig = {
|
|
|
9
11
|
adManifestPreloadOffset?: number;
|
|
10
12
|
adSourcePreloadOffset?: number;
|
|
11
13
|
};
|
|
12
|
-
export type
|
|
14
|
+
export type AdConfig = {
|
|
13
15
|
id?: string;
|
|
14
16
|
tag: AdTagConfig;
|
|
15
17
|
position?: number | string;
|
|
@@ -17,30 +19,46 @@ export type AdBreakConfig = {
|
|
|
17
19
|
};
|
|
18
20
|
export type Ad = {
|
|
19
21
|
readonly id: string;
|
|
22
|
+
readonly adId: string;
|
|
20
23
|
readonly skippable: boolean;
|
|
21
24
|
readonly skipDelay: number;
|
|
22
25
|
readonly state: BaseAdState;
|
|
23
26
|
readonly position: number;
|
|
24
27
|
};
|
|
25
|
-
export type
|
|
28
|
+
export type AdPod = {
|
|
26
29
|
readonly id: string;
|
|
27
30
|
readonly position: number;
|
|
28
31
|
readonly ads: Ad[];
|
|
29
|
-
readonly state:
|
|
32
|
+
readonly state: BaseAdPodState;
|
|
33
|
+
};
|
|
34
|
+
export declare enum AdBreakState {
|
|
35
|
+
Scheduled = "scheduled",
|
|
36
|
+
Playing = "playing",
|
|
37
|
+
Error = "error",
|
|
38
|
+
Completed = "completed"
|
|
39
|
+
}
|
|
40
|
+
export type AdBreak = {
|
|
41
|
+
readonly id: string;
|
|
42
|
+
readonly position: number;
|
|
43
|
+
readonly state: AdBreakState;
|
|
44
|
+
readonly adPods: AdPod[];
|
|
30
45
|
};
|
|
31
46
|
export type ContentSourceAdvertisingApi = {
|
|
32
47
|
readonly isAd: false;
|
|
33
48
|
readonly isLinearAdActive: boolean;
|
|
34
|
-
schedule(
|
|
35
|
-
|
|
49
|
+
schedule(config: AdConfig): AdPod;
|
|
50
|
+
discard(adPodOrAdBreak: AdPod | AdBreak): void;
|
|
36
51
|
list(): AdBreak[];
|
|
37
52
|
getActiveAdBreak(): AdBreak | undefined;
|
|
53
|
+
getActiveAdPod(): AdPod | undefined;
|
|
38
54
|
getActiveAd(): Ad | undefined;
|
|
39
55
|
};
|
|
40
56
|
export type AdSourceAdvertisingApi = {
|
|
41
57
|
readonly isAd: true;
|
|
42
58
|
readonly isSkippable: boolean;
|
|
43
59
|
readonly skipDelay: number;
|
|
60
|
+
readonly id: string;
|
|
61
|
+
readonly adId: string;
|
|
44
62
|
skip(): void;
|
|
45
63
|
};
|
|
46
64
|
export type AdvertisingApi = {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export declare const AdPositionNotYetKnown: unique symbol;
|
|
2
2
|
export type AdPosition = (contentDuration: number) => typeof AdPositionNotYetKnown | number;
|
|
3
|
+
export declare function isAdPositionKnown(position: typeof AdPositionNotYetKnown | number): position is number;
|
|
3
4
|
export declare function resolveAdPosition(position: unknown, contentDuration: number): number | typeof AdPositionNotYetKnown;
|
|
4
5
|
export declare function createAdPosition(configuredPosition?: string | number): AdPosition;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { ArrayAtom } from '../../core/state/ArrayStateAtom';
|
|
2
|
-
import type {
|
|
3
|
-
export type AdSchedule = ArrayAtom<
|
|
2
|
+
import type { BaseAdPodAtom } from './BaseAdPodAtom';
|
|
3
|
+
export type AdSchedule = ArrayAtom<BaseAdPodAtom>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { EmptyObject } from '../../../../framework-types/BaseTypes';
|
|
2
2
|
import type { StateAtom } from '../../core/state/Types';
|
|
3
3
|
import type { ContextWithState } from '../../Types';
|
|
4
|
-
import type { AdType } from './
|
|
4
|
+
import type { AdType } from './AdType';
|
|
5
5
|
type AdTag = {
|
|
6
6
|
type: AdType;
|
|
7
7
|
url: string;
|
|
@@ -3,10 +3,12 @@ import type { PrimitiveAtom } from '../../core/state/PrimitiveAtom';
|
|
|
3
3
|
import type { StateAtom } from '../../core/state/Types';
|
|
4
4
|
import type { Transient } from '../../core/utils/StateUtils';
|
|
5
5
|
import type { AdPosition } from './AdPosition';
|
|
6
|
-
import type { AdQuartile
|
|
7
|
-
import { BaseAdState } from './
|
|
6
|
+
import type { AdQuartile } from './AdQuartile';
|
|
7
|
+
import { BaseAdState } from './BaseAdState';
|
|
8
|
+
import type { AdvertisingBaseContext } from './Types';
|
|
8
9
|
type AdState = {
|
|
9
10
|
id: string;
|
|
11
|
+
adId: string;
|
|
10
12
|
position: AdPosition;
|
|
11
13
|
isSkippable: PrimitiveAtom<boolean>;
|
|
12
14
|
skipDelay: PrimitiveAtom<number>;
|
|
@@ -18,5 +20,5 @@ type AdState = {
|
|
|
18
20
|
clicked: Transient<string | undefined>;
|
|
19
21
|
};
|
|
20
22
|
export type BaseAdAtom = StateAtom<AdState, EmptyObject>;
|
|
21
|
-
export declare function createBaseAdAtom(context: AdvertisingBaseContext, id: string, position: AdPosition, adSkipDelay: number, preloadOffset: number): BaseAdAtom;
|
|
23
|
+
export declare function createBaseAdAtom(context: AdvertisingBaseContext, id: string, adId: string, position: AdPosition, adSkipDelay: number, preloadOffset: number): BaseAdAtom;
|
|
22
24
|
export {};
|
|
@@ -8,22 +8,24 @@ import { CoreExportNames } from '../../core/Types';
|
|
|
8
8
|
import type { ContextWithState } from '../../Types';
|
|
9
9
|
import type { AdPosition } from './AdPosition';
|
|
10
10
|
import type { AdTagAtom } from './AdTagAtom';
|
|
11
|
+
import type { AdType } from './AdType';
|
|
11
12
|
import type { BaseAdAtom } from './BaseAdAtom';
|
|
13
|
+
import type { BaseAdPodState } from './BaseAdPodState';
|
|
12
14
|
import type { PreloadConfigAtom } from './PreloadConfigAtom';
|
|
13
|
-
import
|
|
14
|
-
|
|
15
|
-
type BaseAdBreak = {
|
|
15
|
+
import { AdvertisingBaseExportNames } from './Types';
|
|
16
|
+
type BaseAdPod = {
|
|
16
17
|
id: string;
|
|
17
18
|
position: AdPosition;
|
|
18
19
|
tag: AdTagAtom;
|
|
19
|
-
state: PrimitiveAtom<
|
|
20
|
+
state: PrimitiveAtom<BaseAdPodState>;
|
|
20
21
|
ads: ArrayAtom<BaseAdAtom>;
|
|
21
22
|
preloadConfig: PreloadConfigAtom;
|
|
22
23
|
error: PrimitiveAtom<Error | undefined>;
|
|
23
24
|
};
|
|
24
|
-
export type
|
|
25
|
+
export type BaseAdPodAtom = StateAtom<BaseAdPod, EmptyObject>;
|
|
25
26
|
type Context = ContextHaving<{
|
|
26
27
|
[CoreExportNames.CoreStateAtoms]: CoreStateAtoms;
|
|
28
|
+
[AdvertisingBaseExportNames.BaseAdPodState]: typeof BaseAdPodState;
|
|
27
29
|
}, EmptyObject, ContextWithState>;
|
|
28
|
-
export declare function
|
|
30
|
+
export declare function createBaseAdPodAtom(context: Context, id: string, scheduledPosition: string | number | undefined, tagType: AdType, url: string, adManifestPreloadOffset?: number, adSourcePreloadOffset?: number): BaseAdPodAtom;
|
|
29
31
|
export {};
|
|
@@ -4,32 +4,14 @@ import type { CoreUtils } from '../../core/utils/Types';
|
|
|
4
4
|
import type { SourceStateAtom } from '../../source/atoms/SourceStateAtom';
|
|
5
5
|
import type { SourceExportNames } from '../../source/Types';
|
|
6
6
|
import type { ContextWithState } from '../../Types';
|
|
7
|
+
import type { isAdPositionKnown } from './AdPosition';
|
|
8
|
+
import type { AdQuartile } from './AdQuartile';
|
|
7
9
|
import type { AdSchedule } from './AdSchedule';
|
|
10
|
+
import type { AdType } from './AdType';
|
|
8
11
|
import type { BaseAdAtom, createBaseAdAtom } from './BaseAdAtom';
|
|
9
|
-
import type {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
VMAP = "vmap"
|
|
13
|
-
}
|
|
14
|
-
export declare enum AdQuartile {
|
|
15
|
-
FirstQuartile = "first-quartile",
|
|
16
|
-
Midpoint = "midpoint",
|
|
17
|
-
ThirdQuartile = "third-quartile"
|
|
18
|
-
}
|
|
19
|
-
export declare enum BaseAdBreakState {
|
|
20
|
-
Scheduled = "scheduled",
|
|
21
|
-
Loaded = "loaded",
|
|
22
|
-
Playing = "playing",
|
|
23
|
-
Error = "error",
|
|
24
|
-
Completed = "completed"
|
|
25
|
-
}
|
|
26
|
-
export declare enum BaseAdState {
|
|
27
|
-
Scheduled = "scheduled",
|
|
28
|
-
Playing = "playing",
|
|
29
|
-
Completed = "completed",
|
|
30
|
-
Skipped = "skipped",
|
|
31
|
-
Error = "error"
|
|
32
|
-
}
|
|
12
|
+
import type { createBaseAdPodAtom } from './BaseAdPodAtom';
|
|
13
|
+
import type { BaseAdPodState } from './BaseAdPodState';
|
|
14
|
+
import type { BaseAdState } from './BaseAdState';
|
|
33
15
|
export type AdvertisingBasePackageDependencies = {
|
|
34
16
|
[CoreExportNames.CoreEffects]: CoreEffects;
|
|
35
17
|
[CoreExportNames.CoreStateAtoms]: CoreStateAtoms;
|
|
@@ -39,18 +21,20 @@ export type AdvertisingBasePackageDependencies = {
|
|
|
39
21
|
export declare enum AdvertisingBaseExportNames {
|
|
40
22
|
AdType = "ad-type",
|
|
41
23
|
AdQuartile = "ad-quartile",
|
|
42
|
-
|
|
24
|
+
BaseAdPodState = "base-ad-pod-state",
|
|
43
25
|
BaseAdState = "base-ad-state",
|
|
44
|
-
|
|
45
|
-
CreateBaseAd = "create-base-ad"
|
|
26
|
+
CreateBaseAdPod = "create-base-ad-pod",
|
|
27
|
+
CreateBaseAd = "create-base-ad",
|
|
28
|
+
IsAdPositionKnown = "is-position-known"
|
|
46
29
|
}
|
|
47
30
|
export type AdvertisingBasePackageExports = {
|
|
48
31
|
[AdvertisingBaseExportNames.AdType]: typeof AdType;
|
|
49
32
|
[AdvertisingBaseExportNames.AdQuartile]: typeof AdQuartile;
|
|
50
|
-
[AdvertisingBaseExportNames.
|
|
33
|
+
[AdvertisingBaseExportNames.BaseAdPodState]: typeof BaseAdPodState;
|
|
51
34
|
[AdvertisingBaseExportNames.BaseAdState]: typeof BaseAdState;
|
|
52
|
-
[AdvertisingBaseExportNames.
|
|
35
|
+
[AdvertisingBaseExportNames.CreateBaseAdPod]: typeof createBaseAdPodAtom;
|
|
53
36
|
[AdvertisingBaseExportNames.CreateBaseAd]: typeof createBaseAdAtom;
|
|
37
|
+
[AdvertisingBaseExportNames.IsAdPositionKnown]: typeof isAdPositionKnown;
|
|
54
38
|
};
|
|
55
39
|
export type AdvertisingBaseContext = ContextHaving<AdvertisingBasePackageDependencies, AdvertisingBasePackageExports, ContextWithState>;
|
|
56
40
|
export declare enum ContentSourceExportNames {
|
|
@@ -5,21 +5,23 @@ import type { MetricsAtom } from '../../core/metrics/MetricsAtom';
|
|
|
5
5
|
import type { CoreEffects, CoreExportNames, CoreStateAtoms } from '../../core/Types';
|
|
6
6
|
import type { CoreUtils } from '../../core/utils/Types';
|
|
7
7
|
import type { NetworkTask } from '../../network/NetworkTask';
|
|
8
|
-
import type { NetworkExportNames } from '../../network/Types';
|
|
8
|
+
import type { HttpRequestMethod, HttpResponseType, NetworkExportNames } from '../../network/Types';
|
|
9
9
|
import type { TargetPlaybackState, TargetPlaybackStateAtom } from '../../playback/play-pause/TargetPlaybackStateAtom';
|
|
10
10
|
import type { PlayPauseExportNames } from '../../playback/play-pause/Types';
|
|
11
|
-
import type { SeekRestrictionAtom } from '../../playback/video-element-state/SeekRestrictionAtom';
|
|
12
|
-
import type { VideoElementStateExportNames } from '../../playback/video-element-state/Types';
|
|
13
|
-
import type { VideoElementStateAtom } from '../../playback/video-element-state/VideoElementStateAtom';
|
|
14
11
|
import type { SourceStateAtom } from '../../source/atoms/SourceStateAtom';
|
|
15
12
|
import type { createSourceReference } from '../../source/SourceReference';
|
|
16
13
|
import type { SourceExportNames, SourceReferences } from '../../source/Types';
|
|
17
14
|
import type { SourceRemovedError } from '../../sources-api/SourceRemovedError';
|
|
18
15
|
import type { SourcesApiExportNames } from '../../sources-api/Types';
|
|
19
16
|
import type { ContextWithState } from '../../Types';
|
|
17
|
+
import type { isAdPositionKnown } from '../base/AdPosition';
|
|
18
|
+
import type { AdQuartile } from '../base/AdQuartile';
|
|
19
|
+
import type { AdType } from '../base/AdType';
|
|
20
20
|
import type { createBaseAdAtom } from '../base/BaseAdAtom';
|
|
21
|
-
import type {
|
|
22
|
-
import type {
|
|
21
|
+
import type { createBaseAdPodAtom } from '../base/BaseAdPodAtom';
|
|
22
|
+
import type { BaseAdPodState } from '../base/BaseAdPodState';
|
|
23
|
+
import type { BaseAdState } from '../base/BaseAdState';
|
|
24
|
+
import type { AdSourceAdExports, AdvertisingBaseExportNames, ContentSourceAdExports } from '../base/Types';
|
|
23
25
|
export type AdvertisingBitmovinPackageDependencies = {
|
|
24
26
|
[CoreExportNames.CoreEffects]: CoreEffects;
|
|
25
27
|
[CoreExportNames.CoreStateAtoms]: CoreStateAtoms;
|
|
@@ -29,18 +31,19 @@ export type AdvertisingBitmovinPackageDependencies = {
|
|
|
29
31
|
[SourceExportNames.CreateSourceReference]: typeof createSourceReference;
|
|
30
32
|
[SourceExportNames.SourceReferences]: SourceReferences;
|
|
31
33
|
[SourcesApiExportNames.SourceRemovedError]: typeof SourceRemovedError;
|
|
32
|
-
[VideoElementStateExportNames.VideoElementState]: VideoElementStateAtom;
|
|
33
|
-
[VideoElementStateExportNames.SeekRestriction]: SeekRestrictionAtom;
|
|
34
34
|
[NetworkExportNames.NetworkTask]: typeof NetworkTask;
|
|
35
|
+
[NetworkExportNames.HttpRequestMethod]: typeof HttpRequestMethod;
|
|
36
|
+
[NetworkExportNames.HttpResponseType]: typeof HttpResponseType;
|
|
35
37
|
[AdaptationExportNames.Metrics]: MetricsAtom;
|
|
36
38
|
[PlayPauseExportNames.TargetPlaybackState]: typeof TargetPlaybackState;
|
|
37
39
|
[PlayPauseExportNames.TargetPlaybackStateAtom]: TargetPlaybackStateAtom;
|
|
38
40
|
[AdvertisingBaseExportNames.AdType]: typeof AdType;
|
|
39
41
|
[AdvertisingBaseExportNames.AdQuartile]: typeof AdQuartile;
|
|
40
|
-
[AdvertisingBaseExportNames.
|
|
42
|
+
[AdvertisingBaseExportNames.BaseAdPodState]: typeof BaseAdPodState;
|
|
41
43
|
[AdvertisingBaseExportNames.BaseAdState]: typeof BaseAdState;
|
|
42
|
-
[AdvertisingBaseExportNames.
|
|
44
|
+
[AdvertisingBaseExportNames.CreateBaseAdPod]: typeof createBaseAdPodAtom;
|
|
43
45
|
[AdvertisingBaseExportNames.CreateBaseAd]: typeof createBaseAdAtom;
|
|
46
|
+
[AdvertisingBaseExportNames.IsAdPositionKnown]: typeof isAdPositionKnown;
|
|
44
47
|
};
|
|
45
48
|
export type AdvertisingBitmovinPackageExports = ContentSourceAdExports & AdSourceAdExports;
|
|
46
49
|
export type AdvertisingBitmovinContext = ContextHaving<AdvertisingBitmovinPackageDependencies, AdvertisingBitmovinPackageExports, ContextWithState>;
|