@bitmovin/player-web-x 10.0.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 (255) hide show
  1. package/COMPAT.md +201 -0
  2. package/README.md +196 -0
  3. package/bundles/playerx-bitmovin-v8-core.d.ts +1 -0
  4. package/bundles/playerx-bitmovin-v8-core.js +10 -0
  5. package/bundles/playerx-bitmovin-v8.d.ts +1 -0
  6. package/bundles/playerx-bitmovin-v8.js +10 -0
  7. package/bundles/playerx-core.d.ts +1 -0
  8. package/bundles/playerx-core.js +10 -0
  9. package/bundles/playerx-dash.d.ts +1 -0
  10. package/bundles/playerx-dash.js +10 -0
  11. package/bundles/playerx-hls.d.ts +1 -0
  12. package/bundles/playerx-hls.js +10 -0
  13. package/bundles/playerx-playlist.d.ts +1 -0
  14. package/bundles/playerx-playlist.js +10 -0
  15. package/bundles/playerx-tv.d.ts +1 -0
  16. package/bundles/playerx-tv.js +10 -0
  17. package/framework-types/BaseTypes.d.ts +15 -0
  18. package/framework-types/Types.d.ts +11 -0
  19. package/framework-types/abortable/Abortable.d.ts +29 -0
  20. package/framework-types/abortable/Types.d.ts +10 -0
  21. package/framework-types/api-manager/ApiManager.d.ts +10 -0
  22. package/framework-types/api-manager/Errors.d.ts +5 -0
  23. package/framework-types/data-structures/MapWithDefault.d.ts +3 -0
  24. package/framework-types/data-structures/Types.d.ts +3 -0
  25. package/framework-types/effect/EffectFactory.d.ts +4 -0
  26. package/framework-types/effect/Types.d.ts +7 -0
  27. package/framework-types/effects/AbortableEffect.d.ts +4 -0
  28. package/framework-types/effects/LoopEffect.d.ts +3 -0
  29. package/framework-types/effects/TimeoutEffect.d.ts +4 -0
  30. package/framework-types/error/FrameworkDisposedError.d.ts +5 -0
  31. package/framework-types/error/FrameworkError.d.ts +4 -0
  32. package/framework-types/event-bus/EventBus.d.ts +11 -0
  33. package/framework-types/execution-context/ExecutionContext.d.ts +25 -0
  34. package/framework-types/execution-context/Types.d.ts +11 -0
  35. package/framework-types/framework.d.ts +7 -0
  36. package/framework-types/index.d.ts +1 -0
  37. package/framework-types/package-api/Package.d.ts +10 -0
  38. package/framework-types/package-api/PackageApi.d.ts +11 -0
  39. package/framework-types/package-api/PackageApiUtils.d.ts +7 -0
  40. package/framework-types/polyfills/AbortController.d.ts +1 -0
  41. package/framework-types/polyfills/FlatMap.d.ts +1 -0
  42. package/framework-types/polyfills/Polyfills.d.ts +1 -0
  43. package/framework-types/registry/Registry.d.ts +44 -0
  44. package/framework-types/registry/RegistryInterface.d.ts +9 -0
  45. package/framework-types/task/Task.d.ts +4 -0
  46. package/framework-types/task/TaskUtils.d.ts +3 -0
  47. package/framework-types/task/Types.d.ts +13 -0
  48. package/framework-types/thread/Thread.d.ts +45 -0
  49. package/framework-types/thread/ThreadEventBus.d.ts +22 -0
  50. package/framework-types/utils/Deferred.d.ts +8 -0
  51. package/framework-types/utils/StringUtils.d.ts +1 -0
  52. package/framework-types/utils/debug/thread/ThreadDecorator.d.ts +2 -0
  53. package/package.json +31 -0
  54. package/packages/playerx-adaptation.package.d.ts +1 -0
  55. package/packages/playerx-adaptation.package.js +10 -0
  56. package/packages/playerx-bitmovin-source-api.package.d.ts +1 -0
  57. package/packages/playerx-bitmovin-source-api.package.js +10 -0
  58. package/packages/playerx-bitmovin-ui.package.d.ts +1 -0
  59. package/packages/playerx-bitmovin-ui.package.js +10 -0
  60. package/packages/playerx-bitmovin-v8-core.package.d.ts +1 -0
  61. package/packages/playerx-bitmovin-v8-core.package.js +10 -0
  62. package/packages/playerx-bitmovin-v8-static-api.package.d.ts +1 -0
  63. package/packages/playerx-bitmovin-v8-static-api.package.js +10 -0
  64. package/packages/playerx-bitmovin-video-element-utils.package.d.ts +1 -0
  65. package/packages/playerx-bitmovin-video-element-utils.package.js +10 -0
  66. package/packages/playerx-capabilities.package.d.ts +1 -0
  67. package/packages/playerx-capabilities.package.js +10 -0
  68. package/packages/playerx-container-mp4.package.d.ts +1 -0
  69. package/packages/playerx-container-mp4.package.js +10 -0
  70. package/packages/playerx-container-ts.package.d.ts +1 -0
  71. package/packages/playerx-container-ts.package.js +10 -0
  72. package/packages/playerx-core.package.d.ts +1 -0
  73. package/packages/playerx-core.package.js +10 -0
  74. package/packages/playerx-dash-parsing.package.d.ts +1 -0
  75. package/packages/playerx-dash-parsing.package.js +10 -0
  76. package/packages/playerx-dash-translation.package.d.ts +1 -0
  77. package/packages/playerx-dash-translation.package.js +10 -0
  78. package/packages/playerx-dash.package.d.ts +1 -0
  79. package/packages/playerx-dash.package.js +10 -0
  80. package/packages/playerx-data.package.d.ts +1 -0
  81. package/packages/playerx-data.package.js +10 -0
  82. package/packages/playerx-hls-parsing.package.d.ts +1 -0
  83. package/packages/playerx-hls-parsing.package.js +10 -0
  84. package/packages/playerx-hls-translation.package.d.ts +1 -0
  85. package/packages/playerx-hls-translation.package.js +10 -0
  86. package/packages/playerx-hls.package.d.ts +1 -0
  87. package/packages/playerx-hls.package.js +10 -0
  88. package/packages/playerx-network.package.d.ts +1 -0
  89. package/packages/playerx-network.package.js +10 -0
  90. package/packages/playerx-playback-state.package.d.ts +1 -0
  91. package/packages/playerx-playback-state.package.js +10 -0
  92. package/packages/playerx-playlist.package.d.ts +1 -0
  93. package/packages/playerx-playlist.package.js +10 -0
  94. package/packages/playerx-presentation.package.d.ts +1 -0
  95. package/packages/playerx-presentation.package.js +10 -0
  96. package/packages/playerx-resize-tracker.package.d.ts +1 -0
  97. package/packages/playerx-resize-tracker.package.js +10 -0
  98. package/packages/playerx-segment-processing.package.d.ts +1 -0
  99. package/packages/playerx-segment-processing.package.js +10 -0
  100. package/packages/playerx-source-api.package.d.ts +1 -0
  101. package/packages/playerx-source-api.package.js +10 -0
  102. package/packages/playerx-source.package.d.ts +1 -0
  103. package/packages/playerx-source.package.js +10 -0
  104. package/packages/playerx-sources-api.package.d.ts +1 -0
  105. package/packages/playerx-sources-api.package.js +10 -0
  106. package/packages/playerx-trick-play.package.d.ts +1 -0
  107. package/packages/playerx-trick-play.package.js +10 -0
  108. package/packages/playerx-ts-transmuxer.package.d.ts +1 -0
  109. package/packages/playerx-ts-transmuxer.package.js +10 -0
  110. package/packages/playerx-tv.package.d.ts +1 -0
  111. package/packages/playerx-tv.package.js +10 -0
  112. package/playerx-framework-utils.d.ts +1 -0
  113. package/playerx-framework-utils.js +10 -0
  114. package/types/BaseTypes.d.ts +19 -0
  115. package/types/bundles/BitmovinV8.bundle.d.ts +45 -0
  116. package/types/bundles/BitmovinV8Core.bundle.d.ts +27 -0
  117. package/types/bundles/Core.bundle.d.ts +18 -0
  118. package/types/bundles/Dash.bundle.d.ts +36 -0
  119. package/types/bundles/Hls.bundle.d.ts +38 -0
  120. package/types/bundles/Playlist.bundle.d.ts +16 -0
  121. package/types/bundles/Tv.bundle.d.ts +33 -0
  122. package/types/bundles/Types.d.ts +13 -0
  123. package/types/framework/FrameworkUtils.d.ts +3 -0
  124. package/types/framework/Types.d.ts +46 -0
  125. package/types/framework/core/Types.d.ts +8 -0
  126. package/types/framework/core/adaptation/Adaptation.package.d.ts +102 -0
  127. package/types/framework/core/adaptation/AdaptationStateAtom.d.ts +36 -0
  128. package/types/framework/core/adaptation/RingBufferAtom.d.ts +16 -0
  129. package/types/framework/core/adaptation/WishConfigAtom.d.ts +43 -0
  130. package/types/framework/core/adaptation/WishDataAtom.d.ts +14 -0
  131. package/types/framework/core/capabilities/Capabilities.package.d.ts +39 -0
  132. package/types/framework/core/capabilities/Types.d.ts +9 -0
  133. package/types/framework/core/container/container-mp4/ContainerMp4.package.d.ts +52 -0
  134. package/types/framework/core/container/container-ts/ContainerTs.package.d.ts +49 -0
  135. package/types/framework/core/container/ts-transmuxer/TsTransmuxer.package.d.ts +50 -0
  136. package/types/framework/core/core/Constants.d.ts +21 -0
  137. package/types/framework/core/core/Core.package.d.ts +144 -0
  138. package/types/framework/core/core/FrameworkError.d.ts +4 -0
  139. package/types/framework/core/core/effects/EventListenerEffectFactory.d.ts +28 -0
  140. package/types/framework/core/core/metrics/MetricsAtom.d.ts +19 -0
  141. package/types/framework/core/core/metrics/network/NetworkSampleAtom.d.ts +30 -0
  142. package/types/framework/core/core/network/NetworkAtom.d.ts +21 -0
  143. package/types/framework/core/core/state/ArrayStateAtom.d.ts +21 -0
  144. package/types/framework/core/core/state/MapStateAtom.d.ts +8 -0
  145. package/types/framework/core/core/state/PrimitiveAtom.d.ts +9 -0
  146. package/types/framework/core/core/state/StoreEffectFactory.d.ts +5 -0
  147. package/types/framework/core/core/state/Symbols.d.ts +2 -0
  148. package/types/framework/core/core/state/Types.d.ts +26 -0
  149. package/types/framework/core/core/state/codec-map/CodecMapAtom.d.ts +15 -0
  150. package/types/framework/core/core/state/data-ranges/DataRangesAtom.d.ts +30 -0
  151. package/types/framework/core/core/state/data-stream/DataStreamAtom.d.ts +27 -0
  152. package/types/framework/core/core/state/segment/SegmentAtom.d.ts +74 -0
  153. package/types/framework/core/core/state/segment/SegmentDataAtom.d.ts +32 -0
  154. package/types/framework/core/core/state/segment/SegmentTimingAtom.d.ts +20 -0
  155. package/types/framework/core/core/state/segment/SegmentTypeGuards.d.ts +4 -0
  156. package/types/framework/core/core/state/segment/SegmentUtils.d.ts +10 -0
  157. package/types/framework/core/core/state/selection-group/SelectionGroupAtom.d.ts +68 -0
  158. package/types/framework/core/core/state/selection-group/SelectionGroupTypeGuards.d.ts +4 -0
  159. package/types/framework/core/core/state/selection-group/SelectionGroupUtils.d.ts +7 -0
  160. package/types/framework/core/core/state/state-effect/StateEffectFactory.d.ts +26 -0
  161. package/types/framework/core/core/state/state-effect/Types.d.ts +8 -0
  162. package/types/framework/core/core/state/stream/StreamAtom.d.ts +64 -0
  163. package/types/framework/core/core/state/stream-timeline/StreamSectionAtom.d.ts +21 -0
  164. package/types/framework/core/core/state/stream-timeline/StreamSequenceMapAtom.d.ts +7 -0
  165. package/types/framework/core/core/state/stream-timeline/StreamTimelineMapAtom.d.ts +5 -0
  166. package/types/framework/core/core/state/track/TrackAtom.d.ts +81 -0
  167. package/types/framework/core/core/state/track/TrackTypeGuards.d.ts +5 -0
  168. package/types/framework/core/core/utils/ArrayHelper.d.ts +24 -0
  169. package/types/framework/core/core/utils/CodecStringHelper.d.ts +47 -0
  170. package/types/framework/core/core/utils/FormatError.d.ts +5 -0
  171. package/types/framework/core/core/utils/Logger.d.ts +40 -0
  172. package/types/framework/core/core/utils/RangesHelper.d.ts +20 -0
  173. package/types/framework/core/core/utils/StateUtils.d.ts +39 -0
  174. package/types/framework/core/core/utils/StringHelper.d.ts +13 -0
  175. package/types/framework/core/core/utils/TypedArrayHelper.d.ts +5 -0
  176. package/types/framework/core/core/utils/Types.d.ts +20 -0
  177. package/types/framework/core/core/utils/UrlHelper.d.ts +15 -0
  178. package/types/framework/core/data/Data.package.d.ts +124 -0
  179. package/types/framework/core/manifest/dash/parsing/DashParsing.package.d.ts +34 -0
  180. package/types/framework/core/manifest/dash/parsing/DashParsingTask.d.ts +2 -0
  181. package/types/framework/core/manifest/dash/parsing/Errors.d.ts +4 -0
  182. package/types/framework/core/manifest/dash/parsing/Types.d.ts +8 -0
  183. package/types/framework/core/manifest/dash/root/Dash.package.d.ts +119 -0
  184. package/types/framework/core/manifest/dash/root/ManifestLoadTask.d.ts +3 -0
  185. package/types/framework/core/manifest/dash/root/Types.d.ts +3 -0
  186. package/types/framework/core/manifest/dash/translation/DashTranslation.package.d.ts +48 -0
  187. package/types/framework/core/manifest/dash/translation/Types.d.ts +3 -0
  188. package/types/framework/core/manifest/dash/translation/manifests/DashPlaylistTranslatorTask.d.ts +3 -0
  189. package/types/framework/core/manifest/hls/parsing/Errors.d.ts +7 -0
  190. package/types/framework/core/manifest/hls/parsing/HlsParsing.package.d.ts +38 -0
  191. package/types/framework/core/manifest/hls/parsing/HlsParsingFunctions.d.ts +16 -0
  192. package/types/framework/core/manifest/hls/parsing/HlsParsingTask.d.ts +2 -0
  193. package/types/framework/core/manifest/hls/parsing/Types.d.ts +272 -0
  194. package/types/framework/core/manifest/hls/parsing/m3u8/AbstractStream.d.ts +9 -0
  195. package/types/framework/core/manifest/hls/parsing/m3u8/DefaultTagParsers.d.ts +6 -0
  196. package/types/framework/core/manifest/hls/parsing/m3u8/TranslatorStream.d.ts +59 -0
  197. package/types/framework/core/manifest/hls/root/Hls.package.d.ts +128 -0
  198. package/types/framework/core/manifest/hls/root/ManifestLoadTask.d.ts +3 -0
  199. package/types/framework/core/manifest/hls/root/Types.d.ts +3 -0
  200. package/types/framework/core/manifest/hls/translation/HlsTranslation.package.d.ts +51 -0
  201. package/types/framework/core/manifest/hls/translation/Types.d.ts +14 -0
  202. package/types/framework/core/manifest/hls/translation/manifests/HlsMultivariantPlaylistTranslatorTask.d.ts +4 -0
  203. package/types/framework/core/manifest/hls/translation/manifests/HlsVariantTranslationTask.d.ts +11 -0
  204. package/types/framework/core/network/FetchTask.d.ts +5 -0
  205. package/types/framework/core/network/Network.package.d.ts +79 -0
  206. package/types/framework/core/network/NetworkMessageTypes.d.ts +44 -0
  207. package/types/framework/core/network/NetworkTask.d.ts +12 -0
  208. package/types/framework/core/network/Types.d.ts +70 -0
  209. package/types/framework/core/presentation/Presentation.package.d.ts +122 -0
  210. package/types/framework/core/segment-processing/Errors.d.ts +8 -0
  211. package/types/framework/core/segment-processing/SegmentProcessing.package.d.ts +31 -0
  212. package/types/framework/core/segment-processing/SegmentProcessingComponent.d.ts +2 -0
  213. package/types/framework/core/segment-processing/Types.d.ts +95 -0
  214. package/types/framework/core/source/Source.package.d.ts +108 -0
  215. package/types/framework/core/source/SourceThread.d.ts +2 -0
  216. package/types/framework/core/source/atoms/BufferConfigAtom.d.ts +24 -0
  217. package/types/framework/core/source/atoms/MediaTypeMapAtom.d.ts +14 -0
  218. package/types/framework/core/source/atoms/PlaybackAtom.d.ts +17 -0
  219. package/types/framework/core/source/atoms/PlayheadAtom.d.ts +16 -0
  220. package/types/framework/core/source/atoms/SourceStateAtom.d.ts +47 -0
  221. package/types/framework/core/source/atoms/StartupOptionsAtom.d.ts +17 -0
  222. package/types/framework/core/source/atoms/VideoElementAtom.d.ts +12 -0
  223. package/types/framework/core/source-api/SourceApi.package.d.ts +56 -0
  224. package/types/framework/core/source-api/Types.d.ts +8 -0
  225. package/types/framework/core/sources-api/PlaybackApi.d.ts +9 -0
  226. package/types/framework/core/sources-api/SourcesApi.package.d.ts +67 -0
  227. package/types/framework/core/sources-api/Types.d.ts +17 -0
  228. package/types/framework/core/sources-api/VideoElementUtils.d.ts +8 -0
  229. package/types/framework/core/trick-play/TrickPlay.package.d.ts +71 -0
  230. package/types/framework/player/bitmovin-v8-compat/BitmovinUi.package.d.ts +27 -0
  231. package/types/framework/player/bitmovin-v8-compat/BitmovinV8Core.package.d.ts +28 -0
  232. package/types/framework/player/bitmovin-v8-compat/BitmovinV8StaticApi.package.d.ts +54 -0
  233. package/types/framework/player/bitmovin-v8-compat/apis/BufferApi.d.ts +4 -0
  234. package/types/framework/player/bitmovin-v8-compat/apis/DrmApi.d.ts +3 -0
  235. package/types/framework/player/bitmovin-v8-compat/apis/ManifestApi.d.ts +4 -0
  236. package/types/framework/player/bitmovin-v8-compat/apis/SubtitleApi.d.ts +9 -0
  237. package/types/framework/player/bitmovin-v8-compat/enums/PlayerExports.d.ts +384 -0
  238. package/types/framework/player/bitmovin-v8-compat/event-handling/EventListenerAtom.d.ts +16 -0
  239. package/types/framework/player/bitmovin-v8-compat/source-api/BitmovinSourceApi.package.d.ts +83 -0
  240. package/types/framework/player/bitmovin-v8-compat/types/AdvertisingConfig.d.ts +87 -0
  241. package/types/framework/player/bitmovin-v8-compat/types/DrmConfig.d.ts +90 -0
  242. package/types/framework/player/bitmovin-v8-compat/types/NetworkConfig.d.ts +58 -0
  243. package/types/framework/player/bitmovin-v8-compat/types/PlayerConfig.d.ts +419 -0
  244. package/types/framework/player/bitmovin-v8-compat/types/Types.d.ts +191 -0
  245. package/types/framework/player/bitmovin-v8-compat/video-element/BitmovinVideoElementUtils.package.d.ts +42 -0
  246. package/types/framework/player/playback-state/PlaybackState.package.d.ts +72 -0
  247. package/types/framework/player/playback-state/PlaybackStateAtom.d.ts +40 -0
  248. package/types/framework/player/playback-state/Types.d.ts +7 -0
  249. package/types/framework/player/playback-state/VideoElementStateAtom.d.ts +9 -0
  250. package/types/framework/player/playlist/Playlist.package.d.ts +63 -0
  251. package/types/framework/player/resize-tracker/ResizeObserverEffectFactory.d.ts +11 -0
  252. package/types/framework/player/resize-tracker/ResizeTracker.package.d.ts +73 -0
  253. package/types/framework/player/resize-tracker/ResizeTrackerStateAtom.d.ts +9 -0
  254. package/types/framework/player/resize-tracker/VideoElementStateAtom.d.ts +9 -0
  255. package/types/framework/player/tv/Tv.package.d.ts +59 -0
