@amazon/vinyl 2.0.4 → 3.0.0
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/dist/index.cjs +603 -317
- package/dist/index.cjs.map +4 -4
- package/dist/index.js +622 -329
- package/dist/index.js.map +4 -4
- package/dist/test/benchmark.es5.js +8 -5
- package/dist/test/benchmark.js +228 -0
- package/dist/test/benchmark.js.map +4 -4
- package/dist/test/integ.es5.js +182 -156
- package/dist/test/integ.js +1853 -796
- package/dist/test/integ.js.map +4 -4
- package/dist/types/current/index.d.ts +4 -0
- package/dist/types/current/index.d.ts.map +1 -1
- package/dist/types/current/index.js +4 -0
- package/dist/types/current/streaming/AudioOptions.d.ts +39 -0
- package/dist/types/current/streaming/AudioOptions.d.ts.map +1 -0
- package/dist/types/current/streaming/AudioOptions.js +15 -0
- package/dist/types/current/streaming/createDefaultMediaTimelineTransformer.d.ts +2 -2
- package/dist/types/current/streaming/createDefaultMediaTimelineTransformer.d.ts.map +1 -1
- package/dist/types/current/streaming/createDefaultMediaTimelineTransformer.js +5 -5
- package/dist/types/current/text/HtmlTextTrackRenderer.d.ts +60 -0
- package/dist/types/current/text/HtmlTextTrackRenderer.d.ts.map +1 -0
- package/dist/types/current/text/HtmlTextTrackRenderer.js +231 -0
- package/dist/types/current/text/SidecarTextTrackController.d.ts +65 -53
- package/dist/types/current/text/SidecarTextTrackController.d.ts.map +1 -1
- package/dist/types/current/text/SidecarTextTrackController.js +167 -154
- package/dist/types/current/text/SidecarTextTrackLoader.d.ts +5 -0
- package/dist/types/current/text/SidecarTextTrackLoader.d.ts.map +1 -1
- package/dist/types/current/text/SidecarTextTrackLoader.js +13 -7
- package/dist/types/current/text/TextTrack.d.ts +74 -20
- package/dist/types/current/text/TextTrack.d.ts.map +1 -1
- package/dist/types/current/text/TextTrack.js +20 -0
- package/dist/types/current/text/TextTrackRenderer.d.ts +24 -0
- package/dist/types/current/text/TextTrackRenderer.d.ts.map +1 -0
- package/dist/types/current/text/TextTrackRenderer.js +5 -0
- package/dist/types/current/text/mediaTextTrackProvider.d.ts +34 -0
- package/dist/types/current/text/mediaTextTrackProvider.d.ts.map +1 -0
- package/dist/types/current/text/mediaTextTrackProvider.js +42 -0
- package/dist/types/current/text/parseWebVtt.d.ts +16 -2
- package/dist/types/current/text/parseWebVtt.d.ts.map +1 -1
- package/dist/types/current/text/parseWebVtt.js +176 -48
- package/dist/types/current/text/pickPreferredTextTrack.d.ts +2 -1
- package/dist/types/current/text/pickPreferredTextTrack.d.ts.map +1 -1
- package/dist/types/current/text/pickPreferredTextTrack.js +6 -3
- package/dist/types/current/track/Track.d.ts +1 -1
- package/dist/types/current/track/dash/createDashFactories.d.ts +21 -10
- package/dist/types/current/track/dash/createDashFactories.d.ts.map +1 -1
- package/dist/types/current/track/dash/createDashFactories.js +9 -21
- package/dist/types/current/track/hls/createHlsFactories.d.ts +21 -10
- package/dist/types/current/track/hls/createHlsFactories.d.ts.map +1 -1
- package/dist/types/current/track/hls/createHlsFactories.js +9 -21
- package/dist/types/current/track/mse/MseTrack.d.ts +1 -2
- package/dist/types/current/track/mse/MseTrack.d.ts.map +1 -1
- package/dist/types/current/track/mse/MseTrack.js +3 -7
- package/dist/types/current/tsconfig.tsbuildinfo +1 -1
- package/dist/types/current/vinyl/VinylOptions.d.ts +18 -40
- package/dist/types/current/vinyl/VinylOptions.d.ts.map +1 -1
- package/dist/types/current/vinyl/VinylOptions.js +12 -11
- package/dist/types/current/vinyl/VinylPlayer.d.ts +0 -6
- package/dist/types/current/vinyl/VinylPlayer.d.ts.map +1 -1
- package/dist/types/current/vinyl/VinylPlayer.js +2 -23
- package/dist/types/current/vinyl/createVinylFactories.d.ts +32 -18
- package/dist/types/current/vinyl/createVinylFactories.d.ts.map +1 -1
- package/dist/types/current/vinyl/createVinylFactories.js +6 -0
- package/dist/types/ts3.7/index.d.ts +4 -0
- package/dist/types/ts3.7/streaming/AudioOptions.d.ts +39 -0
- package/dist/types/ts3.7/streaming/createDefaultMediaTimelineTransformer.d.ts +2 -2
- package/dist/types/ts3.7/text/HtmlTextTrackRenderer.d.ts +60 -0
- package/dist/types/ts3.7/text/SidecarTextTrackController.d.ts +65 -53
- package/dist/types/ts3.7/text/SidecarTextTrackLoader.d.ts +5 -0
- package/dist/types/ts3.7/text/TextTrack.d.ts +74 -20
- package/dist/types/ts3.7/text/TextTrackRenderer.d.ts +24 -0
- package/dist/types/ts3.7/text/mediaTextTrackProvider.d.ts +34 -0
- package/dist/types/ts3.7/text/parseWebVtt.d.ts +16 -2
- package/dist/types/ts3.7/text/pickPreferredTextTrack.d.ts +2 -1
- package/dist/types/ts3.7/track/Track.d.ts +1 -1
- package/dist/types/ts3.7/track/dash/createDashFactories.d.ts +21 -10
- package/dist/types/ts3.7/track/hls/createHlsFactories.d.ts +21 -10
- package/dist/types/ts3.7/track/mse/MseTrack.d.ts +1 -2
- package/dist/types/ts3.7/vinyl/VinylOptions.d.ts +18 -40
- package/dist/types/ts3.7/vinyl/VinylPlayer.d.ts +0 -6
- package/dist/types/ts3.7/vinyl/createVinylFactories.d.ts +32 -18
- package/dist/types/ts4.1/index.d.ts +4 -0
- package/dist/types/ts4.1/streaming/AudioOptions.d.ts +39 -0
- package/dist/types/ts4.1/streaming/createDefaultMediaTimelineTransformer.d.ts +2 -2
- package/dist/types/ts4.1/text/HtmlTextTrackRenderer.d.ts +60 -0
- package/dist/types/ts4.1/text/SidecarTextTrackController.d.ts +65 -53
- package/dist/types/ts4.1/text/SidecarTextTrackLoader.d.ts +5 -0
- package/dist/types/ts4.1/text/TextTrack.d.ts +74 -20
- package/dist/types/ts4.1/text/TextTrackRenderer.d.ts +24 -0
- package/dist/types/ts4.1/text/mediaTextTrackProvider.d.ts +34 -0
- package/dist/types/ts4.1/text/parseWebVtt.d.ts +16 -2
- package/dist/types/ts4.1/text/pickPreferredTextTrack.d.ts +2 -1
- package/dist/types/ts4.1/track/Track.d.ts +1 -1
- package/dist/types/ts4.1/track/dash/createDashFactories.d.ts +21 -10
- package/dist/types/ts4.1/track/hls/createHlsFactories.d.ts +21 -10
- package/dist/types/ts4.1/track/mse/MseTrack.d.ts +1 -2
- package/dist/types/ts4.1/vinyl/VinylOptions.d.ts +18 -40
- package/dist/types/ts4.1/vinyl/VinylPlayer.d.ts +0 -6
- package/dist/types/ts4.1/vinyl/createVinylFactories.d.ts +32 -18
- package/dist/types/ts4.7/index.d.ts +4 -0
- package/dist/types/ts4.7/streaming/AudioOptions.d.ts +39 -0
- package/dist/types/ts4.7/streaming/createDefaultMediaTimelineTransformer.d.ts +2 -2
- package/dist/types/ts4.7/text/HtmlTextTrackRenderer.d.ts +60 -0
- package/dist/types/ts4.7/text/SidecarTextTrackController.d.ts +65 -53
- package/dist/types/ts4.7/text/SidecarTextTrackLoader.d.ts +5 -0
- package/dist/types/ts4.7/text/TextTrack.d.ts +74 -20
- package/dist/types/ts4.7/text/TextTrackRenderer.d.ts +24 -0
- package/dist/types/ts4.7/text/mediaTextTrackProvider.d.ts +34 -0
- package/dist/types/ts4.7/text/parseWebVtt.d.ts +16 -2
- package/dist/types/ts4.7/text/pickPreferredTextTrack.d.ts +2 -1
- package/dist/types/ts4.7/track/Track.d.ts +1 -1
- package/dist/types/ts4.7/track/dash/createDashFactories.d.ts +21 -10
- package/dist/types/ts4.7/track/hls/createHlsFactories.d.ts +21 -10
- package/dist/types/ts4.7/track/mse/MseTrack.d.ts +1 -2
- package/dist/types/ts4.7/vinyl/VinylOptions.d.ts +18 -40
- package/dist/types/ts4.7/vinyl/VinylPlayer.d.ts +0 -6
- package/dist/types/ts4.7/vinyl/createVinylFactories.d.ts +32 -18
- package/dist/unit/types/current/index.d.ts +2 -0
- package/dist/unit/types/current/index.d.ts.map +1 -1
- package/dist/unit/types/current/index.js +2 -0
- package/dist/unit/types/current/streaming/MseTrack.test.js +13 -7
- package/dist/unit/types/current/streaming/createDefaultMediaTimelineTransformer.test.js +8 -4
- package/dist/unit/types/current/text/HtmlTextTrackRenderer.test.d.ts +2 -0
- package/dist/unit/types/current/text/HtmlTextTrackRenderer.test.d.ts.map +1 -0
- package/dist/unit/types/current/text/HtmlTextTrackRenderer.test.js +231 -0
- package/dist/unit/types/current/text/SidecarTextTrackController.test.js +432 -333
- package/dist/unit/types/current/text/SidecarTextTrackLoader.test.js +29 -0
- package/dist/unit/types/current/text/mediaTextTrackProvider.test.d.ts +2 -0
- package/dist/unit/types/current/text/mediaTextTrackProvider.test.d.ts.map +1 -0
- package/dist/unit/types/current/text/mediaTextTrackProvider.test.js +86 -0
- package/dist/unit/types/current/text/parseWebVtt.test.js +187 -6
- package/dist/unit/types/current/text/pickPreferredTextTrack.test.js +12 -1
- package/dist/unit/types/current/track/dash/createDashFactories.test.js +1 -2
- package/dist/unit/types/current/track/hls/buildHlsMediaTimeline.test.js +1 -2
- package/dist/unit/types/current/track/hls/createHlsFactories.test.js +1 -2
- package/dist/unit/types/current/tsconfig.tsbuildinfo +1 -1
- package/dist/unit/types/current/vinyl/VinylPlayerTextTracks.test.js +102 -177
- package/dist/unit/types/current/vinyl/createVinylFactories.test.js +2 -0
- package/dist/vinylTestUtil/index.js +14 -8
- package/dist/vinylTestUtil/index.js.map +2 -2
- package/dist/vinylTestUtil/types/current/mock/player/MockVinylPlayerDependencies.d.ts +3 -2
- package/dist/vinylTestUtil/types/current/mock/player/MockVinylPlayerDependencies.d.ts.map +1 -1
- package/dist/vinylTestUtil/types/current/mock/player/MockVinylPlayerDependencies.js +5 -2
- package/dist/vinylTestUtil/types/current/mock/text/MockTextTrackController.d.ts +3 -3
- package/dist/vinylTestUtil/types/current/mock/text/MockTextTrackController.d.ts.map +1 -1
- package/dist/vinylTestUtil/types/current/mock/text/MockTextTrackController.js +3 -3
- package/dist/vinylTestUtil/types/current/mock/track/dash/createMockDashDependencies.d.ts +1 -2
- package/dist/vinylTestUtil/types/current/mock/track/dash/createMockDashDependencies.d.ts.map +1 -1
- package/dist/vinylTestUtil/types/current/mock/track/dash/createMockDashDependencies.js +3 -2
- package/dist/vinylTestUtil/types/current/mock/track/hls/createMockHlsDependencies.d.ts +1 -2
- package/dist/vinylTestUtil/types/current/mock/track/hls/createMockHlsDependencies.d.ts.map +1 -1
- package/dist/vinylTestUtil/types/current/mock/track/hls/createMockHlsDependencies.js +3 -2
- package/dist/vinylTestUtil/types/current/tsconfig.tsbuildinfo +1 -1
- package/dist/vinylTestUtil/types/ts3.7/mock/player/MockVinylPlayerDependencies.d.ts +3 -2
- package/dist/vinylTestUtil/types/ts3.7/mock/text/MockTextTrackController.d.ts +3 -3
- package/dist/vinylTestUtil/types/ts3.7/mock/track/dash/createMockDashDependencies.d.ts +1 -2
- package/dist/vinylTestUtil/types/ts3.7/mock/track/hls/createMockHlsDependencies.d.ts +1 -2
- package/dist/vinylTestUtil/types/ts4.1/mock/player/MockVinylPlayerDependencies.d.ts +3 -2
- package/dist/vinylTestUtil/types/ts4.1/mock/text/MockTextTrackController.d.ts +3 -3
- package/dist/vinylTestUtil/types/ts4.1/mock/track/dash/createMockDashDependencies.d.ts +1 -2
- package/dist/vinylTestUtil/types/ts4.1/mock/track/hls/createMockHlsDependencies.d.ts +1 -2
- package/dist/vinylTestUtil/types/ts4.7/mock/player/MockVinylPlayerDependencies.d.ts +3 -2
- package/dist/vinylTestUtil/types/ts4.7/mock/text/MockTextTrackController.d.ts +3 -3
- package/dist/vinylTestUtil/types/ts4.7/mock/track/dash/createMockDashDependencies.d.ts +1 -2
- package/dist/vinylTestUtil/types/ts4.7/mock/track/hls/createMockHlsDependencies.d.ts +1 -2
- package/docs/USAGE.md +82 -31
- package/package.json +9 -9
|
@@ -20,9 +20,11 @@ import { type BuildHlsMediaTimelineDeps } from './buildHlsMediaTimeline';
|
|
|
20
20
|
import { createDefaultMediaTimelineTransformer } from '../../streaming/createDefaultMediaTimelineTransformer';
|
|
21
21
|
import type { HlsManifestData } from './HlsManifestData';
|
|
22
22
|
import { SidecarTextTrackController } from '../../text/SidecarTextTrackController';
|
|
23
|
+
import type { MediaTextTrackProvider } from '../../text/mediaTextTrackProvider';
|
|
24
|
+
import type { TextTrackRenderer } from '../../text/TextTrackRenderer';
|
|
23
25
|
import { ManifestControllerImpl, type ManifestControllerImplDeps } from '../../streaming/ManifestControllerImpl';
|
|
24
26
|
export interface HlsFactoryDeps {
|
|
25
|
-
readonly options: ObservableValue<Pick<VinylOptions, 'abr' | '
|
|
27
|
+
readonly options: ObservableValue<Pick<VinylOptions, 'abr' | 'audio' | 'allowedContentTypes' | 'text'>>;
|
|
26
28
|
readonly playbackController: PlaybackController;
|
|
27
29
|
readonly playbackSource: PlaybackSource;
|
|
28
30
|
readonly drmKeySystemResolver: DrmKeySystemResolver;
|
|
@@ -34,6 +36,14 @@ export interface HlsFactoryDeps {
|
|
|
34
36
|
* `media.addTextTrack`.
|
|
35
37
|
*/
|
|
36
38
|
readonly media: HTMLMediaElement;
|
|
39
|
+
/**
|
|
40
|
+
* Creates and reuses the DOM text tracks for sidecar captions.
|
|
41
|
+
*/
|
|
42
|
+
readonly textTrackProvider: MediaTextTrackProvider;
|
|
43
|
+
/**
|
|
44
|
+
* Optional HTML cue renderer; null for native rendering.
|
|
45
|
+
*/
|
|
46
|
+
readonly textTrackRenderer: TextTrackRenderer | null;
|
|
37
47
|
/**
|
|
38
48
|
* The player-level ad controller. MseTrack sets discovered ad breaks on it
|
|
39
49
|
* when the media timeline resolves.
|
|
@@ -66,15 +76,12 @@ export declare function createHlsFactories(options: Maybe<HlsInitOptions>): (dep
|
|
|
66
76
|
qualitySelector: (deps: {
|
|
67
77
|
options: ObservableValue<Pick<VinylOptions, "abr">>;
|
|
68
78
|
}) => QualitySelectorImpl;
|
|
69
|
-
|
|
70
|
-
options: ObservableValue<Pick<VinylOptions, "
|
|
71
|
-
}) => ObservableValue<
|
|
79
|
+
audio: (deps: {
|
|
80
|
+
options: ObservableValue<Pick<VinylOptions, "audio">>;
|
|
81
|
+
}) => ObservableValue<import("../..").AudioOptions>;
|
|
72
82
|
allowedContentTypes: (deps: {
|
|
73
83
|
options: ObservableValue<Pick<VinylOptions, "allowedContentTypes">>;
|
|
74
84
|
}) => ObservableValue<readonly import("../..").RestrictableContentType[] | null>;
|
|
75
|
-
preferDescriptiveAudio: (deps: {
|
|
76
|
-
options: ObservableValue<Pick<VinylOptions, "preferDescriptiveAudio">>;
|
|
77
|
-
}) => ObservableValue<boolean>;
|
|
78
85
|
abr: (deps: {
|
|
79
86
|
options: ObservableValue<Pick<VinylOptions, "abr">>;
|
|
80
87
|
}) => ObservableValue<import("../..").QualitySelectorImplOptions>;
|
|
@@ -83,11 +90,13 @@ export declare function createHlsFactories(options: Maybe<HlsInitOptions>): (dep
|
|
|
83
90
|
}) => ObservableValue<Promise<import("../..").MediaTimeline>>;
|
|
84
91
|
mediaTimelineTransformed: typeof createDefaultMediaTimelineTransformer;
|
|
85
92
|
textTrackController: (deps: {
|
|
86
|
-
readonly
|
|
93
|
+
readonly textTrackProvider: MediaTextTrackProvider;
|
|
94
|
+
readonly textTrackRenderer: TextTrackRenderer | null;
|
|
95
|
+
readonly playbackController: PlaybackController;
|
|
87
96
|
readonly manifestTransformed: ObservableValue<Promise<HlsManifestData>>;
|
|
88
|
-
readonly options: ObservableValue<Pick<VinylOptions, "
|
|
97
|
+
readonly options: ObservableValue<Pick<VinylOptions, "text">>;
|
|
89
98
|
}) => SidecarTextTrackController;
|
|
90
|
-
options: import("@amazon/vinyl-di").Factory<ObservableValue<Pick<VinylOptions, "
|
|
99
|
+
options: import("@amazon/vinyl-di").Factory<ObservableValue<Pick<VinylOptions, "audio" | "text" | "abr" | "allowedContentTypes">>>;
|
|
91
100
|
playbackController: import("@amazon/vinyl-di").Factory<PlaybackController>;
|
|
92
101
|
playbackSource: import("@amazon/vinyl-di").Factory<PlaybackSource>;
|
|
93
102
|
drmKeySystemResolver: import("@amazon/vinyl-di").Factory<DrmKeySystemResolver>;
|
|
@@ -95,6 +104,8 @@ export declare function createHlsFactories(options: Maybe<HlsInitOptions>): (dep
|
|
|
95
104
|
drmController: import("@amazon/vinyl-di").Factory<DrmController>;
|
|
96
105
|
capabilities: import("@amazon/vinyl-di").Factory<Capabilities>;
|
|
97
106
|
media: import("@amazon/vinyl-di").Factory<HTMLMediaElement>;
|
|
107
|
+
textTrackProvider: import("@amazon/vinyl-di").Factory<MediaTextTrackProvider>;
|
|
108
|
+
textTrackRenderer: import("@amazon/vinyl-di").Factory<TextTrackRenderer | null>;
|
|
98
109
|
adController: import("@amazon/vinyl-di").Factory<AdController>;
|
|
99
110
|
};
|
|
100
111
|
//# sourceMappingURL=createHlsFactories.d.ts.map
|
|
@@ -42,9 +42,8 @@ export type MseTrackDeps = TrackBaseDeps & {
|
|
|
42
42
|
* the initial value) is applied to this track immediately so it takes
|
|
43
43
|
* effect without waiting for the buffered media to drain.
|
|
44
44
|
*/
|
|
45
|
-
readonly
|
|
45
|
+
readonly audio: ObservableValue<VinylOptions['audio']>;
|
|
46
46
|
readonly allowedContentTypes: ObservableValue<VinylOptions['allowedContentTypes']>;
|
|
47
|
-
readonly preferDescriptiveAudio: ObservableValue<VinylOptions['preferDescriptiveAudio']>;
|
|
48
47
|
readonly abr: ObservableValue<VinylOptions['abr']>;
|
|
49
48
|
};
|
|
50
49
|
/**
|
|
@@ -3,7 +3,8 @@ import type { ObjectSchema } from '@amazon/vinyl-validation';
|
|
|
3
3
|
import type { CodecOverrides } from '../util/media/codecOverrides';
|
|
4
4
|
import { type RestrictableContentType } from '../streaming/MediaQualityMetadata';
|
|
5
5
|
import { type LoudnessNormalizationControllerImplOptions } from '../playback/loudness/LoudnessNormalizationControllerImplOptions';
|
|
6
|
-
import { type
|
|
6
|
+
import { type TextTrackControllerOptions } from '../text/TextTrack';
|
|
7
|
+
import { type AudioOptions } from '../streaming/AudioOptions';
|
|
7
8
|
export interface VinylOptions {
|
|
8
9
|
/**
|
|
9
10
|
* Configuration for the default adaptive bitrate selector.
|
|
@@ -11,40 +12,16 @@ export interface VinylOptions {
|
|
|
11
12
|
readonly abr: QualitySelectorImplOptions;
|
|
12
13
|
readonly loudnessNormalization: LoudnessNormalizationControllerImplOptions;
|
|
13
14
|
/**
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
* earlier entries are preferred, with the best relatedness match kept for
|
|
17
|
-
* each period (audio without a language tag is always kept). `null` (the
|
|
18
|
-
* default) is NOT "no preference": it orders by the platform's
|
|
19
|
-
* `navigator.languages`. To keep every language, this option is not the
|
|
20
|
-
* mechanism — omit language content or pass a tag matching all.
|
|
21
|
-
*/
|
|
22
|
-
readonly preferredAudioLanguage: string | readonly string[] | null;
|
|
23
|
-
/**
|
|
24
|
-
* Preferred language(s) for text tracks (subtitles / closed captions), as
|
|
25
|
-
* RFC 5646 codes (e.g. `'en'`, `'ja'`, `'fr-CA'`). May be a single tag or
|
|
26
|
-
* an ordered list of tags — earlier entries are preferred, with the best
|
|
27
|
-
* relatedness match chosen among the discovered text tracks. When set, the
|
|
28
|
-
* matching text track is selected automatically and the choice carries
|
|
29
|
-
* across track changes (e.g. across an ad break), mirroring how
|
|
30
|
-
* {@link preferredAudioLanguage} drives audio selection.
|
|
15
|
+
* Audio (language / audio-description) configuration. See
|
|
16
|
+
* {@link AudioOptions}.
|
|
31
17
|
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*/
|
|
38
|
-
readonly preferredTextLanguage: string | readonly string[] | null;
|
|
39
|
-
/**
|
|
40
|
-
* Opt in to audio-description (a.k.a. described-video / DVS) audio: audio
|
|
41
|
-
* renditions carrying an accessibility "describes video" characteristic that
|
|
42
|
-
* narrate on-screen action. `false` (the default) keeps them out of the
|
|
43
|
-
* automatic default-audio selection — they are chosen only when this is set.
|
|
44
|
-
* When `true`, a description rendition is preferred where one exists for the
|
|
45
|
-
* selected language. Changing this reselects audio immediately.
|
|
18
|
+
* The default is `{ selection: { language: null, descriptive: false } }`:
|
|
19
|
+
* audio is ordered by the platform's `navigator.languages` and
|
|
20
|
+
* audio-description renditions are excluded. Set `selection.language` to
|
|
21
|
+
* prefer specific language(s) and `selection.descriptive` to `true` to opt
|
|
22
|
+
* into described audio.
|
|
46
23
|
*/
|
|
47
|
-
readonly
|
|
24
|
+
readonly audio: AudioOptions;
|
|
48
25
|
/**
|
|
49
26
|
* Explicit codec allow/deny overrides that bypass browser support
|
|
50
27
|
* detection. Keys are RFC 6381 codec strings or prefixes (e.g. `"hvc1"`),
|
|
@@ -68,15 +45,16 @@ export interface VinylOptions {
|
|
|
68
45
|
*/
|
|
69
46
|
readonly allowedContentTypes: readonly RestrictableContentType[] | null;
|
|
70
47
|
/**
|
|
71
|
-
*
|
|
72
|
-
*
|
|
73
|
-
* each cue as it is added, on platforms that support `VTTCue`.
|
|
48
|
+
* Text-track (subtitles / closed captions) configuration: enable/disable
|
|
49
|
+
* and the selection criteria. See {@link TextTrackControllerOptions}.
|
|
74
50
|
*
|
|
75
|
-
*
|
|
76
|
-
*
|
|
77
|
-
*
|
|
51
|
+
* The default is `{ enabled: 'forced' }`: with no
|
|
52
|
+
* explicit language, the platform's `navigator.languages` are preferred,
|
|
53
|
+
* showing only forced (narrative) tracks. Set `enabled` to `'on'` for full
|
|
54
|
+
* subtitle tracks or `'off'` to render nothing;
|
|
55
|
+
* `selection.language`/`selection.id` choose a specific rendition.
|
|
78
56
|
*/
|
|
79
|
-
readonly
|
|
57
|
+
readonly text: TextTrackControllerOptions;
|
|
80
58
|
}
|
|
81
59
|
export declare const defaultVinylOptions: VinylOptions;
|
|
82
60
|
export declare const vinylOptionsValidator: ObjectSchema<VinylOptions>;
|
|
@@ -221,12 +221,6 @@ export declare class VinylPlayer<TrackLoadOptionsType extends TrackLoadOptions =
|
|
|
221
221
|
* The currently active text track, or null if no track is selected.
|
|
222
222
|
*/
|
|
223
223
|
get activeTextTrack(): TextTrackInfo | null;
|
|
224
|
-
/**
|
|
225
|
-
* Selects the text track with the given id, or clears the active text
|
|
226
|
-
* track when called with null. No-op when the current track does not
|
|
227
|
-
* surface text tracks or the id is unknown.
|
|
228
|
-
*/
|
|
229
|
-
setActiveTextTrack(id: string | null): void;
|
|
230
224
|
private emitTextTrackChangeEventsFor;
|
|
231
225
|
/**
|
|
232
226
|
* The current track's ad breaks.
|
|
@@ -12,6 +12,8 @@ import { TrackControllerImpl } from '../track/TrackController';
|
|
|
12
12
|
import type { VinylPatchOptions } from './VinylPatchOptions';
|
|
13
13
|
import { type QualitySelectorImplOptions } from '../streaming/abr/QualitySelectorImpl';
|
|
14
14
|
import { AdControllerImpl, type AdControllerImplDeps, type AdControllerImplOptions } from '../ad/AdControllerImpl';
|
|
15
|
+
import { type MediaTextTrackProvider } from '../text/mediaTextTrackProvider';
|
|
16
|
+
import type { TextTrackRenderer } from '../text/TextTrackRenderer';
|
|
15
17
|
import { type DrmOptions } from '../drm/DrmOptions';
|
|
16
18
|
import { commonEmeFactory } from '../drm/commonEme/CommonEmeFactory';
|
|
17
19
|
import { DrmControllerImpl, type DrmControllerImplDeps } from '../drm/DrmControllerImpl';
|
|
@@ -33,6 +35,12 @@ export interface VinylDependencyOptions {
|
|
|
33
35
|
* The media element.
|
|
34
36
|
*/
|
|
35
37
|
readonly media: HTMLMediaElement;
|
|
38
|
+
/**
|
|
39
|
+
* Optional renderer for text-track cues (an HTML overlay). When provided,
|
|
40
|
+
* captions are painted by the renderer and the DOM text track is kept
|
|
41
|
+
* `'hidden'`; without one they render natively. See `TextTrackRenderer`.
|
|
42
|
+
*/
|
|
43
|
+
readonly textTrackRenderer?: TextTrackRenderer;
|
|
36
44
|
/**
|
|
37
45
|
* Flags for patches that should be applied browser-specifically.
|
|
38
46
|
* These will be defaulted based on the user-agent.
|
|
@@ -80,6 +88,10 @@ export declare function createVinylFactories(options: VinylDependencyOptions): {
|
|
|
80
88
|
readonly patched: HTMLMediaElement;
|
|
81
89
|
};
|
|
82
90
|
}) => HTMLMediaElement;
|
|
91
|
+
textTrackProvider: (deps: {
|
|
92
|
+
readonly media: HTMLMediaElement;
|
|
93
|
+
}) => MediaTextTrackProvider;
|
|
94
|
+
textTrackRenderer: () => TextTrackRenderer | null;
|
|
83
95
|
playbackController: (deps: PlaybackControllerImplDeps) => PlaybackControllerImpl;
|
|
84
96
|
playbackSource: (deps: PlaybackSourceImplDeps) => PlaybackSourceImpl;
|
|
85
97
|
loudnessNormalizationController: (deps: {
|
|
@@ -120,15 +132,12 @@ export declare function createVinylFactories(options: VinylDependencyOptions): {
|
|
|
120
132
|
qualitySelector: (deps: {
|
|
121
133
|
options: ObservableValue<Pick<VinylOptions, "abr">>;
|
|
122
134
|
}) => import("..").QualitySelectorImpl;
|
|
123
|
-
|
|
124
|
-
options: ObservableValue<Pick<VinylOptions, "
|
|
125
|
-
}) => ObservableValue<
|
|
135
|
+
audio: (deps: {
|
|
136
|
+
options: ObservableValue<Pick<VinylOptions, "audio">>;
|
|
137
|
+
}) => ObservableValue<import("..").AudioOptions>;
|
|
126
138
|
allowedContentTypes: (deps: {
|
|
127
139
|
options: ObservableValue<Pick<VinylOptions, "allowedContentTypes">>;
|
|
128
140
|
}) => ObservableValue<readonly import("..").RestrictableContentType[] | null>;
|
|
129
|
-
preferDescriptiveAudio: (deps: {
|
|
130
|
-
options: ObservableValue<Pick<VinylOptions, "preferDescriptiveAudio">>;
|
|
131
|
-
}) => ObservableValue<boolean>;
|
|
132
141
|
abr: (deps: {
|
|
133
142
|
options: ObservableValue<Pick<VinylOptions, "abr">>;
|
|
134
143
|
}) => ObservableValue<QualitySelectorImplOptions>;
|
|
@@ -138,11 +147,13 @@ export declare function createVinylFactories(options: VinylDependencyOptions): {
|
|
|
138
147
|
}) => ObservableValue<Promise<import("..").MediaTimeline>>;
|
|
139
148
|
mediaTimelineTransformed: typeof import("..").createDefaultMediaTimelineTransformer;
|
|
140
149
|
textTrackController: (deps: {
|
|
141
|
-
readonly
|
|
150
|
+
readonly textTrackProvider: MediaTextTrackProvider;
|
|
151
|
+
readonly textTrackRenderer: TextTrackRenderer | null;
|
|
152
|
+
readonly playbackController: import("..").PlaybackController;
|
|
142
153
|
readonly manifestTransformed: ObservableValue<Promise<import("..").DashManifestData>>;
|
|
143
|
-
readonly options: ObservableValue<Pick<VinylOptions, "
|
|
154
|
+
readonly options: ObservableValue<Pick<VinylOptions, "text">>;
|
|
144
155
|
}) => import("..").SidecarTextTrackController;
|
|
145
|
-
options: import("@amazon/vinyl-di").Factory<ObservableValue<Pick<VinylOptions, "
|
|
156
|
+
options: import("@amazon/vinyl-di").Factory<ObservableValue<Pick<VinylOptions, "audio" | "text" | "abr" | "allowedContentTypes">>>;
|
|
146
157
|
playbackController: import("@amazon/vinyl-di").Factory<import("..").PlaybackController>;
|
|
147
158
|
playbackSource: import("@amazon/vinyl-di").Factory<import("..").PlaybackSource>;
|
|
148
159
|
drmKeySystemResolver: import("@amazon/vinyl-di").Factory<import("..").DrmKeySystemResolver>;
|
|
@@ -150,6 +161,8 @@ export declare function createVinylFactories(options: VinylDependencyOptions): {
|
|
|
150
161
|
drmController: import("@amazon/vinyl-di").Factory<import("..").DrmController>;
|
|
151
162
|
capabilities: import("@amazon/vinyl-di").Factory<import("..").Capabilities>;
|
|
152
163
|
media: import("@amazon/vinyl-di").Factory<HTMLMediaElement>;
|
|
164
|
+
textTrackProvider: import("@amazon/vinyl-di").Factory<MediaTextTrackProvider>;
|
|
165
|
+
textTrackRenderer: import("@amazon/vinyl-di").Factory<TextTrackRenderer | null>;
|
|
153
166
|
adController: import("@amazon/vinyl-di").Factory<import("..").AdController>;
|
|
154
167
|
};
|
|
155
168
|
createHlsFactories: (deps: import("..").HlsFactoryDeps) => (loadOptions: import("..").HlsTrackLoadOptions) => {
|
|
@@ -175,15 +188,12 @@ export declare function createVinylFactories(options: VinylDependencyOptions): {
|
|
|
175
188
|
qualitySelector: (deps: {
|
|
176
189
|
options: ObservableValue<Pick<VinylOptions, "abr">>;
|
|
177
190
|
}) => import("..").QualitySelectorImpl;
|
|
178
|
-
|
|
179
|
-
options: ObservableValue<Pick<VinylOptions, "
|
|
180
|
-
}) => ObservableValue<
|
|
191
|
+
audio: (deps: {
|
|
192
|
+
options: ObservableValue<Pick<VinylOptions, "audio">>;
|
|
193
|
+
}) => ObservableValue<import("..").AudioOptions>;
|
|
181
194
|
allowedContentTypes: (deps: {
|
|
182
195
|
options: ObservableValue<Pick<VinylOptions, "allowedContentTypes">>;
|
|
183
196
|
}) => ObservableValue<readonly import("..").RestrictableContentType[] | null>;
|
|
184
|
-
preferDescriptiveAudio: (deps: {
|
|
185
|
-
options: ObservableValue<Pick<VinylOptions, "preferDescriptiveAudio">>;
|
|
186
|
-
}) => ObservableValue<boolean>;
|
|
187
197
|
abr: (deps: {
|
|
188
198
|
options: ObservableValue<Pick<VinylOptions, "abr">>;
|
|
189
199
|
}) => ObservableValue<QualitySelectorImplOptions>;
|
|
@@ -192,11 +202,13 @@ export declare function createVinylFactories(options: VinylDependencyOptions): {
|
|
|
192
202
|
}) => ObservableValue<Promise<import("..").MediaTimeline>>;
|
|
193
203
|
mediaTimelineTransformed: typeof import("..").createDefaultMediaTimelineTransformer;
|
|
194
204
|
textTrackController: (deps: {
|
|
195
|
-
readonly
|
|
205
|
+
readonly textTrackProvider: MediaTextTrackProvider;
|
|
206
|
+
readonly textTrackRenderer: TextTrackRenderer | null;
|
|
207
|
+
readonly playbackController: import("..").PlaybackController;
|
|
196
208
|
readonly manifestTransformed: ObservableValue<Promise<import("..").HlsManifestData>>;
|
|
197
|
-
readonly options: ObservableValue<Pick<VinylOptions, "
|
|
209
|
+
readonly options: ObservableValue<Pick<VinylOptions, "text">>;
|
|
198
210
|
}) => import("..").SidecarTextTrackController;
|
|
199
|
-
options: import("@amazon/vinyl-di").Factory<ObservableValue<Pick<VinylOptions, "
|
|
211
|
+
options: import("@amazon/vinyl-di").Factory<ObservableValue<Pick<VinylOptions, "audio" | "text" | "abr" | "allowedContentTypes">>>;
|
|
200
212
|
playbackController: import("@amazon/vinyl-di").Factory<import("..").PlaybackController>;
|
|
201
213
|
playbackSource: import("@amazon/vinyl-di").Factory<import("..").PlaybackSource>;
|
|
202
214
|
drmKeySystemResolver: import("@amazon/vinyl-di").Factory<import("..").DrmKeySystemResolver>;
|
|
@@ -204,6 +216,8 @@ export declare function createVinylFactories(options: VinylDependencyOptions): {
|
|
|
204
216
|
drmController: import("@amazon/vinyl-di").Factory<import("..").DrmController>;
|
|
205
217
|
capabilities: import("@amazon/vinyl-di").Factory<import("..").Capabilities>;
|
|
206
218
|
media: import("@amazon/vinyl-di").Factory<HTMLMediaElement>;
|
|
219
|
+
textTrackProvider: import("@amazon/vinyl-di").Factory<MediaTextTrackProvider>;
|
|
220
|
+
textTrackRenderer: import("@amazon/vinyl-di").Factory<TextTrackRenderer | null>;
|
|
207
221
|
adController: import("@amazon/vinyl-di").Factory<import("..").AdController>;
|
|
208
222
|
};
|
|
209
223
|
};
|
|
@@ -63,6 +63,8 @@ import './streaming/StreamingEventMap.test';
|
|
|
63
63
|
import './streaming/util/segment.test';
|
|
64
64
|
import './text/discoverDashTextTracks.test';
|
|
65
65
|
import './text/discoverHlsTextTracks.test';
|
|
66
|
+
import './text/HtmlTextTrackRenderer.test';
|
|
67
|
+
import './text/mediaTextTrackProvider.test';
|
|
66
68
|
import './text/parseWebVtt.test';
|
|
67
69
|
import './text/pickPreferredTextTrack.test';
|
|
68
70
|
import './text/SidecarTextTrackController.test';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../test/unit/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../test/unit/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -63,6 +63,8 @@ import './streaming/StreamingEventMap.test';
|
|
|
63
63
|
import './streaming/util/segment.test';
|
|
64
64
|
import './text/discoverDashTextTracks.test';
|
|
65
65
|
import './text/discoverHlsTextTracks.test';
|
|
66
|
+
import './text/HtmlTextTrackRenderer.test';
|
|
67
|
+
import './text/mediaTextTrackProvider.test';
|
|
66
68
|
import './text/parseWebVtt.test';
|
|
67
69
|
import './text/pickPreferredTextTrack.test';
|
|
68
70
|
import './text/SidecarTextTrackController.test';
|
|
@@ -796,9 +796,9 @@ describe('MseTrack', () => {
|
|
|
796
796
|
it('suspends the controller on deactivate and resumes it on activate', () => {
|
|
797
797
|
track = createTrack();
|
|
798
798
|
track.activate({});
|
|
799
|
-
expect(deps.textTrackController.
|
|
799
|
+
expect(deps.textTrackController.activate).toHaveBeenCalled();
|
|
800
800
|
track.deactivate();
|
|
801
|
-
expect(deps.textTrackController.
|
|
801
|
+
expect(deps.textTrackController.deactivate).toHaveBeenCalled();
|
|
802
802
|
});
|
|
803
803
|
// Regression: reading a disposed track's controller threw DisposedError
|
|
804
804
|
// (disposed DI-container lazy). An ad track evicted mid-break is still
|
|
@@ -1012,20 +1012,26 @@ describe('MseTrack', () => {
|
|
|
1012
1012
|
expect(deps.manifestController.reset).not.toHaveBeenCalled();
|
|
1013
1013
|
expect(getAudioStream().reset).not.toHaveBeenCalled();
|
|
1014
1014
|
});
|
|
1015
|
-
//
|
|
1015
|
+
// Shared references so re-applying them reads as unchanged.
|
|
1016
1016
|
const allowed = ['audio'];
|
|
1017
|
+
const jaAudio = {
|
|
1018
|
+
selection: { language: 'ja' },
|
|
1019
|
+
};
|
|
1020
|
+
const descriptiveAudio = {
|
|
1021
|
+
selection: { descriptive: true },
|
|
1022
|
+
};
|
|
1017
1023
|
for (const scenario of [
|
|
1018
1024
|
{
|
|
1019
|
-
name: '
|
|
1020
|
-
apply: () => (deps.
|
|
1025
|
+
name: 'audio language',
|
|
1026
|
+
apply: () => (deps.audio.value = jaAudio),
|
|
1021
1027
|
},
|
|
1022
1028
|
{
|
|
1023
1029
|
name: 'allowedContentTypes',
|
|
1024
1030
|
apply: () => (deps.allowedContentTypes.value = allowed),
|
|
1025
1031
|
},
|
|
1026
1032
|
{
|
|
1027
|
-
name: '
|
|
1028
|
-
apply: () => (deps.
|
|
1033
|
+
name: 'audio descriptive',
|
|
1034
|
+
apply: () => (deps.audio.value = descriptiveAudio),
|
|
1029
1035
|
},
|
|
1030
1036
|
]) {
|
|
1031
1037
|
describe(`when ${scenario.name} changes`, () => {
|
|
@@ -30,9 +30,13 @@ describe('createDefaultMediaTimelineTransformer', () => {
|
|
|
30
30
|
drmController,
|
|
31
31
|
mediaTimeline: data(Promise.resolve(timeline)),
|
|
32
32
|
options: data({
|
|
33
|
-
|
|
33
|
+
audio: {
|
|
34
|
+
selection: {
|
|
35
|
+
language: preferredAudioLanguage,
|
|
36
|
+
descriptive: preferDescriptiveAudio,
|
|
37
|
+
},
|
|
38
|
+
},
|
|
34
39
|
codecOverrides,
|
|
35
|
-
preferDescriptiveAudio,
|
|
36
40
|
}),
|
|
37
41
|
};
|
|
38
42
|
}
|
|
@@ -311,7 +315,7 @@ describe('createDefaultMediaTimelineTransformer', () => {
|
|
|
311
315
|
getDuration: () => Promise.resolve(Infinity),
|
|
312
316
|
};
|
|
313
317
|
const options = data({
|
|
314
|
-
|
|
318
|
+
audio: { selection: { language: 'en' } },
|
|
315
319
|
});
|
|
316
320
|
const deps = {
|
|
317
321
|
capabilities,
|
|
@@ -323,7 +327,7 @@ describe('createDefaultMediaTimelineTransformer', () => {
|
|
|
323
327
|
const unsub = transformed.onData(() => { });
|
|
324
328
|
let result = await transformed.value;
|
|
325
329
|
expect(result.periods[0].qualities[0].metadata.qualityId).toBe('en');
|
|
326
|
-
options.value = {
|
|
330
|
+
options.value = { audio: { selection: { language: 'ja' } } };
|
|
327
331
|
result = await transformed.value;
|
|
328
332
|
expect(result.periods[0].qualities[0].metadata.qualityId).toBe('ja');
|
|
329
333
|
unsub();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HtmlTextTrackRenderer.test.d.ts","sourceRoot":"","sources":["../../../../../test/unit/text/HtmlTextTrackRenderer.test.ts"],"names":[],"mappings":""}
|