@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
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { ContextHaving } from '../../../framework-types/execution-context/Types';
|
|
2
|
+
import type { EmptyObject } from '../../Types';
|
|
3
|
+
import type { BaseStateMachineContext, StateMachineAtom } from '../core/state/StateMachineAtom';
|
|
4
|
+
import type { CoreStateAtoms } from '../core/Types';
|
|
5
|
+
import { CoreExportNames } from '../core/Types';
|
|
6
|
+
import type { CoreUtils } from '../core/utils/Types';
|
|
7
|
+
import type { ContextWithState } from '../Types';
|
|
8
|
+
import { MediaState } from './MediaState';
|
|
9
|
+
import type { MediaStateTransition } from './Types';
|
|
10
|
+
export type MediaStateAtom = StateMachineAtom<MediaState, BaseStateMachineContext, MediaStateTransition>;
|
|
11
|
+
type ContextT = ContextHaving<{
|
|
12
|
+
[CoreExportNames.CoreStateAtoms]: CoreStateAtoms;
|
|
13
|
+
[CoreExportNames.Utils]: CoreUtils;
|
|
14
|
+
}, EmptyObject, ContextWithState>;
|
|
15
|
+
export declare function createMediaStateMachineAtom(context: ContextT): MediaStateAtom;
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare enum MediaStateTransitionType {
|
|
2
|
+
Detached = "detached",
|
|
3
|
+
Play = "play",
|
|
4
|
+
PlaybackPlaying = "playback-playing",
|
|
5
|
+
PlaybackPaused = "playback-paused",
|
|
6
|
+
SeekStarted = "seek-started",
|
|
7
|
+
SeekFinished = "seek-finished",
|
|
8
|
+
PlaybackStalled = "playback-stalled",
|
|
9
|
+
PlaybackEnded = "playback-ended",
|
|
10
|
+
ErrorOccurred = "error-occurred"
|
|
11
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { EmptyObject } from '../../../framework-types/BaseTypes';
|
|
2
|
+
import type { ContextHaving } from '../../../framework-types/execution-context/Types';
|
|
3
|
+
import type { CoreEffects, CoreExportNames, CoreStateAtoms } from '../core/Types';
|
|
4
|
+
import type { CoreUtils } from '../core/utils/Types';
|
|
5
|
+
import type { SourceStateAtom } from '../source/atoms/SourceStateAtom';
|
|
6
|
+
import type { SourceExportNames } from '../source/Types';
|
|
7
|
+
import type { ContextWithState } from '../Types';
|
|
8
|
+
import type { MediaInfo } from './MediaInfoAtoms';
|
|
9
|
+
import type { MediaState } from './MediaState';
|
|
10
|
+
import type { MediaStateAtom } from './MediaStateAtom';
|
|
11
|
+
import type { MediaStateTransitionType } from './MediaStateTransitionType';
|
|
12
|
+
import type { SeekRestrictionAtom } from './SeekRestrictionAtom';
|
|
13
|
+
export type { MediaState } from './MediaState';
|
|
14
|
+
export type { MediaStateTransitionType } from './MediaStateTransitionType';
|
|
15
|
+
export type MediaStateTransition = {
|
|
16
|
+
type: MediaStateTransitionType;
|
|
17
|
+
paused: boolean;
|
|
18
|
+
ended: boolean;
|
|
19
|
+
seeking: boolean;
|
|
20
|
+
errored: boolean;
|
|
21
|
+
currentTime: number;
|
|
22
|
+
duration: number | undefined;
|
|
23
|
+
};
|
|
24
|
+
export declare enum MediaStateExportNames {
|
|
25
|
+
MediaStateAtom = "media-state-atom",
|
|
26
|
+
MediaState = "media-state",
|
|
27
|
+
MediaInfo = "media-info",
|
|
28
|
+
MediaStateTransitionType = "media-state-transition-type",
|
|
29
|
+
SeekRestriction = "seek-restriction"
|
|
30
|
+
}
|
|
31
|
+
export type MediaStatePackageDependencies = {
|
|
32
|
+
[SourceExportNames.SourceState]: SourceStateAtom;
|
|
33
|
+
[CoreExportNames.CoreEffects]: CoreEffects;
|
|
34
|
+
[CoreExportNames.CoreStateAtoms]: CoreStateAtoms;
|
|
35
|
+
[CoreExportNames.Utils]: CoreUtils;
|
|
36
|
+
};
|
|
37
|
+
export type MediaStatePackageExports = {
|
|
38
|
+
[MediaStateExportNames.MediaStateAtom]: MediaStateAtom;
|
|
39
|
+
[MediaStateExportNames.MediaState]: typeof MediaState;
|
|
40
|
+
[MediaStateExportNames.MediaInfo]: MediaInfo;
|
|
41
|
+
[MediaStateExportNames.SeekRestriction]: SeekRestrictionAtom;
|
|
42
|
+
[MediaStateExportNames.MediaStateTransitionType]: typeof MediaStateTransitionType;
|
|
43
|
+
};
|
|
44
|
+
export type MediaStatePackageContext = ContextHaving<MediaStatePackageDependencies, MediaStatePackageExports, ContextWithState>;
|
|
45
|
+
export type MediaStatePackageApi = EmptyObject;
|
|
46
|
+
export type { MediaInfo } from './MediaInfoAtoms';
|
|
47
|
+
export type { MediaStateAtom } from './MediaStateAtom';
|
|
48
|
+
export type { SeekRestrictionAtom } from './SeekRestrictionAtom';
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { EmptyObject } from '../../../../../framework-types/BaseTypes';
|
|
2
|
+
import type { ContextHaving } from '../../../../../framework-types/execution-context/Types';
|
|
3
|
+
import type { CoreEffects, CoreExportNames, CoreStateAtoms } from '../../../core/Types';
|
|
4
|
+
import type { CoreUtils } from '../../../core/utils/Types';
|
|
5
|
+
import type { TargetPlaybackState, TargetPlaybackStateAtom } from '../../../playback/play-pause/TargetPlaybackStateAtom';
|
|
6
|
+
import type { PlayPauseExportNames } from '../../../playback/play-pause/Types';
|
|
7
|
+
import type { TargetVolumeStateAtom } from '../../../playback/volume/TargetVolumeStateAtom';
|
|
8
|
+
import type { TargetVolumeState } from '../../../playback/volume/Types';
|
|
9
|
+
import type { SourceStateAtom } from '../../../source/atoms/SourceStateAtom';
|
|
10
|
+
import type { SourceExportNames } from '../../../source/Types';
|
|
11
|
+
import type { ContextWithState } from '../../../Types';
|
|
12
|
+
import type { MediaInfo } from '../../MediaInfoAtoms';
|
|
13
|
+
import type { MediaStateAtom } from '../../MediaStateAtom';
|
|
14
|
+
import type { SeekRestrictionAtom } from '../../SeekRestrictionAtom';
|
|
15
|
+
import type { MediaState, MediaStateExportNames, MediaStateTransitionType } from '../../Types';
|
|
16
|
+
export type VideoElementControllerPackageDependencies = {
|
|
17
|
+
[SourceExportNames.SourceState]: SourceStateAtom;
|
|
18
|
+
[MediaStateExportNames.MediaStateAtom]: MediaStateAtom;
|
|
19
|
+
[MediaStateExportNames.MediaInfo]: MediaInfo;
|
|
20
|
+
[MediaStateExportNames.SeekRestriction]: SeekRestrictionAtom;
|
|
21
|
+
[MediaStateExportNames.MediaStateTransitionType]: typeof MediaStateTransitionType;
|
|
22
|
+
[MediaStateExportNames.MediaState]: typeof MediaState;
|
|
23
|
+
[PlayPauseExportNames.TargetPlaybackState]: typeof TargetPlaybackState;
|
|
24
|
+
[PlayPauseExportNames.TargetPlaybackStateAtom]: TargetPlaybackStateAtom;
|
|
25
|
+
[TargetVolumeState]: TargetVolumeStateAtom;
|
|
26
|
+
[CoreExportNames.CoreEffects]: CoreEffects;
|
|
27
|
+
[CoreExportNames.CoreStateAtoms]: CoreStateAtoms;
|
|
28
|
+
[CoreExportNames.Utils]: CoreUtils;
|
|
29
|
+
};
|
|
30
|
+
export type VideoElementControllerPackageExports = EmptyObject;
|
|
31
|
+
export type VideoElementControllerPackageApi = EmptyObject;
|
|
32
|
+
export type VideoElementControllerPackageContext = ContextHaving<VideoElementControllerPackageDependencies, VideoElementControllerPackageExports, ContextWithState>;
|
package/types/packages/media-state/controllers/video-element/VideoElementController.package.d.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @packageDocumentation VideoElementController.package
|
|
3
|
+
*
|
|
4
|
+
* Per-source controller that bridges the HTMLVideoElement to the abstract
|
|
5
|
+
* `mediaState` / `mediaInfo` atoms (observation up) and to user-intent atoms —
|
|
6
|
+
* `targetPlaybackState`, `targetVolumeState`, `playback.playbackRate` — (action
|
|
7
|
+
* down). Reads the video element from `sourceState.video` and re-wires
|
|
8
|
+
* automatically on element swap / detach / re-attach.
|
|
9
|
+
*
|
|
10
|
+
* ### `VideoElementController` Package Dependency Graph
|
|
11
|
+
* <svg aria-roledescription="flowchart-v2" role="graphics-document document" viewBox="-8 -17.25 461.328125 84" style="max-width: 461.328px; 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-VideoElementController LE-Source" id="L-VideoElementController-Source-0" d="M166.715,0L173.71,-1.542C180.706,-3.083,194.697,-6.167,213.853,-7.708C233.01,-9.25,257.333,-9.25,281.656,-9.25C305.979,-9.25,330.302,-9.25,345.823,-7.755C361.344,-6.259,368.064,-3.268,371.423,-1.773L374.783,-0.278"/><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-VideoElementController LE-MediaState" id="L-VideoElementController-MediaState-0" d="M166.715,33L173.71,34.542C180.706,36.083,194.697,39.167,204.975,40.708C215.254,42.25,221.821,42.25,225.104,42.25L228.388,42.25"/><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="M329.625,42.25L333.792,42.25C337.958,42.25,346.292,42.25,353.818,40.755C361.344,39.259,368.064,36.268,371.423,34.773L374.783,33.278"/></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><g class="nodes"><g transform="translate(91.84375, 16.5)" data-id="VideoElementController" data-node="true" id="flowchart-VideoElementController-0" class="node default default flowchart-label"><rect height="33" width="183.6875" y="-16.5" x="-91.84375" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-84.34375, -9)" style="" class="label"><rect/><foreignObject height="18" width="168.6875"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">VideoElementController</span></div></foreignObject></g></g><g transform="translate(412.4765625, 16.5)" data-id="Source" data-node="true" id="flowchart-Source-1" class="node default default flowchart-label"><rect height="33" width="65.703125" y="-16.5" x="-32.8515625" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-25.3515625, -9)" style="" class="label"><rect/><foreignObject height="18" width="50.703125"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">Source</span></div></foreignObject></g></g><g transform="translate(281.65625, 42.25)" data-id="MediaState" data-node="true" id="flowchart-MediaState-3" 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></g></g></svg>
|
|
12
|
+
*/
|
|
13
|
+
import type { VideoElementControllerPackageDependencies } from './Types';
|
|
14
|
+
export declare const VideoElementControllerPackage: import("../../../../../framework-types/package-api/Package").Package<VideoElementControllerPackageDependencies, import("../../../../../framework-types/BaseTypes").EmptyObject, import("../../../../../framework-types/BaseTypes").EmptyObject>;
|
|
15
|
+
export default VideoElementControllerPackage;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare enum HttpRequestType {
|
|
2
|
+
MANIFEST_HLS_MULTIVARIANT = "manifest/hls/multivariant",
|
|
3
|
+
MANIFEST_HLS_VARIANT = "manifest/hls/variant",
|
|
4
|
+
MEDIA_AUDIO = "media/audio",
|
|
5
|
+
MEDIA_VIDEO = "media/video",
|
|
6
|
+
MEDIA_SUBTITLES = "media/subtitles",
|
|
7
|
+
MEDIA_THUMBNAILS = "media/thumbnails",
|
|
8
|
+
MEDIA_SEGMENTINDEX = "media/segmentindex",
|
|
9
|
+
KEY_HLS_AES = "key/hls/aes",
|
|
10
|
+
TIME_SYNC = "time/sync"
|
|
11
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { DataPackageContext } from '../data/Types';
|
|
2
|
+
import type { NetworkMessage } from './NetworkMessageTypes';
|
|
3
|
+
export type NetworkState = {
|
|
4
|
+
lastMessage: NetworkMessage;
|
|
5
|
+
};
|
|
6
|
+
export type NetworkAtom = ReturnType<typeof createNetworkAtom>;
|
|
7
|
+
export declare function createNetworkAtom(context: DataPackageContext): import("../core/state/Types").StateAtom<{
|
|
8
|
+
lastMessage: NetworkMessage;
|
|
9
|
+
}, {
|
|
10
|
+
requestOpened: (state: NetworkState, openedTimestamp: number) => boolean;
|
|
11
|
+
headersReceived: (state: NetworkState, headersReceivedTimestamp: number, contentLength: number) => boolean;
|
|
12
|
+
progress: (state: NetworkState, progressTimestamp: number, chunk: Uint8Array, loadedBytes: number, elapsedTime: number) => boolean;
|
|
13
|
+
error: (state: NetworkState, error: Error) => boolean;
|
|
14
|
+
done: (state: NetworkState, doneTimestamp: number) => boolean;
|
|
15
|
+
}>;
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
1
|
+
import type { HttpResponseType } from './HttpResponseType';
|
|
2
|
+
import type { NetworkAtom } from './NetworkAtom';
|
|
3
|
+
import type { BaseRequestConfig, HttpResponse, NetworkPackageContext } from './Types';
|
|
3
4
|
export declare const NetworkTask: import("../../../framework-types/task/Types").NamedTask<(<T extends HttpResponseType>([baseConfig, networkAtom]: [BaseRequestConfig<T>, import("../core/state/Types").StateAtom<{
|
|
4
5
|
lastMessage: import("./NetworkMessageTypes").NetworkMessage;
|
|
5
6
|
}, {
|
|
6
|
-
requestOpened: (state: import("
|
|
7
|
-
headersReceived: (state: import("
|
|
8
|
-
progress: (state: import("
|
|
9
|
-
error: (state: import("
|
|
10
|
-
done: (state: import("
|
|
7
|
+
requestOpened: (state: import("./NetworkAtom").NetworkState, openedTimestamp: number) => boolean;
|
|
8
|
+
headersReceived: (state: import("./NetworkAtom").NetworkState, headersReceivedTimestamp: number, contentLength: number) => boolean;
|
|
9
|
+
progress: (state: import("./NetworkAtom").NetworkState, progressTimestamp: number, chunk: Uint8Array, loadedBytes: number, elapsedTime: number) => boolean;
|
|
10
|
+
error: (state: import("./NetworkAtom").NetworkState, error: Error) => boolean;
|
|
11
|
+
done: (state: import("./NetworkAtom").NetworkState, doneTimestamp: number) => boolean;
|
|
11
12
|
}> | undefined], context: NetworkPackageContext) => Promise<HttpResponse<HttpResponseType>>)>;
|
|
@@ -3,33 +3,22 @@ import type { BaseContext } from '../../../framework-types/Types';
|
|
|
3
3
|
import type { PartialRequired } from '../../Types';
|
|
4
4
|
import type { AdaptationExportNames } from '../adaptation/Types';
|
|
5
5
|
import type { MetricsAtom } from '../core/metrics/MetricsAtom';
|
|
6
|
-
import type { createNetworkAtom, NetworkAtom } from '../core/network/NetworkAtom';
|
|
7
6
|
import type { StateEffect } from '../core/state/state-effect/StateEffectFactory';
|
|
8
7
|
import type { CoreEffects, CoreExportNames } from '../core/Types';
|
|
9
8
|
import type { CoreUtils } from '../core/utils/Types';
|
|
10
9
|
import type { FetchTask } from './FetchTask';
|
|
10
|
+
import type { HttpRequestMethod } from './HttpRequestMethod';
|
|
11
|
+
import type { HttpRequestType } from './HttpRequestType';
|
|
12
|
+
import type { HttpResponseType } from './HttpResponseType';
|
|
13
|
+
import type { createNetworkAtom, NetworkAtom } from './NetworkAtom';
|
|
14
|
+
import type { NetworkMessageType } from './NetworkMessageTypes';
|
|
11
15
|
import type { NetworkTask } from './NetworkTask';
|
|
16
|
+
export type { HttpRequestMethod } from './HttpRequestMethod';
|
|
17
|
+
export type { HttpRequestType } from './HttpRequestType';
|
|
18
|
+
export type { HttpResponseType } from './HttpResponseType';
|
|
12
19
|
export interface HttpHeaders {
|
|
13
20
|
[fieldName: string]: string;
|
|
14
21
|
}
|
|
15
|
-
export declare enum HttpRequestType {
|
|
16
|
-
MANIFEST_HLS_MULTIVARIANT = "manifest/hls/multivariant",
|
|
17
|
-
MANIFEST_HLS_VARIANT = "manifest/hls/variant",
|
|
18
|
-
MEDIA_AUDIO = "media/audio",
|
|
19
|
-
MEDIA_VIDEO = "media/video",
|
|
20
|
-
MEDIA_SUBTITLES = "media/subtitles",
|
|
21
|
-
MEDIA_THUMBNAILS = "media/thumbnails",
|
|
22
|
-
MEDIA_SEGMENTINDEX = "media/segmentindex",
|
|
23
|
-
KEY_HLS_AES = "key/hls/aes",
|
|
24
|
-
TIME_SYNC = "time/sync"
|
|
25
|
-
}
|
|
26
|
-
export declare enum HttpResponseType {
|
|
27
|
-
ARRAYBUFFER = "arraybuffer",
|
|
28
|
-
BLOB = "blob",
|
|
29
|
-
DOCUMENT = "document",
|
|
30
|
-
JSON = "json",
|
|
31
|
-
TEXT = "text"
|
|
32
|
-
}
|
|
33
22
|
export type HttpRequestBody = ArrayBuffer | ArrayBufferView | Blob | FormData | string | Document | URLSearchParams;
|
|
34
23
|
export interface HttpResponseBodyTypeMap {
|
|
35
24
|
[HttpResponseType.ARRAYBUFFER]: ArrayBuffer;
|
|
@@ -38,11 +27,6 @@ export interface HttpResponseBodyTypeMap {
|
|
|
38
27
|
[HttpResponseType.JSON]: Record<string, unknown>;
|
|
39
28
|
[HttpResponseType.TEXT]: string;
|
|
40
29
|
}
|
|
41
|
-
export declare enum HttpRequestMethod {
|
|
42
|
-
GET = "GET",
|
|
43
|
-
POST = "POST",
|
|
44
|
-
HEAD = "HEAD"
|
|
45
|
-
}
|
|
46
30
|
export interface HttpTimingInformation {
|
|
47
31
|
sendTimestamp: number;
|
|
48
32
|
openedTimestamp: number;
|
|
@@ -85,13 +69,20 @@ export type NetworkDependencies = {
|
|
|
85
69
|
export declare enum NetworkExportNames {
|
|
86
70
|
NetworkAtom = "network-atom",
|
|
87
71
|
NetworkTask = "network-task",
|
|
88
|
-
FetchTask = "fetch-task"
|
|
72
|
+
FetchTask = "fetch-task",
|
|
73
|
+
HttpRequestType = "http-request-type",
|
|
74
|
+
HttpResponseType = "http-response-type",
|
|
75
|
+
HttpRequestMethod = "http-request-method",
|
|
76
|
+
NetworkMessageType = "network-message-type"
|
|
89
77
|
}
|
|
90
78
|
export type NetworkExports = {
|
|
91
79
|
[NetworkExportNames.NetworkAtom]: typeof createNetworkAtom;
|
|
92
80
|
[NetworkExportNames.NetworkTask]: typeof NetworkTask;
|
|
93
81
|
[NetworkExportNames.FetchTask]: typeof FetchTask;
|
|
82
|
+
[NetworkExportNames.HttpRequestType]: typeof HttpRequestType;
|
|
83
|
+
[NetworkExportNames.HttpResponseType]: typeof HttpResponseType;
|
|
84
|
+
[NetworkExportNames.HttpRequestMethod]: typeof HttpRequestMethod;
|
|
85
|
+
[NetworkExportNames.NetworkMessageType]: typeof NetworkMessageType;
|
|
94
86
|
};
|
|
95
87
|
type BaseExecutionContext = ContextHaving<NetworkDependencies, NetworkExports, BaseContext>;
|
|
96
88
|
export type NetworkPackageContext = ContextUsing<[StateEffect], BaseExecutionContext>;
|
|
97
|
-
export {};
|
|
@@ -4,8 +4,6 @@ import type { CoreEffects, CoreExportNames, CoreStateAtoms } from '../../core/Ty
|
|
|
4
4
|
import type { SourceStateAtom } from '../../source/atoms/SourceStateAtom';
|
|
5
5
|
import type { SourceExportNames } from '../../source/Types';
|
|
6
6
|
import type { ContextWithState } from '../../Types';
|
|
7
|
-
import type { VideoElementStateExportNames } from '../video-element-state/Types';
|
|
8
|
-
import type { VideoElementStateAtom } from '../video-element-state/VideoElementStateAtom';
|
|
9
7
|
import type { TargetPlaybackState, TargetPlaybackStateAtom } from './TargetPlaybackStateAtom';
|
|
10
8
|
export declare enum PlayPauseExportNames {
|
|
11
9
|
TargetPlaybackStateAtom = "target-playback-state-atom",
|
|
@@ -15,7 +13,6 @@ export type PlayPausePackageDependencies = {
|
|
|
15
13
|
[SourceExportNames.SourceState]: SourceStateAtom;
|
|
16
14
|
[CoreExportNames.CoreStateAtoms]: CoreStateAtoms;
|
|
17
15
|
[CoreExportNames.CoreEffects]: CoreEffects;
|
|
18
|
-
[VideoElementStateExportNames.VideoElementState]: VideoElementStateAtom;
|
|
19
16
|
};
|
|
20
17
|
export type PlayPausePackageApi = EmptyObject;
|
|
21
18
|
export type PlayPausePackageExports = {
|
|
@@ -3,17 +3,15 @@ import type { CoreEffects, CoreExportNames, CoreStateAtoms } from '../../core/Ty
|
|
|
3
3
|
import type { SourceStateAtom } from '../../source/atoms/SourceStateAtom';
|
|
4
4
|
import type { SourceExportNames } from '../../source/Types';
|
|
5
5
|
import type { ContextWithState } from '../../Types';
|
|
6
|
-
import type { VideoElementStateExportNames } from '../video-element-state/Types';
|
|
7
|
-
import type { VideoElementStateAtom } from '../video-element-state/VideoElementStateAtom';
|
|
8
6
|
import type { TargetVolumeStateAtom } from './TargetVolumeStateAtom';
|
|
9
7
|
export declare const TargetVolumeState = "target-volume-state";
|
|
10
|
-
export type
|
|
8
|
+
export type TargetVolumeState = {
|
|
11
9
|
[TargetVolumeState]: TargetVolumeStateAtom;
|
|
12
10
|
};
|
|
11
|
+
export type VolumePackageExports = TargetVolumeState;
|
|
13
12
|
export type VolumePackageDependencies = {
|
|
14
13
|
[CoreExportNames.CoreEffects]: CoreEffects;
|
|
15
14
|
[CoreExportNames.CoreStateAtoms]: CoreStateAtoms;
|
|
16
15
|
[SourceExportNames.SourceState]: SourceStateAtom;
|
|
17
|
-
[VideoElementStateExportNames.VideoElementState]: VideoElementStateAtom;
|
|
18
16
|
};
|
|
19
17
|
export type VolumePackageContext = ContextHaving<VolumePackageDependencies, VolumePackageExports, ContextWithState>;
|
|
@@ -2,10 +2,10 @@ import type { ApiManager } from '../../../../framework-types/api-manager/ApiMana
|
|
|
2
2
|
import type { EmptyObject } from '../../../../framework-types/BaseTypes';
|
|
3
3
|
import type { ContextHaving } from '../../../../framework-types/execution-context/Types';
|
|
4
4
|
import type { CoreEffects, CoreExportNames } from '../../core/Types';
|
|
5
|
+
import type { MediaStateAtom } from '../../media-state/MediaStateAtom';
|
|
6
|
+
import type { MediaState, MediaStateExportNames } from '../../media-state/Types';
|
|
5
7
|
import type { TargetPlaybackState, TargetPlaybackStateAtom } from '../../playback/play-pause/TargetPlaybackStateAtom';
|
|
6
8
|
import type { PlayPauseExportNames } from '../../playback/play-pause/Types';
|
|
7
|
-
import type { VideoElementStateExportNames } from '../../playback/video-element-state/Types';
|
|
8
|
-
import type { VideoElementStateAtom } from '../../playback/video-element-state/VideoElementStateAtom';
|
|
9
9
|
import type { SourcesApiExportNames } from '../../sources-api/Types';
|
|
10
10
|
import type { ContextWithState } from '../../Types';
|
|
11
11
|
export type PlayPauseApi = {
|
|
@@ -17,7 +17,8 @@ export type PlayPauseApiPackageDependencies = {
|
|
|
17
17
|
[PlayPauseExportNames.TargetPlaybackState]: typeof TargetPlaybackState;
|
|
18
18
|
[PlayPauseExportNames.TargetPlaybackStateAtom]: TargetPlaybackStateAtom;
|
|
19
19
|
[SourcesApiExportNames.SourceApiManager]: ApiManager<PlayPauseApi>;
|
|
20
|
-
[
|
|
20
|
+
[MediaStateExportNames.MediaStateAtom]: MediaStateAtom;
|
|
21
|
+
[MediaStateExportNames.MediaState]: typeof MediaState;
|
|
21
22
|
};
|
|
22
23
|
export type PlayPauseApiPackageExports = EmptyObject;
|
|
23
24
|
export type PlayPauseApiPackageContext = ContextHaving<PlayPauseApiPackageDependencies, PlayPauseApiPackageExports, ContextWithState>;
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import type { ApiManager } from '../../../../framework-types/api-manager/ApiManager';
|
|
2
2
|
import type { ContextHaving } from '../../../../framework-types/execution-context/Types';
|
|
3
|
-
import type { CoreEffects, CoreExportNames } from '../../core/Types';
|
|
3
|
+
import type { CoreEffects, CoreExportNames, CoreStateAtoms } from '../../core/Types';
|
|
4
|
+
import type { CoreUtils } from '../../core/utils/Types';
|
|
4
5
|
import type { extendEventBusTypes } from '../../event-bus/EventBus';
|
|
5
6
|
import type { EventBus, EventBusExportNames } from '../../event-bus/Types';
|
|
6
|
-
import type {
|
|
7
|
-
import type {
|
|
8
|
-
import type {
|
|
7
|
+
import type { MediaInfo } from '../../media-state/MediaInfoAtoms';
|
|
8
|
+
import type { MediaStateAtom } from '../../media-state/MediaStateAtom';
|
|
9
|
+
import type { MediaState, MediaStateExportNames } from '../../media-state/Types';
|
|
9
10
|
import type { SourceStateAtom } from '../../source/atoms/SourceStateAtom';
|
|
10
11
|
import type { SourceExportNames } from '../../source/Types';
|
|
11
12
|
import type { SourcesApiExportNames } from '../../sources-api/Types';
|
|
@@ -13,13 +14,15 @@ import type { ContextWithState } from '../../Types';
|
|
|
13
14
|
import type { PlaybackEvent, PlaybackEventMap } from './events/PlaybackEventMap';
|
|
14
15
|
export type PlaybackApiEventsPackageDependencies = {
|
|
15
16
|
[CoreExportNames.CoreEffects]: CoreEffects;
|
|
17
|
+
[CoreExportNames.CoreStateAtoms]: CoreStateAtoms;
|
|
18
|
+
[CoreExportNames.Utils]: CoreUtils;
|
|
16
19
|
[EventBusExportNames.ExtendEventBusTypes]: typeof extendEventBusTypes;
|
|
17
|
-
[
|
|
18
|
-
[
|
|
20
|
+
[MediaStateExportNames.MediaStateAtom]: MediaStateAtom;
|
|
21
|
+
[MediaStateExportNames.MediaState]: typeof MediaState;
|
|
22
|
+
[MediaStateExportNames.MediaInfo]: MediaInfo;
|
|
19
23
|
[SourcesApiExportNames.SourceEventBus]: EventBus<PlaybackEventMap>;
|
|
20
24
|
[SourcesApiExportNames.SourceApiManager]: ApiManager<PlaybackStateApi>;
|
|
21
25
|
[SourceExportNames.SourceState]: SourceStateAtom;
|
|
22
|
-
[VideoElementStateExportNames.VideoElementState]: VideoElementStateAtom;
|
|
23
26
|
};
|
|
24
27
|
export declare enum PlaybackApiEventsPackageExportNames {
|
|
25
28
|
PlaybackEvent = "playback-event"
|
|
@@ -29,5 +32,5 @@ export type PlaybackApiEventsPackageExports = {
|
|
|
29
32
|
};
|
|
30
33
|
export type PlaybackApiEventsPackageContext = ContextHaving<PlaybackApiEventsPackageDependencies, PlaybackApiEventsPackageExports, ContextWithState>;
|
|
31
34
|
export type PlaybackStateApi = {
|
|
32
|
-
readonly state:
|
|
35
|
+
readonly state: MediaState;
|
|
33
36
|
};
|
|
@@ -3,8 +3,8 @@ import type { ContextHaving } from '../../../../framework-types/execution-contex
|
|
|
3
3
|
import type { ArrayAtom } from '../../core/state/ArrayStateAtom';
|
|
4
4
|
import type { CoreEffects, CoreExportNames, CoreStateAtoms } from '../../core/Types';
|
|
5
5
|
import type { CoreUtils } from '../../core/utils/Types';
|
|
6
|
-
import type {
|
|
7
|
-
import type {
|
|
6
|
+
import type { MediaInfo } from '../../media-state/MediaInfoAtoms';
|
|
7
|
+
import type { MediaStateExportNames } from '../../media-state/Types';
|
|
8
8
|
import type { SourceStateAtom } from '../../source/atoms/SourceStateAtom';
|
|
9
9
|
import type { SourceExportNames } from '../../source/Types';
|
|
10
10
|
import type { SourcesApiExportNames } from '../../sources-api/Types';
|
|
@@ -24,7 +24,7 @@ export type TimeApiPackageDependencies = {
|
|
|
24
24
|
[CoreExportNames.CoreStateAtoms]: CoreStateAtoms;
|
|
25
25
|
[CoreExportNames.CoreEffects]: CoreEffects;
|
|
26
26
|
[CoreExportNames.Utils]: CoreUtils;
|
|
27
|
-
[
|
|
27
|
+
[MediaStateExportNames.MediaInfo]: MediaInfo;
|
|
28
28
|
[SourceExportNames.SourceState]: SourceStateAtom;
|
|
29
29
|
[SourcesApiExportNames.SourceApiManager]: ApiManager<TimeApi>;
|
|
30
30
|
};
|
|
@@ -32,5 +32,4 @@ export declare const SeekableRangeProviders = "seekable-range-providers";
|
|
|
32
32
|
export type SeekableRangeProviders = {
|
|
33
33
|
[SeekableRangeProviders]: ArrayAtom<SeekableRangeProviderAtom>;
|
|
34
34
|
};
|
|
35
|
-
export type
|
|
36
|
-
export type TimeApiPackageContext = ContextHaving<TimeApiPackageDependencies, TimeApiPackageExports, ContextWithState>;
|
|
35
|
+
export type TimeApiPackageContext = ContextHaving<TimeApiPackageDependencies, SeekableRangeProviders, ContextWithState>;
|
|
@@ -9,12 +9,8 @@ import type { Resource } from '../source/atoms/SourceConfigAtom';
|
|
|
9
9
|
import type { SourceStateAtom } from '../source/atoms/SourceStateAtom';
|
|
10
10
|
import type { SourceExportNames } from '../source/Types';
|
|
11
11
|
import type { ContextWithState } from '../Types';
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
Manifest = "manifest"
|
|
15
|
-
}
|
|
16
|
-
export declare function isManifestEntry(entry: TechnologyEntry): entry is ManifestTechnologyEntry;
|
|
17
|
-
export declare function isPresentationEntry(entry: TechnologyEntry): entry is PresentationTechnologyEntry;
|
|
12
|
+
import type { PlaybackTechnologyEntryType } from './PlaybackTechnologyEntryType';
|
|
13
|
+
export type { PlaybackTechnologyEntryType } from './PlaybackTechnologyEntryType';
|
|
18
14
|
export interface TechnologyEntryBase<Exports extends AnyRecord = EmptyObject> {
|
|
19
15
|
type: PlaybackTechnologyEntryType;
|
|
20
16
|
name: string;
|
|
@@ -49,6 +45,10 @@ export interface PlaybackTechnologyComponent {
|
|
|
49
45
|
addTechnology: NamedTask<Task<BaseContext, TechnologyEntry<AnyRecord>, void>>;
|
|
50
46
|
}
|
|
51
47
|
export declare const PlaybackTechnologyComponent = "playback-technology-component";
|
|
48
|
+
export declare enum PlaybackTechnologyExportNames {
|
|
49
|
+
EntryType = "playback-technology-entry-type"
|
|
50
|
+
}
|
|
52
51
|
export type PlaybackTechnologyExports = {
|
|
53
52
|
[PlaybackTechnologyComponent]: PlaybackTechnologyComponent;
|
|
53
|
+
[PlaybackTechnologyExportNames.EntryType]: typeof PlaybackTechnologyEntryType;
|
|
54
54
|
};
|
|
@@ -13,6 +13,7 @@ import type { BaseContext } from '../../../framework-types/Types';
|
|
|
13
13
|
import type { createEventBus, extendEventBusTypes } from '../event-bus/EventBus';
|
|
14
14
|
import type { EventBus } from '../event-bus/Types';
|
|
15
15
|
import { EventBusExportNames } from '../event-bus/Types';
|
|
16
|
+
import { PlayerEvent } from './PlayerEvent';
|
|
16
17
|
import type { PlayerApi, PlayerEventMap } from './Types';
|
|
17
18
|
import { PlayerApiExportNames } from './Types';
|
|
18
19
|
type PlayerApiDependencies = {
|
|
@@ -21,6 +22,7 @@ type PlayerApiDependencies = {
|
|
|
21
22
|
};
|
|
22
23
|
type PlayerApiExports = {
|
|
23
24
|
[PlayerApiExportNames.PlayerEventBus]: EventBus<PlayerEventMap>;
|
|
25
|
+
[PlayerApiExportNames.PlayerEvent]: typeof PlayerEvent;
|
|
24
26
|
};
|
|
25
27
|
export type PlayerApiContext = ContextHaving<PlayerApiDependencies, PlayerApiExports, BaseContext>;
|
|
26
28
|
declare const PlayerApiPackage: import("../../../framework-types/package-api/Package").Package<PlayerApiDependencies, PlayerApiExports, PlayerApi>;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { LogLevel, OnLogCallback } from '../../../framework-types/effects/LoggerEffect';
|
|
2
2
|
import type { EventBus } from '../event-bus/Types';
|
|
3
|
+
import type { PlayerEvent } from './PlayerEvent';
|
|
4
|
+
export type { PlayerEvent } from './PlayerEvent';
|
|
3
5
|
export declare enum PlayerApiExportNames {
|
|
4
|
-
PlayerEventBus = "player-event-bus"
|
|
5
|
-
|
|
6
|
-
export declare enum PlayerEvent {
|
|
7
|
-
PlayerError = "player-error"
|
|
6
|
+
PlayerEventBus = "player-event-bus",
|
|
7
|
+
PlayerEvent = "player-event"
|
|
8
8
|
}
|
|
9
9
|
export type PlayerErrorEvent = {
|
|
10
10
|
message: string;
|
|
@@ -3,7 +3,7 @@ import type { ContextHaving } from '../../../../../framework-types/execution-con
|
|
|
3
3
|
import type { CapabilitiesExportNames, PlatformCapabilities } from '../../../capabilities/Types';
|
|
4
4
|
import type { Constants } from '../../../core/Constants';
|
|
5
5
|
import type { CoreEffects, CoreExportNames, CoreStateAtoms } from '../../../core/Types';
|
|
6
|
-
import type { PlaybackTechnologyComponent, PresentationTechnologyEntry } from '../../../playback-technology/Types';
|
|
6
|
+
import type { PlaybackTechnologyComponent, PlaybackTechnologyEntryType, PlaybackTechnologyExportNames, PresentationTechnologyEntry } from '../../../playback-technology/Types';
|
|
7
7
|
import type { Resource } from '../../../source/atoms/SourceConfigAtom';
|
|
8
8
|
import type { ContextWithState } from '../../../Types';
|
|
9
9
|
import type { MsePresentationStateAtom } from './atoms/MsePresentationStateAtom';
|
|
@@ -17,6 +17,7 @@ export interface MsePresentationStateData {
|
|
|
17
17
|
export type MsePlaybackTechnologyExports = EmptyObject;
|
|
18
18
|
export type MsePlaybackTechnologyDependencies = {
|
|
19
19
|
[PlaybackTechnologyComponent]: PlaybackTechnologyComponent;
|
|
20
|
+
[PlaybackTechnologyExportNames.EntryType]: typeof PlaybackTechnologyEntryType;
|
|
20
21
|
[CoreExportNames.Constants]: Constants;
|
|
21
22
|
[CoreExportNames.CoreStateAtoms]: CoreStateAtoms;
|
|
22
23
|
[CoreExportNames.CoreEffects]: CoreEffects;
|
package/types/packages/presentation/mse/playback-technology/atoms/MsePresentationStateAtom.d.ts
CHANGED
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
import type { EmptyObject } from '../../../../../../framework-types/BaseTypes';
|
|
2
|
-
import type { ContextHaving } from '../../../../../../framework-types/execution-context/Types';
|
|
3
2
|
import type { StateAtom } from '../../../../core/state/Types';
|
|
4
3
|
import type { Resource } from '../../../../source/atoms/SourceConfigAtom';
|
|
5
4
|
import type { ContextWithState } from '../../../../Types';
|
|
6
5
|
import type { MsePresentationStateData } from '../Types';
|
|
7
6
|
export type MsePresentationStateAtom = StateAtom<MsePresentationStateData, EmptyObject>;
|
|
8
|
-
|
|
9
|
-
export declare function createMsePresentationStateAtom(context: ExtendedContext, resource: Resource): MsePresentationStateAtom;
|
|
10
|
-
export {};
|
|
7
|
+
export declare function createMsePresentationStateAtom(context: ContextWithState, resource: Resource): MsePresentationStateAtom;
|
|
@@ -18,6 +18,7 @@ import type { NamedTask, Task } from '../../../../../framework-types/task/Types'
|
|
|
18
18
|
import type { EmptyObject } from '../../../../Types';
|
|
19
19
|
import type { PlatformCapabilities } from '../../../capabilities/Types';
|
|
20
20
|
import { CapabilitiesExportNames } from '../../../capabilities/Types';
|
|
21
|
+
import type { ContainerFormat } from '../../../core/Constants';
|
|
21
22
|
import type { MapStateAtom } from '../../../core/state/MapStateAtom';
|
|
22
23
|
import type { StoreEffectFactory } from '../../../core/state/StoreEffectFactory';
|
|
23
24
|
import type { StreamTimelineAtom } from '../../../core/state/stream-timeline/StreamTimelineMapAtom';
|
|
@@ -28,13 +29,13 @@ import type { SegmentProcessingComponent, SegmentProcessorContext, SelectContain
|
|
|
28
29
|
import { SegmentProcessingExportNames } from '../../../segment-processing/Types';
|
|
29
30
|
import type { SourceState } from '../../../source/atoms/SourceStateAtom';
|
|
30
31
|
import { SourceExportNames } from '../../../source/Types';
|
|
31
|
-
import type { ContainerFormat } from '../../../stream-data-structure/segment/SegmentDataAtom';
|
|
32
32
|
import type { SelectionGroupAtom } from '../../../stream-data-structure/selection-group/SelectionGroupAtom';
|
|
33
33
|
import type { StreamDataStructurePackageExports } from '../../../stream-data-structure/Types';
|
|
34
34
|
import { StreamingState } from '../../../streaming/Types';
|
|
35
35
|
import type { ContextWithState } from '../../../Types';
|
|
36
36
|
import { MsePresentationState } from '../playback-technology/Types';
|
|
37
37
|
import type { SegmentOutputCache } from './cache/Types';
|
|
38
|
+
import type { SegmentDataLayout } from './Types';
|
|
38
39
|
import { MsePresentationExportNames } from './Types';
|
|
39
40
|
type Dependencies = {
|
|
40
41
|
[SourceExportNames.SourceState]: SourceState;
|
|
@@ -49,7 +50,8 @@ export type PresentationExports = {
|
|
|
49
50
|
};
|
|
50
51
|
export type PresentationContext = ContextUsing<[
|
|
51
52
|
StoreEffectFactory<'segmentDataCache', SegmentOutputCache>,
|
|
52
|
-
StoreEffectFactory<'containerFormatMap', MapStateAtom<SelectionGroupAtom, ContainerFormat
|
|
53
|
+
StoreEffectFactory<'containerFormatMap', MapStateAtom<SelectionGroupAtom, ContainerFormat>>,
|
|
54
|
+
StoreEffectFactory<'segmentDataLayoutMap', MapStateAtom<SelectionGroupAtom, SegmentDataLayout>>
|
|
53
55
|
], ContextHaving<Dependencies, PresentationExports, ContextWithState>>;
|
|
54
56
|
export declare const MsePresentationPackage: import("../../../../../framework-types/package-api/Package").Package<Dependencies, PresentationExports, EmptyObject>;
|
|
55
57
|
export default MsePresentationPackage;
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
import type { ContainerFormat, MediaType } from '../../../core/Constants';
|
|
1
2
|
export declare enum MsePresentationExportNames {
|
|
2
3
|
SelectContainerFormat = "presentation-select-container-format-task"
|
|
3
4
|
}
|
|
5
|
+
export type SegmentDataLayoutEntry = {
|
|
6
|
+
containerFormat: ContainerFormat;
|
|
7
|
+
mediaTypes: readonly MediaType[];
|
|
8
|
+
};
|
|
9
|
+
export type SegmentDataLayout = SegmentDataLayoutEntry[];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { EmptyObject } from '../../../../framework-types/BaseTypes';
|
|
2
2
|
import type { ContextHaving } from '../../../../framework-types/execution-context/Types';
|
|
3
|
-
import { type createNetworkAtom } from '../../
|
|
3
|
+
import { type createNetworkAtom } from '../../network/NetworkAtom';
|
|
4
4
|
import type { NetworkTask } from '../../network/NetworkTask';
|
|
5
5
|
import type { NetworkExportNames } from '../../network/Types';
|
|
6
6
|
import type { ContextWithState } from '../../Types';
|
|
@@ -3,7 +3,7 @@ import type { ContextHaving } from '../../../../../framework-types/execution-con
|
|
|
3
3
|
import type { CapabilitiesExportNames, PlatformCapabilities } from '../../../capabilities/Types';
|
|
4
4
|
import type { Constants } from '../../../core/Constants';
|
|
5
5
|
import type { CoreEffects, CoreExportNames, CoreStateAtoms } from '../../../core/Types';
|
|
6
|
-
import type { PlaybackTechnologyComponent, PresentationTechnologyEntry } from '../../../playback-technology/Types';
|
|
6
|
+
import type { PlaybackTechnologyComponent, PlaybackTechnologyEntryType, PlaybackTechnologyExportNames, PresentationTechnologyEntry } from '../../../playback-technology/Types';
|
|
7
7
|
import type { Resource } from '../../../source/atoms/SourceConfigAtom';
|
|
8
8
|
import type { ContextWithState } from '../../../Types';
|
|
9
9
|
import type { NativePresentationStateAtom } from './atoms/NativePresentationStateAtom';
|
|
@@ -17,6 +17,7 @@ export interface NativePresentationStateData {
|
|
|
17
17
|
export type NativePlaybackTechnologyExports = EmptyObject;
|
|
18
18
|
export type NativePlaybackTechnologyDependencies = {
|
|
19
19
|
[PlaybackTechnologyComponent]: PlaybackTechnologyComponent;
|
|
20
|
+
[PlaybackTechnologyExportNames.EntryType]: typeof PlaybackTechnologyEntryType;
|
|
20
21
|
[CoreExportNames.Constants]: Constants;
|
|
21
22
|
[CoreExportNames.CoreStateAtoms]: CoreStateAtoms;
|
|
22
23
|
[CoreExportNames.CoreEffects]: CoreEffects;
|