@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,19 @@
1
+ import type { AnyExecutionContext } from '../../../../framework-types/execution-context/ExecutionContext';
2
+ import type { NamedTask, Task } from '../../../../framework-types/task/Types';
3
+ import type { ContextWithState } from '../../Types';
4
+ export type Prioritize<Payload, Context extends AnyExecutionContext, TechnologyName extends string> = (supportedTechnologies: Technology<Payload, Context, TechnologyName>[]) => Technology<Payload, Context, TechnologyName>;
5
+ export type Technology<Payload, Context extends AnyExecutionContext, TechnologyName extends string> = {
6
+ name: TechnologyName;
7
+ supported: NamedTask<Task<Context, Payload, boolean>>;
8
+ instantiate: NamedTask<Task<Context, Payload, void>>;
9
+ };
10
+ export type Factory<Payload, Context extends AnyExecutionContext, TechnologyName extends string> = {
11
+ resolve: NamedTask<Task<Context, Payload, void>>;
12
+ add(technology: Technology<Payload, Context, TechnologyName>, abortSignal: AbortSignal): void;
13
+ };
14
+ export declare const TechnologyExport = "technology";
15
+ export type TechnologyExports = {
16
+ [TechnologyExport]: {
17
+ create: <Payload, Context extends AnyExecutionContext, TechnologyName extends string>(context: ContextWithState, prioritize: Prioritize<Payload, Context, TechnologyName>) => Factory<Payload, Context, TechnologyName>;
18
+ };
19
+ };
@@ -1,4 +1,4 @@
1
1
  export declare class MapUnsubscribedError extends Error {
2
2
  name: string;
3
- constructor();
3
+ constructor(name: string);
4
4
  }
@@ -1,4 +1,4 @@
1
- import type { TimeRange } from '../state/track/TrackAtom';
1
+ import type { TimeRange } from '../../stream-data-structure/track/TrackAtom';
2
2
  declare function mergeRanges(queuedRanges: TimeRange[]): TimeRange[];
3
3
  declare function isFullyIncluded<T extends TimeRange>(rangeToCheck: T, otherRange: T): boolean;
4
4
  declare function isStartInRange(start: number, range: TimeRange): boolean;
@@ -8,10 +8,12 @@ declare function getCommonRanges(ranges: {
8
8
  [key: string]: TimeRange[];
9
9
  }): TimeRange[];
10
10
  declare function overlaps(a: TimeRange, b: TimeRange): boolean;
