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

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 +1 -1
  95. package/types/packages/adaptation/AdaptationStateAtom.d.ts +2 -8
  96. package/types/packages/adaptation/NoAdaptation.package.d.ts +10 -0
  97. package/types/packages/adaptation/Types.d.ts +5 -5
  98. package/types/packages/adaptation/WishConfigAtom.d.ts +1 -7
  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
@@ -1,12 +1,13 @@
1
1
  import type { ContextHaving, ContextUsing } from '../../../framework-types/execution-context/Types';
2
- import type { BundleExportNames } from '../../bundles/Types';
3
2
  import type { MetricsAtom } from '../core/metrics/MetricsAtom';
4
3
  import type { StoreEffectFactory } from '../core/state/StoreEffectFactory';
5
- import type { MediaTrackAtom } from '../core/state/track/TrackAtom';
6
4
  import type { CoreEffects, CoreExportNames, CoreStateAtoms } from '../core/Types';
7
- import type { Logger } from '../core/utils/Logger';
8
5
  import type { SourceStateAtom } from '../source/atoms/SourceStateAtom';
9
6
  import type { SourceExportNames } from '../source/Types';
7
+ import type { StreamDataStructureSegments } from '../stream-data-structure/segment/Exports';
8
+ import type { StreamDataStructureTracks } from '../stream-data-structure/track/Exports';
9
+ import type { MediaTrackAtom } from '../stream-data-structure/track/TrackAtom';
10
+ import type { StreamingState } from '../streaming/Types';
10
11
  import type { ContextWithState } from '../Types';
11
12
  import type { AdaptationStateAtom } from './AdaptationStateAtom';
12
13
  import type { AdaptationTask } from './AdaptationTask';
@@ -25,11 +26,10 @@ export type AdaptationExports = {
25
26
  [AdaptationExportNames.AdaptationTask]: typeof AdaptationTask;
26
27
  };
