@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.
Files changed (193) hide show
  1. package/bundles/playerx-bitmovin-v8-core.js +2 -2
  2. package/bundles/playerx-bitmovin-v8.js +2 -2
  3. package/bundles/playerx-core.js +2 -2
  4. package/bundles/playerx-dash.js +2 -2
  5. package/bundles/playerx-hls-ts-audio.js +2 -2
  6. package/bundles/playerx-hls.js +2 -2
  7. package/bundles/playerx-playback.js +2 -2
  8. package/bundles/playerx-tv.js +2 -2
  9. package/package.json +1 -1
  10. package/packages/playerx-adaptation.package.js +2 -2
  11. package/packages/playerx-advertising-api.package.js +2 -2
  12. package/packages/playerx-advertising-base.package.js +2 -2
  13. package/packages/playerx-advertising-bitmovin.package.js +2 -2
  14. package/packages/playerx-analytics.package.js +1 -1
  15. package/packages/playerx-bitmovin-advertising-bundle.package.js +2 -2
  16. package/packages/playerx-bitmovin-source-api.package.js +2 -2
  17. package/packages/playerx-bitmovin-ui.package.js +2 -2
  18. package/packages/playerx-bitmovin-v8-core.package.js +2 -2
  19. package/packages/playerx-bitmovin-v8-static-api.package.js +2 -2
  20. package/packages/playerx-bitmovin-video-element-utils.package.js +2 -2
  21. package/packages/playerx-capabilities.package.js +2 -2
  22. package/packages/playerx-container-mp4.package.js +2 -2
  23. package/packages/playerx-container-ts.package.js +2 -2
  24. package/packages/playerx-core.package.js +2 -2
  25. package/packages/playerx-dash-manifest-technology.package.js +2 -2
  26. package/packages/playerx-dash-manifest.package.js +2 -2
  27. package/packages/playerx-dash-parsing.package.js +2 -2
  28. package/packages/playerx-dash-translation.package.js +2 -2
  29. package/packages/playerx-dash.package.js +2 -2
  30. package/packages/playerx-data.package.js +2 -2
  31. package/packages/playerx-event-bus.package.js +1 -1
  32. package/packages/playerx-hls-manifest-technology.package.js +2 -2
  33. package/packages/playerx-hls-manifest.package.js +2 -2
  34. package/packages/playerx-hls-parsing.package.js +2 -2
  35. package/packages/playerx-hls-translation.package.js +2 -2
  36. package/packages/playerx-hls.package.js +2 -2
  37. package/packages/playerx-media-state.package.d.ts +1 -0
  38. package/packages/playerx-media-state.package.js +10 -0
  39. package/packages/playerx-mse-playback.package.js +2 -2
  40. package/packages/playerx-mse-presentation.package.js +2 -2
  41. package/packages/playerx-native-playback.package.js +2 -2
  42. package/packages/playerx-native-presentation.package.js +2 -2
  43. package/packages/playerx-network.package.js +2 -2
  44. package/packages/playerx-no-adaptation.package.js +2 -2
  45. package/packages/playerx-playback-api.package.js +2 -2
  46. package/packages/playerx-playback-technology.package.js +2 -2
  47. package/packages/playerx-playback.package.js +2 -2
  48. package/packages/playerx-player-api.package.js +2 -2
  49. package/packages/playerx-segment-processing.package.js +2 -2
  50. package/packages/playerx-source.package.js +2 -2
  51. package/packages/playerx-sources-api.package.js +2 -2
  52. package/packages/playerx-stream-data-structure.package.js +2 -2
  53. package/packages/playerx-streaming.package.js +1 -1
  54. package/packages/playerx-subtitle-api.package.js +2 -2
  55. package/packages/playerx-subtitle-base.package.js +2 -2
  56. package/packages/playerx-subtitle-format-detection.package.js +1 -1
  57. package/packages/playerx-subtitle-native-renderer.package.js +2 -2
  58. package/packages/playerx-subtitles.package.js +2 -2
  59. package/packages/playerx-trick-play.package.js +2 -2
  60. package/packages/playerx-ts-transmuxer.package.js +2 -2
  61. package/packages/playerx-tv.package.js +1 -1
  62. package/packages/playerx-ui.package.js +2 -2
  63. package/packages/playerx-video-element-controller.package.d.ts +1 -0
  64. package/packages/playerx-video-element-controller.package.js +10 -0
  65. package/packages/playerx-view-mode.package.js +2 -2
  66. package/packages/playerx-web-vtt.package.js +2 -2
  67. package/playerx-framework-utils.js +1 -1
  68. package/types/Types.d.ts +3 -0
  69. package/types/bundles/BitmovinV8.bundle.d.ts +1 -1
  70. package/types/bundles/Dash.bundle.d.ts +1 -1
  71. package/types/bundles/Hls.bundle.d.ts +1 -1
  72. package/types/bundles/HlsTsAudio.bundle.d.ts +1 -1
  73. package/types/bundles/Playback.bundle.d.ts +1 -1
  74. package/types/bundles/Tv.bundle.d.ts +1 -1
  75. package/types/packages/adaptation/AdaptationAlgorithm.d.ts +4 -0
  76. package/types/packages/adaptation/StartupQuality.d.ts +5 -0
  77. package/types/packages/adaptation/Types.d.ts +7 -11
  78. package/types/packages/adaptation/WishDataAtom.d.ts +9 -2
  79. package/types/packages/advertising/BitmovinAdvertisingBundle.package.d.ts +1 -1
  80. package/types/packages/advertising/api/AdvertisingApi.package.d.ts +1 -1
  81. package/types/packages/advertising/api/AdvertisingEvents.d.ts +29 -5
  82. package/types/packages/advertising/api/Types.d.ts +24 -6
  83. package/types/packages/advertising/base/AdPosition.d.ts +1 -0
  84. package/types/packages/advertising/base/AdQuartile.d.ts +5 -0
  85. package/types/packages/advertising/base/AdSchedule.d.ts +2 -2
  86. package/types/packages/advertising/base/AdTagAtom.d.ts +1 -1
  87. package/types/packages/advertising/base/AdType.d.ts +4 -0
  88. package/types/packages/advertising/base/BaseAdAtom.d.ts +5 -3
  89. package/types/packages/advertising/base/{BaseAdBreakAtom.d.ts → BaseAdPodAtom.d.ts} +8 -6
  90. package/types/packages/advertising/base/BaseAdPodState.d.ts +7 -0
  91. package/types/packages/advertising/base/BaseAdState.d.ts +7 -0
  92. package/types/packages/advertising/base/Types.d.ts +13 -29
  93. package/types/packages/advertising/bitmovin/Types.d.ts +13 -10
  94. package/types/packages/capabilities/Types.d.ts +1 -1
  95. package/types/packages/container/container-mp4/ContainerMp4.package.d.ts +2 -0
  96. package/types/packages/container/container-ts/ContainerTs.package.d.ts +3 -1
  97. package/types/packages/container/ts-transmuxer/TsTransmuxer.package.d.ts +2 -0
  98. package/types/packages/core/Constants.d.ts +7 -0
  99. package/types/packages/core/Types.d.ts +3 -2
  100. package/types/packages/core/metrics/MetricsAtom.d.ts +1 -1
  101. package/types/packages/{adaptation → core/state}/RingBufferAtom.d.ts +2 -2
  102. package/types/packages/core/state/StateMachineAtom.d.ts +13 -12
  103. package/types/packages/core/state/state-effect/Types.d.ts +2 -2
  104. package/types/packages/core/technology/Types.d.ts +2 -2
  105. package/types/packages/data/Types.d.ts +7 -1
  106. package/types/packages/manifest/dash/parsing/Errors.d.ts +1 -1
  107. package/types/packages/manifest/dash/root/Types.d.ts +3 -1
  108. package/types/packages/manifest/dash/technology/Types.d.ts +2 -1
  109. package/types/packages/manifest/hls/parsing/Constants.d.ts +47 -0
  110. package/types/packages/manifest/hls/parsing/Errors.d.ts +1 -1
  111. package/types/packages/manifest/hls/parsing/Types.d.ts +5 -48
  112. package/types/packages/manifest/hls/root/Hls.package.d.ts +6 -1
  113. package/types/packages/manifest/hls/technology/Types.d.ts +2 -1
  114. package/types/packages/manifest/hls/translation/HlsTranslation.package.d.ts +5 -0
  115. package/types/packages/manifest/hls/translation/Types.d.ts +10 -11
  116. package/types/packages/manifest/hls/translation/segments/StreamHelpers.d.ts +14 -0
  117. package/types/packages/manifest/hls/translation/stream/TracksToSelectionGroups.d.ts +6 -0
  118. package/types/packages/manifest/hls/translation/stream/UnknownTrackToMediaTrackTranslator.d.ts +4 -0
  119. package/types/packages/media-state/MediaInfoAtoms.d.ts +18 -0
  120. package/types/packages/media-state/MediaState.d.ts +10 -0
  121. package/types/packages/media-state/MediaState.package.d.ts +22 -0
  122. package/types/packages/media-state/MediaStateAtom.d.ts +16 -0
  123. package/types/packages/media-state/MediaStateTransitionType.d.ts +11 -0
  124. package/types/packages/media-state/SeekRestrictionAtom.d.ts +2 -0
  125. package/types/packages/media-state/Types.d.ts +48 -0
  126. package/types/packages/media-state/controllers/video-element/Types.d.ts +32 -0
  127. package/types/packages/media-state/controllers/video-element/VideoElementController.package.d.ts +15 -0
  128. package/types/packages/network/HttpRequestMethod.d.ts +5 -0
  129. package/types/packages/network/HttpRequestType.d.ts +11 -0
  130. package/types/packages/network/HttpResponseType.d.ts +7 -0
  131. package/types/packages/network/NetworkAtom.d.ts +15 -0
  132. package/types/packages/network/NetworkTask.d.ts +8 -7
  133. package/types/packages/network/Types.d.ts +17 -26
  134. package/types/packages/playback/play-pause/Types.d.ts +0 -3
  135. package/types/packages/playback/volume/Types.d.ts +2 -4
  136. package/types/packages/playback-api/play-pause-api/Types.d.ts +4 -3
  137. package/types/packages/playback-api/playback-api-events/Types.d.ts +11 -8
  138. package/types/packages/playback-api/time-api/Types.d.ts +4 -5
  139. package/types/packages/playback-technology/PlaybackTechnologyEntryType.d.ts +4 -0
  140. package/types/packages/playback-technology/Types.d.ts +6 -6
  141. package/types/packages/player-api/PlayerApi.package.d.ts +2 -0
  142. package/types/packages/player-api/PlayerEvent.d.ts +3 -0
  143. package/types/packages/player-api/Types.d.ts +4 -4
  144. package/types/packages/presentation/mse/playback-technology/Types.d.ts +2 -1
  145. package/types/packages/presentation/mse/playback-technology/atoms/MsePresentationStateAtom.d.ts +1 -4
  146. package/types/packages/presentation/mse/presentation/MsePresentation.package.d.ts +4 -2
  147. package/types/packages/presentation/mse/presentation/Types.d.ts +6 -0
  148. package/types/packages/presentation/native/Types.d.ts +1 -1
  149. package/types/packages/presentation/native/playback-technology/Types.d.ts +2 -1
  150. package/types/packages/segment-processing/SegmentProcessing.package.d.ts +2 -1
  151. package/types/packages/segment-processing/SegmentProcessorType.d.ts +7 -0
  152. package/types/packages/segment-processing/Types.d.ts +10 -10
  153. package/types/packages/source/SourceReference.d.ts +1 -1
  154. package/types/packages/source/atoms/PlaybackConfigAtom.d.ts +2 -2
  155. package/types/packages/source/atoms/SourceConfigAtom.d.ts +2 -0
  156. package/types/packages/sources-api/SourcesApiEvent.d.ts +7 -0
  157. package/types/packages/sources-api/Types.d.ts +4 -8
  158. package/types/packages/stream-data-structure/Types.d.ts +1 -0
  159. package/types/packages/stream-data-structure/segment/Exports.d.ts +3 -3
  160. package/types/packages/stream-data-structure/segment/SegmentAtom.d.ts +11 -2
  161. package/types/packages/stream-data-structure/segment/SegmentDataAtom.d.ts +1 -7
  162. package/types/packages/stream-data-structure/segment/SegmentUtils.d.ts +3 -2
  163. package/types/packages/stream-data-structure/selection-group/SelectionGroupAtom.d.ts +1 -2
  164. package/types/packages/stream-data-structure/track/Exports.d.ts +6 -1
  165. package/types/packages/stream-data-structure/track/TrackAtom.d.ts +19 -4
  166. package/types/packages/stream-data-structure/track/TrackTypeGuards.d.ts +3 -1
  167. package/types/packages/stream-data-structure/track/TypeDetection.d.ts +25 -0
  168. package/types/packages/stream-data-structure/track/TypeDetectionTypeGuards.d.ts +4 -0
  169. package/types/packages/streaming/Streaming.package.d.ts +2 -2
  170. package/types/packages/streaming/Types.d.ts +3 -2
  171. package/types/packages/subtitles/subtitle-api/SubtitleEvent.d.ts +9 -0
  172. package/types/packages/subtitles/subtitle-api/Types.d.ts +3 -9
  173. package/types/packages/trick-play/TrickPlay.package.d.ts +2 -1
  174. package/types/packages/v8-compat/BitmovinUi.package.d.ts +4 -4
  175. package/types/packages/v8-compat/BitmovinV8Core.package.d.ts +16 -4
  176. package/types/packages/v8-compat/BitmovinV8StaticApi.package.d.ts +8 -5
  177. package/types/packages/v8-compat/apis/SourceApis.d.ts +5 -0
  178. package/types/packages/v8-compat/apis/SubtitleApi.d.ts +5 -0
  179. package/types/packages/v8-compat/enums/AdditionalPlayerExportNames.d.ts +9 -0
  180. package/types/packages/v8-compat/enums/PlayerExports.d.ts +0 -7
  181. package/types/packages/v8-compat/event-handling/EventDispatcher.d.ts +11 -0
  182. package/types/packages/v8-compat/source-api/BitmovinSourceApi.package.d.ts +10 -4
  183. package/types/packages/v8-compat/video-element/BitmovinVideoElementUtils.package.d.ts +4 -4
  184. package/types/packages/view-mode/Types.d.ts +4 -6
  185. package/types/packages/view-mode/ViewMode.d.ts +5 -0
  186. package/types/packages/view-mode/ViewMode.package.d.ts +2 -0
  187. package/types/packages/view-mode/ViewModeAtom.d.ts +1 -1
  188. package/types/packages/core/FrameworkError.d.ts +0 -4
  189. package/types/packages/core/network/NetworkAtom.d.ts +0 -21
  190. package/types/packages/playback/playback-state/Types.d.ts +0 -41
  191. package/types/packages/playback/video-element-state/SeekRestrictionAtom.d.ts +0 -2
  192. package/types/packages/playback/video-element-state/Types.d.ts +0 -32
  193. 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';
