@bitmovin/player-web-x 10.2.0-beta.13 → 10.2.0-beta.15
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 +45 -6
- package/types/packages/advertising/api/Types.d.ts +110 -11
- package/types/packages/advertising/api/api-conversion/AdApiCache.d.ts +14 -0
- package/types/packages/advertising/api/content-source/AdBreakAtom.d.ts +19 -0
- package/types/packages/advertising/api/content-source/Types.d.ts +36 -0
- package/types/packages/advertising/base/AdExtension.d.ts +11 -0
- package/types/packages/advertising/base/AdIconAtom.d.ts +20 -0
- package/types/packages/advertising/base/AdIconPosition.d.ts +8 -0
- 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/AdResource.d.ts +16 -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 +27 -5
- 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/ClickThroughAtom.d.ts +11 -0
- package/types/packages/advertising/base/CompanionAdAtom.d.ts +18 -0
- package/types/packages/advertising/base/Types.d.ts +19 -29
- package/types/packages/advertising/bitmovin/Types.d.ts +17 -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/parsing/m3u8/TranslatorStream.d.ts +1 -0
- 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/NativePlayback.package.d.ts +1 -2
- 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
- package/types/packages/presentation/native/Types.d.ts +0 -12
|
@@ -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,16 +1,29 @@
|
|
|
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",
|
|
13
|
-
AdQuartile = "ad-quartile"
|
|
22
|
+
AdQuartile = "ad-quartile",
|
|
23
|
+
AdPlaying = "ad-playing",
|
|
24
|
+
AdPaused = "ad-paused",
|
|
25
|
+
AdProgress = "ad-progress",
|
|
26
|
+
AdVolumeChanged = "ad-volume-changed"
|
|
14
27
|
}
|
|
15
28
|
export type AdBreakEvent = {
|
|
16
29
|
adBreak: AdBreak;
|
|
@@ -18,7 +31,13 @@ export type AdBreakEvent = {
|
|
|
18
31
|
export type AdBreakErrorEvent = AdBreakEvent & {
|
|
19
32
|
error: Error;
|
|
20
33
|
};
|
|
21
|
-
export type
|
|
34
|
+
export type AdPodEvent = {
|
|
35
|
+
adPod: AdPod;
|
|
36
|
+
};
|
|
37
|
+
export type AdPodErrorEvent = AdPodEvent & {
|
|
38
|
+
error: Error;
|
|
39
|
+
};
|
|
40
|
+
export type AdEvent = AdPodEvent & {
|
|
22
41
|
ad: Ad;
|
|
23
42
|
};
|
|
24
43
|
export type AdErrorEvent = AdEvent & {
|
|
@@ -30,15 +49,35 @@ export type AdQuartileEvent = AdEvent & {
|
|
|
30
49
|
export type AdClickedEvent = AdEvent & {
|
|
31
50
|
clickThroughUrl: string;
|
|
32
51
|
};
|
|
52
|
+
export type AdProgressEvent = AdEvent & {
|
|
53
|
+
currentTime: number;
|
|
54
|
+
duration: number;
|
|
55
|
+
};
|
|
56
|
+
export type AdVolumeChangedEvent = AdEvent & {
|
|
57
|
+
volume: number;
|
|
58
|
+
};
|
|
33
59
|
export type AdvertisingEventMap = {
|
|
60
|
+
[AdvertisingEvent.AdBreakAdded]: AdBreakEvent;
|
|
61
|
+
[AdvertisingEvent.AdBreakChanged]: AdBreakEvent;
|
|
62
|
+
[AdvertisingEvent.AdBreakRemoved]: AdBreakEvent;
|
|
34
63
|
[AdvertisingEvent.AdBreakStarted]: AdBreakEvent;
|
|
35
64
|
[AdvertisingEvent.AdBreakError]: AdBreakErrorEvent;
|
|
36
65
|
[AdvertisingEvent.AdBreakFinished]: AdBreakEvent;
|
|
66
|
+
[AdvertisingEvent.AdPodAdded]: AdPodEvent;
|
|
67
|
+
[AdvertisingEvent.AdPodRemoved]: AdPodEvent;
|
|
68
|
+
[AdvertisingEvent.AdPodLoaded]: AdPodEvent;
|
|
69
|
+
[AdvertisingEvent.AdPodStarted]: AdPodEvent;
|
|
70
|
+
[AdvertisingEvent.AdPodError]: AdPodErrorEvent;
|
|
71
|
+
[AdvertisingEvent.AdPodFinished]: AdPodEvent;
|
|
37
72
|
[AdvertisingEvent.AdStarted]: AdEvent;
|
|
38
73
|
[AdvertisingEvent.AdFinished]: AdEvent;
|
|
39
|
-
[AdvertisingEvent.
|
|
74
|
+
[AdvertisingEvent.AdSkippableStateChanged]: AdEvent;
|
|
40
75
|
[AdvertisingEvent.AdSkipped]: AdEvent;
|
|
41
76
|
[AdvertisingEvent.AdError]: AdErrorEvent;
|
|
42
77
|
[AdvertisingEvent.AdClicked]: AdClickedEvent;
|
|
43
78
|
[AdvertisingEvent.AdQuartile]: AdQuartileEvent;
|
|
79
|
+
[AdvertisingEvent.AdPlaying]: AdEvent;
|
|
80
|
+
[AdvertisingEvent.AdPaused]: AdEvent;
|
|
81
|
+
[AdvertisingEvent.AdProgress]: AdProgressEvent;
|
|
82
|
+
[AdvertisingEvent.AdVolumeChanged]: AdVolumeChangedEvent;
|
|
44
83
|
};
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import type { EventBus } from '../../event-bus/Types';
|
|
2
|
-
import type {
|
|
2
|
+
import type { AdExtension } from '../base/AdExtension';
|
|
3
|
+
import type { AdIconHorizontalPosition, AdIconVerticalPosition } from '../base/AdIconPosition';
|
|
4
|
+
import type { AdResource } from '../base/AdResource';
|
|
5
|
+
import type { AdType } from '../base/AdType';
|
|
6
|
+
import type { BaseAdPodState } from '../base/BaseAdPodState';
|
|
7
|
+
import type { BaseAdState } from '../base/BaseAdState';
|
|
3
8
|
import type { AdvertisingEventMap } from './AdvertisingEvents';
|
|
4
9
|
export type AdTagConfig = {
|
|
5
10
|
type: AdType;
|
|
@@ -9,41 +14,135 @@ export type PreloadConfig = {
|
|
|
9
14
|
adManifestPreloadOffset?: number;
|
|
10
15
|
adSourcePreloadOffset?: number;
|
|
11
16
|
};
|
|
12
|
-
export type
|
|
17
|
+
export type AdConfig = {
|
|
13
18
|
id?: string;
|
|
14
19
|
tag: AdTagConfig;
|
|
15
20
|
position?: number | string;
|
|
16
21
|
preloadConfig?: PreloadConfig;
|
|
17
22
|
};
|
|
18
|
-
export type
|
|
23
|
+
export type ClickThrough = {
|
|
24
|
+
readonly url: string;
|
|
25
|
+
reportClicked(): void;
|
|
26
|
+
};
|
|
27
|
+
export type CompanionAd = {
|
|
28
|
+
readonly id: string;
|
|
29
|
+
readonly width: number;
|
|
30
|
+
readonly height: number;
|
|
31
|
+
readonly resource: AdResource;
|
|
32
|
+
readonly altText?: string;
|
|
33
|
+
readonly clickThrough?: ClickThrough;
|
|
34
|
+
reportShown(): void;
|
|
35
|
+
};
|
|
36
|
+
export type AdIcon = {
|
|
37
|
+
readonly program: string;
|
|
38
|
+
readonly width: number;
|
|
39
|
+
readonly height: number;
|
|
40
|
+
readonly xPosition: number | AdIconHorizontalPosition;
|
|
41
|
+
readonly yPosition: number | AdIconVerticalPosition;
|
|
42
|
+
readonly offset?: number;
|
|
43
|
+
readonly duration?: number;
|
|
44
|
+
readonly resource: AdResource;
|
|
45
|
+
readonly clickThrough?: ClickThrough;
|
|
46
|
+
};
|
|
47
|
+
type AdBase = {
|
|
19
48
|
readonly id: string;
|
|
20
|
-
readonly
|
|
49
|
+
readonly externalAdId: string;
|
|
21
50
|
readonly skipDelay: number;
|
|
22
51
|
readonly state: BaseAdState;
|
|
23
52
|
readonly position: number;
|
|
53
|
+
readonly isLinear: boolean;
|
|
54
|
+
readonly error?: Error;
|
|
55
|
+
readonly clickThrough?: ClickThrough;
|
|
56
|
+
readonly companions: readonly CompanionAd[];
|
|
57
|
+
readonly icons: readonly AdIcon[];
|
|
58
|
+
readonly extensions: readonly AdExtension[];
|
|
59
|
+
readonly canPause: boolean;
|
|
60
|
+
readonly canSkip: boolean;
|
|
61
|
+
readonly canSetVolume: boolean;
|
|
62
|
+
readonly canExpand: boolean;
|
|
63
|
+
readonly hasTimeline: boolean;
|
|
24
64
|
};
|
|
25
|
-
|
|
65
|
+
type CanPause = {
|
|
66
|
+
readonly canPause: true;
|
|
67
|
+
readonly paused: boolean;
|
|
68
|
+
play(): void;
|
|
69
|
+
pause(): void;
|
|
70
|
+
};
|
|
71
|
+
type CannotPause = {
|
|
72
|
+
readonly canPause: false;
|
|
73
|
+
};
|
|
74
|
+
type CanSkip = {
|
|
75
|
+
readonly canSkip: true;
|
|
76
|
+
skip(): void;
|
|
77
|
+
};
|
|
78
|
+
type CannotSkip = {
|
|
79
|
+
readonly canSkip: false;
|
|
80
|
+
};
|
|
81
|
+
type CanSetVolume = {
|
|
82
|
+
readonly canSetVolume: true;
|
|
83
|
+
volume: number;
|
|
84
|
+
};
|
|
85
|
+
type CannotSetVolume = {
|
|
86
|
+
readonly canSetVolume: false;
|
|
87
|
+
};
|
|
88
|
+
type CanExpand = {
|
|
89
|
+
readonly canExpand: true;
|
|
90
|
+
expanded: boolean;
|
|
91
|
+
};
|
|
92
|
+
type CannotExpand = {
|
|
93
|
+
readonly canExpand: false;
|
|
94
|
+
};
|
|
95
|
+
type HasTimeline = {
|
|
96
|
+
readonly hasTimeline: true;
|
|
97
|
+
readonly duration: number;
|
|
98
|
+
readonly currentTime: number;
|
|
99
|
+
};
|
|
100
|
+
type NoTimeline = {
|
|
101
|
+
readonly hasTimeline: false;
|
|
102
|
+
};
|
|
103
|
+
export type Ad = AdBase & (CanPause | CannotPause) & (CanSkip | CannotSkip) & (CanSetVolume | CannotSetVolume) & (CanExpand | CannotExpand) & (HasTimeline | NoTimeline);
|
|
104
|
+
export type PausableAd = Ad & CanPause;
|
|
105
|
+
export type SkippableAd = Ad & CanSkip;
|
|
106
|
+
export type VolumeControllableAd = Ad & CanSetVolume;
|
|
107
|
+
export type ExpandableAd = Ad & CanExpand;
|
|
108
|
+
export type TimedAd = Ad & HasTimeline;
|
|
109
|
+
export type AdPod = {
|
|
26
110
|
readonly id: string;
|
|
27
111
|
readonly position: number;
|
|
28
112
|
readonly ads: Ad[];
|
|
29
|
-
readonly state:
|
|
113
|
+
readonly state: BaseAdPodState;
|
|
114
|
+
};
|
|
115
|
+
export declare enum AdBreakState {
|
|
116
|
+
Scheduled = "scheduled",
|
|
117
|
+
Playing = "playing",
|
|
118
|
+
Error = "error",
|
|
119
|
+
Completed = "completed"
|
|
120
|
+
}
|
|
121
|
+
export type AdBreak = {
|
|
122
|
+
readonly id: string;
|
|
123
|
+
readonly position: number;
|
|
124
|
+
readonly state: AdBreakState;
|
|
125
|
+
readonly adPods: AdPod[];
|
|
30
126
|
};
|
|
31
127
|
export type ContentSourceAdvertisingApi = {
|
|
32
128
|
readonly isAd: false;
|
|
33
129
|
readonly isLinearAdActive: boolean;
|
|
34
|
-
schedule(
|
|
35
|
-
|
|
130
|
+
schedule(config: AdConfig): AdPod;
|
|
131
|
+
discard(adPodOrAdBreak: AdPod | AdBreak): void;
|
|
36
132
|
list(): AdBreak[];
|
|
37
133
|
getActiveAdBreak(): AdBreak | undefined;
|
|
134
|
+
getActiveAdPod(): AdPod | undefined;
|
|
38
135
|
getActiveAd(): Ad | undefined;
|
|
39
136
|
};
|
|
40
|
-
|
|
137
|
+
type AdSourceAdvertisingApiBase = {
|
|
41
138
|
readonly isAd: true;
|
|
42
|
-
readonly isSkippable: boolean;
|
|
43
139
|
readonly skipDelay: number;
|
|
44
|
-
|
|
140
|
+
readonly id: string;
|
|
141
|
+
readonly externalAdId: string;
|
|
45
142
|
};
|
|
143
|
+
export type AdSourceAdvertisingApi = AdSourceAdvertisingApiBase & (CanSkip | CannotSkip);
|
|
46
144
|
export type AdvertisingApi = {
|
|
47
145
|
ads: ContentSourceAdvertisingApi | AdSourceAdvertisingApi;
|
|
48
146
|
events: EventBus<AdvertisingEventMap>;
|
|
49
147
|
};
|
|
148
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { ContextWithState } from '../../../Types';
|
|
2
|
+
import type { AdIconAtom } from '../../base/AdIconAtom';
|
|
3
|
+
import type { BaseAdAtom } from '../../base/BaseAdAtom';
|
|
4
|
+
import type { BaseAdPodAtom } from '../../base/BaseAdPodAtom';
|
|
5
|
+
import type { ClickThroughAtom } from '../../base/ClickThroughAtom';
|
|
6
|
+
import type { CompanionAdAtom } from '../../base/CompanionAdAtom';
|
|
7
|
+
import type { AdBreakAtom } from '../content-source/AdBreakAtom';
|
|
8
|
+
import type { Ad, AdBreak, AdIcon, AdPod, ClickThrough, CompanionAd } from '../Types';
|
|
9
|
+
type ValueFor<K> = K extends BaseAdAtom ? Ad : K extends BaseAdPodAtom ? AdPod : K extends AdBreakAtom ? AdBreak : K extends ClickThroughAtom ? ClickThrough : K extends CompanionAdAtom ? CompanionAd : K extends AdIconAtom ? AdIcon : never;
|
|
10
|
+
export type AdApiCache = {
|
|
11
|
+
getOrCreate<K extends object>(key: K, factory: (context: ContextWithState) => ValueFor<K>): ValueFor<K>;
|
|
12
|
+
};
|
|
13
|
+
export declare function createAdApiCache(context: ContextWithState): AdApiCache;
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { EmptyObject } from '../../../../../framework-types/BaseTypes';
|
|
2
|
+
import type { ArrayAtom } from '../../../core/state/ArrayStateAtom';
|
|
3
|
+
import type { PrimitiveAtom } from '../../../core/state/PrimitiveAtom';
|
|
4
|
+
import type { StateAtom } from '../../../core/state/Types';
|
|
5
|
+
import type { BaseAdPodAtom } from '../../base/BaseAdPodAtom';
|
|
6
|
+
import { AdBreakState } from '../Types';
|
|
7
|
+
import type { ContentSourceAdApiContext } from './Types';
|
|
8
|
+
type AdBreak = {
|
|
9
|
+
id: string;
|
|
10
|
+
position: number;
|
|
11
|
+
state: PrimitiveAtom<AdBreakState>;
|
|
12
|
+
adPods: ArrayAtom<BaseAdPodAtom>;
|
|
13
|
+
error: PrimitiveAtom<Error | undefined>;
|
|
14
|
+
};
|
|
15
|
+
export type AdBreakAtom = StateAtom<AdBreak, EmptyObject>;
|
|
16
|
+
export declare function createAdBreakAtom(context: ContentSourceAdApiContext, position: number, ...initialAdPods: BaseAdPodAtom[]): AdBreakAtom;
|
|
17
|
+
export declare function findAdBreakAtPosition(adBreaks: ArrayAtom<AdBreakAtom>, position: number): AdBreakAtom | undefined;
|
|
18
|
+
export declare function findAdBreakContainingPod(adBreaks: ArrayAtom<AdBreakAtom>, adPod: BaseAdPodAtom): AdBreakAtom | undefined;
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { ApiManager } from '../../../../../framework-types/api-manager/ApiManager';
|
|
2
|
+
import type { EmptyObject } from '../../../../../framework-types/BaseTypes';
|
|
3
|
+
import type { ContextHaving, ContextUsing } from '../../../../../framework-types/execution-context/Types';
|
|
4
|
+
import type { StoreEffectFactory } from '../../../core/state/StoreEffectFactory';
|
|
5
|
+
import type { CoreEffects, CoreExportNames, CoreStateAtoms } from '../../../core/Types';
|
|
6
|
+
import type { CoreUtils } from '../../../core/utils/Types';
|
|
7
|
+
import type { extendEventBusTypes } from '../../../event-bus/EventBus';
|
|
8
|
+
import type { EventBus, EventBusExportNames } from '../../../event-bus/Types';
|
|
9
|
+
import type { SourceStateAtom } from '../../../source/atoms/SourceStateAtom';
|
|
10
|
+
import type { SourceExportNames } from '../../../source/Types';
|
|
11
|
+
import type { SourcesApiExportNames } from '../../../sources-api/Types';
|
|
12
|
+
import type { ContextWithState } from '../../../Types';
|
|
13
|
+
import type { isAdPositionKnown } from '../../base/AdPosition';
|
|
14
|
+
import type { createBaseAdPodAtom } from '../../base/BaseAdPodAtom';
|
|
15
|
+
import type { BaseAdPodState } from '../../base/BaseAdPodState';
|
|
16
|
+
import type { BaseAdState } from '../../base/BaseAdState';
|
|
17
|
+
import type { AdvertisingBaseExportNames, ContentSourceAdExports } from '../../base/Types';
|
|
18
|
+
import type { AdvertisingEventMap } from '../AdvertisingEvents';
|
|
19
|
+
import type { AdApiCache } from '../api-conversion/AdApiCache';
|
|
20
|
+
import type { ContentSourceAdvertisingApi } from '../Types';
|
|
21
|
+
export type ContentSourceAdvertisingApiDependencies = {
|
|
22
|
+
[CoreExportNames.CoreEffects]: CoreEffects;
|
|
23
|
+
[CoreExportNames.CoreStateAtoms]: CoreStateAtoms;
|
|
24
|
+
[CoreExportNames.Utils]: CoreUtils;
|
|
25
|
+
[EventBusExportNames.ExtendEventBusTypes]: typeof extendEventBusTypes;
|
|
26
|
+
[SourcesApiExportNames.SourceApiManager]: ApiManager<{
|
|
27
|
+
ads: ContentSourceAdvertisingApi;
|
|
28
|
+
}>;
|
|
29
|
+
[SourcesApiExportNames.SourceEventBus]: EventBus<AdvertisingEventMap>;
|
|
30
|
+
[AdvertisingBaseExportNames.CreateBaseAdPod]: typeof createBaseAdPodAtom;
|
|
31
|
+
[AdvertisingBaseExportNames.BaseAdPodState]: typeof BaseAdPodState;
|
|
32
|
+
[AdvertisingBaseExportNames.BaseAdState]: typeof BaseAdState;
|
|
33
|
+
[AdvertisingBaseExportNames.IsAdPositionKnown]: typeof isAdPositionKnown;
|
|
34
|
+
[SourceExportNames.SourceState]: SourceStateAtom;
|
|
35
|
+
} & ContentSourceAdExports;
|
|
36
|
+
export type ContentSourceAdApiContext = ContextHaving<ContentSourceAdvertisingApiDependencies, EmptyObject, ContextUsing<[StoreEffectFactory<'adApiCache', AdApiCache>], ContextWithState>>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare enum AdExtensionSource {
|
|
2
|
+
Ad = "ad",
|
|
3
|
+
Creative = "creative"
|
|
4
|
+
}
|
|
5
|
+
export type AdExtension = {
|
|
6
|
+
readonly source: AdExtensionSource;
|
|
7
|
+
readonly name: string;
|
|
8
|
+
readonly value: string | undefined;
|
|
9
|
+
readonly attributes: Readonly<Record<string, string>>;
|
|
10
|
+
readonly children: readonly AdExtension[];
|
|
11
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { EmptyObject } from '../../../../framework-types/BaseTypes';
|
|
2
|
+
import type { StateAtom } from '../../core/state/Types';
|
|
3
|
+
import type { AdIconHorizontalPosition, AdIconVerticalPosition } from './AdIconPosition';
|
|
4
|
+
import type { AdResource } from './AdResource';
|
|
5
|
+
import type { ClickThroughAtom } from './ClickThroughAtom';
|
|
6
|
+
import type { AdvertisingBaseContext } from './Types';
|
|
7
|
+
type AdIconState = {
|
|
8
|
+
program: string;
|
|
9
|
+
width: number;
|
|
10
|
+
height: number;
|
|
11
|
+
xPosition: number | AdIconHorizontalPosition;
|
|
12
|
+
yPosition: number | AdIconVerticalPosition;
|
|
13
|
+
offset: number | undefined;
|
|
14
|
+
duration: number | undefined;
|
|
15
|
+
resource: AdResource;
|
|
16
|
+
clickThrough: ClickThroughAtom | undefined;
|
|
17
|
+
};
|
|
18
|
+
export type AdIconAtom = StateAtom<AdIconState, EmptyObject>;
|
|
19
|
+
export declare function createAdIconAtom(context: AdvertisingBaseContext, data: AdIconState): AdIconAtom;
|
|
20
|
+
export {};
|
|
@@ -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;
|