@bitmovin/player-web-x 10.2.0-beta.0 → 10.2.0-beta.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (256) hide show
  1. package/bundles/playerx-bitmovin-v8-core.js +3 -3
  2. package/bundles/playerx-bitmovin-v8.js +3 -3
  3. package/bundles/playerx-core.js +3 -3
  4. package/bundles/playerx-dash.js +3 -3
  5. package/bundles/playerx-hls-ts-audio.d.ts +1 -0
  6. package/bundles/playerx-hls-ts-audio.js +3 -3
  7. package/bundles/playerx-hls.js +3 -3
  8. package/bundles/playerx-playback.d.ts +1 -0
  9. package/bundles/playerx-playback.js +10 -0
  10. package/bundles/playerx-tv.js +3 -3
  11. package/framework-types/Types.d.ts +3 -1
  12. package/framework-types/effects/LoggerEffect.d.ts +59 -0
  13. package/framework-types/registry/Registry.d.ts +3 -3
  14. package/package.json +1 -1
  15. package/packages/playerx-adaptation.package.js +3 -3
  16. package/packages/playerx-advertising-api.package.d.ts +1 -0
  17. package/packages/playerx-advertising-api.package.js +10 -0
  18. package/packages/playerx-advertising-base.package.d.ts +1 -0
  19. package/packages/playerx-advertising-base.package.js +10 -0
  20. package/packages/playerx-advertising-bitmovin.package.d.ts +1 -0
  21. package/packages/playerx-advertising-bitmovin.package.js +10 -0
  22. package/packages/playerx-analytics.package.d.ts +1 -0
  23. package/packages/playerx-analytics.package.js +3 -3
  24. package/packages/playerx-bitmovin-advertising-bundle.package.d.ts +1 -0
  25. package/packages/playerx-bitmovin-advertising-bundle.package.js +10 -0
  26. package/packages/playerx-bitmovin-source-api.package.js +3 -3
  27. package/packages/playerx-bitmovin-ui.package.js +3 -3
  28. package/packages/playerx-bitmovin-v8-core.package.js +3 -3
  29. package/packages/playerx-bitmovin-v8-static-api.package.js +3 -3
  30. package/packages/playerx-bitmovin-video-element-utils.package.js +3 -3
  31. package/packages/playerx-capabilities.package.js +3 -3
  32. package/packages/playerx-container-mp4.package.js +3 -3
  33. package/packages/playerx-container-ts.package.js +3 -3
  34. package/packages/playerx-core.package.js +3 -3
  35. package/packages/playerx-dash-manifest-technology.package.d.ts +1 -0
  36. package/packages/playerx-dash-manifest-technology.package.js +10 -0
  37. package/packages/playerx-dash-manifest.package.d.ts +1 -0
  38. package/packages/playerx-dash-manifest.package.js +10 -0
  39. package/packages/playerx-dash-parsing.package.js +3 -3
  40. package/packages/playerx-dash-translation.package.js +3 -3
  41. package/packages/playerx-dash.package.js +3 -3
  42. package/packages/playerx-data.package.js +3 -3
  43. package/packages/playerx-event-bus.package.js +3 -3
  44. package/packages/playerx-hls-manifest-technology.package.d.ts +1 -0
  45. package/packages/playerx-hls-manifest-technology.package.js +10 -0
  46. package/packages/playerx-hls-manifest.package.d.ts +1 -0
  47. package/packages/playerx-hls-manifest.package.js +10 -0
  48. package/packages/playerx-hls-parsing.package.js +3 -3
  49. package/packages/playerx-hls-translation.package.js +3 -3
  50. package/packages/playerx-hls.package.js +3 -3
  51. package/packages/playerx-mse-playback.package.d.ts +1 -0
  52. package/packages/playerx-mse-playback.package.js +10 -0
  53. package/packages/playerx-mse-presentation.package.d.ts +1 -0
  54. package/packages/playerx-mse-presentation.package.js +10 -0
  55. package/packages/playerx-native-playback.package.d.ts +1 -0
  56. package/packages/playerx-native-playback.package.js +10 -0
  57. package/packages/playerx-native-presentation.package.d.ts +1 -0
  58. package/packages/playerx-native-presentation.package.js +10 -0
  59. package/packages/playerx-network.package.js +3 -3
  60. package/packages/playerx-no-adaptation.package.d.ts +1 -0
  61. package/packages/playerx-no-adaptation.package.js +3 -3
  62. package/packages/playerx-playback-api.package.js +3 -3
  63. package/packages/playerx-playback-technology.package.d.ts +1 -0
  64. package/packages/playerx-playback-technology.package.js +10 -0
  65. package/packages/playerx-playback.package.js +3 -3
  66. package/packages/playerx-player-api.package.js +3 -3
  67. package/packages/playerx-segment-processing.package.js +3 -3
  68. package/packages/playerx-source.package.js +3 -3
  69. package/packages/playerx-sources-api.package.js +3 -3
  70. package/packages/playerx-stream-data-structure.package.d.ts +1 -0
  71. package/packages/playerx-stream-data-structure.package.js +10 -0
  72. package/packages/playerx-streaming.package.d.ts +1 -0
  73. package/packages/playerx-streaming.package.js +10 -0
  74. package/packages/playerx-subtitle-api.package.js +3 -3
  75. package/packages/playerx-subtitle-base.package.js +3 -3
  76. package/packages/playerx-subtitle-format-detection.package.js +3 -3
  77. package/packages/playerx-subtitle-native-renderer.package.js +3 -3
  78. package/packages/playerx-subtitles.package.js +3 -3
  79. package/packages/playerx-trick-play.package.js +3 -3
  80. package/packages/playerx-ts-transmuxer.package.js +3 -3
  81. package/packages/playerx-tv.package.js +3 -3
  82. package/packages/playerx-ui.package.d.ts +1 -0
  83. package/packages/playerx-ui.package.js +10 -0
  84. package/packages/playerx-view-mode.package.js +3 -3
  85. package/packages/playerx-web-vtt.package.js +3 -3
  86. package/playerx-framework-utils.js +2 -2
  87. package/types/bundles/BitmovinV8.bundle.d.ts +1 -1
  88. package/types/bundles/Dash.bundle.d.ts +2 -3
  89. package/types/bundles/Hls.bundle.d.ts +3 -4
  90. package/types/bundles/HlsTsAudio.bundle.d.ts +26 -0
  91. package/types/bundles/Playback.bundle.d.ts +28 -0
  92. package/types/bundles/Tv.bundle.d.ts +1 -1
  93. package/types/bundles/Types.d.ts +2 -2
  94. package/types/packages/adaptation/Adaptation.package.d.ts +4 -3
  95. package/types/packages/adaptation/AdaptationStateAtom.d.ts +14 -23
  96. package/types/packages/adaptation/NoAdaptation.package.d.ts +10 -0
  97. package/types/packages/adaptation/Types.d.ts +32 -8
  98. package/types/packages/adaptation/WishConfigAtom.d.ts +4 -29
  99. package/types/packages/advertising/BitmovinAdvertisingBundle.package.d.ts +14 -0
  100. package/types/packages/advertising/api/AdvertisingApi.package.d.ts +12 -0
  101. package/types/packages/advertising/api/AdvertisingEvents.d.ts +44 -0
  102. package/types/packages/advertising/api/Types.d.ts +49 -0
  103. package/types/packages/advertising/base/AdPosition.d.ts +4 -0
  104. package/types/packages/advertising/base/AdSchedule.d.ts +3 -0
  105. package/types/packages/advertising/base/AdTagAtom.d.ts +11 -0
  106. package/types/packages/advertising/base/AdvertisingBase.package.d.ts +12 -0
  107. package/types/packages/advertising/base/BaseAdAtom.d.ts +22 -0
  108. package/types/packages/advertising/base/BaseAdBreakAtom.d.ts +29 -0
  109. package/types/packages/advertising/base/PreloadConfigAtom.d.ts +17 -0
  110. package/types/packages/advertising/base/Types.d.ts +67 -0
  111. package/types/packages/advertising/bitmovin/AdvertisingBitmovin.package.d.ts +14 -0
  112. package/types/packages/advertising/bitmovin/Types.d.ts +46 -0
  113. package/types/packages/analytics/Analytics.package.d.ts +15 -0
  114. package/types/packages/analytics/Types.d.ts +20 -0
  115. package/types/packages/capabilities/Capabilities.package.d.ts +1 -1
  116. package/types/packages/capabilities/Types.d.ts +5 -2
  117. package/types/packages/container/container-mp4/ContainerMp4.package.d.ts +3 -2
  118. package/types/packages/container/container-ts/ContainerTs.package.d.ts +3 -2
  119. package/types/packages/container/ts-transmuxer/TsTransmuxer.package.d.ts +3 -2
  120. package/types/packages/core/Constants.d.ts +11 -2
  121. package/types/packages/core/Types.d.ts +4 -54
  122. package/types/packages/core/state/StateMachineAtom.d.ts +20 -6
  123. package/types/packages/core/state/Symbols.d.ts +1 -0
  124. package/types/packages/core/state/Types.d.ts +2 -1
  125. package/types/packages/core/state/stream-timeline/StreamSectionAtom.d.ts +1 -1
  126. package/types/packages/core/state/stream-timeline/StreamSequenceMapAtom.d.ts +2 -2
  127. package/types/packages/core/state/timeline/Types.d.ts +1 -1
  128. package/types/packages/core/technology/Types.d.ts +19 -0
  129. package/types/packages/core/utils/MapUnsubscribedError.d.ts +1 -1
  130. package/types/packages/core/utils/RangesHelper.d.ts +3 -1
  131. package/types/packages/core/utils/StateUtils.d.ts +9 -3
  132. package/types/packages/core/utils/Types.d.ts +0 -2
  133. package/types/packages/data/Data.package.d.ts +1 -1
  134. package/types/packages/data/Types.d.ts +6 -7
  135. package/types/packages/event-bus/EventBus.d.ts +6 -3
  136. package/types/packages/event-bus/EventBus.package.d.ts +2 -1
  137. package/types/packages/event-bus/Types.d.ts +32 -12
  138. package/types/packages/manifest/dash/DashManifest.package.d.ts +3 -0
  139. package/types/packages/manifest/dash/parsing/DashParsing.package.d.ts +0 -3
  140. package/types/packages/manifest/dash/root/Dash.package.d.ts +1 -1
  141. package/types/packages/manifest/dash/root/Types.d.ts +4 -4
  142. package/types/packages/manifest/dash/technology/DashManifestTechnology.package.d.ts +11 -0
  143. package/types/packages/manifest/dash/technology/Types.d.ts +32 -0
  144. package/types/packages/manifest/dash/technology/atoms/DashTechStateAtom.d.ts +10 -0
  145. package/types/packages/manifest/dash/translation/DashTranslation.package.d.ts +1 -1
  146. package/types/packages/manifest/dash/translation/Types.d.ts +2 -4
  147. package/types/packages/manifest/dash/translation/manifests/DashPlaylistTranslatorTask.d.ts +1 -1
  148. package/types/packages/manifest/hls/HlsManifest.package.d.ts +3 -0
  149. package/types/packages/manifest/hls/parsing/HlsParsing.package.d.ts +0 -3
  150. package/types/packages/manifest/hls/parsing/HlsParsingFunctions.d.ts +1 -1
  151. package/types/packages/manifest/hls/parsing/Types.d.ts +1 -1
  152. package/types/packages/manifest/hls/parsing/m3u8/TranslatorStream.d.ts +2 -2
  153. package/types/packages/manifest/hls/root/Hls.package.d.ts +5 -5
  154. package/types/packages/manifest/hls/technology/HlsManifestTechnology.package.d.ts +11 -0
  155. package/types/packages/manifest/hls/technology/Types.d.ts +32 -0
  156. package/types/packages/manifest/hls/technology/atoms/HlsTechStateAtom.d.ts +10 -0
  157. package/types/packages/manifest/hls/translation/HlsTranslation.package.d.ts +3 -5
  158. package/types/packages/manifest/hls/translation/manifests/HlsMultivariantPlaylistTranslatorTask.d.ts +1 -1
  159. package/types/packages/manifest/hls/translation/manifests/HlsVariantTranslationTask.d.ts +2 -2
  160. package/types/packages/network/Network.package.d.ts +1 -1
  161. package/types/packages/playback/play-pause/Types.d.ts +0 -3
  162. package/types/packages/playback/playback-state/Types.d.ts +0 -3
  163. package/types/packages/playback/video-element-state/SeekRestrictionAtom.d.ts +2 -0
  164. package/types/packages/playback/video-element-state/Types.d.ts +4 -1
  165. package/types/packages/playback/volume/TargetVolumeStateAtom.d.ts +10 -0
  166. package/types/packages/playback/volume/Types.d.ts +19 -0
  167. package/types/packages/playback-api/Types.d.ts +5 -3
  168. package/types/packages/playback-api/playback-api-events/Types.d.ts +7 -5
  169. package/types/packages/playback-api/playback-api-events/events/DurationChangedEvent.d.ts +6 -0
  170. package/types/packages/playback-api/playback-api-events/events/PlaybackEventMap.d.ts +14 -1
  171. package/types/packages/playback-api/playback-api-events/events/PlaybackRateChangedEvent.d.ts +6 -0
  172. package/types/packages/playback-api/playback-api-events/events/VolumeChangedEvent.d.ts +6 -0
  173. package/types/packages/playback-api/time-api/SeekableRangeProviderAtom.d.ts +20 -0
  174. package/types/packages/playback-api/time-api/Types.d.ts +36 -0
  175. package/types/packages/playback-api/volume-api/Types.d.ts +19 -0
  176. package/types/packages/playback-technology/PlaybackTechnology.package.d.ts +23 -0
  177. package/types/packages/playback-technology/Types.d.ts +54 -0
  178. package/types/packages/player-api/PlayerApi.package.d.ts +2 -4
  179. package/types/packages/player-api/Types.d.ts +3 -2
  180. package/types/packages/presentation/mse/MsePlayback.package.d.ts +3 -0
  181. package/types/packages/presentation/mse/playback-technology/Types.d.ts +26 -0
  182. package/types/packages/presentation/mse/playback-technology/atoms/MsePresentationStateAtom.d.ts +10 -0
  183. package/types/packages/presentation/mse/presentation/MsePresentation.package.d.ts +55 -0
  184. package/types/packages/presentation/{Types.d.ts → mse/presentation/Types.d.ts} +1 -1
  185. package/types/packages/presentation/mse/presentation/cache/Types.d.ts +4 -0
  186. package/types/packages/presentation/native/NativePlayback.package.d.ts +4 -0
  187. package/types/packages/presentation/native/Types.d.ts +12 -0
  188. package/types/packages/presentation/native/playback-technology/Types.d.ts +26 -0
  189. package/types/packages/presentation/native/playback-technology/atoms/NativePresentationStateAtom.d.ts +10 -0
  190. package/types/packages/presentation/native/presentation/NativePresentation.package.d.ts +14 -0
  191. package/types/packages/presentation/native/presentation/Types.d.ts +12 -0
  192. package/types/packages/segment-processing/SegmentProcessing.package.d.ts +1 -1
  193. package/types/packages/segment-processing/Types.d.ts +4 -6
  194. package/types/packages/source/Source.package.d.ts +1 -1
  195. package/types/packages/source/SourceReference.d.ts +2 -1
  196. package/types/packages/source/Types.d.ts +4 -0
  197. package/types/packages/source/atoms/PlaybackAtom.d.ts +5 -1
  198. package/types/packages/source/atoms/PlaybackConfigAtom.d.ts +1 -0
  199. package/types/packages/source/atoms/SourceConfigAtom.d.ts +11 -4
  200. package/types/packages/source/atoms/SourceStateAtom.d.ts +10 -23
  201. package/types/packages/sources-api/SourceRemovedError.d.ts +5 -0
  202. package/types/packages/sources-api/SourcesApi.package.d.ts +1 -1
  203. package/types/packages/sources-api/Types.d.ts +22 -7
  204. package/types/packages/stream-data-structure/StreamDataStructure.package.d.ts +4 -0
  205. package/types/packages/stream-data-structure/Types.d.ts +23 -0
  206. package/types/packages/stream-data-structure/segment/Exports.d.ts +22 -0
  207. package/types/packages/{core/state → stream-data-structure}/segment/SegmentAtom.d.ts +8 -8
  208. package/types/packages/stream-data-structure/segment/SegmentDataAtom.d.ts +19 -0
  209. package/types/packages/{core/state → stream-data-structure}/segment/SegmentTimingAtom.d.ts +3 -3
  210. package/types/packages/{core/state → stream-data-structure}/segment/SegmentUtils.d.ts +10 -10
  211. package/types/packages/stream-data-structure/selection-group/Exports.d.ts +16 -0
  212. package/types/packages/{core/state → stream-data-structure}/selection-group/SelectionGroupAtom.d.ts +17 -15
  213. package/types/packages/stream-data-structure/selection-group/SelectionGroupTypeGuards.d.ts +11 -0
  214. package/types/packages/stream-data-structure/selection-group/SelectionGroupUtils.d.ts +7 -0
  215. package/types/packages/stream-data-structure/stream/Exports.d.ts +8 -0
  216. package/types/packages/{core/state → stream-data-structure}/stream/StreamAtom.d.ts +8 -8
  217. package/types/packages/stream-data-structure/track/Exports.d.ts +18 -0
  218. package/types/packages/{core/state → stream-data-structure}/track/TrackAtom.d.ts +18 -26
  219. package/types/packages/stream-data-structure/track/TrackTypeGuards.d.ts +13 -0
  220. package/types/packages/streaming/Streaming.package.d.ts +12 -0
  221. package/types/packages/streaming/Types.d.ts +11 -0
  222. package/types/packages/{core/state/data-ranges → streaming/atoms}/DataRangesAtom.d.ts +8 -8
  223. package/types/packages/streaming/atoms/StreamingStateAtom.d.ts +30 -0
  224. package/types/packages/subtitles/subtitle-api/SubtitleApi.package.d.ts +1 -1
  225. package/types/packages/subtitles/subtitle-api/Types.d.ts +8 -5
  226. package/types/packages/subtitles/subtitle-base/SubtitleBase.package.d.ts +1 -1
  227. package/types/packages/subtitles/subtitle-base/SubtitleCueMapAtom.d.ts +1 -1
  228. package/types/packages/subtitles/subtitle-base/Types.d.ts +4 -4
  229. package/types/packages/subtitles/subtitle-format-detection/SubtitleFormatDetection.package.d.ts +1 -1
  230. package/types/packages/subtitles/subtitle-format-detection/Types.d.ts +3 -4
  231. package/types/packages/subtitles/subtitle-native-renderer/SubtitleNativeRenderer.package.d.ts +1 -1
  232. package/types/packages/subtitles/subtitle-native-renderer/Types.d.ts +4 -1
  233. package/types/packages/subtitles/webvtt/Types.d.ts +5 -3
  234. package/types/packages/subtitles/webvtt/WebVtt.package.d.ts +1 -1
  235. package/types/packages/trick-play/TrickPlay.package.d.ts +6 -14
  236. package/types/packages/tv/Tv.package.d.ts +1 -4
  237. package/types/packages/ui/Types.d.ts +36 -0
  238. package/types/packages/ui/Ui.package.d.ts +4 -0
  239. package/types/packages/v8-compat/BitmovinUi.package.d.ts +1 -1
  240. package/types/packages/v8-compat/BitmovinV8StaticApi.package.d.ts +5 -6
  241. package/types/packages/v8-compat/source-api/BitmovinSourceApi.package.d.ts +4 -2
  242. package/types/packages/v8-compat/types/Types.d.ts +1 -1
  243. package/types/packages/v8-compat/video-element/BitmovinVideoElementUtils.package.d.ts +1 -4
  244. package/types/packages/view-mode/ViewMode.package.d.ts +1 -4
  245. package/packages/playerx-presentation.package.d.ts +0 -1
  246. package/packages/playerx-presentation.package.js +0 -10
  247. package/types/packages/core/state/segment/SegmentDataAtom.d.ts +0 -31
  248. package/types/packages/core/state/selection-group/SelectionGroupTypeGuards.d.ts +0 -5
  249. package/types/packages/core/state/selection-group/SelectionGroupUtils.d.ts +0 -7
  250. package/types/packages/core/state/track/TrackTypeGuards.d.ts +0 -7
  251. package/types/packages/core/utils/Logger.d.ts +0 -40
  252. package/types/packages/presentation/Presentation.package.d.ts +0 -62
  253. package/types/packages/presentation/cache/Types.d.ts +0 -4
  254. /package/types/packages/{core/state → stream-data-structure}/segment/SegmentTypeGuards.d.ts +0 -0
  255. /package/types/packages/{source → streaming}/atoms/BufferConfigAtom.d.ts +0 -0
  256. /package/types/packages/{source → streaming}/atoms/MediaTypeMapAtom.d.ts +0 -0
