@amazon/vinyl 1.2.0 → 2.0.4
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 +18 -18
- 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,58 @@
|
|
|
1
|
+
import type { Timestamp } from '@amazon/vinyl-util';
|
|
2
|
+
import type { TrackUri } from '../track/Track';
|
|
3
|
+
/**
|
|
4
|
+
* The stage of the track-load journey a {@link LoadSpanMeasurement} describes.
|
|
5
|
+
*
|
|
6
|
+
* - `manifest`: fetching and parsing the DASH/HLS manifest.
|
|
7
|
+
* - `license`: the DRM license request/response exchange.
|
|
8
|
+
* - `initSegment`: fetching the initialization segment.
|
|
9
|
+
* - `firstSegment`: fetching the first media segment.
|
|
10
|
+
*/
|
|
11
|
+
export type LoadSpanKind = 'manifest' | 'license' | 'initSegment' | 'firstSegment';
|
|
12
|
+
/**
|
|
13
|
+
* A timed span for one stage of a track load.
|
|
14
|
+
*
|
|
15
|
+
* Dispatched by the controller that owns the stage. Emitters attribute the span
|
|
16
|
+
* to the track it was measured for at the source (see {@link trackUri}); the
|
|
17
|
+
* player republishes it as a {@link LoadSpanEvent}. When the emitter cannot know
|
|
18
|
+
* the owning track, `trackUri` is omitted and the span is dropped rather than
|
|
19
|
+
* misattributed.
|
|
20
|
+
*/
|
|
21
|
+
export interface LoadSpanMeasurement {
|
|
22
|
+
readonly kind: LoadSpanKind;
|
|
23
|
+
/**
|
|
24
|
+
* When the stage began, as a unix millisecond timestamp.
|
|
25
|
+
*/
|
|
26
|
+
readonly startTime: Timestamp;
|
|
27
|
+
/**
|
|
28
|
+
* When the stage completed, as a unix millisecond timestamp.
|
|
29
|
+
*/
|
|
30
|
+
readonly endTime: Timestamp;
|
|
31
|
+
/**
|
|
32
|
+
* The track this span was measured for, stamped at the source by the
|
|
33
|
+
* emitter that knows which track initiated the load. Omitted only when the
|
|
34
|
+
* initiating track is not yet known (e.g. an encrypted event handled before
|
|
35
|
+
* buffering DRM info is set).
|
|
36
|
+
*/
|
|
37
|
+
readonly trackUri?: TrackUri;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* A {@link LoadSpanMeasurement} attributed to the track it was measured for.
|
|
41
|
+
*
|
|
42
|
+
* Emitted on the player as the `loadSpan` event.
|
|
43
|
+
*/
|
|
44
|
+
export interface LoadSpanEvent extends LoadSpanMeasurement {
|
|
45
|
+
readonly trackUri: TrackUri;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Player-level load metric events.
|
|
49
|
+
*/
|
|
50
|
+
export interface LoadMetricEventMap {
|
|
51
|
+
/**
|
|
52
|
+
* A stage of a track load completed. Reports the time span of the stage
|
|
53
|
+
* together with the track it belongs to. Consumers measuring end-to-end
|
|
54
|
+
* load latency key on the first event per `kind` and `trackUri`.
|
|
55
|
+
*/
|
|
56
|
+
readonly loadSpan: LoadSpanEvent;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=LoadMetric.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LoadMetric.d.ts","sourceRoot":"","sources":["../../../../src/streaming/LoadMetric.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAE9C;;;;;;;GAOG;AACH,MAAM,MAAM,YAAY,GAClB,UAAU,GACV,SAAS,GACT,aAAa,GACb,cAAc,CAAA;AAEpB;;;;;;;;GAQG;AACH,MAAM,WAAW,mBAAmB;IAChC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAA;IAE3B;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAE7B;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAA;IAE3B;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAA;CAC/B;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAc,SAAQ,mBAAmB;IACtD,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAA;CACnC"}
|
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
import type { ObservableValue } from '@amazon/vinyl-observable';
|
|
2
|
-
|
|
2
|
+
import type { ReadonlyAbort, ReadonlyEventHost } from '@amazon/vinyl-util';
|
|
3
|
+
import type { LoadSpanMeasurement } from './LoadMetric';
|
|
4
|
+
/**
|
|
5
|
+
* Events a manifest controller dispatches.
|
|
6
|
+
*/
|
|
7
|
+
export interface ManifestControllerEventMap {
|
|
8
|
+
/**
|
|
9
|
+
* The initial manifest fetch completed.
|
|
10
|
+
*/
|
|
11
|
+
readonly loadSpanMeasured: LoadSpanMeasurement;
|
|
12
|
+
}
|
|
13
|
+
export interface ManifestController<T> extends ObservableValue<T>, ReadonlyEventHost<ManifestControllerEventMap> {
|
|
3
14
|
/**
|
|
4
15
|
* Manually triggers a reload of the manifest.
|
|
5
16
|
* A manifest reload will not clear currently fetched or buffered segments.
|
|
@@ -10,4 +21,8 @@ export interface ManifestController<T> extends ObservableValue<T> {
|
|
|
10
21
|
*/
|
|
11
22
|
reset(): void;
|
|
12
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* Provides a manifest.
|
|
26
|
+
*/
|
|
27
|
+
export type ManifestProvider<T> = (abort?: ReadonlyAbort) => Promise<T>;
|
|
13
28
|
//# sourceMappingURL=ManifestController.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ManifestController.d.ts","sourceRoot":"","sources":["../../../../src/streaming/ManifestController.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"ManifestController.d.ts","sourceRoot":"","sources":["../../../../src/streaming/ManifestController.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAC1E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAEvD;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACvC;;OAEG;IACH,QAAQ,CAAC,gBAAgB,EAAE,mBAAmB,CAAA;CACjD;AAED,MAAM,WAAW,kBAAkB,CAAC,CAAC,CACjC,SAAQ,eAAe,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,0BAA0B,CAAC;IACzE;;;OAGG;IACH,OAAO,IAAI,IAAI,CAAA;IAEf;;OAEG;IACH,KAAK,IAAI,IAAI,CAAA;CAChB;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { type MutableValue } from '@amazon/vinyl-observable';
|
|
2
|
+
import { type EventHandler, type SignalOptions, type Unsubscribe } from '@amazon/vinyl-util';
|
|
3
|
+
import type { ManifestController, ManifestControllerEventMap, ManifestProvider } from './ManifestController';
|
|
4
|
+
export interface ManifestControllerImplDeps<T> {
|
|
5
|
+
readonly manifestProvider: ManifestProvider<T>;
|
|
6
|
+
}
|
|
7
|
+
export declare class ManifestControllerImpl<T> implements ManifestController<Promise<T>> {
|
|
8
|
+
private readonly deps;
|
|
9
|
+
get [Symbol.toStringTag](): string;
|
|
10
|
+
get logPrefix(): string;
|
|
11
|
+
private readonly _data;
|
|
12
|
+
private _error;
|
|
13
|
+
private readonly abortSlot;
|
|
14
|
+
private readonly disposer;
|
|
15
|
+
private readonly events;
|
|
16
|
+
private manifestSpanArmed;
|
|
17
|
+
constructor(deps: ManifestControllerImplDeps<T>);
|
|
18
|
+
on<K extends keyof ManifestControllerEventMap>(type: K, handler: EventHandler<ManifestControllerEventMap[K]>, options?: SignalOptions): Unsubscribe;
|
|
19
|
+
hasAnyListeners(): boolean;
|
|
20
|
+
hasListeners(type: keyof ManifestControllerEventMap): boolean;
|
|
21
|
+
readonly __eventMapType: import("@amazon/vinyl-util").Covariant<ManifestControllerEventMap>;
|
|
22
|
+
/**
|
|
23
|
+
* The most recent error from the manifest provider, or null.
|
|
24
|
+
*/
|
|
25
|
+
get error(): Error | null;
|
|
26
|
+
refresh(): void;
|
|
27
|
+
private requestManifest;
|
|
28
|
+
/**
|
|
29
|
+
* Measures the initial manifest fetch as a load span, re-arming on failure
|
|
30
|
+
* so a recovered load is still measured.
|
|
31
|
+
*/
|
|
32
|
+
private measureLoadSpan;
|
|
33
|
+
reset(): void;
|
|
34
|
+
get value(): Promise<T>;
|
|
35
|
+
get changeId(): number;
|
|
36
|
+
getValue(): Promise<T>;
|
|
37
|
+
onData(callback: (value: Promise<T>, previous?: Promise<T>) => void): () => void;
|
|
38
|
+
map<U>(fn: (value: Promise<T>) => U): import("@amazon/vinyl-observable").ObservableValue<U>;
|
|
39
|
+
pick<K extends keyof NonNullable<Promise<T>>>(key: K): MutableValue<Promise<T>[K]>;
|
|
40
|
+
get disposed(): boolean;
|
|
41
|
+
dispose(): void;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=ManifestControllerImpl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ManifestControllerImpl.d.ts","sourceRoot":"","sources":["../../../../src/streaming/ManifestControllerImpl.ts"],"names":[],"mappings":"AAKA,OAAO,EAAQ,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAClE,OAAO,EAGH,KAAK,YAAY,EAGjB,KAAK,aAAa,EAClB,KAAK,WAAW,EACnB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EACR,kBAAkB,EAClB,0BAA0B,EAC1B,gBAAgB,EACnB,MAAM,sBAAsB,CAAA;AAE7B,MAAM,WAAW,0BAA0B,CAAC,CAAC;IACzC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAA;CACjD;AAED,qBAAa,sBAAsB,CAAC,CAAC,CAAE,YAAW,kBAAkB,CAChE,OAAO,CAAC,CAAC,CAAC,CACb;IAgBe,OAAO,CAAC,QAAQ,CAAC,IAAI;IAfjC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAEjC;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA0B;IAChD,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoB;IAC9C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;IAC5C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkD;IACzE,OAAO,CAAC,iBAAiB,CAAO;gBAEH,IAAI,EAAE,0BAA0B,CAAC,CAAC,CAAC;IAMhE,EAAE,CAAC,CAAC,SAAS,MAAM,0BAA0B,EACzC,IAAI,EAAE,CAAC,EACP,OAAO,EAAE,YAAY,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,EACpD,OAAO,CAAC,EAAE,aAAa,GACxB,WAAW;IAId,eAAe,IAAI,OAAO;IAI1B,YAAY,CAAC,IAAI,EAAE,MAAM,0BAA0B,GAAG,OAAO;IAI7D,QAAQ,CAAC,cAAc,qEAA6B;IAEpD;;OAEG;IACH,IAAI,KAAK,IAAI,KAAK,GAAG,IAAI,CAExB;IAED,OAAO,IAAI,IAAI;IAKf,OAAO,CAAC,eAAe;IAWvB;;;OAGG;IACH,OAAO,CAAC,eAAe;IAevB,KAAK,IAAI,IAAI;IAOb,IAAI,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,CAEtB;IAED,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC;IAItB,MAAM,CACF,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,GAC7D,MAAM,IAAI;IAIb,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAInC,IAAI,CAAC,CAAC,SAAS,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC;IAIpD,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,OAAO,IAAI,IAAI;CAKlB"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*/
|
|
5
|
+
import { data } from '@amazon/vinyl-observable';
|
|
6
|
+
import { createAbortSlot, createDisposer, EventHostImpl, logDebug, } from '@amazon/vinyl-util';
|
|
7
|
+
export class ManifestControllerImpl {
|
|
8
|
+
deps;
|
|
9
|
+
get [Symbol.toStringTag]() {
|
|
10
|
+
return 'ManifestControllerImpl';
|
|
11
|
+
}
|
|
12
|
+
get logPrefix() {
|
|
13
|
+
return 'ManifestControllerImpl';
|
|
14
|
+
}
|
|
15
|
+
_data;
|
|
16
|
+
_error = null;
|
|
17
|
+
abortSlot = createAbortSlot();
|
|
18
|
+
disposer = createDisposer();
|
|
19
|
+
events = new EventHostImpl();
|
|
20
|
+
manifestSpanArmed = true;
|
|
21
|
+
constructor(deps) {
|
|
22
|
+
this.deps = deps;
|
|
23
|
+
// Kick off the initial manifest request. requestManifest() attaches its
|
|
24
|
+
// own rejection handler, so the stored promise never rejects unhandled.
|
|
25
|
+
this._data = data(this.requestManifest());
|
|
26
|
+
}
|
|
27
|
+
on(type, handler, options) {
|
|
28
|
+
return this.events.on(type, handler, options);
|
|
29
|
+
}
|
|
30
|
+
hasAnyListeners() {
|
|
31
|
+
return this.events.hasAnyListeners();
|
|
32
|
+
}
|
|
33
|
+
hasListeners(type) {
|
|
34
|
+
return this.events.hasListeners(type);
|
|
35
|
+
}
|
|
36
|
+
__eventMapType = this.events.__eventMapType;
|
|
37
|
+
/**
|
|
38
|
+
* The most recent error from the manifest provider, or null.
|
|
39
|
+
*/
|
|
40
|
+
get error() {
|
|
41
|
+
return this._error;
|
|
42
|
+
}
|
|
43
|
+
refresh() {
|
|
44
|
+
logDebug(this, 'refresh');
|
|
45
|
+
this._data.value = this.requestManifest();
|
|
46
|
+
}
|
|
47
|
+
requestManifest() {
|
|
48
|
+
this.abortSlot.abort();
|
|
49
|
+
this._error = null;
|
|
50
|
+
const promise = this.deps.manifestProvider(this.abortSlot.value);
|
|
51
|
+
this.measureLoadSpan(promise);
|
|
52
|
+
promise.catch((error) => {
|
|
53
|
+
this._error = error;
|
|
54
|
+
});
|
|
55
|
+
return promise;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Measures the initial manifest fetch as a load span, re-arming on failure
|
|
59
|
+
* so a recovered load is still measured.
|
|
60
|
+
*/
|
|
61
|
+
measureLoadSpan(promise) {
|
|
62
|
+
if (!this.manifestSpanArmed)
|
|
63
|
+
return;
|
|
64
|
+
this.manifestSpanArmed = false;
|
|
65
|
+
const startTime = Date.now();
|
|
66
|
+
promise.then(() => this.events.dispatch('loadSpanMeasured', {
|
|
67
|
+
kind: 'manifest',
|
|
68
|
+
startTime,
|
|
69
|
+
endTime: Date.now(),
|
|
70
|
+
}), () => (this.manifestSpanArmed = true));
|
|
71
|
+
}
|
|
72
|
+
reset() {
|
|
73
|
+
logDebug(this, 'reset');
|
|
74
|
+
if (this._error) {
|
|
75
|
+
this.refresh();
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
get value() {
|
|
79
|
+
return this._data.value;
|
|
80
|
+
}
|
|
81
|
+
get changeId() {
|
|
82
|
+
return this._data.changeId;
|
|
83
|
+
}
|
|
84
|
+
getValue() {
|
|
85
|
+
return this._data.getValue();
|
|
86
|
+
}
|
|
87
|
+
onData(callback) {
|
|
88
|
+
return this._data.onData(callback);
|
|
89
|
+
}
|
|
90
|
+
map(fn) {
|
|
91
|
+
return this._data.map(fn);
|
|
92
|
+
}
|
|
93
|
+
pick(key) {
|
|
94
|
+
return this._data.pick(key);
|
|
95
|
+
}
|
|
96
|
+
get disposed() {
|
|
97
|
+
return this.disposer.disposed;
|
|
98
|
+
}
|
|
99
|
+
dispose() {
|
|
100
|
+
this.abortSlot.abort();
|
|
101
|
+
this.disposer.dispose();
|
|
102
|
+
this.events.dispose();
|
|
103
|
+
}
|
|
104
|
+
}
|
|
@@ -7,6 +7,14 @@ import { DrmKeySystem } from '../drm/DrmKeySystem';
|
|
|
7
7
|
import type { FrameRate } from '@amazon/vinyl-mpd-parser';
|
|
8
8
|
export type ContentType = 'audio' | 'video' | 'text';
|
|
9
9
|
export declare const ALL_CONTENT_TYPES: ["video", "audio", "text"];
|
|
10
|
+
/**
|
|
11
|
+
* The content types that can be restricted via an allow list (see
|
|
12
|
+
* `VinylOptions.allowedContentTypes`). Text is intentionally excluded: text
|
|
13
|
+
* tracks (subtitles / closed captions) are governed by caption selection, not
|
|
14
|
+
* by the content-type allow list, so they always remain available.
|
|
15
|
+
*/
|
|
16
|
+
export type RestrictableContentType = Exclude<ContentType, 'text'>;
|
|
17
|
+
export declare const RESTRICTABLE_CONTENT_TYPES: ["video", "audio"];
|
|
10
18
|
/**
|
|
11
19
|
* Contains media formatting and encryption metadata.
|
|
12
20
|
*/
|
|
@@ -113,6 +121,14 @@ export interface MediaQualityMetadata extends MediaFormatMetadata {
|
|
|
113
121
|
* Specifies the language of the content, using a code as defined by RFC 5646.
|
|
114
122
|
*/
|
|
115
123
|
readonly lang: string | null;
|
|
124
|
+
/**
|
|
125
|
+
* Media characteristics / accessibility roles describing this rendition,
|
|
126
|
+
* e.g. `public.accessibility.describes-video` (HLS CHARACTERISTICS) or a
|
|
127
|
+
* DASH Role / Accessibility scheme value such as `description`. Used to keep
|
|
128
|
+
* accessibility renditions (e.g. audio description) from being auto-selected
|
|
129
|
+
* by default. Empty when none are signaled.
|
|
130
|
+
*/
|
|
131
|
+
readonly characteristics: readonly string[];
|
|
116
132
|
/**
|
|
117
133
|
* Identifies the group this quality belongs to (e.g. the adaptation set).
|
|
118
134
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MediaQualityMetadata.d.ts","sourceRoot":"","sources":["../../../../src/streaming/MediaQualityMetadata.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"MediaQualityMetadata.d.ts","sourceRoot":"","sources":["../../../../src/streaming/MediaQualityMetadata.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,10 @@ export const ALL_CONTENT_TYPES = [
|
|
|
11
11
|
'audio',
|
|
12
12
|
'text',
|
|
13
13
|
];
|
|
14
|
+
export const RESTRICTABLE_CONTENT_TYPES = [
|
|
15
|
+
'video',
|
|
16
|
+
'audio',
|
|
17
|
+
];
|
|
14
18
|
export const drmProtectionValidator = descriptorValidator.extend({
|
|
15
19
|
keySystem: enumOf(DrmKeySystem),
|
|
16
20
|
pro: string().maybe().optional(),
|
|
@@ -52,6 +56,7 @@ export function createEmptyMediaQualityMetadata() {
|
|
|
52
56
|
height: null,
|
|
53
57
|
width: null,
|
|
54
58
|
lang: null,
|
|
59
|
+
characteristics: [],
|
|
55
60
|
groupId: createShortUid(),
|
|
56
61
|
switchingGroupIds: null,
|
|
57
62
|
};
|
|
@@ -68,6 +73,7 @@ export const mediaQualityMetadataValidator = mediaFormatMetadataValidator.extend
|
|
|
68
73
|
supplementalProperties: descriptorRecordValidator,
|
|
69
74
|
width: number().orNull(),
|
|
70
75
|
lang: string().orNull(),
|
|
76
|
+
characteristics: array(string()).readonly(),
|
|
71
77
|
groupId: string(),
|
|
72
78
|
switchingGroupIds: array(string()).readonly().orNull(),
|
|
73
79
|
});
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { SegmentReference } from './SegmentReference';
|
|
2
2
|
import type { SegmentDataProvider } from './SegmentDataSlot';
|
|
3
3
|
import type { MediaQualityMetadata } from './MediaQualityMetadata';
|
|
4
|
+
import type { AdBreakList } from '../ad/AdBreakInfo';
|
|
4
5
|
/**
|
|
5
6
|
* Represents a single quality within a period, providing access to its metadata
|
|
6
7
|
* and segment data.
|
|
@@ -32,6 +33,11 @@ export interface MediaTimeline {
|
|
|
32
33
|
* The minimum duration of the buffer that a client should maintain for uninterrupted playback.
|
|
33
34
|
*/
|
|
34
35
|
readonly minBufferTime: number;
|
|
36
|
+
/**
|
|
37
|
+
* Ad breaks discovered from the media presentation (e.g. HLS Interstitials,
|
|
38
|
+
* DASH SCTE-35). Empty when the stream carries no ad signals.
|
|
39
|
+
*/
|
|
40
|
+
getAdBreaks(): Promise<AdBreakList>;
|
|
35
41
|
/**
|
|
36
42
|
* The total duration of the media, in seconds.
|
|
37
43
|
* Returns `Infinity` for live streams.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MediaTimeline.d.ts","sourceRoot":"","sources":["../../../../src/streaming/MediaTimeline.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"MediaTimeline.d.ts","sourceRoot":"","sources":["../../../../src/streaming/MediaTimeline.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAElE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAEpD;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAA;IAEvC;;;;;OAKG;IACH,UAAU,CACN,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,CAAA;CAC3D;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,SAAS,EAAE,SAAS,gBAAgB,EAAE,CAAA;CAClD;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B,QAAQ,CAAC,OAAO,EAAE,SAAS,WAAW,EAAE,CAAA;IAExC;;OAEG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAE9B;;;OAGG;IACH,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,CAAA;IAEnC;;;;OAIG;IACH,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,CAAA;CACjC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAChC,QAAQ,EAAE,aAAa,EACvB,IAAI,EAAE,MAAM,GACb,WAAW,GAAG,IAAI,CAQpB"}
|
|
@@ -2,6 +2,7 @@ import type { AnyRecord, Disposable, ReadonlyAbort, ReadonlyEventHost, ReadonlyR
|
|
|
2
2
|
import type { SegmentReference } from './SegmentReference';
|
|
3
3
|
import type { ChangeEvent } from '../event/ChangeEvent';
|
|
4
4
|
import type { MediaQualityMetadata } from './MediaQualityMetadata';
|
|
5
|
+
import type { LoadSpanMeasurement } from './LoadMetric';
|
|
5
6
|
/**
|
|
6
7
|
* Forward-snap tolerance, in seconds, applied when looking up a segment by time.
|
|
7
8
|
*
|
|
@@ -32,6 +33,10 @@ export interface SegmentControllerEventMap {
|
|
|
32
33
|
* This is dispatched when a new quality is requested.
|
|
33
34
|
*/
|
|
34
35
|
readonly streamingQualityChange: ChangeEvent<MediaQualityMetadata | null>;
|
|
36
|
+
/**
|
|
37
|
+
* The first init or media segment fetch of this stream completed.
|
|
38
|
+
*/
|
|
39
|
+
readonly loadSpanMeasured: LoadSpanMeasurement;
|
|
35
40
|
}
|
|
36
41
|
/**
|
|
37
42
|
* The SegmentController provides segments to buffer for the given time.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SegmentController.d.ts","sourceRoot":"","sources":["../../../../src/streaming/SegmentController.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACR,SAAS,EACT,UAAU,EACV,aAAa,EACb,iBAAiB,EACjB,cAAc,EACjB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"SegmentController.d.ts","sourceRoot":"","sources":["../../../../src/streaming/SegmentController.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACR,SAAS,EACT,UAAU,EACV,aAAa,EACb,iBAAiB,EACjB,cAAc,EACjB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAClE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAEvD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,wBAAwB,MAAM,CAAA;AAE3C,MAAM,WAAW,yBAAyB;IACtC;;OAEG;IACH,QAAQ,CAAC,mBAAmB,EAAE,SAAS,CAAA;IAEvC;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAA;IAE1B;;;OAGG;IACH,QAAQ,CAAC,sBAAsB,EAAE,WAAW,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAA;IAEzE;;OAEG;IACH,QAAQ,CAAC,gBAAgB,EAAE,mBAAmB,CAAA;CACjD;AAED;;;;GAIG;AACH,MAAM,WAAW,yBAA0B,SAAQ,iBAAiB,CAAC,yBAAyB,CAAC;IAC3F,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;IAE5B;;OAEG;IACH,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAA;IAEtC;;OAEG;IACH,QAAQ,CAAC,gBAAgB,EAAE,oBAAoB,GAAG,IAAI,CAAA;IAEtD;;;;;;;;;;;;;;;;;OAiBG;IACH,UAAU,CACN,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,CAAA;CACnD;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B;;OAEG;IACH,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAA;IAEtC;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC7B;AAED;;;GAGG;AACH,MAAM,WAAW,iBACb,SAAQ,yBAAyB,EAAE,UAAU;IAC7C;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI,CAAA;IAElD;;;OAGG;IACH,KAAK,IAAI,IAAI,CAAA;IAEb;;;OAGG;IACH,QAAQ,IAAI,IAAI,CAAA;IAEhB;;OAEG;IACH,UAAU,IAAI,IAAI,CAAA;IAElB;;OAEG;IACH,KAAK,IAAI,IAAI,CAAA;CAChB"}
|
|
@@ -44,6 +44,7 @@ export declare class SegmentControllerImpl extends EventHostImpl<SegmentControll
|
|
|
44
44
|
readonly deps: SegmentControllerImplDeps;
|
|
45
45
|
readonly contentType: ContentType;
|
|
46
46
|
get [Symbol.toStringTag](): string;
|
|
47
|
+
readonly logPrefix: string;
|
|
47
48
|
private _active;
|
|
48
49
|
get active(): boolean;
|
|
49
50
|
private readonly _fetchedRanges;
|
|
@@ -64,6 +65,8 @@ export declare class SegmentControllerImpl extends EventHostImpl<SegmentControll
|
|
|
64
65
|
private ended;
|
|
65
66
|
private prefetching;
|
|
66
67
|
private _error;
|
|
68
|
+
private initSpanArmed;
|
|
69
|
+
private firstSegmentSpanArmed;
|
|
67
70
|
private timeUpdateSub;
|
|
68
71
|
private seekingSub;
|
|
69
72
|
private readonly abort;
|
|
@@ -109,6 +112,15 @@ export declare class SegmentControllerImpl extends EventHostImpl<SegmentControll
|
|
|
109
112
|
private getNextTimeToPrefetch;
|
|
110
113
|
private pollPrefetch;
|
|
111
114
|
private prefetchErrorHandler;
|
|
115
|
+
/**
|
|
116
|
+
* Requests init-segment data, measuring the first fetch as a load span.
|
|
117
|
+
*/
|
|
118
|
+
private requestInitData;
|
|
119
|
+
/**
|
|
120
|
+
* Requests media-segment data, measuring the first fetch as a load span.
|
|
121
|
+
*/
|
|
122
|
+
private requestSegmentData;
|
|
123
|
+
private measureLoadSpan;
|
|
112
124
|
get fetchedRanges(): ReadonlyRanges;
|
|
113
125
|
/**
|
|
114
126
|
* Gets the number of seconds currently prefetched.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SegmentControllerImpl.d.ts","sourceRoot":"","sources":["../../../../src/streaming/SegmentControllerImpl.ts"],"names":[],"mappings":"AAMA,OAAO,
|
|
1
|
+
{"version":3,"file":"SegmentControllerImpl.d.ts","sourceRoot":"","sources":["../../../../src/streaming/SegmentControllerImpl.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
3
|
* SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
*/
|
|
5
|
-
import { Abort, clone, closeTo, createDisposer, EventHostImpl, getNetworkState, getOrSet, isSilentError, logDebug, logError, noop, rangeIntersects, RangesImpl, throttle, withAbort, } from '@amazon/vinyl-util';
|
|
5
|
+
import { Abort, clone, closeTo, createDisposer, createLogPrefix, EventHostImpl, getNetworkState, getOrSet, isSilentError, logDebug, logError, noop, rangeIntersects, RangesImpl, throttle, withAbort, } from '@amazon/vinyl-util';
|
|
6
|
+
import { isMimeTypeDenylisted } from './buffering/codecDenylist';
|
|
6
7
|
import { SEGMENT_START_AFFORDANCE, } from './SegmentController';
|
|
7
8
|
import { SegmentDataSlot, SegmentStatus, } from './SegmentDataSlot';
|
|
8
9
|
import { defaultTrackPriority, enqueueSegmentPrefetch, immediatePrefetchPriority, } from './SegmentPrefetch';
|
|
@@ -28,8 +29,11 @@ export class SegmentControllerImpl extends EventHostImpl {
|
|
|
28
29
|
deps;
|
|
29
30
|
contentType;
|
|
30
31
|
get [Symbol.toStringTag]() {
|
|
31
|
-
return
|
|
32
|
+
return `Segment_${this.contentType}`;
|
|
32
33
|
}
|
|
34
|
+
// Assigned in the constructor body: a field initializer runs before the
|
|
35
|
+
// contentType param-property, so it would capture `undefined`.
|
|
36
|
+
logPrefix;
|
|
33
37
|
_active = false;
|
|
34
38
|
get active() {
|
|
35
39
|
return this._active;
|
|
@@ -52,6 +56,11 @@ export class SegmentControllerImpl extends EventHostImpl {
|
|
|
52
56
|
ended = false;
|
|
53
57
|
prefetching = false;
|
|
54
58
|
_error = null;
|
|
59
|
+
// Load-span metrics latch on the first init/media fetch attempt (the flag
|
|
60
|
+
// is cleared when the request is issued) and re-arm if that attempt fails,
|
|
61
|
+
// so a recovered load is still measured.
|
|
62
|
+
initSpanArmed = true;
|
|
63
|
+
firstSegmentSpanArmed = true;
|
|
55
64
|
timeUpdateSub = null;
|
|
56
65
|
seekingSub = null;
|
|
57
66
|
// When disposed, aborts in-flight operations.
|
|
@@ -64,6 +73,7 @@ export class SegmentControllerImpl extends EventHostImpl {
|
|
|
64
73
|
super();
|
|
65
74
|
this.deps = deps;
|
|
66
75
|
this.contentType = contentType;
|
|
76
|
+
this.logPrefix = createLogPrefix(`Segment_${contentType}`);
|
|
67
77
|
logDebug(this, 'constructed');
|
|
68
78
|
const { add } = this.disposer;
|
|
69
79
|
this.options = {
|
|
@@ -212,8 +222,8 @@ export class SegmentControllerImpl extends EventHostImpl {
|
|
|
212
222
|
return;
|
|
213
223
|
}
|
|
214
224
|
await withAbort(Promise.all([
|
|
215
|
-
|
|
216
|
-
|
|
225
|
+
this.requestInitData(slot),
|
|
226
|
+
this.requestSegmentData(slot),
|
|
217
227
|
]), this.abort);
|
|
218
228
|
}, this.contentType, this.prefetchingPriority)
|
|
219
229
|
.catch(this.prefetchErrorHandler)
|
|
@@ -229,11 +239,46 @@ export class SegmentControllerImpl extends EventHostImpl {
|
|
|
229
239
|
prefetchErrorHandler = (error) => {
|
|
230
240
|
// Only log the error for prefetch failures, it will get reported if/when it is attempted
|
|
231
241
|
// to be buffered.
|
|
232
|
-
if (!isSilentError(error)) {
|
|
242
|
+
if (!this.disposed && !isSilentError(error)) {
|
|
233
243
|
logError(this, 'Error prefetching segment', error);
|
|
234
244
|
this._error = error;
|
|
235
245
|
}
|
|
236
246
|
};
|
|
247
|
+
/**
|
|
248
|
+
* Requests init-segment data, measuring the first fetch as a load span.
|
|
249
|
+
*/
|
|
250
|
+
requestInitData(slot) {
|
|
251
|
+
const request = slot.initData.request();
|
|
252
|
+
if (this.initSpanArmed) {
|
|
253
|
+
this.initSpanArmed = false;
|
|
254
|
+
this.measureLoadSpan('initSegment', request);
|
|
255
|
+
}
|
|
256
|
+
return request;
|
|
257
|
+
}
|
|
258
|
+
/**
|
|
259
|
+
* Requests media-segment data, measuring the first fetch as a load span.
|
|
260
|
+
*/
|
|
261
|
+
requestSegmentData(slot) {
|
|
262
|
+
const request = slot.data.request();
|
|
263
|
+
if (this.firstSegmentSpanArmed) {
|
|
264
|
+
this.firstSegmentSpanArmed = false;
|
|
265
|
+
this.measureLoadSpan('firstSegment', request);
|
|
266
|
+
}
|
|
267
|
+
return request;
|
|
268
|
+
}
|
|
269
|
+
measureLoadSpan(kind, request) {
|
|
270
|
+
const startTime = Date.now();
|
|
271
|
+
request.then(() => this.dispatch('loadSpanMeasured', {
|
|
272
|
+
kind,
|
|
273
|
+
startTime,
|
|
274
|
+
endTime: Date.now(),
|
|
275
|
+
}), () => {
|
|
276
|
+
if (kind === 'initSegment')
|
|
277
|
+
this.initSpanArmed = true;
|
|
278
|
+
else
|
|
279
|
+
this.firstSegmentSpanArmed = true;
|
|
280
|
+
});
|
|
281
|
+
}
|
|
237
282
|
get fetchedRanges() {
|
|
238
283
|
return this._fetchedRanges;
|
|
239
284
|
}
|
|
@@ -279,8 +324,8 @@ export class SegmentControllerImpl extends EventHostImpl {
|
|
|
279
324
|
// If prefetch failed, try again now that the segment is actively needed:
|
|
280
325
|
this.resetSlot(streamingSlot);
|
|
281
326
|
const initAndDataPromise = Promise.all([
|
|
282
|
-
|
|
283
|
-
|
|
327
|
+
this.requestInitData(streamingSlot),
|
|
328
|
+
this.requestSegmentData(streamingSlot),
|
|
284
329
|
]);
|
|
285
330
|
// If the requested time is close to the start of the next segment, immediately start prefetching the next
|
|
286
331
|
// segment, and not resolving until both are cached.
|
|
@@ -314,7 +359,10 @@ export class SegmentControllerImpl extends EventHostImpl {
|
|
|
314
359
|
const slot = await this.getSlotAtTime(time);
|
|
315
360
|
if (!slot)
|
|
316
361
|
return;
|
|
317
|
-
await Promise.all([
|
|
362
|
+
await Promise.all([
|
|
363
|
+
this.requestInitData(slot),
|
|
364
|
+
this.requestSegmentData(slot),
|
|
365
|
+
]);
|
|
318
366
|
}
|
|
319
367
|
/**
|
|
320
368
|
* Gets a streaming segment slot that spans the given time, or null if there is no media at that time.
|
|
@@ -367,8 +415,17 @@ export class SegmentControllerImpl extends EventHostImpl {
|
|
|
367
415
|
const period = await this.getPeriodAtTime(time);
|
|
368
416
|
if (!period)
|
|
369
417
|
return null;
|
|
370
|
-
// Filter qualities to this content type
|
|
371
|
-
|
|
418
|
+
// Filter qualities to this content type, excluding any whose codec has
|
|
419
|
+
// been denylisted at runtime after a decode/append failure (the browser
|
|
420
|
+
// claimed support it does not actually have). If every quality for this
|
|
421
|
+
// content type is denylisted, fall back to the unfiltered set so
|
|
422
|
+
// playback still attempts something rather than stalling silently.
|
|
423
|
+
const contentTypeQualities = period.qualities.filter((q) => q.metadata.contentType === this.contentType);
|
|
424
|
+
const playableQualities = contentTypeQualities.filter((q) => !q.metadata.mimeType ||
|
|
425
|
+
!isMimeTypeDenylisted(q.metadata.mimeType));
|
|
426
|
+
const filteredQualities = playableQualities.length > 0
|
|
427
|
+
? playableQualities
|
|
428
|
+
: contentTypeQualities;
|
|
372
429
|
if (filteredQualities.length === 0)
|
|
373
430
|
return null;
|
|
374
431
|
// Gets the preceding segment encoding metadata for quality selection.
|
|
@@ -2,6 +2,8 @@ import type { ChangeEvent } from '../event/ChangeEvent';
|
|
|
2
2
|
import type { ContentType, MediaQualityMetadata } from './MediaQualityMetadata';
|
|
3
3
|
import type { BasicErrorEvent } from '../event/BasicErrorEvent';
|
|
4
4
|
import type { AnyRecord } from '@amazon/vinyl-util';
|
|
5
|
+
import type { SeekRange } from '../track/SeekRange';
|
|
6
|
+
import type { LoadSpanMeasurement } from './LoadMetric';
|
|
5
7
|
/**
|
|
6
8
|
* Events a track dispatches related to streaming quality and status.
|
|
7
9
|
*/
|
|
@@ -32,6 +34,10 @@ export interface StreamingEventMap {
|
|
|
32
34
|
* The last segment has finished appending.
|
|
33
35
|
*/
|
|
34
36
|
readonly bufferingEnded: AnyRecord;
|
|
37
|
+
/**
|
|
38
|
+
* The buffer went from empty to holding data, or back to empty.
|
|
39
|
+
*/
|
|
40
|
+
readonly hasDataChange: ChangeEvent<boolean>;
|
|
35
41
|
/**
|
|
36
42
|
* Dispatched when a streaming error occurs.
|
|
37
43
|
*/
|
|
@@ -48,10 +54,41 @@ export interface StreamingEventMap {
|
|
|
48
54
|
* The available unfiltered qualities for the current period have changed.
|
|
49
55
|
*/
|
|
50
56
|
readonly qualitiesUnfilteredChange: ChangeEvent<readonly MediaQualityMetadata[]>;
|
|
57
|
+
/**
|
|
58
|
+
* A codec the browser reported as supported failed to decode on append and
|
|
59
|
+
* has been denylisted at runtime. The current media should be reloaded so
|
|
60
|
+
* quality selection can fall back to a codec that decodes. Recoverable:
|
|
61
|
+
* this is dispatched instead of an `error`, and the player reloads the
|
|
62
|
+
* track in response.
|
|
63
|
+
*/
|
|
64
|
+
readonly codecUnsupported: CodecUnsupportedEvent;
|
|
65
|
+
/**
|
|
66
|
+
* The seekable range on the media timeline has changed.
|
|
67
|
+
*/
|
|
68
|
+
readonly seekRangeChange: ChangeEvent<SeekRange | null>;
|
|
69
|
+
/**
|
|
70
|
+
* A stage of the track load completed. Rather than redispatch this raw
|
|
71
|
+
* measurement, the player attributes it to the current track and
|
|
72
|
+
* republishes it as the `loadSpan` event.
|
|
73
|
+
*/
|
|
74
|
+
readonly loadSpanMeasured: LoadSpanMeasurement;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Payload for {@link StreamingEventMap.codecUnsupported}.
|
|
78
|
+
*/
|
|
79
|
+
export interface CodecUnsupportedEvent {
|
|
80
|
+
/**
|
|
81
|
+
* The mimeType (including the failing codec) that was denylisted.
|
|
82
|
+
*/
|
|
83
|
+
readonly mimeType: string;
|
|
84
|
+
/**
|
|
85
|
+
* The content type of the stream whose append failed.
|
|
86
|
+
*/
|
|
87
|
+
readonly contentType: ContentType;
|
|
51
88
|
}
|
|
52
89
|
/**
|
|
53
90
|
* All streaming-related events a track may emit.
|
|
54
91
|
* These will be bubbled by the player.
|
|
55
92
|
*/
|
|
56
|
-
export declare const ALL_STREAMING_EVENTS: readonly ["contentTypesChange", "fetchedRangesChange", "streamingQualityChange", "bufferingQualityChange", "playbackQualityChange", "bufferingEnded", "error", "reset", "qualitiesChange", "qualitiesUnfilteredChange"];
|
|
93
|
+
export declare const ALL_STREAMING_EVENTS: readonly ["contentTypesChange", "fetchedRangesChange", "streamingQualityChange", "bufferingQualityChange", "playbackQualityChange", "bufferingEnded", "hasDataChange", "error", "reset", "qualitiesChange", "qualitiesUnfilteredChange", "codecUnsupported", "seekRangeChange", "loadSpanMeasured"];
|
|
57
94
|
//# sourceMappingURL=StreamingEventMap.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StreamingEventMap.d.ts","sourceRoot":"","sources":["../../../../src/streaming/StreamingEventMap.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"StreamingEventMap.d.ts","sourceRoot":"","sources":["../../../../src/streaming/StreamingEventMap.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAEvD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B;;OAEG;IACH,QAAQ,CAAC,kBAAkB,EAAE,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAA;IAElE;;OAEG;IACH,QAAQ,CAAC,mBAAmB,EAAE,SAAS,CAAA;IAEvC;;;OAGG;IACH,QAAQ,CAAC,sBAAsB,EAAE,WAAW,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAA;IAEzE;;;OAGG;IACH,QAAQ,CAAC,sBAAsB,EAAE,WAAW,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAA;IAEzE;;OAEG;IACH,QAAQ,CAAC,qBAAqB,EAAE,WAAW,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAA;IAExE;;OAEG;IACH,QAAQ,CAAC,cAAc,EAAE,SAAS,CAAA;IAElC;;OAEG;IACH,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IAE5C;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAA;IAE/B;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAA;IAEzB;;OAEG;IACH,QAAQ,CAAC,eAAe,EAAE,WAAW,CAAC,SAAS,oBAAoB,EAAE,CAAC,CAAA;IAEtE;;OAEG;IACH,QAAQ,CAAC,yBAAyB,EAAE,WAAW,CAC3C,SAAS,oBAAoB,EAAE,CAClC,CAAA;IAED;;;;;;OAMG;IACH,QAAQ,CAAC,gBAAgB,EAAE,qBAAqB,CAAA;IAEhD;;OAEG;IACH,QAAQ,CAAC,eAAe,EAAE,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC,CAAA;IAEvD;;;;OAIG;IACH,QAAQ,CAAC,gBAAgB,EAAE,mBAAmB,CAAA;CACjD;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IAClC;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IAEzB;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAA;CACpC;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB,qSAewB,CAAA"}
|