@bitmovin/player-web-x 10.2.0-beta.13 → 10.2.0-beta.15

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 (204) hide show
  1. package/bundles/playerx-bitmovin-v8-core.js +2 -2
  2. package/bundles/playerx-bitmovin-v8.js +2 -2
  3. package/bundles/playerx-core.js +2 -2
  4. package/bundles/playerx-dash.js +2 -2
  5. package/bundles/playerx-hls-ts-audio.js +2 -2
  6. package/bundles/playerx-hls.js +2 -2
  7. package/bundles/playerx-playback.js +2 -2
  8. package/bundles/playerx-tv.js +2 -2
  9. package/package.json +1 -1
  10. package/packages/playerx-adaptation.package.js +2 -2
  11. package/packages/playerx-advertising-api.package.js +2 -2
  12. package/packages/playerx-advertising-base.package.js +2 -2
  13. package/packages/playerx-advertising-bitmovin.package.js +2 -2
  14. package/packages/playerx-analytics.package.js +1 -1
  15. package/packages/playerx-bitmovin-advertising-bundle.package.js +2 -2
  16. package/packages/playerx-bitmovin-source-api.package.js +2 -2
  17. package/packages/playerx-bitmovin-ui.package.js +2 -2
  18. package/packages/playerx-bitmovin-v8-core.package.js +2 -2
  19. package/packages/playerx-bitmovin-v8-static-api.package.js +2 -2
  20. package/packages/playerx-bitmovin-video-element-utils.package.js +2 -2
  21. package/packages/playerx-capabilities.package.js +2 -2
  22. package/packages/playerx-container-mp4.package.js +2 -2
  23. package/packages/playerx-container-ts.package.js +2 -2
  24. package/packages/playerx-core.package.js +2 -2
  25. package/packages/playerx-dash-manifest-technology.package.js +2 -2
  26. package/packages/playerx-dash-manifest.package.js +2 -2
  27. package/packages/playerx-dash-parsing.package.js +2 -2
  28. package/packages/playerx-dash-translation.package.js +2 -2
  29. package/packages/playerx-dash.package.js +2 -2
  30. package/packages/playerx-data.package.js +2 -2
  31. package/packages/playerx-event-bus.package.js +1 -1
  32. package/packages/playerx-hls-manifest-technology.package.js +2 -2
  33. package/packages/playerx-hls-manifest.package.js +2 -2
  34. package/packages/playerx-hls-parsing.package.js +2 -2
  35. package/packages/playerx-hls-translation.package.js +2 -2
  36. package/packages/playerx-hls.package.js +2 -2
  37. package/packages/playerx-media-state.package.d.ts +1 -0
  38. package/packages/playerx-media-state.package.js +10 -0
  39. package/packages/playerx-mse-playback.package.js +2 -2
  40. package/packages/playerx-mse-presentation.package.js +2 -2
  41. package/packages/playerx-native-playback.package.js +2 -2
  42. package/packages/playerx-native-presentation.package.js +2 -2
  43. package/packages/playerx-network.package.js +2 -2
  44. package/packages/playerx-no-adaptation.package.js +2 -2
  45. package/packages/playerx-playback-api.package.js +2 -2
  46. package/packages/playerx-playback-technology.package.js +2 -2
  47. package/packages/playerx-playback.package.js +2 -2
  48. package/packages/playerx-player-api.package.js +2 -2
  49. package/packages/playerx-segment-processing.package.js +2 -2
  50. package/packages/playerx-source.package.js +2 -2
  51. package/packages/playerx-sources-api.package.js +2 -2
  52. package/packages/playerx-stream-data-structure.package.js +2 -2
  53. package/packages/playerx-streaming.package.js +1 -1
  54. package/packages/playerx-subtitle-api.package.js +2 -2
  55. package/packages/playerx-subtitle-base.package.js +2 -2
  56. package/packages/playerx-subtitle-format-detection.package.js +1 -1
  57. package/packages/playerx-subtitle-native-renderer.package.js +2 -2
  58. package/packages/playerx-subtitles.package.js +2 -2
  59. package/packages/playerx-trick-play.package.js +2 -2
  60. package/packages/playerx-ts-transmuxer.package.js +2 -2
  61. package/packages/playerx-tv.package.js +1 -1
  62. package/packages/playerx-ui.package.js +2 -2
  63. package/packages/playerx-video-element-controller.package.d.ts +1 -0
  64. package/packages/playerx-video-element-controller.package.js +10 -0
  65. package/packages/playerx-view-mode.package.js +2 -2
  66. package/packages/playerx-web-vtt.package.js +2 -2
  67. package/playerx-framework-utils.js +1 -1
  68. package/types/Types.d.ts +3 -0
  69. package/types/bundles/BitmovinV8.bundle.d.ts +1 -1
  70. package/types/bundles/Dash.bundle.d.ts +1 -1
  71. package/types/bundles/Hls.bundle.d.ts +1 -1
  72. package/types/bundles/HlsTsAudio.bundle.d.ts +1 -1
  73. package/types/bundles/Playback.bundle.d.ts +1 -1
  74. package/types/bundles/Tv.bundle.d.ts +1 -1
  75. package/types/packages/adaptation/AdaptationAlgorithm.d.ts +4 -0
  76. package/types/packages/adaptation/StartupQuality.d.ts +5 -0
  77. package/types/packages/adaptation/Types.d.ts +7 -11
  78. package/types/packages/adaptation/WishDataAtom.d.ts +9 -2
  79. package/types/packages/advertising/BitmovinAdvertisingBundle.package.d.ts +1 -1
  80. package/types/packages/advertising/api/AdvertisingApi.package.d.ts +1 -1
  81. package/types/packages/advertising/api/AdvertisingEvents.d.ts +45 -6
  82. package/types/packages/advertising/api/Types.d.ts +110 -11
  83. package/types/packages/advertising/api/api-conversion/AdApiCache.d.ts +14 -0
  84. package/types/packages/advertising/api/content-source/AdBreakAtom.d.ts +19 -0
  85. package/types/packages/advertising/api/content-source/Types.d.ts +36 -0
  86. package/types/packages/advertising/base/AdExtension.d.ts +11 -0
  87. package/types/packages/advertising/base/AdIconAtom.d.ts +20 -0
  88. package/types/packages/advertising/base/AdIconPosition.d.ts +8 -0
  89. package/types/packages/advertising/base/AdPosition.d.ts +1 -0
  90. package/types/packages/advertising/base/AdQuartile.d.ts +5 -0
  91. package/types/packages/advertising/base/AdResource.d.ts +16 -0
  92. package/types/packages/advertising/base/AdSchedule.d.ts +2 -2
  93. package/types/packages/advertising/base/AdTagAtom.d.ts +1 -1
  94. package/types/packages/advertising/base/AdType.d.ts +4 -0
  95. package/types/packages/advertising/base/BaseAdAtom.d.ts +27 -5
  96. package/types/packages/advertising/base/{BaseAdBreakAtom.d.ts → BaseAdPodAtom.d.ts} +8 -6
  97. package/types/packages/advertising/base/BaseAdPodState.d.ts +7 -0
  98. package/types/packages/advertising/base/BaseAdState.d.ts +7 -0
  99. package/types/packages/advertising/base/ClickThroughAtom.d.ts +11 -0
  100. package/types/packages/advertising/base/CompanionAdAtom.d.ts +18 -0
  101. package/types/packages/advertising/base/Types.d.ts +19 -29
  102. package/types/packages/advertising/bitmovin/Types.d.ts +17 -10
  103. package/types/packages/capabilities/Types.d.ts +1 -1
  104. package/types/packages/container/container-mp4/ContainerMp4.package.d.ts +2 -0
  105. package/types/packages/container/container-ts/ContainerTs.package.d.ts +3 -1
  106. package/types/packages/container/ts-transmuxer/TsTransmuxer.package.d.ts +2 -0
  107. package/types/packages/core/Constants.d.ts +7 -0
  108. package/types/packages/core/Types.d.ts +3 -2
  109. package/types/packages/core/metrics/MetricsAtom.d.ts +1 -1
  110. package/types/packages/{adaptation → core/state}/RingBufferAtom.d.ts +2 -2
  111. package/types/packages/core/state/StateMachineAtom.d.ts +13 -12
  112. package/types/packages/core/state/state-effect/Types.d.ts +2 -2
  113. package/types/packages/core/technology/Types.d.ts +2 -2
  114. package/types/packages/data/Types.d.ts +7 -1
  115. package/types/packages/manifest/dash/parsing/Errors.d.ts +1 -1
  116. package/types/packages/manifest/dash/root/Types.d.ts +3 -1
  117. package/types/packages/manifest/dash/technology/Types.d.ts +2 -1
  118. package/types/packages/manifest/hls/parsing/Constants.d.ts +47 -0
  119. package/types/packages/manifest/hls/parsing/Errors.d.ts +1 -1
  120. package/types/packages/manifest/hls/parsing/Types.d.ts +5 -48
  121. package/types/packages/manifest/hls/parsing/m3u8/TranslatorStream.d.ts +1 -0
  122. package/types/packages/manifest/hls/root/Hls.package.d.ts +6 -1
  123. package/types/packages/manifest/hls/technology/Types.d.ts +2 -1
  124. package/types/packages/manifest/hls/translation/HlsTranslation.package.d.ts +5 -0
  125. package/types/packages/manifest/hls/translation/Types.d.ts +10 -11
  126. package/types/packages/manifest/hls/translation/segments/StreamHelpers.d.ts +14 -0
  127. package/types/packages/manifest/hls/translation/stream/TracksToSelectionGroups.d.ts +6 -0
  128. package/types/packages/manifest/hls/translation/stream/UnknownTrackToMediaTrackTranslator.d.ts +4 -0
  129. package/types/packages/media-state/MediaInfoAtoms.d.ts +18 -0
  130. package/types/packages/media-state/MediaState.d.ts +10 -0
  131. package/types/packages/media-state/MediaState.package.d.ts +22 -0
  132. package/types/packages/media-state/MediaStateAtom.d.ts +16 -0
  133. package/types/packages/media-state/MediaStateTransitionType.d.ts +11 -0
  134. package/types/packages/media-state/SeekRestrictionAtom.d.ts +2 -0
  135. package/types/packages/media-state/Types.d.ts +48 -0
  136. package/types/packages/media-state/controllers/video-element/Types.d.ts +32 -0
  137. package/types/packages/media-state/controllers/video-element/VideoElementController.package.d.ts +15 -0
  138. package/types/packages/network/HttpRequestMethod.d.ts +5 -0
  139. package/types/packages/network/HttpRequestType.d.ts +11 -0
  140. package/types/packages/network/HttpResponseType.d.ts +7 -0
  141. package/types/packages/network/NetworkAtom.d.ts +15 -0
  142. package/types/packages/network/NetworkTask.d.ts +8 -7
  143. package/types/packages/network/Types.d.ts +17 -26
  144. package/types/packages/playback/play-pause/Types.d.ts +0 -3
  145. package/types/packages/playback/volume/Types.d.ts +2 -4
  146. package/types/packages/playback-api/play-pause-api/Types.d.ts +4 -3
  147. package/types/packages/playback-api/playback-api-events/Types.d.ts +11 -8
  148. package/types/packages/playback-api/time-api/Types.d.ts +4 -5
  149. package/types/packages/playback-technology/PlaybackTechnologyEntryType.d.ts +4 -0
  150. package/types/packages/playback-technology/Types.d.ts +6 -6
  151. package/types/packages/player-api/PlayerApi.package.d.ts +2 -0
  152. package/types/packages/player-api/PlayerEvent.d.ts +3 -0
  153. package/types/packages/player-api/Types.d.ts +4 -4
  154. package/types/packages/presentation/mse/playback-technology/Types.d.ts +2 -1
  155. package/types/packages/presentation/mse/playback-technology/atoms/MsePresentationStateAtom.d.ts +1 -4
  156. package/types/packages/presentation/mse/presentation/MsePresentation.package.d.ts +4 -2
  157. package/types/packages/presentation/mse/presentation/Types.d.ts +6 -0
  158. package/types/packages/presentation/native/NativePlayback.package.d.ts +1 -2
  159. package/types/packages/presentation/native/playback-technology/Types.d.ts +2 -1
  160. package/types/packages/segment-processing/SegmentProcessing.package.d.ts +2 -1
  161. package/types/packages/segment-processing/SegmentProcessorType.d.ts +7 -0
  162. package/types/packages/segment-processing/Types.d.ts +10 -10
  163. package/types/packages/source/SourceReference.d.ts +1 -1
  164. package/types/packages/source/atoms/PlaybackConfigAtom.d.ts +2 -2
  165. package/types/packages/source/atoms/SourceConfigAtom.d.ts +2 -0
  166. package/types/packages/sources-api/SourcesApiEvent.d.ts +7 -0
  167. package/types/packages/sources-api/Types.d.ts +4 -8
  168. package/types/packages/stream-data-structure/Types.d.ts +1 -0
  169. package/types/packages/stream-data-structure/segment/Exports.d.ts +3 -3
  170. package/types/packages/stream-data-structure/segment/SegmentAtom.d.ts +11 -2
  171. package/types/packages/stream-data-structure/segment/SegmentDataAtom.d.ts +1 -7
  172. package/types/packages/stream-data-structure/segment/SegmentUtils.d.ts +3 -2
  173. package/types/packages/stream-data-structure/selection-group/SelectionGroupAtom.d.ts +1 -2
  174. package/types/packages/stream-data-structure/track/Exports.d.ts +6 -1
  175. package/types/packages/stream-data-structure/track/TrackAtom.d.ts +19 -4
  176. package/types/packages/stream-data-structure/track/TrackTypeGuards.d.ts +3 -1
  177. package/types/packages/stream-data-structure/track/TypeDetection.d.ts +25 -0
  178. package/types/packages/stream-data-structure/track/TypeDetectionTypeGuards.d.ts +4 -0
  179. package/types/packages/streaming/Streaming.package.d.ts +2 -2
  180. package/types/packages/streaming/Types.d.ts +3 -2
  181. package/types/packages/subtitles/subtitle-api/SubtitleEvent.d.ts +9 -0
  182. package/types/packages/subtitles/subtitle-api/Types.d.ts +3 -9
  183. package/types/packages/trick-play/TrickPlay.package.d.ts +2 -1
  184. package/types/packages/v8-compat/BitmovinUi.package.d.ts +4 -4
  185. package/types/packages/v8-compat/BitmovinV8Core.package.d.ts +16 -4
  186. package/types/packages/v8-compat/BitmovinV8StaticApi.package.d.ts +8 -5
  187. package/types/packages/v8-compat/apis/SourceApis.d.ts +5 -0
  188. package/types/packages/v8-compat/apis/SubtitleApi.d.ts +5 -0
  189. package/types/packages/v8-compat/enums/AdditionalPlayerExportNames.d.ts +9 -0
  190. package/types/packages/v8-compat/enums/PlayerExports.d.ts +0 -7
  191. package/types/packages/v8-compat/event-handling/EventDispatcher.d.ts +11 -0
  192. package/types/packages/v8-compat/source-api/BitmovinSourceApi.package.d.ts +10 -4
  193. package/types/packages/v8-compat/video-element/BitmovinVideoElementUtils.package.d.ts +4 -4
  194. package/types/packages/view-mode/Types.d.ts +4 -6
  195. package/types/packages/view-mode/ViewMode.d.ts +5 -0
  196. package/types/packages/view-mode/ViewMode.package.d.ts +2 -0
  197. package/types/packages/view-mode/ViewModeAtom.d.ts +1 -1
  198. package/types/packages/core/FrameworkError.d.ts +0 -4
  199. package/types/packages/core/network/NetworkAtom.d.ts +0 -21
  200. package/types/packages/playback/playback-state/Types.d.ts +0 -41
  201. package/types/packages/playback/video-element-state/SeekRestrictionAtom.d.ts +0 -2
  202. package/types/packages/playback/video-element-state/Types.d.ts +0 -32
  203. package/types/packages/playback/video-element-state/VideoElementStateAtom.d.ts +0 -58
  204. package/types/packages/presentation/native/Types.d.ts +0 -12
