@bitmovin/player-web-x 10.1.2 → 10.1.3

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 (87) 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.js +2 -2
  6. package/bundles/playerx-tv.js +2 -2
  7. package/package.json +1 -1
  8. package/packages/playerx-adaptation.package.js +2 -2
  9. package/packages/playerx-analytics.package.js +1 -1
  10. package/packages/playerx-bitmovin-source-api.package.js +2 -2
  11. package/packages/playerx-bitmovin-ui.package.js +1 -1
  12. package/packages/playerx-bitmovin-v8-core.package.js +1 -1
  13. package/packages/playerx-bitmovin-v8-static-api.package.js +2 -2
  14. package/packages/playerx-bitmovin-video-element-utils.package.js +1 -1
  15. package/packages/playerx-capabilities.package.js +1 -1
  16. package/packages/playerx-container-mp4.package.js +1 -1
  17. package/packages/playerx-container-ts.package.js +1 -1
  18. package/packages/playerx-core.package.js +2 -2
  19. package/packages/playerx-dash-parsing.package.js +1 -1
  20. package/packages/playerx-dash-translation.package.js +1 -1
  21. package/packages/playerx-dash.package.js +2 -2
  22. package/packages/playerx-data.package.js +2 -2
  23. package/packages/playerx-event-bus.package.js +1 -1
  24. package/packages/playerx-hls-parsing.package.js +1 -1
  25. package/packages/playerx-hls-translation.package.js +2 -2
  26. package/packages/playerx-hls.package.js +2 -2
  27. package/packages/playerx-network.package.js +2 -2
  28. package/packages/playerx-playback-api.package.js +1 -1
  29. package/packages/playerx-playback.package.js +1 -1
  30. package/packages/playerx-player-api.package.js +1 -1
  31. package/packages/playerx-presentation.package.js +2 -2
  32. package/packages/playerx-segment-processing.package.js +2 -2
  33. package/packages/playerx-source.package.js +2 -2
  34. package/packages/playerx-sources-api.package.js +1 -1
  35. package/packages/playerx-subtitle-api.package.d.ts +1 -0
  36. package/packages/playerx-subtitle-api.package.js +10 -0
  37. package/packages/playerx-subtitle-base.package.js +2 -2
  38. package/packages/playerx-subtitle-format-detection.package.js +2 -2
  39. package/packages/playerx-subtitle-native-renderer.package.d.ts +1 -0
  40. package/packages/playerx-subtitle-native-renderer.package.js +10 -0
  41. package/packages/playerx-subtitles.package.d.ts +1 -0
  42. package/packages/playerx-subtitles.package.js +10 -0
  43. package/packages/playerx-trick-play.package.js +2 -2
  44. package/packages/playerx-ts-transmuxer.package.js +1 -1
  45. package/packages/playerx-tv.package.js +1 -1
  46. package/packages/playerx-view-mode.package.js +1 -1
  47. package/packages/playerx-web-vtt.package.d.ts +1 -0
  48. package/packages/playerx-web-vtt.package.js +2 -2
  49. package/playerx-framework-utils.js +1 -1
  50. package/types/bundles/BitmovinV8.bundle.d.ts +1 -1
  51. package/types/bundles/Hls.bundle.d.ts +3 -2
  52. package/types/bundles/Tv.bundle.d.ts +1 -1
  53. package/types/packages/core/Types.d.ts +4 -0
  54. package/types/packages/core/state/data-ranges/DataRangesAtom.d.ts +1 -0
  55. package/types/packages/core/state/selection-group/SelectionGroupAtom.d.ts +1 -1
  56. package/types/packages/core/state/timeline/TimelineAtom.d.ts +2 -0
  57. package/types/packages/core/state/timeline/TimelineTrackerAtom.d.ts +10 -0
  58. package/types/packages/core/state/timeline/Types.d.ts +31 -0
  59. package/types/packages/core/state/track/TrackAtom.d.ts +1 -0
  60. package/types/packages/core/utils/DomUtils.d.ts +8 -0
  61. package/types/packages/core/utils/MapSubscribe.d.ts +10 -0
  62. package/types/packages/core/utils/MapUnsubscribedError.d.ts +4 -0
  63. package/types/packages/core/utils/StateUtils.d.ts +2 -7
  64. package/types/packages/core/utils/TypedArrayHelper.d.ts +2 -0
  65. package/types/packages/core/utils/Types.d.ts +2 -0
  66. package/types/packages/event-bus/Types.d.ts +1 -1
  67. package/types/packages/subtitles/Subtitles.package.d.ts +17 -0
  68. package/types/packages/subtitles/subtitle-api/SubtitleApi.package.d.ts +12 -0
  69. package/types/packages/subtitles/subtitle-api/Types.d.ts +93 -0
  70. package/types/packages/subtitles/subtitle-base/SubtitleBase.package.d.ts +9 -0
  71. package/types/packages/subtitles/subtitle-base/SubtitleBufferClearingTask.d.ts +3 -0
  72. package/types/packages/subtitles/subtitle-base/SubtitleCueAtom.d.ts +4 -2
  73. package/types/packages/subtitles/subtitle-base/SubtitleCueMapAtom.d.ts +14 -3
  74. package/types/packages/subtitles/subtitle-base/Types.d.ts +14 -1
  75. package/types/packages/subtitles/subtitle-format-detection/SubtitleFormatDetection.package.d.ts +12 -2
  76. package/types/packages/subtitles/subtitle-format-detection/Types.d.ts +9 -3
  77. package/types/packages/subtitles/subtitle-native-renderer/SubtitleNativeRenderer.package.d.ts +12 -0
  78. package/types/packages/subtitles/subtitle-native-renderer/Types.d.ts +20 -0
  79. package/types/packages/subtitles/webvtt/Types.d.ts +47 -0
  80. package/types/packages/subtitles/webvtt/WebVtt.package.d.ts +12 -0
  81. package/types/packages/subtitles/webvtt/WebVttParseTask.d.ts +3 -0
  82. package/types/packages/v8-compat/BitmovinV8StaticApi.package.d.ts +2 -0
  83. package/types/packages/v8-compat/source-api/BitmovinSourceApi.package.d.ts +7 -2
  84. package/types/packages/v8-compat/types/PlayerConfig.d.ts +8 -1
  85. package/types/packages/v8-compat/types/PlayerEventMap.d.ts +410 -0
  86. package/types/packages/v8-compat/types/Types.d.ts +12 -3
  87. package/types/packages/v8-compat/apis/SubtitleApi.d.ts +0 -9
@@ -0,0 +1,10 @@
1
+ import type { EmptyObject } from '../../../../../framework-types/BaseTypes';
2
+ import type { Transient } from '../../utils/StateUtils';
3
+ import type { StateAtom } from '../Types';
4
+ import type { TimelineAtom, TimelineContext, TimelineEntry } from './Types';
5
+ export type CueMapper<Entry extends TimelineEntry> = (entry: Entry) => TextTrackCue;
6
+ export type TimelineTrackerAtom<Entry extends TimelineEntry> = StateAtom<{
7
+ enter: Transient<Entry[]>;
8
+ exit: Transient<Entry[]>;
9
+ }, EmptyObject>;
10
+ export declare function createTimelineTrackerAtom<Entry extends TimelineEntry>(context: TimelineContext, timeline: TimelineAtom<Entry>, textTrackId: string, label: string, kind: TextTrackKind, removeOnAbort?: boolean, toCue?: CueMapper<Entry>): TimelineTrackerAtom<Entry>;
@@ -0,0 +1,31 @@
1
+ import type { ContextHaving } from '../../../../../framework-types/execution-context/Types';
2
+ import type { EmptyObject } from '../../../../Types';
3
+ import type { SourceStateAtom } from '../../../source/atoms/SourceStateAtom';
4
+ import type { SourceExportNames } from '../../../source/Types';
5
+ import type { ContextWithState } from '../../../Types';
6
+ import type { CoreExportNames } from '../../Types';
7
+ import type { Transient } from '../../utils/StateUtils';
8
+ import type { CoreUtils } from '../../utils/Types';
9
+ import type { TimeRange } from '../track/TrackAtom';
10
+ import type { StateAtom } from '../Types';
11
+ export type TimelineContext = ContextHaving<{
12
+ [CoreExportNames.Utils]: CoreUtils;
13
+ [SourceExportNames.SourceState]: SourceStateAtom;
14
+ }, EmptyObject, ContextWithState>;
15
+ export type TimelineEntry = {
16
+ start: number;
17
+ end: number;
18
+ };
19
+ export type Timeline<Entry extends TimelineEntry> = {
20
+ added: Transient<Entry[]>;
21
+ removed: Transient<Entry[]>;
22
+ [Symbol.iterator](): Iterator<Entry>;
23
+ get(time: number): Entry[];
24
+ get(range: TimeRange): Entry[];
25
+ entries(): readonly Entry[];
26
+ };
27
+ export type TimelineAtom<Entry extends TimelineEntry> = StateAtom<Timeline<Entry>, {
28
+ add: (data: Timeline<Entry>, ...toAdd: Entry[]) => boolean;
29
+ remove: (data: Timeline<Entry>, ...toRemove: Entry[]) => boolean;
30
+ clear: (data: Timeline<Entry>) => boolean;
31
+ }>;
@@ -33,6 +33,7 @@ type MediaTrack = BaseTrack & {
33
33
  };