@@ -0,0 +1,16 @@
1
+ import type { createAudioSelectionGroupAtom, createSubtitleSelectionGroupAtom, createUnknownSelectionGroupAtom, createVideoSelectionGroupAtom } from './SelectionGroupAtom';
2
+ import type { isAudioSelectionGroup, isMediaSelectionGroup, isSubtitleSelectionGroup, isVideoSelectionGroup } from './SelectionGroupTypeGuards';
3
+ import type { SelectionGroupUtils } from './SelectionGroupUtils';
4
+ export declare const StreamDataStructureSelectionGroups = "stream-data-structure-selection-groups";
5
+ export type StreamDataStructureSelectionGroups = {
6
+ [StreamDataStructureSelectionGroups]: {
7
+ createVideoSelectionGroupAtom: typeof createVideoSelectionGroupAtom;
8
+ createAudioSelectionGroupAtom: typeof createAudioSelectionGroupAtom;
9
+ createSubtitleSelectionGroupAtom: typeof createSubtitleSelectionGroupAtom;
10
+ createUnknownSelectionGroupAtom: typeof createUnknownSelectionGroupAtom;
11
+ isVideoSelectionGroup: typeof isVideoSelectionGroup;
12
+ isAudioSelectionGroup: typeof isAudioSelectionGroup;
13
+ isSubtitleSelectionGroup: typeof isSubtitleSelectionGroup;
14
+ isMediaSelectionGroup: typeof isMediaSelectionGroup;
15
+ } & typeof SelectionGroupUtils;
16
+ };
@@ -1,17 +1,19 @@
1
- import type { ContextHaving } from '../../../../../framework-types/execution-context/Types';
2
- import type { EmptyObject, PartialRequired } from '../../../../Types';
3
- import type { ContextWithState } from '../../../Types';
4
- import type { Constants } from '../../Constants';
5
- import { CoreExportNames } from '../../Types';
6
- import type { CoreUtils } from '../../utils/Types';
7
- import type { ArrayAtom } from '../ArrayStateAtom';
8
- import type { PrimitiveAtom } from '../PrimitiveAtom';
1
+ import type { ContextHaving } from '../../../../framework-types/execution-context/Types';
2
+ import type { EmptyObject, PartialRequired } from '../../../Types';
3
+ import type { Constants } from '../../core/Constants';
4
+ import type { ArrayAtom } from '../../core/state/ArrayStateAtom';
5
+ import type { PrimitiveAtom } from '../../core/state/PrimitiveAtom';
6
+ import type { StateAtom } from '../../core/state/Types';
7
+ import type { CoreStateAtoms } from '../../core/Types';
8
+ import { CoreExportNames } from '../../core/Types';
9
+ import type { CoreUtils } from '../../core/utils/Types';
10
+ import type { ContextWithState } from '../../Types';
9
11
  import type { ContainerFormat } from '../segment/SegmentDataAtom';