@@ -1,12 +1,25 @@
1
+ import type { EmptyObject } from '../../../../framework-types/BaseTypes';
2
+ import type { ContextHaving } from '../../../../framework-types/execution-context/Types';
1
3
  import type { PartialRequired } from '../../../Types';
2
- import type { MediaType, SubtitleFormatType } from '../../core/Constants';
4
+ import type { Constants, MediaType, SubtitleFormatType } from '../../core/Constants';
3
5
  import type { ArrayAtom } from '../../core/state/ArrayStateAtom';
4
6
  import type { CodecMapAtom } from '../../core/state/codec-map/CodecMapAtom';
5
7
  import type { PrimitiveAtom } from '../../core/state/PrimitiveAtom';
6
8
  import type { StateAtom } from '../../core/state/Types';
9
+ import type { CoreStateAtoms } from '../../core/Types';
10
+ import { CoreExportNames } from '../../core/Types';
11
+ import type { Transient } from '../../core/utils/StateUtils';
12
+ import type { CoreUtils } from '../../core/utils/Types';
13
+ import type { ContextWithState } from '../../Types';
7
14
  import type { DataOrSelfInitSegmentAtom } from '../segment/SegmentAtom';
8
15
  import type { SelectionGroupAtom } from '../selection-group/SelectionGroupAtom';