11
+ declare function getEnclosingRange(ranges: TimeRange[]): TimeRange;
11
12
  declare const _default: {
12
13
  mergeRanges: typeof mergeRanges;
13
14
  subtractRanges: typeof subtractRanges;
14
15
  getCommonRanges: typeof getCommonRanges;
16
+ getEnclosingRange: typeof getEnclosingRange;
15
17
  isStartInRange: typeof isStartInRange;
16
18
  isEndInRange: typeof isEndInRange;
17
19
  overlaps: typeof overlaps;
@@ -4,16 +4,17 @@ import type { ContextHaving } from '../../../../framework-types/execution-contex
4
4
  import type { AnyTask, NamedTask, Task } from '../../../../framework-types/task/Types';
5
5
  import type { EmptyObject, Unsubscribe } from '../../../Types';
6
6
  import type { ContextWithState } from '../../Types';
7
+ import type { ArrayAtom } from '../state/ArrayStateAtom';
7
8
  import type { ErrorCallback, ParameterizedTask, TaskParameter } from '../state/state-effect/Types';
8
- import type { IsStateAtom, StateAtom } from '../state/Types';
9
+ import type { StateAtom } from '../state/Types';
9
10
  import { CoreExportNames } from '../Types';
10
11
  import { mapSubscribe } from './MapSubscribe';
11
12
  import { MapUnsubscribedError } from './MapUnsubscribedError';
12
13
  import type { CoreUtils } from './Types';
13
14
  declare function subscribeAndRun<Ctx extends ContextWithState, Atom extends StateAtom, A extends ParameterizedTask<Atom, NamedTask<AnyTask>>>(context: Ctx, atom: TaskParameter<Atom, A>, task: ContextualizedTask<Ctx, A>, errorCallback?: ErrorCallback): Unsubscribe;
14
15
  declare function deriveFrom<O, K extends keyof O>(obj: O, key: K, derive: (obj: O) => O[K]): void;
15
- declare function runOrSubscribeOnce<Context extends ContextWithState, T>(context: Context, transient: Transient<T>, task: NamedTask<(transient: Transient<T>, context: Context) => void>, errorCallback?: ErrorCallback): Unsubscribe;
16
- declare function subscribeOnce<Ctx extends ContextWithState, Atom extends StateAtom>(context: Ctx, atom: IsStateAtom<Atom> extends true ? Atom : never, task: NamedTask<Task<Ctx, Atom, unknown>>, errorCallback?: ErrorCallback): Unsubscribe;
16
+ declare function runOrSubscribeOnce<Context extends ContextWithState, T>(context: Context, transient: Transient<T>, task: NamedTask<Task<Context, Transient<T>, void>>, errorCallback?: ErrorCallback): Unsubscribe;
17
+ declare function subscribeOnce<Context extends ContextWithState, Atom extends StateAtom>(context: Context, atom: Atom, task: NamedTask<Task<Context, Atom, void>>, errorCallback?: ErrorCallback): Unsubscribe;
17
18
  export type Transient<T> = ReturnType<typeof createTransient<T>>;
18
19
  declare function createTransient<T>(context: ContextWithState): StateAtom<{
19
20
  value: T | undefined;
@@ -27,6 +28,10 @@ declare function waitFor<Context extends ContextHaving<{
27
28
  }, EmptyObject, ContextWithState>, T>(context: Context, transient: Transient<T>): Abortable<T | undefined> & {
28
29
  unsubscribe: Unsubscribe;
29
30
  };
31
+ declare function getArrayStateAtomTransients<T>(arrayAtom: ArrayAtom<T>, context: ContextWithState): {
32
+ added: Transient<T[]>;
33
+ removed: Transient<T[]>;
34
+ };
30
35
  declare const _default: {
31
36
  mapSubscribe: typeof mapSubscribe;
32
37
  subscribeAndRun: typeof subscribeAndRun;
@@ -36,5 +41,6 @@ declare const _default: {
36
41
  deriveFrom: typeof deriveFrom;
37
42
  createTransient: typeof createTransient;
38
43
  runOrSubscribeOnce: typeof runOrSubscribeOnce;
44
+ getArrayStateAtomTransients: typeof getArrayStateAtomTransients;
39
45
  };
40
46
  export default _default;
@@ -3,7 +3,6 @@ import type ArrayHelper from './ArrayHelper';
3
3
  import type CodecStringHelper from './CodecStringHelper';
4
4
  import type DomUtils from './DomUtils';
5
5
  import type ErrorHelper from './FormatError';
6
- import type { Logger } from './Logger';
7
6
  import type RangesHelper from './RangesHelper';
8
7
  import type StateUtils from './StateUtils';
9
8
  import type StringHelper from './StringHelper';
@@ -13,7 +12,6 @@ export type CoreUtils = {
13
12
  Dom: typeof DomUtils;
14
13
  Url: typeof UrlHelper;
15
14
  Codecs: typeof CodecStringHelper;
16
- Logger: typeof Logger;
17
15
  Ranges: typeof RangesHelper;
18
16
  Error: typeof ErrorHelper;
19
17
  String: typeof StringHelper;
@@ -7,7 +7,7 @@
7
7
  * Uses Adaptation.package AdaptationExportNames. Select for quality selection
8
8
  *
9
9
  * ### `Data` Package Dependency Graph
10
- * <svg aria-roledescription="flowchart-v2" role="graphics-document document" viewBox="-8 -43 1043.140625 566" style="max-width: 1043.14px; 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-Data LE-Capabilities" id="L-Data-Capabilities-0" d="M29.229,168.75L36.657,143.375C44.085,118,58.941,67.25,76.676,41.875C94.411,16.5,115.026,16.5,135.641,16.5C156.255,16.5,176.87,16.5,204.526,16.5C232.182,16.5,266.88,16.5,301.578,16.5C336.276,16.5,370.974,16.5,405.745,16.5C440.516,16.5,475.359,16.5,510.203,16.5C545.047,16.5,579.891,16.5,609.686,16.5C639.481,16.5,664.227,16.5,676.6,16.5L688.973,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="M28.099,168.75L35.715,134.792C43.332,100.833,58.564,32.917,76.488,-1.042C94.411,-35,115.026,-35,135.641,-35C156.255,-35,176.87,-35,204.526,-35C232.182,-35,266.88,-35,301.578,-35C336.276,-35,370.974,-35,405.745,-35C440.516,-35,475.359,-35,510.203,-35C545.047,-35,579.891,-35,618.712,-35C657.534,-35,700.333,-35,743.133,-35C785.932,-35,828.732,-35,863.395,-8.747C898.058,17.506,924.584,70.013,937.847,96.266L951.11,122.519"/><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="M48.797,190.189L52.964,191.033C57.13,191.876,65.464,193.563,72.914,194.407C80.364,195.25,86.93,195.25,90.214,195.25L93.497,195.25"/><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="M31.35,201.75L38.425,218.542C45.499,235.333,59.648,268.917,77.03,285.708C94.411,302.5,115.026,302.5,135.641,302.5C156.255,302.5,176.87,302.5,190.46,302.5C204.051,302.5,210.618,302.5,213.901,302.5L217.184,302.5"/><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="M44.039,168.75L48.998,164.583C53.958,160.417,63.878,152.083,79.144,147.917C94.411,143.75,115.026,143.75,135.641,143.75C156.255,143.75,176.87,143.75,196.064,146.802C215.259,149.854,233.033,155.959,241.92,159.011L250.808,162.063"/><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="M29.229,201.75L36.657,227.125C44.085,252.5,58.941,303.25,76.676,328.625C94.411,354,115.026,354,135.641,354C156.255,354,176.87,354,194.593,356.244C212.316,358.488,227.148,362.977,234.564,365.221L241.98,367.465"/><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="M34.95,168.75L41.424,158.625C47.899,148.5,60.848,128.25,77.63,118.125C94.411,108,115.026,108,135.641,108C156.255,108,176.87,108,204.526,108C232.182,108,266.88,108,301.578,108C336.276,108,370.974,108,405.745,108C440.516,108,475.359,108,510.203,108C545.047,108,579.891,108,613.002,116.737C646.114,125.474,677.493,142.948,693.182,151.685L708.872,160.421"/><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="M36.795,201.75L42.962,209.958C49.129,218.167,61.463,234.583,77.937,242.792C94.411,251,115.026,251,135.641,251C156.255,251,176.87,251,204.526,251C232.182,251,266.88,251,301.578,251C336.276,251,370.974,251,397.997,254.841C425.02,258.681,444.368,266.363,454.042,270.204L463.717,274.044"/><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="M791.992,16.5L805.249,16.5C818.505,16.5,845.018,16.5,870.863,34.238C896.707,51.976,921.883,87.452,934.471,105.19L947.059,122.928"/><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="M143.66,178.75L152.63,160.292C161.601,141.833,179.543,104.917,205.863,86.458C232.182,68,266.88,68,301.578,68C336.276,68,370.974,68,405.745,68C440.516,68,475.359,68,510.203,68C545.047,68,579.891,68,618.712,68C657.534,68,700.333,68,743.133,68C785.932,68,828.732,68,861.227,77.307C893.723,86.615,915.914,105.229,927.009,114.537L938.105,123.844"/><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="M172.484,195.25L176.651,195.25C180.818,195.25,189.151,195.25,202.167,193.911C215.183,192.572,232.881,189.894,241.731,188.555L250.58,187.216"/><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="M140.736,211.75L150.194,242.375C159.652,273,178.568,334.25,195.165,364.189C211.762,394.128,226.04,392.757,233.179,392.071L240.318,391.385"/><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="M320.349,163L334.57,150.5C348.79,138,377.231,113,408.873,100.5C440.516,88,475.359,88,510.203,88C545.047,88,579.891,88,618.712,88C657.534,88,700.333,88,743.133,88C785.932,88,828.732,88,860.29,94.271C891.848,100.543,912.165,113.086,922.324,119.357L932.482,125.628"/><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="M347.336,179.5L357.059,179.5C366.781,179.5,386.227,179.5,413.371,179.5C440.516,179.5,475.359,179.5,510.203,179.5C545.047,179.5,579.891,179.5,612.354,179.5C644.817,179.5,674.899,179.5,689.94,179.5L704.981,179.5"/><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="M318.253,196L332.823,210.417C347.393,224.833,376.532,253.667,394.389,268.398C412.247,283.129,418.821,283.758,422.109,284.072L425.396,284.387"/><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="M775.984,179.5L791.909,179.5C807.833,179.5,839.682,179.5,865.696,175.506C891.709,171.512,911.887,163.524,921.975,159.53L932.064,155.536"/><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="M589.734,292.5L593.901,292.5C598.068,292.5,606.401,292.5,631.967,292.5C657.534,292.5,700.333,292.5,743.133,292.5C785.932,292.5,828.732,292.5,863.054,271.213C897.377,249.927,923.223,207.354,936.146,186.067L949.069,164.78"/><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="M531.366,276L545.261,265.167C559.155,254.333,586.945,232.667,615.906,218.137C644.868,203.607,675.001,196.215,690.067,192.519L705.134,188.822"/><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="M519.003,309L534.958,338.917C550.913,368.833,582.824,428.667,620.179,458.583C657.534,488.5,700.333,488.5,743.133,488.5C785.932,488.5,828.732,488.5,853.42,488.864C878.109,489.228,884.686,489.957,887.975,490.321L891.263,490.685"/><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="M522.139,309L537.572,330.333C553.004,351.667,583.869,394.333,602.585,415.667C621.301,437,627.868,437,631.151,437L634.434,437"/><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="M765.913,420.5L783.516,407.75C801.119,395,836.325,369.5,867.376,326.93C898.426,284.36,925.321,224.721,938.769,194.901L952.216,165.081"/><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="M772.763,453.5L789.225,462.667C805.686,471.833,838.609,490.167,858.359,498.969C878.109,507.772,884.686,507.043,887.975,506.679L891.263,506.315"/><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="M357.563,385.5L365.581,385.5C373.599,385.5,389.635,385.5,415.076,385.5C440.516,385.5,475.359,385.5,510.203,385.5C545.047,385.5,579.891,385.5,618.712,385.5C657.534,385.5,700.333,385.5,743.133,385.5C785.932,385.5,828.732,385.5,863.846,348.786C898.96,312.072,926.389,238.643,940.103,201.929L953.818,165.215"/><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="M325.6,286L338.945,276.833C352.29,267.667,378.981,249.333,409.748,240.167C440.516,231,475.359,231,510.203,231C545.047,231,579.891,231,612.417,224.942C644.944,218.883,675.153,206.766,690.258,200.708L705.362,194.65"/><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="M380.672,302.5L384.839,302.5C389.005,302.5,397.339,302.5,404.793,302.186C412.247,301.871,418.821,301.242,422.109,300.928L425.396,300.613"/></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><g class="nodes"><g transform="translate(24.3984375, 185.25)" data-id="Data" data-node="true" id="flowchart-Data-0" 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(743.1328125, 16.5)" data-id="Capabilities" data-node="true" id="flowchart-Capabilities-1" 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(961.8359375, 143.75)" data-id="Core" data-node="true" id="flowchart-Core-3" 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(135.640625, 195.25)" data-id="Network" data-node="true" id="flowchart-Network-5" 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(301.578125, 302.5)" data-id="SegmentProcessing" data-node="true" id="flowchart-SegmentProcessing-7" 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(301.578125, 179.5)" data-id="Adaptation" data-node="true" id="flowchart-Adaptation-9" 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(301.578125, 385.5)" data-id="NoAdaptation" data-node="true" id="flowchart-NoAdaptation-11" 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(743.1328125, 179.5)" data-id="Source" data-node="true" id="flowchart-Source-13" 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(510.203125, 292.5)" data-id="BitmovinV8StaticApi" data-node="true" id="flowchart-BitmovinV8StaticApi-15" 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(961.8359375, 498.5)" data-id="BitmovinV8Core" data-node="true" id="flowchart-BitmovinV8Core-37" 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(743.1328125, 437)" data-id="BitmovinVideoElementUtils" data-node="true" id="flowchart-BitmovinVideoElementUtils-39" 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></g></g></svg>
10
+ * <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>
11
11
  */
12
12
  import type { EmptyObject } from '../../Types';
13
13
  import type { DataDependencies, DataExports } from './Types';
@@ -1,18 +1,14 @@
1
1
  import type { ContextHaving, ContextUsing } from '../../../framework-types/execution-context/Types';
2
2
  import type { BaseContext } from '../../../framework-types/Types';
3
- import type { BundleExportNames } from '../../bundles/Types';
4
3
  import type { AdaptationExportNames } from '../adaptation/Types';
5
4
  import type { CapabilitiesExportNames, PlatformCapabilities } from '../capabilities/Types';
6
5
  import type { Constants } from '../core/Constants';
7
6
  import type { EventListenerEffect } from '../core/effects/EventListenerEffectFactory';
8
7
  import type { MetricsAtom } from '../core/metrics/MetricsAtom';
9
8
  import type { QueueAtom } from '../core/state/QueueAtom';
10
- import type { DataOrSelfInitSegmentAtom } from '../core/state/segment/SegmentAtom';
11
9
  import type { StateEffect } from '../core/state/state-effect/StateEffectFactory';
12
10
  import type { StreamTimelineAtom } from '../core/state/stream-timeline/StreamTimelineMapAtom';
13
- import type { MediaTrackAtom } from '../core/state/track/TrackAtom';
14
11
  import type { CoreEffects, CoreExportNames, CoreStateAtoms } from '../core/Types';
15
- import type { Logger } from '../core/utils/Logger';
16
12
  import type { CoreUtils } from '../core/utils/Types';
17
13
  import type { NetworkTask } from '../network/NetworkTask';
18
14
  import type { NetworkExportNames } from '../network/Types';
@@ -20,21 +16,24 @@ import type SegmentProcessorErrors from '../segment-processing/Errors';
20
16
  import type { SegmentProcessingComponent, SegmentProcessingExportNames } from '../segment-processing/Types';
21
17
  import type { SourceStateAtom } from '../source/atoms/SourceStateAtom';
22
18
  import type { SourceExportNames } from '../source/Types';
19
+ import type { DataOrSelfInitSegmentAtom } from '../stream-data-structure/segment/SegmentAtom';
20
+ import type { MediaTrackAtom } from '../stream-data-structure/track/TrackAtom';
21
+ import type { StreamDataStructurePackageExports } from '../stream-data-structure/Types';
22
+ import type { StreamingState } from '../streaming/Types';
23
23
  export type SegmentQueue = QueueAtom<DataPackageContext, DataOrSelfInitSegmentAtom>;
24
- export interface DataDependencies {
24
+ export type DataDependencies = {
25
25
  [CapabilitiesExportNames.PlatformCapabilities]: PlatformCapabilities;
26
26
  [CoreExportNames.Constants]: Constants;
27
27
  [SourceExportNames.SourceState]: SourceStateAtom;
28
28
  [CoreExportNames.CoreEffects]: CoreEffects;
29
29
  [CoreExportNames.CoreStateAtoms]: CoreStateAtoms;
30
30
  [CoreExportNames.Utils]: CoreUtils;
31
- [BundleExportNames.Logger]: Logger;
32
31
  [AdaptationExportNames.Metrics]: MetricsAtom;
33
32
  [NetworkExportNames.NetworkTask]: typeof NetworkTask;
34
33
  [SegmentProcessingExportNames.SegmentProcessorErrors]: typeof SegmentProcessorErrors;
35
34
  [SegmentProcessingExportNames.SegmentProcessingComponent]: SegmentProcessingComponent;
36
35
  [AdaptationExportNames.Select]: (tracks: readonly MediaTrackAtom[]) => MediaTrackAtom;
37
- }
36
+ } & StreamDataStructurePackageExports & StreamingState;
38
37
  export declare enum DataExportNames {
39
38
  StreamTimeline = "stream-timeline"
40
39
  }
@@ -1,4 +1,7 @@
1
- import type { EventBus } from './Types';
2
- export declare function createEventBus<EventMap extends {
1
+ import type { EmptyObject } from '../../../framework-types/BaseTypes';
2
+ import type { BaseContext } from '../../../framework-types/Types';
3
+ import type { EventBus, EventMap } from './Types';
4
+ export declare function createEventBus<Events extends {
3
5
  [key: string]: object;
4
- }>(): EventBus<EventMap>;
6
+ }, Type extends Record<string, string> = EmptyObject>(): EventBus<Events, Type>;
7
+ export declare function extendEventBusTypes(eventBus: EventBus<EventMap>, context: BaseContext, types: Record<string, string>): void;
@@ -7,10 +7,11 @@
7
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 '../../Types';
10
- import { createEventBus } from './EventBus';
10
+ import { createEventBus, extendEventBusTypes } from './EventBus';
11
11
  import { EventBusExportNames } from './Types';
12
12
  export type EventBusExports = {
13
13
  [EventBusExportNames.CreateEventBus]: typeof createEventBus;
14
+ [EventBusExportNames.ExtendEventBusTypes]: typeof extendEventBusTypes;
14
15
  };
15
16
  declare const EventBusPackage: import("../../../framework-types/package-api/Package").Package<EmptyObject, EventBusExports, EmptyObject>;
16
17
  export default EventBusPackage;
@@ -1,23 +1,43 @@
1
1
  import type { EmptyObject } from '../../../framework-types/BaseTypes';
2
- import type { ContextHaving } from '../../../framework-types/execution-context/Types';
3
2
  import type { BaseContext } from '../../../framework-types/Types';
4
- import type { BundleExportNames } from '../../bundles/Types';
5
- import type { Logger } from '../core/utils/Logger';
6
3
  export type EventBase = {
7
4
  timestamp: number;
8
5
  type: string;
9
6
  };
10
7
  export type EventListener<Event extends object> = (event: Event & EventBase) => void;
11
- export type EventBusContext = ContextHaving<{
12
- [BundleExportNames.Logger]: Logger;
13
- }, EmptyObject, BaseContext>;
14
- export type EventBus<EventMap extends {
8
+ export type EventBusContext = BaseContext;
9
+ export type EventMap = {
15
10
  [key: string]: object;
16
- }> = {
17
- on<Name extends keyof EventMap>(name: Name, listener: EventListener<EventMap[Name]>): void;
18
- off<Name extends keyof EventMap>(name: Name, listener: EventListener<EventMap[Name]>): void;
19
- dispatch<Name extends keyof EventMap>(context: EventBusContext, name: Name, event: Omit<EventMap[Name], 'type' | 'timestamp'> & Partial<EventBase>): void;
11
+ };
12
+ export type EventBus<Events extends EventMap, Type extends Record<string, string> = EmptyObject> = {
13
+ on<Name extends keyof Events & string>(name: Name | `${Name}`, listener: EventListener<Events[Name]>): void;
14
+ off<Name extends keyof Events & string>(name: Name | `${Name}`, listener: EventListener<Events[Name]>): void;
15
+ dispatch<Name extends keyof Events & string>(context: EventBusContext, name: Name | `${Name}`, event: Omit<Events[Name], 'type' | 'timestamp'> & Partial<EventBase>): void;
16
+ readonly Type: Type;
17
+ };
18
+ type EventMaps<Apis extends object[]> = {
19
+ [key in keyof Apis]: Apis[key] extends {
20
+ events: EventBus<infer Events extends EventMap, Record<string, string>>;
21
+ } ? Events : EmptyObject;
22
+ };
23
+ type ApiEventTypes<Apis extends object[]> = {
24
+ [key in keyof Apis]: Apis[key] extends {
25
+ events: {
26
+ readonly Type: infer T extends Record<string, string>;
27
+ };
28
+ } ? T : EmptyObject;
29
+ };
30
+ type WithoutEventBuses<Apis extends object[]> = {
31
+ [key in keyof Apis]: Omit<Apis[key], 'events'>;
32
+ };
33
+ type MergeEventMaps<EventMaps extends EventMap[]> = EventMaps extends [infer Events extends EventMap] ? Events : EventMaps extends [infer Events extends EventMap, ...infer OtherMaps extends EventMap[]] ? Events & MergeEventMaps<OtherMaps> : EmptyObject;
34
+ type MergeRecords<Records extends Record<string, string>[]> = Records extends [infer R extends Record<string, string>] ? R : Records extends [infer R extends Record<string, string>, ...infer Rest extends Record<string, string>[]] ? R & MergeRecords<Rest> : EmptyObject;
35
+ type MergeApis<Apis extends object[]> = Apis extends [infer Api] ? Api : Apis extends [infer Api, ...infer RemainingApis extends object[]] ? Api & MergeApis<RemainingApis> : EmptyObject;
36
+ export type MergeApisAndEventBuses<Apis extends object[]> = MergeApis<WithoutEventBuses<Apis>> & {
37
+ events: EventBus<MergeEventMaps<EventMaps<Apis>>, MergeRecords<ApiEventTypes<Apis>>>;
20
38
  };
21
39
  export declare enum EventBusExportNames {
22
- CreateEventBus = "create-event-bus"
40
+ CreateEventBus = "create-event-bus",
41
+ ExtendEventBusTypes = "extend-event-bus-types"
23
42
  }
43
+ export {};
@@ -0,0 +1,3 @@
1
+ import type { EmptyObject } from '../../../../framework-types/BaseTypes';
2
+ export declare const DashManifestPackage: import("../../../../framework-types/package-api/Package").Package<EmptyObject, EmptyObject, EmptyObject>;
3
+ export default DashManifestPackage;
@@ -8,10 +8,8 @@
8
8
  */
9
9
  import type { ContextHaving } from '../../../../../framework-types/execution-context/Types';
10
10
  import type { BaseContext } from '../../../../../framework-types/Types';
11
- import type { BundleExportNames } from '../../../../bundles/Types';
12
11
  import type { EmptyObject } from '../../../../Types';
13
12
  import type { CoreExportNames } from '../../../core/Types';
14
- import type { Logger } from '../../../core/utils/Logger';
15
13
  import type { CoreUtils } from '../../../core/utils/Types';
16
14
  import { DashParsingTask } from './DashParsingTask';
17
15
  import type { DashErrors } from './Types';
@@ -21,7 +19,6 @@ export type DashParsingPackageExports = {
21
19
  [DashParsingExportNames.Errors]: DashErrors;
22
20
  };
23
21
  export type DashParsingContext = ContextHaving<{
24
- [BundleExportNames.Logger]: Logger;
25
22
  [CoreExportNames.Utils]: CoreUtils;
26
23
  }, EmptyObject, BaseContext>;
27
24
  export declare const DashParsingPackage: import("../../../../../framework-types/package-api/Package").Package<EmptyObject, DashParsingPackageExports, EmptyObject>;
@@ -7,7 +7,7 @@
7
7
  * - Translates it to PWX structure using DashTranslationExportNames.DashTranslator
8
8
  *
9
9
  * ### `Dash` Package Dependency Graph
10
- * <svg aria-roledescription="flowchart-v2" role="graphics-document document" viewBox="-8 -43 1033.40625 551.75" style="max-width: 1033.41px; 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-Dash LE-Core" id="L-Dash-Core-0" d="M31.645,103L39.264,80C46.883,57,62.121,11,82.791,-12C103.461,-35,129.563,-35,155.664,-35C181.766,-35,207.867,-35,234.415,-35C260.964,-35,287.958,-35,314.953,-35C341.948,-35,368.943,-35,399.862,-35C430.781,-35,465.625,-35,500.469,-35C535.313,-35,570.156,-35,608.978,-35C647.799,-35,690.599,-35,733.398,-35C776.198,-35,818.997,-35,853.764,-6.84C888.53,21.321,915.264,77.641,928.63,105.802L941.997,133.962"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Dash LE-Network" id="L-Dash-Network-0" d="M49.801,136L54.394,139.208C58.987,142.417,68.173,148.833,78.793,152.042C89.413,155.25,101.467,155.25,107.493,155.25L113.52,155.25"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Dash LE-DashParsing" id="L-Dash-DashParsing-0" d="M34.378,103L41.542,88.583C48.705,74.167,63.032,45.333,73.479,30.917C83.926,16.5,90.493,16.5,93.776,16.5L97.059,16.5"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Dash LE-DashTranslation" id="L-Dash-DashTranslation-0" d="M30.014,136L37.905,169.958C45.796,203.917,61.578,271.833,82.519,305.792C103.461,339.75,129.563,339.75,155.664,339.75C181.766,339.75,207.867,339.75,234.415,339.75C260.964,339.75,287.958,339.75,314.953,339.75C341.948,339.75,368.943,339.75,399.862,339.75C430.781,339.75,465.625,339.75,500.469,339.75C535.313,339.75,570.156,339.75,597.186,339.75C624.215,339.75,643.43,339.75,653.038,339.75L662.645,339.75"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Dash LE-Adaptation" id="L-Dash-Adaptation-0" d="M52.359,111.443L56.526,110.161C60.693,108.879,69.026,106.314,86.243,105.032C103.461,103.75,129.563,103.75,155.664,103.75C181.766,103.75,207.867,103.75,225.947,105.349C244.027,106.948,254.086,110.147,259.115,111.746L264.144,113.345"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Dash LE-NoAdaptation" id="L-Dash-NoAdaptation-0" d="M35.858,136L42.775,147.792C49.692,159.583,63.526,183.167,83.493,194.958C103.461,206.75,129.563,206.75,155.664,206.75C181.766,206.75,207.867,206.75,224.227,207.567C240.587,208.384,247.205,210.019,250.514,210.836L253.823,211.653"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Dash LE-Source" id="L-Dash-Source-0" d="M42.577,103L48.374,97.167C54.171,91.333,65.765,79.667,84.613,73.833C103.461,68,129.563,68,155.664,68C181.766,68,207.867,68,234.415,68C260.964,68,287.958,68,314.953,68C341.948,68,368.943,68,399.862,68C430.781,68,465.625,68,500.469,68C535.313,68,570.156,68,602.696,74.741C635.235,81.481,665.471,94.963,680.589,101.703L695.706,108.444"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Dash LE-BitmovinV8StaticApi" id="L-Dash-BitmovinV8StaticApi-0" d="M31.499,136L39.143,159.708C46.786,183.417,62.073,230.833,82.767,254.542C103.461,278.25,129.563,278.25,155.664,278.25C181.766,278.25,207.867,278.25,234.415,278.25C260.964,278.25,287.958,278.25,314.953,278.25C341.948,278.25,368.943,278.25,385.727,278.564C402.512,278.879,409.087,279.508,412.374,279.822L415.662,280.137"/><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="M163.518,138.75L175.26,114.083C187.002,89.417,210.485,40.083,235.724,15.417C260.964,-9.25,287.958,-9.25,314.953,-9.25C341.948,-9.25,368.943,-9.25,399.862,-9.25C430.781,-9.25,465.625,-9.25,500.469,-9.25C535.313,-9.25,570.156,-9.25,608.978,-9.25C647.799,-9.25,690.599,-9.25,733.398,-9.25C776.198,-9.25,818.997,-9.25,853.513,14.642C888.029,38.535,914.261,86.319,927.377,110.212L940.493,134.104"/><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="M192.508,155.25L199.418,155.25C206.328,155.25,220.148,155.25,232.088,153.651C244.027,152.052,254.086,148.853,259.115,147.254L264.144,145.655"/><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="M170.472,171.75L181.055,183.542C191.638,195.333,212.803,218.917,226.686,230.067C240.568,241.217,247.167,239.933,250.467,239.291L253.766,238.65"/><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="M326.206,113L337.828,95.958C349.45,78.917,372.694,44.833,401.737,27.792C430.781,10.75,465.625,10.75,500.469,10.75C535.313,10.75,570.156,10.75,608.978,10.75C647.799,10.75,690.599,10.75,733.398,10.75C776.198,10.75,818.997,10.75,853.261,31.334C887.525,51.918,913.253,93.087,926.117,113.671L938.981,134.255"/><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="M360.711,129.5L366.582,129.5C372.453,129.5,384.195,129.5,407.488,129.5C430.781,129.5,465.625,129.5,500.469,129.5C535.313,129.5,570.156,129.5,602.62,129.002C635.083,128.504,665.167,127.508,680.208,127.011L695.25,126.513"/><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="M322.611,146L334.832,172.333C347.053,198.667,371.495,251.333,387.01,277.17C402.524,303.008,409.11,302.015,412.403,301.519L415.697,301.023"/><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="M766.25,125.25L782.174,125.25C798.099,125.25,829.948,125.25,855.944,128.596C881.941,131.942,902.084,138.634,912.156,141.98L922.228,145.326"/><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="M517.462,271.75L532.051,257.583C546.641,243.417,575.821,215.083,611.81,200.917C647.799,186.75,690.599,186.75,733.398,186.75C776.198,186.75,818.997,186.75,850.473,183.235C881.949,179.721,902.101,172.691,912.177,169.176L922.254,165.662"/><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="M514.023,271.75L529.186,253.292C544.349,234.833,574.674,197.917,604.911,175.261C635.147,152.606,665.294,144.212,680.368,140.015L695.441,135.818"/><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="M509.742,304.75L525.618,333C541.494,361.25,573.247,417.75,610.523,446C647.799,474.25,690.599,474.25,733.398,474.25C776.198,474.25,818.997,474.25,843.686,474.614C868.374,474.978,874.952,475.707,878.24,476.071L881.529,476.435"/><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="M513.292,304.75L528.577,324.417C543.862,344.083,574.431,383.417,592.999,403.083C611.567,422.75,618.133,422.75,621.417,422.75L624.7,422.75"/><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="M743.207,406.25L762.972,373C782.737,339.75,822.267,273.25,852.175,234.216C882.083,195.181,902.368,183.613,912.511,177.828L922.654,172.044"/><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="M763.029,439.25L779.49,448.417C795.952,457.583,828.874,475.917,848.624,484.719C868.374,493.522,874.952,492.793,878.24,492.429L881.529,492.065"/><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="M370.938,226.75L375.104,226.75C379.271,226.75,387.604,226.75,409.193,226.75C430.781,226.75,465.625,226.75,500.469,226.75C535.313,226.75,570.156,226.75,608.978,226.75C647.799,226.75,690.599,226.75,733.398,226.75C776.198,226.75,818.997,226.75,851.282,218.132C883.567,209.513,905.337,192.277,916.222,183.658L927.107,175.04"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-DashTranslation LE-Core" id="L-DashTranslation-Core-0" d="M798.852,339.75L809.342,339.75C819.833,339.75,840.815,339.75,864.622,312.543C888.43,285.337,915.063,230.924,928.379,203.717L941.696,176.51"/></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><g class="nodes"><g transform="translate(26.1796875, 119.5)" data-id="Dash" data-node="true" id="flowchart-Dash-0" class="node default default flowchart-label"><rect height="33" width="52.359375" y="-16.5" x="-26.1796875" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-18.6796875, -9)" style="" class="label"><rect/><foreignObject height="18" width="37.359375"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">Dash</span></div></foreignObject></g></g><g transform="translate(952.1015625, 155.25)" 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(155.6640625, 155.25)" data-id="Network" data-node="true" id="flowchart-Network-3" 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(155.6640625, 16.5)" data-id="DashParsing" data-node="true" id="flowchart-DashParsing-5" class="node default default flowchart-label"><rect height="33" width="106.609375" y="-16.5" x="-53.3046875" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-45.8046875, -9)" style="" class="label"><rect/><foreignObject height="18" width="91.609375"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">DashParsing</span></div></foreignObject></g></g><g transform="translate(733.3984375, 339.75)" data-id="DashTranslation" data-node="true" id="flowchart-DashTranslation-7" class="node default default flowchart-label"><rect height="33" width="130.90625" y="-16.5" x="-65.453125" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-57.953125, -9)" style="" class="label"><rect/><foreignObject height="18" width="115.90625"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">DashTranslation</span></div></foreignObject></g></g><g transform="translate(314.953125, 129.5)" data-id="Adaptation" data-node="true" id="flowchart-Adaptation-9" 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(314.953125, 226.75)" data-id="NoAdaptation" data-node="true" id="flowchart-NoAdaptation-11" 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(733.3984375, 125.25)" data-id="Source" data-node="true" id="flowchart-Source-13" 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(500.46875, 288.25)" data-id="BitmovinV8StaticApi" data-node="true" id="flowchart-BitmovinV8StaticApi-15" 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(952.1015625, 484.25)" data-id="BitmovinV8Core" data-node="true" id="flowchart-BitmovinV8Core-35" 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(733.3984375, 422.75)" data-id="BitmovinVideoElementUtils" data-node="true" id="flowchart-BitmovinVideoElementUtils-37" 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></g></g></svg>
10
+ * <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>
11
11
  */
12
12
  import type { EmptyObject } from '../../../../Types';
13
13
  import type { DashDependencies, DashExports } from './Types';
@@ -1,19 +1,20 @@
1
1
  import type { ContextHaving } from '../../../../../framework-types/execution-context/Types';
2
2
  import type { NamedTask, Task } from '../../../../../framework-types/task/Types';
3
- import type { BundleExportNames } from '../../../../bundles/Types';
4
3
  import type { AdaptationExportNames } from '../../../adaptation/Types';
5
4
  import type { Constants } from '../../../core/Constants';
6
5
  import type { MetricsAtom } from '../../../core/metrics/MetricsAtom';
7
6
  import type { CoreEffects, CoreExportNames, CoreStateAtoms } from '../../../core/Types';
8
- import type { Logger } from '../../../core/utils/Logger';
9
7
  import type { CoreUtils } from '../../../core/utils/Types';
10
8
  import type { NetworkTask } from '../../../network/NetworkTask';
11
9
  import type { NetworkExportNames } from '../../../network/Types';
12
10
  import type { SourceStateAtom } from '../../../source/atoms/SourceStateAtom';
13
11
  import type { SourceExportNames } from '../../../source/Types';
12
+ import type { StreamDataStructurePackageExports } from '../../../stream-data-structure/Types';
13
+ import type { StreamingState } from '../../../streaming/Types';
14
14
  import type { ContextWithState } from '../../../Types';
15
15
  import type { DashParsingTask } from '../parsing/DashParsingTask';
16
16
  import type { DashParsingExportNames } from '../parsing/Types';
17
+ import type { DashTechState } from '../technology/Types';
17
18
  import type { DashPlaylistTranslatorTask } from '../translation/manifests/DashPlaylistTranslatorTask';
18
19
  import type { DashTranslationExportNames } from '../translation/Types';
19
20
  export declare enum DashPackageExportNames {
@@ -22,7 +23,6 @@ export declare enum DashPackageExportNames {
22
23
  export type DashDependencies = {
23
24
  [CoreExportNames.Utils]: CoreUtils;
24
25
  [CoreExportNames.Constants]: Constants;
25
- [BundleExportNames.Logger]: Logger;
26
26
  [CoreExportNames.CoreEffects]: CoreEffects;
27
27
  [CoreExportNames.CoreStateAtoms]: CoreStateAtoms;
28
28
  [SourceExportNames.SourceState]: SourceStateAtom;
@@ -30,7 +30,7 @@ export type DashDependencies = {
30
30
  [NetworkExportNames.NetworkTask]: typeof NetworkTask;
31
31
  [DashParsingExportNames.ParsingTask]: typeof DashParsingTask;
32
32
  [DashTranslationExportNames.DashTranslator]: typeof DashPlaylistTranslatorTask;
33
- };
33
+ } & StreamDataStructurePackageExports & StreamingState & DashTechState;
34
34
  export type ManifestLoadTaskType = NamedTask<Task<DashPackageContext, SourceStateAtom, void>>;
35
35
  export type DashExports = {
36
36
  [DashPackageExportNames.DashManifestLoadTask]: ManifestLoadTaskType;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @packageDocumentation DashManifestTechnology.package
3
+ *
4
+ * Creates and registers the DASH manifest technology with the PlaybackTechnologyComponent.
5
+ * On instantiate, adds the DASH parsing, translation, and root packages.
6
+ * On abort, removes the packages.
7
+ */
8
+ import type { EmptyObject } from '../../../../Types';
9
+ import type { DashManifestTechnologyDependencies } from './Types';
10
+ export declare const DashManifestTechnologyPackage: import("../../../../../framework-types/package-api/Package").Package<DashManifestTechnologyDependencies, import("../../../../../framework-types/BaseTypes").EmptyObject, EmptyObject>;
11
+ export default DashManifestTechnologyPackage;
@@ -0,0 +1,32 @@
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 { CoreEffects, CoreExportNames, CoreStateAtoms } from '../../../core/Types';
5
+ import type { CoreUtils } from '../../../core/utils/Types';
6
+ import type { ManifestTechnologyEntry, PlaybackTechnologyComponent } from '../../../playback-technology/Types';
7
+ import type { Resource } from '../../../source/atoms/SourceConfigAtom';
8
+ import type { StreamDataStructureStream } from '../../../stream-data-structure/stream/Exports';
9
+ import type { createStreamingStateAtom, StreamingStateAtom } from '../../../streaming/atoms/StreamingStateAtom';
10
+ import type { CreateStreamingStateAtom, StreamingState } from '../../../streaming/Types';
11
+ import type { ContextWithState } from '../../../Types';
12
+ import type { DashTechStateAtom } from './atoms/DashTechStateAtom';
13
+ export declare const DashTechState = "dash-tech-state";
14
+ export type DashTechState = {
15
+ [DashTechState]: DashTechStateAtom;
16
+ };
17
+ export interface DashTechStateData {
18
+ resource: Resource;
19
+ }
20
+ export type DashManifestTechnologyExports = EmptyObject;
21
+ export type DashManifestTechnologyDependencies = {
22
+ [PlaybackTechnologyComponent]: PlaybackTechnologyComponent;
23
+ [CoreExportNames.Constants]: Constants;
24
+ [CoreExportNames.CoreStateAtoms]: CoreStateAtoms;
25
+ [CoreExportNames.CoreEffects]: CoreEffects;
26
+ [CoreExportNames.Utils]: CoreUtils;
27
+ [CreateStreamingStateAtom]: typeof createStreamingStateAtom;
28
+ } & StreamDataStructureStream;
29
+ export type DashManifestTechnologyContext = ContextHaving<DashManifestTechnologyDependencies, DashManifestTechnologyExports, ContextWithState>;
30
+ export type DashManifestPlaybackTechnology = ManifestTechnologyEntry<{
31
+ [StreamingState]: StreamingStateAtom;
32
+ } & DashTechState>;
@@ -0,0 +1,10 @@
1
+ import type { EmptyObject } from '../../../../../../framework-types/BaseTypes';
2
+ import type { ContextHaving } from '../../../../../../framework-types/execution-context/Types';
3
+ import type { StateAtom } from '../../../../core/state/Types';
4
+ import type { Resource } from '../../../../source/atoms/SourceConfigAtom';
5
+ import type { ContextWithState } from '../../../../Types';
6
+ import type { DashTechStateData } from '../Types';
7
+ export type DashTechStateAtom = StateAtom<DashTechStateData, EmptyObject>;
8
+ type ExtendedContext = ContextHaving<EmptyObject, EmptyObject, ContextWithState>;
9
+ export declare function createDashTechStateAtom(context: ExtendedContext, resource: Resource): DashTechStateAtom;
10
+ export {};