10
12
  import type { AudioTrackAtom, MediaTrackAtom, SubtitleTrackAtom, TimeRange, TrackAtom, VideoTrackAtom } from '../track/TrackAtom';
11
- import type { StateAtom } from '../Types';
12
- type ContextT = ContextHaving<{
13
- [CoreExportNames.Utils]: CoreUtils;
13
+ type ExtendedContext = ContextHaving<{
14
+ [CoreExportNames.CoreStateAtoms]: CoreStateAtoms;
14
15
  [CoreExportNames.Constants]: Constants;
16
+ [CoreExportNames.Utils]: CoreUtils;
15
17
  }, EmptyObject, ContextWithState>;
16
18
  type BaseSelectionGroup = {
17
19
  tracks: ArrayAtom<TrackAtom>;
@@ -50,19 +52,19 @@ type SelectionGroup = AudioSelectionGroup | VideoSelectionGroup | SubtitleSelect
50
52
  declare function getVideoSelectionGroupModifiers(): {
51
53
  setSequenceNumber: (selectionGroup: SelectionGroup, sequenceNumber: number) => boolean;
52
54
  };
53
- export declare const createVideoSelectionGroupAtom: (context: ContextT, initialValue: PartialRequired<VideoSelectionGroup, 'tracks'>) => VideoSelectionGroupAtom;
55
+ export declare const createVideoSelectionGroupAtom: (context: ExtendedContext, initialValue: PartialRequired<VideoSelectionGroup, 'tracks'>) => VideoSelectionGroupAtom;
54
56
  declare function getAudioSelectionGroupModifiers(): {
55
57
  setLanguage: (selectionGroup: AudioSelectionGroup | SubtitleSelectionGroup, language: string) => boolean;
56
58
  setSequenceNumber: (selectionGroup: SelectionGroup, sequenceNumber: number) => boolean;
57
59
  };
58
- export declare const createAudioSelectionGroupAtom: (context: ContextT, initialValue: PartialRequired<AudioSelectionGroup, 'tracks' | 'language'>) => AudioSelectionGroupAtom;
60
+ export declare const createAudioSelectionGroupAtom: (context: ExtendedContext, initialValue: PartialRequired<AudioSelectionGroup, 'tracks' | 'language'>) => AudioSelectionGroupAtom;
59
61
  declare const SubtitleSelectionGroupModifiers: {
60
62
  setSequenceNumber: (selectionGroup: SelectionGroup, sequenceNumber: number) => boolean;
61
63
  setLanguage: (selectionGroup: AudioSelectionGroup | SubtitleSelectionGroup, language: string) => boolean;
62
64
  };
63
- export declare const createSubtitleSelectionGroupAtom: (context: ContextT, initialValue: PartialRequired<SubtitleSelectionGroup, 'tracks' | 'language'>, label: string) => SubtitleSelectionGroupAtom;
65
+ export declare const createSubtitleSelectionGroupAtom: (context: ExtendedContext, initialValue: PartialRequired<SubtitleSelectionGroup, 'tracks' | 'language'>, label: string) => SubtitleSelectionGroupAtom;
64
66
  declare const UnknownSelectionGroupModifiers: {
65
67
  setSequenceNumber: (selectionGroup: SelectionGroup, sequenceNumber: number) => boolean;
66
68
  };
67
- export declare const createUnknownSelectionGroupAtom: (context: ContextT, initialValue: PartialRequired<UnknownSelectionGroup, 'tracks'>) => UnknownSelectionGroupAtom;
69
+ export declare const createUnknownSelectionGroupAtom: (context: ExtendedContext, initialValue: PartialRequired<UnknownSelectionGroup, 'tracks'>) => UnknownSelectionGroupAtom;
68
70
  export {};
@@ -0,0 +1,11 @@
1
+ import type { AudioSelectionGroupAtom, MediaSelectionGroupAtom, SubtitleSelectionGroupAtom, UnknownSelectionGroupAtom, VideoSelectionGroupAtom } from './SelectionGroupAtom';
2
+ type AnySelectionGroup = AudioSelectionGroupAtom | VideoSelectionGroupAtom | SubtitleSelectionGroupAtom | UnknownSelectionGroupAtom | MediaSelectionGroupAtom;
3
+ export declare function isVideoSelectionGroup(selectionGroup: AnySelectionGroup): selectionGroup is VideoSelectionGroupAtom;
4
+ export declare function isVideoSelectionGroup(selectionGroup: AnySelectionGroup, index: number, array: AnySelectionGroup[]): selectionGroup is VideoSelectionGroupAtom;
5
+ export declare function isAudioSelectionGroup(selectionGroup: AnySelectionGroup): selectionGroup is AudioSelectionGroupAtom;
6
+ export declare function isAudioSelectionGroup(selectionGroup: AnySelectionGroup, index: number, array: AnySelectionGroup[]): selectionGroup is AudioSelectionGroupAtom;
7
+ export declare function isSubtitleSelectionGroup(selectionGroup: AnySelectionGroup): selectionGroup is SubtitleSelectionGroupAtom;
8
+ export declare function isSubtitleSelectionGroup(selectionGroup: AnySelectionGroup, index: number, array: AnySelectionGroup[]): selectionGroup is SubtitleSelectionGroupAtom;
9
+ export declare function isMediaSelectionGroup(selectionGroup: AnySelectionGroup): selectionGroup is MediaSelectionGroupAtom;
10
+ export declare function isMediaSelectionGroup(selectionGroup: AnySelectionGroup, index: number, array: AnySelectionGroup[]): selectionGroup is MediaSelectionGroupAtom;
11
+ export {};
@@ -0,0 +1,7 @@
1
+ import type { StreamDataStructureContext } from '../Types';
2
+ import type { MediaSelectionGroupAtom } from './SelectionGroupAtom';
3
+ declare function getMediaType(context: StreamDataStructureContext, group: MediaSelectionGroupAtom): import("../../core/Constants").MediaType.Audio | import("../../core/Constants").MediaType.Video;
4
+ export declare const SelectionGroupUtils: {
5
+ getMediaType: typeof getMediaType;
6
+ };
7
+ export {};
@@ -0,0 +1,8 @@
1
+ import type { createStreamAtom, StreamType } from './StreamAtom';
2
+ export declare const StreamDataStructureStream = "stream-data-structure-stream";
3
+ export type StreamDataStructureStream = {
4
+ [StreamDataStructureStream]: {
5
+ Type: typeof StreamType;
6
+ createStreamAtom: typeof createStreamAtom;
7
+ };
8
+ };
@@ -1,10 +1,10 @@
1
- import type { ContextWithState } from '../../../Types';
2
- import type { Transient } from '../../utils/StateUtils';
3
- import type { ArrayAtom } from '../ArrayStateAtom';
4
- import type { PrimitiveAtom } from '../PrimitiveAtom';
1
+ import type { ArrayAtom } from '../../core/state/ArrayStateAtom';
2
+ import type { PrimitiveAtom } from '../../core/state/PrimitiveAtom';
3
+ import type { Transient } from '../../core/utils/StateUtils';
5
4
  import type { DataOrSelfInitSegmentAtom } from '../segment/SegmentAtom';
6
5
  import type { SelectionGroupAtom } from '../selection-group/SelectionGroupAtom';
7
6
  import type { MediaTrackAtom, TrackAtom } from '../track/TrackAtom';
7
+ import type { StreamDataStructureContext } from '../Types';
8
8
  export type SelectionGroupsAtom = ArrayAtom<SelectionGroupAtom>;
9
9
  export type TracksAtom = ArrayAtom<TrackAtom>;
10
10
  export type PlaybackTimeMismatchTransientPayload = {
@@ -33,25 +33,25 @@ type Stream = {
33
33
  };
34
34
  declare function setType(stream: Stream, type: StreamType): boolean;
35
35
  export type StreamAtom = ReturnType<typeof createStreamAtom>;
36
- export declare const createStreamAtom: (context: ContextWithState, type: StreamType) => import("../Types").StateAtom<{
36
+ export declare const createStreamAtom: (context: StreamDataStructureContext, type: StreamType) => import("../../core/state/Types").StateAtom<{
37
37
  tracks: ArrayAtom<TrackAtom>;
38
38
  selectionGroups: ArrayAtom<SelectionGroupAtom>;
39
39
  type: StreamType;
40
- duration: import("../Types").StateAtom<{
40
+ duration: import("../../core/state/Types").StateAtom<{
41
41
  value: number;
42
42
  }, {
43
43
  setValue: (data: {
44
44
  value: number;
45
45
  }, value: number) => boolean;
46
46
  }>;
47
- onPlaybackTimeMismatch: import("../Types").StateAtom<{
47
+ onPlaybackTimeMismatch: import("../../core/state/Types").StateAtom<{
48
48
  value: PlaybackTimeMismatchTransientPayload | undefined;
49
49
  }, {
50
50
  trigger: (t: {
51
51
  value: PlaybackTimeMismatchTransientPayload | undefined;
52
52
  }, value: PlaybackTimeMismatchTransientPayload) => boolean;
53
53
  }>;
54
- onDurationMismatch: import("../Types").StateAtom<{
54
+ onDurationMismatch: import("../../core/state/Types").StateAtom<{
55
55
  value: DurationMismatchTransientPayload | undefined;
56
56
  }, {
57
57
  trigger: (t: {
@@ -0,0 +1,18 @@
1
+ import type { createAudioTrackAtom, createMuxedTrackAtom, createSubtitleTrackAtom, createUnknownTrackAtom, createVideoTrackAtom } from './TrackAtom';
2
+ import type { isAudioTrack, isMediaOrSubtitleTrack, isMediaTrack, isMuxedTrack, isSubtitleTrack, isVideoTrack } from './TrackTypeGuards';
3
+ export declare const StreamDataStructureTracks = "stream-data-structure-tracks";
4
+ export type StreamDataStructureTracks = {
5
+ [StreamDataStructureTracks]: {
6
+ createAudioTrackAtom: typeof createAudioTrackAtom;
7
+ createVideoTrackAtom: typeof createVideoTrackAtom;
8
+ createMuxedTrackAtom: typeof createMuxedTrackAtom;
9
+ createSubtitleTrackAtom: typeof createSubtitleTrackAtom;
10
+ createUnknownTrackAtom: typeof createUnknownTrackAtom;
11
+ isAudioTrack: typeof isAudioTrack;
12
+ isMediaTrack: typeof isMediaTrack;
13
+ isSubtitleTrack: typeof isSubtitleTrack;
14
+ isVideoTrack: typeof isVideoTrack;
15
+ isMuxedTrack: typeof isMuxedTrack;
16
+ isMediaOrSubtitleTrack: typeof isMediaOrSubtitleTrack;
17
+ };
18
+ };
@@ -1,20 +1,12 @@
1
- import type { ContextHaving } from '../../../../../framework-types/execution-context/Types';
2
- import type { EmptyObject, PartialRequired } from '../../../../Types';
3
- import type { ContextWithState } from '../../../Types';
4
- import type { Constants, MediaType } from '../../Constants';
5
- import { SubtitleFormatType } from '../../Constants';
6
- import { CoreExportNames } from '../../Types';
7
- import type { CoreUtils } from '../../utils/Types';
8
- import type { ArrayAtom } from '../ArrayStateAtom';
9
- import type { CodecMapAtom } from '../codec-map/CodecMapAtom';
10
- import type { PrimitiveAtom } from '../PrimitiveAtom';
1
+ import type { PartialRequired } from '../../../Types';
2
+ import type { MediaType, SubtitleFormatType } from '../../core/Constants';
3
+ import type { ArrayAtom } from '../../core/state/ArrayStateAtom';
4
+ import type { CodecMapAtom } from '../../core/state/codec-map/CodecMapAtom';
5
+ import type { PrimitiveAtom } from '../../core/state/PrimitiveAtom';
6
+ import type { StateAtom } from '../../core/state/Types';
11
7
  import type { DataOrSelfInitSegmentAtom } from '../segment/SegmentAtom';
12
8
  import type { SelectionGroupAtom } from '../selection-group/SelectionGroupAtom';
13
- import type { StateAtom } from '../Types';
14
- type ExtendedContext = ContextHaving<{
15
- [CoreExportNames.Utils]: CoreUtils;
16
- [CoreExportNames.Constants]: Constants;
17
- }, EmptyObject, ContextWithState>;
9
+ import type { StreamDataStructureContext } from '../Types';
18
10
  export interface TimeRange {
19
11
  start: number;
20
12
  end: number;
@@ -68,29 +60,29 @@ export type MediaTrackAtom = AudioTrackAtom | VideoTrackAtom | MuxedTrackAtom;
68
60
  export type SubtitleTrackAtom = StateAtom<SubtitleTrack, ReturnType<typeof getBaseModifiers>>;
69
61
  export type UnknownTrackAtom = StateAtom<UnknownTrack, ReturnType<typeof getBaseModifiers>>;
70
62
  export type TrackAtom = AudioTrackAtom | VideoTrackAtom | MuxedTrackAtom | SubtitleTrackAtom | UnknownTrackAtom;
71
- declare function getBaseModifiers(context: ExtendedContext): {
63
+ declare function getBaseModifiers(context: StreamDataStructureContext): {
72
64
  setSegments: (track: Track, segments: ArrayAtom<DataOrSelfInitSegmentAtom>) => boolean;
73
- setSequenceNumber: (track: AudioTrack | VideoTrack | MuxedTrack | SubtitleTrack | UnknownTrack, sequenceNumber: number) => boolean;
65
+ setSequenceNumber: (track: Track, sequenceNumber: number) => boolean;
74
66
  setSelectionGroup: (track: VideoTrack | AudioTrack | MuxedTrack | UnknownTrack | SubtitleTrack, selectionGroup: SelectionGroupAtom) => boolean;
75
67
  };
76
- declare function getMediaTrackModifiers(context: ExtendedContext): {
68
+ declare function getMediaTrackModifiers(context: StreamDataStructureContext): {
77
69
  setBitrate: (track: MediaTrack, bitrate: number) => boolean;
78
70
  setSegments: (track: Track, segments: ArrayAtom<DataOrSelfInitSegmentAtom>) => boolean;
79
- setSequenceNumber: (track: AudioTrack | VideoTrack | MuxedTrack | SubtitleTrack | UnknownTrack, sequenceNumber: number) => boolean;
71
+ setSequenceNumber: (track: Track, sequenceNumber: number) => boolean;
80
72
  setSelectionGroup: (track: AudioTrack | VideoTrack | MuxedTrack | SubtitleTrack | UnknownTrack, selectionGroup: SelectionGroupAtom) => boolean;
81
73
  };
82
- declare function getAudioTrackModifiers(context: ExtendedContext): {
74
+ declare function getAudioTrackModifiers(context: StreamDataStructureContext): {
83
75
  setLanguage: (track: LanguageTrack, language: string) => boolean;
84
76
  setLabel: (track: LanguageTrack, label: string) => boolean;
85
77
  setBitrate: (track: MediaTrack, bitrate: number) => boolean;
86
78
  setSegments: (track: Track, segments: ArrayAtom<DataOrSelfInitSegmentAtom>) => boolean;
87
- setSequenceNumber: (track: AudioTrack | VideoTrack | MuxedTrack | SubtitleTrack | UnknownTrack, sequenceNumber: number) => boolean;
79
+ setSequenceNumber: (track: Track, sequenceNumber: number) => boolean;
88
80
  setSelectionGroup: (track: AudioTrack | VideoTrack | MuxedTrack | SubtitleTrack | UnknownTrack, selectionGroup: SelectionGroupAtom) => boolean;
89
81
  };
90
82
  type RequiredBaseTrackKeys = 'id';
91
- export declare const createAudioTrackAtom: (context: ExtendedContext, initialValue: PartialRequired<Omit<AudioTrack, 'timeRange'>, RequiredBaseTrackKeys | 'language' | 'bitrate' | 'codecs' | 'uri'>) => AudioTrackAtom;
92
- export declare const createVideoTrackAtom: (context: ExtendedContext, initialValue: PartialRequired<Omit<VideoTrack, 'timeRange'>, RequiredBaseTrackKeys | 'resolution' | 'bitrate' | 'codecs' | 'uri'>) => VideoTrackAtom;
93
- export declare const createMuxedTrackAtom: (context: ExtendedContext, initialValue: PartialRequired<Omit<MuxedTrack, 'timeRange'>, RequiredBaseTrackKeys | 'language' | 'resolution' | 'bitrate' | 'codecs' | 'uri'>) => MuxedTrackAtom;
94
- export declare const createSubtitleTrackAtom: (context: ExtendedContext, initialValue: PartialRequired<Omit<SubtitleTrack, 'timeRange' | 'formatType'>, RequiredBaseTrackKeys | 'language'>) => SubtitleTrackAtom;
95
- export declare const createUnknownTrackAtom: (context: ExtendedContext, initialValue: PartialRequired<Omit<UnknownTrack, 'timeRange'>, RequiredBaseTrackKeys>) => UnknownTrackAtom;
83
+ export declare const createAudioTrackAtom: (context: StreamDataStructureContext, initialValue: PartialRequired<Omit<AudioTrack, 'timeRange'>, RequiredBaseTrackKeys | 'language' | 'bitrate' | 'codecs' | 'uri'>) => AudioTrackAtom;
84
+ export declare const createVideoTrackAtom: (context: StreamDataStructureContext, initialValue: PartialRequired<Omit<VideoTrack, 'timeRange'>, RequiredBaseTrackKeys | 'resolution' | 'bitrate' | 'codecs' | 'uri'>) => VideoTrackAtom;
85
+ export declare const createMuxedTrackAtom: (context: StreamDataStructureContext, initialValue: PartialRequired<Omit<MuxedTrack, 'timeRange'>, RequiredBaseTrackKeys | 'language' | 'resolution' | 'bitrate' | 'codecs' | 'uri'>) => MuxedTrackAtom;
86
+ export declare const createSubtitleTrackAtom: (context: StreamDataStructureContext, initialValue: PartialRequired<Omit<SubtitleTrack, 'timeRange' | 'formatType'>, RequiredBaseTrackKeys | 'language'>) => SubtitleTrackAtom;
87
+ export declare const createUnknownTrackAtom: (context: StreamDataStructureContext, initialValue: PartialRequired<Omit<UnknownTrack, 'timeRange'>, RequiredBaseTrackKeys>) => UnknownTrackAtom;
96
88
  export {};
@@ -0,0 +1,13 @@
1
+ import type { AudioTrackAtom, MediaTrackAtom, SubtitleTrackAtom, TrackAtom, VideoTrackAtom } from './TrackAtom';
2
+ export declare function isAudioTrack(track: TrackAtom): track is AudioTrackAtom;
3
+ export declare function isAudioTrack(track: TrackAtom, index: number, array: TrackAtom[]): track is AudioTrackAtom;
4
+ export declare function isMediaTrack(track: TrackAtom): track is MediaTrackAtom;
5
+ export declare function isMediaTrack(track: TrackAtom, index: number, array: TrackAtom[]): track is MediaTrackAtom;
6
+ export declare function isSubtitleTrack(track: TrackAtom): track is SubtitleTrackAtom;
7
+ export declare function isSubtitleTrack(track: TrackAtom, index: number, array: TrackAtom[]): track is SubtitleTrackAtom;
8
+ export declare function isVideoTrack(track: TrackAtom): track is VideoTrackAtom;
9
+ export declare function isVideoTrack(track: TrackAtom, index: number, array: TrackAtom[]): track is VideoTrackAtom;
10
+ export declare function isMuxedTrack(track: TrackAtom): track is VideoTrackAtom;
11
+ export declare function isMuxedTrack(track: TrackAtom, index: number, array: TrackAtom[]): track is VideoTrackAtom;
12
+ export declare function isMediaOrSubtitleTrack(track: TrackAtom): track is MediaTrackAtom | SubtitleTrackAtom;
13
+ export declare function isMediaOrSubtitleTrack(track: TrackAtom, index: number, array: TrackAtom[]): track is MediaTrackAtom | SubtitleTrackAtom;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @packageDocumentation Streaming.package
3
+ *
4
+ * Holds and exposes state atoms of for streaming state - for eg Hls and Dash
5
+ *
6
+ * ### `Streaming` Package Dependency Graph
7
+ * <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>
8
+ */
9
+ import type { EmptyObject } from '../../../framework-types/BaseTypes';
10
+ import type { StreamingPackageExports } from './Types';
11
+ export declare const StreamingPackage: import("../../../framework-types/package-api/Package").Package<EmptyObject, StreamingPackageExports, EmptyObject>;
12
+ export default StreamingPackage;
@@ -0,0 +1,11 @@
1
+ import type { EmptyObject } from '../../../framework-types/BaseTypes';
2
+ import type { createStreamingStateAtom, StreamingStateAtom } from './atoms/StreamingStateAtom';
3
+ export declare const StreamingState = "streaming-state";
4
+ export type StreamingState = {
5
+ [StreamingState]: StreamingStateAtom;
6
+ };
7
+ export declare const CreateStreamingStateAtom = "create-streaming-state-atom";
8
+ export type StreamingPackageDependencies = EmptyObject;
9
+ export type StreamingPackageExports = {
10
+ [CreateStreamingStateAtom]: typeof createStreamingStateAtom;
11
+ };
@@ -1,10 +1,10 @@
1
- import type { ContextHaving } from '../../../../../framework-types/execution-context/Types';
2
- import type { EmptyObject } from '../../../../Types';
3
- import type { ContextWithState } from '../../../Types';
4
- import { CoreExportNames } from '../../Types';
5
- import type { CoreUtils } from '../../utils/Types';
6
- import type { DataOrSelfInitSegmentAtom } from '../segment/SegmentAtom';
7
- import type { TimeRange } from '../track/TrackAtom';
1
+ import type { ContextHaving } from '../../../../framework-types/execution-context/Types';
2
+ import type { EmptyObject } from '../../../Types';
3
+ import { CoreExportNames } from '../../core/Types';
4
+ import type { CoreUtils } from '../../core/utils/Types';
5
+ import type { DataOrSelfInitSegmentAtom } from '../../stream-data-structure/segment/SegmentAtom';
6
+ import type { TimeRange } from '../../stream-data-structure/track/TrackAtom';
7
+ import type { ContextWithState } from '../../Types';
8
8
  type ExtendedContext = ContextHaving<{
9
9
  [CoreExportNames.Utils]: CoreUtils;
10
10
  }, EmptyObject, ContextWithState>;
@@ -21,7 +21,7 @@ interface DataRanges {
21
21
  };
22
22
  }
23
23
  export type DataRangesAtom = ReturnType<typeof createDataRangesAtom>;
24
- export declare const createDataRangesAtom: (ctx: ExtendedContext) => import("../Types").StateAtom<DataRanges, {
24
+ export declare const createDataRangesAtom: (ctx: ExtendedContext) => import("../../core/state/Types").StateAtom<DataRanges, {
25
25
  addSegment: (dataRanges: DataRanges, mediaId: string, sourceId: string, segment: DataOrSelfInitSegmentAtom) => boolean;
26
26
  removeSegment: (dataRanges: DataRanges, mediaId: string, sourceId: string, segment: DataOrSelfInitSegmentAtom) => boolean;
27
27
  clear: (dataRanges: DataRanges) => boolean;
@@ -0,0 +1,30 @@
1
+ import type { EmptyObject } from '../../../../framework-types/BaseTypes';
2
+ import type { ContextHaving } from '../../../../framework-types/execution-context/Types';
3
+ import type { Constants } from '../../core/Constants';
4
+ import type { StateAtom } from '../../core/state/Types';
5
+ import type { CoreStateAtoms } from '../../core/Types';
6
+ import { CoreExportNames } from '../../core/Types';
7
+ import type { CoreUtils } from '../../core/utils/Types';
8
+ import type { ActiveSelectionGroupsAtom, ActiveTracksAtom } from '../../source/atoms/SourceStateAtom';
9
+ import { StreamDataStructureStream } from '../../stream-data-structure/stream/Exports';
10
+ import type { StreamAtom } from '../../stream-data-structure/stream/StreamAtom';
11
+ import type { ContextWithState } from '../../Types';
12
+ import type { BufferConfigAtom } from './BufferConfigAtom';
13
+ import type { DataRangesAtom } from './DataRangesAtom';
14
+ import type { MediaTypeMapAtom } from './MediaTypeMapAtom';
15
+ type StreamingState = {
16
+ bufferConfig: BufferConfigAtom;
17
+ activeMediaTypes: MediaTypeMapAtom;
18
+ dataRanges: DataRangesAtom;
19
+ stream: StreamAtom;
20
+ activeTracks: ActiveTracksAtom;
21
+ activeSelectionGroups: ActiveSelectionGroupsAtom;
22
+ };
23
+ export type StreamingStateAtom = StateAtom<StreamingState, EmptyObject>;
24
+ type ExtendedContext = ContextHaving<{
25
+ [CoreExportNames.CoreStateAtoms]: CoreStateAtoms;
26
+ [CoreExportNames.Constants]: Constants;
27
+ [CoreExportNames.Utils]: CoreUtils;
28
+ } & StreamDataStructureStream, EmptyObject, ContextWithState>;
29
+ export declare function createStreamingStateAtom(context: ExtendedContext): StreamingStateAtom;
30
+ export {};
@@ -4,7 +4,7 @@
4
4
  * Exposes subtitles API on the source API.
5
5
  *
6
6
  * ### `SubtitleApi` Package Dependency Graph
7
- * <svg aria-roledescription="flowchart-v2" role="graphics-document document" viewBox="-8 -43 1339.484375 882" style="max-width: 1339.48px; 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-SubtitleApi LE-Core" id="L-SubtitleApi-Core-0" d="M47.505,613.5L59.005,505.417C70.504,397.333,93.502,181.167,117.905,73.083C142.307,-35,168.115,-35,193.922,-35C219.729,-35,245.536,-35,266.673,-35C287.81,-35,304.276,-35,320.742,-35C337.208,-35,353.674,-35,372.215,-35C390.755,-35,411.37,-35,431.984,-35C452.599,-35,473.214,-35,500.87,-35C528.526,-35,563.224,-35,597.922,-35C632.62,-35,667.318,-35,702.089,-35C736.859,-35,771.703,-35,806.547,-35C841.391,-35,876.234,-35,915.056,-35C953.878,-35,996.677,-35,1039.477,-35C1082.276,-35,1125.076,-35,1160.623,21.476C1196.17,77.953,1224.464,190.906,1238.611,247.382L1252.759,303.859"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-SubtitleApi LE-Data" id="L-SubtitleApi-Data-0" d="M48.526,613.5L59.855,546.167C71.184,478.833,93.842,344.167,118.075,276.833C142.307,209.5,168.115,209.5,193.922,209.5C219.729,209.5,245.536,209.5,261.723,209.5C277.91,209.5,284.477,209.5,287.76,209.5L291.044,209.5"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-SubtitleApi LE-SubtitleBase" id="L-SubtitleApi-SubtitleBase-0" d="M91.5,635.658L95.667,636.173C99.833,636.689,108.167,637.719,115.617,638.235C123.067,638.75,129.633,638.75,132.917,638.75L136.2,638.75"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-SubtitleApi LE-Source" id="L-SubtitleApi-Source-0" d="M63.109,646.5L72.007,654.958C80.906,663.417,98.703,680.333,120.505,688.792C142.307,697.25,168.115,697.25,193.922,697.25C219.729,697.25,245.536,697.25,266.673,697.25C287.81,697.25,304.276,697.25,320.742,697.25C337.208,697.25,353.674,697.25,372.215,697.25C390.755,697.25,411.37,697.25,431.984,697.25C452.599,697.25,473.214,697.25,500.87,697.25C528.526,697.25,563.224,697.25,597.922,697.25C632.62,697.25,667.318,697.25,702.089,697.25C736.859,697.25,771.703,697.25,806.547,697.25C841.391,697.25,876.234,697.25,913.242,659.078C950.249,620.905,989.42,544.56,1009.006,506.388L1028.591,468.216"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-SubtitleApi LE-BitmovinV8StaticApi" id="L-SubtitleApi-BitmovinV8StaticApi-0" d="M58.302,646.5L68.002,659.25C77.702,672,97.101,697.5,119.704,710.25C142.307,723,168.115,723,193.922,723C219.729,723,245.536,723,266.673,723C287.81,723,304.276,723,320.742,723C337.208,723,353.674,723,372.215,723C390.755,723,411.37,723,431.984,723C452.599,723,473.214,723,500.87,723C528.526,723,563.224,723,597.922,723C632.62,723,667.318,723,700.727,680.826C734.136,638.651,766.257,554.302,782.317,512.128L798.377,469.953"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-SubtitleApi LE-SourcesApi" id="L-SubtitleApi-SourcesApi-0" d="M54.713,646.5L65.01,665.458C75.308,684.417,95.904,722.333,119.106,741.292C142.307,760.25,168.115,760.25,193.922,760.25C219.729,760.25,245.536,760.25,266.673,760.25C287.81,760.25,304.276,760.25,320.742,760.25C337.208,760.25,353.674,760.25,372.215,760.25C390.755,760.25,411.37,760.25,431.984,760.25C452.599,760.25,473.214,760.25,500.87,760.25C528.526,760.25,563.224,760.25,597.922,760.25C632.62,760.25,667.318,760.25,693.136,760.25C718.955,760.25,735.894,760.25,744.363,760.25L752.833,760.25"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Data LE-Capabilities" id="L-Data-Capabilities-0" d="M324.965,193L332.495,163.583C340.024,134.167,355.082,75.333,372.919,45.917C390.755,16.5,411.37,16.5,431.984,16.5C452.599,16.5,473.214,16.5,500.87,16.5C528.526,16.5,563.224,16.5,597.922,16.5C632.62,16.5,667.318,16.5,702.089,16.5C736.859,16.5,771.703,16.5,806.547,16.5C841.391,16.5,876.234,16.5,906.029,16.5C935.824,16.5,960.571,16.5,972.944,16.5L985.317,16.5"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Data LE-Core" id="L-Data-Core-0" d="M326.502,193L333.775,172.167C341.048,151.333,355.595,109.667,373.175,88.833C390.755,68,411.37,68,431.984,68C452.599,68,473.214,68,500.87,68C528.526,68,563.224,68,597.922,68C632.62,68,667.318,68,702.089,68C736.859,68,771.703,68,806.547,68C841.391,68,876.234,68,915.056,68C953.878,68,996.677,68,1039.477,68C1082.276,68,1125.076,68,1160.269,107.333C1195.463,146.666,1223.051,225.332,1236.845,264.666L1250.639,303.999"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Data LE-Network" id="L-Data-Network-0" d="M330.931,193L337.466,182.417C344.001,171.833,357.071,150.667,366.889,140.083C376.707,129.5,383.274,129.5,386.557,129.5L389.841,129.5"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Data LE-SegmentProcessing" id="L-Data-SegmentProcessing-0" d="M345.141,225.799L349.307,228.583C353.474,231.366,361.807,236.933,376.281,239.717C390.755,242.5,411.37,242.5,431.984,242.5C452.599,242.5,473.214,242.5,486.814,242.002C500.415,241.503,507.001,240.507,510.294,240.009L513.588,239.51"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Data LE-Adaptation" id="L-Data-Adaptation-0" d="M331.683,226L338.092,235.667C344.502,245.333,357.321,264.667,374.038,274.333C390.755,284,411.37,284,431.984,284C452.599,284,473.214,284,498.302,264.084C523.391,244.169,552.954,204.337,567.735,184.422L582.517,164.506"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Data LE-NoAdaptation" id="L-Data-NoAdaptation-0" d="M327.769,226L334.831,242.583C341.893,259.167,356.017,292.333,373.386,308.917C390.755,325.5,411.37,325.5,431.984,325.5C452.599,325.5,473.214,325.5,490.666,324.419C508.118,323.338,522.407,321.176,529.552,320.095L536.697,319.014"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Data LE-Source" id="L-Data-Source-0" d="M325.652,226L333.067,250.917C340.482,275.833,355.311,325.667,373.033,350.583C390.755,375.5,411.37,375.5,431.984,375.5C452.599,375.5,473.214,375.5,500.87,375.5C528.526,375.5,563.224,375.5,597.922,375.5C632.62,375.5,667.318,375.5,702.089,375.5C736.859,375.5,771.703,375.5,806.547,375.5C841.391,375.5,876.234,375.5,909.346,384.237C942.457,392.974,973.837,410.448,989.526,419.185L1005.216,427.921"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Data LE-BitmovinV8StaticApi" id="L-Data-BitmovinV8StaticApi-0" d="M324.153,226L331.817,263.083C339.482,300.167,354.811,374.333,372.783,411.417C390.755,448.5,411.37,448.5,431.984,448.5C452.599,448.5,473.214,448.5,500.87,448.5C528.526,448.5,563.224,448.5,597.922,448.5C632.62,448.5,667.318,448.5,687.95,448.5C708.582,448.5,715.149,448.5,718.432,448.5L721.716,448.5"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Capabilities LE-Core" id="L-Capabilities-Core-0" d="M1088.336,16.5L1101.592,16.5C1114.849,16.5,1141.362,16.5,1168.618,64.402C1195.874,112.304,1223.872,208.109,1237.872,256.011L1251.871,303.913"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Network LE-Core" id="L-Network-Core-0" d="M456.573,113L462.782,108.833C468.991,104.667,481.41,96.333,504.968,92.167C528.526,88,563.224,88,597.922,88C632.62,88,667.318,88,702.089,88C736.859,88,771.703,88,806.547,88C841.391,88,876.234,88,915.056,88C953.878,88,996.677,88,1039.477,88C1082.276,88,1125.076,88,1160.166,124.008C1195.257,160.015,1222.64,232.031,1236.331,268.038L1250.022,304.046"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Network LE-Adaptation" id="L-Network-Adaptation-0" d="M468.828,137.99L472.995,138.95C477.161,139.91,485.495,141.83,498.501,142.79C511.507,143.75,529.185,143.75,538.025,143.75L546.864,143.75"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Network LE-NoAdaptation" id="L-Network-NoAdaptation-0" d="M446.256,146L454.185,155.167C462.113,164.333,477.971,182.667,500.005,206.57C522.04,230.474,550.252,259.948,564.358,274.684L578.464,289.421"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Adaptation LE-Core" id="L-Adaptation-Core-0" d="M643.68,130.563L653.402,127.76C663.125,124.958,682.57,119.354,709.715,116.552C736.859,113.75,771.703,113.75,806.547,113.75C841.391,113.75,876.234,113.75,915.056,113.75C953.878,113.75,996.677,113.75,1039.477,113.75C1082.276,113.75,1125.076,113.75,1160.007,145.479C1194.938,177.208,1222.001,240.667,1235.532,272.396L1249.064,304.125"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Adaptation LE-Source" id="L-Adaptation-Source-0" d="M643.68,139.354L653.402,138.42C663.125,137.486,682.57,135.618,709.715,134.684C736.859,133.75,771.703,133.75,806.547,133.75C841.391,133.75,876.234,133.75,913.594,182.391C950.953,231.032,990.828,328.314,1010.766,376.955L1030.703,425.596"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Adaptation LE-BitmovinV8StaticApi" id="L-Adaptation-BitmovinV8StaticApi-0" d="M643.68,157.597L653.402,160.539C663.125,163.481,682.57,169.366,708.347,214.274C734.124,259.183,766.233,343.117,782.287,385.083L798.341,427.05"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Source LE-Core" id="L-Source-Core-0" d="M1072.328,447L1088.253,447C1104.177,447,1136.026,447,1164.43,430.209C1192.835,413.418,1217.795,379.836,1230.275,363.045L1242.754,346.254"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-BitmovinV8StaticApi LE-Core" id="L-BitmovinV8StaticApi-Core-0" d="M839.09,432L851.088,425.917C863.086,419.833,887.082,407.667,920.48,401.583C953.878,395.5,996.677,395.5,1039.477,395.5C1082.276,395.5,1125.076,395.5,1157.28,387.125C1189.485,378.749,1211.095,361.998,1221.9,353.623L1232.705,345.247"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-BitmovinV8StaticApi LE-Source" id="L-BitmovinV8StaticApi-Source-0" d="M886.078,447.359L890.245,447.299C894.411,447.239,902.745,447.12,921.953,447.06C941.16,447,971.243,447,986.284,447L1001.325,447"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-BitmovinV8StaticApi LE-BitmovinV8Core" id="L-BitmovinV8StaticApi-BitmovinV8Core-0" d="M841.042,465L852.715,470.583C864.387,476.167,887.733,487.333,920.805,492.917C953.878,498.5,996.677,498.5,1039.477,498.5C1082.276,498.5,1125.076,498.5,1154.953,502.537C1184.831,506.574,1201.787,514.648,1210.265,518.685L1218.743,522.721"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-BitmovinV8StaticApi LE-BitmovinVideoElementUtils" id="L-BitmovinV8StaticApi-BitmovinVideoElementUtils-0" d="M823.54,465L838.129,479.167C852.719,493.333,881.899,521.667,899.772,535.833C917.645,550,924.211,550,927.495,550L930.778,550"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-BitmovinVideoElementUtils LE-Core" id="L-BitmovinVideoElementUtils-Core-0" d="M1142.875,537.317L1147.042,536.806C1151.208,536.294,1159.542,535.272,1177.219,503.53C1194.896,471.788,1221.917,409.326,1235.427,378.095L1248.938,346.864"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-BitmovinVideoElementUtils LE-BitmovinV8Core" id="L-BitmovinVideoElementUtils-BitmovinV8Core-0" d="M1142.875,562.683L1147.042,563.194C1151.208,563.706,1159.542,564.728,1167.665,564.176C1175.789,563.625,1183.703,561.5,1187.66,560.437L1191.617,559.375"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-NoAdaptation LE-Core" id="L-NoAdaptation-Core-0" d="M653.906,309.75L661.924,309.75C669.943,309.75,685.979,309.75,711.419,309.75C736.859,309.75,771.703,309.75,806.547,309.75C841.391,309.75,876.234,309.75,915.056,309.75C953.878,309.75,996.677,309.75,1039.477,309.75C1082.276,309.75,1125.076,309.75,1156.515,311.501C1187.955,313.252,1208.035,316.754,1218.075,318.505L1228.115,320.256"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-SegmentProcessing LE-Source" id="L-SegmentProcessing-Source-0" d="M652.447,210.25L660.709,207.75C668.97,205.25,685.493,200.25,711.176,197.75C736.859,195.25,771.703,195.25,806.547,195.25C841.391,195.25,876.234,195.25,913.252,233.671C950.27,272.093,989.461,348.936,1009.057,387.357L1028.653,425.779"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-SegmentProcessing LE-BitmovinV8StaticApi" id="L-SegmentProcessing-BitmovinV8StaticApi-0" d="M652.447,243.25L660.709,245.75C668.97,248.25,685.493,253.25,709.24,283.934C732.987,314.618,763.958,370.987,779.443,399.171L794.929,427.355"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-SubtitleBase LE-Core" id="L-SubtitleBase-Core-0" d="M228.216,622.25L235.404,618.792C242.592,615.333,256.968,608.417,272.389,604.958C287.81,601.5,304.276,601.5,320.742,601.5C337.208,601.5,353.674,601.5,372.215,601.5C390.755,601.5,411.37,601.5,431.984,601.5C452.599,601.5,473.214,601.5,500.87,601.5C528.526,601.5,563.224,601.5,597.922,601.5C632.62,601.5,667.318,601.5,702.089,601.5C736.859,601.5,771.703,601.5,806.547,601.5C841.391,601.5,876.234,601.5,915.056,601.5C953.878,601.5,996.677,601.5,1039.477,601.5C1082.276,601.5,1125.076,601.5,1160.352,559.09C1195.628,516.679,1223.38,431.858,1237.257,389.448L1251.133,347.037"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-SubtitleBase LE-Data" id="L-SubtitleBase-Data-0" d="M246.344,627.07L250.51,626.142C254.677,625.213,263.01,623.357,274.975,557.389C286.94,491.421,302.537,361.342,310.335,296.302L318.133,231.262"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-SubtitleBase LE-Source" id="L-SubtitleBase-Source-0" d="M246.344,640.612L250.51,640.76C254.677,640.908,263.01,641.204,275.41,641.352C287.81,641.5,304.276,641.5,320.742,641.5C337.208,641.5,353.674,641.5,372.215,641.5C390.755,641.5,411.37,641.5,431.984,641.5C452.599,641.5,473.214,641.5,500.87,641.5C528.526,641.5,563.224,641.5,597.922,641.5C632.62,641.5,667.318,641.5,702.089,641.5C736.859,641.5,771.703,641.5,806.547,641.5C841.391,641.5,876.234,641.5,912.754,612.571C949.273,583.641,987.469,525.782,1006.567,496.853L1025.664,467.923"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-SubtitleBase LE-BitmovinV8StaticApi" id="L-SubtitleBase-BitmovinV8StaticApi-0" d="M246.344,654.154L250.51,655.378C254.677,656.603,263.01,659.051,275.41,660.276C287.81,661.5,304.276,661.5,320.742,661.5C337.208,661.5,353.674,661.5,372.215,661.5C390.755,661.5,411.37,661.5,431.984,661.5C452.599,661.5,473.214,661.5,500.87,661.5C528.526,661.5,563.224,661.5,597.922,661.5C632.62,661.5,667.318,661.5,700.35,629.543C733.382,597.586,764.748,533.672,780.431,501.715L796.114,469.758"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-SourcesApi LE-Core" id="L-SourcesApi-Core-0" d="M852.849,743.75L862.554,740.292C872.259,736.833,891.669,729.917,922.773,726.458C953.878,723,996.677,723,1039.477,723C1082.276,723,1125.076,723,1160.706,660.361C1196.336,597.723,1224.796,472.446,1239.027,409.807L1253.257,347.168"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-SourcesApi LE-Source" id="L-SourcesApi-Source-0" d="M854.961,752.261L864.314,750.717C873.667,749.174,892.372,746.087,921.581,698.77C950.789,651.454,990.499,559.908,1010.355,514.135L1030.21,468.362"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-SourcesApi LE-EventBus" id="L-SourcesApi-EventBus-0" d="M854.961,761.524L864.314,761.77C873.667,762.016,892.372,762.508,923.125,762.754C953.878,763,996.677,763,1039.477,763C1082.276,763,1125.076,763,1155.937,768.396C1186.798,773.791,1205.72,784.583,1215.182,789.979L1224.643,795.374"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-SourcesApi LE-PlayerApi" id="L-SourcesApi-PlayerApi-0" d="M838.34,776.75L850.463,783.042C862.586,789.333,886.832,801.917,912.514,808.208C938.197,814.5,965.316,814.5,978.875,814.5L992.434,814.5"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-PlayerApi LE-EventBus" id="L-PlayerApi-EventBus-0" d="M1081.219,814.5L1095.661,814.5C1110.104,814.5,1138.99,814.5,1160.643,814.5C1182.296,814.5,1196.717,814.5,1203.927,814.5L1211.138,814.5"/></g><g class="edgeLabels"><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g></g><g class="nodes"><g transform="translate(45.75, 630)" data-id="SubtitleApi" data-node="true" id="flowchart-SubtitleApi-0" class="node default default flowchart-label"><rect height="33" width="91.5" y="-16.5" x="-45.75" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-38.25, -9)" style="" class="label"><rect/><foreignObject height="18" width="76.5"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">SubtitleApi</span></div></foreignObject></g></g><g transform="translate(1258.1796875, 325.5)" data-id="Core" data-node="true" id="flowchart-Core-1" class="node default default flowchart-label"><rect height="33" width="49.6875" y="-16.5" x="-24.84375" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-17.34375, -9)" style="" class="label"><rect/><foreignObject height="18" width="34.6875"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">Core</span></div></foreignObject></g></g><g transform="translate(320.7421875, 209.5)" data-id="Data" data-node="true" id="flowchart-Data-3" class="node default default flowchart-label"><rect height="33" width="48.796875" y="-16.5" x="-24.3984375" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-16.8984375, -9)" style="" class="label"><rect/><foreignObject height="18" width="33.796875"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">Data</span></div></foreignObject></g></g><g transform="translate(193.921875, 638.75)" data-id="SubtitleBase" data-node="true" id="flowchart-SubtitleBase-5" class="node default default flowchart-label"><rect height="33" width="104.84375" y="-16.5" x="-52.421875" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-44.921875, -9)" style="" class="label"><rect/><foreignObject height="18" width="89.84375"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">SubtitleBase</span></div></foreignObject></g></g><g transform="translate(1039.4765625, 447)" data-id="Source" data-node="true" id="flowchart-Source-7" class="node default default flowchart-label"><rect height="33" width="65.703125" y="-16.5" x="-32.8515625" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-25.3515625, -9)" style="" class="label"><rect/><foreignObject height="18" width="50.703125"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">Source</span></div></foreignObject></g></g><g transform="translate(806.546875, 448.5)" data-id="BitmovinV8StaticApi" data-node="true" id="flowchart-BitmovinV8StaticApi-9" class="node default default flowchart-label"><rect height="33" width="159.0625" y="-16.5" x="-79.53125" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-72.03125, -9)" style="" class="label"><rect/><foreignObject height="18" width="144.0625"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">BitmovinV8StaticApi</span></div></foreignObject></g></g><g transform="translate(806.546875, 760.25)" data-id="SourcesApi" data-node="true" id="flowchart-SourcesApi-11" class="node default default flowchart-label"><rect height="33" width="96.828125" y="-16.5" x="-48.4140625" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-40.9140625, -9)" style="" class="label"><rect/><foreignObject height="18" width="81.828125"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">SourcesApi</span></div></foreignObject></g></g><g transform="translate(1039.4765625, 16.5)" data-id="Capabilities" data-node="true" id="flowchart-Capabilities-13" class="node default default flowchart-label"><rect height="33" width="97.71875" y="-16.5" x="-48.859375" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-41.359375, -9)" style="" class="label"><rect/><foreignObject height="18" width="82.71875"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">Capabilities</span></div></foreignObject></g></g><g transform="translate(431.984375, 129.5)" data-id="Network" data-node="true" id="flowchart-Network-17" class="node default default flowchart-label"><rect height="33" width="73.6875" y="-16.5" x="-36.84375" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-29.34375, -9)" style="" class="label"><rect/><foreignObject height="18" width="58.6875"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">Network</span></div></foreignObject></g></g><g transform="translate(597.921875, 226.75)" data-id="SegmentProcessing" data-node="true" id="flowchart-SegmentProcessing-19" class="node default default flowchart-label"><rect height="33" width="158.1875" y="-16.5" x="-79.09375" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-71.59375, -9)" style="" class="label"><rect/><foreignObject height="18" width="143.1875"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">SegmentProcessing</span></div></foreignObject></g></g><g transform="translate(597.921875, 143.75)" data-id="Adaptation" data-node="true" id="flowchart-Adaptation-21" class="node default default flowchart-label"><rect height="33" width="91.515625" y="-16.5" x="-45.7578125" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-38.2578125, -9)" style="" class="label"><rect/><foreignObject height="18" width="76.515625"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">Adaptation</span></div></foreignObject></g></g><g transform="translate(597.921875, 309.75)" data-id="NoAdaptation" data-node="true" id="flowchart-NoAdaptation-23" class="node default default flowchart-label"><rect height="33" width="111.96875" y="-16.5" x="-55.984375" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-48.484375, -9)" style="" class="label"><rect/><foreignObject height="18" width="96.96875"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">NoAdaptation</span></div></foreignObject></g></g><g transform="translate(1258.1796875, 541.5)" data-id="BitmovinV8Core" data-node="true" id="flowchart-BitmovinV8Core-49" class="node default default flowchart-label"><rect height="33" width="130.609375" y="-16.5" x="-65.3046875" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-57.8046875, -9)" style="" class="label"><rect/><foreignObject height="18" width="115.609375"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">BitmovinV8Core</span></div></foreignObject></g></g><g transform="translate(1039.4765625, 550)" data-id="BitmovinVideoElementUtils" data-node="true" id="flowchart-BitmovinVideoElementUtils-51" class="node default default flowchart-label"><rect height="33" width="206.796875" y="-16.5" x="-103.3984375" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-95.8984375, -9)" style="" class="label"><rect/><foreignObject height="18" width="191.796875"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">BitmovinVideoElementUtils</span></div></foreignObject></g></g><g transform="translate(1258.1796875, 814.5)" data-id="EventBus" data-node="true" id="flowchart-EventBus-75" class="node default default flowchart-label"><rect height="33" width="83.484375" y="-16.5" x="-41.7421875" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-34.2421875, -9)" style="" class="label"><rect/><foreignObject height="18" width="68.484375"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">EventBus</span></div></foreignObject></g></g><g transform="translate(1039.4765625, 814.5)" data-id="PlayerApi" data-node="true" id="flowchart-PlayerApi-77" class="node default default flowchart-label"><rect height="33" width="83.484375" y="-16.5" x="-41.7421875" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-34.2421875, -9)" style="" class="label"><rect/><foreignObject height="18" width="68.484375"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">PlayerApi</span></div></foreignObject></g></g></g></g></g></svg>
7
+ * <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>
8
8
  */
9
9
  import type { EmptyObject } from '../../../../framework-types/BaseTypes';
10
10
  import type { SubtitleApiDependencies, SubtitleApiExports } from './Types';
@@ -1,16 +1,19 @@
1
1
  import type { ApiManager } from '../../../../framework-types/api-manager/ApiManager';
2
2
  import type { ContextHaving } from '../../../../framework-types/execution-context/Types';
3
- import type { BundleExportNames } from '../../../bundles/Types';
4
3
  import type { Constants, SubtitleFormatType } from '../../core/Constants';
5
4
  import type { StreamTimelineAtom } from '../../core/state/stream-timeline/StreamTimelineMapAtom';
6
5
  import type { CoreEffects, CoreExportNames, CoreStateAtoms } from '../../core/Types';
7
- import type { Logger } from '../../core/utils/Logger';
8
6
  import type { CoreUtils } from '../../core/utils/Types';
9
7
  import type { DataExportNames } from '../../data/Types';
10
- import type { EventBase, EventBus } from '../../event-bus/Types';
8
+ import type { extendEventBusTypes } from '../../event-bus/EventBus';
9
+ import type { EventBase, EventBus, EventBusExportNames } from '../../event-bus/Types';
11
10
  import type { SourceStateAtom } from '../../source/atoms/SourceStateAtom';
12
11
  import type { SourceExportNames } from '../../source/Types';
13
12
  import type { SourcesApiExportNames } from '../../sources-api/Types';
13
+ import type { StreamDataStructureSegments } from '../../stream-data-structure/segment/Exports';
14
+ import type { StreamDataStructureSelectionGroups } from '../../stream-data-structure/selection-group/Exports';
15
+ import type { StreamDataStructureTracks } from '../../stream-data-structure/track/Exports';
16
+ import type { StreamingState } from '../../streaming/Types';
14
17
  import type { ContextWithState } from '../../Types';
15
18
  import type { SubtitleCueAtom } from '../subtitle-base/SubtitleCueAtom';
16
19
  import type { SubtitleCueMapAtom } from '../subtitle-base/SubtitleCueMapAtom';
@@ -21,12 +24,12 @@ export type SubtitleApiDependencies = {
21
24
  [CoreExportNames.Utils]: CoreUtils;
22
25
  [CoreExportNames.Constants]: Constants;
23
26
  [DataExportNames.StreamTimeline]: StreamTimelineAtom;
24
- [BundleExportNames.Logger]: Logger;
27
+ [EventBusExportNames.ExtendEventBusTypes]: typeof extendEventBusTypes;
25
28
  [SourceExportNames.SourceState]: SourceStateAtom;
26
29
  [SourcesApiExportNames.SourceApiManager]: ApiManager<SubtitleSourceApi>;
27
30
  [SourcesApiExportNames.SourceEventBus]: EventBus<SubtitleEventMap>;
28
31
  [SubtitleBaseExportNames.SubtitleCueMapAtom]: SubtitleCueMapAtom;
29
- };
32
+ } & StreamDataStructureSelectionGroups & StreamDataStructureTracks & StreamDataStructureSegments & StreamingState;
30
33
  export declare enum SubtitleApiExportNames {
31
34
  SubtitleEvent = "subtitle-api-event"
32
35
  }