@@ -0,0 +1,14 @@
1
+ import type { ContextHaving } from '../../../../../framework-types/execution-context/Types';
2
+ import type { EmptyObject } from '../../../../BaseTypes';
3
+ import { ComponentName } from '../../../Types';
4
+ import type { MediaType } from '../../core/Constants';
5
+ import type { CoreStateAtoms } from '../../core/Core.package';
6
+ import type { ArrayAtom } from '../../core/state/ArrayStateAtom';
7
+ import type { MapStateAtom } from '../../core/state/MapStateAtom';
8
+ import type { ContextWithState } from '../../Types';
9
+ type ContextT = ContextHaving<{
10
+ [ComponentName.CoreStateAtoms]: CoreStateAtoms;
11
+ }, EmptyObject, ContextWithState>;
12
+ export type MediaTypeMapAtom = MapStateAtom<MediaType, ArrayAtom<string>>;
13
+ export declare function createMediaTypeMapAtom(context: ContextT, ...activeMediaTypes: MediaType[]): MediaTypeMapAtom;
14
+ export {};
@@ -0,0 +1,17 @@
1
+ import type { ContextWithState } from '../../Types';
2
+ import type { PlayheadAtom } from './PlayheadAtom';
3
+ export declare enum PlaybackState {
4
+ Initial = "initial",
5
+ CanPlay = "can-play",
6
+ Playing = "can-play"
7
+ }
8
+ interface Playback {
9
+ state: PlaybackState;
10
+ playhead: PlayheadAtom;
11
+ }
12
+ declare function setState(playback: Playback, state: PlaybackState): boolean;
13
+ export type PlaybackAtom = ReturnType<typeof createPlaybackAtom>;
14
+ export declare function createPlaybackAtom(context: ContextWithState): import("../../core/state/Types").StateAtom<Playback, {
15
+ setState: typeof setState;
16
+ }>;
17
+ export {};
@@ -0,0 +1,16 @@
1
+ import type { ContextWithState } from '../../Types';
2
+ interface Playhead {
3
+ position: number;
4
+ precision: number;
5
+ }
6
+ declare function setPrecision(playhead: Playhead, precision: number): boolean;
7
+ declare function setPosition(playhead: Playhead, position: number): boolean;
8
+ export type PlayheadAtom = ReturnType<typeof createPlayheadAtom>;
9
+ export declare function createPlayheadAtom(context: ContextWithState, basePlayhead?: Partial<Playhead>): import("../../core/state/Types").StateAtom<{
10
+ position: number;
11
+ precision: number;
12
+ }, {
13
+ setPrecision: typeof setPrecision;
14
+ setPosition: typeof setPosition;
15
+ }>;
16
+ export {};
@@ -0,0 +1,47 @@
1
+ import type { ContextHaving } from '../../../../../framework-types/execution-context/Types';
2
+ import type { EmptyObject } from '../../../../BaseTypes';
3
+ import { ComponentName } from '../../../Types';
4
+ import type { Constants } from '../../core/Constants';
5
+ import type { CoreStateAtoms } from '../../core/Core.package';
6
+ import type { ArrayAtom } from '../../core/state/ArrayStateAtom';
7
+ import type { DataRangesAtom } from '../../core/state/data-ranges/DataRangesAtom';
8
+ import type { SelectionGroupAtom } from '../../core/state/selection-group/SelectionGroupAtom';
9
+ import type { StreamAtom } from '../../core/state/stream/StreamAtom';
10
+ import type { TrackAtom } from '../../core/state/track/TrackAtom';
11
+ import { LogLevel } from '../../core/utils/Logger';
12
+ import type { CoreUtils } from '../../core/utils/Types';
13
+ import type { ContextWithState } from '../../Types';
14
+ import type { BufferConfigAtom } from './BufferConfigAtom';
15
+ import type { MediaTypeMapAtom } from './MediaTypeMapAtom';
16
+ import type { PlaybackAtom } from './PlaybackAtom';
17
+ import type { StartupOptionsAtom } from './StartupOptionsAtom';
18
+ import type { VideoElementAtom } from './VideoElementAtom';
19
+ export type SourceContext = ContextHaving<{
20
+ [ComponentName.Utils]: CoreUtils;
21
+ [ComponentName.CoreStateAtoms]: CoreStateAtoms;
22
+ [ComponentName.Constants]: Constants;
23
+ }, EmptyObject, ContextWithState>;
24
+ export type ActiveTracksAtom = ArrayAtom<TrackAtom>;
25
+ export type ActiveSelectionGroupsAtom = ArrayAtom<SelectionGroupAtom>;
26
+ export type SourceState = {
27
+ url: string;
28
+ stream: StreamAtom;
29
+ activeTracks: ActiveTracksAtom;
30
+ activeSelectionGroups: ActiveSelectionGroupsAtom;
31
+ logLevel: LogLevel;
32
+ dataRanges: DataRangesAtom;
33
+ isActive: boolean;
34
+ video: VideoElementAtom;
35
+ config: {
36
+ buffer: BufferConfigAtom;
37
+ startup: StartupOptionsAtom;
38
+ };
39
+ playback: PlaybackAtom;
40
+ activeMediaTypes: MediaTypeMapAtom;
41
+ };
42
+ export type SourceStateAtom = ReturnType<typeof createSourceStateAtom>;
43
+ export declare const createSourceStateAtom: (context: SourceContext, url: string) => import("../../core/state/Types").StateAtom<SourceState, {
44
+ forceVideoElementUpdate: () => true;
45
+ setLogLevel: (sourceState: SourceState, level: LogLevel) => boolean;
46
+ setActive(sourceState: SourceState, isActive: boolean): boolean;
47
+ }>;
@@ -0,0 +1,17 @@
1
+ import type { ContextWithState } from '../../Types';
2
+ export declare enum StartupMode {
3
+ Fast = "fast",
4
+ Precise = "precise"
5
+ }
6
+ interface StartupOptions {
7
+ position: number;
8
+ mode: StartupMode;
9
+ }
10
+ declare function setPosition(options: StartupOptions, startPosition: number): boolean;
11
+ declare function setMode(options: StartupOptions, startupMode: StartupMode): boolean;
12
+ export type StartupOptionsAtom = ReturnType<typeof createStartupOptionsAtom>;
13
+ export declare function createStartupOptionsAtom(context: ContextWithState, baseOptions?: Partial<StartupOptions>): import("../../core/state/Types").StateAtom<StartupOptions, {
14
+ setPosition: typeof setPosition;
15
+ setMode: typeof setMode;
16
+ }>;
17
+ export {};
@@ -0,0 +1,12 @@
1
+ import type { SourceContext } from './SourceStateAtom';
2
+ type VideoElementState = {
3
+ element: HTMLVideoElement | undefined;
4
+ };
5
+ export type VideoElementAtom = ReturnType<typeof createVideoElementAtom>;
6
+ declare function clear(state: VideoElementState): boolean;
7
+ declare function set(state: VideoElementState, video: HTMLVideoElement): boolean;
8
+ export declare function createVideoElementAtom(context: SourceContext): import("../../core/state/Types").StateAtom<VideoElementState, {
9
+ clear: typeof clear;
10
+ set: typeof set;
11
+ }>;
12
+ export {};
@@ -0,0 +1,56 @@
1
+ /**
2
+ * @packageDocumentation SourceApi.package
3
+ *
4
+ * Extends API for playback related controls of each specific source.
5
+ *
6
+ * Currently exposes these methods on the ApiManager:
7
+ *
8
+ * - `PlaybackApi.load` loads source by providing manifest URL string
9
+ * - `PlaybackApi.unload` Unload current source
10
+ * - `PlaybackApi.play` Plays current source
11
+ *
12
+ * ### `SourceApi` Package Dependency Graph
13
+ * ```mermaid
14
+ * flowchart LR
15
+ * subgraph SourceApi
16
+ * ComponentName.SourceState#1["SourceState"]
17
+ * ComponentName.VideoElementUtils#1["VideoElementUtils"]
18
+ * end
19
+ * subgraph Core
20
+ * ComponentName.Utils["Utils"]
21
+ * ComponentName.Constants["Constants"]
22
+ * ComponentName.CoreEffects["CoreEffects"]
23
+ * ComponentName.PlayerConfig["PlayerConfig"]
24
+ * ComponentName.CoreStateAtoms["CoreStateAtoms"]
25
+ * end
26
+ * SourceApi --> ComponentName.CoreEffects
27
+ * SourceApi --> ComponentName.CoreStateAtoms
28
+ * SourceApi --> ComponentName.Logger
29
+ * SourceApi --> ComponentName.Utils
30
+ * SourceApi --> ComponentName.Constants
31
+ * ```
32
+ */
33
+ import type { ContextHaving } from '../../../../framework-types/execution-context/Types';
34
+ import { ComponentName } from '../../Types';
35
+ import type { Constants } from '../core/Constants';
36
+ import type { CoreEffects, CoreStateAtoms } from '../core/Core.package';
37
+ import type { Logger } from '../core/utils/Logger';
38
+ import type { CoreUtils } from '../core/utils/Types';
39
+ import type { SourceStateAtom } from '../source/atoms/SourceStateAtom';
40
+ import VideoElementUtils from '../sources-api/VideoElementUtils';
41
+ import type { ContextWithState } from '../Types';
42
+ import type { PlayerAndSourceApi } from './Types';
43
+ type SourceApiDependencies = {
44
+ [ComponentName.CoreEffects]: CoreEffects;
45
+ [ComponentName.CoreStateAtoms]: CoreStateAtoms;
46
+ [ComponentName.Logger]: Logger;
47
+ [ComponentName.Utils]: CoreUtils;
48
+ [ComponentName.Constants]: Constants;
49
+ };
50
+ export type SourceApiExports = {
51
+ [ComponentName.SourceState]: SourceStateAtom;
52
+ [ComponentName.VideoElementUtils]: typeof VideoElementUtils;
53
+ };
54
+ export type SourcePackageContext = ContextHaving<SourceApiDependencies, SourceApiExports, ContextWithState>;
55
+ export declare const SourceApiPackage: import("../../../../framework-types/package-api/Package").Package<SourceApiDependencies, SourceApiExports, PlayerAndSourceApi>;
56
+ export default SourceApiPackage;
@@ -0,0 +1,8 @@
1
+ import type { MyApi } from '../../../bundles/Types';
2
+ export interface PlaybackApi {
3
+ unload(): void;
4
+ play(): Promise<void>;
5
+ load(source: string): Promise<void>;
6
+ }
7
+ export interface PlayerAndSourceApi extends MyApi, PlaybackApi {
8
+ }
@@ -0,0 +1,9 @@
1
+ import type { LogLevel } from '../core/utils/Logger';
2
+ import type { SourceStateAtom } from '../source/atoms/SourceStateAtom';
3
+ import type { SourcesApiContext } from './SourcesApi.package';
4
+ export interface PlaybackApi {
5
+ play(): Promise<void>;
6
+ unload(): void;
7
+ setLogLevel(level: LogLevel): void;
8
+ }
9
+ export declare function createPlaybackApi(sourceState: SourceStateAtom, { effects: { state } }: SourcesApiContext): PlaybackApi;
@@ -0,0 +1,67 @@
1
+ /**
2
+ * @packageDocumentation SourcesApi.package
3
+ *
4
+ * Provides basic functionality that enables to play list
5
+ * of multiple sources and switching between them.
6
+ *
7
+ * Currently exposes these properties on the `ApiManager`:
8
+ * * `sources` gives access to `SourcesApi` with following methods:
9
+ * * `add` Adds new source by providing manifest URL and active flag
10
+ * and also returns `PlaybackApi` for this source
11
+ * * `list` Returns current list of sources
12
+ * * `get` Returns `PlaybackApi` for given source
13
+ * * `setActive` Sets given source as active
14
+ * * `remove` Removes given source
15
+ * * `dispose` Disposes sources API
16
+ * * `getVideoElement` returns current HTMLVideoElement reference
17
+ * * `setVideoElement` sets HTMLVideoElement reference
18
+ *
19
+ * ### `SourcesApi` Package Dependency Graph
20
+ * ```mermaid
21
+ * flowchart LR
22
+ * subgraph SourcesApi
23
+ * ComponentName.SourceState#2["SourceState"]
24
+ * ComponentName.VideoElementUtils#2["VideoElementUtils"]
25
+ * SourceApiExportNames.SourceList["SourceList"]
26
+ * end
27
+ * subgraph Core
28
+ * ComponentName.Utils["Utils"]
29
+ * ComponentName.Constants["Constants"]
30
+ * ComponentName.CoreEffects["CoreEffects"]
31
+ * ComponentName.PlayerConfig["PlayerConfig"]
32
+ * ComponentName.CoreStateAtoms["CoreStateAtoms"]
33
+ * end
34
+ * SourcesApi --> ComponentName.Utils
35
+ * SourcesApi --> ComponentName.CoreEffects
36
+ * SourcesApi --> ComponentName.CoreStateAtoms
37
+ * SourcesApi --> ComponentName.Logger
38
+ * SourcesApi --> ComponentName.Constants
39
+ * ```
40
+ */
41
+ import type { ContextHaving } from '../../../../framework-types/execution-context/Types';
42
+ import { ComponentName } from '../../Types';
43
+ import type { Constants } from '../core/Constants';
44
+ import type { CoreEffects, CoreStateAtoms } from '../core/Core.package';
45
+ import type { ArrayAtom } from '../core/state/ArrayStateAtom';
46
+ import type { Logger } from '../core/utils/Logger';
47
+ import type { CoreUtils } from '../core/utils/Types';
48
+ import type { SourceStateAtom } from '../source/atoms/SourceStateAtom';
49
+ import type { ContextWithState } from '../Types';
50
+ import type { PlayerAndSourcesApi } from './Types';
51
+ import { SourceApiExportNames } from './Types';
52
+ import VideoElementUtils from './VideoElementUtils';
53
+ export type SourcesApiDependencies = {
54
+ [ComponentName.Utils]: CoreUtils;
55
+ [ComponentName.CoreEffects]: CoreEffects;
56
+ [ComponentName.CoreStateAtoms]: CoreStateAtoms;
57
+ [ComponentName.Logger]: Logger;
58
+ [ComponentName.Constants]: Constants;
59
+ };
60
+ export type SourcesApiExports = {
61
+ [ComponentName.SourceState]: SourceStateAtom;
62
+ [ComponentName.VideoElementUtils]: typeof VideoElementUtils;
63
+ [SourceApiExportNames.SourceList]: ArrayAtom<SourceStateAtom>;
64
+ };
65
+ export type SourcesApiContext = ContextHaving<SourcesApiDependencies, SourcesApiExports, ContextWithState>;
66
+ export declare const SourcesApiPackage: import("../../../../framework-types/package-api/Package").Package<SourcesApiDependencies, SourcesApiExports, PlayerAndSourcesApi>;
67
+ export default SourcesApiPackage;
@@ -0,0 +1,17 @@
1
+ import type { MyApi } from '../../../bundles/Types';
2
+ import type { ArrayAtom } from '../core/state/ArrayStateAtom';
3
+ import type { SourceStateAtom } from '../source/atoms/SourceStateAtom';
4
+ import type { PlaybackApi } from './PlaybackApi';
5
+ export interface SourcesApi {
6
+ add(manifestUrl: string): PlaybackApi;
7
+ list(): ArrayAtom<SourceStateAtom>;
8
+ get(source: SourceStateAtom): PlaybackApi | undefined;
9
+ setActive(source: SourceStateAtom): void;
10
+ remove(source: SourceStateAtom): void;
11
+ }
12
+ export interface PlayerAndSourcesApi extends MyApi {
13
+ sources: SourcesApi;
14
+ }
15
+ export declare enum SourceApiExportNames {
16
+ SourceList = "source-list"
17
+ }
@@ -0,0 +1,8 @@
1
+ import type { Logger } from '../core/utils/Logger';
2
+ declare function attachVideoElement(video: HTMLVideoElement): () => void;
3
+ declare function createVideoElement(logger: Logger): HTMLVideoElement;
4
+ declare const _default: {
5
+ createVideoElement: typeof createVideoElement;
6
+ attachVideoElement: typeof attachVideoElement;
7
+ };
8
+ export default _default;
@@ -0,0 +1,71 @@
1
+ /**
2
+ * @packageDocumentation TrickPlay.package
3
+ *
4
+ * Serves as playback emulation tool that enables to test the data flow
5
+ * of other layers without a need to actually display the content.
6
+ *
7
+ * It simulates tasks like advancing of the playhead position or seeking.
8
+ *
9
+ * ### `TrickPlay` Package Dependency Graph
10
+ * ```mermaid
11
+ * flowchart LR
12
+ * subgraph Core
13
+ * ComponentName.Utils["Utils"]
14
+ * ComponentName.Constants["Constants"]
15
+ * ComponentName.CoreEffects["CoreEffects"]
16
+ * ComponentName.PlayerConfig["PlayerConfig"]
17
+ * ComponentName.CoreStateAtoms["CoreStateAtoms"]
18
+ * end
19
+ * subgraph SourceApi
20
+ * ComponentName.SourceState#1["SourceState"]
21
+ * ComponentName.VideoElementUtils#1["VideoElementUtils"]
22
+ * end
23
+ * subgraph SourcesApi
24
+ * ComponentName.SourceState#2["SourceState"]
25
+ * ComponentName.VideoElementUtils#2["VideoElementUtils"]
26
+ * SourceApiExportNames.SourceList["SourceList"]
27
+ * end
28
+ * TrickPlay --> ComponentName.Logger
29
+ * TrickPlay --> ComponentName.CoreEffects
30
+ * TrickPlay --> ComponentName.CoreStateAtoms
31
+ * TrickPlay --> ComponentName.Utils
32
+ * TrickPlay --> ComponentName.Constants
33
+ * TrickPlay --> ComponentName.SourceState#1
34
+ * TrickPlay --> ComponentName.SourceState#2
35
+ * SourceApi --> ComponentName.CoreEffects
36
+ * SourceApi --> ComponentName.CoreStateAtoms
37
+ * SourceApi --> ComponentName.Logger
38
+ * SourceApi --> ComponentName.Utils
39
+ * SourceApi --> ComponentName.Constants
40
+ * SourcesApi --> ComponentName.Utils
41
+ * SourcesApi --> ComponentName.CoreEffects
42
+ * SourcesApi --> ComponentName.CoreStateAtoms
43
+ * SourcesApi --> ComponentName.Logger
44
+ * SourcesApi --> ComponentName.Constants
45
+ * ```
46
+ */
47
+ import type { EmptyObject } from '../../../BaseTypes';
48
+ import type { MyApi } from '../../../bundles/Types';
49
+ import { ComponentName } from '../../Types';
50
+ import type { Constants } from '../core/Constants';
51
+ import type { CoreEffects, CoreStateAtoms } from '../core/Core.package';
52
+ import type { TimeRange } from '../core/state/track/TrackAtom';
53
+ import type { Logger } from '../core/utils/Logger';
54
+ import type { CoreUtils } from '../core/utils/Types';
55
+ import type { SourceStateAtom } from '../source/atoms/SourceStateAtom';
56
+ type Dependencies = {
57
+ [ComponentName.Logger]: Logger;
58
+ [ComponentName.CoreEffects]: CoreEffects;
59
+ [ComponentName.SourceState]: SourceStateAtom;
60
+ [ComponentName.CoreStateAtoms]: CoreStateAtoms;
61
+ [ComponentName.Utils]: CoreUtils;
62
+ [ComponentName.Constants]: Constants;
63
+ };
64
+ type Api = MyApi & {
65
+ play(): void;
66
+ pause(): void;
67
+ seek(target: number): void;
68
+ getSeekableRanges(): TimeRange[];
69
+ };
70
+ export declare const TrickPlayPackage: import("../../../../framework-types/package-api/Package").Package<Dependencies, EmptyObject, Api>;
71
+ export default TrickPlayPackage;
@@ -0,0 +1,27 @@
1
+ /**
2
+ * @packageDocumentation BitmovinUi.package
3
+ *
4
+ * Loads and applies Bitmovin player UI js library and styles. Then it connects it
5
+ * to the instance API.
6
+ *
7
+ * ### `BitmovinUi` Package Dependency Graph
8
+ * ```mermaid
9
+ * flowchart LR
10
+ * subgraph BitmovinV8Core
11
+ * AdditionalPlayerExports.UserConfig["UserConfig"]
12
+ * AdditionalPlayerExports.Container["Container"]
13
+ * AdditionalPlayerExports.PlayerApi["PlayerApi"]
14
+ * end
15
+ * BitmovinUi --> AdditionalPlayerExports.UserConfig
16
+ * BitmovinUi --> AdditionalPlayerExports.PlayerApi
17
+ * ```
18
+ */
19
+ import type { EmptyObject } from '../../../BaseTypes';
20
+ import { AdditionalPlayerExports } from './enums/PlayerExports';
21
+ import type { BitmovinV8PlayerApi, PlayerConfig } from './types/Types';
22
+ type Dependencies = {
23
+ [AdditionalPlayerExports.UserConfig]: PlayerConfig;
24
+ [AdditionalPlayerExports.PlayerApi]: BitmovinV8PlayerApi;
25
+ };
26
+ export declare const BitmovinPlayerUiPackage: import("../../../../framework-types/package-api/Package").Package<Dependencies, EmptyObject, BitmovinV8PlayerApi>;
27
+ export default BitmovinPlayerUiPackage;
@@ -0,0 +1,28 @@
1
+ /**
2
+ * @packageDocumentation BitmovinCore.package
3
+ *
4
+ * Provides core Bitmovin player v8 compatibility and interface. The package itself
5
+ * however does not extend the PWX features so other packages needs to be added
6
+ * to support certain features.
7
+ *
8
+ * ### `BitmovinV8Core` Package Dependency Graph
9
+ * ```mermaid
10
+ * flowchart LR
11
+ * subgraph BitmovinV8Core
12
+ * AdditionalPlayerExports.UserConfig["UserConfig"]
13
+ * AdditionalPlayerExports.Container["Container"]
14
+ * AdditionalPlayerExports.PlayerApi["PlayerApi"]
15
+ * end
16
+ * ```
17
+ */
18
+ import type { EmptyObject } from '../../../BaseTypes';
19
+ import { AdditionalPlayerExports } from './enums/PlayerExports';
20
+ import type { PlayerConfig } from './types/PlayerConfig';
21
+ import type { BitmovinV8PlayerApi } from './types/Types';
22
+ type Exports = {
23
+ [AdditionalPlayerExports.UserConfig]: PlayerConfig;
24
+ [AdditionalPlayerExports.Container]: HTMLElement;
25
+ [AdditionalPlayerExports.PlayerApi]: BitmovinV8PlayerApi;
26
+ };
27
+ export declare const createBitmovinV8PlayerCorePackage: (container: HTMLElement, userConfig: PlayerConfig, playerApi: BitmovinV8PlayerApi) => import("../../../../framework-types/package-api/Package").Package<EmptyObject, Exports, BitmovinV8PlayerApi>;
28
+ export {};
@@ -0,0 +1,54 @@
1
+ /**
2
+ * @packageDocumentation BitmovinStaticApi.package
3
+ *
4
+ * Adds Bitmovin player v8 API methods defined in `BitdashPlayerApi`. There are
5
+ * still quite some methods that are not supported at the moment so in that case
6
+ * they are returning some empty values for specific return types defined by
7
+ * the interface.
8
+ *
9
+ * ### `BitmovinV8StaticApi` Package Dependency Graph
10
+ * ```mermaid
11
+ * flowchart LR
12
+ * subgraph BitmovinV8StaticApi
13
+ * AdditionalPlayerExports.EventListenerAtom["EventListenerAtom"]
14
+ * end
15
+ * subgraph Core
16
+ * ComponentName.Utils["Utils"]
17
+ * ComponentName.Constants["Constants"]
18
+ * ComponentName.CoreEffects["CoreEffects"]
19
+ * ComponentName.PlayerConfig["PlayerConfig"]
20
+ * ComponentName.CoreStateAtoms["CoreStateAtoms"]
21
+ * end
22
+ * subgraph BitmovinV8Core
23
+ * AdditionalPlayerExports.UserConfig["UserConfig"]
24
+ * AdditionalPlayerExports.Container["Container"]
25
+ * AdditionalPlayerExports.PlayerApi["PlayerApi"]
26
+ * end
27
+ * BitmovinV8StaticApi --> ComponentName.Logger
28
+ * BitmovinV8StaticApi --> ComponentName.CoreEffects
29
+ * BitmovinV8StaticApi --> AdditionalPlayerExports.Container
30
+ * BitmovinV8StaticApi --> AdditionalPlayerExports.UserConfig
31
+ * ```
32
+ */
33
+ import type { ContextHaving, ContextUsing } from '../../../../framework-types/execution-context/Types';
34
+ import type { BaseContext } from '../../../../framework-types/Types';
35
+ import type { CoreEffects } from '../../core/core/Core.package';
36
+ import type { StateEffect } from '../../core/core/state/state-effect/StateEffectFactory';
37
+ import type { Logger } from '../../core/core/utils/Logger';
38
+ import { ComponentName } from '../../Types';
39
+ import { AdditionalPlayerExports } from './enums/PlayerExports';
40
+ import type { EventListenerAtom } from './event-handling/EventListenerAtom';
41
+ import type { PlayerConfig } from './types/PlayerConfig';
42
+ import type { BitmovinV8PlayerApi } from './types/Types';
43
+ type PlayerApiCompatDependencies = {
44
+ [ComponentName.Logger]: Logger;
45
+ [ComponentName.CoreEffects]: CoreEffects;
46
+ [AdditionalPlayerExports.Container]: HTMLElement;
47
+ [AdditionalPlayerExports.UserConfig]: PlayerConfig;
48
+ };
49
+ type PlayerApiCompatExports = {
50
+ [AdditionalPlayerExports.EventListenerAtom]: EventListenerAtom;
51
+ };
52
+ export type PlayerApiCompatContext = ContextHaving<PlayerApiCompatDependencies, PlayerApiCompatExports, ContextUsing<[StateEffect], BaseContext>>;
53
+ export declare const BitmovinV8PlayerStaticApiPackage: import("../../../../framework-types/package-api/Package").Package<PlayerApiCompatDependencies, PlayerApiCompatExports, BitmovinV8PlayerApi>;
54
+ export default BitmovinV8PlayerStaticApiPackage;
@@ -0,0 +1,4 @@
1
+ export declare const BufferApi: {
2
+ setTargetLevel(_type: unknown, _value: number, _media: unknown): void;
3
+ getLevel(_type: unknown, _media: unknown): null;
4
+ };
@@ -0,0 +1,3 @@
1
+ export declare const DrmApi: {
2
+ renewLicense(_drmLicenseId: string): Promise<never>;
3
+ };
@@ -0,0 +1,4 @@
1
+ export declare const ManifestApi: {
2
+ dash: undefined;
3
+ hls: undefined;
4
+ };
@@ -0,0 +1,9 @@
1
+ export declare const SubtitleApi: {
2
+ add(_subtitle: unknown): void;
3
+ remove(_subtitleId: unknown): void;
4
+ list(): never[];
5
+ enable(_id: unknown, _exclusive?: boolean): void;
6
+ disable(_id: unknown): void;
7
+ cueEnter(_cue: unknown): void;
8
+ cueExit(_cue: unknown): void;
9
+ };