@amazon/vinyl 1.2.0 → 2.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 +9225 -6633
- package/dist/index.cjs.map +4 -4
- package/dist/index.js +9080 -6435
- package/dist/index.js.map +4 -4
- package/dist/test/benchmark.es5.js +266 -253
- package/dist/test/benchmark.js +3256 -3190
- package/dist/test/benchmark.js.map +4 -4
- package/dist/test/integ.es5.js +1404 -1093
- package/dist/test/integ.js +45924 -33873
- package/dist/test/integ.js.map +4 -4
- package/dist/types/current/ad/AdBreakInfo.d.ts +160 -0
- package/dist/types/current/ad/AdBreakInfo.d.ts.map +1 -0
- package/dist/types/current/ad/AdController.d.ts +229 -0
- package/dist/types/current/ad/AdController.d.ts.map +1 -0
- package/dist/types/current/ad/AdController.js +19 -0
- package/dist/types/current/ad/AdControllerImpl.d.ts +146 -0
- package/dist/types/current/ad/AdControllerImpl.d.ts.map +1 -0
- package/dist/types/current/ad/AdControllerImpl.js +705 -0
- package/dist/types/current/ad/AdError.d.ts +6 -0
- package/dist/types/current/ad/AdError.d.ts.map +1 -0
- package/dist/types/current/ad/AdError.js +14 -0
- package/dist/types/current/ad/AdsProvider.d.ts +28 -0
- package/dist/types/current/ad/AdsProvider.d.ts.map +1 -0
- package/dist/types/current/ad/AdsProvider.js +5 -0
- package/dist/types/current/ad/defaultAdLoadOptionsResolver.d.ts +12 -0
- package/dist/types/current/ad/defaultAdLoadOptionsResolver.d.ts.map +1 -0
- package/dist/types/current/ad/defaultAdLoadOptionsResolver.js +26 -0
- package/dist/types/current/ad/discoverHlsInterstitials.d.ts +22 -0
- package/dist/types/current/ad/discoverHlsInterstitials.d.ts.map +1 -0
- package/dist/types/current/ad/discoverHlsInterstitials.js +246 -0
- package/dist/types/current/drm/DrmController.d.ts +29 -4
- package/dist/types/current/drm/DrmController.d.ts.map +1 -1
- package/dist/types/current/drm/DrmControllerImpl.d.ts +13 -4
- package/dist/types/current/drm/DrmControllerImpl.d.ts.map +1 -1
- package/dist/types/current/drm/DrmControllerImpl.js +85 -14
- package/dist/types/current/drm/util/unpackPlayReadyChallenge.d.ts +5 -0
- package/dist/types/current/drm/util/unpackPlayReadyChallenge.d.ts.map +1 -1
- package/dist/types/current/drm/util/unpackPlayReadyChallenge.js +5 -0
- package/dist/types/current/index.d.ts +151 -126
- package/dist/types/current/index.d.ts.map +1 -1
- package/dist/types/current/index.js +151 -126
- package/dist/types/current/playback/PlaybackControllerImpl.d.ts +1 -0
- package/dist/types/current/playback/PlaybackControllerImpl.d.ts.map +1 -1
- package/dist/types/current/playback/PlaybackControllerImpl.js +44 -5
- package/dist/types/current/playback/PlaybackSource.d.ts +1 -1
- package/dist/types/current/playback/ReadonlyPlaybackController.d.ts +6 -1
- package/dist/types/current/playback/ReadonlyPlaybackController.d.ts.map +1 -1
- package/dist/types/current/playback/ReadonlyPlaybackController.js +1 -0
- package/dist/types/current/streaming/ContentStream.d.ts +8 -1
- package/dist/types/current/streaming/ContentStream.d.ts.map +1 -1
- package/dist/types/current/streaming/ContentStream.js +19 -2
- package/dist/types/current/streaming/LoadMetric.d.ts +58 -0
- package/dist/types/current/streaming/LoadMetric.d.ts.map +1 -0
- package/dist/types/current/streaming/LoadMetric.js +5 -0
- package/dist/types/current/streaming/ManifestController.d.ts +16 -1
- package/dist/types/current/streaming/ManifestController.d.ts.map +1 -1
- package/dist/types/current/streaming/ManifestControllerImpl.d.ts +43 -0
- package/dist/types/current/streaming/ManifestControllerImpl.d.ts.map +1 -0
- package/dist/types/current/streaming/ManifestControllerImpl.js +104 -0
- package/dist/types/current/streaming/MediaQualityMetadata.d.ts +16 -0
- package/dist/types/current/streaming/MediaQualityMetadata.d.ts.map +1 -1
- package/dist/types/current/streaming/MediaQualityMetadata.js +6 -0
- package/dist/types/current/streaming/MediaTimeline.d.ts +6 -0
- package/dist/types/current/streaming/MediaTimeline.d.ts.map +1 -1
- package/dist/types/current/streaming/SegmentController.d.ts +5 -0
- package/dist/types/current/streaming/SegmentController.d.ts.map +1 -1
- package/dist/types/current/streaming/SegmentControllerImpl.d.ts +12 -0
- package/dist/types/current/streaming/SegmentControllerImpl.d.ts.map +1 -1
- package/dist/types/current/streaming/SegmentControllerImpl.js +67 -10
- package/dist/types/current/streaming/StreamingEventMap.d.ts +38 -1
- package/dist/types/current/streaming/StreamingEventMap.d.ts.map +1 -1
- package/dist/types/current/streaming/StreamingEventMap.js +4 -0
- package/dist/types/current/streaming/abr/QualitySelectorImpl.d.ts +28 -0
- package/dist/types/current/streaming/abr/QualitySelectorImpl.d.ts.map +1 -1
- package/dist/types/current/streaming/abr/QualitySelectorImpl.js +39 -4
- package/dist/types/current/streaming/buffering/BufferingController.d.ts +37 -0
- package/dist/types/current/streaming/buffering/BufferingController.d.ts.map +1 -1
- package/dist/types/current/streaming/buffering/BufferingController.js +79 -3
- package/dist/types/current/streaming/buffering/MediaSourceController.d.ts +16 -11
- package/dist/types/current/streaming/buffering/MediaSourceController.d.ts.map +1 -1
- package/dist/types/current/streaming/buffering/MediaSourceController.js +76 -51
- package/dist/types/current/streaming/buffering/SourceBufferController.d.ts.map +1 -1
- package/dist/types/current/streaming/buffering/SourceBufferController.js +5 -2
- package/dist/types/current/streaming/buffering/codecDenylist.d.ts +23 -0
- package/dist/types/current/streaming/buffering/codecDenylist.d.ts.map +1 -0
- package/dist/types/current/streaming/buffering/codecDenylist.js +62 -0
- package/dist/types/current/streaming/createAllowedContentTypesValue.d.ts +30 -0
- package/dist/types/current/streaming/createAllowedContentTypesValue.d.ts.map +1 -0
- package/dist/types/current/streaming/createAllowedContentTypesValue.js +43 -0
- package/dist/types/current/streaming/createDefaultMediaTimelineTransformer.d.ts +4 -1
- package/dist/types/current/streaming/createDefaultMediaTimelineTransformer.d.ts.map +1 -1
- package/dist/types/current/streaming/createDefaultMediaTimelineTransformer.js +32 -1
- package/dist/types/current/streaming/mediaTimelineAccessibilityFilter.d.ts +35 -0
- package/dist/types/current/streaming/mediaTimelineAccessibilityFilter.d.ts.map +1 -0
- package/dist/types/current/streaming/mediaTimelineAccessibilityFilter.js +75 -0
- package/dist/types/current/streaming/mediaTimelineLanguageFilter.d.ts +24 -6
- package/dist/types/current/streaming/mediaTimelineLanguageFilter.d.ts.map +1 -1
- package/dist/types/current/streaming/mediaTimelineLanguageFilter.js +61 -16
- package/dist/types/current/text/SidecarTextTrackController.d.ts +91 -0
- package/dist/types/current/text/SidecarTextTrackController.d.ts.map +1 -0
- package/dist/types/current/text/SidecarTextTrackController.js +237 -0
- package/dist/types/current/text/SidecarTextTrackLoader.d.ts +60 -0
- package/dist/types/current/text/SidecarTextTrackLoader.d.ts.map +1 -0
- package/dist/types/current/text/SidecarTextTrackLoader.js +144 -0
- package/dist/types/current/text/TextTrack.d.ts +125 -0
- package/dist/types/current/text/TextTrack.d.ts.map +1 -0
- package/dist/types/current/text/TextTrack.js +9 -0
- package/dist/types/current/text/VttCueStyle.d.ts +41 -0
- package/dist/types/current/text/VttCueStyle.d.ts.map +1 -0
- package/dist/types/current/text/VttCueStyle.js +45 -0
- package/dist/types/current/text/discoverDashTextTracks.d.ts +24 -0
- package/dist/types/current/text/discoverDashTextTracks.d.ts.map +1 -0
- package/dist/types/current/text/discoverDashTextTracks.js +109 -0
- package/dist/types/current/text/discoverHlsTextTracks.d.ts +19 -0
- package/dist/types/current/text/discoverHlsTextTracks.d.ts.map +1 -0
- package/dist/types/current/text/discoverHlsTextTracks.js +49 -0
- package/dist/types/current/text/parseWebVtt.d.ts +46 -0
- package/dist/types/current/text/parseWebVtt.d.ts.map +1 -0
- package/dist/types/current/text/parseWebVtt.js +120 -0
- package/dist/types/current/text/pickPreferredTextTrack.d.ts +14 -0
- package/dist/types/current/text/pickPreferredTextTrack.d.ts.map +1 -0
- package/dist/types/current/text/pickPreferredTextTrack.js +68 -0
- package/dist/types/current/track/SeekRange.d.ts +9 -0
- package/dist/types/current/track/SeekRange.d.ts.map +1 -0
- package/dist/types/current/track/SeekRange.js +5 -0
- package/dist/types/current/track/Track.d.ts +50 -7
- package/dist/types/current/track/Track.d.ts.map +1 -1
- package/dist/types/current/track/TrackBase.d.ts +30 -29
- package/dist/types/current/track/TrackBase.d.ts.map +1 -1
- package/dist/types/current/track/TrackBase.js +68 -16
- package/dist/types/current/track/TrackController.d.ts +100 -36
- package/dist/types/current/track/TrackController.d.ts.map +1 -1
- package/dist/types/current/track/TrackController.js +368 -115
- package/dist/types/current/track/TrackFactory.d.ts +23 -3
- package/dist/types/current/track/TrackFactory.d.ts.map +1 -1
- package/dist/types/current/track/TrackFactory.js +9 -3
- package/dist/types/current/track/dash/DashManifestController.d.ts +1 -40
- package/dist/types/current/track/dash/DashManifestController.d.ts.map +1 -1
- package/dist/types/current/track/dash/DashManifestController.js +1 -79
- package/dist/types/current/track/dash/DashMediaQualityMetadataResolver.d.ts.map +1 -1
- package/dist/types/current/track/dash/DashMediaQualityMetadataResolver.js +13 -0
- package/dist/types/current/track/dash/DashTrack.d.ts +4 -5
- package/dist/types/current/track/dash/DashTrack.d.ts.map +1 -1
- package/dist/types/current/track/dash/DashTrack.js +3 -5
- package/dist/types/current/track/dash/buildDashMediaTimeline.d.ts.map +1 -1
- package/dist/types/current/track/dash/buildDashMediaTimeline.js +3 -2
- package/dist/types/current/track/dash/createDashContentTypesValue.js +2 -2
- package/dist/types/current/track/dash/createDashFactories.d.ts +39 -12
- package/dist/types/current/track/dash/createDashFactories.d.ts.map +1 -1
- package/dist/types/current/track/dash/createDashFactories.js +33 -5
- package/dist/types/current/track/dash/createSegmentControllerFactory.d.ts +0 -5
- package/dist/types/current/track/dash/createSegmentControllerFactory.d.ts.map +1 -1
- package/dist/types/current/track/dash/timeline/DashRepresentationSegmentProvider.d.ts.map +1 -1
- package/dist/types/current/track/dash/timeline/DashRepresentationSegmentProvider.js +2 -1
- package/dist/types/current/track/dash/util/mpd.d.ts +10 -0
- package/dist/types/current/track/dash/util/mpd.d.ts.map +1 -1
- package/dist/types/current/track/dash/util/mpd.js +16 -0
- package/dist/types/current/track/hls/HlsManifestController.d.ts +1 -25
- package/dist/types/current/track/hls/HlsManifestController.d.ts.map +1 -1
- package/dist/types/current/track/hls/HlsManifestController.js +1 -68
- package/dist/types/{ts3.7/track/hls/HlsManifestProvider.d.ts → current/track/hls/HlsManifestData.d.ts} +4 -6
- package/dist/types/current/track/hls/HlsManifestData.d.ts.map +1 -0
- package/dist/types/current/track/hls/HlsManifestData.js +5 -0
- package/dist/types/current/track/hls/HlsMediaQualityMetadataResolver.js +9 -6
- package/dist/types/current/track/hls/HlsTrack.d.ts +5 -6
- package/dist/types/current/track/hls/HlsTrack.d.ts.map +1 -1
- package/dist/types/current/track/hls/HlsTrack.js +3 -5
- package/dist/types/current/track/hls/buildHlsMediaTimeline.d.ts +8 -1
- package/dist/types/current/track/hls/buildHlsMediaTimeline.d.ts.map +1 -1
- package/dist/types/current/track/hls/buildHlsMediaTimeline.js +134 -67
- package/dist/types/current/track/hls/createDefaultHlsManifestTransformer.d.ts +1 -1
- package/dist/types/current/track/hls/createDefaultHlsManifestTransformer.d.ts.map +1 -1
- package/dist/types/current/track/hls/createHlsContentTypesValue.d.ts +1 -1
- package/dist/types/current/track/hls/createHlsContentTypesValue.d.ts.map +1 -1
- package/dist/types/current/track/hls/createHlsFactories.d.ts +40 -13
- package/dist/types/current/track/hls/createHlsFactories.d.ts.map +1 -1
- package/dist/types/current/track/hls/createHlsFactories.js +35 -6
- package/dist/types/current/track/hls/createHlsManifestProvider.d.ts +6 -0
- package/dist/types/current/track/hls/createHlsManifestProvider.d.ts.map +1 -0
- package/dist/types/current/track/hls/createHlsManifestProvider.js +9 -0
- package/dist/types/current/track/hls/createUrlHlsManifestProvider.d.ts +4 -4
- package/dist/types/current/track/hls/createUrlHlsManifestProvider.d.ts.map +1 -1
- package/dist/types/current/track/hls/createUrlHlsManifestProvider.js +22 -3
- package/dist/types/current/track/hls/index.d.ts +1 -1
- package/dist/types/current/track/hls/index.d.ts.map +1 -1
- package/dist/types/current/track/hls/index.js +1 -1
- package/dist/types/current/track/inferLoadOptionsFromUri.d.ts +15 -0
- package/dist/types/current/track/inferLoadOptionsFromUri.d.ts.map +1 -0
- package/dist/types/current/track/inferLoadOptionsFromUri.js +55 -0
- package/dist/types/current/track/mse/MseTrack.d.ts +66 -8
- package/dist/types/current/track/mse/MseTrack.d.ts.map +1 -1
- package/dist/types/current/track/mse/MseTrack.js +216 -52
- package/dist/types/current/track/source/SourceObjectTrack.d.ts +2 -2
- package/dist/types/current/track/source/SourceObjectTrack.d.ts.map +1 -1
- package/dist/types/current/track/source/SourceTrack.d.ts +2 -2
- package/dist/types/current/track/source/SourceTrack.d.ts.map +1 -1
- package/dist/types/current/track/source/SourceTrack.js +1 -2
- package/dist/types/current/track/source/SourceTrackBase.d.ts +7 -5
- package/dist/types/current/track/source/SourceTrackBase.d.ts.map +1 -1
- package/dist/types/current/track/source/SourceTrackBase.js +26 -9
- package/dist/types/current/tsconfig.tsbuildinfo +1 -1
- package/dist/types/current/util/media/codecOverrides.d.ts +33 -0
- package/dist/types/current/util/media/codecOverrides.d.ts.map +1 -0
- package/dist/types/current/util/media/codecOverrides.js +37 -0
- package/dist/types/current/util/media/codecSupport.d.ts +6 -0
- package/dist/types/current/util/media/codecSupport.d.ts.map +1 -0
- package/dist/types/current/util/media/codecSupport.js +17 -0
- package/dist/types/current/util/media/mediaSource.d.ts +5 -0
- package/dist/types/current/util/media/mediaSource.d.ts.map +1 -1
- package/dist/types/current/util/media/mediaSource.js +6 -1
- package/dist/types/current/vinyl/ReadonlyPlaybackStreamingState.d.ts +9 -2
- package/dist/types/current/vinyl/ReadonlyPlaybackStreamingState.d.ts.map +1 -1
- package/dist/types/current/vinyl/VinylDeps.d.ts +5 -0
- package/dist/types/current/vinyl/VinylDeps.d.ts.map +1 -1
- package/dist/types/current/vinyl/VinylOptions.d.ts +68 -4
- package/dist/types/current/vinyl/VinylOptions.d.ts.map +1 -1
- package/dist/types/current/vinyl/VinylOptions.js +17 -2
- package/dist/types/current/vinyl/VinylPlayer.d.ts +63 -4
- package/dist/types/current/vinyl/VinylPlayer.d.ts.map +1 -1
- package/dist/types/current/vinyl/VinylPlayer.js +216 -36
- package/dist/types/current/vinyl/createVinylFactories.d.ts +55 -12
- package/dist/types/current/vinyl/createVinylFactories.d.ts.map +1 -1
- package/dist/types/current/vinyl/createVinylFactories.js +4 -0
- package/dist/types/ts3.7/ad/AdBreakInfo.d.ts +160 -0
- package/dist/types/ts3.7/ad/AdController.d.ts +243 -0
- package/dist/types/ts3.7/ad/AdControllerImpl.d.ts +146 -0
- package/dist/types/ts3.7/ad/AdError.d.ts +6 -0
- package/dist/types/ts3.7/ad/AdsProvider.d.ts +28 -0
- package/dist/types/ts3.7/ad/defaultAdLoadOptionsResolver.d.ts +12 -0
- package/dist/types/ts3.7/ad/discoverHlsInterstitials.d.ts +22 -0
- package/dist/types/ts3.7/drm/DrmController.d.ts +29 -4
- package/dist/types/ts3.7/drm/DrmControllerImpl.d.ts +13 -4
- package/dist/types/ts3.7/drm/util/unpackPlayReadyChallenge.d.ts +5 -0
- package/dist/types/ts3.7/index.d.ts +151 -126
- package/dist/types/ts3.7/playback/PlaybackControllerImpl.d.ts +1 -0
- package/dist/types/ts3.7/playback/PlaybackSource.d.ts +1 -1
- package/dist/types/ts3.7/playback/ReadonlyPlaybackController.d.ts +6 -0
- package/dist/types/ts3.7/streaming/ContentStream.d.ts +8 -1
- package/dist/types/ts3.7/streaming/LoadMetric.d.ts +58 -0
- package/dist/types/ts3.7/streaming/ManifestController.d.ts +16 -1
- package/dist/types/ts3.7/streaming/ManifestControllerImpl.d.ts +40 -0
- package/dist/types/ts3.7/streaming/MediaQualityMetadata.d.ts +19 -0
- package/dist/types/ts3.7/streaming/MediaTimeline.d.ts +6 -0
- package/dist/types/ts3.7/streaming/SegmentController.d.ts +5 -0
- package/dist/types/ts3.7/streaming/SegmentControllerImpl.d.ts +12 -0
- package/dist/types/ts3.7/streaming/StreamingEventMap.d.ts +42 -1
- package/dist/types/ts3.7/streaming/abr/QualitySelectorImpl.d.ts +28 -0
- package/dist/types/ts3.7/streaming/buffering/BufferingController.d.ts +37 -0
- package/dist/types/ts3.7/streaming/buffering/MediaSourceController.d.ts +16 -11
- package/dist/types/ts3.7/streaming/buffering/codecDenylist.d.ts +23 -0
- package/dist/types/ts3.7/streaming/createAllowedContentTypesValue.d.ts +30 -0
- package/dist/types/ts3.7/streaming/createDefaultMediaTimelineTransformer.d.ts +4 -1
- package/dist/types/ts3.7/streaming/mediaTimelineAccessibilityFilter.d.ts +35 -0
- package/dist/types/ts3.7/streaming/mediaTimelineLanguageFilter.d.ts +24 -6
- package/dist/types/ts3.7/text/SidecarTextTrackController.d.ts +91 -0
- package/dist/types/ts3.7/text/SidecarTextTrackLoader.d.ts +60 -0
- package/dist/types/ts3.7/text/TextTrack.d.ts +129 -0
- package/dist/types/ts3.7/text/VttCueStyle.d.ts +41 -0
- package/dist/types/ts3.7/text/discoverDashTextTracks.d.ts +24 -0
- package/dist/types/ts3.7/text/discoverHlsTextTracks.d.ts +19 -0
- package/dist/types/ts3.7/text/parseWebVtt.d.ts +46 -0
- package/dist/types/ts3.7/text/pickPreferredTextTrack.d.ts +14 -0
- package/dist/types/ts3.7/track/SeekRange.d.ts +9 -0
- package/dist/types/ts3.7/track/Track.d.ts +50 -7
- package/dist/types/ts3.7/track/TrackBase.d.ts +21 -29
- package/dist/types/ts3.7/track/TrackController.d.ts +102 -37
- package/dist/types/ts3.7/track/TrackFactory.d.ts +22 -2
- package/dist/types/ts3.7/track/dash/DashManifestController.d.ts +1 -36
- package/dist/types/ts3.7/track/dash/DashTrack.d.ts +4 -5
- package/dist/types/ts3.7/track/dash/createDashFactories.d.ts +39 -12
- package/dist/types/ts3.7/track/dash/createSegmentControllerFactory.d.ts +0 -5
- package/dist/types/ts3.7/track/dash/util/mpd.d.ts +10 -0
- package/dist/types/ts3.7/track/hls/HlsManifestController.d.ts +1 -22
- package/dist/types/{current/track/hls/HlsManifestProvider.d.ts → ts3.7/track/hls/HlsManifestData.d.ts} +4 -6
- package/dist/types/ts3.7/track/hls/HlsTrack.d.ts +5 -6
- package/dist/types/ts3.7/track/hls/buildHlsMediaTimeline.d.ts +8 -1
- package/dist/types/ts3.7/track/hls/createDefaultHlsManifestTransformer.d.ts +1 -1
- package/dist/types/ts3.7/track/hls/createHlsContentTypesValue.d.ts +1 -1
- package/dist/types/ts3.7/track/hls/createHlsFactories.d.ts +40 -13
- package/dist/types/ts3.7/track/hls/createHlsManifestProvider.d.ts +6 -0
- package/dist/types/ts3.7/track/hls/createUrlHlsManifestProvider.d.ts +4 -4
- package/dist/types/ts3.7/track/hls/index.d.ts +1 -1
- package/dist/types/ts3.7/track/inferLoadOptionsFromUri.d.ts +15 -0
- package/dist/types/ts3.7/track/mse/MseTrack.d.ts +65 -7
- package/dist/types/ts3.7/track/source/SourceObjectTrack.d.ts +2 -2
- package/dist/types/ts3.7/track/source/SourceTrack.d.ts +2 -2
- package/dist/types/ts3.7/track/source/SourceTrackBase.d.ts +7 -5
- package/dist/types/ts3.7/util/media/codecOverrides.d.ts +33 -0
- package/dist/types/ts3.7/util/media/codecSupport.d.ts +6 -0
- package/dist/types/ts3.7/util/media/mediaSource.d.ts +5 -0
- package/dist/types/ts3.7/vinyl/ReadonlyPlaybackStreamingState.d.ts +9 -2
- package/dist/types/ts3.7/vinyl/VinylDeps.d.ts +5 -0
- package/dist/types/ts3.7/vinyl/VinylOptions.d.ts +68 -4
- package/dist/types/ts3.7/vinyl/VinylPlayer.d.ts +33 -4
- package/dist/types/ts3.7/vinyl/createVinylFactories.d.ts +55 -12
- package/dist/types/ts4.1/ad/AdBreakInfo.d.ts +160 -0
- package/dist/types/ts4.1/ad/AdController.d.ts +243 -0
- package/dist/types/ts4.1/ad/AdControllerImpl.d.ts +146 -0
- package/dist/types/ts4.1/ad/AdError.d.ts +6 -0
- package/dist/types/ts4.1/ad/AdsProvider.d.ts +28 -0
- package/dist/types/ts4.1/ad/defaultAdLoadOptionsResolver.d.ts +12 -0
- package/dist/types/ts4.1/ad/discoverHlsInterstitials.d.ts +22 -0
- package/dist/types/ts4.1/drm/DrmController.d.ts +29 -4
- package/dist/types/ts4.1/drm/DrmControllerImpl.d.ts +13 -4
- package/dist/types/ts4.1/drm/util/unpackPlayReadyChallenge.d.ts +5 -0
- package/dist/types/ts4.1/index.d.ts +151 -126
- package/dist/types/ts4.1/playback/PlaybackControllerImpl.d.ts +1 -0
- package/dist/types/ts4.1/playback/PlaybackSource.d.ts +1 -1
- package/dist/types/ts4.1/playback/ReadonlyPlaybackController.d.ts +6 -0
- package/dist/types/ts4.1/streaming/ContentStream.d.ts +8 -1
- package/dist/types/ts4.1/streaming/LoadMetric.d.ts +58 -0
- package/dist/types/ts4.1/streaming/ManifestController.d.ts +16 -1
- package/dist/types/ts4.1/streaming/ManifestControllerImpl.d.ts +40 -0
- package/dist/types/ts4.1/streaming/MediaQualityMetadata.d.ts +19 -0
- package/dist/types/ts4.1/streaming/MediaTimeline.d.ts +6 -0
- package/dist/types/ts4.1/streaming/SegmentController.d.ts +5 -0
- package/dist/types/ts4.1/streaming/SegmentControllerImpl.d.ts +12 -0
- package/dist/types/ts4.1/streaming/StreamingEventMap.d.ts +42 -1
- package/dist/types/ts4.1/streaming/abr/QualitySelectorImpl.d.ts +28 -0
- package/dist/types/ts4.1/streaming/buffering/BufferingController.d.ts +37 -0
- package/dist/types/ts4.1/streaming/buffering/MediaSourceController.d.ts +16 -11
- package/dist/types/ts4.1/streaming/buffering/codecDenylist.d.ts +23 -0
- package/dist/types/ts4.1/streaming/createAllowedContentTypesValue.d.ts +30 -0
- package/dist/types/ts4.1/streaming/createDefaultMediaTimelineTransformer.d.ts +4 -1
- package/dist/types/ts4.1/streaming/mediaTimelineAccessibilityFilter.d.ts +35 -0
- package/dist/types/ts4.1/streaming/mediaTimelineLanguageFilter.d.ts +24 -6
- package/dist/types/ts4.1/text/SidecarTextTrackController.d.ts +92 -0
- package/dist/types/ts4.1/text/SidecarTextTrackLoader.d.ts +60 -0
- package/dist/types/ts4.1/text/TextTrack.d.ts +129 -0
- package/dist/types/ts4.1/text/VttCueStyle.d.ts +41 -0
- package/dist/types/ts4.1/text/discoverDashTextTracks.d.ts +24 -0
- package/dist/types/ts4.1/text/discoverHlsTextTracks.d.ts +19 -0
- package/dist/types/ts4.1/text/parseWebVtt.d.ts +46 -0
- package/dist/types/ts4.1/text/pickPreferredTextTrack.d.ts +14 -0
- package/dist/types/ts4.1/track/SeekRange.d.ts +9 -0
- package/dist/types/ts4.1/track/Track.d.ts +50 -7
- package/dist/types/ts4.1/track/TrackBase.d.ts +21 -29
- package/dist/types/ts4.1/track/TrackController.d.ts +102 -37
- package/dist/types/ts4.1/track/TrackFactory.d.ts +22 -2
- package/dist/types/ts4.1/track/dash/DashManifestController.d.ts +1 -36
- package/dist/types/ts4.1/track/dash/DashTrack.d.ts +4 -5
- package/dist/types/ts4.1/track/dash/createDashFactories.d.ts +39 -12
- package/dist/types/ts4.1/track/dash/createSegmentControllerFactory.d.ts +0 -5
- package/dist/types/ts4.1/track/dash/util/mpd.d.ts +10 -0
- package/dist/types/ts4.1/track/hls/HlsManifestController.d.ts +1 -22
- package/dist/types/ts4.1/track/hls/{HlsManifestProvider.d.ts → HlsManifestData.d.ts} +4 -6
- package/dist/types/ts4.1/track/hls/HlsTrack.d.ts +5 -6
- package/dist/types/ts4.1/track/hls/buildHlsMediaTimeline.d.ts +8 -1
- package/dist/types/ts4.1/track/hls/createDefaultHlsManifestTransformer.d.ts +1 -1
- package/dist/types/ts4.1/track/hls/createHlsContentTypesValue.d.ts +1 -1
- package/dist/types/ts4.1/track/hls/createHlsFactories.d.ts +41 -13
- package/dist/types/ts4.1/track/hls/createHlsManifestProvider.d.ts +6 -0
- package/dist/types/ts4.1/track/hls/createUrlHlsManifestProvider.d.ts +4 -4
- package/dist/types/ts4.1/track/hls/index.d.ts +1 -1
- package/dist/types/ts4.1/track/inferLoadOptionsFromUri.d.ts +15 -0
- package/dist/types/ts4.1/track/mse/MseTrack.d.ts +65 -7
- package/dist/types/ts4.1/track/source/SourceObjectTrack.d.ts +2 -2
- package/dist/types/ts4.1/track/source/SourceTrack.d.ts +2 -2
- package/dist/types/ts4.1/track/source/SourceTrackBase.d.ts +7 -5
- package/dist/types/ts4.1/util/media/codecOverrides.d.ts +33 -0
- package/dist/types/ts4.1/util/media/codecSupport.d.ts +6 -0
- package/dist/types/ts4.1/util/media/mediaSource.d.ts +5 -0
- package/dist/types/ts4.1/vinyl/ReadonlyPlaybackStreamingState.d.ts +9 -2
- package/dist/types/ts4.1/vinyl/VinylDeps.d.ts +5 -0
- package/dist/types/ts4.1/vinyl/VinylOptions.d.ts +68 -4
- package/dist/types/ts4.1/vinyl/VinylPlayer.d.ts +33 -4
- package/dist/types/ts4.1/vinyl/createVinylFactories.d.ts +56 -12
- package/dist/types/ts4.7/ad/AdBreakInfo.d.ts +160 -0
- package/dist/types/ts4.7/ad/AdController.d.ts +243 -0
- package/dist/types/ts4.7/ad/AdControllerImpl.d.ts +146 -0
- package/dist/types/ts4.7/ad/AdError.d.ts +6 -0
- package/dist/types/ts4.7/ad/AdsProvider.d.ts +28 -0
- package/dist/types/ts4.7/ad/defaultAdLoadOptionsResolver.d.ts +12 -0
- package/dist/types/ts4.7/ad/discoverHlsInterstitials.d.ts +22 -0
- package/dist/types/ts4.7/drm/DrmController.d.ts +29 -4
- package/dist/types/ts4.7/drm/DrmControllerImpl.d.ts +13 -4
- package/dist/types/ts4.7/drm/util/unpackPlayReadyChallenge.d.ts +5 -0
- package/dist/types/ts4.7/index.d.ts +151 -126
- package/dist/types/ts4.7/playback/PlaybackControllerImpl.d.ts +1 -0
- package/dist/types/ts4.7/playback/PlaybackSource.d.ts +1 -1
- package/dist/types/ts4.7/playback/ReadonlyPlaybackController.d.ts +6 -0
- package/dist/types/ts4.7/streaming/ContentStream.d.ts +8 -1
- package/dist/types/ts4.7/streaming/LoadMetric.d.ts +58 -0
- package/dist/types/ts4.7/streaming/ManifestController.d.ts +16 -1
- package/dist/types/ts4.7/streaming/ManifestControllerImpl.d.ts +43 -0
- package/dist/types/ts4.7/streaming/MediaQualityMetadata.d.ts +19 -0
- package/dist/types/ts4.7/streaming/MediaTimeline.d.ts +6 -0
- package/dist/types/ts4.7/streaming/SegmentController.d.ts +5 -0
- package/dist/types/ts4.7/streaming/SegmentControllerImpl.d.ts +12 -0
- package/dist/types/ts4.7/streaming/StreamingEventMap.d.ts +42 -1
- package/dist/types/ts4.7/streaming/abr/QualitySelectorImpl.d.ts +28 -0
- package/dist/types/ts4.7/streaming/buffering/BufferingController.d.ts +37 -0
- package/dist/types/ts4.7/streaming/buffering/MediaSourceController.d.ts +16 -11
- package/dist/types/ts4.7/streaming/buffering/codecDenylist.d.ts +23 -0
- package/dist/types/ts4.7/streaming/createAllowedContentTypesValue.d.ts +30 -0
- package/dist/types/ts4.7/streaming/createDefaultMediaTimelineTransformer.d.ts +4 -1
- package/dist/types/ts4.7/streaming/mediaTimelineAccessibilityFilter.d.ts +35 -0
- package/dist/types/ts4.7/streaming/mediaTimelineLanguageFilter.d.ts +24 -6
- package/dist/types/ts4.7/text/SidecarTextTrackController.d.ts +91 -0
- package/dist/types/ts4.7/text/SidecarTextTrackLoader.d.ts +60 -0
- package/dist/types/ts4.7/text/TextTrack.d.ts +129 -0
- package/dist/types/ts4.7/text/VttCueStyle.d.ts +41 -0
- package/dist/types/ts4.7/text/discoverDashTextTracks.d.ts +24 -0
- package/dist/types/ts4.7/text/discoverHlsTextTracks.d.ts +19 -0
- package/dist/types/ts4.7/text/parseWebVtt.d.ts +46 -0
- package/dist/types/ts4.7/text/pickPreferredTextTrack.d.ts +14 -0
- package/dist/types/ts4.7/track/SeekRange.d.ts +9 -0
- package/dist/types/ts4.7/track/Track.d.ts +50 -7
- package/dist/types/ts4.7/track/TrackBase.d.ts +30 -29
- package/dist/types/ts4.7/track/TrackController.d.ts +102 -37
- package/dist/types/ts4.7/track/TrackFactory.d.ts +23 -3
- package/dist/types/ts4.7/track/dash/DashManifestController.d.ts +1 -40
- package/dist/types/ts4.7/track/dash/DashTrack.d.ts +4 -5
- package/dist/types/ts4.7/track/dash/createDashFactories.d.ts +39 -12
- package/dist/types/ts4.7/track/dash/createSegmentControllerFactory.d.ts +0 -5
- package/dist/types/ts4.7/track/dash/util/mpd.d.ts +10 -0
- package/dist/types/ts4.7/track/hls/HlsManifestController.d.ts +1 -25
- package/dist/types/ts4.7/track/hls/{HlsManifestProvider.d.ts → HlsManifestData.d.ts} +4 -6
- package/dist/types/ts4.7/track/hls/HlsTrack.d.ts +5 -6
- package/dist/types/ts4.7/track/hls/buildHlsMediaTimeline.d.ts +8 -1
- package/dist/types/ts4.7/track/hls/createDefaultHlsManifestTransformer.d.ts +1 -1
- package/dist/types/ts4.7/track/hls/createHlsContentTypesValue.d.ts +1 -1
- package/dist/types/ts4.7/track/hls/createHlsFactories.d.ts +40 -13
- package/dist/types/ts4.7/track/hls/createHlsManifestProvider.d.ts +6 -0
- package/dist/types/ts4.7/track/hls/createUrlHlsManifestProvider.d.ts +4 -4
- package/dist/types/ts4.7/track/hls/index.d.ts +1 -1
- package/dist/types/ts4.7/track/inferLoadOptionsFromUri.d.ts +15 -0
- package/dist/types/ts4.7/track/mse/MseTrack.d.ts +66 -8
- package/dist/types/ts4.7/track/source/SourceObjectTrack.d.ts +2 -2
- package/dist/types/ts4.7/track/source/SourceTrack.d.ts +2 -2
- package/dist/types/ts4.7/track/source/SourceTrackBase.d.ts +7 -5
- package/dist/types/ts4.7/util/media/codecOverrides.d.ts +33 -0
- package/dist/types/ts4.7/util/media/codecSupport.d.ts +6 -0
- package/dist/types/ts4.7/util/media/mediaSource.d.ts +5 -0
- package/dist/types/ts4.7/vinyl/ReadonlyPlaybackStreamingState.d.ts +9 -2
- package/dist/types/ts4.7/vinyl/VinylDeps.d.ts +5 -0
- package/dist/types/ts4.7/vinyl/VinylOptions.d.ts +68 -4
- package/dist/types/ts4.7/vinyl/VinylPlayer.d.ts +63 -4
- package/dist/types/ts4.7/vinyl/createVinylFactories.d.ts +55 -12
- package/dist/unit/types/current/ad/AdController.test.d.ts +2 -0
- package/dist/unit/types/current/ad/AdController.test.d.ts.map +1 -0
- package/dist/unit/types/current/ad/AdController.test.js +10 -0
- package/dist/unit/types/current/ad/AdControllerImpl.test.d.ts +2 -0
- package/dist/unit/types/current/ad/AdControllerImpl.test.d.ts.map +1 -0
- package/dist/unit/types/current/ad/AdControllerImpl.test.js +1456 -0
- package/dist/unit/types/current/ad/defaultAdLoadOptionsResolver.test.d.ts +2 -0
- package/dist/unit/types/current/ad/defaultAdLoadOptionsResolver.test.d.ts.map +1 -0
- package/dist/unit/types/current/ad/defaultAdLoadOptionsResolver.test.js +56 -0
- package/dist/unit/types/current/ad/discoverHlsInterstitials.test.d.ts +2 -0
- package/dist/unit/types/current/ad/discoverHlsInterstitials.test.d.ts.map +1 -0
- package/dist/unit/types/current/ad/discoverHlsInterstitials.test.js +756 -0
- package/dist/unit/types/current/drm/DrmControllerImpl.test.js +205 -4
- package/dist/unit/types/current/index.d.ts +117 -98
- package/dist/unit/types/current/index.d.ts.map +1 -1
- package/dist/unit/types/current/index.js +117 -98
- package/dist/unit/types/current/playback/PlaybackControllerImpl.test.js +92 -3
- package/dist/unit/types/current/streaming/ContentStream.test.js +11 -0
- package/dist/unit/types/current/streaming/ManifestControllerImpl.test.d.ts +2 -0
- package/dist/unit/types/current/streaming/ManifestControllerImpl.test.d.ts.map +1 -0
- package/dist/unit/types/current/streaming/ManifestControllerImpl.test.js +197 -0
- package/dist/unit/types/current/streaming/MediaTimeline.test.js +2 -0
- package/dist/unit/types/current/streaming/MseTrack.test.js +478 -14
- package/dist/unit/types/current/streaming/SegmentControllerImpl.test.js +66 -0
- package/dist/unit/types/current/streaming/StreamingEventMap.test.js +2 -2
- package/dist/unit/types/current/streaming/abr/QualitySelectorImpl.test.js +110 -0
- package/dist/unit/types/current/streaming/buffering/BufferingController.test.js +123 -21
- package/dist/unit/types/current/streaming/buffering/MediaSourceController.test.js +37 -10
- package/dist/unit/types/current/streaming/buffering/SourceBufferController.test.js +4 -0
- package/dist/unit/types/current/streaming/buffering/codecDenylist.test.d.ts +2 -0
- package/dist/unit/types/current/streaming/buffering/codecDenylist.test.d.ts.map +1 -0
- package/dist/unit/types/current/streaming/buffering/codecDenylist.test.js +56 -0
- package/dist/unit/types/current/streaming/createAllowedContentTypesValue.test.d.ts +2 -0
- package/dist/unit/types/current/streaming/createAllowedContentTypesValue.test.d.ts.map +1 -0
- package/dist/unit/types/current/streaming/createAllowedContentTypesValue.test.js +77 -0
- package/dist/unit/types/current/streaming/createDefaultMediaTimelineTransformer.test.js +144 -2
- package/dist/unit/types/current/streaming/mediaTimelineAccessibilityFilter.test.d.ts +2 -0
- package/dist/unit/types/current/streaming/mediaTimelineAccessibilityFilter.test.d.ts.map +1 -0
- package/dist/unit/types/current/streaming/mediaTimelineAccessibilityFilter.test.js +99 -0
- package/dist/unit/types/current/streaming/mediaTimelineFilter.test.js +9 -0
- package/dist/unit/types/current/streaming/mediaTimelineLanguageFilter.test.js +92 -3
- package/dist/unit/types/current/text/SidecarTextTrackController.test.d.ts +2 -0
- package/dist/unit/types/current/text/SidecarTextTrackController.test.d.ts.map +1 -0
- package/dist/unit/types/current/text/SidecarTextTrackController.test.js +587 -0
- package/dist/unit/types/current/text/SidecarTextTrackLoader.test.d.ts +2 -0
- package/dist/unit/types/current/text/SidecarTextTrackLoader.test.d.ts.map +1 -0
- package/dist/unit/types/current/text/SidecarTextTrackLoader.test.js +336 -0
- package/dist/unit/types/current/text/VttCueStyle.test.d.ts +2 -0
- package/dist/unit/types/current/text/VttCueStyle.test.d.ts.map +1 -0
- package/dist/unit/types/current/text/VttCueStyle.test.js +76 -0
- package/dist/unit/types/current/text/discoverDashTextTracks.test.d.ts +2 -0
- package/dist/unit/types/current/text/discoverDashTextTracks.test.d.ts.map +1 -0
- package/dist/unit/types/current/text/discoverDashTextTracks.test.js +199 -0
- package/dist/unit/types/current/text/discoverHlsTextTracks.test.d.ts +2 -0
- package/dist/unit/types/current/text/discoverHlsTextTracks.test.d.ts.map +1 -0
- package/dist/unit/types/current/text/discoverHlsTextTracks.test.js +177 -0
- package/dist/unit/types/current/text/parseWebVtt.test.d.ts +2 -0
- package/dist/unit/types/current/text/parseWebVtt.test.d.ts.map +1 -0
- package/dist/unit/types/current/text/parseWebVtt.test.js +212 -0
- package/dist/unit/types/current/text/pickPreferredTextTrack.test.d.ts +2 -0
- package/dist/unit/types/current/text/pickPreferredTextTrack.test.d.ts.map +1 -0
- package/dist/unit/types/current/text/pickPreferredTextTrack.test.js +67 -0
- package/dist/unit/types/current/track/TrackBase.test.js +50 -5
- package/dist/unit/types/current/track/TrackController.test.js +712 -109
- package/dist/unit/types/current/track/TrackFactory.test.js +13 -25
- package/dist/unit/types/current/track/dash/createDashContentStreamFactories.test.js +1 -0
- package/dist/unit/types/current/track/dash/createDashFactories.test.js +63 -2
- package/dist/unit/types/current/track/dash/createSegmentControllerFactory.test.js +1 -0
- package/dist/unit/types/current/track/dash/util/mpd.test.js +24 -1
- package/dist/unit/types/current/track/hls/HlsManifestController.test.js +4 -4
- package/dist/unit/types/current/track/hls/HlsMediaQualityMetadataResolver.test.js +4 -2
- package/dist/unit/types/current/track/hls/buildHlsMediaTimeline.test.js +260 -14
- package/dist/unit/types/current/track/hls/createHlsContentStreamFactories.test.js +1 -0
- package/dist/unit/types/current/track/hls/createHlsFactories.test.js +182 -4
- package/dist/unit/types/current/track/hls/createUrlHlsManifestProvider.test.js +19 -0
- package/dist/unit/types/current/track/inferLoadOptionsFromUri.test.d.ts +2 -0
- package/dist/unit/types/current/track/inferLoadOptionsFromUri.test.d.ts.map +1 -0
- package/dist/unit/types/current/track/inferLoadOptionsFromUri.test.js +165 -0
- package/dist/unit/types/current/track/source/SourceTrack.test.js +5 -0
- package/dist/unit/types/current/track/source/SourceTrackBase.test.js +24 -3
- package/dist/unit/types/current/tsconfig.tsbuildinfo +1 -1
- package/dist/unit/types/current/util/media/codecOverrides.test.d.ts +2 -0
- package/dist/unit/types/current/util/media/codecOverrides.test.d.ts.map +1 -0
- package/dist/unit/types/current/util/media/codecOverrides.test.js +42 -0
- package/dist/unit/types/current/util/media/codecSupport.test.d.ts +2 -0
- package/dist/unit/types/current/util/media/codecSupport.test.d.ts.map +1 -0
- package/dist/unit/types/current/util/media/codecSupport.test.js +26 -0
- package/dist/unit/types/current/util/media/mediaSource.test.js +6 -0
- package/dist/unit/types/current/vinyl/VinylPlayer.test.js +177 -75
- package/dist/unit/types/current/vinyl/VinylPlayerAdBreaks.test.d.ts +2 -0
- package/dist/unit/types/current/vinyl/VinylPlayerAdBreaks.test.d.ts.map +1 -0
- package/dist/unit/types/current/vinyl/VinylPlayerAdBreaks.test.js +142 -0
- package/dist/unit/types/current/vinyl/VinylPlayerTextTracks.test.d.ts +2 -0
- package/dist/unit/types/current/vinyl/VinylPlayerTextTracks.test.d.ts.map +1 -0
- package/dist/unit/types/current/vinyl/VinylPlayerTextTracks.test.js +263 -0
- package/dist/vinylTestUtil/index.js +2393 -2232
- package/dist/vinylTestUtil/index.js.map +4 -4
- package/dist/vinylTestUtil/types/current/assets/vinylTestAssets.d.ts +14 -0
- package/dist/vinylTestUtil/types/current/assets/vinylTestAssets.d.ts.map +1 -1
- package/dist/vinylTestUtil/types/current/assets/vinylTestAssets.js +49 -30
- package/dist/vinylTestUtil/types/current/index.d.ts +53 -51
- package/dist/vinylTestUtil/types/current/index.d.ts.map +1 -1
- package/dist/vinylTestUtil/types/current/index.js +53 -51
- package/dist/vinylTestUtil/types/current/mock/ad/MockAdController.d.ts +15 -0
- package/dist/vinylTestUtil/types/current/mock/ad/MockAdController.d.ts.map +1 -0
- package/dist/vinylTestUtil/types/current/mock/ad/MockAdController.js +26 -0
- package/dist/vinylTestUtil/types/current/mock/dash/MockDashManifestController.d.ts +8 -1
- package/dist/vinylTestUtil/types/current/mock/dash/MockDashManifestController.d.ts.map +1 -1
- package/dist/vinylTestUtil/types/current/mock/dash/MockDashManifestController.js +15 -0
- package/dist/vinylTestUtil/types/current/mock/dash/mockDashManifest.d.ts +12 -12
- package/dist/vinylTestUtil/types/current/mock/drm/MockDrmController.d.ts +2 -2
- package/dist/vinylTestUtil/types/current/mock/drm/MockDrmController.d.ts.map +1 -1
- package/dist/vinylTestUtil/types/current/mock/hls/MockHlsManifestController.d.ts +7 -1
- package/dist/vinylTestUtil/types/current/mock/hls/MockHlsManifestController.d.ts.map +1 -1
- package/dist/vinylTestUtil/types/current/mock/hls/MockHlsManifestController.js +12 -0
- package/dist/vinylTestUtil/types/current/mock/hls/mockHlsManifest.d.ts +3 -3
- package/dist/vinylTestUtil/types/current/mock/hls/mockHlsManifest.d.ts.map +1 -1
- package/dist/vinylTestUtil/types/current/mock/hls/mockHlsManifest.js +1 -0
- package/dist/vinylTestUtil/types/current/mock/player/MockVinylPlayerDependencies.d.ts +8 -0
- package/dist/vinylTestUtil/types/current/mock/player/MockVinylPlayerDependencies.d.ts.map +1 -1
- package/dist/vinylTestUtil/types/current/mock/player/MockVinylPlayerDependencies.js +17 -1
- package/dist/vinylTestUtil/types/current/mock/streaming/MockContentStream.d.ts +2 -1
- package/dist/vinylTestUtil/types/current/mock/streaming/MockContentStream.d.ts.map +1 -1
- package/dist/vinylTestUtil/types/current/mock/streaming/MockContentStream.js +1 -0
- package/dist/vinylTestUtil/types/current/mock/streaming/buffering/MockBufferingController.d.ts +1 -0
- package/dist/vinylTestUtil/types/current/mock/streaming/buffering/MockBufferingController.d.ts.map +1 -1
- package/dist/vinylTestUtil/types/current/mock/streaming/buffering/MockBufferingController.js +1 -0
- package/dist/vinylTestUtil/types/current/mock/streaming/buffering/MockMediaSourceController.d.ts +2 -1
- package/dist/vinylTestUtil/types/current/mock/streaming/buffering/MockMediaSourceController.d.ts.map +1 -1
- package/dist/vinylTestUtil/types/current/mock/streaming/buffering/MockMediaSourceController.js +2 -1
- package/dist/vinylTestUtil/types/current/mock/text/MockTextTrackController.d.ts +10 -0
- package/dist/vinylTestUtil/types/current/mock/text/MockTextTrackController.d.ts.map +1 -0
- package/dist/vinylTestUtil/types/current/mock/text/MockTextTrackController.js +14 -0
- package/dist/vinylTestUtil/types/current/mock/track/MockTrack.d.ts +13 -4
- package/dist/vinylTestUtil/types/current/mock/track/MockTrack.d.ts.map +1 -1
- package/dist/vinylTestUtil/types/current/mock/track/MockTrack.js +11 -0
- package/dist/vinylTestUtil/types/current/mock/track/MockTrackController.d.ts +3 -2
- package/dist/vinylTestUtil/types/current/mock/track/MockTrackController.d.ts.map +1 -1
- package/dist/vinylTestUtil/types/current/mock/track/MockTrackController.js +2 -1
- package/dist/vinylTestUtil/types/current/mock/track/dash/createMockDashDependencies.d.ts +6 -0
- package/dist/vinylTestUtil/types/current/mock/track/dash/createMockDashDependencies.d.ts.map +1 -1
- package/dist/vinylTestUtil/types/current/mock/track/dash/createMockDashDependencies.js +8 -1
- package/dist/vinylTestUtil/types/current/mock/track/hls/createMockHlsDependencies.d.ts +4 -0
- package/dist/vinylTestUtil/types/current/mock/track/hls/createMockHlsDependencies.d.ts.map +1 -1
- package/dist/vinylTestUtil/types/current/mock/track/hls/createMockHlsDependencies.js +6 -1
- package/dist/vinylTestUtil/types/current/player/createVinylSuite.d.ts.map +1 -1
- package/dist/vinylTestUtil/types/current/player/createVinylSuite.js +18 -7
- package/dist/vinylTestUtil/types/current/tsconfig.tsbuildinfo +1 -1
- package/dist/vinylTestUtil/types/current/util/playback/eventPromises.d.ts.map +1 -1
- package/dist/vinylTestUtil/types/current/util/playback/eventPromises.js +1 -1
- package/dist/vinylTestUtil/types/current/util/playback/expectTrackCanSeek.d.ts.map +1 -1
- package/dist/vinylTestUtil/types/current/util/playback/expectTrackCanSeek.js +5 -2
- package/dist/vinylTestUtil/types/current/util/playback/expectTrackPlays.js +3 -3
- package/dist/vinylTestUtil/types/current/util/playback/expectTrackPlaysUntil.d.ts.map +1 -1
- package/dist/vinylTestUtil/types/current/util/playback/expectTrackPlaysUntil.js +11 -7
- package/dist/vinylTestUtil/types/ts3.7/assets/vinylTestAssets.d.ts +14 -0
- package/dist/vinylTestUtil/types/ts3.7/index.d.ts +53 -51
- package/dist/vinylTestUtil/types/ts3.7/mock/ad/MockAdController.d.ts +15 -0
- package/dist/vinylTestUtil/types/ts3.7/mock/dash/MockDashManifestController.d.ts +8 -1
- package/dist/vinylTestUtil/types/ts3.7/mock/dash/mockDashManifest.d.ts +12 -12
- package/dist/vinylTestUtil/types/ts3.7/mock/drm/MockDrmController.d.ts +2 -2
- package/dist/vinylTestUtil/types/ts3.7/mock/hls/MockHlsManifestController.d.ts +7 -1
- package/dist/vinylTestUtil/types/ts3.7/mock/hls/mockHlsManifest.d.ts +3 -3
- package/dist/vinylTestUtil/types/ts3.7/mock/player/MockVinylPlayerDependencies.d.ts +8 -0
- package/dist/vinylTestUtil/types/ts3.7/mock/streaming/MockContentStream.d.ts +2 -1
- package/dist/vinylTestUtil/types/ts3.7/mock/streaming/buffering/MockBufferingController.d.ts +1 -0
- package/dist/vinylTestUtil/types/ts3.7/mock/streaming/buffering/MockMediaSourceController.d.ts +2 -1
- package/dist/vinylTestUtil/types/ts3.7/mock/text/MockTextTrackController.d.ts +10 -0
- package/dist/vinylTestUtil/types/ts3.7/mock/track/MockTrack.d.ts +13 -4
- package/dist/vinylTestUtil/types/ts3.7/mock/track/MockTrackController.d.ts +3 -2
- package/dist/vinylTestUtil/types/ts3.7/mock/track/dash/createMockDashDependencies.d.ts +6 -0
- package/dist/vinylTestUtil/types/ts3.7/mock/track/hls/createMockHlsDependencies.d.ts +4 -0
- package/dist/vinylTestUtil/types/ts4.1/assets/vinylTestAssets.d.ts +14 -0
- package/dist/vinylTestUtil/types/ts4.1/index.d.ts +53 -51
- package/dist/vinylTestUtil/types/ts4.1/mock/ad/MockAdController.d.ts +15 -0
- package/dist/vinylTestUtil/types/ts4.1/mock/dash/MockDashManifestController.d.ts +8 -1
- package/dist/vinylTestUtil/types/ts4.1/mock/dash/mockDashManifest.d.ts +12 -12
- package/dist/vinylTestUtil/types/ts4.1/mock/drm/MockDrmController.d.ts +2 -2
- package/dist/vinylTestUtil/types/ts4.1/mock/hls/MockHlsManifestController.d.ts +7 -1
- package/dist/vinylTestUtil/types/ts4.1/mock/hls/mockHlsManifest.d.ts +3 -3
- package/dist/vinylTestUtil/types/ts4.1/mock/player/MockVinylPlayerDependencies.d.ts +8 -0
- package/dist/vinylTestUtil/types/ts4.1/mock/streaming/MockContentStream.d.ts +2 -1
- package/dist/vinylTestUtil/types/ts4.1/mock/streaming/buffering/MockBufferingController.d.ts +1 -0
- package/dist/vinylTestUtil/types/ts4.1/mock/streaming/buffering/MockMediaSourceController.d.ts +2 -1
- package/dist/vinylTestUtil/types/ts4.1/mock/text/MockTextTrackController.d.ts +10 -0
- package/dist/vinylTestUtil/types/ts4.1/mock/track/MockTrack.d.ts +13 -4
- package/dist/vinylTestUtil/types/ts4.1/mock/track/MockTrackController.d.ts +3 -2
- package/dist/vinylTestUtil/types/ts4.1/mock/track/dash/createMockDashDependencies.d.ts +6 -0
- package/dist/vinylTestUtil/types/ts4.1/mock/track/hls/createMockHlsDependencies.d.ts +4 -0
- package/dist/vinylTestUtil/types/ts4.7/assets/vinylTestAssets.d.ts +14 -0
- package/dist/vinylTestUtil/types/ts4.7/index.d.ts +53 -51
- package/dist/vinylTestUtil/types/ts4.7/mock/ad/MockAdController.d.ts +15 -0
- package/dist/vinylTestUtil/types/ts4.7/mock/dash/MockDashManifestController.d.ts +8 -1
- package/dist/vinylTestUtil/types/ts4.7/mock/dash/mockDashManifest.d.ts +12 -12
- package/dist/vinylTestUtil/types/ts4.7/mock/drm/MockDrmController.d.ts +2 -2
- package/dist/vinylTestUtil/types/ts4.7/mock/hls/MockHlsManifestController.d.ts +7 -1
- package/dist/vinylTestUtil/types/ts4.7/mock/hls/mockHlsManifest.d.ts +3 -3
- package/dist/vinylTestUtil/types/ts4.7/mock/player/MockVinylPlayerDependencies.d.ts +8 -0
- package/dist/vinylTestUtil/types/ts4.7/mock/streaming/MockContentStream.d.ts +2 -1
- package/dist/vinylTestUtil/types/ts4.7/mock/streaming/buffering/MockBufferingController.d.ts +1 -0
- package/dist/vinylTestUtil/types/ts4.7/mock/streaming/buffering/MockMediaSourceController.d.ts +2 -1
- package/dist/vinylTestUtil/types/ts4.7/mock/text/MockTextTrackController.d.ts +10 -0
- package/dist/vinylTestUtil/types/ts4.7/mock/track/MockTrack.d.ts +13 -4
- package/dist/vinylTestUtil/types/ts4.7/mock/track/MockTrackController.d.ts +3 -2
- package/dist/vinylTestUtil/types/ts4.7/mock/track/dash/createMockDashDependencies.d.ts +6 -0
- package/dist/vinylTestUtil/types/ts4.7/mock/track/hls/createMockHlsDependencies.d.ts +4 -0
- package/docs/ADS.md +264 -0
- package/docs/USAGE.md +142 -9
- package/package.json +16 -16
- package/dist/types/current/track/hls/HlsManifestProvider.d.ts.map +0 -1
- package/dist/unit/types/current/track/dash/DashManifestController.test.d.ts +0 -2
- package/dist/unit/types/current/track/dash/DashManifestController.test.d.ts.map +0 -1
- package/dist/unit/types/current/track/dash/DashManifestController.test.js +0 -186
- /package/dist/types/current/{track/hls/HlsManifestProvider.js → ad/AdBreakInfo.js} +0 -0
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import type { ChangeEvent } from '../event/ChangeEvent';
|
|
2
|
+
import type { ReadonlyEventHost } from '@amazon/vinyl-util';
|
|
3
|
+
/**
|
|
4
|
+
* Categorizes the role of a text track. Mirrors HTMLMediaElement.TextTrackKind.
|
|
5
|
+
*/
|
|
6
|
+
export type TextTrackKind = 'subtitles' | 'captions' | 'descriptions' | 'chapters' | 'metadata';
|
|
7
|
+
/**
|
|
8
|
+
* Identifies and describes an available text track.
|
|
9
|
+
* One TextTrackInfo is produced per discovered subtitle rendition.
|
|
10
|
+
*/
|
|
11
|
+
export interface TextTrackInfo {
|
|
12
|
+
/**
|
|
13
|
+
* A stable, unique identifier within the current media presentation.
|
|
14
|
+
*/
|
|
15
|
+
readonly id: string;
|
|
16
|
+
/**
|
|
17
|
+
* The text track kind. Defaults to 'subtitles' when not otherwise specified.
|
|
18
|
+
*/
|
|
19
|
+
readonly kind: TextTrackKind;
|
|
20
|
+
/**
|
|
21
|
+
* The BCP 47 language tag for the cues in this track, or null if unknown.
|
|
22
|
+
*/
|
|
23
|
+
readonly language: string | null;
|
|
24
|
+
/**
|
|
25
|
+
* A human-readable label for the track.
|
|
26
|
+
*/
|
|
27
|
+
readonly label: string;
|
|
28
|
+
/**
|
|
29
|
+
* Set when the source manifest signals this track as the default selection.
|
|
30
|
+
*/
|
|
31
|
+
readonly default: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Whether this is a forced track: it carries essential text (e.g.
|
|
34
|
+
* translations of foreign-language dialogue) meant to be shown even when
|
|
35
|
+
* the user has not enabled subtitles. Two tracks may share a language and
|
|
36
|
+
* differ only by this flag, so selection must distinguish them.
|
|
37
|
+
*/
|
|
38
|
+
readonly forced: boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Media characteristics / accessibility roles describing the track, e.g.
|
|
41
|
+
* `public.accessibility.transcribes-spoken-dialog` (HLS CHARACTERISTICS) or
|
|
42
|
+
* a DASH role/accessibility scheme value. Empty when none are signaled.
|
|
43
|
+
*/
|
|
44
|
+
readonly characteristics: readonly string[];
|
|
45
|
+
/**
|
|
46
|
+
* The full URL of the underlying text resource (typically a WebVTT file).
|
|
47
|
+
*/
|
|
48
|
+
readonly uri: string;
|
|
49
|
+
/**
|
|
50
|
+
* The MIME type signaled by the source manifest, when known.
|
|
51
|
+
*/
|
|
52
|
+
readonly mimeType: string | null;
|
|
53
|
+
/**
|
|
54
|
+
* HLS EXT-X-DEFINE variables inherited from the parent multivariant
|
|
55
|
+
* playlist. Sidecar text-track media playlists commonly `IMPORT` these
|
|
56
|
+
* names and reference them in segment URIs. Present only for HLS-sourced
|
|
57
|
+
* tracks whose parent playlist declared any variables.
|
|
58
|
+
*/
|
|
59
|
+
readonly variables?: Readonly<Record<string, string>>;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Events dispatched by a {@link TextTrackController}.
|
|
63
|
+
*/
|
|
64
|
+
export interface TextTrackEventMap {
|
|
65
|
+
/**
|
|
66
|
+
* Emitted when the available text tracks change.
|
|
67
|
+
*/
|
|
68
|
+
readonly textTracksChange: ChangeEvent<readonly TextTrackInfo[]>;
|
|
69
|
+
/**
|
|
70
|
+
* Emitted when the active text track changes.
|
|
71
|
+
*/
|
|
72
|
+
readonly activeTextTrackChange: ChangeEvent<TextTrackInfo | null>;
|
|
73
|
+
/**
|
|
74
|
+
* Emitted when an error occurs while loading or activating a text track.
|
|
75
|
+
*/
|
|
76
|
+
readonly textTrackError: TextTrackErrorEvent;
|
|
77
|
+
}
|
|
78
|
+
export interface TextTrackErrorEvent {
|
|
79
|
+
readonly track: TextTrackInfo;
|
|
80
|
+
readonly error: Error;
|
|
81
|
+
}
|
|
82
|
+
export declare const ALL_TEXT_TRACK_EVENTS: readonly ["textTracksChange", "activeTextTrackChange", "textTrackError"];
|
|
83
|
+
/**
|
|
84
|
+
* Read-only view of available text tracks and the active selection.
|
|
85
|
+
*/
|
|
86
|
+
export interface ReadonlyTextTrackController extends ReadonlyEventHost<TextTrackEventMap> {
|
|
87
|
+
/**
|
|
88
|
+
* The list of currently discovered text tracks.
|
|
89
|
+
*/
|
|
90
|
+
readonly textTracks: readonly TextTrackInfo[];
|
|
91
|
+
/**
|
|
92
|
+
* The currently active text track, or null if none is active.
|
|
93
|
+
*/
|
|
94
|
+
readonly activeTextTrack: TextTrackInfo | null;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Provides access to the text tracks of the current media and allows
|
|
98
|
+
* selecting one for playback.
|
|
99
|
+
*
|
|
100
|
+
* Selection is persisted across track changes only when applications choose
|
|
101
|
+
* to call {@link setActiveTextTrack} again on the new track. This matches
|
|
102
|
+
* how audio tracks are typically driven.
|
|
103
|
+
*/
|
|
104
|
+
export interface TextTrackController extends ReadonlyTextTrackController {
|
|
105
|
+
/**
|
|
106
|
+
* Selects the text track with the given id, or clears the active text
|
|
107
|
+
* track when called with null. No-op if the id does not match a known
|
|
108
|
+
* text track.
|
|
109
|
+
*/
|
|
110
|
+
setActiveTextTrack(id: string | null): void;
|
|
111
|
+
/**
|
|
112
|
+
* Suspends cue rendering without changing the active selection: cancels any
|
|
113
|
+
* in-flight load and tears down the DOM text track (so its cues stop
|
|
114
|
+
* showing). Called when the owning media track is deactivated — e.g. while
|
|
115
|
+
* an ad plays over the suspended content. {@link resume} rebuilds it.
|
|
116
|
+
*/
|
|
117
|
+
suspend(): void;
|
|
118
|
+
/**
|
|
119
|
+
* Rebuilds the DOM text track for the active selection after a
|
|
120
|
+
* {@link suspend}, reloading its cues. No-op when nothing is active or when
|
|
121
|
+
* already rendering. Called when the owning media track is reactivated.
|
|
122
|
+
*/
|
|
123
|
+
resume(): void;
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=TextTrack.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextTrack.d.ts","sourceRoot":"","sources":["../../../../src/text/TextTrack.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAE3D;;GAEG;AACH,MAAM,MAAM,aAAa,GACnB,WAAW,GACX,UAAU,GACV,cAAc,GACd,UAAU,GACV,UAAU,CAAA;AAEhB;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC1B;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IAEnB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;IAE5B;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IAEhC;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IAEtB;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IAEzB;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IAExB;;;;OAIG;IACH,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAA;IAE3C;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IAEpB;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IAEhC;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CACxD;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B;;OAEG;IACH,QAAQ,CAAC,gBAAgB,EAAE,WAAW,CAAC,SAAS,aAAa,EAAE,CAAC,CAAA;IAEhE;;OAEG;IACH,QAAQ,CAAC,qBAAqB,EAAE,WAAW,CAAC,aAAa,GAAG,IAAI,CAAC,CAAA;IAEjE;;OAEG;IACH,QAAQ,CAAC,cAAc,EAAE,mBAAmB,CAAA;CAC/C;AAED,MAAM,WAAW,mBAAmB;IAChC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAA;IAC7B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;CACxB;AAED,eAAO,MAAM,qBAAqB,0EAIuB,CAAA;AAEzD;;GAEG;AACH,MAAM,WAAW,2BAA4B,SAAQ,iBAAiB,CAAC,iBAAiB,CAAC;IACrF;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,SAAS,aAAa,EAAE,CAAA;IAE7C;;OAEG;IACH,QAAQ,CAAC,eAAe,EAAE,aAAa,GAAG,IAAI,CAAA;CACjD;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,mBAAoB,SAAQ,2BAA2B;IACpE;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAA;IAE3C;;;;;OAKG;IACH,OAAO,IAAI,IAAI,CAAA;IAEf;;;;OAIG;IACH,MAAM,IAAI,IAAI,CAAA;CACjB"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { ObjectSchema } from '@amazon/vinyl-validation';
|
|
2
|
+
/**
|
|
3
|
+
* Layout style applied to each rendered WebVTT cue, mirroring the settable
|
|
4
|
+
* positioning properties of the DOM `VTTCue`. Only the properties that are set
|
|
5
|
+
* are applied; the rest keep the browser defaults.
|
|
6
|
+
*
|
|
7
|
+
* These are the WebVTT cue-box layout controls (not text color/font, which are
|
|
8
|
+
* only reachable via the non-configurable `::cue` pseudo-element). See
|
|
9
|
+
* {@link https://developer.mozilla.org/docs/Web/API/VTTCue}.
|
|
10
|
+
*/
|
|
11
|
+
export interface VttCueStyle {
|
|
12
|
+
/** Text alignment within the cue box. */
|
|
13
|
+
readonly align?: AlignSetting;
|
|
14
|
+
/** Line (vertical) position, as a line number/percentage or `'auto'`. */
|
|
15
|
+
readonly line?: number | AutoKeyword;
|
|
16
|
+
/** How `line` is anchored. */
|
|
17
|
+
readonly lineAlign?: LineAlignSetting;
|
|
18
|
+
/** Inline position of the cue box, as a percentage or `'auto'`. */
|
|
19
|
+
readonly position?: number | AutoKeyword;
|
|
20
|
+
/** How `position` is anchored. */
|
|
21
|
+
readonly positionAlign?: PositionAlignSetting;
|
|
22
|
+
/** Size of the cue box as a percentage of the video dimension. */
|
|
23
|
+
readonly size?: number;
|
|
24
|
+
/** Whether `line` is a line number (true) or a percentage (false). */
|
|
25
|
+
readonly snapToLines?: boolean;
|
|
26
|
+
/** Writing direction. */
|
|
27
|
+
readonly vertical?: DirectionSetting;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Type guard for a DOM cue that is a `VTTCue` (and so carries the WebVTT layout
|
|
31
|
+
* properties). On platforms without `VTTCue`, cues are plain `TextTrackCue`s
|
|
32
|
+
* that cannot be styled.
|
|
33
|
+
*/
|
|
34
|
+
export declare function isVttCue(cue: TextTrackCue): cue is VTTCue;
|
|
35
|
+
/**
|
|
36
|
+
* Applies the configured layout style to a `VTTCue`, setting only the
|
|
37
|
+
* properties present in `style`.
|
|
38
|
+
*/
|
|
39
|
+
export declare function applyVttCueStyle(cue: VTTCue, style: VttCueStyle): void;
|
|
40
|
+
export declare const vttCueStyleValidator: ObjectSchema<VttCueStyle>;
|
|
41
|
+
//# sourceMappingURL=VttCueStyle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VttCueStyle.d.ts","sourceRoot":"","sources":["../../../../src/text/VttCueStyle.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAG5D;;;;;;;;GAQG;AACH,MAAM,WAAW,WAAW;IACxB,yCAAyC;IACzC,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,CAAA;IAC7B,yEAAyE;IACzE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,WAAW,CAAA;IACpC,8BAA8B;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,gBAAgB,CAAA;IACrC,mEAAmE;IACnE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,WAAW,CAAA;IACxC,kCAAkC;IAClC,QAAQ,CAAC,aAAa,CAAC,EAAE,oBAAoB,CAAA;IAC7C,kEAAkE;IAClE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,sEAAsE;IACtE,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,yBAAyB;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAA;CACvC;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,YAAY,GAAG,GAAG,IAAI,MAAM,CAEzD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI,CAUtE;AAED,eAAO,MAAM,oBAAoB,EAAE,YAAY,CAAC,WAAW,CAczD,CAAA"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*/
|
|
5
|
+
import { boolean, isOneOf, number, object } from '@amazon/vinyl-validation';
|
|
6
|
+
/**
|
|
7
|
+
* Type guard for a DOM cue that is a `VTTCue` (and so carries the WebVTT layout
|
|
8
|
+
* properties). On platforms without `VTTCue`, cues are plain `TextTrackCue`s
|
|
9
|
+
* that cannot be styled.
|
|
10
|
+
*/
|
|
11
|
+
export function isVttCue(cue) {
|
|
12
|
+
return typeof VTTCue !== 'undefined' && cue instanceof VTTCue;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Applies the configured layout style to a `VTTCue`, setting only the
|
|
16
|
+
* properties present in `style`.
|
|
17
|
+
*/
|
|
18
|
+
export function applyVttCueStyle(cue, style) {
|
|
19
|
+
if (style.align !== undefined)
|
|
20
|
+
cue.align = style.align;
|
|
21
|
+
if (style.line !== undefined)
|
|
22
|
+
cue.line = style.line;
|
|
23
|
+
if (style.lineAlign !== undefined)
|
|
24
|
+
cue.lineAlign = style.lineAlign;
|
|
25
|
+
if (style.position !== undefined)
|
|
26
|
+
cue.position = style.position;
|
|
27
|
+
if (style.positionAlign !== undefined)
|
|
28
|
+
cue.positionAlign = style.positionAlign;
|
|
29
|
+
if (style.size !== undefined)
|
|
30
|
+
cue.size = style.size;
|
|
31
|
+
if (style.snapToLines !== undefined)
|
|
32
|
+
cue.snapToLines = style.snapToLines;
|
|
33
|
+
if (style.vertical !== undefined)
|
|
34
|
+
cue.vertical = style.vertical;
|
|
35
|
+
}
|
|
36
|
+
export const vttCueStyleValidator = object({
|
|
37
|
+
align: isOneOf('start', 'center', 'end', 'left', 'right').optional(),
|
|
38
|
+
line: number().or(isOneOf('auto')).optional(),
|
|
39
|
+
lineAlign: isOneOf('start', 'center', 'end').optional(),
|
|
40
|
+
position: number().or(isOneOf('auto')).optional(),
|
|
41
|
+
positionAlign: isOneOf('line-left', 'center', 'line-right', 'auto').optional(),
|
|
42
|
+
size: number().optional(),
|
|
43
|
+
snapToLines: boolean().optional(),
|
|
44
|
+
vertical: isOneOf('', 'rl', 'lr').optional(),
|
|
45
|
+
});
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { DashManifest } from '@amazon/vinyl-mpd-parser';
|
|
2
|
+
import type { TextTrackInfo } from './TextTrack';
|
|
3
|
+
/**
|
|
4
|
+
* Discovers sidecar text tracks from a DASH manifest.
|
|
5
|
+
*
|
|
6
|
+
* Considers an `<AdaptationSet>` to carry text when one of:
|
|
7
|
+
* - `contentType="text"`
|
|
8
|
+
* - `mimeType` starts with `text/` (e.g. `text/vtt`)
|
|
9
|
+
* - `mimeType` is `application/mp4` *and* the codec/role indicates text
|
|
10
|
+
*
|
|
11
|
+
* Within a text adaptation set, each `<Representation>` becomes one
|
|
12
|
+
* {@link TextTrackInfo}. The `BaseURL` chain (MPD → Period → AdaptationSet →
|
|
13
|
+
* Representation) is resolved against the supplied `baseUrl`.
|
|
14
|
+
*
|
|
15
|
+
* Only sidecar (single-file) WebVTT renditions are surfaced. Segmented text
|
|
16
|
+
* tracks (`stpp`/`wvtt` codecs) are ignored - they would require streaming
|
|
17
|
+
* through MSE which the sidecar pipeline does not support.
|
|
18
|
+
*
|
|
19
|
+
* @param manifest The parsed DASH manifest.
|
|
20
|
+
* @param baseUrl The URL of the manifest, used as the root for `BaseURL`
|
|
21
|
+
* resolution.
|
|
22
|
+
*/
|
|
23
|
+
export declare function discoverDashTextTracks(manifest: DashManifest, baseUrl: string): readonly TextTrackInfo[];
|
|
24
|
+
//# sourceMappingURL=discoverDashTextTracks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"discoverDashTextTracks.d.ts","sourceRoot":"","sources":["../../../../src/text/discoverDashTextTracks.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAE5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,sBAAsB,CAClC,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,MAAM,GAChB,SAAS,aAAa,EAAE,CAwD1B"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*/
|
|
5
|
+
import { resolveUrl } from '@amazon/vinyl-util';
|
|
6
|
+
/**
|
|
7
|
+
* Discovers sidecar text tracks from a DASH manifest.
|
|
8
|
+
*
|
|
9
|
+
* Considers an `<AdaptationSet>` to carry text when one of:
|
|
10
|
+
* - `contentType="text"`
|
|
11
|
+
* - `mimeType` starts with `text/` (e.g. `text/vtt`)
|
|
12
|
+
* - `mimeType` is `application/mp4` *and* the codec/role indicates text
|
|
13
|
+
*
|
|
14
|
+
* Within a text adaptation set, each `<Representation>` becomes one
|
|
15
|
+
* {@link TextTrackInfo}. The `BaseURL` chain (MPD → Period → AdaptationSet →
|
|
16
|
+
* Representation) is resolved against the supplied `baseUrl`.
|
|
17
|
+
*
|
|
18
|
+
* Only sidecar (single-file) WebVTT renditions are surfaced. Segmented text
|
|
19
|
+
* tracks (`stpp`/`wvtt` codecs) are ignored - they would require streaming
|
|
20
|
+
* through MSE which the sidecar pipeline does not support.
|
|
21
|
+
*
|
|
22
|
+
* @param manifest The parsed DASH manifest.
|
|
23
|
+
* @param baseUrl The URL of the manifest, used as the root for `BaseURL`
|
|
24
|
+
* resolution.
|
|
25
|
+
*/
|
|
26
|
+
export function discoverDashTextTracks(manifest, baseUrl) {
|
|
27
|
+
const out = [];
|
|
28
|
+
const periods = manifest.MPD.Period;
|
|
29
|
+
const mpdBase = chainBase(baseUrl, manifest.MPD.BaseURL);
|
|
30
|
+
for (let p = 0; p < periods.length; p++) {
|
|
31
|
+
const period = periods[p];
|
|
32
|
+
const periodBase = chainBase(mpdBase, period.BaseURL);
|
|
33
|
+
const adaptationSets = period.AdaptationSet ?? [];
|
|
34
|
+
for (const adaptationSet of adaptationSets) {
|
|
35
|
+
if (!isTextAdaptationSet(adaptationSet))
|
|
36
|
+
continue;
|
|
37
|
+
const asBase = chainBase(periodBase, adaptationSet.BaseURL);
|
|
38
|
+
const representations = adaptationSet.Representation ?? [];
|
|
39
|
+
for (const representation of representations) {
|
|
40
|
+
const repBase = chainBase(asBase, representation.BaseURL);
|
|
41
|
+
const uri = pickRepresentationUri(repBase, representation.id);
|
|
42
|
+
const mimeType = representation.mimeType ?? adaptationSet.mimeType ?? null;
|
|
43
|
+
// Only surface sidecar formats. Segmented text (stpp/wvtt) is
|
|
44
|
+
// intentionally skipped.
|
|
45
|
+
if (!isSidecarTextMime(mimeType))
|
|
46
|
+
continue;
|
|
47
|
+
const language = adaptationSet.lang ?? null;
|
|
48
|
+
const roleValues = (adaptationSet.Role ?? [])
|
|
49
|
+
.filter((d) => d.schemeIdUri === 'urn:mpeg:dash:role:2011')
|
|
50
|
+
.map((d) => d.value)
|
|
51
|
+
.filter((v) => v != null);
|
|
52
|
+
// Accessibility descriptors (e.g. SDH / hard-of-hearing) also
|
|
53
|
+
// describe the track's role; surface them as characteristics.
|
|
54
|
+
const accessibility = (adaptationSet.Accessibility ?? [])
|
|
55
|
+
.map((d) => d.value)
|
|
56
|
+
.filter((v) => v != null);
|
|
57
|
+
const characteristics = [...roleValues, ...accessibility];
|
|
58
|
+
const isCaption = roleValues.includes('caption');
|
|
59
|
+
const isDefault = roleValues.includes('main');
|
|
60
|
+
// DASH signals forced text via the `forced_subtitle` /
|
|
61
|
+
// `forced-subtitle` role value.
|
|
62
|
+
const forced = roleValues.includes('forced_subtitle') ||
|
|
63
|
+
roleValues.includes('forced-subtitle');
|
|
64
|
+
out.push({
|
|
65
|
+
id: `dash-text-${p}-${representation.id}`,
|
|
66
|
+
kind: isCaption ? 'captions' : 'subtitles',
|
|
67
|
+
language,
|
|
68
|
+
label: language ?? representation.id,
|
|
69
|
+
default: isDefault,
|
|
70
|
+
forced,
|
|
71
|
+
characteristics,
|
|
72
|
+
uri,
|
|
73
|
+
mimeType,
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
return out;
|
|
79
|
+
}
|
|
80
|
+
function isTextAdaptationSet(adaptationSet) {
|
|
81
|
+
if (adaptationSet.contentType === 'text')
|
|
82
|
+
return true;
|
|
83
|
+
const mt = adaptationSet.mimeType;
|
|
84
|
+
if (mt && mt.startsWith('text/'))
|
|
85
|
+
return true;
|
|
86
|
+
return false;
|
|
87
|
+
}
|
|
88
|
+
function isSidecarTextMime(mimeType) {
|
|
89
|
+
// Permissive when manifest omits the MIME type, otherwise require a
|
|
90
|
+
// text/* MIME type. Segmented codec-only types like application/mp4
|
|
91
|
+
// (used with stpp/wvtt codecs) are excluded.
|
|
92
|
+
if (mimeType == null)
|
|
93
|
+
return true;
|
|
94
|
+
return mimeType.startsWith('text/');
|
|
95
|
+
}
|
|
96
|
+
function chainBase(parent, bases) {
|
|
97
|
+
if (!bases || bases.length === 0)
|
|
98
|
+
return parent;
|
|
99
|
+
return resolveUrl(bases[0]._content, parent);
|
|
100
|
+
}
|
|
101
|
+
function pickRepresentationUri(base, id) {
|
|
102
|
+
// For a sidecar text representation, the BaseURL is expected to point at
|
|
103
|
+
// the file. When the chain ends in a directory (trailing `/`), append a
|
|
104
|
+
// conventional `<id>.vtt` filename so the loader can fetch the resource.
|
|
105
|
+
if (base.endsWith('/')) {
|
|
106
|
+
return resolveUrl(`${id}.vtt`, base);
|
|
107
|
+
}
|
|
108
|
+
return base;
|
|
109
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { HlsMainPlaylist } from '@amazon/vinyl-hls-parser';
|
|
2
|
+
import type { TextTrackInfo } from './TextTrack';
|
|
3
|
+
/**
|
|
4
|
+
* Discovers sidecar text tracks from an HLS multivariant playlist.
|
|
5
|
+
*
|
|
6
|
+
* Per RFC 8216 §4.3.4.2, subtitle renditions are signaled with
|
|
7
|
+
* `EXT-X-MEDIA:TYPE=SUBTITLES` and (when usable as sidecar) carry a `URI`
|
|
8
|
+
* attribute pointing at a media playlist or, in the simplified single-file
|
|
9
|
+
* case, a `.vtt` file directly.
|
|
10
|
+
*
|
|
11
|
+
* Closed captions (`TYPE=CLOSED-CAPTIONS`) are intentionally excluded - they
|
|
12
|
+
* are delivered in-band with the video stream and are surfaced by the browser
|
|
13
|
+
* automatically, not through a sidecar fetch.
|
|
14
|
+
*
|
|
15
|
+
* @param mainPlaylist The parsed HLS main playlist.
|
|
16
|
+
* @param baseUrl The URL of the main playlist, used to resolve relative URIs.
|
|
17
|
+
*/
|
|
18
|
+
export declare function discoverHlsTextTracks(mainPlaylist: HlsMainPlaylist, baseUrl: string): readonly TextTrackInfo[];
|
|
19
|
+
//# sourceMappingURL=discoverHlsTextTracks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"discoverHlsTextTracks.d.ts","sourceRoot":"","sources":["../../../../src/text/discoverHlsTextTracks.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAE/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,qBAAqB,CACjC,YAAY,EAAE,eAAe,EAC7B,OAAO,EAAE,MAAM,GAChB,SAAS,aAAa,EAAE,CA2B1B"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*/
|
|
5
|
+
import { resolveUrl } from '@amazon/vinyl-util';
|
|
6
|
+
/**
|
|
7
|
+
* Discovers sidecar text tracks from an HLS multivariant playlist.
|
|
8
|
+
*
|
|
9
|
+
* Per RFC 8216 §4.3.4.2, subtitle renditions are signaled with
|
|
10
|
+
* `EXT-X-MEDIA:TYPE=SUBTITLES` and (when usable as sidecar) carry a `URI`
|
|
11
|
+
* attribute pointing at a media playlist or, in the simplified single-file
|
|
12
|
+
* case, a `.vtt` file directly.
|
|
13
|
+
*
|
|
14
|
+
* Closed captions (`TYPE=CLOSED-CAPTIONS`) are intentionally excluded - they
|
|
15
|
+
* are delivered in-band with the video stream and are surfaced by the browser
|
|
16
|
+
* automatically, not through a sidecar fetch.
|
|
17
|
+
*
|
|
18
|
+
* @param mainPlaylist The parsed HLS main playlist.
|
|
19
|
+
* @param baseUrl The URL of the main playlist, used to resolve relative URIs.
|
|
20
|
+
*/
|
|
21
|
+
export function discoverHlsTextTracks(mainPlaylist, baseUrl) {
|
|
22
|
+
const out = [];
|
|
23
|
+
let index = 0;
|
|
24
|
+
const parentDefines = mainPlaylist.defines && Object.keys(mainPlaylist.defines).length > 0
|
|
25
|
+
? mainPlaylist.defines
|
|
26
|
+
: undefined;
|
|
27
|
+
for (const rendition of mainPlaylist.alternativeRenditions) {
|
|
28
|
+
if (rendition.type !== 'SUBTITLES')
|
|
29
|
+
continue;
|
|
30
|
+
if (!rendition.uri)
|
|
31
|
+
continue;
|
|
32
|
+
const resolved = resolveUrl(rendition.uri, baseUrl);
|
|
33
|
+
out.push({
|
|
34
|
+
id: `hls-text-${index++}-${rendition.groupId}-${rendition.name}`,
|
|
35
|
+
kind: 'subtitles',
|
|
36
|
+
language: rendition.language ?? null,
|
|
37
|
+
label: rendition.name,
|
|
38
|
+
default: rendition.default === true,
|
|
39
|
+
forced: rendition.forced === true,
|
|
40
|
+
characteristics: rendition.characteristics ?? [],
|
|
41
|
+
uri: resolved,
|
|
42
|
+
// HLS subtitle renditions don't carry a MIME type; WebVTT is the
|
|
43
|
+
// overwhelmingly dominant format for sidecar HLS subtitles.
|
|
44
|
+
mimeType: 'text/vtt',
|
|
45
|
+
...(parentDefines && { variables: parentDefines }),
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
return out;
|
|
49
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A single WebVTT cue.
|
|
3
|
+
*
|
|
4
|
+
* @see https://www.w3.org/TR/webvtt1/
|
|
5
|
+
*/
|
|
6
|
+
export interface WebVttCue {
|
|
7
|
+
/**
|
|
8
|
+
* Optional cue identifier, the line that appears before the timing line.
|
|
9
|
+
*/
|
|
10
|
+
readonly id: string | null;
|
|
11
|
+
/**
|
|
12
|
+
* Cue start time in seconds.
|
|
13
|
+
*/
|
|
14
|
+
readonly startTime: number;
|
|
15
|
+
/**
|
|
16
|
+
* Cue end time in seconds.
|
|
17
|
+
*/
|
|
18
|
+
readonly endTime: number;
|
|
19
|
+
/**
|
|
20
|
+
* The cue text payload, with line breaks preserved as `\n`.
|
|
21
|
+
*/
|
|
22
|
+
readonly text: string;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* The result of parsing a WebVTT document.
|
|
26
|
+
*/
|
|
27
|
+
export interface WebVttDocument {
|
|
28
|
+
/**
|
|
29
|
+
* Parsed cues in document order.
|
|
30
|
+
*/
|
|
31
|
+
readonly cues: readonly WebVttCue[];
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Parses a WebVTT document into a list of cues.
|
|
35
|
+
*
|
|
36
|
+
* Implements a forgiving subset of the WebVTT 1.0 specification: header
|
|
37
|
+
* detection, comment blocks (lines starting with `NOTE`), styling/region
|
|
38
|
+
* blocks (skipped), cue identifiers, and HH:MM:SS.mmm or MM:SS.mmm timestamps.
|
|
39
|
+
* Cue settings on the timing line are tolerated and ignored.
|
|
40
|
+
*
|
|
41
|
+
* @param input The raw WebVTT document text. Both LF and CRLF line endings
|
|
42
|
+
* are supported, and a leading BOM is stripped if present.
|
|
43
|
+
* @throws ValidationError if the input is missing the WEBVTT header.
|
|
44
|
+
*/
|
|
45
|
+
export declare function parseWebVtt(input: string): WebVttDocument;
|
|
46
|
+
//# sourceMappingURL=parseWebVtt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseWebVtt.d.ts","sourceRoot":"","sources":["../../../../src/text/parseWebVtt.ts"],"names":[],"mappings":"AAOA;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACtB;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAA;IAE1B;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAE1B;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IAExB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,SAAS,SAAS,EAAE,CAAA;CACtC;AAYD;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,CAuFzD"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*/
|
|
5
|
+
import { ErrorOrigin, ValidationError } from '@amazon/vinyl-util';
|
|
6
|
+
const WEBVTT_HEADER = 'WEBVTT';
|
|
7
|
+
// Trailing cue settings are tolerated but ignored. They are separated from the
|
|
8
|
+
// end timestamp by whitespace, so the tail is matched as an optional group that
|
|
9
|
+
// begins with a whitespace character. Using `(?:\s.*)?$` rather than `\s*(.*)$`
|
|
10
|
+
// avoids the ambiguous overlap between `\s*` and `.*` (both match spaces), which
|
|
11
|
+
// would allow polynomial backtracking on space-heavy input.
|
|
12
|
+
const TIME_RE = /^\s*(?:(\d+):)?([0-5]?\d):([0-5]?\d)\.(\d{3})\s*-->\s*(?:(\d+):)?([0-5]?\d):([0-5]?\d)\.(\d{3})(?:\s.*)?$/;
|
|
13
|
+
/**
|
|
14
|
+
* Parses a WebVTT document into a list of cues.
|
|
15
|
+
*
|
|
16
|
+
* Implements a forgiving subset of the WebVTT 1.0 specification: header
|
|
17
|
+
* detection, comment blocks (lines starting with `NOTE`), styling/region
|
|
18
|
+
* blocks (skipped), cue identifiers, and HH:MM:SS.mmm or MM:SS.mmm timestamps.
|
|
19
|
+
* Cue settings on the timing line are tolerated and ignored.
|
|
20
|
+
*
|
|
21
|
+
* @param input The raw WebVTT document text. Both LF and CRLF line endings
|
|
22
|
+
* are supported, and a leading BOM is stripped if present.
|
|
23
|
+
* @throws ValidationError if the input is missing the WEBVTT header.
|
|
24
|
+
*/
|
|
25
|
+
export function parseWebVtt(input) {
|
|
26
|
+
if (typeof input !== 'string') {
|
|
27
|
+
throw new ValidationError('WebVTT input must be a string', ErrorOrigin.MEDIA);
|
|
28
|
+
}
|
|
29
|
+
let text = input;
|
|
30
|
+
// Strip BOM
|
|
31
|
+
if (text.charCodeAt(0) === 0xfeff)
|
|
32
|
+
text = text.slice(1);
|
|
33
|
+
// Normalize line endings
|
|
34
|
+
const lines = text.split(/\r\n|\r|\n/);
|
|
35
|
+
if (lines.length === 0 || !isWebVttHeader(lines[0])) {
|
|
36
|
+
throw new ValidationError('WebVTT must begin with a WEBVTT header', ErrorOrigin.MEDIA);
|
|
37
|
+
}
|
|
38
|
+
const cues = [];
|
|
39
|
+
// Per the WebVTT spec, everything from the `WEBVTT` signature up to (and
|
|
40
|
+
// including) the first blank line is the file header — any metadata
|
|
41
|
+
// header lines (e.g. HLS's `X-TIMESTAMP-MAP=...`) belong in that block
|
|
42
|
+
// and MUST NOT be interpreted as cue content.
|
|
43
|
+
let i = 1;
|
|
44
|
+
while (i < lines.length && lines[i] !== '')
|
|
45
|
+
i++;
|
|
46
|
+
while (i < lines.length) {
|
|
47
|
+
// Skip empty lines between blocks.
|
|
48
|
+
if (lines[i] === '') {
|
|
49
|
+
i++;
|
|
50
|
+
continue;
|
|
51
|
+
}
|
|
52
|
+
// NOTE comment block: skip until blank line.
|
|
53
|
+
if (lines[i] === 'NOTE' || lines[i].startsWith('NOTE ')) {
|
|
54
|
+
i++;
|
|
55
|
+
while (i < lines.length && lines[i] !== '')
|
|
56
|
+
i++;
|
|
57
|
+
continue;
|
|
58
|
+
}
|
|
59
|
+
// STYLE / REGION blocks - skip until blank line.
|
|
60
|
+
if (lines[i] === 'STYLE' || lines[i] === 'REGION') {
|
|
61
|
+
i++;
|
|
62
|
+
while (i < lines.length && lines[i] !== '')
|
|
63
|
+
i++;
|
|
64
|
+
continue;
|
|
65
|
+
}
|
|
66
|
+
// Cue: optional identifier, then a timing line, then payload.
|
|
67
|
+
let id = null;
|
|
68
|
+
let timingLine;
|
|
69
|
+
const firstLine = lines[i];
|
|
70
|
+
if (TIME_RE.test(firstLine)) {
|
|
71
|
+
timingLine = firstLine;
|
|
72
|
+
i++;
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
id = firstLine;
|
|
76
|
+
i++;
|
|
77
|
+
if (i >= lines.length)
|
|
78
|
+
break;
|
|
79
|
+
timingLine = lines[i];
|
|
80
|
+
i++;
|
|
81
|
+
}
|
|
82
|
+
const match = TIME_RE.exec(timingLine);
|
|
83
|
+
if (!match) {
|
|
84
|
+
// Skip malformed cue: drain to next blank line.
|
|
85
|
+
while (i < lines.length && lines[i] !== '')
|
|
86
|
+
i++;
|
|
87
|
+
continue;
|
|
88
|
+
}
|
|
89
|
+
const startTime = toSeconds(match[1], match[2], match[3], match[4]);
|
|
90
|
+
const endTime = toSeconds(match[5], match[6], match[7], match[8]);
|
|
91
|
+
const payloadLines = [];
|
|
92
|
+
while (i < lines.length && lines[i] !== '') {
|
|
93
|
+
payloadLines.push(lines[i]);
|
|
94
|
+
i++;
|
|
95
|
+
}
|
|
96
|
+
cues.push({
|
|
97
|
+
id,
|
|
98
|
+
startTime,
|
|
99
|
+
endTime,
|
|
100
|
+
text: payloadLines.join('\n'),
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
return { cues };
|
|
104
|
+
}
|
|
105
|
+
function isWebVttHeader(line) {
|
|
106
|
+
if (!line.startsWith(WEBVTT_HEADER))
|
|
107
|
+
return false;
|
|
108
|
+
if (line.length === WEBVTT_HEADER.length)
|
|
109
|
+
return true;
|
|
110
|
+
const next = line.charCodeAt(WEBVTT_HEADER.length);
|
|
111
|
+
// Header may be followed by space, tab, or any text after a separator.
|
|
112
|
+
return next === 0x20 || next === 0x09;
|
|
113
|
+
}
|
|
114
|
+
function toSeconds(hours, minutes, seconds, millis) {
|
|
115
|
+
const h = hours ? Number(hours) : 0;
|
|
116
|
+
const m = Number(minutes);
|
|
117
|
+
const s = Number(seconds);
|
|
118
|
+
const ms = Number(millis);
|
|
119
|
+
return h * 3600 + m * 60 + s + ms / 1000;
|
|
120
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { TextTrackInfo } from './TextTrack';
|
|
2
|
+
/**
|
|
3
|
+
* Chooses the text track that best matches the preferred language(s), or null
|
|
4
|
+
* when none relate (or there is no preference / no tracks).
|
|
5
|
+
*
|
|
6
|
+
* Language dominates: a track is ranked first by which preference it relates to
|
|
7
|
+
* (earlier entries win) and how closely (see {@link languageRelatedness}).
|
|
8
|
+
* Within a single language, a full track is preferred over a forced-only track
|
|
9
|
+
* (a user asking for a caption language wants the full captions, not just the
|
|
10
|
+
* forced foreign-dialogue cues), and a manifest-default track breaks any
|
|
11
|
+
* remaining tie.
|
|
12
|
+
*/
|
|
13
|
+
export declare function pickPreferredTextTrack(tracks: readonly TextTrackInfo[], preferred: string | readonly string[] | null): TextTrackInfo | null;
|
|
14
|
+
//# sourceMappingURL=pickPreferredTextTrack.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pickPreferredTextTrack.d.ts","sourceRoot":"","sources":["../../../../src/text/pickPreferredTextTrack.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAgBhD;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CAClC,MAAM,EAAE,SAAS,aAAa,EAAE,EAChC,SAAS,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,IAAI,GAC7C,aAAa,GAAG,IAAI,CActB"}
|