@bitmovin/player-web-x 10.2.0-beta.13 → 10.2.0-beta.14
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.
- package/bundles/playerx-bitmovin-v8-core.js +2 -2
- package/bundles/playerx-bitmovin-v8.js +2 -2
- package/bundles/playerx-core.js +2 -2
- package/bundles/playerx-dash.js +2 -2
- package/bundles/playerx-hls-ts-audio.js +2 -2
- package/bundles/playerx-hls.js +2 -2
- package/bundles/playerx-playback.js +2 -2
- package/bundles/playerx-tv.js +2 -2
- package/package.json +1 -1
- package/packages/playerx-adaptation.package.js +2 -2
- package/packages/playerx-advertising-api.package.js +2 -2
- package/packages/playerx-advertising-base.package.js +2 -2
- package/packages/playerx-advertising-bitmovin.package.js +2 -2
- package/packages/playerx-analytics.package.js +1 -1
- package/packages/playerx-bitmovin-advertising-bundle.package.js +2 -2
- package/packages/playerx-bitmovin-source-api.package.js +2 -2
- package/packages/playerx-bitmovin-ui.package.js +2 -2
- package/packages/playerx-bitmovin-v8-core.package.js +2 -2
- package/packages/playerx-bitmovin-v8-static-api.package.js +2 -2
- package/packages/playerx-bitmovin-video-element-utils.package.js +2 -2
- package/packages/playerx-capabilities.package.js +2 -2
- package/packages/playerx-container-mp4.package.js +2 -2
- package/packages/playerx-container-ts.package.js +2 -2
- package/packages/playerx-core.package.js +2 -2
- package/packages/playerx-dash-manifest-technology.package.js +2 -2
- package/packages/playerx-dash-manifest.package.js +2 -2
- package/packages/playerx-dash-parsing.package.js +2 -2
- package/packages/playerx-dash-translation.package.js +2 -2
- package/packages/playerx-dash.package.js +2 -2
- package/packages/playerx-data.package.js +2 -2
- package/packages/playerx-event-bus.package.js +1 -1
- package/packages/playerx-hls-manifest-technology.package.js +2 -2
- package/packages/playerx-hls-manifest.package.js +2 -2
- package/packages/playerx-hls-parsing.package.js +2 -2
- package/packages/playerx-hls-translation.package.js +2 -2
- package/packages/playerx-hls.package.js +2 -2
- package/packages/playerx-media-state.package.d.ts +1 -0
- package/packages/playerx-media-state.package.js +10 -0
- package/packages/playerx-mse-playback.package.js +2 -2
- package/packages/playerx-mse-presentation.package.js +2 -2
- package/packages/playerx-native-playback.package.js +2 -2
- package/packages/playerx-native-presentation.package.js +2 -2
- package/packages/playerx-network.package.js +2 -2
- package/packages/playerx-no-adaptation.package.js +2 -2
- package/packages/playerx-playback-api.package.js +2 -2
- package/packages/playerx-playback-technology.package.js +2 -2
- package/packages/playerx-playback.package.js +2 -2
- package/packages/playerx-player-api.package.js +2 -2
- package/packages/playerx-segment-processing.package.js +2 -2
- package/packages/playerx-source.package.js +2 -2
- package/packages/playerx-sources-api.package.js +2 -2
- package/packages/playerx-stream-data-structure.package.js +2 -2
- package/packages/playerx-streaming.package.js +1 -1
- package/packages/playerx-subtitle-api.package.js +2 -2
- package/packages/playerx-subtitle-base.package.js +2 -2
- package/packages/playerx-subtitle-format-detection.package.js +1 -1
- package/packages/playerx-subtitle-native-renderer.package.js +2 -2
- package/packages/playerx-subtitles.package.js +2 -2
- package/packages/playerx-trick-play.package.js +2 -2
- package/packages/playerx-ts-transmuxer.package.js +2 -2
- package/packages/playerx-tv.package.js +1 -1
- package/packages/playerx-ui.package.js +2 -2
- package/packages/playerx-video-element-controller.package.d.ts +1 -0
- package/packages/playerx-video-element-controller.package.js +10 -0
- package/packages/playerx-view-mode.package.js +2 -2
- package/packages/playerx-web-vtt.package.js +2 -2
- package/playerx-framework-utils.js +1 -1
- package/types/Types.d.ts +3 -0
- package/types/bundles/BitmovinV8.bundle.d.ts +1 -1
- package/types/bundles/Dash.bundle.d.ts +1 -1
- package/types/bundles/Hls.bundle.d.ts +1 -1
- package/types/bundles/HlsTsAudio.bundle.d.ts +1 -1
- package/types/bundles/Playback.bundle.d.ts +1 -1
- package/types/bundles/Tv.bundle.d.ts +1 -1
- package/types/packages/adaptation/AdaptationAlgorithm.d.ts +4 -0
- package/types/packages/adaptation/StartupQuality.d.ts +5 -0
- package/types/packages/adaptation/Types.d.ts +7 -11
- package/types/packages/adaptation/WishDataAtom.d.ts +9 -2
- package/types/packages/advertising/BitmovinAdvertisingBundle.package.d.ts +1 -1
- package/types/packages/advertising/api/AdvertisingApi.package.d.ts +1 -1
- package/types/packages/advertising/api/AdvertisingEvents.d.ts +29 -5
- package/types/packages/advertising/api/Types.d.ts +24 -6
- package/types/packages/advertising/base/AdPosition.d.ts +1 -0
- package/types/packages/advertising/base/AdQuartile.d.ts +5 -0
- package/types/packages/advertising/base/AdSchedule.d.ts +2 -2
- package/types/packages/advertising/base/AdTagAtom.d.ts +1 -1
- package/types/packages/advertising/base/AdType.d.ts +4 -0
- package/types/packages/advertising/base/BaseAdAtom.d.ts +5 -3
- package/types/packages/advertising/base/{BaseAdBreakAtom.d.ts → BaseAdPodAtom.d.ts} +8 -6
- package/types/packages/advertising/base/BaseAdPodState.d.ts +7 -0
- package/types/packages/advertising/base/BaseAdState.d.ts +7 -0
- package/types/packages/advertising/base/Types.d.ts +13 -29
- package/types/packages/advertising/bitmovin/Types.d.ts +13 -10
- package/types/packages/capabilities/Types.d.ts +1 -1
- package/types/packages/container/container-mp4/ContainerMp4.package.d.ts +2 -0
- package/types/packages/container/container-ts/ContainerTs.package.d.ts +3 -1
- package/types/packages/container/ts-transmuxer/TsTransmuxer.package.d.ts +2 -0
- package/types/packages/core/Constants.d.ts +7 -0
- package/types/packages/core/Types.d.ts +3 -2
- package/types/packages/core/metrics/MetricsAtom.d.ts +1 -1
- package/types/packages/{adaptation → core/state}/RingBufferAtom.d.ts +2 -2
- package/types/packages/core/state/StateMachineAtom.d.ts +13 -12
- package/types/packages/core/state/state-effect/Types.d.ts +2 -2
- package/types/packages/core/technology/Types.d.ts +2 -2
- package/types/packages/data/Types.d.ts +7 -1
- package/types/packages/manifest/dash/parsing/Errors.d.ts +1 -1
- package/types/packages/manifest/dash/root/Types.d.ts +3 -1
- package/types/packages/manifest/dash/technology/Types.d.ts +2 -1
- package/types/packages/manifest/hls/parsing/Constants.d.ts +47 -0
- package/types/packages/manifest/hls/parsing/Errors.d.ts +1 -1
- package/types/packages/manifest/hls/parsing/Types.d.ts +5 -48
- package/types/packages/manifest/hls/root/Hls.package.d.ts +6 -1
- package/types/packages/manifest/hls/technology/Types.d.ts +2 -1
- package/types/packages/manifest/hls/translation/HlsTranslation.package.d.ts +5 -0
- package/types/packages/manifest/hls/translation/Types.d.ts +10 -11
- package/types/packages/manifest/hls/translation/segments/StreamHelpers.d.ts +14 -0
- package/types/packages/manifest/hls/translation/stream/TracksToSelectionGroups.d.ts +6 -0
- package/types/packages/manifest/hls/translation/stream/UnknownTrackToMediaTrackTranslator.d.ts +4 -0
- package/types/packages/media-state/MediaInfoAtoms.d.ts +18 -0
- package/types/packages/media-state/MediaState.d.ts +10 -0
- package/types/packages/media-state/MediaState.package.d.ts +22 -0
- package/types/packages/media-state/MediaStateAtom.d.ts +16 -0
- package/types/packages/media-state/MediaStateTransitionType.d.ts +11 -0
- package/types/packages/media-state/SeekRestrictionAtom.d.ts +2 -0
- package/types/packages/media-state/Types.d.ts +48 -0
- package/types/packages/media-state/controllers/video-element/Types.d.ts +32 -0
- package/types/packages/media-state/controllers/video-element/VideoElementController.package.d.ts +15 -0
- package/types/packages/network/HttpRequestMethod.d.ts +5 -0
- package/types/packages/network/HttpRequestType.d.ts +11 -0
- package/types/packages/network/HttpResponseType.d.ts +7 -0
- package/types/packages/network/NetworkAtom.d.ts +15 -0
- package/types/packages/network/NetworkTask.d.ts +8 -7
- package/types/packages/network/Types.d.ts +17 -26
- package/types/packages/playback/play-pause/Types.d.ts +0 -3
- package/types/packages/playback/volume/Types.d.ts +2 -4
- package/types/packages/playback-api/play-pause-api/Types.d.ts +4 -3
- package/types/packages/playback-api/playback-api-events/Types.d.ts +11 -8
- package/types/packages/playback-api/time-api/Types.d.ts +4 -5
- package/types/packages/playback-technology/PlaybackTechnologyEntryType.d.ts +4 -0
- package/types/packages/playback-technology/Types.d.ts +6 -6
- package/types/packages/player-api/PlayerApi.package.d.ts +2 -0
- package/types/packages/player-api/PlayerEvent.d.ts +3 -0
- package/types/packages/player-api/Types.d.ts +4 -4
- package/types/packages/presentation/mse/playback-technology/Types.d.ts +2 -1
- package/types/packages/presentation/mse/playback-technology/atoms/MsePresentationStateAtom.d.ts +1 -4
- package/types/packages/presentation/mse/presentation/MsePresentation.package.d.ts +4 -2
- package/types/packages/presentation/mse/presentation/Types.d.ts +6 -0
- package/types/packages/presentation/native/Types.d.ts +1 -1
- package/types/packages/presentation/native/playback-technology/Types.d.ts +2 -1
- package/types/packages/segment-processing/SegmentProcessing.package.d.ts +2 -1
- package/types/packages/segment-processing/SegmentProcessorType.d.ts +7 -0
- package/types/packages/segment-processing/Types.d.ts +10 -10
- package/types/packages/source/SourceReference.d.ts +1 -1
- package/types/packages/source/atoms/PlaybackConfigAtom.d.ts +2 -2
- package/types/packages/source/atoms/SourceConfigAtom.d.ts +2 -0
- package/types/packages/sources-api/SourcesApiEvent.d.ts +7 -0
- package/types/packages/sources-api/Types.d.ts +4 -8
- package/types/packages/stream-data-structure/Types.d.ts +1 -0
- package/types/packages/stream-data-structure/segment/Exports.d.ts +3 -3
- package/types/packages/stream-data-structure/segment/SegmentAtom.d.ts +11 -2
- package/types/packages/stream-data-structure/segment/SegmentDataAtom.d.ts +1 -7
- package/types/packages/stream-data-structure/segment/SegmentUtils.d.ts +3 -2
- package/types/packages/stream-data-structure/selection-group/SelectionGroupAtom.d.ts +1 -2
- package/types/packages/stream-data-structure/track/Exports.d.ts +6 -1
- package/types/packages/stream-data-structure/track/TrackAtom.d.ts +19 -4
- package/types/packages/stream-data-structure/track/TrackTypeGuards.d.ts +3 -1
- package/types/packages/stream-data-structure/track/TypeDetection.d.ts +25 -0
- package/types/packages/stream-data-structure/track/TypeDetectionTypeGuards.d.ts +4 -0
- package/types/packages/streaming/Streaming.package.d.ts +2 -2
- package/types/packages/streaming/Types.d.ts +3 -2
- package/types/packages/subtitles/subtitle-api/SubtitleEvent.d.ts +9 -0
- package/types/packages/subtitles/subtitle-api/Types.d.ts +3 -9
- package/types/packages/trick-play/TrickPlay.package.d.ts +2 -1
- package/types/packages/v8-compat/BitmovinUi.package.d.ts +4 -4
- package/types/packages/v8-compat/BitmovinV8Core.package.d.ts +16 -4
- package/types/packages/v8-compat/BitmovinV8StaticApi.package.d.ts +8 -5
- package/types/packages/v8-compat/apis/SourceApis.d.ts +5 -0
- package/types/packages/v8-compat/apis/SubtitleApi.d.ts +5 -0
- package/types/packages/v8-compat/enums/AdditionalPlayerExportNames.d.ts +9 -0
- package/types/packages/v8-compat/enums/PlayerExports.d.ts +0 -7
- package/types/packages/v8-compat/event-handling/EventDispatcher.d.ts +11 -0
- package/types/packages/v8-compat/source-api/BitmovinSourceApi.package.d.ts +10 -4
- package/types/packages/v8-compat/video-element/BitmovinVideoElementUtils.package.d.ts +4 -4
- package/types/packages/view-mode/Types.d.ts +4 -6
- package/types/packages/view-mode/ViewMode.d.ts +5 -0
- package/types/packages/view-mode/ViewMode.package.d.ts +2 -0
- package/types/packages/view-mode/ViewModeAtom.d.ts +1 -1
- package/types/packages/core/FrameworkError.d.ts +0 -4
- package/types/packages/core/network/NetworkAtom.d.ts +0 -21
- package/types/packages/playback/playback-state/Types.d.ts +0 -41
- package/types/packages/playback/video-element-state/SeekRestrictionAtom.d.ts +0 -2
- package/types/packages/playback/video-element-state/Types.d.ts +0 -32
- package/types/packages/playback/video-element-state/VideoElementStateAtom.d.ts +0 -58
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
*/
|
|
15
15
|
import type { ContextHaving } from '../../../../framework-types/execution-context/Types';
|
|
16
16
|
import type { EmptyObject } from '../../../Types';
|
|
17
|
+
import type { Constants } from '../../core/Constants';
|
|
17
18
|
import type { CoreEffects, CoreStateAtoms } from '../../core/Types';
|
|
18
19
|
import { CoreExportNames } from '../../core/Types';
|
|
19
20
|
import type SegmentProcessorErrors from '../../segment-processing/Errors';
|
|
@@ -27,6 +28,7 @@ type Dependencies = {
|
|
|
27
28
|
[SourceExportNames.SourceState]: SourceStateAtom;
|
|
28
29
|
[CoreExportNames.CoreEffects]: CoreEffects;
|
|
29
30
|
[CoreExportNames.CoreStateAtoms]: CoreStateAtoms;
|
|
31
|
+
[CoreExportNames.Constants]: Constants;
|
|
30
32
|
[SegmentProcessingExportNames.SegmentProcessorType]: typeof SegmentProcessorType;
|
|
31
33
|
[SegmentProcessingExportNames.SegmentProcessingComponent]: SegmentProcessingComponent;
|
|
32
34
|
[SegmentProcessingExportNames.SegmentProcessorErrors]: typeof SegmentProcessorErrors;
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
*/
|
|
12
12
|
import type { ContextHaving } from '../../../../framework-types/execution-context/Types';
|
|
13
13
|
import type { EmptyObject } from '../../../Types';
|
|
14
|
+
import type { Constants } from '../../core/Constants';
|
|
14
15
|
import type { CoreEffects, CoreStateAtoms } from '../../core/Types';
|
|
15
16
|
import { CoreExportNames } from '../../core/Types';
|
|
16
17
|
import type SegmentProcessorErrors from '../../segment-processing/Errors';
|
|
@@ -18,12 +19,13 @@ import type { SegmentProcessingComponent, SegmentProcessorType } from '../../seg
|
|
|
18
19
|
import { SegmentProcessingExportNames } from '../../segment-processing/Types';
|
|
19
20
|
import type { SourceStateAtom } from '../../source/atoms/SourceStateAtom';
|
|
20
21
|
import { SourceExportNames } from '../../source/Types';
|
|
21
|
-
import
|
|
22
|
+
import { StreamDataStructureSegments } from '../../stream-data-structure/segment/Exports';
|
|
22
23
|
import type { ContextWithState } from '../../Types';
|
|
23
24
|
type Dependencies = {
|
|
24
25
|
[SourceExportNames.SourceState]: SourceStateAtom;
|
|
25
26
|
[CoreExportNames.CoreEffects]: CoreEffects;
|
|
26
27
|
[CoreExportNames.CoreStateAtoms]: CoreStateAtoms;
|
|
28
|
+
[CoreExportNames.Constants]: Constants;
|
|
27
29
|
[SegmentProcessingExportNames.SegmentProcessorType]: typeof SegmentProcessorType;
|
|
28
30
|
[SegmentProcessingExportNames.SegmentProcessingComponent]: SegmentProcessingComponent;
|
|
29
31
|
[SegmentProcessingExportNames.SegmentProcessorErrors]: typeof SegmentProcessorErrors;
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
*/
|
|
13
13
|
import type { ContextHaving } from '../../../../framework-types/execution-context/Types';
|
|
14
14
|
import type { EmptyObject } from '../../../Types';
|
|
15
|
+
import type { Constants } from '../../core/Constants';
|
|
15
16
|
import type { CoreEffects, CoreStateAtoms } from '../../core/Types';
|
|
16
17
|
import { CoreExportNames } from '../../core/Types';
|
|
17
18
|
import type { CoreUtils } from '../../core/utils/Types';
|
|
@@ -27,6 +28,7 @@ type Dependencies = {
|
|
|
27
28
|
[CoreExportNames.Utils]: CoreUtils;
|
|
28
29
|
[CoreExportNames.CoreEffects]: CoreEffects;
|
|
29
30
|
[CoreExportNames.CoreStateAtoms]: CoreStateAtoms;
|
|
31
|
+
[CoreExportNames.Constants]: Constants;
|
|
30
32
|
[SegmentProcessingExportNames.SegmentProcessorType]: typeof SegmentProcessorType;
|
|
31
33
|
[SegmentProcessingExportNames.SegmentProcessingComponent]: SegmentProcessingComponent;
|
|
32
34
|
[SegmentProcessingExportNames.SegmentProcessorErrors]: typeof SegmentProcessorErrors;
|
|
@@ -39,6 +39,12 @@ export declare enum LoadControl {
|
|
|
39
39
|
Metadata = 1,
|
|
40
40
|
Data = 2
|
|
41
41
|
}
|
|
42
|
+
export declare enum ContainerFormat {
|
|
43
|
+
MP4 = "mp4",
|
|
44
|
+
TS = "mp2t",
|
|
45
|
+
WebM = "webm",
|
|
46
|
+
Unknown = "unknown"
|
|
47
|
+
}
|
|
42
48
|
export type Constants = {
|
|
43
49
|
Codec: typeof Codec;
|
|
44
50
|
MediaType: typeof MediaType;
|
|
@@ -49,4 +55,5 @@ export type Constants = {
|
|
|
49
55
|
LoadControl: typeof LoadControl;
|
|
50
56
|
Version: string;
|
|
51
57
|
SubtitleFormatType: typeof SubtitleFormatType;
|
|
58
|
+
ContainerFormat: typeof ContainerFormat;
|
|
52
59
|
};
|
|
@@ -9,8 +9,9 @@ import type { createDataStreamAtom, DataStreamClearedError, DataStreamClosedErro
|
|
|
9
9
|
import type { createMapStateAtom } from './state/MapStateAtom';
|
|
10
10
|
import type { createPrimitiveAtom } from './state/PrimitiveAtom';
|
|
11
11
|
import type { createQueueAtom, QueueItemRemovedError } from './state/QueueAtom';
|
|
12
|
+
import type { createRingBufferAtom } from './state/RingBufferAtom';
|
|
12
13
|
import type { StateEffectFactory } from './state/state-effect/StateEffectFactory';
|
|
13
|
-
import type { createStateMachineAtom, flushPendingUpdates
|
|
14
|
+
import type { createStateMachineAtom, flushPendingUpdates } from './state/StateMachineAtom';
|
|
14
15
|
import type { CreateStoreEffectFactory } from './state/StoreEffectFactory';
|
|
15
16
|
import type { createStreamSectionAtom } from './state/stream-timeline/StreamSectionAtom';
|
|
16
17
|
import type { createStreamSequenceMapAtom } from './state/stream-timeline/StreamSequenceMapAtom';
|
|
@@ -61,6 +62,7 @@ export type CoreStateAtoms = {
|
|
|
61
62
|
createPrimitiveAtom: typeof createPrimitiveAtom;
|
|
62
63
|
createTimelineAtom: typeof createTimelineAtom;
|
|
63
64
|
createTimelineTrackerAtom: typeof createTimelineTrackerAtom;
|
|
65
|
+
createRingBufferAtom: typeof createRingBufferAtom;
|
|
64
66
|
Queue: {
|
|
65
67
|
createQueueAtom: typeof createQueueAtom;
|
|
66
68
|
QueueItemRemovedError: typeof QueueItemRemovedError;
|
|
@@ -89,6 +91,5 @@ export type CoreStateAtoms = {
|
|
|
89
91
|
StateMachine: {
|
|
90
92
|
createStateMachineAtom: typeof createStateMachineAtom;
|
|
91
93
|
flushPendingUpdates: typeof flushPendingUpdates;
|
|
92
|
-
logTransitions: typeof logTransitions;
|
|
93
94
|
};
|
|
94
95
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ContextHaving } from '../../../../framework-types/execution-context/Types';
|
|
2
2
|
import type { EmptyObject } from '../../../Types';
|
|
3
|
-
import type { RingBufferAtom } from '../../adaptation/RingBufferAtom';
|
|
4
3
|
import type { ContextWithState } from '../../Types';
|
|
4
|
+
import type { RingBufferAtom } from '../state/RingBufferAtom';
|
|
5
5
|
import type { CoreExportNames, CoreStateAtoms } from '../Types';
|
|
6
6
|
import type { NetworkSampleAtom } from './network/NetworkSampleAtom';
|
|
7
7
|
export interface Metrics {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ContextWithState } from '
|
|
1
|
+
import type { ContextWithState } from '../../Types';
|
|
2
2
|
export interface RingBuffer<T> {
|
|
3
3
|
buffer: T[];
|
|
4
4
|
capacity: number;
|
|
@@ -10,7 +10,7 @@ export declare function getDefaultRingBuffer<T>(capacity?: number, input?: T[]):
|
|
|
10
10
|
export declare function getTail<T>(data: RingBufferAtom<T>): T | undefined;
|
|
11
11
|
export declare function getHead<T>(data: RingBufferAtom<T>): T | undefined;
|
|
12
12
|
export type RingBufferAtom<T> = ReturnType<typeof createRingBufferAtom<T>>;
|
|
13
|
-
export declare const createRingBufferAtom: <ElementType>(context: ContextWithState, capacity?: number, defaultData?: ElementType[] | undefined) => import("
|
|
13
|
+
export declare const createRingBufferAtom: <ElementType>(context: ContextWithState, capacity?: number, defaultData?: ElementType[] | undefined) => import("./Types").StateAtom<RingBuffer<ElementType>, {
|
|
14
14
|
add: (data: RingBuffer<ElementType>, element: ElementType) => boolean;
|
|
15
15
|
clear: (data: RingBuffer<ElementType>) => boolean;
|
|
16
16
|
}>;
|
|
@@ -9,21 +9,22 @@ export interface StateMachine<S> {
|
|
|
9
9
|
current: S;
|
|
10
10
|
previous: S;
|
|
11
11
|
}
|
|
12
|
-
export type
|
|
12
|
+
export type BaseStateMachineContext = ContextHaving<{
|
|
13
|
+
[CoreExportNames.Utils]: CoreUtils;
|
|
14
|
+
}, EmptyObject, ContextWithState>;
|
|
15
|
+
export type StateMachineAtom<S extends string, _ extends BaseStateMachineContext, D = void> = StateAtom<StateMachine<S>, {
|
|
13
16
|
updateState: (state: StateMachine<S>, data: D) => boolean;
|
|
14
17
|
}>;
|
|
15
|
-
export type Transition<S extends string, C extends
|
|
16
|
-
export type TransitionMap<S extends string, C extends
|
|
18
|
+
export type Transition<S extends string, C extends BaseStateMachineContext, D = void> = (context: C, data: D) => S;
|
|
19
|
+
export type TransitionMap<S extends string, C extends BaseStateMachineContext, D = void> = {
|
|
17
20
|
[key in S]: Transition<S, C, D>;
|
|
18
21
|
};
|
|
19
|
-
export type Handler<S extends string, C extends
|
|
20
|
-
export type HandlerMap<S extends string, C extends
|
|
22
|
+
export type Handler<S extends string, C extends BaseStateMachineContext, D = void> = NamedTask<Task<C, StateMachineAtom<S, C, D>, void>>;
|
|
23
|
+
export type HandlerMap<S extends string, C extends BaseStateMachineContext, D = void> = {
|
|
21
24
|
[key in S]?: Handler<S, C, D>;
|
|
22
25
|
};
|
|
23
|
-
export
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
export declare function logTransitions<S extends string, C extends ContextWithState, D = void>(context: ContextWithStateAndLogger, stateMachine: StateMachineAtom<S, C, D>, name: string): void;
|
|
29
|
-
export {};
|
|
26
|
+
export type StateMachineLoggingOptions = {
|
|
27
|
+
name: string;
|
|
28
|
+
};
|
|
29
|
+
export declare function createStateMachineAtom<S extends string, C extends BaseStateMachineContext, D = void>(context: C, initialState: S, transitions: TransitionMap<S, C, D>, handlers?: HandlerMap<S, C, D>, loggingOptions?: StateMachineLoggingOptions): StateMachineAtom<S, C, D>;
|
|
30
|
+
export declare function flushPendingUpdates(context: BaseStateMachineContext, stateMachine: StateMachineAtom<string, BaseStateMachineContext>): void;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { ExecutionContext } from '../../../../../framework-types/execution-context/ExecutionContext';
|
|
2
2
|
import type { AnyNamedTask, AnyParameterTask, AnyTask, NamedTask, TaskParam } from '../../../../../framework-types/task/Types';
|
|
3
3
|
import type { EmptyObject } from '../../../../Types';
|
|
4
|
-
import type {
|
|
4
|
+
import type { StateAtom } from '../Types';
|
|
5
5
|
export type ParameterizedTask<P, S extends NamedTask<AnyTask>> = S extends NamedTask<AnyParameterTask<P>> ? S : NamedTask<AnyParameterTask<P>>;
|
|
6
|
-
export type TaskParameter<Atom, Task extends ParameterizedTask<Atom, NamedTask<AnyTask>>> =
|
|
6
|
+
export type TaskParameter<Atom, Task extends ParameterizedTask<Atom, NamedTask<AnyTask>>> = Extract<TaskParam<Task>, StateAtom>;
|
|
7
7
|
export type ErrorCallback = (error: Error) => boolean;
|
|
8
8
|
export type SubscriberTuple = [ExecutionContext<EmptyObject, EmptyObject>, AnyNamedTask, ErrorCallback];
|
|
@@ -11,9 +11,9 @@ export type Factory<Payload, Context extends AnyExecutionContext, TechnologyName
|
|
|
11
11
|
resolve: NamedTask<Task<Context, Payload, void>>;
|
|
12
12
|
add(technology: Technology<Payload, Context, TechnologyName>, abortSignal: AbortSignal): void;
|
|
13
13
|
};
|
|
14
|
-
export declare const
|
|
14
|
+
export declare const TechnologyExports = "technology";
|
|
15
15
|
export type TechnologyExports = {
|
|
16
|
-
[
|
|
16
|
+
[TechnologyExports]: {
|
|
17
17
|
create: <Payload, Context extends AnyExecutionContext, TechnologyName extends string>(context: ContextWithState, prioritize: Prioritize<Payload, Context, TechnologyName>) => Factory<Payload, Context, TechnologyName>;
|
|
18
18
|
};
|
|
19
19
|
};
|
|
@@ -10,8 +10,10 @@ import type { StateEffect } from '../core/state/state-effect/StateEffectFactory'
|
|
|
10
10
|
import type { StreamTimelineAtom } from '../core/state/stream-timeline/StreamTimelineMapAtom';
|
|
11
11
|
import type { CoreEffects, CoreExportNames, CoreStateAtoms } from '../core/Types';
|
|
12
12
|
import type { CoreUtils } from '../core/utils/Types';
|
|
13
|
+
import type { createNetworkAtom } from '../network/NetworkAtom';
|
|
14
|
+
import type { NetworkMessageType } from '../network/NetworkMessageTypes';
|
|
13
15
|
import type { NetworkTask } from '../network/NetworkTask';
|
|
14
|
-
import type { NetworkExportNames } from '../network/Types';
|
|
16
|
+
import type { HttpRequestMethod, HttpResponseType, NetworkExportNames } from '../network/Types';
|
|
15
17
|
import type SegmentProcessorErrors from '../segment-processing/Errors';
|
|
16
18
|
import type { SegmentProcessingComponent, SegmentProcessingExportNames } from '../segment-processing/Types';
|
|
17
19
|
import type { SourceStateAtom } from '../source/atoms/SourceStateAtom';
|
|
@@ -30,6 +32,10 @@ export type DataDependencies = {
|
|
|
30
32
|
[CoreExportNames.Utils]: CoreUtils;
|
|
31
33
|
[AdaptationExportNames.Metrics]: MetricsAtom;
|
|
32
34
|
[NetworkExportNames.NetworkTask]: typeof NetworkTask;
|
|
35
|
+
[NetworkExportNames.NetworkMessageType]: typeof NetworkMessageType;
|
|
36
|
+
[NetworkExportNames.NetworkAtom]: typeof createNetworkAtom;
|
|
37
|
+
[NetworkExportNames.HttpRequestMethod]: typeof HttpRequestMethod;
|
|
38
|
+
[NetworkExportNames.HttpResponseType]: typeof HttpResponseType;
|
|
33
39
|
[SegmentProcessingExportNames.SegmentProcessorErrors]: typeof SegmentProcessorErrors;
|
|
34
40
|
[SegmentProcessingExportNames.SegmentProcessingComponent]: SegmentProcessingComponent;
|
|
35
41
|
[AdaptationExportNames.Select]: (tracks: readonly MediaTrackAtom[]) => MediaTrackAtom;
|
|
@@ -6,7 +6,7 @@ import type { MetricsAtom } from '../../../core/metrics/MetricsAtom';
|
|
|
6
6
|
import type { CoreEffects, CoreExportNames, CoreStateAtoms } from '../../../core/Types';
|
|
7
7
|
import type { CoreUtils } from '../../../core/utils/Types';
|
|
8
8
|
import type { NetworkTask } from '../../../network/NetworkTask';
|
|
9
|
-
import type { NetworkExportNames } from '../../../network/Types';
|
|
9
|
+
import type { HttpRequestMethod, HttpResponseType, NetworkExportNames } from '../../../network/Types';
|
|
10
10
|
import type { SourceStateAtom } from '../../../source/atoms/SourceStateAtom';
|
|
11
11
|
import type { SourceExportNames } from '../../../source/Types';
|
|
12
12
|
import type { StreamDataStructurePackageExports } from '../../../stream-data-structure/Types';
|
|
@@ -28,6 +28,8 @@ export type DashDependencies = {
|
|
|
28
28
|
[SourceExportNames.SourceState]: SourceStateAtom;
|
|
29
29
|
[AdaptationExportNames.Metrics]: MetricsAtom;
|
|
30
30
|
[NetworkExportNames.NetworkTask]: typeof NetworkTask;
|
|
31
|
+
[NetworkExportNames.HttpRequestMethod]: typeof HttpRequestMethod;
|
|
32
|
+
[NetworkExportNames.HttpResponseType]: typeof HttpResponseType;
|
|
31
33
|
[DashParsingExportNames.ParsingTask]: typeof DashParsingTask;
|
|
32
34
|
[DashTranslationExportNames.DashTranslator]: typeof DashPlaylistTranslatorTask;
|
|
33
35
|
} & StreamDataStructurePackageExports & StreamingState & DashTechState;
|
|
@@ -3,7 +3,7 @@ import type { ContextHaving } from '../../../../../framework-types/execution-con
|
|
|
3
3
|
import type { Constants } from '../../../core/Constants';
|
|
4
4
|
import type { CoreEffects, CoreExportNames, CoreStateAtoms } from '../../../core/Types';
|
|
5
5
|
import type { CoreUtils } from '../../../core/utils/Types';
|
|
6
|
-
import type { ManifestTechnologyEntry, PlaybackTechnologyComponent } from '../../../playback-technology/Types';
|
|
6
|
+
import type { ManifestTechnologyEntry, PlaybackTechnologyComponent, PlaybackTechnologyEntryType, PlaybackTechnologyExportNames } from '../../../playback-technology/Types';
|
|
7
7
|
import type { Resource } from '../../../source/atoms/SourceConfigAtom';
|
|
8
8
|
import type { StreamDataStructureStream } from '../../../stream-data-structure/stream/Exports';
|
|
9
9
|
import type { createStreamingStateAtom, StreamingStateAtom } from '../../../streaming/atoms/StreamingStateAtom';
|
|
@@ -20,6 +20,7 @@ export interface DashTechStateData {
|
|
|
20
20
|
export type DashManifestTechnologyExports = EmptyObject;
|
|
21
21
|
export type DashManifestTechnologyDependencies = {
|
|
22
22
|
[PlaybackTechnologyComponent]: PlaybackTechnologyComponent;
|
|
23
|
+
[PlaybackTechnologyExportNames.EntryType]: typeof PlaybackTechnologyEntryType;
|
|
23
24
|
[CoreExportNames.Constants]: Constants;
|
|
24
25
|
[CoreExportNames.CoreStateAtoms]: CoreStateAtoms;
|
|
25
26
|
[CoreExportNames.CoreEffects]: CoreEffects;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
export declare enum HlsEncryptionMethod {
|
|
2
|
+
NONE = "NONE",
|
|
3
|
+
AES_128 = "AES-128",
|
|
4
|
+
SAMPLE_AES = "SAMPLE-AES"
|
|
5
|
+
}
|
|
6
|
+
export declare enum MetadataType {
|
|
7
|
+
CUETAG = "CUETAG",
|
|
8
|
+
DATERANGE = "DATERANGE",
|
|
9
|
+
CUSTOM = "CUSTOM",
|
|
10
|
+
SCTE = "SCTE",
|
|
11
|
+
ID3 = "ID3",
|
|
12
|
+
EMSG = "EMSG"
|
|
13
|
+
}
|
|
14
|
+
export declare enum TagType {
|
|
15
|
+
M3u = "m3u",
|
|
16
|
+
AllowCache = "allow-cache",
|
|
17
|
+
ByteRange = "byterange",
|
|
18
|
+
EndList = "endlist",
|
|
19
|
+
Inf = "inf",
|
|
20
|
+
Key = "key",
|
|
21
|
+
MediaSequence = "media-sequence",
|
|
22
|
+
DiscontinuitySequence = "discontinuity-sequence",
|
|
23
|
+
PlaylistType = "playlist-type",
|
|
24
|
+
StreamInf = "stream-inf",
|
|
25
|
+
IframeStreamInf = "i-frame-stream-inf",
|
|
26
|
+
Media = "media",
|
|
27
|
+
Start = "start",
|
|
28
|
+
Discontinuity = "discontinuity",
|
|
29
|
+
DateTime = "date-time",
|
|
30
|
+
TargetDuration = "targetduration",
|
|
31
|
+
Map = "map",
|
|
32
|
+
IndependentSegments = "independent-segments",
|
|
33
|
+
SessionData = "session-data",
|
|
34
|
+
SessionKey = "session-key",
|
|
35
|
+
CueOut = "cue-out",
|
|
36
|
+
CueOutCont = "cue-out-cont",
|
|
37
|
+
CueIn = "cue-in",
|
|
38
|
+
Scte35 = "scte35",
|
|
39
|
+
DateRange = "daterange",
|
|
40
|
+
Version = "version",
|
|
41
|
+
Uri = "uri",
|
|
42
|
+
Unknown = "unknown"
|
|
43
|
+
}
|
|
44
|
+
export declare enum PlaylistType {
|
|
45
|
+
Vod = "VOD",
|
|
46
|
+
Event = "EVENT"
|
|
47
|
+
}
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import type { ByteRange } from '../../../stream-data-structure/segment/SegmentAtom';
|
|
2
|
+
import type { MetadataType, PlaylistType, TagType } from './Constants';
|
|
2
3
|
import type { HlsParsingError, MissingM3uTagError } from './Errors';
|
|
4
|
+
export type { HlsEncryptionMethod } from './Constants';
|
|
5
|
+
export type { MetadataType } from './Constants';
|
|
6
|
+
export type { TagType } from './Constants';
|
|
7
|
+
export type { PlaylistType } from './Constants';
|
|
3
8
|
interface StartTagAttributes {
|
|
4
9
|
timeOffset: number;
|
|
5
10
|
precise: boolean;
|
|
@@ -20,11 +25,6 @@ export interface Scte35 {
|
|
|
20
25
|
attributes?: Scte35TagAttributes;
|
|
21
26
|
type: MetadataType.SCTE;
|
|
22
27
|
}
|
|
23
|
-
export declare enum HlsEncryptionMethod {
|
|
24
|
-
NONE = "NONE",
|
|
25
|
-
AES_128 = "AES-128",
|
|
26
|
-
SAMPLE_AES = "SAMPLE-AES"
|
|
27
|
-
}
|
|
28
28
|
export interface SegmentEncryptionInfo {
|
|
29
29
|
uri: string;
|
|
30
30
|
method: string;
|
|
@@ -152,14 +152,6 @@ export interface MediaPlaylist extends Playlist {
|
|
|
152
152
|
map?: MapInformation;
|
|
153
153
|
}
|
|
154
154
|
export type HlsManifest = MultivariantPlaylist | MediaPlaylist;
|
|
155
|
-
export declare enum MetadataType {
|
|
156
|
-
CUETAG = "CUETAG",
|
|
157
|
-
DATERANGE = "DATERANGE",
|
|
158
|
-
CUSTOM = "CUSTOM",
|
|
159
|
-
SCTE = "SCTE",
|
|
160
|
-
ID3 = "ID3",
|
|
161
|
-
EMSG = "EMSG"
|
|
162
|
-
}
|
|
163
155
|
export interface HlsTag {
|
|
164
156
|
name: string;
|
|
165
157
|
attributes?: {
|
|
@@ -167,40 +159,6 @@ export interface HlsTag {
|
|
|
167
159
|
};
|
|
168
160
|
value?: string;
|
|
169
161
|
}
|
|
170
|
-
export declare enum TagType {
|
|
171
|
-
M3u = "m3u",
|
|
172
|
-
AllowCache = "allow-cache",
|
|
173
|
-
ByteRange = "byterange",
|
|
174
|
-
EndList = "endlist",
|
|
175
|
-
Inf = "inf",
|
|
176
|
-
Key = "key",
|
|
177
|
-
MediaSequence = "media-sequence",
|
|
178
|
-
DiscontinuitySequence = "discontinuity-sequence",
|
|
179
|
-
PlaylistType = "playlist-type",
|
|
180
|
-
StreamInf = "stream-inf",
|
|
181
|
-
IframeStreamInf = "i-frame-stream-inf",
|
|
182
|
-
Media = "media",
|
|
183
|
-
Start = "start",
|
|
184
|
-
Discontinuity = "discontinuity",
|
|
185
|
-
DateTime = "date-time",
|
|
186
|
-
TargetDuration = "targetduration",
|
|
187
|
-
Map = "map",
|
|
188
|
-
IndependentSegments = "independent-segments",
|
|
189
|
-
SessionData = "session-data",
|
|
190
|
-
SessionKey = "session-key",
|
|
191
|
-
CueOut = "cue-out",
|
|
192
|
-
CueOutCont = "cue-out-cont",
|
|
193
|
-
CueIn = "cue-in",
|
|
194
|
-
Scte35 = "scte35",
|
|
195
|
-
DateRange = "daterange",
|
|
196
|
-
Version = "version",
|
|
197
|
-
Uri = "uri",
|
|
198
|
-
Unknown = "unknown"
|
|
199
|
-
}
|
|
200
|
-
export declare enum PlaylistType {
|
|
201
|
-
Vod = "VOD",
|
|
202
|
-
Event = "EVENT"
|
|
203
|
-
}
|
|
204
162
|
export type BaseTag<T extends TagType> = {
|
|
205
163
|
tagType: T;
|
|
206
164
|
};
|
|
@@ -269,4 +227,3 @@ export declare enum HlsParsingExportNames {
|
|
|
269
227
|
ParsingFunctions = "hls-parsing-functions",
|
|
270
228
|
Errors = "hls-parsing-errors"
|
|
271
229
|
}
|
|
272
|
-
export {};
|
|
@@ -13,13 +13,14 @@
|
|
|
13
13
|
import type { ContextHaving } from '../../../../../framework-types/execution-context/Types';
|
|
14
14
|
import type { NamedTask, Task } from '../../../../../framework-types/task/Types';
|
|
15
15
|
import type { EmptyObject } from '../../../../Types';
|
|
16
|
-
import
|
|
16
|
+
import { AdaptationExportNames } from '../../../adaptation/Types';
|
|
17
17
|
import type { Constants } from '../../../core/Constants';
|
|
18
18
|
import type { MetricsAtom } from '../../../core/metrics/MetricsAtom';
|
|
19
19
|
import type { CoreEffects, CoreStateAtoms } from '../../../core/Types';
|
|
20
20
|
import { CoreExportNames } from '../../../core/Types';
|
|
21
21
|
import type { CoreUtils } from '../../../core/utils/Types';
|
|
22
22
|
import type { NetworkTask } from '../../../network/NetworkTask';
|
|
23
|
+
import type { HttpRequestMethod, HttpResponseType } from '../../../network/Types';
|
|
23
24
|
import { NetworkExportNames } from '../../../network/Types';
|
|
24
25
|
import type { SourceStateAtom } from '../../../source/atoms/SourceStateAtom';
|
|
25
26
|
import { SourceExportNames } from '../../../source/Types';
|
|
@@ -32,6 +33,7 @@ import { HlsParsingExportNames } from '../parsing/Types';
|
|
|
32
33
|
import { HlsTechState } from '../technology/Types';
|
|
33
34
|
import type { HlsMultivariantPlaylistTranslatorTask } from '../translation/manifests/HlsMultivariantPlaylistTranslatorTask';
|
|
34
35
|
import type { HlsVariantTranslationTask } from '../translation/manifests/HlsVariantTranslationTask';
|
|
36
|
+
import type { HlsTranslationUtils } from '../translation/Types';
|
|
35
37
|
import { HlsTranslationExportNames } from '../translation/Types';
|
|
36
38
|
import { HlsPackageExportNames } from './Types';
|
|
37
39
|
type HlsDependencies = {
|
|
@@ -41,11 +43,14 @@ type HlsDependencies = {
|
|
|
41
43
|
[CoreExportNames.CoreStateAtoms]: CoreStateAtoms;
|
|
42
44
|
[SourceExportNames.SourceState]: SourceStateAtom;
|
|
43
45
|
[NetworkExportNames.NetworkTask]: typeof NetworkTask;
|
|
46
|
+
[NetworkExportNames.HttpRequestMethod]: typeof HttpRequestMethod;
|
|
47
|
+
[NetworkExportNames.HttpResponseType]: typeof HttpResponseType;
|
|
44
48
|
[AdaptationExportNames.Metrics]: MetricsAtom;
|
|
45
49
|
[HlsParsingExportNames.ParsingTask]: typeof HlsParsingTask;
|
|
46
50
|
[HlsParsingExportNames.ParsingFunctions]: typeof HlsParsingFunctions;
|
|
47
51
|
[HlsTranslationExportNames.HlsVariantTranslator]: typeof HlsVariantTranslationTask;
|
|
48
52
|
[HlsTranslationExportNames.HlsMultivariantTranslator]: typeof HlsMultivariantPlaylistTranslatorTask;
|
|
53
|
+
[HlsTranslationExportNames.HlsTranslationUtils]: HlsTranslationUtils;
|
|
49
54
|
} & StreamDataStructurePackageExports & StreamingStateType & HlsTechState;
|
|
50
55
|
type ManifestLoadTaskType = NamedTask<Task<HlsPackageContext, SourceStateAtom, void>>;
|
|
51
56
|
export type HlsExports = {
|
|
@@ -3,7 +3,7 @@ import type { ContextHaving } from '../../../../../framework-types/execution-con
|
|
|
3
3
|
import type { Constants } from '../../../core/Constants';
|
|
4
4
|
import type { CoreEffects, CoreExportNames, CoreStateAtoms } from '../../../core/Types';
|
|
5
5
|
import type { CoreUtils } from '../../../core/utils/Types';
|
|
6
|
-
import type { ManifestTechnologyEntry, PlaybackTechnologyComponent } from '../../../playback-technology/Types';
|
|
6
|
+
import type { ManifestTechnologyEntry, PlaybackTechnologyComponent, PlaybackTechnologyEntryType, PlaybackTechnologyExportNames } from '../../../playback-technology/Types';
|
|
7
7
|
import type { Resource } from '../../../source/atoms/SourceConfigAtom';
|
|
8
8
|
import type { StreamDataStructureStream } from '../../../stream-data-structure/stream/Exports';
|
|
9
9
|
import type { createStreamingStateAtom, StreamingStateAtom } from '../../../streaming/atoms/StreamingStateAtom';
|
|
@@ -20,6 +20,7 @@ export interface HlsTechStateData {
|
|
|
20
20
|
export type HlsManifestTechnologyExports = EmptyObject;
|
|
21
21
|
export type HlsManifestTechnologyDependencies = {
|
|
22
22
|
[PlaybackTechnologyComponent]: PlaybackTechnologyComponent;
|
|
23
|
+
[PlaybackTechnologyExportNames.EntryType]: typeof PlaybackTechnologyEntryType;
|
|
23
24
|
[CoreExportNames.Constants]: Constants;
|
|
24
25
|
[CoreExportNames.CoreStateAtoms]: CoreStateAtoms;
|
|
25
26
|
[CoreExportNames.CoreEffects]: CoreEffects;
|
|
@@ -14,18 +14,23 @@ import { CoreExportNames } from '../../../core/Types';
|
|
|
14
14
|
import type { CoreUtils } from '../../../core/utils/Types';
|
|
15
15
|
import type { StreamDataStructurePackageExports } from '../../../stream-data-structure/Types';
|
|
16
16
|
import type { ContextWithState } from '../../../Types';
|
|
17
|
+
import type { HlsParsingFunctions } from '../parsing/HlsParsingFunctions';
|
|
18
|
+
import { HlsParsingExportNames } from '../parsing/Types';
|
|
17
19
|
import { HlsMultivariantPlaylistTranslatorTask } from './manifests/HlsMultivariantPlaylistTranslatorTask';
|
|
18
20
|
import { HlsVariantTranslationTask } from './manifests/HlsVariantTranslationTask';
|
|
21
|
+
import type { HlsTranslationUtils } from './Types';
|
|
19
22
|
import { HlsTranslationExportNames } from './Types';
|
|
20
23
|
type Dependencies = {
|
|
21
24
|
[CoreExportNames.Utils]: CoreUtils;
|
|
22
25
|
[CoreExportNames.Constants]: Constants;
|
|
23
26
|
[CoreExportNames.CoreEffects]: CoreEffects;
|
|
24
27
|
[CoreExportNames.CoreStateAtoms]: CoreStateAtoms;
|
|
28
|
+
[HlsParsingExportNames.ParsingFunctions]: typeof HlsParsingFunctions;
|
|
25
29
|
} & StreamDataStructurePackageExports;
|
|
26
30
|
export type HlsTranslationPackageExports = {
|
|
27
31
|
[HlsTranslationExportNames.HlsVariantTranslator]: typeof HlsVariantTranslationTask;
|
|
28
32
|
[HlsTranslationExportNames.HlsMultivariantTranslator]: typeof HlsMultivariantPlaylistTranslatorTask;
|
|
33
|
+
[HlsTranslationExportNames.HlsTranslationUtils]: HlsTranslationUtils;
|
|
29
34
|
};
|
|
30
35
|
export type HlsTranslationPackageContext = ContextHaving<Dependencies, HlsTranslationPackageExports, ContextWithState>;
|
|
31
36
|
export declare const HlsTranslationPackage: import("../../../../../framework-types/package-api/Package").Package<Dependencies, HlsTranslationPackageExports, EmptyObject>;
|
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
}): rendition is {
|
|
5
|
-
attributes: RenditionAttributes & {
|
|
6
|
-
URI: string;
|
|
7
|
-
};
|
|
8
|
-
};
|
|
9
|
-
export declare function getReferencedAudioGroupId(variant: Variant): string | undefined;
|
|
10
|
-
export declare function getReferencedVideoGroupId(variant: Variant): string | undefined;
|
|
1
|
+
import type { maybeSetSelectionGroupContainerFormat } from './segments/StreamHelpers';
|
|
2
|
+
import type { addTrackToSelectionGroup } from './stream/TracksToSelectionGroups';
|
|
3
|
+
import type { translateUnknownTrackToMediaTrack } from './stream/UnknownTrackToMediaTrackTranslator';
|
|
11
4
|
export declare enum HlsTranslationExportNames {
|
|
12
5
|
HlsMultivariantTranslator = "hls-multivariant-translator",
|
|
13
|
-
HlsVariantTranslator = "hls-variant-translator"
|
|
6
|
+
HlsVariantTranslator = "hls-variant-translator",
|
|
7
|
+
HlsTranslationUtils = "hls-translation-utils"
|
|
14
8
|
}
|
|
9
|
+
export type HlsTranslationUtils = {
|
|
10
|
+
addTrackToSelectionGroup: typeof addTrackToSelectionGroup;
|
|
11
|
+
maybeSetSelectionGroupContainerFormat: typeof maybeSetSelectionGroupContainerFormat;
|
|
12
|
+
translateUnknownTrackToMediaTrack: typeof translateUnknownTrackToMediaTrack;
|
|
13
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { SegmentAtom } from '../../../../stream-data-structure/segment/SegmentAtom';
|
|
2
|
+
import type { SelectionGroupAtom } from '../../../../stream-data-structure/selection-group/SelectionGroupAtom';
|
|
3
|
+
import type { StreamAtom } from '../../../../stream-data-structure/stream/StreamAtom';
|
|
4
|
+
import type { AudioTrackAtom, MediaTrackAtom, SubtitleTrackAtom, TrackAtom, VideoTrackAtom } from '../../../../stream-data-structure/track/TrackAtom';
|
|
5
|
+
import type { SegmentEntry } from '../../parsing/Types';
|
|
6
|
+
import type { HlsTranslationPackageContext } from '../HlsTranslation.package';
|
|
7
|
+
export declare function createSelectionGroup(context: HlsTranslationPackageContext, track: TrackAtom): import("../../../../stream-data-structure/selection-group/SelectionGroupAtom").UnknownSelectionGroupAtom | import("../../../../stream-data-structure/selection-group/SelectionGroupAtom").AudioSelectionGroupAtom | import("../../../../stream-data-structure/selection-group/SelectionGroupAtom").VideoSelectionGroupAtom | import("../../../../stream-data-structure/selection-group/SelectionGroupAtom").SubtitleSelectionGroupAtom;
|
|
8
|
+
export declare function findOrCreateSelectionGroup(context: HlsTranslationPackageContext, track: TrackAtom, selectionGroups: readonly SelectionGroupAtom[]): SelectionGroupAtom;
|
|
9
|
+
export declare function createTrack(context: HlsTranslationPackageContext, variantUrl: string, stream: StreamAtom, discontinuitySequenceNumber: number, referenceTrack?: TrackAtom): AudioTrackAtom | VideoTrackAtom | SubtitleTrackAtom | import("../../../../stream-data-structure/track/TrackAtom").UnknownTrackAtom;
|
|
10
|
+
export declare function findTracksOfVariant(context: HlsTranslationPackageContext, stream: StreamAtom, variantUrl: string): TrackAtom[];
|
|
11
|
+
export declare function findOrCreateTrack(context: HlsTranslationPackageContext, variantUrl: string, segment: SegmentEntry, stream: StreamAtom, referenceTrack?: TrackAtom): TrackAtom;
|
|
12
|
+
export declare function hasSegment(track: MediaTrackAtom, segment: SegmentEntry): boolean;
|
|
13
|
+
export declare function isMatchingSegment(segment: SegmentAtom, entry: SegmentEntry): boolean;
|
|
14
|
+
export declare function maybeSetSelectionGroupContainerFormat(context: HlsTranslationPackageContext, selectionGroup: SelectionGroupAtom): void;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ArrayAtom } from '../../../../core/state/ArrayStateAtom';
|
|
2
|
+
import type { SelectionGroupsAtom } from '../../../../stream-data-structure/stream/StreamAtom';
|
|
3
|
+
import type { TrackAtom } from '../../../../stream-data-structure/track/TrackAtom';
|
|
4
|
+
import type { HlsTranslationPackageContext } from '../HlsTranslation.package';
|
|
5
|
+
export declare function tracksToSelectionGroups(context: HlsTranslationPackageContext, tracks: ArrayAtom<TrackAtom>): SelectionGroupsAtom;
|
|
6
|
+
export declare function addTrackToSelectionGroup(context: HlsTranslationPackageContext, track: TrackAtom, selectionGroups: SelectionGroupsAtom): void;
|
package/types/packages/manifest/hls/translation/stream/UnknownTrackToMediaTrackTranslator.d.ts
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { UnknownTrackAtom } from '../../../../stream-data-structure/track/TrackAtom';
|
|
2
|
+
import type { TypeDetection } from '../../../../stream-data-structure/track/TypeDetection';
|
|
3
|
+
import type { HlsPackageContext } from '../../root/Hls.package';
|
|
4
|
+
export declare function translateUnknownTrackToMediaTrack(context: HlsPackageContext, track: UnknownTrackAtom, detection: TypeDetection): import("../../../../stream-data-structure/track/TrackAtom").AudioTrackAtom | import("../../../../stream-data-structure/track/TrackAtom").VideoTrackAtom | undefined;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { ContextHaving } from '../../../framework-types/execution-context/Types';
|
|
2
|
+
import type { EmptyObject } from '../../Types';
|
|
3
|
+
import type { PrimitiveAtom } from '../core/state/PrimitiveAtom';
|
|
4
|
+
import { type CoreStateAtoms, CoreExportNames } from '../core/Types';
|
|
5
|
+
import type { ContextWithState } from '../Types';
|
|
6
|
+
export type MediaInfo = {
|
|
7
|
+
currentTime: PrimitiveAtom<number | undefined>;
|
|
8
|
+
duration: PrimitiveAtom<number | undefined>;
|
|
9
|
+
volume: PrimitiveAtom<number | undefined>;
|
|
10
|
+
muted: PrimitiveAtom<boolean | undefined>;
|
|
11
|
+
playbackRate: PrimitiveAtom<number | undefined>;
|
|
12
|
+
error: PrimitiveAtom<Error | undefined>;
|
|
13
|
+
};
|
|
14
|
+
type ContextT = ContextHaving<{
|
|
15
|
+
[CoreExportNames.CoreStateAtoms]: CoreStateAtoms;
|
|
16
|
+
}, EmptyObject, ContextWithState>;
|
|
17
|
+
export declare function createMediaInfo(context: ContextT): MediaInfo;
|
|
18
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @packageDocumentation MediaState.package
|
|
3
|
+
*
|
|
4
|
+
* Owns the per-source media state slot. Tech-agnostic: a controller (e.g.
|
|
5
|
+
* `VideoElementController` for HTMLVideoElement)
|
|
6
|
+
* is responsible for translating its underlying medium into transitions on
|
|
7
|
+
* `mediaState` and updates on `mediaInfo`.
|
|
8
|
+
*
|
|
9
|
+
* Exposes:
|
|
10
|
+
* - `MediaState` — `StateMachineAtom<MediaState>` for qualitative playback state
|
|
11
|
+
* (`Detached | Playing | Paused | Seeking | Stalled | Ended | Error`).
|
|
12
|
+
* - `MediaInfo` — per-scalar atoms (`currentTime`, `duration`, `volume`,
|
|
13
|
+
* `muted`, `playbackRate`, `error`).
|
|
14
|
+
* - `SeekRestriction` — whether seeking is allowed; seeded from the source's
|
|
15
|
+
* `preventSeeking` playback config.
|
|
16
|
+
*
|
|
17
|
+
* ### `MediaState` Package Dependency Graph
|
|
18
|
+
* <svg aria-roledescription="flowchart-v2" role="graphics-document document" viewBox="-8 -8 227.640625 49" style="max-width: 227.641px; 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-MediaState LE-Source" id="L-MediaState-Source-0" d="M95.938,16.5L100.104,16.5C104.271,16.5,112.604,16.5,120.054,16.5C127.504,16.5,134.071,16.5,137.354,16.5L140.638,16.5"/></g><g class="edgeLabels"><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g></g><g class="nodes"><g transform="translate(47.96875, 16.5)" data-id="MediaState" data-node="true" id="flowchart-MediaState-0" class="node default default flowchart-label"><rect height="33" width="95.9375" y="-16.5" x="-47.96875" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-40.46875, -9)" style="" class="label"><rect/><foreignObject height="18" width="80.9375"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">MediaState</span></div></foreignObject></g></g><g transform="translate(178.7890625, 16.5)" data-id="Source" data-node="true" id="flowchart-Source-1" class="node default default flowchart-label"><rect height="33" width="65.703125" y="-16.5" x="-32.8515625" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-25.3515625, -9)" style="" class="label"><rect/><foreignObject height="18" width="50.703125"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">Source</span></div></foreignObject></g></g></g></g></g></svg>
|
|
19
|
+
*/
|
|
20
|
+
import type { MediaStatePackageDependencies, MediaStatePackageExports } from './Types';
|
|
21
|
+
export declare const MediaStatePackage: import("../../../framework-types/package-api/Package").Package<MediaStatePackageDependencies, MediaStatePackageExports, import("../../../framework-types/BaseTypes").EmptyObject>;
|
|
22
|
+
export default MediaStatePackage;
|