9
16
  import type { StreamDataStructureContext } from '../Types';
17
+ import type { TypeDetection } from './TypeDetection';
18
+ type ExtendedContext = ContextHaving<{
19
+ [CoreExportNames.Utils]: CoreUtils;
20
+ [CoreExportNames.Constants]: Constants;
21
+ [CoreExportNames.CoreStateAtoms]: CoreStateAtoms;
22
+ }, EmptyObject, ContextWithState>;
10
23
  export interface TimeRange {
11
24
  start: number;
12
25
  end: number;
@@ -49,9 +62,11 @@ type SubtitleTrack = LanguageTrack & {
49
62
  external: boolean;
50
63
  fragmented: boolean;
51
64
  };
52
- type UnknownTrack = {
65
+ type UnknownTrack = BaseTrack & {
53
66
  type: MediaType.Unknown;
54
- } & BaseTrack;
67
+ uri?: string;
68
+ typeDetected: Transient<TypeDetection>;
69
+ };
55
70
  type Track = AudioTrack | VideoTrack | MuxedTrack | SubtitleTrack | UnknownTrack;
56
71
  export type AudioTrackAtom = StateAtom<AudioTrack, ReturnType<typeof getAudioTrackModifiers>>;
57
72
  export type VideoTrackAtom = StateAtom<VideoTrack, ReturnType<typeof getMediaTrackModifiers>>;
@@ -84,5 +99,5 @@ export declare const createAudioTrackAtom: (context: StreamDataStructureContext,
84
99
  export declare const createVideoTrackAtom: (context: StreamDataStructureContext, initialValue: PartialRequired<Omit<VideoTrack, 'timeRange'>, RequiredBaseTrackKeys | 'resolution' | 'bitrate' | 'codecs' | 'uri'>) => VideoTrackAtom;
85
100
  export declare const createMuxedTrackAtom: (context: StreamDataStructureContext, initialValue: PartialRequired<Omit<MuxedTrack, 'timeRange'>, RequiredBaseTrackKeys | 'language' | 'resolution' | 'bitrate' | 'codecs' | 'uri'>) => MuxedTrackAtom;
86
101
  export declare const createSubtitleTrackAtom: (context: StreamDataStructureContext, initialValue: PartialRequired<Omit<SubtitleTrack, 'timeRange' | 'formatType'>, RequiredBaseTrackKeys | 'language'>) => SubtitleTrackAtom;
87
- export declare const createUnknownTrackAtom: (context: StreamDataStructureContext, initialValue: PartialRequired<Omit<UnknownTrack, 'timeRange'>, RequiredBaseTrackKeys>) => UnknownTrackAtom;
102
+ export declare const createUnknownTrackAtom: (context: ExtendedContext, initialValue: PartialRequired<Omit<UnknownTrack, 'timeRange' | 'typeDetected'>, RequiredBaseTrackKeys>) => UnknownTrackAtom;
88
103
  export {};
@@ -1,4 +1,6 @@
1
- import type { AudioTrackAtom, MediaTrackAtom, SubtitleTrackAtom, TrackAtom, VideoTrackAtom } from './TrackAtom';
1
+ import type { AudioTrackAtom, MediaTrackAtom, SubtitleTrackAtom, TrackAtom, UnknownTrackAtom, VideoTrackAtom } from './TrackAtom';
2
+ export declare function isUnknownTrack(track: TrackAtom): track is UnknownTrackAtom;
3
+ export declare function isUnknownTrack(track: TrackAtom, index: number, array: TrackAtom[]): track is UnknownTrackAtom;
2
4
  export declare function isAudioTrack(track: TrackAtom): track is AudioTrackAtom;
3
5
  export declare function isAudioTrack(track: TrackAtom, index: number, array: TrackAtom[]): track is AudioTrackAtom;
4
6
  export declare function isMediaTrack(track: TrackAtom): track is MediaTrackAtom;
@@ -0,0 +1,25 @@
1
+ import type { MediaType } from '../../core/Constants';
2
+ type BaseTypeDetection = {
3
+ detectedType: MediaType;
4
+ };
5
+ export type AudioTypeDetection = BaseTypeDetection & {
6
+ detectedType: MediaType.Audio;
7
+ codecs: string[];
8
+ language?: string;
9
+ };
10
+ export type VideoTypeDetection = BaseTypeDetection & {
11
+ detectedType: MediaType.Video;
12
+ codecs: string[];
13
+ width?: number;
14
+ height?: number;
15
+ };
16
+ export type MuxedTypeDetection = BaseTypeDetection & {
17
+ detectedType: MediaType.Muxed;
18
+ audioCodecs: string[];
19
+ videoCodecs: string[];
20
+ language?: string;
21
+ width?: number;
22
+ height?: number;
23
+ };
24
+ export type TypeDetection = AudioTypeDetection | VideoTypeDetection | MuxedTypeDetection;
25
+ export {};
@@ -0,0 +1,4 @@
1
+ import type { AudioTypeDetection, MuxedTypeDetection, TypeDetection, VideoTypeDetection } from './TypeDetection';
2
+ export declare function isAudioTypeDetection(detection: TypeDetection): detection is AudioTypeDetection;
3
+ export declare function isVideoTypeDetection(detection: TypeDetection): detection is VideoTypeDetection;
4
+ export declare function isMuxedTypeDetection(detection: TypeDetection): detection is MuxedTypeDetection;
@@ -7,6 +7,6 @@
7
7
  * <svg aria-roledescription="flowchart-v2" role="graphics-document document" viewBox="-8 -8 16 16" style="max-width: 16px; background-color: transparent;" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" width="100%" id="my-svg"><style>#my-svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#ccc;}#my-svg .error-icon{fill:#a44141;}#my-svg .error-text{fill:#ddd;stroke:#ddd;}#my-svg .edge-thickness-normal{stroke-width:2px;}#my-svg .edge-thickness-thick{stroke-width:3.5px;}#my-svg .edge-pattern-solid{stroke-dasharray:0;}#my-svg .edge-pattern-dashed{stroke-dasharray:3;}#my-svg .edge-pattern-dotted{stroke-dasharray:2;}#my-svg .marker{fill:lightgrey;stroke:lightgrey;}#my-svg .marker.cross{stroke:lightgrey;}#my-svg svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#my-svg .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#ccc;}#my-svg .cluster-label text{fill:#F9FFFE;}#my-svg .cluster-label span,#my-svg p{color:#F9FFFE;}#my-svg .label text,#my-svg span,#my-svg p{fill:#ccc;color:#ccc;}#my-svg .node rect,#my-svg .node circle,#my-svg .node ellipse,#my-svg .node polygon,#my-svg .node path{fill:#1f2020;stroke:#81B1DB;stroke-width:1px;}#my-svg .flowchart-label text{text-anchor:middle;}#my-svg .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#my-svg .node .label{text-align:center;}#my-svg .node.clickable{cursor:pointer;}#my-svg .arrowheadPath{fill:lightgrey;}#my-svg .edgePath .path{stroke:lightgrey;stroke-width:2.0px;}#my-svg .flowchart-link{stroke:lightgrey;fill:none;}#my-svg .edgeLabel{background-color:hsl(0, 0%, 34.4117647059%);text-align:center;}#my-svg .edgeLabel rect{opacity:0.5;background-color:hsl(0, 0%, 34.4117647059%);fill:hsl(0, 0%, 34.4117647059%);}#my-svg .labelBkg{background-color:rgba(87.75, 87.75, 87.75, 0.5);}#my-svg .cluster rect{fill:hsl(180, 1.5873015873%, 28.3529411765%);stroke:rgba(255, 255, 255, 0.25);stroke-width:1px;}#my-svg .cluster text{fill:#F9FFFE;}#my-svg .cluster span,#my-svg p{color:#F9FFFE;}#my-svg div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(20, 1.5873015873%, 12.3529411765%);border:1px solid rgba(255, 255, 255, 0.25);border-radius:2px;pointer-events:none;z-index:100;}#my-svg .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#ccc;}#my-svg :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g><marker orient="auto" markerHeight="12" markerWidth="12" markerUnits="userSpaceOnUse" refY="5" refX="6" viewBox="0 0 10 10" class="marker flowchart" id="my-svg_flowchart-pointEnd"><path style="stroke-width: 1; stroke-dasharray: 1, 0;" class="arrowMarkerPath" d="M 0 0 L 10 5 L 0 10 z"/></marker><marker orient="auto" markerHeight="12" markerWidth="12" markerUnits="userSpaceOnUse" refY="5" refX="4.5" viewBox="0 0 10 10" class="marker flowchart" id="my-svg_flowchart-pointStart"><path style="stroke-width: 1; stroke-dasharray: 1, 0;" class="arrowMarkerPath" d="M 0 5 L 10 10 L 10 0 z"/></marker><marker orient="auto" markerHeight="11" markerWidth="11" markerUnits="userSpaceOnUse" refY="5" refX="11" viewBox="0 0 10 10" class="marker flowchart" id="my-svg_flowchart-circleEnd"><circle style="stroke-width: 1; stroke-dasharray: 1, 0;" class="arrowMarkerPath" r="5" cy="5" cx="5"/></marker><marker orient="auto" markerHeight="11" markerWidth="11" markerUnits="userSpaceOnUse" refY="5" refX="-1" viewBox="0 0 10 10" class="marker flowchart" id="my-svg_flowchart-circleStart"><circle style="stroke-width: 1; stroke-dasharray: 1, 0;" class="arrowMarkerPath" r="5" cy="5" cx="5"/></marker><marker orient="auto" markerHeight="11" markerWidth="11" markerUnits="userSpaceOnUse" refY="5.2" refX="12" viewBox="0 0 11 11" class="marker cross flowchart" id="my-svg_flowchart-crossEnd"><path style="stroke-width: 2; stroke-dasharray: 1, 0;" class="arrowMarkerPath" d="M 1,1 l 9,9 M 10,1 l -9,9"/></marker><marker orient="auto" markerHeight="11" markerWidth="11" markerUnits="userSpaceOnUse" refY="5.2" refX="-1" viewBox="0 0 11 11" class="marker cross flowchart" id="my-svg_flowchart-crossStart"><path style="stroke-width: 2; stroke-dasharray: 1, 0;" class="arrowMarkerPath" d="M 1,1 l 9,9 M 10,1 l -9,9"/></marker><g class="root"><g class="clusters"/><g class="edgePaths"/><g class="edgeLabels"/><g class="nodes"/></g></g></svg>
8
8
  */
9
9
  import type { EmptyObject } from '../../../framework-types/BaseTypes';
10
- import type { StreamingPackageExports } from './Types';
11
- export declare const StreamingPackage: import("../../../framework-types/package-api/Package").Package<EmptyObject, StreamingPackageExports, EmptyObject>;
10
+ import { CreateStreamingStateAtom } from './Types';
11
+ export declare const StreamingPackage: import("../../../framework-types/package-api/Package").Package<EmptyObject, CreateStreamingStateAtom, EmptyObject>;
12
12
  export default StreamingPackage;
@@ -5,7 +5,8 @@ export type StreamingState = {
5
5
  [StreamingState]: StreamingStateAtom;
6
6
  };
7
7
  export declare const CreateStreamingStateAtom = "create-streaming-state-atom";
8
- export type StreamingPackageDependencies = EmptyObject;
9
- export type StreamingPackageExports = {
8
+ export type CreateStreamingStateAtom = {
10
9
  [CreateStreamingStateAtom]: typeof createStreamingStateAtom;
11
10
  };
11
+ export type StreamingPackageDependencies = EmptyObject;
12
+ export type StreamingPackageExports = CreateStreamingStateAtom;
@@ -0,0 +1,9 @@
1
+ export declare enum SubtitleEvent {
2
+ TrackAvailable = "subtitle-track-available",
3
+ TrackUnavailable = "subtitle-track-unavailable",
4
+ TrackActivated = "subtitle-track-activated",
5
+ TrackDeactivated = "subtitle-track-deactivated",
6
+ CueParsed = "subtitle-cue-parsed",
7
+ CueEnter = "subtitle-cue-enter",
8
+ CueExit = "subtitle-cue-exit"
9
+ }
@@ -18,6 +18,8 @@ import type { ContextWithState } from '../../Types';
18
18
  import type { SubtitleCueAtom } from '../subtitle-base/SubtitleCueAtom';
19
19
  import type { SubtitleCueMapAtom } from '../subtitle-base/SubtitleCueMapAtom';
20
20
  import type { SubtitleBaseExportNames } from '../subtitle-base/Types';
21
+ import type { SubtitleEvent } from './SubtitleEvent';
22
+ export type { SubtitleEvent } from './SubtitleEvent';
21
23
  export type SubtitleApiDependencies = {
22
24
  [CoreExportNames.CoreEffects]: CoreEffects;
23
25
  [CoreExportNames.CoreStateAtoms]: CoreStateAtoms;
@@ -66,16 +68,8 @@ export type SubtitleApi = {
66
68
  };
67
69
  export type SubtitleSourceApi = {
68
70
  subtitles: SubtitleApi;
71
+ events: EventBus<SubtitleEventMap>;
69
72
  };
70
- export declare enum SubtitleEvent {
71
- TrackAvailable = "subtitle-track-available",
72
- TrackUnavailable = "subtitle-track-unavailable",
73
- TrackActivated = "subtitle-track-activated",
74
- TrackDeactivated = "subtitle-track-deactivated",
75
- CueParsed = "subtitle-cue-parsed",
76
- CueEnter = "subtitle-cue-enter",
77
- CueExit = "subtitle-cue-exit"
78
- }
79
73
  export interface TrackEvent extends EventBase {
80
74
  track: SubtitleTrack;
81
75
  }
@@ -13,12 +13,13 @@ import type { EmptyObject } from '../../Types';
13
13
  import type { CoreExports } from '../core/Types';
14
14
  import type { SourceStateAtom } from '../source/atoms/SourceStateAtom';
15
15
  import { SourceExportNames } from '../source/Types';
16
+ import { StreamDataStructureStream } from '../stream-data-structure/stream/Exports';
16
17
  import { StreamDataStructureTracks } from '../stream-data-structure/track/Exports';
17
18
  import type { TimeRange } from '../stream-data-structure/track/TrackAtom';
18
19
  import { StreamingState } from '../streaming/Types';
19
20
  type Dependencies = {
20
21
  [SourceExportNames.SourceState]: SourceStateAtom;
21
- } & CoreExports & StreamDataStructureTracks & StreamingState;
22
+ } & CoreExports & StreamDataStructureTracks & StreamDataStructureStream & StreamingState;
22
23
  export type TrickPlayApi = {
23
24
  play(): void;
24
25
  pause(): void;
@@ -8,13 +8,13 @@
8
8
  * <svg aria-roledescription="flowchart-v2" role="graphics-document document" viewBox="-8 -8 288.078125 49" style="max-width: 288.078px; 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-BitmovinUi LE-BitmovinV8Core" id="L-BitmovinUi-BitmovinV8Core-0" d="M91.469,16.5L95.635,16.5C99.802,16.5,108.135,16.5,115.585,16.5C123.035,16.5,129.602,16.5,132.885,16.5L136.169,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(45.734375, 16.5)" data-id="BitmovinUi" data-node="true" id="flowchart-BitmovinUi-0" class="node default default flowchart-label"><rect height="33" width="91.46875" y="-16.5" x="-45.734375" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-38.234375, -9)" style="" class="label"><rect/><foreignObject height="18" width="76.46875"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">BitmovinUi</span></div></foreignObject></g></g><g transform="translate(206.7734375, 16.5)" data-id="BitmovinV8Core" data-node="true" id="flowchart-BitmovinV8Core-1" class="node default default flowchart-label"><rect height="33" width="130.609375" y="-16.5" x="-65.3046875" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-57.8046875, -9)" style="" class="label"><rect/><foreignObject height="18" width="115.609375"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">BitmovinV8Core</span></div></foreignObject></g></g></g></g></g></svg>
9
9
  */
10
10
  import type { EmptyObject } from '../../Types';
11
- import { AdditionalPlayerExports } from './enums/PlayerExports';
11
+ import { AdditionalPlayerExportNames } from './enums/AdditionalPlayerExportNames';
12
12
  import type { EventListenerAtom } from './event-handling/EventListenerAtom';
13
13
  import type { BitmovinV8PlayerApi, PlayerConfig } from './types/Types';
14
14
  type Dependencies = {
15
- [AdditionalPlayerExports.UserConfig]: PlayerConfig;
16
- [AdditionalPlayerExports.PlayerApi]: BitmovinV8PlayerApi;
17
- [AdditionalPlayerExports.EventListenerAtom]: EventListenerAtom;
15
+ [AdditionalPlayerExportNames.UserConfig]: PlayerConfig;
16
+ [AdditionalPlayerExportNames.PlayerApi]: BitmovinV8PlayerApi;
17
+ [AdditionalPlayerExportNames.EventListenerAtom]: EventListenerAtom;
18
18
  };
19
19
  export declare const BitmovinPlayerUiPackage: import("../../../framework-types/package-api/Package").Package<Dependencies, EmptyObject, BitmovinV8PlayerApi>;
20
20
  export default BitmovinPlayerUiPackage;
@@ -9,13 +9,25 @@
9
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
10
  */
11
11
  import type { EmptyObject } from '../../Types';
12
- import { AdditionalPlayerExports } from './enums/PlayerExports';
12
+ import { addActiveSourceApiMethods, addInactiveSourceApiMethods } from './apis/SourceApis';
13
+ import { addActiveSubtitleApi } from './apis/SubtitleApi';
14
+ import { AdditionalPlayerExportNames } from './enums/AdditionalPlayerExportNames';
15
+ import { PlayerEvent } from './enums/PlayerExports';
16
+ import { dispatchEvent } from './event-handling/EventDispatcher';
13
17
  import type { PlayerConfig } from './types/PlayerConfig';
14
18
  import type { BitmovinV8PlayerApi } from './types/Types';
19
+ export type V8CompatUtils = {
20
+ addActiveSourceApiMethods: typeof addActiveSourceApiMethods;
21
+ addInactiveSourceApiMethods: typeof addInactiveSourceApiMethods;
22
+ addActiveSubtitleApi: typeof addActiveSubtitleApi;
23
+ dispatchEvent: typeof dispatchEvent;
24
+ };
15
25
  type Exports = {
16
- [AdditionalPlayerExports.UserConfig]: PlayerConfig;
17
- [AdditionalPlayerExports.Container]: HTMLElement;
18
- [AdditionalPlayerExports.PlayerApi]: BitmovinV8PlayerApi;
26
+ [AdditionalPlayerExportNames.UserConfig]: PlayerConfig;
27
+ [AdditionalPlayerExportNames.Container]: HTMLElement;
28
+ [AdditionalPlayerExportNames.PlayerApi]: BitmovinV8PlayerApi;
29
+ [AdditionalPlayerExportNames.V8CompatUtils]: V8CompatUtils;
30
+ [AdditionalPlayerExportNames.PlayerEvent]: typeof PlayerEvent;
19
31
  };
20
32
  export declare const createBitmovinV8PlayerCorePackage: (container: HTMLElement, userConfig: PlayerConfig, playerApi: BitmovinV8PlayerApi) => import("../../../framework-types/package-api/Package").Package<EmptyObject, Exports, BitmovinV8PlayerApi>;
21
33
  export {};
@@ -19,13 +19,15 @@ import type { StateEffect } from '../core/state/state-effect/StateEffectFactory'
19
19
  import type { CoreEffects, CoreStateAtoms } from '../core/Types';
20
20
  import { CoreExportNames } from '../core/Types';
21
21
  import type { CoreUtils } from '../core/utils/Types';
22
+ import type { createEventBus } from '../event-bus/EventBus';
22
23
  import type { EventBus } from '../event-bus/Types';
24
+ import { EventBusExportNames } from '../event-bus/Types';
23
25
  import type { createSourceStateAtom, SourceStateAtom } from '../source/atoms/SourceStateAtom';
24
26
  import { SourceExportNames } from '../source/Types';
25
27
  import type { SourcesApiExportNames } from '../sources-api/Types';
26
28
  import type { StreamDataStructurePackageExports } from '../stream-data-structure/Types';
27
29
  import type { StreamingPackageExports, StreamingState } from '../streaming/Types';
28
- import { AdditionalPlayerExports } from './enums/PlayerExports';
30
+ import { AdditionalPlayerExportNames } from './enums/AdditionalPlayerExportNames';
29
31
  import type { EventListenerAtom } from './event-handling/EventListenerAtom';
30
32
  import type { PlayerConfig } from './types/PlayerConfig';
31
33
  import type { BitmovinV8PlayerApi } from './types/Types';
@@ -35,12 +37,13 @@ type PlayerApiCompatDependencies = {
35
37
  [CoreExportNames.CoreStateAtoms]: CoreStateAtoms;
36
38
  [CoreExportNames.Constants]: Constants;
37
39
  [SourceExportNames.CreateSourceStateAtom]: typeof createSourceStateAtom;
38
- [AdditionalPlayerExports.Container]: HTMLElement;
39
- [AdditionalPlayerExports.VideoElement]: HTMLVideoElement;
40
- [AdditionalPlayerExports.UserConfig]: PlayerConfig;
40
+ [AdditionalPlayerExportNames.Container]: HTMLElement;
41
+ [AdditionalPlayerExportNames.VideoElement]: HTMLVideoElement;
42
+ [AdditionalPlayerExportNames.UserConfig]: PlayerConfig;
43
+ [EventBusExportNames.CreateEventBus]: typeof createEventBus;
41
44
  } & StreamDataStructurePackageExports & StreamingPackageExports;
42
45
  type PlayerApiCompatExports = {
43
- [AdditionalPlayerExports.EventListenerAtom]: EventListenerAtom;
46
+ [AdditionalPlayerExportNames.EventListenerAtom]: EventListenerAtom;
44
47
  [SourceExportNames.SourceState]: SourceStateAtom;
45
48
  [SourcesApiExportNames.SourceApiManager]: ApiManager<EmptyObject>;
46
49
  [SourcesApiExportNames.SourceEventBus]: EventBus<EmptyObject>;
@@ -0,0 +1,5 @@
1
+ import type { ApiManager } from '../../../../framework-types/api-manager/ApiManager';
2
+ import type { SourceApiCompatContext } from '../source-api/BitmovinSourceApi.package';
3
+ import type { BitmovinV8PlayerApi } from '../types/Types';
4
+ export declare function addActiveSourceApiMethods(apiManager: ApiManager<BitmovinV8PlayerApi>, context: SourceApiCompatContext): void;
5
+ export declare function addInactiveSourceApiMethods(apiManager: ApiManager<BitmovinV8PlayerApi>): void;
@@ -0,0 +1,5 @@
1
+ import type { ApiManager } from '../../../../framework-types/api-manager/ApiManager';
2
+ import type { SourceApiCompatContext } from '../source-api/BitmovinSourceApi.package';
3
+ import type { BitmovinV8PlayerApi, PlayerSubtitlesAPI } from '../types/Types';
4
+ export declare const InactiveSubtitleApi: PlayerSubtitlesAPI;
5
+ export declare function addActiveSubtitleApi(apiManager: ApiManager<BitmovinV8PlayerApi>, context: SourceApiCompatContext): void;
@@ -0,0 +1,9 @@
1
+ export declare enum AdditionalPlayerExportNames {
2
+ Container = "container",
3
+ UserConfig = "user-config",
4
+ VideoElement = "video-element",
5
+ PlayerApi = "player-api",
6
+ EventListenerAtom = "event-listener-atom",
7
+ V8CompatUtils = "v8-compat-utils",
8
+ PlayerEvent = "v8-player-event"
9
+ }
@@ -356,13 +356,6 @@ export declare class PlayerModuleMissingError extends PlayerError {
356
356
  export declare class PlayerAPINotAvailableError extends PlayerError {
357
357
  constructor(apiName: string);
358
358
  }
359
- export declare enum AdditionalPlayerExports {
360
- Container = "container",
361
- UserConfig = "user-config",
362
- VideoElement = "video-element",
363
- PlayerApi = "player-api",
364
- EventListenerAtom = "event-listener-atom"
365
- }
366
359
  export declare const PlayerExports: {
367
360
  PlayerEvent: typeof PlayerEvent;
368
361
  LogLevel: typeof LogLevel;
@@ -0,0 +1,11 @@
1
+ import type { ContextHaving } from '../../../../framework-types/execution-context/Types';
2
+ import type { EmptyObject } from '../../../Types';
3
+ import type { ContextWithState } from '../../Types';
4
+ import { AdditionalPlayerExportNames } from '../enums/AdditionalPlayerExportNames';
5
+ import type { OptionalEventBaseProperties, PlayerEventMap } from '../types/PlayerEventMap';
6
+ import type { EventListenerAtom } from './EventListenerAtom';
7
+ type Context = ContextHaving<{
8
+ [AdditionalPlayerExportNames.EventListenerAtom]: EventListenerAtom;
9
+ }, EmptyObject, ContextWithState>;
10
+ export declare function dispatchEvent<Type extends keyof PlayerEventMap, EventData extends PlayerEventMap[Type]>(context: Context, eventType: Type, baseEvent: OptionalEventBaseProperties<EventData>): void;
11
+ export {};
@@ -19,14 +19,17 @@ import { SourceExportNames } from '../../source/Types';
19
19
  import type { SourceApiBase } from '../../sources-api/Types';
20
20
  import { SourcesApiExportNames } from '../../sources-api/Types';
21
21
  import { StreamDataStructureStream } from '../../stream-data-structure/stream/Exports';
22
- import type { StreamingState } from '../../streaming/Types';
22
+ import { StreamingState } from '../../streaming/Types';
23
23
  import type { SubtitleEvent, SubtitleEventMap, SubtitleSourceApi } from '../../subtitles/subtitle-api/Types';
24
24
  import { SubtitleApiExportNames } from '../../subtitles/subtitle-api/Types';
25
25
  import type { ContextWithState } from '../../Types';
26
26
  import type { ViewModeApi } from '../../view-mode/Types';
27
27
  import { ViewModePackageExportNames } from '../../view-mode/Types';
28
+ import type { ViewModePackageExports } from '../../view-mode/ViewMode.package';
28
29
  import type { ViewModeAtom } from '../../view-mode/ViewModeAtom';
29
- import { AdditionalPlayerExports } from '../enums/PlayerExports';
30
+ import type { V8CompatUtils } from '../BitmovinV8Core.package';
31
+ import { AdditionalPlayerExportNames } from '../enums/AdditionalPlayerExportNames';
32
+ import type { PlayerEvent } from '../enums/PlayerExports';
30
33
  import type { EventListenerAtom } from '../event-handling/EventListenerAtom';
31
34
  import type { BitmovinV8PlayerApi } from '../types/Types';
32
35
  type SourceApiCompatDependencies = {
@@ -34,8 +37,11 @@ type SourceApiCompatDependencies = {
34
37
  [SourceExportNames.SourceState]: SourceStateAtom;
35
38
  [CoreExportNames.CoreStateAtoms]: CoreStateAtoms;
36
39
  [ViewModePackageExportNames.ViewModeState]: ViewModeAtom;
37
- [AdditionalPlayerExports.VideoElement]: HTMLVideoElement;
38
- [AdditionalPlayerExports.EventListenerAtom]: EventListenerAtom;
40
+ [ViewModePackageExportNames.ViewMode]: ViewModePackageExports[ViewModePackageExportNames.ViewMode];
41
+ [AdditionalPlayerExportNames.VideoElement]: HTMLVideoElement;
42
+ [AdditionalPlayerExportNames.EventListenerAtom]: EventListenerAtom;
43
+ [AdditionalPlayerExportNames.V8CompatUtils]: V8CompatUtils;
44
+ [AdditionalPlayerExportNames.PlayerEvent]: typeof PlayerEvent;
39
45
  [SourcesApiExportNames.SourceApiManager]: ApiManager<SourceApiBase & ViewModeApi & SubtitleSourceApi>;
40
46
  [SourcesApiExportNames.SourceEventBus]: EventBus<SubtitleEventMap>;
41
47
  [SubtitleApiExportNames.SubtitleEvent]: typeof SubtitleEvent;
@@ -13,16 +13,16 @@ import type { CoreEffects } from '../../core/Types';
13
13
  import { CoreExportNames } from '../../core/Types';
14
14
  import { SourcesApiExportNames } from '../../sources-api/Types';
15
15
  import type VideoElementUtils from '../../sources-api/VideoElementUtils';
16
- import { AdditionalPlayerExports } from '../enums/PlayerExports';
16
+ import { AdditionalPlayerExportNames } from '../enums/AdditionalPlayerExportNames';
17
17
  import type { BitmovinV8PlayerApi, PlayerConfig } from '../types/Types';
18
18
  type Dependencies = {
19
19
  [CoreExportNames.CoreEffects]: CoreEffects;
20
- [AdditionalPlayerExports.Container]: HTMLElement;
21
- [AdditionalPlayerExports.UserConfig]: PlayerConfig;
20
+ [AdditionalPlayerExportNames.Container]: HTMLElement;
21
+ [AdditionalPlayerExportNames.UserConfig]: PlayerConfig;
22
22
  };
23
23
  type Exports = {
24
24
  [SourcesApiExportNames.VideoElementUtils]: typeof VideoElementUtils;
25
- [AdditionalPlayerExports.VideoElement]: HTMLVideoElement;
25
+ [AdditionalPlayerExportNames.VideoElement]: HTMLVideoElement;
26
26
  };
27
27
  export type VideoElementUtilsPackageContext = ContextHaving<Dependencies, Exports, BaseContext>;
28
28
  export declare const BitmovinPlayerVideoElementUtilsPackage: import("../../../../framework-types/package-api/Package").Package<Dependencies, Exports, BitmovinV8PlayerApi>;
@@ -1,8 +1,5 @@
1
- export declare enum ViewMode {
2
- Inline = 0,
3
- Fullscreen = 1,
4
- PictureInPicture = 2
5
- }
1
+ import type { ViewMode } from './ViewMode';
2
+ export type { ViewMode } from './ViewMode';
6
3
  export type ViewModeApi = {
7
4
  viewMode: {
8
5
  transitionTo(mode: ViewMode): void;
@@ -11,5 +8,6 @@ export type ViewModeApi = {
11
8
  };
12
9
  };
13
10
  export declare enum ViewModePackageExportNames {
14
- ViewModeState = "view-mode-state"
11
+ ViewModeState = "view-mode-state",
12
+ ViewMode = "view-mode"
15
13
  }
@@ -0,0 +1,5 @@
1
+ export declare enum ViewMode {
2
+ Inline = 0,
3
+ Fullscreen = 1,
4
+ PictureInPicture = 2
5
+ }
@@ -19,6 +19,7 @@ import { SourcesApiExportNames } from '../sources-api/Types';
19
19
  import type { ContextWithState } from '../Types';
20
20
  import type { ViewModeApi } from './Types';
21
21
  import { ViewModePackageExportNames } from './Types';
22
+ import { ViewMode } from './ViewMode';
22
23
  import type { ViewModeAtom } from './ViewModeAtom';
23
24
  type Dependencies = {
24
25
  [CoreExportNames.CoreEffects]: CoreEffects;
@@ -27,6 +28,7 @@ type Dependencies = {
27
28
  };
28
29
  export type ViewModePackageExports = {
29
30
  [ViewModePackageExportNames.ViewModeState]: ViewModeAtom;
31
+ [ViewModePackageExportNames.ViewMode]: typeof ViewMode;
30
32
  };
31
33
  export type ViewModeContext = ContextHaving<Dependencies, ViewModePackageExports, ContextWithState>;
32
34
  declare const ViewModePackage: import("../../../framework-types/package-api/Package").Package<Dependencies, ViewModePackageExports, EmptyObject>;
@@ -1,4 +1,4 @@
1
- import { ViewMode } from './Types';
1
+ import { ViewMode } from './ViewMode';
2
2
  import type { ViewModeContext } from './ViewMode.package';
3
3
  type ViewModeState = {
4
4
  viewMode: ViewMode;
@@ -1,4 +0,0 @@
1
- export declare class FrameworkError extends Error {
2
- name: string;
3
- constructor(message?: string);
4
- }
@@ -1,21 +0,0 @@
1
- import type { DataPackageContext } from '../../data/Types';
2
- import type { NetworkMessage } from '../../network/NetworkMessageTypes';
3
- export type NetworkState = {
4
- lastMessage: NetworkMessage;
5
- };
6
- export type NetworkAtom = ReturnType<typeof createNetworkAtom>;
7
- declare function requestOpened(state: NetworkState, openedTimestamp: number): boolean;
8
- declare function headersReceived(state: NetworkState, headersReceivedTimestamp: number, contentLength: number): boolean;
9
- declare function progress(state: NetworkState, progressTimestamp: number, chunk: Uint8Array, loadedBytes: number, elapsedTime: number): boolean;
10
- declare function error(state: NetworkState, error: Error): boolean;
11
- declare function done(state: NetworkState, doneTimestamp: number): boolean;
12
- export declare function createNetworkAtom(context: DataPackageContext): import("../state/Types").StateAtom<{
13
- lastMessage: NetworkMessage;
14
- }, {
15
- requestOpened: typeof requestOpened;
16
- headersReceived: typeof headersReceived;
17
- progress: typeof progress;
18
- error: typeof error;
19
- done: typeof done;
20
- }>;
21
- export {};
@@ -1,41 +0,0 @@
1
- import type { ContextHaving } from '../../../../framework-types/execution-context/Types';
2
- import type { StateMachineAtom } from '../../core/state/StateMachineAtom';
3
- import type { CoreEffects, CoreExportNames, CoreStateAtoms } from '../../core/Types';
4
- import type { CoreUtils } from '../../core/utils/Types';
5
- import type { SourceStateAtom } from '../../source/atoms/SourceStateAtom';
6
- import type { SourceExportNames } from '../../source/Types';
7
- import type { ContextWithState } from '../../Types';
8
- import type { TargetPlaybackState, TargetPlaybackStateAtom } from '../play-pause/TargetPlaybackStateAtom';
9
- import type { PlayPauseExportNames } from '../play-pause/Types';
10
- import type { VideoElementStateExportNames } from '../video-element-state/Types';
11
- import type { VideoElementStateAtom } from '../video-element-state/VideoElementStateAtom';
12
- export declare enum PlaybackStatePackageExportNames {
13
- PlaybackState = "playback-state",
14
- PlaybackStateMachine = "playback-state-machine"
15
- }
16
- export declare enum PlaybackState {
17
- Initial = "initial",
18
- Ready = "ready",
19
- Paused = "paused",
20
- Play = "play",
21
- Playing = "playing",
22
- Seeking = "seeking",
23
- Stalled = "stalled",
24
- Ended = "ended",
25
- Detached = "detached"
26
- }
27
- export type PlaybackStatePackageDependencies = {
28
- [CoreExportNames.Utils]: CoreUtils;
29
- [CoreExportNames.CoreEffects]: CoreEffects;
30
- [SourceExportNames.SourceState]: SourceStateAtom;
31
- [CoreExportNames.CoreStateAtoms]: CoreStateAtoms;
32
- [PlayPauseExportNames.TargetPlaybackState]: typeof TargetPlaybackState;
33
- [PlayPauseExportNames.TargetPlaybackStateAtom]: TargetPlaybackStateAtom;
34
- [VideoElementStateExportNames.VideoElementState]: VideoElementStateAtom;
35
- };
36
- export type PlaybackStatePackageExports = {
37
- [PlaybackStatePackageExportNames.PlaybackState]: typeof PlaybackState;
38
- [PlaybackStatePackageExportNames.PlaybackStateMachine]: PlaybackStateMachineAtom;
39
- };
40
- export type PlaybackStatePackageContext = ContextHaving<PlaybackStatePackageDependencies, PlaybackStatePackageExports, ContextWithState>;
41
- export type PlaybackStateMachineAtom = StateMachineAtom<PlaybackState, PlaybackStatePackageContext>;
@@ -1,2 +0,0 @@
1
- import type { PrimitiveAtom } from '../../core/state/PrimitiveAtom';
2
- export type SeekRestrictionAtom = PrimitiveAtom<boolean>;
@@ -1,32 +0,0 @@
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 { SeekRestrictionAtom } from './SeekRestrictionAtom';
8
- import type { VideoElementStateAtom } from './VideoElementStateAtom';
9
- export declare enum VideoElementStateExportNames {
10
- VideoElementState = "video-element-state",
11
- MediaElementReadyState = "media-element-ready-state",
12
- SeekRestriction = "seek-restriction"
13
- }
14
- export declare enum MediaElementReadyState {
15
- HaveNothing,
16
- HaveMetadata,
17
- HaveCurrentData,
18
- HaveFutureData,
19
- HaveEnoughData
20
- }
21
- export type VideoElementStatePackageDependencies = {
22
- [CoreExportNames.CoreEffects]: CoreEffects;
23
- [CoreExportNames.CoreStateAtoms]: CoreStateAtoms;
24
- [CoreExportNames.Utils]: CoreUtils;
25
- [SourceExportNames.SourceState]: SourceStateAtom;
26
- };
27
- export type VideoElementStatePackageExports = {
28
- [VideoElementStateExportNames.VideoElementState]: VideoElementStateAtom;
29
- [VideoElementStateExportNames.MediaElementReadyState]: typeof MediaElementReadyState;
30
- [VideoElementStateExportNames.SeekRestriction]: SeekRestrictionAtom;
31
- };
32
- export type VideoElementStatePackageContext = ContextHaving<VideoElementStatePackageDependencies, VideoElementStatePackageExports, ContextWithState>;
@@ -1,58 +0,0 @@
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 { Transient } from '../../core/utils/StateUtils';
8
- import type { CoreUtils } from '../../core/utils/Types';
9
- import type { ContextWithState } from '../../Types';
10
- import type { MediaElementReadyState } from './Types';
11
- type DetachedVideoElementState = {
12
- error: PrimitiveAtom<undefined>;
13
- ended: PrimitiveAtom<undefined>;
14
- paused: PrimitiveAtom<undefined>;
15
- playing: PrimitiveAtom<undefined>;
16
- seeking: PrimitiveAtom<undefined>;
17
- waiting: PrimitiveAtom<undefined>;
18
- muted: PrimitiveAtom<undefined>;
19
- volume: PrimitiveAtom<undefined>;
20
- playbackRate: PrimitiveAtom<undefined>;
21
- currentTime: PrimitiveAtom<undefined>;
22
- duration: PrimitiveAtom<undefined>;
23
- readyState: PrimitiveAtom<undefined>;
24
- playEventTriggered: PrimitiveAtom<undefined>;
25
- pauseEventTriggered: PrimitiveAtom<undefined>;
26
- onPlayRejected: Transient<MediaError>;
27
- };
28
- type AttachedVideoElementState = {
29
- error: PrimitiveAtom<MediaError | undefined>;
30
- paused: PrimitiveAtom<boolean>;
31
- ended: PrimitiveAtom<boolean>;
32
- playing: PrimitiveAtom<boolean>;
33
- seeking: PrimitiveAtom<boolean>;
34
- waiting: PrimitiveAtom<boolean>;
35
- muted: PrimitiveAtom<boolean>;
36
- volume: PrimitiveAtom<number>;
37
- playbackRate: PrimitiveAtom<number>;
38
- currentTime: PrimitiveAtom<number>;
39
- duration: PrimitiveAtom<number>;
40
- readyState: PrimitiveAtom<MediaElementReadyState>;
41
- playEventTriggered: PrimitiveAtom<boolean>;
42
- pauseEventTriggered: PrimitiveAtom<boolean>;
43
- onPlayRejected: Transient<MediaError>;
44
- };
45
- type VideoElementState = DetachedVideoElementState | AttachedVideoElementState;
46
- type Modifiers = {
47
- detach: (state: VideoElementState) => boolean;
48
- };
49
- type DetachedVideoElementStateAtom = StateAtom<DetachedVideoElementState, Modifiers>;
50
- type AttachedVideoElementStateAtom = StateAtom<AttachedVideoElementState, Modifiers>;
51
- export type VideoElementStateAtom = DetachedVideoElementStateAtom | AttachedVideoElementStateAtom;
52
- type ContextT = ContextHaving<{
53
- [CoreExportNames.CoreStateAtoms]: CoreStateAtoms;
54
- [CoreExportNames.Utils]: CoreUtils;
55
- }, EmptyObject, ContextWithState>;
56
- export declare function createVideoElementStateAtom(context: ContextT): VideoElementStateAtom;
57
- export declare function isAttachedVideoElementStateAtom(state: VideoElementStateAtom): state is AttachedVideoElementStateAtom;
58
- export {};