27
28
  export type AdaptationDependencies = {
28
- [BundleExportNames.Logger]: Logger;
29
29
  [CoreExportNames.CoreEffects]: CoreEffects;
30
30
  [SourceExportNames.SourceState]: SourceStateAtom;
31
31
  [CoreExportNames.CoreStateAtoms]: CoreStateAtoms;
32
- };
32
+ } & StreamDataStructureSegments & StreamDataStructureTracks & StreamingState;
33
33
  export type AdaptationPackageContext = ContextUsing<[
34
34
  StoreEffectFactory<'adaptationData', WishDataAtom>,
35
35
  StoreEffectFactory<'wishConfig', WishConfigAtom>,
@@ -1,7 +1,3 @@
1
- import type { ContextHaving } from '../../../framework-types/execution-context/Types';
2
- import { BundleExportNames } from '../../bundles/Types';
3
- import type { EmptyObject } from '../../Types';
4
- import type { Logger } from '../core/utils/Logger';
5
1
  import type { ContextWithState } from '../Types';
6
2
  export declare enum QualityFunction {
7
3
  Linear = "linear",
@@ -18,9 +14,7 @@ export declare function getDefaultConfig(baseConfig?: Partial<WishConfig>): {
18
14
  qualityFunction: QualityFunction;
19
15
  };
20
16
  export type WishConfigAtom = ReturnType<typeof createWishConfigAtom>;
21
- export declare function createWishConfigAtom(context: ContextHaving<{
22
- [BundleExportNames.Logger]: Logger;
23
- }, EmptyObject, ContextWithState>, baseConfig?: Partial<WishConfig>): import("../core/state/Types").StateAtom<{
17
+ export declare function createWishConfigAtom(context: ContextWithState, baseConfig?: Partial<WishConfig>): import("../core/state/Types").StateAtom<{
24
18
  xi: number;
25
19
  delta: number;
26
20
  qualityFunction: QualityFunction;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @packageDocumentation Advertising.package
3
+ *
4
+ * Bundle package that composes the three advertising sub-packages:
5
+ * - AdvertisingBase: state atoms for ad breaks, active ads, etc.
6
+ * - AdvertisingApi: public API (schedule, discard, list, skip, events)
7
+ * - AdvertisingBitmovin: VAST/VMAP fetching, scheduling, and playback
8
+ *
9
+ * ### `BitmovinAdvertisingBundle` Package Dependency Graph
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
+ */
12
+ import type { EmptyObject } from '../../../framework-types/BaseTypes';
13
+ export declare const BitmovinAdvertisingBundlePackage: import("../../../framework-types/package-api/Package").Package<EmptyObject, EmptyObject, EmptyObject>;
14
+ export default BitmovinAdvertisingBundlePackage;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @packageDocumentation AdvertisingApi.package
3
+ *
4
+ * Advertising API package exposes the advertising API on the source API,
5
+ * including schedule, discardAdBreak, list, skip, active state, and event bus.
6
+ *
7
+ * ### `AdvertisingApi` Package Dependency Graph
8
+ * <svg aria-roledescription="flowchart-v2" role="graphics-document document" viewBox="-8 -8 16 16" style="max-width: 16px; background-color: transparent;" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" width="100%" id="my-svg"><style>#my-svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#ccc;}#my-svg .error-icon{fill:#a44141;}#my-svg .error-text{fill:#ddd;stroke:#ddd;}#my-svg .edge-thickness-normal{stroke-width:2px;}#my-svg .edge-thickness-thick{stroke-width:3.5px;}#my-svg .edge-pattern-solid{stroke-dasharray:0;}#my-svg .edge-pattern-dashed{stroke-dasharray:3;}#my-svg .edge-pattern-dotted{stroke-dasharray:2;}#my-svg .marker{fill:lightgrey;stroke:lightgrey;}#my-svg .marker.cross{stroke:lightgrey;}#my-svg svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#my-svg .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#ccc;}#my-svg .cluster-label text{fill:#F9FFFE;}#my-svg .cluster-label span,#my-svg p{color:#F9FFFE;}#my-svg .label text,#my-svg span,#my-svg p{fill:#ccc;color:#ccc;}#my-svg .node rect,#my-svg .node circle,#my-svg .node ellipse,#my-svg .node polygon,#my-svg .node path{fill:#1f2020;stroke:#81B1DB;stroke-width:1px;}#my-svg .flowchart-label text{text-anchor:middle;}#my-svg .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#my-svg .node .label{text-align:center;}#my-svg .node.clickable{cursor:pointer;}#my-svg .arrowheadPath{fill:lightgrey;}#my-svg .edgePath .path{stroke:lightgrey;stroke-width:2.0px;}#my-svg .flowchart-link{stroke:lightgrey;fill:none;}#my-svg .edgeLabel{background-color:hsl(0, 0%, 34.4117647059%);text-align:center;}#my-svg .edgeLabel rect{opacity:0.5;background-color:hsl(0, 0%, 34.4117647059%);fill:hsl(0, 0%, 34.4117647059%);}#my-svg .labelBkg{background-color:rgba(87.75, 87.75, 87.75, 0.5);}#my-svg .cluster rect{fill:hsl(180, 1.5873015873%, 28.3529411765%);stroke:rgba(255, 255, 255, 0.25);stroke-width:1px;}#my-svg .cluster text{fill:#F9FFFE;}#my-svg .cluster span,#my-svg p{color:#F9FFFE;}#my-svg div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(20, 1.5873015873%, 12.3529411765%);border:1px solid rgba(255, 255, 255, 0.25);border-radius:2px;pointer-events:none;z-index:100;}#my-svg .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#ccc;}#my-svg :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g><marker orient="auto" markerHeight="12" markerWidth="12" markerUnits="userSpaceOnUse" refY="5" refX="6" viewBox="0 0 10 10" class="marker flowchart" id="my-svg_flowchart-pointEnd"><path style="stroke-width: 1; stroke-dasharray: 1, 0;" class="arrowMarkerPath" d="M 0 0 L 10 5 L 0 10 z"/></marker><marker orient="auto" markerHeight="12" markerWidth="12" markerUnits="userSpaceOnUse" refY="5" refX="4.5" viewBox="0 0 10 10" class="marker flowchart" id="my-svg_flowchart-pointStart"><path style="stroke-width: 1; stroke-dasharray: 1, 0;" class="arrowMarkerPath" d="M 0 5 L 10 10 L 10 0 z"/></marker><marker orient="auto" markerHeight="11" markerWidth="11" markerUnits="userSpaceOnUse" refY="5" refX="11" viewBox="0 0 10 10" class="marker flowchart" id="my-svg_flowchart-circleEnd"><circle style="stroke-width: 1; stroke-dasharray: 1, 0;" class="arrowMarkerPath" r="5" cy="5" cx="5"/></marker><marker orient="auto" markerHeight="11" markerWidth="11" markerUnits="userSpaceOnUse" refY="5" refX="-1" viewBox="0 0 10 10" class="marker flowchart" id="my-svg_flowchart-circleStart"><circle style="stroke-width: 1; stroke-dasharray: 1, 0;" class="arrowMarkerPath" r="5" cy="5" cx="5"/></marker><marker orient="auto" markerHeight="11" markerWidth="11" markerUnits="userSpaceOnUse" refY="5.2" refX="12" viewBox="0 0 11 11" class="marker cross flowchart" id="my-svg_flowchart-crossEnd"><path style="stroke-width: 2; stroke-dasharray: 1, 0;" class="arrowMarkerPath" d="M 1,1 l 9,9 M 10,1 l -9,9"/></marker><marker orient="auto" markerHeight="11" markerWidth="11" markerUnits="userSpaceOnUse" refY="5.2" refX="-1" viewBox="0 0 11 11" class="marker cross flowchart" id="my-svg_flowchart-crossStart"><path style="stroke-width: 2; stroke-dasharray: 1, 0;" class="arrowMarkerPath" d="M 1,1 l 9,9 M 10,1 l -9,9"/></marker><g class="root"><g class="clusters"/><g class="edgePaths"/><g class="edgeLabels"/><g class="nodes"/></g></g></svg>
9
+ */
10
+ import type { EmptyObject } from '../../../../framework-types/BaseTypes';
11
+ export declare const AdvertisingApiPackage: import("../../../../framework-types/package-api/Package").Package<EmptyObject, EmptyObject, EmptyObject>;
12
+ export default AdvertisingApiPackage;
@@ -0,0 +1,44 @@
1
+ import type { AdQuartile } from '../base/Types';
2
+ import type { Ad, AdBreak } from './Types';
3
+ export declare enum AdvertisingEvent {
4
+ AdBreakStarted = "ad-break-started",
5
+ AdBreakError = "ad-break-error",
6
+ AdBreakFinished = "ad-break-finished",
7
+ AdStarted = "ad-started",
8
+ AdFinished = "ad-finished",
9
+ AdSkippable = "ad-skippable",
10
+ AdSkipped = "ad-skipped",
11
+ AdError = "ad-error",
12
+ AdClicked = "ad-clicked",
13
+ AdQuartile = "ad-quartile"
14
+ }
15
+ export type AdBreakEvent = {
16
+ adBreak: AdBreak;
17
+ };
18
+ export type AdBreakErrorEvent = AdBreakEvent & {
19
+ error: Error;
20
+ };
21
+ export type AdEvent = AdBreakEvent & {
22
+ ad: Ad;
23
+ };
24
+ export type AdErrorEvent = AdEvent & {
25
+ error: Error;
26
+ };
27
+ export type AdQuartileEvent = AdEvent & {
28
+ quartile: AdQuartile;
29
+ };
30
+ export type AdClickedEvent = AdEvent & {
31
+ clickThroughUrl: string;
32
+ };
33
+ export type AdvertisingEventMap = {
34
+ [AdvertisingEvent.AdBreakStarted]: AdBreakEvent;
35
+ [AdvertisingEvent.AdBreakError]: AdBreakErrorEvent;
36
+ [AdvertisingEvent.AdBreakFinished]: AdBreakEvent;
37
+ [AdvertisingEvent.AdStarted]: AdEvent;
38
+ [AdvertisingEvent.AdFinished]: AdEvent;
39
+ [AdvertisingEvent.AdSkippable]: AdEvent;
40
+ [AdvertisingEvent.AdSkipped]: AdEvent;
41
+ [AdvertisingEvent.AdError]: AdErrorEvent;
42
+ [AdvertisingEvent.AdClicked]: AdClickedEvent;
43
+ [AdvertisingEvent.AdQuartile]: AdQuartileEvent;
44
+ };
@@ -0,0 +1,49 @@
1
+ import type { EventBus } from '../../event-bus/Types';
2
+ import type { AdType, BaseAdBreakState, BaseAdState } from '../base/Types';
3
+ import type { AdvertisingEventMap } from './AdvertisingEvents';
4
+ export type AdTagConfig = {
5
+ type: AdType;
6
+ url: string;
7
+ };
8
+ export type PreloadConfig = {
9
+ adManifestPreloadOffset?: number;
10
+ adSourcePreloadOffset?: number;
11
+ };
12
+ export type AdBreakConfig = {
13
+ id?: string;
14
+ tag: AdTagConfig;
15
+ position?: number | string;
16
+ preloadConfig?: PreloadConfig;
17
+ };
18
+ export type Ad = {
19
+ readonly id: string;
20
+ readonly skippable: boolean;
21
+ readonly skipDelay: number;
22
+ readonly state: BaseAdState;
23
+ readonly position: number;
24
+ };
25
+ export type AdBreak = {
26
+ readonly id: string;
27
+ readonly position: number;
28
+ readonly ads: Ad[];
29
+ readonly state: BaseAdBreakState;
30
+ };
31
+ export type ContentSourceAdvertisingApi = {
32
+ readonly isAd: false;
33
+ readonly isLinearAdActive: boolean;
34
+ schedule(adBreak: AdBreakConfig): AdBreak;
35
+ discardAdBreak(adBreak: AdBreak): void;
36
+ list(): AdBreak[];
37
+ getActiveAdBreak(): AdBreak | undefined;
38
+ getActiveAd(): Ad | undefined;
39
+ };
40
+ export type AdSourceAdvertisingApi = {
41
+ readonly isAd: true;
42
+ readonly isSkippable: boolean;
43
+ readonly skipDelay: number;
44
+ skip(): void;
45
+ };
46
+ export type AdvertisingApi = {
47
+ ads: ContentSourceAdvertisingApi | AdSourceAdvertisingApi;
48
+ events: EventBus<AdvertisingEventMap>;
49
+ };
@@ -0,0 +1,4 @@
1
+ export declare const AdPositionNotYetKnown: unique symbol;
2
+ export type AdPosition = (contentDuration: number) => typeof AdPositionNotYetKnown | number;
3
+ export declare function resolveAdPosition(position: unknown, contentDuration: number): number | typeof AdPositionNotYetKnown;
4
+ export declare function createAdPosition(configuredPosition?: string | number): AdPosition;
@@ -0,0 +1,3 @@
1
+ import type { ArrayAtom } from '../../core/state/ArrayStateAtom';
2
+ import type { BaseAdBreakAtom } from './BaseAdBreakAtom';
3
+ export type AdSchedule = ArrayAtom<BaseAdBreakAtom>;
@@ -0,0 +1,11 @@
1
+ import type { EmptyObject } from '../../../../framework-types/BaseTypes';
2
+ import type { StateAtom } from '../../core/state/Types';
3
+ import type { ContextWithState } from '../../Types';
4
+ import type { AdType } from './Types';
5
+ type AdTag = {
6
+ type: AdType;
7
+ url: string;
8
+ };
9
+ export type AdTagAtom = StateAtom<AdTag, EmptyObject>;
10
+ export declare function createAdTag(context: ContextWithState, type: AdType, url: string): AdTagAtom;
11
+ export {};
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @packageDocumentation AdvertisingBase.package
3
+ *
4
+ * Advertising base package creates and registers the advertising state atom.
5
+ *
6
+ * ### `AdvertisingBase` Package Dependency Graph
7
+ * <svg aria-roledescription="flowchart-v2" role="graphics-document document" viewBox="-8 -8 16 16" style="max-width: 16px; background-color: transparent;" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" width="100%" id="my-svg"><style>#my-svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#ccc;}#my-svg .error-icon{fill:#a44141;}#my-svg .error-text{fill:#ddd;stroke:#ddd;}#my-svg .edge-thickness-normal{stroke-width:2px;}#my-svg .edge-thickness-thick{stroke-width:3.5px;}#my-svg .edge-pattern-solid{stroke-dasharray:0;}#my-svg .edge-pattern-dashed{stroke-dasharray:3;}#my-svg .edge-pattern-dotted{stroke-dasharray:2;}#my-svg .marker{fill:lightgrey;stroke:lightgrey;}#my-svg .marker.cross{stroke:lightgrey;}#my-svg svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#my-svg .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#ccc;}#my-svg .cluster-label text{fill:#F9FFFE;}#my-svg .cluster-label span,#my-svg p{color:#F9FFFE;}#my-svg .label text,#my-svg span,#my-svg p{fill:#ccc;color:#ccc;}#my-svg .node rect,#my-svg .node circle,#my-svg .node ellipse,#my-svg .node polygon,#my-svg .node path{fill:#1f2020;stroke:#81B1DB;stroke-width:1px;}#my-svg .flowchart-label text{text-anchor:middle;}#my-svg .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#my-svg .node .label{text-align:center;}#my-svg .node.clickable{cursor:pointer;}#my-svg .arrowheadPath{fill:lightgrey;}#my-svg .edgePath .path{stroke:lightgrey;stroke-width:2.0px;}#my-svg .flowchart-link{stroke:lightgrey;fill:none;}#my-svg .edgeLabel{background-color:hsl(0, 0%, 34.4117647059%);text-align:center;}#my-svg .edgeLabel rect{opacity:0.5;background-color:hsl(0, 0%, 34.4117647059%);fill:hsl(0, 0%, 34.4117647059%);}#my-svg .labelBkg{background-color:rgba(87.75, 87.75, 87.75, 0.5);}#my-svg .cluster rect{fill:hsl(180, 1.5873015873%, 28.3529411765%);stroke:rgba(255, 255, 255, 0.25);stroke-width:1px;}#my-svg .cluster text{fill:#F9FFFE;}#my-svg .cluster span,#my-svg p{color:#F9FFFE;}#my-svg div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(20, 1.5873015873%, 12.3529411765%);border:1px solid rgba(255, 255, 255, 0.25);border-radius:2px;pointer-events:none;z-index:100;}#my-svg .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#ccc;}#my-svg :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g><marker orient="auto" markerHeight="12" markerWidth="12" markerUnits="userSpaceOnUse" refY="5" refX="6" viewBox="0 0 10 10" class="marker flowchart" id="my-svg_flowchart-pointEnd"><path style="stroke-width: 1; stroke-dasharray: 1, 0;" class="arrowMarkerPath" d="M 0 0 L 10 5 L 0 10 z"/></marker><marker orient="auto" markerHeight="12" markerWidth="12" markerUnits="userSpaceOnUse" refY="5" refX="4.5" viewBox="0 0 10 10" class="marker flowchart" id="my-svg_flowchart-pointStart"><path style="stroke-width: 1; stroke-dasharray: 1, 0;" class="arrowMarkerPath" d="M 0 5 L 10 10 L 10 0 z"/></marker><marker orient="auto" markerHeight="11" markerWidth="11" markerUnits="userSpaceOnUse" refY="5" refX="11" viewBox="0 0 10 10" class="marker flowchart" id="my-svg_flowchart-circleEnd"><circle style="stroke-width: 1; stroke-dasharray: 1, 0;" class="arrowMarkerPath" r="5" cy="5" cx="5"/></marker><marker orient="auto" markerHeight="11" markerWidth="11" markerUnits="userSpaceOnUse" refY="5" refX="-1" viewBox="0 0 10 10" class="marker flowchart" id="my-svg_flowchart-circleStart"><circle style="stroke-width: 1; stroke-dasharray: 1, 0;" class="arrowMarkerPath" r="5" cy="5" cx="5"/></marker><marker orient="auto" markerHeight="11" markerWidth="11" markerUnits="userSpaceOnUse" refY="5.2" refX="12" viewBox="0 0 11 11" class="marker cross flowchart" id="my-svg_flowchart-crossEnd"><path style="stroke-width: 2; stroke-dasharray: 1, 0;" class="arrowMarkerPath" d="M 1,1 l 9,9 M 10,1 l -9,9"/></marker><marker orient="auto" markerHeight="11" markerWidth="11" markerUnits="userSpaceOnUse" refY="5.2" refX="-1" viewBox="0 0 11 11" class="marker cross flowchart" id="my-svg_flowchart-crossStart"><path style="stroke-width: 2; stroke-dasharray: 1, 0;" class="arrowMarkerPath" d="M 1,1 l 9,9 M 10,1 l -9,9"/></marker><g class="root"><g class="clusters"/><g class="edgePaths"/><g class="edgeLabels"/><g class="nodes"/></g></g></svg>
8
+ */
9
+ import type { EmptyObject } from '../../../../framework-types/BaseTypes';
10
+ import type { AdvertisingBasePackageExports } from './Types';
11
+ export declare const AdvertisingBasePackage: import("../../../../framework-types/package-api/Package").Package<EmptyObject, AdvertisingBasePackageExports, EmptyObject>;
12
+ export default AdvertisingBasePackage;
@@ -0,0 +1,22 @@
1
+ import type { EmptyObject } from '../../../../framework-types/BaseTypes';
2
+ import type { PrimitiveAtom } from '../../core/state/PrimitiveAtom';
3
+ import type { StateAtom } from '../../core/state/Types';
4
+ import type { Transient } from '../../core/utils/StateUtils';
5
+ import type { AdPosition } from './AdPosition';
6
+ import type { AdQuartile, AdvertisingBaseContext } from './Types';
7
+ import { BaseAdState } from './Types';
8
+ type AdState = {
9
+ id: string;
10
+ position: AdPosition;
11
+ isSkippable: PrimitiveAtom<boolean>;
12
+ skipDelay: PrimitiveAtom<number>;
13
+ quartile: PrimitiveAtom<AdQuartile | undefined>;
14
+ state: PrimitiveAtom<BaseAdState>;
15
+ error: PrimitiveAtom<Error | undefined>;
16
+ sourcePreloadOffset: PrimitiveAtom<number>;
17
+ skip: Transient<void>;
18
+ clicked: Transient<string | undefined>;
19
+ };
20
+ export type BaseAdAtom = StateAtom<AdState, EmptyObject>;
21
+ export declare function createBaseAdAtom(context: AdvertisingBaseContext, id: string, position: AdPosition, adSkipDelay: number, preloadOffset: number): BaseAdAtom;
22
+ export {};
@@ -0,0 +1,29 @@
1
+ import type { EmptyObject } from '../../../../framework-types/BaseTypes';
2
+ import type { ContextHaving } from '../../../../framework-types/execution-context/Types';
3
+ import type { ArrayAtom } from '../../core/state/ArrayStateAtom';
4
+ import type { PrimitiveAtom } from '../../core/state/PrimitiveAtom';
5
+ import type { StateAtom } from '../../core/state/Types';
6
+ import type { CoreStateAtoms } from '../../core/Types';
7
+ import { CoreExportNames } from '../../core/Types';
8
+ import type { ContextWithState } from '../../Types';
9
+ import type { AdPosition } from './AdPosition';
10
+ import type { AdTagAtom } from './AdTagAtom';
11
+ import type { BaseAdAtom } from './BaseAdAtom';
12
+ import type { PreloadConfigAtom } from './PreloadConfigAtom';
13
+ import type { AdType } from './Types';
14
+ import { BaseAdBreakState } from './Types';
15
+ type BaseAdBreak = {
16
+ id: string;
17
+ position: AdPosition;
18
+ tag: AdTagAtom;
19
+ state: PrimitiveAtom<BaseAdBreakState>;
20
+ ads: ArrayAtom<BaseAdAtom>;
21
+ preloadConfig: PreloadConfigAtom;
22
+ error: PrimitiveAtom<Error | undefined>;
23
+ };
24
+ export type BaseAdBreakAtom = StateAtom<BaseAdBreak, EmptyObject>;
25
+ type Context = ContextHaving<{
26
+ [CoreExportNames.CoreStateAtoms]: CoreStateAtoms;
27
+ }, EmptyObject, ContextWithState>;
28
+ export declare function createBaseAdBreakAtom(context: Context, id: string, scheduledPosition: string | number | undefined, tagType: AdType, url: string, adManifestPreloadOffset?: number, adSourcePreloadOffset?: number): BaseAdBreakAtom;
29
+ export {};
@@ -0,0 +1,17 @@
1
+ import type { EmptyObject } from '../../../../framework-types/BaseTypes';
2
+ import type { ContextHaving } from '../../../../framework-types/execution-context/Types';
3
+ import type { PrimitiveAtom } from '../../core/state/PrimitiveAtom';
4
+ import type { StateAtom } from '../../core/state/Types';
5
+ import type { CoreStateAtoms } from '../../core/Types';
6
+ import { CoreExportNames } from '../../core/Types';
7
+ import type { ContextWithState } from '../../Types';
8
+ type PreloadConfig = {
9
+ adManifestPreloadOffset: PrimitiveAtom<number>;
10
+ adSourcePreloadOffset: PrimitiveAtom<number>;
11
+ };
12
+ export type PreloadConfigAtom = StateAtom<PreloadConfig, EmptyObject>;
13
+ type Context = ContextHaving<{
14
+ [CoreExportNames.CoreStateAtoms]: CoreStateAtoms;
15
+ }, EmptyObject, ContextWithState>;
16
+ export declare function createPreloadConfigAtom(context: Context, adManifestPreloadOffset?: number, adSourcePreloadOffset?: number): PreloadConfigAtom;
17
+ export {};
@@ -0,0 +1,67 @@
1
+ import type { ContextHaving } from '../../../../framework-types/execution-context/Types';
2
+ import type { CoreEffects, CoreExportNames, CoreStateAtoms } from '../../core/Types';
3
+ import type { CoreUtils } from '../../core/utils/Types';
4
+ import type { SourceStateAtom } from '../../source/atoms/SourceStateAtom';
5
+ import type { SourceExportNames } from '../../source/Types';
6
+ import type { ContextWithState } from '../../Types';
7
+ import type { AdSchedule } from './AdSchedule';
8
+ import type { BaseAdAtom, createBaseAdAtom } from './BaseAdAtom';
9
+ import type { createBaseAdBreakAtom } from './BaseAdBreakAtom';
10
+ export declare enum AdType {
11
+ VAST = "vast",
12
+ VMAP = "vmap"
13
+ }
14
+ export declare enum AdQuartile {
15
+ FirstQuartile = "first-quartile",
16
+ Midpoint = "midpoint",
17
+ ThirdQuartile = "third-quartile"
18
+ }
19
+ export declare enum BaseAdBreakState {
20
+ Scheduled = "scheduled",
21
+ Loaded = "loaded",
22
+ Playing = "playing",
23
+ Error = "error",
24
+ Completed = "completed"
25
+ }
26
+ export declare enum BaseAdState {
27
+ Scheduled = "scheduled",
28
+ Playing = "playing",
29
+ Completed = "completed",
30
+ Skipped = "skipped",
31
+ Error = "error"
32
+ }
33
+ export type AdvertisingBasePackageDependencies = {
34
+ [CoreExportNames.CoreEffects]: CoreEffects;
35
+ [CoreExportNames.CoreStateAtoms]: CoreStateAtoms;
36
+ [CoreExportNames.Utils]: CoreUtils;
37
+ [SourceExportNames.SourceState]: SourceStateAtom;
38
+ };
39
+ export declare enum AdvertisingBaseExportNames {
40
+ AdType = "ad-type",
41
+ AdQuartile = "ad-quartile",
42
+ BaseAdBreakState = "base-ad-break-state",
43
+ BaseAdState = "base-ad-state",
44
+ CreateBaseAdBreak = "create-base-ad-break",
45
+ CreateBaseAd = "create-base-ad"
46
+ }
47
+ export type AdvertisingBasePackageExports = {
48
+ [AdvertisingBaseExportNames.AdType]: typeof AdType;
49
+ [AdvertisingBaseExportNames.AdQuartile]: typeof AdQuartile;
50
+ [AdvertisingBaseExportNames.BaseAdBreakState]: typeof BaseAdBreakState;
51
+ [AdvertisingBaseExportNames.BaseAdState]: typeof BaseAdState;
52
+ [AdvertisingBaseExportNames.CreateBaseAdBreak]: typeof createBaseAdBreakAtom;
53
+ [AdvertisingBaseExportNames.CreateBaseAd]: typeof createBaseAdAtom;
54
+ };
55
+ export type AdvertisingBaseContext = ContextHaving<AdvertisingBasePackageDependencies, AdvertisingBasePackageExports, ContextWithState>;
56
+ export declare enum ContentSourceExportNames {
57
+ AdSchedule = "ad-schedule"
58
+ }
59
+ export type ContentSourceAdExports = {
60
+ [ContentSourceExportNames.AdSchedule]: AdSchedule;
61
+ };
62
+ export declare enum AdSourceExportNames {
63
+ AssociatedAd = "associated-ad"
64
+ }
65
+ export type AdSourceAdExports = {
66
+ [AdSourceExportNames.AssociatedAd]: BaseAdAtom;
67
+ };
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @packageDocumentation AdvertisingBitmovin.package
3
+ *
4
+ * Provides Bitmovin advertising playback using @dailymotion/vast-client for VAST
5
+ * and a custom VMAP parser. Manages ad scheduling and playback by creating
6
+ * separate ad sources and controlling the video element.
7
+ *
8
+ * ### `AdvertisingBitmovin` Package Dependency Graph
9
+ * <svg aria-roledescription="flowchart-v2" role="graphics-document document" viewBox="-8 -8 514.09375 385.25" style="max-width: 514.094px; 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-AdvertisingBitmovin LE-Source" id="L-AdvertisingBitmovin-Source-0" d="M88.33,160.25L103.691,136.292C119.053,112.333,149.777,64.417,173.832,40.458C197.887,16.5,215.274,16.5,223.967,16.5L232.661,16.5"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-AdvertisingBitmovin LE-SourcesApi" id="L-AdvertisingBitmovin-SourcesApi-0" d="M99.697,160.25L113.164,150.125C126.631,140,153.566,119.75,173.133,109.625C192.699,99.5,204.899,99.5,210.999,99.5L217.098,99.5"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-AdvertisingBitmovin LE-Network" id="L-AdvertisingBitmovin-Network-0" d="M93.34,193.25L107.866,208.625C122.393,224,151.447,254.75,174.001,270.125C196.556,285.5,212.612,285.5,220.641,285.5L228.669,285.5"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-AdvertisingBitmovin LE-AdvertisingBase" id="L-AdvertisingBitmovin-AdvertisingBase-0" d="M143.59,193.25L149.742,194.792C155.893,196.333,168.197,199.417,177.632,200.958C187.067,202.5,193.633,202.5,196.917,202.5L200.2,202.5"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-AdvertisingBitmovin LE-Adaptation" id="L-AdvertisingBitmovin-Adaptation-0" d="M143.59,160.25L149.742,158.708C155.893,157.167,168.197,154.083,189.4,152.542C210.604,151,240.708,151,270.813,151C300.917,151,331.021,151,355.579,158.894C380.137,166.788,399.15,182.576,408.656,190.47L418.162,198.364"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-AdvertisingBitmovin LE-NoAdaptation" id="L-AdvertisingBitmovin-NoAdaptation-0" d="M88.33,193.25L103.691,217.208C119.053,241.167,149.777,289.083,180.19,313.042C210.604,337,240.708,337,270.813,337C300.917,337,331.021,337,349.372,337.642C367.724,338.283,374.323,339.567,377.623,340.209L380.922,340.85"/><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="M307.656,285.5L316.568,285.5C325.479,285.5,343.302,285.5,361.72,277.606C380.137,269.712,399.15,253.924,408.656,246.03L418.162,238.136"/><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="M290.103,302L301.94,312.125C313.777,322.25,337.451,342.5,352.578,352.219C367.705,361.937,374.285,361.125,377.575,360.719L380.865,360.312"/></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><g class="nodes"><g transform="translate(77.75, 176.75)" data-id="AdvertisingBitmovin" data-node="true" id="flowchart-AdvertisingBitmovin-0" class="node default default flowchart-label"><rect height="33" width="155.5" y="-16.5" x="-77.75" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-70.25, -9)" style="" class="label"><rect/><foreignObject height="18" width="140.5"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">AdvertisingBitmovin</span></div></foreignObject></g></g><g transform="translate(270.8125, 16.5)" data-id="Source" data-node="true" id="flowchart-Source-1" 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(270.8125, 99.5)" data-id="SourcesApi" data-node="true" id="flowchart-SourcesApi-3" class="node default default flowchart-label"><rect height="33" width="96.828125" y="-16.5" x="-48.4140625" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-40.9140625, -9)" style="" class="label"><rect/><foreignObject height="18" width="81.828125"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">SourcesApi</span></div></foreignObject></g></g><g transform="translate(270.8125, 285.5)" 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(270.8125, 202.5)" data-id="AdvertisingBase" data-node="true" id="flowchart-AdvertisingBase-7" class="node default default flowchart-label"><rect height="33" width="130.625" y="-16.5" x="-65.3125" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-57.8125, -9)" style="" class="label"><rect/><foreignObject height="18" width="115.625"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">AdvertisingBase</span></div></foreignObject></g></g><g transform="translate(442.109375, 218.25)" 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(442.109375, 352.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></g></g></svg>
10
+ */
11
+ import type { EmptyObject } from '../../../../framework-types/BaseTypes';
12
+ import type { AdvertisingBitmovinPackageDependencies, AdvertisingBitmovinPackageExports } from './Types';
13
+ export declare const AdvertisingBitmovinPackage: import("../../../../framework-types/package-api/Package").Package<AdvertisingBitmovinPackageDependencies, AdvertisingBitmovinPackageExports, EmptyObject>;
14
+ export default AdvertisingBitmovinPackage;
@@ -0,0 +1,46 @@
1
+ import type { ContextHaving } from '../../../../framework-types/execution-context/Types';
2
+ import type { AdaptationExportNames } from '../../adaptation/Types';
3
+ import type { Constants } from '../../core/Constants';
4
+ import type { MetricsAtom } from '../../core/metrics/MetricsAtom';
5
+ import type { CoreEffects, CoreExportNames, CoreStateAtoms } from '../../core/Types';
6
+ import type { CoreUtils } from '../../core/utils/Types';
7
+ import type { NetworkTask } from '../../network/NetworkTask';
8
+ import type { NetworkExportNames } from '../../network/Types';
9
+ import type { TargetPlaybackState, TargetPlaybackStateAtom } from '../../playback/play-pause/TargetPlaybackStateAtom';
10
+ import type { PlayPauseExportNames } from '../../playback/play-pause/Types';
11
+ import type { SeekRestrictionAtom } from '../../playback/video-element-state/SeekRestrictionAtom';
12
+ import type { VideoElementStateExportNames } from '../../playback/video-element-state/Types';
13
+ import type { VideoElementStateAtom } from '../../playback/video-element-state/VideoElementStateAtom';
14
+ import type { SourceStateAtom } from '../../source/atoms/SourceStateAtom';
15
+ import type { createSourceReference } from '../../source/SourceReference';
16
+ import type { SourceExportNames, SourceReferences } from '../../source/Types';
17
+ import type { SourceRemovedError } from '../../sources-api/SourceRemovedError';
18
+ import type { SourcesApiExportNames } from '../../sources-api/Types';
19
+ import type { ContextWithState } from '../../Types';
20
+ import type { createBaseAdAtom } from '../base/BaseAdAtom';
21
+ import type { createBaseAdBreakAtom } from '../base/BaseAdBreakAtom';
22
+ import type { AdQuartile, AdSourceAdExports, AdType, AdvertisingBaseExportNames, BaseAdBreakState, BaseAdState, ContentSourceAdExports } from '../base/Types';
23
+ export type AdvertisingBitmovinPackageDependencies = {
24
+ [CoreExportNames.CoreEffects]: CoreEffects;
25
+ [CoreExportNames.CoreStateAtoms]: CoreStateAtoms;
26
+ [CoreExportNames.Utils]: CoreUtils;
27
+ [CoreExportNames.Constants]: Constants;
28
+ [SourceExportNames.SourceState]: SourceStateAtom;
29
+ [SourceExportNames.CreateSourceReference]: typeof createSourceReference;
30
+ [SourceExportNames.SourceReferences]: SourceReferences;
31
+ [SourcesApiExportNames.SourceRemovedError]: typeof SourceRemovedError;
32
+ [VideoElementStateExportNames.VideoElementState]: VideoElementStateAtom;
33
+ [VideoElementStateExportNames.SeekRestriction]: SeekRestrictionAtom;
34
+ [NetworkExportNames.NetworkTask]: typeof NetworkTask;
35
+ [AdaptationExportNames.Metrics]: MetricsAtom;
36
+ [PlayPauseExportNames.TargetPlaybackState]: typeof TargetPlaybackState;
37
+ [PlayPauseExportNames.TargetPlaybackStateAtom]: TargetPlaybackStateAtom;
38
+ [AdvertisingBaseExportNames.AdType]: typeof AdType;
39
+ [AdvertisingBaseExportNames.AdQuartile]: typeof AdQuartile;
40
+ [AdvertisingBaseExportNames.BaseAdBreakState]: typeof BaseAdBreakState;
41
+ [AdvertisingBaseExportNames.BaseAdState]: typeof BaseAdState;
42
+ [AdvertisingBaseExportNames.CreateBaseAdBreak]: typeof createBaseAdBreakAtom;
43
+ [AdvertisingBaseExportNames.CreateBaseAd]: typeof createBaseAdAtom;
44
+ };
45
+ export type AdvertisingBitmovinPackageExports = ContentSourceAdExports & AdSourceAdExports;
46
+ export type AdvertisingBitmovinContext = ContextHaving<AdvertisingBitmovinPackageDependencies, AdvertisingBitmovinPackageExports, ContextWithState>;
@@ -0,0 +1,15 @@
1
+ /**
2
+ * @packageDocumentation Analytics.package
3
+ *
4
+ * Analytics package enables Bitmovin Analytics Collector.
5
+ *
6
+ * Collector features are limited based on what API's are available on the PWX.
7
+ *
8
+ * ### `Analytics` Package Dependency Graph
9
+ * <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>
10
+ */
11
+ import type { EmptyObject } from '../../../framework-types/BaseTypes';
12
+ import type { Package } from '../../../framework-types/package-api/Package';
13
+ import type { AnalyticsPackageDependencies } from './Types';
14
+ export declare const AnalyticsPackage: Package<AnalyticsPackageDependencies, EmptyObject, EmptyObject>;
15
+ export default AnalyticsPackage;
@@ -0,0 +1,20 @@
1
+ import type { EmptyObject } from '../../../framework-types/BaseTypes';
2
+ import type { BundleExportNames, PlayerConfig } from '../../bundles/Types';
3
+ import type { Constants } from '../core/Constants';
4
+ import type { CoreEffects, CoreExportNames, CoreStateAtoms } from '../core/Types';
5
+ import type { EventBus } from '../event-bus/Types';
6
+ import type { PlaybackEvent, PlaybackEventMap } from '../playback-api/playback-api-events/events/PlaybackEventMap';
7
+ import type { PlaybackApiEventsPackageExportNames } from '../playback-api/playback-api-events/Types';
8
+ import type { SourceStateAtom } from '../source/atoms/SourceStateAtom';
9
+ import type { SourceExportNames } from '../source/Types';
10
+ import type { SourcesApiExportNames } from '../sources-api/Types';
11
+ export type AnalyticsPackageDependencies = {
12
+ [BundleExportNames.PlayerConfig]: PlayerConfig;
13
+ [CoreExportNames.Constants]: Constants;
14
+ [CoreExportNames.CoreEffects]: CoreEffects;
15
+ [CoreExportNames.CoreStateAtoms]: CoreStateAtoms;
16
+ [SourceExportNames.SourceState]: SourceStateAtom;
17
+ [SourcesApiExportNames.SourceEventBus]: EventBus<PlaybackEventMap>;
18
+ [PlaybackApiEventsPackageExportNames.PlaybackEvent]: typeof PlaybackEvent;
19
+ };
20
+ export type AnalyticsPackageExports = EmptyObject;
@@ -9,7 +9,7 @@
9
9
  * - *typeSupported* Verifies if passed `MediaType` is supported.
10
10
  *
11
11
  * ### `Capabilities` Package Dependency Graph
12
- * <svg aria-roledescription="flowchart-v2" role="graphics-document document" viewBox="-8 -8 213.40625 49" style="max-width: 213.406px; 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-Capabilities LE-Core" id="L-Capabilities-Core-0" d="M97.719,16.5L101.885,16.5C106.052,16.5,114.385,16.5,121.835,16.5C129.285,16.5,135.852,16.5,139.135,16.5L142.419,16.5"/></g><g class="edgeLabels"><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g></g><g class="nodes"><g transform="translate(48.859375, 16.5)" data-id="Capabilities" data-node="true" id="flowchart-Capabilities-0" 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(172.5625, 16.5)" data-id="Core" data-node="true" id="flowchart-Core-1" class="node default default flowchart-label"><rect height="33" width="49.6875" y="-16.5" x="-24.84375" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-17.34375, -9)" style="" class="label"><rect/><foreignObject height="18" width="34.6875"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">Core</span></div></foreignObject></g></g></g></g></g></svg>
12
+ * <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>
13
13
  */
14
14
  import type { EmptyObject } from '../../Types';
15
15
  import type { Constants } from '../core/Constants';
@@ -1,8 +1,11 @@
1
- import type { ContainerFormat } from '../core/state/segment/SegmentDataAtom';
1
+ import type { ContainerFormat } from '../stream-data-structure/segment/SegmentDataAtom';
2
2
  export interface PlatformCapabilities {
3
+ managedMediaSourceSupported(): boolean;
3
4
  mediaSourceSupported(): boolean;
4
5
  typeSupported(mimeType: string): boolean;
5
- isContainerSupported(container: ContainerFormat): boolean;
6
+ isContainerSupported(container: ContainerFormat, index?: number, array?: ContainerFormat[]): boolean;
7
+ hlsSupported(): boolean;
8
+ progressiveSupported(): boolean;
6
9
  }
7
10
  export declare enum CapabilitiesExportNames {
8
11
  PlatformCapabilities = "platform-capabilities"