@@ -0,0 +1,4 @@
1
+ export declare enum AdaptationAlgorithm {
2
+ Wish = "wish",
3
+ Default = "default"
4
+ }
@@ -0,0 +1,5 @@
1
+ export declare enum StartupQuality {
2
+ Lowest = "lowest",
3
+ Middle = "middle",
4
+ Highest = "highest"
5
+ }
@@ -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 { PlaybackStatePackageExports } from '../playback/playback-state/Types';
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 declare enum StartupQuality {
19
- Lowest = "lowest",
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 & PlaybackStatePackageExports;
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
- import type { RingBufferAtom } from './RingBufferAtom';
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: ContextWithState): import("../core/state/Types").StateAtom<WishData, {
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 breaks, active ads, etc.
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, discardAdBreak, list, skip, active state, and event bus.
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/Types';
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
- AdSkippable = "ad-skippable",
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 AdEvent = AdBreakEvent & {
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.AdSkippable]: AdEvent;
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, BaseAdBreakState, BaseAdState } from '../base/Types';
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 AdBreakConfig = {
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 AdBreak = {
28
+ export type AdPod = {
26
29
  readonly id: string;
27
30
  readonly position: number;
28
31
  readonly ads: Ad[];
29
- readonly state: BaseAdBreakState;
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(adBreak: AdBreakConfig): AdBreak;
35
- discardAdBreak(adBreak: AdBreak): void;
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;
@@ -0,0 +1,5 @@
1
+ export declare enum AdQuartile {
2
+ FirstQuartile = "first-quartile",
3
+ Midpoint = "midpoint",
4
+ ThirdQuartile = "third-quartile"
5
+ }
@@ -1,3 +1,3 @@
1
1
  import type { ArrayAtom } from '../../core/state/ArrayStateAtom';
2
- import type { BaseAdBreakAtom } from './BaseAdBreakAtom';
3
- export type AdSchedule = ArrayAtom<BaseAdBreakAtom>;
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 './Types';
4
+ import type { AdType } from './AdType';
5
5
  type AdTag = {
6
6
  type: AdType;
7
7
  url: string;
@@ -0,0 +1,4 @@
1
+ export declare enum AdType {
2
+ VAST = "vast",
3
+ VMAP = "vmap"
4
+ }
@@ -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, AdvertisingBaseContext } from './Types';
7
- import { BaseAdState } from './Types';
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 type { AdType } from './Types';
14
- import { BaseAdBreakState } from './Types';
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<BaseAdBreakState>;
20
+ state: PrimitiveAtom<BaseAdPodState>;
20
21
  ads: ArrayAtom<BaseAdAtom>;
21
22
  preloadConfig: PreloadConfigAtom;
22
23
  error: PrimitiveAtom<Error | undefined>;
23
24
  };
24
- export type BaseAdBreakAtom = StateAtom<BaseAdBreak, EmptyObject>;
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 createBaseAdBreakAtom(context: Context, id: string, scheduledPosition: string | number | undefined, tagType: AdType, url: string, adManifestPreloadOffset?: number, adSourcePreloadOffset?: number): BaseAdBreakAtom;
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 {};
@@ -0,0 +1,7 @@
1
+ export declare enum BaseAdPodState {
2
+ Scheduled = "scheduled",
3
+ Loaded = "loaded",
4
+ Playing = "playing",
5
+ Error = "error",
6
+ Completed = "completed"
7
+ }
@@ -0,0 +1,7 @@
1
+ export declare enum BaseAdState {
2
+ Scheduled = "scheduled",
3
+ Playing = "playing",
4
+ Completed = "completed",
5
+ Skipped = "skipped",
6
+ Error = "error"
7
+ }
@@ -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 { createBaseAdBreakAtom } from './BaseAdBreakAtom';
10
- export declare enum AdType {
11
- VAST = "vast",
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
- BaseAdBreakState = "base-ad-break-state",
24
+ BaseAdPodState = "base-ad-pod-state",
43
25
  BaseAdState = "base-ad-state",
44
- CreateBaseAdBreak = "create-base-ad-break",
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.BaseAdBreakState]: typeof BaseAdBreakState;
33
+ [AdvertisingBaseExportNames.BaseAdPodState]: typeof BaseAdPodState;
51
34
  [AdvertisingBaseExportNames.BaseAdState]: typeof BaseAdState;
52
- [AdvertisingBaseExportNames.CreateBaseAdBreak]: typeof createBaseAdBreakAtom;
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 { createBaseAdBreakAtom } from '../base/BaseAdBreakAtom';
22
- import type { AdQuartile, AdSourceAdExports, AdType, AdvertisingBaseExportNames, BaseAdBreakState, BaseAdState, ContentSourceAdExports } from '../base/Types';
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.BaseAdBreakState]: typeof BaseAdBreakState;
42
+ [AdvertisingBaseExportNames.BaseAdPodState]: typeof BaseAdPodState;
41
43
  [AdvertisingBaseExportNames.BaseAdState]: typeof BaseAdState;
42
- [AdvertisingBaseExportNames.CreateBaseAdBreak]: typeof createBaseAdBreakAtom;
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>;