34
34
  type LanguageTrack = BaseTrack & {
35
35
  language: string;
36
+ label?: string;
36
37
  };
37
38
  type VideoTrack = MediaTrack & {
38
39
  uri: string;
@@ -0,0 +1,8 @@
1
+ import type { ContextWithState } from '../../Types';
2
+ declare function getOrCreateTextTrack(context: ContextWithState, video: HTMLVideoElement, label: string, kind: TextTrackKind, id: string): Promise<TextTrack>;
3
+ declare function removeTextTrack(trackId: string): void;
4
+ declare const _default: {
5
+ getOrCreateTextTrack: typeof getOrCreateTextTrack;
6
+ removeTextTrack: typeof removeTextTrack;
7
+ };
8
+ export default _default;
@@ -0,0 +1,10 @@
1
+ import type { NamedTask, Task } from '../../../../framework-types/task/Types';
2
+ import type { Unsubscribe } from '../../../Types';
3
+ import type { ContextWithState } from '../../Types';
4
+ import type { ArrayAtom } from '../state/ArrayStateAtom';
5
+ import type { MapStateAtom } from '../state/MapStateAtom';
6
+ import type { ErrorCallback } from '../state/state-effect/Types';
7
+ type Subscriber<T, C extends ContextWithState> = NamedTask<Task<C, T, void>>;
8
+ export declare function mapSubscribe<C extends ContextWithState, T, _ = void>({ fork, effects }: C, arrayAtom: ArrayAtom<T>, subscriber: Subscriber<T, C>, errorCallback?: ErrorCallback): Unsubscribe;
9
+ export declare function mapSubscribe<C extends ContextWithState, K, V>({ fork, effects }: C, mapAtom: MapStateAtom<K, V>, subscriber: Subscriber<[K, V], C>, errorCallback?: ErrorCallback): Unsubscribe;
10
+ export {};
@@ -0,0 +1,4 @@
1
+ export declare class MapUnsubscribedError extends Error {
2
+ name: string;
3
+ constructor();
4
+ }
@@ -4,17 +4,12 @@ import type { ContextHaving } from '../../../../framework-types/execution-contex
4
4
  import type { AnyTask, NamedTask, Task } from '../../../../framework-types/task/Types';
5
5
  import type { EmptyObject, Unsubscribe } from '../../../Types';
6
6
  import type { ContextWithState } from '../../Types';
7
- import type { ArrayAtom } from '../state/ArrayStateAtom';
8
7
  import type { ErrorCallback, ParameterizedTask, TaskParameter } from '../state/state-effect/Types';
9
8
  import type { IsStateAtom, StateAtom } from '../state/Types';
10
9
  import { CoreExportNames } from '../Types';
10
+ import { mapSubscribe } from './MapSubscribe';
11
+ import { MapUnsubscribedError } from './MapUnsubscribedError';
11
12
  import type { CoreUtils } from './Types';
12
- declare class MapUnsubscribedError extends Error {
13
- name: string;
14
- constructor();
15
- }
16
- type Subscriber<T, C extends ContextWithState> = NamedTask<Task<C, T, void>>;
17
- declare function mapSubscribe<C extends ContextWithState, T>({ fork, effects }: C, arrayAtom: ArrayAtom<T>, subscriber: Subscriber<T, C>, errorCallback?: ErrorCallback): Unsubscribe;
18
13
  declare function subscribeAndRun<Ctx extends ContextWithState, Atom extends StateAtom, A extends ParameterizedTask<Atom, NamedTask<AnyTask>>>(context: Ctx, atom: TaskParameter<Atom, A>, task: ContextualizedTask<Ctx, A>, errorCallback?: ErrorCallback): Unsubscribe;
19
14
  declare function deriveFrom<O, K extends keyof O>(obj: O, key: K, derive: (obj: O) => O[K]): void;
20
15
  declare function subscribeOnce<Ctx extends ContextWithState, Atom extends StateAtom>(context: Ctx, atom: IsStateAtom<Atom> extends true ? Atom : never, task: NamedTask<Task<Ctx, Atom, unknown>>, errorCallback?: ErrorCallback): Unsubscribe;
@@ -1,7 +1,9 @@
1
1
  declare function merge(buffers: Uint8Array[]): Uint8Array;
2
2
  declare function arrayBufferToString(buffer: ArrayBuffer): string;
3
+ declare function stringToArrayBuffer(str: string): ArrayBuffer;
3
4
  declare const _default: {
4
5
  merge: typeof merge;
5
6
  arrayBufferToString: typeof arrayBufferToString;
7
+ stringToArrayBuffer: typeof stringToArrayBuffer;
6
8
  };
7
9
  export default _default;
@@ -1,6 +1,7 @@
1
1
  import type AnsiEscapeSequences from './AnsiEscapeSequences';
2
2
  import type ArrayHelper from './ArrayHelper';
3
3
  import type CodecStringHelper from './CodecStringHelper';
4
+ import type DomUtils from './DomUtils';
4
5
  import type ErrorHelper from './FormatError';
5
6
  import type { Logger } from './Logger';
6
7
  import type RangesHelper from './RangesHelper';
@@ -9,6 +10,7 @@ import type StringHelper from './StringHelper';
9
10
  import type TypedArrayHelper from './TypedArrayHelper';
10
11
  import type UrlHelper from './UrlHelper';
11
12
  export type CoreUtils = {
13
+ Dom: typeof DomUtils;
12
14
  Url: typeof UrlHelper;
13
15
  Codecs: typeof CodecStringHelper;
14
16
  Logger: typeof Logger;
@@ -16,7 +16,7 @@ export type EventBus<EventMap extends {
16
16
  }> = {
17
17
  on<Name extends keyof EventMap>(name: Name, listener: EventListener<EventMap[Name]>): void;
18
18
  off<Name extends keyof EventMap>(name: Name, listener: EventListener<EventMap[Name]>): void;
19
- dispatch<Name extends keyof EventMap>(context: EventBusContext, name: Name, event: EventMap[Name] & Partial<EventBase>): void;
19
+ dispatch<Name extends keyof EventMap>(context: EventBusContext, name: Name, event: Omit<EventMap[Name], 'type' | 'timestamp'> & Partial<EventBase>): void;
20
20
  };
21
21
  export declare enum EventBusExportNames {
22
22
  CreateEventBus = "create-event-bus"
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @packageDocumentation Subtitles.package
3
+ *
4
+ * Provides all needed functionality that enables subtitle support.
5
+ * At the moment it adds several packages
6
+ * - SubtitleBase package
7
+ * - SubtitleApi package
8
+ * - SubtitleNativeRenderer package
9
+ * - SubtitleFormatDetection package
10
+ * - WebVtt package
11
+ *
12
+ * ### `Subtitles` Package Dependency Graph
13
+ * <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>
14
+ */
15
+ import type { EmptyObject } from '../../../framework-types/BaseTypes';
16
+ export declare const SubtitlesPackage: import("../../../framework-types/package-api/Package").Package<EmptyObject, EmptyObject, EmptyObject>;
17
+ export default SubtitlesPackage;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @packageDocumentation SubtitleApi.package
3
+ *
4
+ * Exposes subtitles API on the source API.
5
+ *
6
+ * ### `SubtitleApi` Package Dependency Graph
7
+ * <svg aria-roledescription="flowchart-v2" role="graphics-document document" viewBox="-8 -43 1339.484375 794.75" style="max-width: 1339.48px; background-color: transparent;" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" width="100%" id="my-svg"><style>#my-svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#ccc;}#my-svg .error-icon{fill:#a44141;}#my-svg .error-text{fill:#ddd;stroke:#ddd;}#my-svg .edge-thickness-normal{stroke-width:2px;}#my-svg .edge-thickness-thick{stroke-width:3.5px;}#my-svg .edge-pattern-solid{stroke-dasharray:0;}#my-svg .edge-pattern-dashed{stroke-dasharray:3;}#my-svg .edge-pattern-dotted{stroke-dasharray:2;}#my-svg .marker{fill:lightgrey;stroke:lightgrey;}#my-svg .marker.cross{stroke:lightgrey;}#my-svg svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#my-svg .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#ccc;}#my-svg .cluster-label text{fill:#F9FFFE;}#my-svg .cluster-label span,#my-svg p{color:#F9FFFE;}#my-svg .label text,#my-svg span,#my-svg p{fill:#ccc;color:#ccc;}#my-svg .node rect,#my-svg .node circle,#my-svg .node ellipse,#my-svg .node polygon,#my-svg .node path{fill:#1f2020;stroke:#81B1DB;stroke-width:1px;}#my-svg .flowchart-label text{text-anchor:middle;}#my-svg .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#my-svg .node .label{text-align:center;}#my-svg .node.clickable{cursor:pointer;}#my-svg .arrowheadPath{fill:lightgrey;}#my-svg .edgePath .path{stroke:lightgrey;stroke-width:2.0px;}#my-svg .flowchart-link{stroke:lightgrey;fill:none;}#my-svg .edgeLabel{background-color:hsl(0, 0%, 34.4117647059%);text-align:center;}#my-svg .edgeLabel rect{opacity:0.5;background-color:hsl(0, 0%, 34.4117647059%);fill:hsl(0, 0%, 34.4117647059%);}#my-svg .labelBkg{background-color:rgba(87.75, 87.75, 87.75, 0.5);}#my-svg .cluster rect{fill:hsl(180, 1.5873015873%, 28.3529411765%);stroke:rgba(255, 255, 255, 0.25);stroke-width:1px;}#my-svg .cluster text{fill:#F9FFFE;}#my-svg .cluster span,#my-svg p{color:#F9FFFE;}#my-svg div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(20, 1.5873015873%, 12.3529411765%);border:1px solid rgba(255, 255, 255, 0.25);border-radius:2px;pointer-events:none;z-index:100;}#my-svg .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#ccc;}#my-svg :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g><marker orient="auto" markerHeight="12" markerWidth="12" markerUnits="userSpaceOnUse" refY="5" refX="6" viewBox="0 0 10 10" class="marker flowchart" id="my-svg_flowchart-pointEnd"><path style="stroke-width: 1; stroke-dasharray: 1, 0;" class="arrowMarkerPath" d="M 0 0 L 10 5 L 0 10 z"/></marker><marker orient="auto" markerHeight="12" markerWidth="12" markerUnits="userSpaceOnUse" refY="5" refX="4.5" viewBox="0 0 10 10" class="marker flowchart" id="my-svg_flowchart-pointStart"><path style="stroke-width: 1; stroke-dasharray: 1, 0;" class="arrowMarkerPath" d="M 0 5 L 10 10 L 10 0 z"/></marker><marker orient="auto" markerHeight="11" markerWidth="11" markerUnits="userSpaceOnUse" refY="5" refX="11" viewBox="0 0 10 10" class="marker flowchart" id="my-svg_flowchart-circleEnd"><circle style="stroke-width: 1; stroke-dasharray: 1, 0;" class="arrowMarkerPath" r="5" cy="5" cx="5"/></marker><marker orient="auto" markerHeight="11" markerWidth="11" markerUnits="userSpaceOnUse" refY="5" refX="-1" viewBox="0 0 10 10" class="marker flowchart" id="my-svg_flowchart-circleStart"><circle style="stroke-width: 1; stroke-dasharray: 1, 0;" class="arrowMarkerPath" r="5" cy="5" cx="5"/></marker><marker orient="auto" markerHeight="11" markerWidth="11" markerUnits="userSpaceOnUse" refY="5.2" refX="12" viewBox="0 0 11 11" class="marker cross flowchart" id="my-svg_flowchart-crossEnd"><path style="stroke-width: 2; stroke-dasharray: 1, 0;" class="arrowMarkerPath" d="M 1,1 l 9,9 M 10,1 l -9,9"/></marker><marker orient="auto" markerHeight="11" markerWidth="11" markerUnits="userSpaceOnUse" refY="5.2" refX="-1" viewBox="0 0 11 11" class="marker cross flowchart" id="my-svg_flowchart-crossStart"><path style="stroke-width: 2; stroke-dasharray: 1, 0;" class="arrowMarkerPath" d="M 1,1 l 9,9 M 10,1 l -9,9"/></marker><g class="root"><g class="clusters"/><g class="edgePaths"><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-SubtitleApi LE-Core" id="L-SubtitleApi-Core-0" d="M47.771,526.25L59.225,432.708C70.68,339.167,93.59,152.083,117.949,58.542C142.307,-35,168.115,-35,193.922,-35C219.729,-35,245.536,-35,266.673,-35C287.81,-35,304.276,-35,320.742,-35C337.208,-35,353.674,-35,372.215,-35C390.755,-35,411.37,-35,431.984,-35C452.599,-35,473.214,-35,500.87,-35C528.526,-35,563.224,-35,597.922,-35C632.62,-35,667.318,-35,702.089,-35C736.859,-35,771.703,-35,806.547,-35C841.391,-35,876.234,-35,915.056,-35C953.878,-35,996.677,-35,1039.477,-35C1082.276,-35,1125.076,-35,1160.392,9.074C1195.708,53.149,1223.541,141.297,1237.457,185.372L1251.374,229.446"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-SubtitleApi LE-Data" id="L-SubtitleApi-Data-0" d="M48.784,526.25L60.07,464.875C71.356,403.5,93.928,280.75,118.118,219.375C142.307,158,168.115,158,193.922,158C219.729,158,245.536,158,261.723,158C277.91,158,284.477,158,287.76,158L291.044,158"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-SubtitleApi LE-SubtitleBase" id="L-SubtitleApi-SubtitleBase-0" d="M91.5,550.186L95.667,550.864C99.833,551.541,108.167,552.895,115.617,553.573C123.067,554.25,129.633,554.25,132.917,554.25L136.2,554.25"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-SubtitleApi LE-Source" id="L-SubtitleApi-Source-0" d="M63.109,559.25L72.007,567.708C80.906,576.167,98.703,593.083,120.505,601.542C142.307,610,168.115,610,193.922,610C219.729,610,245.536,610,266.673,610C287.81,610,304.276,610,320.742,610C337.208,610,353.674,610,372.215,610C390.755,610,411.37,610,431.984,610C452.599,610,473.214,610,500.87,610C528.526,610,563.224,610,597.922,610C632.62,610,667.318,610,702.089,610C736.859,610,771.703,610,806.547,610C841.391,610,876.234,610,913.242,571.828C950.249,533.655,989.42,457.31,1009.006,419.138L1028.591,380.966"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-SubtitleApi LE-BitmovinV8StaticApi" id="L-SubtitleApi-BitmovinV8StaticApi-0" d="M58.302,559.25L68.002,572C77.702,584.75,97.101,610.25,119.704,623C142.307,635.75,168.115,635.75,193.922,635.75C219.729,635.75,245.536,635.75,266.673,635.75C287.81,635.75,304.276,635.75,320.742,635.75C337.208,635.75,353.674,635.75,372.215,635.75C390.755,635.75,411.37,635.75,431.984,635.75C452.599,635.75,473.214,635.75,500.87,635.75C528.526,635.75,563.224,635.75,597.922,635.75C632.62,635.75,667.318,635.75,700.714,594.033C734.109,552.316,766.203,468.881,782.25,427.164L798.297,385.447"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-SubtitleApi LE-SourcesApi" id="L-SubtitleApi-SourcesApi-0" d="M54.527,559.25L64.856,578.667C75.185,598.083,95.842,636.917,119.075,656.333C142.307,675.75,168.115,675.75,193.922,675.75C219.729,675.75,245.536,675.75,266.673,675.75C287.81,675.75,304.276,675.75,320.742,675.75C337.208,675.75,353.674,675.75,372.215,675.75C390.755,675.75,411.37,675.75,431.984,675.75C452.599,675.75,473.214,675.75,500.87,675.75C528.526,675.75,563.224,675.75,597.922,675.75C632.62,675.75,667.318,675.75,693.136,675.75C718.955,675.75,735.894,675.75,744.363,675.75L752.833,675.75"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Data LE-Capabilities" id="L-Data-Capabilities-0" d="M326.502,141.5L333.775,120.667C341.048,99.833,355.595,58.167,373.175,37.333C390.755,16.5,411.37,16.5,431.984,16.5C452.599,16.5,473.214,16.5,500.87,16.5C528.526,16.5,563.224,16.5,597.922,16.5C632.62,16.5,667.318,16.5,702.089,16.5C736.859,16.5,771.703,16.5,806.547,16.5C841.391,16.5,876.234,16.5,906.029,16.5C935.824,16.5,960.571,16.5,972.944,16.5L985.317,16.5"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Data LE-Core" id="L-Data-Core-0" d="M329.799,141.5L336.522,129.25C343.246,117,356.693,92.5,373.724,80.25C390.755,68,411.37,68,431.984,68C452.599,68,473.214,68,500.87,68C528.526,68,563.224,68,597.922,68C632.62,68,667.318,68,702.089,68C736.859,68,771.703,68,806.547,68C841.391,68,876.234,68,915.056,68C953.878,68,996.677,68,1039.477,68C1082.276,68,1125.076,68,1159.778,94.958C1194.481,121.916,1221.086,175.831,1234.389,202.789L1247.692,229.747"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Data LE-Adaptation" id="L-Data-Adaptation-0" d="M344.54,141.5L348.807,138.542C353.074,135.583,361.607,129.667,376.181,126.708C390.755,123.75,411.37,123.75,431.984,123.75C452.599,123.75,473.214,123.75,492.36,123.75C511.507,123.75,529.185,123.75,538.025,123.75L546.864,123.75"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Data LE-Network" id="L-Data-Network-0" d="M345.141,171.459L349.307,173.758C353.474,176.056,361.807,180.653,369.257,182.952C376.707,185.25,383.274,185.25,386.557,185.25L389.841,185.25"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Data LE-SegmentProcessing" id="L-Data-SegmentProcessing-0" d="M331.092,174.5L337.6,184.875C344.108,195.25,357.125,216,373.94,226.375C390.755,236.75,411.37,236.75,431.984,236.75C452.599,236.75,473.214,236.75,486.804,236.75C500.395,236.75,506.961,236.75,510.245,236.75L513.528,236.75"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Data LE-Source" id="L-Data-Source-0" d="M327,174.5L334.19,193.458C341.38,212.417,355.76,250.333,373.258,269.292C390.755,288.25,411.37,288.25,431.984,288.25C452.599,288.25,473.214,288.25,500.87,288.25C528.526,288.25,563.224,288.25,597.922,288.25C632.62,288.25,667.318,288.25,702.089,288.25C736.859,288.25,771.703,288.25,806.547,288.25C841.391,288.25,876.234,288.25,909.346,296.987C942.457,305.724,973.837,323.198,989.526,331.935L1005.216,340.671"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Data LE-BitmovinV8StaticApi" id="L-Data-BitmovinV8StaticApi-0" d="M324.699,174.5L332.272,206.083C339.846,237.667,354.993,300.833,372.874,332.417C390.755,364,411.37,364,431.984,364C452.599,364,473.214,364,500.87,364C528.526,364,563.224,364,597.922,364C632.62,364,667.318,364,687.95,364C708.582,364,715.149,364,718.432,364L721.716,364"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Capabilities LE-Core" id="L-Capabilities-Core-0" d="M1088.336,16.5L1101.592,16.5C1114.849,16.5,1141.362,16.5,1168.293,52.009C1195.224,87.518,1222.572,158.536,1236.247,194.045L1249.921,229.554"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Adaptation LE-Core" id="L-Adaptation-Core-0" d="M643.68,110.563L653.402,107.76C663.125,104.958,682.57,99.354,709.715,96.552C736.859,93.75,771.703,93.75,806.547,93.75C841.391,93.75,876.234,93.75,915.056,93.75C953.878,93.75,996.677,93.75,1039.477,93.75C1082.276,93.75,1125.076,93.75,1159.507,116.442C1193.938,139.135,1220.002,184.519,1233.033,207.212L1246.065,229.904"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Adaptation LE-Source" id="L-Adaptation-Source-0" d="M643.68,119.354L653.402,118.42C663.125,117.486,682.57,115.618,709.715,114.684C736.859,113.75,771.703,113.75,806.547,113.75C841.391,113.75,876.234,113.75,913.212,151.217C950.189,188.684,989.301,263.618,1008.856,301.085L1028.412,338.551"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Adaptation LE-BitmovinV8StaticApi" id="L-Adaptation-BitmovinV8StaticApi-0" d="M643.68,130.673L653.402,132.145C663.125,133.616,682.57,136.558,708.062,171.895C733.553,207.232,765.09,274.964,780.858,308.829L796.627,342.695"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Source LE-Core" id="L-Source-Core-0" d="M1072.328,359.75L1088.253,359.75C1104.177,359.75,1136.026,359.75,1164.153,345.055C1192.281,330.359,1216.687,300.968,1228.89,286.273L1241.092,271.577"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-BitmovinV8StaticApi LE-Core" id="L-BitmovinV8StaticApi-Core-0" d="M837.484,347.5L849.75,340.958C862.016,334.417,886.547,321.333,920.212,314.792C953.878,308.25,996.677,308.25,1039.477,308.25C1082.276,308.25,1125.076,308.25,1156.639,301.806C1188.203,295.363,1208.531,282.475,1218.696,276.032L1228.86,269.588"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-BitmovinV8StaticApi LE-Source" id="L-BitmovinV8StaticApi-Source-0" d="M886.078,360.766L890.245,360.597C894.411,360.428,902.745,360.089,921.953,359.919C941.16,359.75,971.243,359.75,986.284,359.75L1001.325,359.75"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-BitmovinV8StaticApi LE-BitmovinV8Core" id="L-BitmovinV8StaticApi-BitmovinV8Core-0" d="M843.05,380.5L854.388,385.625C865.726,390.75,888.402,401,921.14,406.125C953.878,411.25,996.677,411.25,1039.477,411.25C1082.276,411.25,1125.076,411.25,1155.31,415.726C1185.544,420.202,1203.214,429.153,1212.048,433.629L1220.883,438.105"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-BitmovinV8StaticApi LE-BitmovinVideoElementUtils" id="L-BitmovinV8StaticApi-BitmovinVideoElementUtils-0" d="M824.013,380.5L838.524,394.208C853.035,407.917,882.056,435.333,899.851,449.042C917.645,462.75,924.211,462.75,927.495,462.75L930.778,462.75"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-BitmovinVideoElementUtils LE-Core" id="L-BitmovinVideoElementUtils-Core-0" d="M1142.875,450.067L1147.042,449.556C1151.208,449.044,1159.542,448.022,1177.122,418.397C1194.703,388.771,1221.531,330.542,1234.946,301.428L1248.36,272.314"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-BitmovinVideoElementUtils LE-BitmovinV8Core" id="L-BitmovinVideoElementUtils-BitmovinV8Core-0" d="M1142.875,475.433L1147.042,475.944C1151.208,476.456,1159.542,477.478,1167.016,477.201C1174.49,476.925,1181.104,475.35,1184.412,474.563L1187.719,473.775"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Network LE-Core" id="L-Network-Core-0" d="M468.828,179.292L472.995,178.619C477.161,177.945,485.495,176.597,507.01,175.924C528.526,175.25,563.224,175.25,597.922,175.25C632.62,175.25,667.318,175.25,702.089,175.25C736.859,175.25,771.703,175.25,806.547,175.25C841.391,175.25,876.234,175.25,915.056,175.25C953.878,175.25,996.677,175.25,1039.477,175.25C1082.276,175.25,1125.076,175.25,1157.571,184.557C1190.066,193.865,1212.258,212.479,1223.353,221.787L1234.449,231.094"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Network LE-Adaptation" id="L-Network-Adaptation-0" d="M468.828,194.633L472.995,195.694C477.161,196.755,485.495,198.878,502.595,190.34C519.696,181.803,545.564,162.606,558.498,153.007L571.432,143.408"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-SegmentProcessing LE-Source" id="L-SegmentProcessing-Source-0" d="M664.623,220.25L670.855,218.708C677.087,217.167,689.551,214.083,713.205,212.542C736.859,211,771.703,211,806.547,211C841.391,211,876.234,211,912.105,232.373C947.976,253.746,984.873,296.492,1003.322,317.865L1021.771,339.238"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-SegmentProcessing LE-BitmovinV8StaticApi" id="L-SegmentProcessing-BitmovinV8StaticApi-0" d="M677.016,248.717L681.182,249.348C685.349,249.978,693.682,251.239,712.089,267.058C730.495,282.878,758.974,313.256,773.214,328.445L787.453,343.633"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-SubtitleBase LE-Core" id="L-SubtitleBase-Core-0" d="M225.858,537.75L233.439,533.833C241.02,529.917,256.182,522.083,271.996,518.167C287.81,514.25,304.276,514.25,320.742,514.25C337.208,514.25,353.674,514.25,372.215,514.25C390.755,514.25,411.37,514.25,431.984,514.25C452.599,514.25,473.214,514.25,500.87,514.25C528.526,514.25,563.224,514.25,597.922,514.25C632.62,514.25,667.318,514.25,702.089,514.25C736.859,514.25,771.703,514.25,806.547,514.25C841.391,514.25,876.234,514.25,915.056,514.25C953.878,514.25,996.677,514.25,1039.477,514.25C1082.276,514.25,1125.076,514.25,1160.296,473.961C1195.517,433.671,1223.158,353.092,1236.979,312.803L1250.8,272.513"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-SubtitleBase LE-Data" id="L-SubtitleBase-Data-0" d="M246.344,540.708L250.51,539.632C254.677,538.555,263.01,536.403,274.934,476.244C286.858,416.085,302.372,297.92,310.129,238.837L317.886,179.755"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-SubtitleBase LE-Source" id="L-SubtitleBase-Source-0" d="M246.344,554.25L250.51,554.25C254.677,554.25,263.01,554.25,275.41,554.25C287.81,554.25,304.276,554.25,320.742,554.25C337.208,554.25,353.674,554.25,372.215,554.25C390.755,554.25,411.37,554.25,431.984,554.25C452.599,554.25,473.214,554.25,500.87,554.25C528.526,554.25,563.224,554.25,597.922,554.25C632.62,554.25,667.318,554.25,702.089,554.25C736.859,554.25,771.703,554.25,806.547,554.25C841.391,554.25,876.234,554.25,912.754,525.321C949.273,496.391,987.469,438.532,1006.567,409.603L1025.664,380.673"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-SubtitleBase LE-BitmovinV8StaticApi" id="L-SubtitleBase-BitmovinV8StaticApi-0" d="M246.344,567.792L250.51,568.868C254.677,569.945,263.01,572.097,275.41,573.174C287.81,574.25,304.276,574.25,320.742,574.25C337.208,574.25,353.674,574.25,372.215,574.25C390.755,574.25,411.37,574.25,431.984,574.25C452.599,574.25,473.214,574.25,500.87,574.25C528.526,574.25,563.224,574.25,597.922,574.25C632.62,574.25,667.318,574.25,700.328,542.749C733.338,511.249,764.661,448.247,780.323,416.747L795.984,385.246"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-SourcesApi LE-Core" id="L-SourcesApi-Core-0" d="M849.666,659.25L859.901,655.333C870.137,651.417,890.607,643.583,922.243,639.667C953.878,635.75,996.677,635.75,1039.477,635.75C1082.276,635.75,1125.076,635.75,1160.679,575.235C1196.282,514.72,1224.689,393.69,1238.892,333.175L1253.096,272.66"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-SourcesApi LE-Source" id="L-SourcesApi-Source-0" d="M854.961,666.487L864.314,664.697C873.667,662.908,892.372,659.329,921.581,611.767C950.789,564.204,990.499,472.658,1010.355,426.885L1030.21,381.112"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-SourcesApi LE-EventBus" id="L-SourcesApi-EventBus-0" d="M854.961,675.75L864.314,675.75C873.667,675.75,892.372,675.75,923.125,675.75C953.878,675.75,996.677,675.75,1039.477,675.75C1082.276,675.75,1125.076,675.75,1155.937,681.146C1186.798,686.541,1205.72,697.333,1215.182,702.729L1224.643,708.124"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-SourcesApi LE-PlayerApi" id="L-SourcesApi-PlayerApi-0" d="M840.037,692.25L851.878,698.083C863.718,703.917,887.398,715.583,912.797,721.417C938.197,727.25,965.316,727.25,978.875,727.25L992.434,727.25"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-PlayerApi LE-EventBus" id="L-PlayerApi-EventBus-0" d="M1081.219,727.25L1095.661,727.25C1110.104,727.25,1138.99,727.25,1160.643,727.25C1182.296,727.25,1196.717,727.25,1203.927,727.25L1211.138,727.25"/></g><g class="edgeLabels"><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g></g><g class="nodes"><g transform="translate(45.75, 542.75)" data-id="SubtitleApi" data-node="true" id="flowchart-SubtitleApi-0" class="node default default flowchart-label"><rect height="33" width="91.5" y="-16.5" x="-45.75" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-38.25, -9)" style="" class="label"><rect/><foreignObject height="18" width="76.5"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">SubtitleApi</span></div></foreignObject></g></g><g transform="translate(1258.1796875, 251)" data-id="Core" data-node="true" id="flowchart-Core-1" class="node default default flowchart-label"><rect height="33" width="49.6875" y="-16.5" x="-24.84375" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-17.34375, -9)" style="" class="label"><rect/><foreignObject height="18" width="34.6875"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">Core</span></div></foreignObject></g></g><g transform="translate(320.7421875, 158)" data-id="Data" data-node="true" id="flowchart-Data-3" class="node default default flowchart-label"><rect height="33" width="48.796875" y="-16.5" x="-24.3984375" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-16.8984375, -9)" style="" class="label"><rect/><foreignObject height="18" width="33.796875"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">Data</span></div></foreignObject></g></g><g transform="translate(193.921875, 554.25)" data-id="SubtitleBase" data-node="true" id="flowchart-SubtitleBase-5" class="node default default flowchart-label"><rect height="33" width="104.84375" y="-16.5" x="-52.421875" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-44.921875, -9)" style="" class="label"><rect/><foreignObject height="18" width="89.84375"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">SubtitleBase</span></div></foreignObject></g></g><g transform="translate(1039.4765625, 359.75)" data-id="Source" data-node="true" id="flowchart-Source-7" class="node default default flowchart-label"><rect height="33" width="65.703125" y="-16.5" x="-32.8515625" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-25.3515625, -9)" style="" class="label"><rect/><foreignObject height="18" width="50.703125"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">Source</span></div></foreignObject></g></g><g transform="translate(806.546875, 364)" data-id="BitmovinV8StaticApi" data-node="true" id="flowchart-BitmovinV8StaticApi-9" class="node default default flowchart-label"><rect height="33" width="159.0625" y="-16.5" x="-79.53125" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-72.03125, -9)" style="" class="label"><rect/><foreignObject height="18" width="144.0625"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">BitmovinV8StaticApi</span></div></foreignObject></g></g><g transform="translate(806.546875, 675.75)" data-id="SourcesApi" data-node="true" id="flowchart-SourcesApi-11" class="node default default flowchart-label"><rect height="33" width="96.828125" y="-16.5" x="-48.4140625" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-40.9140625, -9)" style="" class="label"><rect/><foreignObject height="18" width="81.828125"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">SourcesApi</span></div></foreignObject></g></g><g transform="translate(1039.4765625, 16.5)" data-id="Capabilities" data-node="true" id="flowchart-Capabilities-13" class="node default default flowchart-label"><rect height="33" width="97.71875" y="-16.5" x="-48.859375" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-41.359375, -9)" style="" class="label"><rect/><foreignObject height="18" width="82.71875"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">Capabilities</span></div></foreignObject></g></g><g transform="translate(597.921875, 123.75)" data-id="Adaptation" data-node="true" id="flowchart-Adaptation-17" class="node default default flowchart-label"><rect height="33" width="91.515625" y="-16.5" x="-45.7578125" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-38.2578125, -9)" style="" class="label"><rect/><foreignObject height="18" width="76.515625"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">Adaptation</span></div></foreignObject></g></g><g transform="translate(431.984375, 185.25)" data-id="Network" data-node="true" id="flowchart-Network-19" class="node default default flowchart-label"><rect height="33" width="73.6875" y="-16.5" x="-36.84375" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-29.34375, -9)" style="" class="label"><rect/><foreignObject height="18" width="58.6875"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">Network</span></div></foreignObject></g></g><g transform="translate(597.921875, 236.75)" data-id="SegmentProcessing" data-node="true" id="flowchart-SegmentProcessing-21" class="node default default flowchart-label"><rect height="33" width="158.1875" y="-16.5" x="-79.09375" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-71.59375, -9)" style="" class="label"><rect/><foreignObject height="18" width="143.1875"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">SegmentProcessing</span></div></foreignObject></g></g><g transform="translate(1258.1796875, 457)" data-id="BitmovinV8Core" data-node="true" id="flowchart-BitmovinV8Core-41" class="node default default flowchart-label"><rect height="33" width="130.609375" y="-16.5" x="-65.3046875" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-57.8046875, -9)" style="" class="label"><rect/><foreignObject height="18" width="115.609375"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">BitmovinV8Core</span></div></foreignObject></g></g><g transform="translate(1039.4765625, 462.75)" data-id="BitmovinVideoElementUtils" data-node="true" id="flowchart-BitmovinVideoElementUtils-43" class="node default default flowchart-label"><rect height="33" width="206.796875" y="-16.5" x="-103.3984375" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-95.8984375, -9)" style="" class="label"><rect/><foreignObject height="18" width="191.796875"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">BitmovinVideoElementUtils</span></div></foreignObject></g></g><g transform="translate(1258.1796875, 727.25)" data-id="EventBus" data-node="true" id="flowchart-EventBus-69" class="node default default flowchart-label"><rect height="33" width="83.484375" y="-16.5" x="-41.7421875" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-34.2421875, -9)" style="" class="label"><rect/><foreignObject height="18" width="68.484375"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">EventBus</span></div></foreignObject></g></g><g transform="translate(1039.4765625, 727.25)" data-id="PlayerApi" data-node="true" id="flowchart-PlayerApi-71" class="node default default flowchart-label"><rect height="33" width="83.484375" y="-16.5" x="-41.7421875" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-34.2421875, -9)" style="" class="label"><rect/><foreignObject height="18" width="68.484375"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">PlayerApi</span></div></foreignObject></g></g></g></g></g></svg>
8
+ */
9
+ import type { EmptyObject } from '../../../../framework-types/BaseTypes';
10
+ import type { SubtitleApiDependencies, SubtitleApiExports } from './Types';
11
+ export declare const SubtitleApiPackage: import("../../../../framework-types/package-api/Package").Package<SubtitleApiDependencies, SubtitleApiExports, EmptyObject>;
12
+ export default SubtitleApiPackage;
@@ -0,0 +1,93 @@
1
+ import type { ApiManager } from '../../../../framework-types/api-manager/ApiManager';
2
+ import type { ContextHaving } from '../../../../framework-types/execution-context/Types';
3
+ import type { BundleExportNames } from '../../../bundles/Types';
4
+ import type { Constants, SubtitleFormatType } from '../../core/Constants';
5
+ import type { StreamTimelineAtom } from '../../core/state/stream-timeline/StreamTimelineMapAtom';
6
+ import type { CoreEffects, CoreExportNames, CoreStateAtoms } from '../../core/Types';
7
+ import type { Logger } from '../../core/utils/Logger';
8
+ import type { CoreUtils } from '../../core/utils/Types';
9
+ import type { DataExportNames } from '../../data/Types';
10
+ import type { EventBase, EventBus } from '../../event-bus/Types';
11
+ import type { SourceStateAtom } from '../../source/atoms/SourceStateAtom';
12
+ import type { SourceExportNames } from '../../source/Types';
13
+ import type { SourcesApiExportNames } from '../../sources-api/Types';
14
+ import type { ContextWithState } from '../../Types';
15
+ import type { SubtitleCueAtom } from '../subtitle-base/SubtitleCueAtom';
16
+ import type { SubtitleCueMapAtom } from '../subtitle-base/SubtitleCueMapAtom';
17
+ import type { SubtitleBaseExportNames } from '../subtitle-base/Types';
18
+ export type SubtitleApiDependencies = {
19
+ [CoreExportNames.CoreEffects]: CoreEffects;
20
+ [CoreExportNames.CoreStateAtoms]: CoreStateAtoms;
21
+ [CoreExportNames.Utils]: CoreUtils;
22
+ [CoreExportNames.Constants]: Constants;
23
+ [DataExportNames.StreamTimeline]: StreamTimelineAtom;
24
+ [BundleExportNames.Logger]: Logger;
25
+ [SourceExportNames.SourceState]: SourceStateAtom;
26
+ [SourcesApiExportNames.SourceApiManager]: ApiManager<SubtitleSourceApi>;
27
+ [SourcesApiExportNames.SourceEventBus]: EventBus<SubtitleEventMap>;
28
+ [SubtitleBaseExportNames.SubtitleCueMapAtom]: SubtitleCueMapAtom;
29
+ };
30
+ export declare enum SubtitleApiExportNames {
31
+ SubtitleEvent = "subtitle-api-event"
32
+ }
33
+ export type SubtitleApiExports = {
34
+ [SubtitleApiExportNames.SubtitleEvent]: typeof SubtitleEvent;
35
+ };
36
+ export type SubtitleApiContext = ContextHaving<SubtitleApiDependencies, SubtitleApiExports, ContextWithState>;
37
+ export type SubtitleTrack = {
38
+ id: string;
39
+ uri?: string;
40
+ formatType: SubtitleFormatType;
41
+ external: boolean;
42
+ fragmented: boolean;
43
+ language: string;
44
+ enabled: boolean;
45
+ label: string;
46
+ };
47
+ export type SubtitleApi = {
48
+ readonly list: SubtitleTrack[];
49
+ activate(id: string, disableOthers?: boolean): boolean;
50
+ activate(track: SubtitleTrack, disableOthers?: boolean): boolean;
51
+ activate(toActivate: SubtitleTrack | string, disableOthers?: boolean): boolean;
52
+ deactivate(id: string): boolean;
53
+ deactivate(track: SubtitleTrack): boolean;
54
+ deactivate(toDeactivate: SubtitleTrack | string): boolean;
55
+ add(track: {
56
+ language: string;
57
+ url: string;
58
+ label: string;
59
+ }): SubtitleTrack;
60
+ remove(id: string): boolean;
61
+ remove(track: SubtitleTrack): boolean;
62
+ remove(toRemove: SubtitleTrack | string): boolean;
63
+ };
64
+ export type SubtitleSourceApi = {
65
+ subtitles: SubtitleApi;
66
+ };
67
+ export declare enum SubtitleEvent {
68
+ TrackAvailable = "subtitle-track-available",
69
+ TrackUnavailable = "subtitle-track-unavailable",
70
+ TrackActivated = "subtitle-track-activated",
71
+ TrackDeactivated = "subtitle-track-deactivated",
72
+ CueParsed = "subtitle-cue-parsed",
73
+ CueEnter = "subtitle-cue-enter",
74
+ CueExit = "subtitle-cue-exit"
75
+ }
76
+ export interface TrackEvent extends EventBase {
77
+ track: SubtitleTrack;
78
+ }
79
+ export interface CueEvent extends TrackEvent {
80
+ cue: SubtitleCueAtom;
81
+ }
82
+ export interface CueParsedEvent extends TrackEvent {
83
+ cues: SubtitleCueAtom[];
84
+ }
85
+ export type SubtitleEventMap = {
86
+ [SubtitleEvent.TrackAvailable]: TrackEvent;
87
+ [SubtitleEvent.TrackUnavailable]: TrackEvent;
88
+ [SubtitleEvent.TrackActivated]: TrackEvent;
89
+ [SubtitleEvent.TrackDeactivated]: TrackEvent;
90
+ [SubtitleEvent.CueParsed]: CueParsedEvent;
91
+ [SubtitleEvent.CueEnter]: CueEvent;
92
+ [SubtitleEvent.CueExit]: CueEvent;
93
+ };
@@ -1,3 +1,12 @@
1
+ /**
2
+ * @packageDocumentation SubtitleBase.package
3
+ *
4
+ * Exports `SubtitleCueMapAtom` which is used for storing subtitle cues as we are loading and parsing them.
5
+ * It additionally exports `CreateSubtitleCueAtom` factory, and handles clearing `StreamTimeline` and `SubtitleCueMapAtom`.
6
+ *
7
+ * ### `SubtitleBase` Package Dependency Graph
8
+ * <svg aria-roledescription="flowchart-v2" role="graphics-document document" viewBox="-8 -43 1197.984375 538" style="max-width: 1197.98px; 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-SubtitleBase LE-Core" id="L-SubtitleBase-Core-0" d="M55.98,307.5L68.291,250.417C80.601,193.333,105.223,79.167,125.766,22.083C146.31,-35,162.776,-35,179.242,-35C195.708,-35,212.174,-35,230.715,-35C249.255,-35,269.87,-35,290.484,-35C311.099,-35,331.714,-35,359.37,-35C387.026,-35,421.724,-35,456.422,-35C491.12,-35,525.818,-35,560.589,-35C595.359,-35,630.203,-35,665.047,-35C699.891,-35,734.734,-35,773.556,-35C812.378,-35,855.177,-35,897.977,-35C940.776,-35,983.576,-35,1018.197,-9.451C1052.818,16.098,1079.262,67.195,1092.483,92.744L1105.705,118.293"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-SubtitleBase LE-Data" id="L-SubtitleBase-Data-0" d="M61.355,307.5L72.77,286.417C84.185,265.333,107.014,223.167,121.712,202.083C136.41,181,142.977,181,146.26,181L149.544,181"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-SubtitleBase LE-Source" id="L-SubtitleBase-Source-0" d="M61.355,340.5L72.77,361.583C84.185,382.667,107.014,424.833,126.662,445.917C146.31,467,162.776,467,179.242,467C195.708,467,212.174,467,230.715,467C249.255,467,269.87,467,290.484,467C311.099,467,331.714,467,359.37,467C387.026,467,421.724,467,456.422,467C491.12,467,525.818,467,560.589,467C595.359,467,630.203,467,665.047,467C699.891,467,734.734,467,771.188,439.022C807.643,411.044,845.707,355.088,864.739,327.11L883.771,299.132"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-SubtitleBase LE-BitmovinV8StaticApi" id="L-SubtitleBase-BitmovinV8StaticApi-0" d="M60.259,340.5L71.857,364.917C83.454,389.333,106.649,438.167,126.479,462.583C146.31,487,162.776,487,179.242,487C195.708,487,212.174,487,230.715,487C249.255,487,269.87,487,290.484,487C311.099,487,331.714,487,359.37,487C387.026,487,421.724,487,456.422,487C491.12,487,525.818,487,558.58,460.017C591.341,433.034,622.167,379.068,637.58,352.085L652.993,325.102"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Data LE-Capabilities" id="L-Data-Capabilities-0" d="M184.197,164.5L191.604,139.833C199.012,115.167,213.826,65.833,231.541,41.167C249.255,16.5,269.87,16.5,290.484,16.5C311.099,16.5,331.714,16.5,359.37,16.5C387.026,16.5,421.724,16.5,456.422,16.5C491.12,16.5,525.818,16.5,560.589,16.5C595.359,16.5,630.203,16.5,665.047,16.5C699.891,16.5,734.734,16.5,764.529,16.5C794.324,16.5,819.071,16.5,831.444,16.5L843.817,16.5"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Data LE-Core" id="L-Data-Core-0" d="M186.455,164.5L193.486,148.417C200.517,132.333,214.579,100.167,231.917,84.083C249.255,68,269.87,68,290.484,68C311.099,68,331.714,68,359.37,68C387.026,68,421.724,68,456.422,68C491.12,68,525.818,68,560.589,68C595.359,68,630.203,68,665.047,68C699.891,68,734.734,68,773.556,68C812.378,68,855.177,68,897.977,68C940.776,68,983.576,68,1015.86,76.618C1048.145,85.237,1069.915,102.473,1080.8,111.092L1091.685,119.71"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Data LE-Adaptation" id="L-Data-Adaptation-0" d="M192.495,164.5L198.52,157C204.544,149.5,216.592,134.5,232.924,127C249.255,119.5,269.87,119.5,290.484,119.5C311.099,119.5,331.714,119.5,350.86,119.5C370.007,119.5,387.685,119.5,396.525,119.5L405.364,119.5"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Data LE-Network" id="L-Data-Network-0" d="M203.641,181L207.807,181C211.974,181,220.307,181,227.757,181C235.207,181,241.774,181,245.057,181L248.341,181"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Data LE-SegmentProcessing" id="L-Data-SegmentProcessing-0" d="M188.15,197.5L194.899,210C201.647,222.5,215.144,247.5,232.199,260C249.255,272.5,269.87,272.5,290.484,272.5C311.099,272.5,331.714,272.5,345.304,272.5C358.895,272.5,365.461,272.5,368.745,272.5L372.028,272.5"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Data LE-Source" id="L-Data-Source-0" d="M182.555,197.5L190.236,235.75C197.917,274,213.279,350.5,231.267,388.75C249.255,427,269.87,427,290.484,427C311.099,427,331.714,427,359.37,427C387.026,427,421.724,427,456.422,427C491.12,427,525.818,427,560.589,427C595.359,427,630.203,427,665.047,427C699.891,427,734.734,427,770.605,405.627C806.476,384.254,843.373,341.508,861.822,320.135L880.271,298.762"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Data LE-BitmovinV8StaticApi" id="L-Data-BitmovinV8StaticApi-0" d="M182.306,197.5L190.029,239.083C197.751,280.667,213.196,363.833,231.226,405.417C249.255,447,269.87,447,290.484,447C311.099,447,331.714,447,359.37,447C387.026,447,421.724,447,456.422,447C491.12,447,525.818,447,558.057,426.63C590.296,406.26,620.077,365.519,634.968,345.149L649.858,324.779"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Capabilities LE-Core" id="L-Capabilities-Core-0" d="M946.836,16.5L960.092,16.5C973.349,16.5,999.862,16.5,1025.627,33.538C1051.393,50.576,1076.411,84.652,1088.92,101.69L1101.429,118.728"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Adaptation LE-Core" id="L-Adaptation-Core-0" d="M502.18,108.181L511.902,105.776C521.625,103.37,541.07,98.56,568.215,96.155C595.359,93.75,630.203,93.75,665.047,93.75C699.891,93.75,734.734,93.75,773.556,93.75C812.378,93.75,855.177,93.75,897.977,93.75C940.776,93.75,983.576,93.75,1015.097,98.878C1046.619,104.006,1066.864,114.262,1076.986,119.39L1087.108,124.518"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Adaptation LE-Source" id="L-Adaptation-Source-0" d="M502.18,119.5L511.902,119.5C521.625,119.5,541.07,119.5,568.215,119.5C595.359,119.5,630.203,119.5,665.047,119.5C699.891,119.5,734.734,119.5,770.776,142.522C806.818,165.543,844.058,211.586,862.678,234.608L881.298,257.629"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Adaptation LE-BitmovinV8StaticApi" id="L-Adaptation-BitmovinV8StaticApi-0" d="M502.18,130.819L511.902,133.224C521.625,135.63,541.07,140.44,565.918,165.815C590.766,191.191,621.017,237.132,636.142,260.103L651.267,283.073"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Source LE-Core" id="L-Source-Core-0" d="M930.828,278.25L946.753,278.25C962.677,278.25,994.526,278.25,1023.23,258.615C1051.933,238.981,1077.491,199.711,1090.271,180.077L1103.05,160.442"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-BitmovinV8StaticApi LE-Core" id="L-BitmovinV8StaticApi-Core-0" d="M687.374,287.5L701.075,277.375C714.775,267.25,742.177,247,777.277,236.875C812.378,226.75,855.177,226.75,897.977,226.75C940.776,226.75,983.576,226.75,1016.544,215.572C1049.513,204.394,1072.652,182.038,1084.221,170.861L1095.79,159.683"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-BitmovinV8StaticApi LE-Source" id="L-BitmovinV8StaticApi-Source-0" d="M732.028,287.5L738.286,285.958C744.545,284.417,757.061,281.333,778.361,279.792C799.66,278.25,829.743,278.25,844.784,278.25L859.825,278.25"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-BitmovinV8StaticApi LE-BitmovinV8Core" id="L-BitmovinV8StaticApi-BitmovinV8Core-0" d="M732.028,320.5L738.286,322.042C744.545,323.583,757.061,326.667,784.72,328.208C812.378,329.75,855.177,329.75,897.977,329.75C940.776,329.75,983.576,329.75,1013.81,334.226C1044.044,338.702,1061.714,347.653,1070.548,352.129L1079.383,356.605"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-BitmovinV8StaticApi LE-BitmovinVideoElementUtils" id="L-BitmovinV8StaticApi-BitmovinVideoElementUtils-0" d="M681.792,320.5L696.423,334.917C711.054,349.333,740.316,378.167,758.23,392.583C776.145,407,782.711,407,785.995,407L789.278,407"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-BitmovinVideoElementUtils LE-Core" id="L-BitmovinVideoElementUtils-Core-0" d="M949.027,390.5L961.918,386.333C974.809,382.167,1000.592,373.833,1027.108,335.57C1053.623,297.307,1080.872,229.114,1094.496,195.018L1108.12,160.922"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-BitmovinVideoElementUtils LE-BitmovinV8Core" id="L-BitmovinVideoElementUtils-BitmovinV8Core-0" d="M1001.375,415.053L1005.542,415.377C1009.708,415.702,1018.042,416.351,1030.472,412.878C1042.903,409.404,1059.431,401.809,1067.696,398.011L1075.96,394.213"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Network LE-Core" id="L-Network-Core-0" d="M327.328,175.042L331.495,174.369C335.661,173.695,343.995,172.347,365.51,171.674C387.026,171,421.724,171,456.422,171C491.12,171,525.818,171,560.589,171C595.359,171,630.203,171,665.047,171C699.891,171,734.734,171,773.556,171C812.378,171,855.177,171,897.977,171C940.776,171,983.576,171,1015.051,167.485C1046.527,163.971,1066.679,156.941,1076.756,153.426L1086.832,149.912"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-Network LE-Adaptation" id="L-Network-Adaptation-0" d="M327.328,190.383L331.495,191.444C335.661,192.505,343.995,194.628,361.095,186.09C378.196,177.553,404.064,158.356,416.998,148.757L429.932,139.158"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-SegmentProcessing LE-Source" id="L-SegmentProcessing-Source-0" d="M482.544,256L495.539,247.792C508.535,239.583,534.525,223.167,564.942,214.958C595.359,206.75,630.203,206.75,665.047,206.75C699.891,206.75,734.734,206.75,767.846,215.487C800.957,224.224,832.337,241.698,848.026,250.435L863.716,259.171"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-SegmentProcessing LE-BitmovinV8StaticApi" id="L-SegmentProcessing-BitmovinV8StaticApi-0" d="M510.947,289L519.209,291.5C527.47,294,543.993,299,555.538,301.5C567.082,304,573.649,304,576.932,304L580.216,304"/></g><g class="edgeLabels"><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g></g><g class="nodes"><g transform="translate(52.421875, 324)" data-id="SubtitleBase" data-node="true" id="flowchart-SubtitleBase-0" class="node default default flowchart-label"><rect height="33" width="104.84375" y="-16.5" x="-52.421875" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-44.921875, -9)" style="" class="label"><rect/><foreignObject height="18" width="89.84375"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">SubtitleBase</span></div></foreignObject></g></g><g transform="translate(1116.6796875, 139.5)" data-id="Core" data-node="true" id="flowchart-Core-1" class="node default default flowchart-label"><rect height="33" width="49.6875" y="-16.5" x="-24.84375" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-17.34375, -9)" style="" class="label"><rect/><foreignObject height="18" width="34.6875"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">Core</span></div></foreignObject></g></g><g transform="translate(179.2421875, 181)" data-id="Data" data-node="true" id="flowchart-Data-3" class="node default default flowchart-label"><rect height="33" width="48.796875" y="-16.5" x="-24.3984375" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-16.8984375, -9)" style="" class="label"><rect/><foreignObject height="18" width="33.796875"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">Data</span></div></foreignObject></g></g><g transform="translate(897.9765625, 278.25)" data-id="Source" data-node="true" id="flowchart-Source-5" class="node default default flowchart-label"><rect height="33" width="65.703125" y="-16.5" x="-32.8515625" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-25.3515625, -9)" style="" class="label"><rect/><foreignObject height="18" width="50.703125"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">Source</span></div></foreignObject></g></g><g transform="translate(665.046875, 304)" data-id="BitmovinV8StaticApi" data-node="true" id="flowchart-BitmovinV8StaticApi-7" class="node default default flowchart-label"><rect height="33" width="159.0625" y="-16.5" x="-79.53125" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-72.03125, -9)" style="" class="label"><rect/><foreignObject height="18" width="144.0625"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">BitmovinV8StaticApi</span></div></foreignObject></g></g><g transform="translate(897.9765625, 16.5)" data-id="Capabilities" data-node="true" id="flowchart-Capabilities-9" class="node default default flowchart-label"><rect height="33" width="97.71875" y="-16.5" x="-48.859375" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-41.359375, -9)" style="" class="label"><rect/><foreignObject height="18" width="82.71875"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">Capabilities</span></div></foreignObject></g></g><g transform="translate(456.421875, 119.5)" data-id="Adaptation" data-node="true" id="flowchart-Adaptation-13" class="node default default flowchart-label"><rect height="33" width="91.515625" y="-16.5" x="-45.7578125" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-38.2578125, -9)" style="" class="label"><rect/><foreignObject height="18" width="76.515625"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">Adaptation</span></div></foreignObject></g></g><g transform="translate(290.484375, 181)" data-id="Network" data-node="true" id="flowchart-Network-15" class="node default default flowchart-label"><rect height="33" width="73.6875" y="-16.5" x="-36.84375" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-29.34375, -9)" style="" class="label"><rect/><foreignObject height="18" width="58.6875"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">Network</span></div></foreignObject></g></g><g transform="translate(456.421875, 272.5)" data-id="SegmentProcessing" data-node="true" id="flowchart-SegmentProcessing-17" class="node default default flowchart-label"><rect height="33" width="158.1875" y="-16.5" x="-79.09375" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-71.59375, -9)" style="" class="label"><rect/><foreignObject height="18" width="143.1875"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">SegmentProcessing</span></div></foreignObject></g></g><g transform="translate(1116.6796875, 375.5)" data-id="BitmovinV8Core" data-node="true" id="flowchart-BitmovinV8Core-37" class="node default default flowchart-label"><rect height="33" width="130.609375" y="-16.5" x="-65.3046875" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-57.8046875, -9)" style="" class="label"><rect/><foreignObject height="18" width="115.609375"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">BitmovinV8Core</span></div></foreignObject></g></g><g transform="translate(897.9765625, 407)" data-id="BitmovinVideoElementUtils" data-node="true" id="flowchart-BitmovinVideoElementUtils-39" class="node default default flowchart-label"><rect height="33" width="206.796875" y="-16.5" x="-103.3984375" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-95.8984375, -9)" style="" class="label"><rect/><foreignObject height="18" width="191.796875"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">BitmovinVideoElementUtils</span></div></foreignObject></g></g></g></g></g></svg>
9
+ */
1
10
  import type { EmptyObject } from '../../../../framework-types/BaseTypes';
2
11
  import type { SubtitleBaseDependencies, SubtitleBaseExports } from './Types';
3
12
  export declare const SubtitleBasePackage: import("../../../../framework-types/package-api/Package").Package<SubtitleBaseDependencies, SubtitleBaseExports, EmptyObject>;
@@ -0,0 +1,3 @@
1
+ import type { StateAtom } from '../../core/state/Types';
2
+ import type { SubtitleBaseContext } from './Types';
3
+ export declare const SubtitleBufferClearingTask: import("../../../../framework-types/task/Types").NamedTask<(_: StateAtom, context: SubtitleBaseContext) => void>;
@@ -1,5 +1,6 @@
1
- import type { SubtitleBaseContext } from './Types';
1
+ import type { ContextWithState } from '../../Types';
2
2
  type SubtitleCue = {
3
+ id: string;
3
4
  start: number;
4
5
  end: number;
5
6
  text: string;
@@ -8,7 +9,8 @@ type SubtitleCue = {
8
9
  metadata: Record<string, unknown>;
9
10
  };
10
11
  export type SubtitleCueAtom = ReturnType<typeof createSubtitleCueAtom>;
11
- export declare function createSubtitleCueAtom(context: SubtitleBaseContext, initialState: SubtitleCue): import("../../core/state/Types").StateAtom<{
12
+ export declare function createSubtitleCueAtom(context: ContextWithState, initialState: SubtitleCue): import("../../core/state/Types").StateAtom<{
13
+ id: string;
12
14
  start: number;
13
15
  end: number;
14
16
  text: string;
@@ -1,6 +1,17 @@
1
+ import type { EmptyObject } from '../../../../framework-types/BaseTypes';
2
+ import type { ContextHaving } from '../../../../framework-types/execution-context/Types';
1
3
  import type { MapStateAtom } from '../../core/state/MapStateAtom';
2
4
  import type { SubtitleSelectionGroupAtom } from '../../core/state/selection-group/SelectionGroupAtom';
5
+ import type { TimelineAtom } from '../../core/state/timeline/Types';
6
+ import type { CoreStateAtoms } from '../../core/Types';
7
+ import { CoreExportNames } from '../../core/Types';
8
+ import type { CoreUtils } from '../../core/utils/Types';
9
+ import type { ContextWithState } from '../../Types';
3
10
  import type { SubtitleCueAtom } from './SubtitleCueAtom';
4
- import type { SubtitleBaseContext } from './Types';
5
- export type SubtitleCueMapAtom = MapStateAtom<SubtitleSelectionGroupAtom, SubtitleCueAtom>;
6
- export declare function createSubtitleCueMapAtom(context: SubtitleBaseContext): SubtitleCueMapAtom;
11
+ export type SubtitleCueMapAtom = MapStateAtom<SubtitleSelectionGroupAtom, TimelineAtom<SubtitleCueAtom>>;
12
+ type CreateSubtitleCueMapAtomContext = ContextHaving<{
13
+ [CoreExportNames.CoreStateAtoms]: CoreStateAtoms;
14
+ [CoreExportNames.Utils]: CoreUtils;
15
+ }, EmptyObject, ContextWithState>;
16
+ export declare function createSubtitleCueMapAtom(context: CreateSubtitleCueMapAtomContext): SubtitleCueMapAtom;
17
+ export {};
@@ -1,21 +1,34 @@
1
1
  import type { ContextHaving } from '../../../../framework-types/execution-context/Types';
2
+ import type { BundleExportNames } from '../../../bundles/Types';
3
+ import type { Constants } from '../../core/Constants';
4
+ import type { StreamTimelineAtom } from '../../core/state/stream-timeline/StreamTimelineMapAtom';
2
5
  import type { CoreEffects, CoreExportNames, CoreStateAtoms } from '../../core/Types';
6
+ import type { Logger } from '../../core/utils/Logger';
7
+ import type { CoreUtils } from '../../core/utils/Types';
8
+ import type { DataExportNames } from '../../data/Types';
3
9
  import type { SourceStateAtom } from '../../source/atoms/SourceStateAtom';
4
10
  import type { SourceExportNames } from '../../source/Types';
5
11
  import type { ContextWithState } from '../../Types';
12
+ import type { SubtitleBufferClearingTask } from './SubtitleBufferClearingTask';
6
13
  import type { createSubtitleCueAtom } from './SubtitleCueAtom';
7
14
  import type { SubtitleCueMapAtom } from './SubtitleCueMapAtom';
8
15
  export declare enum SubtitleBaseExportNames {
9
16
  SubtitleCueMapAtom = "subtitle-cue-map-atom",
10
- CreateSubtitleCueAtom = "create-subtitle-cue-atom"
17
+ CreateSubtitleCueAtom = "create-subtitle-cue-map-atom",
18
+ SubtitleBufferClearingTask = "subtitle-buffer-clearing-task"
11
19
  }
12
20
  export type SubtitleBaseDependencies = {
21
+ [BundleExportNames.Logger]: Logger;
13
22
  [CoreExportNames.CoreStateAtoms]: CoreStateAtoms;
23
+ [CoreExportNames.Utils]: CoreUtils;
24
+ [CoreExportNames.Constants]: Constants;
14
25
  [CoreExportNames.CoreEffects]: CoreEffects;
15
26
  [SourceExportNames.SourceState]: SourceStateAtom;
27
+ [DataExportNames.StreamTimeline]: StreamTimelineAtom;
16
28
  };
17
29
  export type SubtitleBaseExports = {
18
30
  [SubtitleBaseExportNames.SubtitleCueMapAtom]: SubtitleCueMapAtom;
19
31
  [SubtitleBaseExportNames.CreateSubtitleCueAtom]: typeof createSubtitleCueAtom;
32
+ [SubtitleBaseExportNames.SubtitleBufferClearingTask]: typeof SubtitleBufferClearingTask;
20
33
  };
21
34
  export type SubtitleBaseContext = ContextHaving<SubtitleBaseDependencies, SubtitleBaseExports, ContextWithState>;