@amazon/vinyl 1.1.1 → 1.2.1
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 +286 -201
- package/dist/index.cjs.map +4 -4
- package/dist/index.js +294 -206
- package/dist/index.js.map +4 -4
- package/dist/test/benchmark.es5.js +169 -232
- package/dist/test/benchmark.js +1475 -1933
- package/dist/test/benchmark.js.map +4 -4
- package/dist/test/integ.es5.js +771 -394
- package/dist/test/integ.js +5996 -5138
- package/dist/test/integ.js.map +4 -4
- package/dist/test/jasmineHtml.es5.js +8 -8
- package/dist/test/jasmineHtml.js +8 -4
- package/dist/test/jasmineHtml.js.map +3 -3
- 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/AdBreakInfo.js +5 -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/client/Capabilities.d.ts.map +1 -1
- package/dist/types/current/client/CapabilitiesImpl.d.ts.map +1 -1
- package/dist/types/current/drm/DrmController.d.ts +2 -2
- package/dist/types/current/drm/DrmController.d.ts.map +1 -1
- package/dist/types/current/drm/DrmControllerImpl.d.ts +3 -3
- package/dist/types/current/drm/DrmControllerImpl.d.ts.map +1 -1
- package/dist/types/current/drm/DrmControllerImpl.js +18 -8
- package/dist/types/current/drm/DrmKeySystemResolver.d.ts +1 -1
- package/dist/types/current/drm/DrmKeySystemResolver.d.ts.map +1 -1
- package/dist/types/current/drm/DrmKeySystemResolver.js +1 -1
- package/dist/types/current/drm/DrmOptions.d.ts +1 -1
- package/dist/types/current/drm/DrmOptions.d.ts.map +1 -1
- package/dist/types/current/drm/DrmOptions.js +1 -1
- package/dist/types/current/drm/commonEme/CommonEme.d.ts +2 -2
- package/dist/types/current/drm/commonEme/CommonEme.d.ts.map +1 -1
- package/dist/types/current/drm/commonEme/CommonEmeFactory.d.ts +1 -1
- package/dist/types/current/drm/commonEme/CommonEmeFactory.d.ts.map +1 -1
- package/dist/types/current/drm/commonEme/MsCommonEme.d.ts +1 -1
- package/dist/types/current/drm/commonEme/MsCommonEme.d.ts.map +1 -1
- package/dist/types/current/drm/commonEme/MsCommonEme.js +1 -1
- package/dist/types/current/drm/commonEme/StandardCommonEme.d.ts +1 -1
- package/dist/types/current/drm/commonEme/StandardCommonEme.d.ts.map +1 -1
- package/dist/types/current/drm/commonEme/WebKitCommonEme.d.ts +2 -2
- package/dist/types/current/drm/commonEme/WebKitCommonEme.d.ts.map +1 -1
- package/dist/types/current/drm/commonEme/WebKitCommonEme.js +1 -1
- package/dist/types/current/drm/commonEme/createDrmErrorHandler.js +1 -1
- package/dist/types/current/drm/licenseProvider/LicenseProvider.d.ts +1 -1
- package/dist/types/current/drm/licenseProvider/LicenseProvider.d.ts.map +1 -1
- package/dist/types/current/global/environment.d.ts +6 -2
- package/dist/types/current/global/environment.d.ts.map +1 -1
- package/dist/types/current/global/environment.js +4 -3
- package/dist/types/current/global/initializeVinylGlobal.js +1 -1
- package/dist/types/current/patch/media/MediaElementPatchOptions.js +1 -1
- package/dist/types/current/patch/media/patchMediaElement.js +1 -1
- package/dist/types/current/patch/media/patches/createPreventStallsPatch.d.ts +1 -1
- package/dist/types/current/patch/media/patches/createPreventStallsPatch.d.ts.map +1 -1
- package/dist/types/current/patch/media/patches/createUnreliablePlaybackEventsPatch.d.ts +1 -1
- package/dist/types/current/patch/media/patches/createUnreliablePlaybackEventsPatch.d.ts.map +1 -1
- package/dist/types/current/playback/PlaybackControllerImpl.d.ts +2 -2
- package/dist/types/current/playback/PlaybackControllerImpl.d.ts.map +1 -1
- package/dist/types/current/playback/PlaybackControllerImpl.js +4 -4
- package/dist/types/current/playback/ReadonlyPlaybackController.d.ts.map +1 -1
- package/dist/types/current/playback/error/ReportableMediaError.js +1 -1
- package/dist/types/current/playback/logging/playbackStateLoggingHandler.d.ts +1 -1
- package/dist/types/current/playback/logging/playbackStateLoggingHandler.d.ts.map +1 -1
- package/dist/types/current/playback/logging/playbackStateLoggingHandler.js +1 -1
- package/dist/types/current/playback/nextHasMetadata.d.ts +1 -1
- package/dist/types/current/playback/nextHasMetadata.d.ts.map +1 -1
- package/dist/types/current/streaming/AudioOptions.d.ts +39 -0
- package/dist/types/current/streaming/AudioOptions.d.ts.map +1 -0
- package/dist/types/current/streaming/AudioOptions.js +15 -0
- package/dist/types/current/streaming/ContentStream.d.ts +4 -4
- package/dist/types/current/streaming/ContentStream.d.ts.map +1 -1
- package/dist/types/current/streaming/ContentStreamingOptions.d.ts +2 -2
- package/dist/types/current/streaming/ContentStreamingOptions.d.ts.map +1 -1
- 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/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 +2 -2
- package/dist/types/current/streaming/MediaQualityMetadata.d.ts.map +1 -1
- package/dist/types/current/streaming/MediaQualityMetadata.js +1 -1
- package/dist/types/current/streaming/MediaTimeline.d.ts +6 -5
- package/dist/types/current/streaming/MediaTimeline.d.ts.map +1 -1
- package/dist/types/current/streaming/SegmentController.d.ts +2 -7
- package/dist/types/current/streaming/SegmentController.d.ts.map +1 -1
- package/dist/types/current/streaming/SegmentControllerImpl.d.ts +5 -6
- package/dist/types/current/streaming/SegmentControllerImpl.d.ts.map +1 -1
- package/dist/types/current/streaming/SegmentControllerImpl.js +5 -15
- package/dist/types/current/streaming/SegmentReference.d.ts +1 -1
- package/dist/types/current/streaming/SegmentReference.d.ts.map +1 -1
- package/dist/types/current/streaming/StreamingEventMap.d.ts +1 -1
- package/dist/types/current/streaming/StreamingEventMap.d.ts.map +1 -1
- package/dist/types/current/streaming/abr/QualitySelector.d.ts +1 -1
- package/dist/types/current/streaming/abr/QualitySelector.d.ts.map +1 -1
- package/dist/types/current/streaming/abr/QualitySelectorImpl.d.ts +18 -3
- package/dist/types/current/streaming/abr/QualitySelectorImpl.d.ts.map +1 -1
- package/dist/types/current/streaming/abr/QualitySelectorImpl.js +8 -2
- package/dist/types/current/streaming/buffering/BufferingController.d.ts +3 -13
- package/dist/types/current/streaming/buffering/BufferingController.d.ts.map +1 -1
- package/dist/types/current/streaming/buffering/BufferingController.js +1 -24
- package/dist/types/current/streaming/buffering/MediaSourceController.d.ts +41 -15
- package/dist/types/current/streaming/buffering/MediaSourceController.d.ts.map +1 -1
- package/dist/types/current/streaming/buffering/MediaSourceController.js +74 -17
- package/dist/types/current/streaming/buffering/SourceBufferController.d.ts +1 -1
- package/dist/types/current/streaming/buffering/SourceBufferController.d.ts.map +1 -1
- 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 +1 -1
- package/dist/types/current/streaming/createDefaultMediaTimelineTransformer.d.ts.map +1 -1
- package/dist/types/current/streaming/createDefaultMediaTimelineTransformer.js +2 -2
- 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/mediaTimelineFilter.d.ts +3 -3
- package/dist/types/current/streaming/mediaTimelineFilter.d.ts.map +1 -1
- package/dist/types/current/streaming/mediaTimelineFilter.js +1 -1
- package/dist/types/current/streaming/mediaTimelineLanguageFilter.d.ts +1 -1
- package/dist/types/current/streaming/mediaTimelineLanguageFilter.d.ts.map +1 -1
- package/dist/types/current/streaming/util/segment.d.ts +1 -1
- package/dist/types/current/streaming/util/segment.d.ts.map +1 -1
- package/dist/types/current/text/HtmlTextTrackRenderer.d.ts +60 -0
- package/dist/types/current/text/HtmlTextTrackRenderer.d.ts.map +1 -0
- package/dist/types/current/text/HtmlTextTrackRenderer.js +231 -0
- package/dist/types/current/text/SidecarTextTrackController.d.ts +103 -0
- package/dist/types/current/text/SidecarTextTrackController.d.ts.map +1 -0
- package/dist/types/current/text/SidecarTextTrackController.js +250 -0
- package/dist/types/current/text/SidecarTextTrackLoader.d.ts +65 -0
- package/dist/types/current/text/SidecarTextTrackLoader.d.ts.map +1 -0
- package/dist/types/current/text/SidecarTextTrackLoader.js +150 -0
- package/dist/types/current/text/TextTrack.d.ts +179 -0
- package/dist/types/current/text/TextTrack.d.ts.map +1 -0
- package/dist/types/current/text/TextTrack.js +29 -0
- package/dist/types/current/text/TextTrackRenderer.d.ts +24 -0
- package/dist/types/current/text/TextTrackRenderer.d.ts.map +1 -0
- package/dist/types/current/text/TextTrackRenderer.js +5 -0
- package/dist/types/current/text/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/mediaTextTrackProvider.d.ts +34 -0
- package/dist/types/current/text/mediaTextTrackProvider.d.ts.map +1 -0
- package/dist/types/current/text/mediaTextTrackProvider.js +42 -0
- package/dist/types/current/text/parseWebVtt.d.ts +60 -0
- package/dist/types/current/text/parseWebVtt.d.ts.map +1 -0
- package/dist/types/current/text/parseWebVtt.js +248 -0
- package/dist/types/current/text/pickPreferredTextTrack.d.ts +15 -0
- package/dist/types/current/text/pickPreferredTextTrack.d.ts.map +1 -0
- package/dist/types/current/text/pickPreferredTextTrack.js +71 -0
- package/dist/types/current/track/AutoResetController.d.ts +37 -12
- package/dist/types/current/track/AutoResetController.d.ts.map +1 -1
- package/dist/types/current/track/AutoResetController.js +38 -28
- 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.map +1 -1
- package/dist/types/current/track/TrackBase.d.ts.map +1 -1
- package/dist/types/current/track/TrackController.d.ts +2 -2
- package/dist/types/current/track/TrackController.d.ts.map +1 -1
- package/dist/types/current/track/TrackFactory.d.ts +1 -1
- package/dist/types/current/track/TrackFactory.d.ts.map +1 -1
- package/dist/types/current/track/createSegmentDataProvider.d.ts.map +1 -1
- package/dist/types/current/track/createVinylTrackFactories.d.ts +5 -5
- package/dist/types/current/track/createVinylTrackFactories.d.ts.map +1 -1
- package/dist/types/current/track/createVinylTrackFactories.js +4 -4
- package/dist/types/current/track/dash/DashManifestController.d.ts +1 -1
- package/dist/types/current/track/dash/DashManifestController.d.ts.map +1 -1
- package/dist/types/current/track/dash/DashMediaQualityMetadataResolver.d.ts.map +1 -1
- package/dist/types/current/track/dash/DashMediaQualityMetadataResolver.js +1 -1
- package/dist/types/current/track/dash/DashTrack.d.ts +4 -4
- package/dist/types/current/track/dash/DashTrack.d.ts.map +1 -1
- package/dist/types/current/track/dash/DashTrack.js +2 -2
- package/dist/types/current/track/dash/buildDashMediaTimeline.d.ts +2 -2
- package/dist/types/current/track/dash/buildDashMediaTimeline.d.ts.map +1 -1
- package/dist/types/current/track/dash/buildDashMediaTimeline.js +2 -2
- package/dist/types/current/track/dash/createDashContentStreamFactories.d.ts.map +1 -1
- package/dist/types/current/track/dash/createDashContentTypesValue.d.ts +2 -2
- package/dist/types/current/track/dash/createDashContentTypesValue.d.ts.map +1 -1
- package/dist/types/current/track/dash/createDashContentTypesValue.js +1 -1
- package/dist/types/current/track/dash/createDashFactories.d.ts +12 -12
- package/dist/types/current/track/dash/createDashFactories.d.ts.map +1 -1
- package/dist/types/current/track/dash/createDashFactories.js +8 -8
- package/dist/types/current/track/dash/createDashManifestProvider.d.ts +1 -1
- package/dist/types/current/track/dash/createDashManifestProvider.d.ts.map +1 -1
- package/dist/types/current/track/dash/createDashManifestProvider.js +1 -1
- package/dist/types/current/track/dash/createDefaultDashManifestTransformer.d.ts +1 -1
- package/dist/types/current/track/dash/createDefaultDashManifestTransformer.d.ts.map +1 -1
- package/dist/types/current/track/dash/createDefaultDashManifestTransformer.js +1 -1
- package/dist/types/current/track/dash/createSegmentControllerFactory.d.ts.map +1 -1
- package/dist/types/current/track/dash/manifestTransformUtils.d.ts +1 -1
- package/dist/types/current/track/dash/manifestTransformUtils.d.ts.map +1 -1
- package/dist/types/current/track/dash/timeline/DashRepresentationSegmentProvider.d.ts +3 -3
- package/dist/types/current/track/dash/timeline/DashRepresentationSegmentProvider.d.ts.map +1 -1
- package/dist/types/current/track/dash/timeline/DashRepresentationSegmentProvider.js +3 -3
- package/dist/types/current/track/dash/urlDashManifestProvider.d.ts +1 -1
- package/dist/types/current/track/dash/urlDashManifestProvider.d.ts.map +1 -1
- package/dist/types/current/track/dash/util/mimeType.d.ts.map +1 -1
- package/dist/types/current/track/dash/util/mimeType.js +1 -1
- package/dist/types/current/track/dash/util/mpd.d.ts +3 -2
- package/dist/types/current/track/dash/util/mpd.d.ts.map +1 -1
- package/dist/types/current/track/dash/util/mpd.js +13 -3
- package/dist/types/current/track/dash/util/uriResolution.js +1 -1
- package/dist/types/current/track/filters/keySystemFilter.d.ts.map +1 -1
- package/dist/types/current/track/filters/resourceTypeFilter.d.ts.map +1 -1
- package/dist/types/current/track/filters/sampleRateFilter.d.ts.map +1 -1
- package/dist/types/current/track/hls/HlsManifestData.d.ts +19 -0
- 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/HlsTrack.d.ts.map +1 -1
- package/dist/types/current/track/hls/buildHlsMediaTimeline.d.ts +3 -3
- package/dist/types/current/track/hls/buildHlsMediaTimeline.d.ts.map +1 -1
- package/dist/types/current/track/hls/buildHlsMediaTimeline.js +16 -14
- 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/createHlsContentStreamFactories.d.ts.map +1 -1
- 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/util/hlsSegmentTime.d.ts +1 -1
- package/dist/types/current/track/hls/util/hlsSegmentTime.d.ts.map +1 -1
- package/dist/types/current/track/hls/util/hlsSegmentTime.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 +2 -2
- package/dist/types/current/track/mse/MseTrack.d.ts.map +1 -1
- package/dist/types/current/track/mse/MseTrack.js +2 -1
- package/dist/types/current/track/mse/codec.d.ts.map +1 -1
- package/dist/types/current/track/source/FixedPlaybackQuality.d.ts +1 -1
- package/dist/types/current/track/source/FixedPlaybackQuality.d.ts.map +1 -1
- package/dist/types/current/track/source/SourceObjectTrack.d.ts +4 -4
- package/dist/types/current/track/source/SourceObjectTrack.d.ts.map +1 -1
- package/dist/types/current/track/source/SourceObjectTrack.js +2 -2
- package/dist/types/current/track/source/SourceTrack.d.ts +4 -4
- package/dist/types/current/track/source/SourceTrack.d.ts.map +1 -1
- package/dist/types/current/track/source/SourceTrack.js +2 -2
- package/dist/types/current/track/source/SourceTrackBase.d.ts +2 -2
- package/dist/types/current/track/source/SourceTrackBase.d.ts.map +1 -1
- package/dist/types/current/track/source/SourceTrackBase.js +2 -2
- 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/mimeType.d.ts +8 -0
- package/dist/types/current/util/media/mimeType.d.ts.map +1 -0
- package/dist/types/current/util/media/mimeType.js +13 -0
- package/dist/types/current/vinyl/ReadonlyPlaybackStreamingState.d.ts.map +1 -1
- package/dist/types/current/vinyl/VinylDeps.d.ts +1 -1
- package/dist/types/current/vinyl/VinylDeps.d.ts.map +1 -1
- package/dist/types/current/vinyl/VinylOptions.d.ts.map +1 -1
- package/dist/types/current/vinyl/VinylPatchOptions.d.ts.map +1 -1
- package/dist/types/current/vinyl/VinylPlayer.d.ts +26 -2
- package/dist/types/current/vinyl/VinylPlayer.d.ts.map +1 -1
- package/dist/types/current/vinyl/VinylPlayer.js +18 -3
- package/dist/types/current/vinyl/createVinylFactories.d.ts +9 -11
- package/dist/types/current/vinyl/createVinylFactories.d.ts.map +1 -1
- package/dist/types/current/vinyl/createVinylFactories.js +2 -2
- 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 +2 -2
- package/dist/types/ts3.7/drm/DrmControllerImpl.d.ts +3 -3
- package/dist/types/ts3.7/drm/DrmKeySystemResolver.d.ts +1 -1
- package/dist/types/ts3.7/drm/DrmOptions.d.ts +1 -1
- package/dist/types/ts3.7/drm/commonEme/CommonEme.d.ts +2 -2
- package/dist/types/ts3.7/drm/commonEme/CommonEmeFactory.d.ts +1 -1
- package/dist/types/ts3.7/drm/commonEme/MsCommonEme.d.ts +1 -1
- package/dist/types/ts3.7/drm/commonEme/StandardCommonEme.d.ts +1 -1
- package/dist/types/ts3.7/drm/commonEme/WebKitCommonEme.d.ts +2 -2
- package/dist/types/ts3.7/drm/licenseProvider/LicenseProvider.d.ts +1 -1
- package/dist/types/ts3.7/global/environment.d.ts +6 -2
- package/dist/types/ts3.7/patch/media/patches/createPreventStallsPatch.d.ts +1 -1
- package/dist/types/ts3.7/patch/media/patches/createUnreliablePlaybackEventsPatch.d.ts +1 -1
- package/dist/types/ts3.7/playback/PlaybackControllerImpl.d.ts +2 -2
- package/dist/types/ts3.7/playback/logging/playbackStateLoggingHandler.d.ts +1 -1
- package/dist/types/ts3.7/playback/nextHasMetadata.d.ts +1 -1
- package/dist/types/ts3.7/streaming/AudioOptions.d.ts +39 -0
- package/dist/types/ts3.7/streaming/ContentStream.d.ts +4 -4
- package/dist/types/ts3.7/streaming/ContentStreamingOptions.d.ts +2 -2
- package/dist/types/ts3.7/streaming/LoadMetric.d.ts +58 -0
- package/dist/types/ts3.7/streaming/ManifestControllerImpl.d.ts +40 -0
- package/dist/types/ts3.7/streaming/MediaQualityMetadata.d.ts +2 -2
- package/dist/types/ts3.7/streaming/MediaTimeline.d.ts +6 -5
- package/dist/types/ts3.7/streaming/SegmentController.d.ts +2 -7
- package/dist/types/ts3.7/streaming/SegmentControllerImpl.d.ts +5 -6
- package/dist/types/ts3.7/streaming/SegmentReference.d.ts +1 -1
- package/dist/types/ts3.7/streaming/StreamingEventMap.d.ts +1 -1
- package/dist/types/ts3.7/streaming/abr/QualitySelector.d.ts +1 -1
- package/dist/types/ts3.7/streaming/abr/QualitySelectorImpl.d.ts +18 -3
- package/dist/types/ts3.7/streaming/buffering/BufferingController.d.ts +3 -13
- package/dist/types/ts3.7/streaming/buffering/MediaSourceController.d.ts +41 -15
- package/dist/types/ts3.7/streaming/buffering/SourceBufferController.d.ts +1 -1
- 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 +1 -1
- package/dist/types/ts3.7/streaming/mediaTimelineAccessibilityFilter.d.ts +35 -0
- package/dist/types/ts3.7/streaming/mediaTimelineFilter.d.ts +3 -3
- package/dist/types/ts3.7/streaming/mediaTimelineLanguageFilter.d.ts +1 -1
- package/dist/types/ts3.7/streaming/util/segment.d.ts +1 -1
- package/dist/types/ts3.7/text/HtmlTextTrackRenderer.d.ts +60 -0
- package/dist/types/ts3.7/text/SidecarTextTrackController.d.ts +103 -0
- package/dist/types/ts3.7/text/SidecarTextTrackLoader.d.ts +65 -0
- package/dist/types/ts3.7/text/TextTrack.d.ts +183 -0
- package/dist/types/ts3.7/text/TextTrackRenderer.d.ts +24 -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/mediaTextTrackProvider.d.ts +34 -0
- package/dist/types/ts3.7/text/parseWebVtt.d.ts +60 -0
- package/dist/types/ts3.7/text/pickPreferredTextTrack.d.ts +15 -0
- package/dist/types/ts3.7/track/AutoResetController.d.ts +37 -12
- package/dist/types/ts3.7/track/SeekRange.d.ts +9 -0
- package/dist/types/ts3.7/track/TrackController.d.ts +2 -2
- package/dist/types/ts3.7/track/TrackFactory.d.ts +1 -1
- package/dist/types/ts3.7/track/createVinylTrackFactories.d.ts +5 -5
- package/dist/types/ts3.7/track/dash/DashManifestController.d.ts +1 -1
- package/dist/types/ts3.7/track/dash/DashTrack.d.ts +4 -4
- package/dist/types/ts3.7/track/dash/buildDashMediaTimeline.d.ts +2 -2
- package/dist/types/ts3.7/track/dash/createDashContentTypesValue.d.ts +2 -2
- package/dist/types/ts3.7/track/dash/createDashFactories.d.ts +12 -12
- package/dist/types/ts3.7/track/dash/createDashManifestProvider.d.ts +1 -1
- package/dist/types/ts3.7/track/dash/createDefaultDashManifestTransformer.d.ts +1 -1
- package/dist/types/ts3.7/track/dash/manifestTransformUtils.d.ts +1 -1
- package/dist/types/ts3.7/track/dash/timeline/DashRepresentationSegmentProvider.d.ts +3 -3
- package/dist/types/ts3.7/track/dash/urlDashManifestProvider.d.ts +1 -1
- package/dist/types/ts3.7/track/dash/util/mpd.d.ts +3 -2
- package/dist/types/ts3.7/track/hls/HlsManifestData.d.ts +19 -0
- package/dist/types/ts3.7/track/hls/buildHlsMediaTimeline.d.ts +3 -3
- package/dist/types/ts3.7/track/hls/createDefaultHlsManifestTransformer.d.ts +1 -1
- package/dist/types/ts3.7/track/hls/createHlsManifestProvider.d.ts +6 -0
- package/dist/types/ts3.7/track/hls/util/hlsSegmentTime.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 +2 -2
- package/dist/types/ts3.7/track/source/FixedPlaybackQuality.d.ts +1 -1
- package/dist/types/ts3.7/track/source/SourceObjectTrack.d.ts +4 -4
- package/dist/types/ts3.7/track/source/SourceTrack.d.ts +4 -4
- package/dist/types/ts3.7/track/source/SourceTrackBase.d.ts +2 -2
- 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/mimeType.d.ts +8 -0
- package/dist/types/ts3.7/vinyl/VinylDeps.d.ts +1 -1
- package/dist/types/ts3.7/vinyl/VinylPlayer.d.ts +18 -2
- package/dist/types/ts3.7/vinyl/createVinylFactories.d.ts +9 -11
- 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 +2 -2
- package/dist/types/ts4.1/drm/DrmControllerImpl.d.ts +3 -3
- package/dist/types/ts4.1/drm/DrmKeySystemResolver.d.ts +1 -1
- package/dist/types/ts4.1/drm/DrmOptions.d.ts +1 -1
- package/dist/types/ts4.1/drm/commonEme/CommonEme.d.ts +2 -2
- package/dist/types/ts4.1/drm/commonEme/CommonEmeFactory.d.ts +1 -1
- package/dist/types/ts4.1/drm/commonEme/MsCommonEme.d.ts +1 -1
- package/dist/types/ts4.1/drm/commonEme/StandardCommonEme.d.ts +1 -1
- package/dist/types/ts4.1/drm/commonEme/WebKitCommonEme.d.ts +2 -2
- package/dist/types/ts4.1/drm/licenseProvider/LicenseProvider.d.ts +1 -1
- package/dist/types/ts4.1/global/environment.d.ts +6 -2
- package/dist/types/ts4.1/patch/media/patches/createPreventStallsPatch.d.ts +1 -1
- package/dist/types/ts4.1/patch/media/patches/createUnreliablePlaybackEventsPatch.d.ts +1 -1
- package/dist/types/ts4.1/playback/PlaybackControllerImpl.d.ts +2 -2
- package/dist/types/ts4.1/playback/logging/playbackStateLoggingHandler.d.ts +1 -1
- package/dist/types/ts4.1/playback/nextHasMetadata.d.ts +1 -1
- package/dist/types/ts4.1/streaming/AudioOptions.d.ts +39 -0
- package/dist/types/ts4.1/streaming/ContentStream.d.ts +4 -4
- package/dist/types/ts4.1/streaming/ContentStreamingOptions.d.ts +2 -2
- package/dist/types/ts4.1/streaming/LoadMetric.d.ts +58 -0
- package/dist/types/ts4.1/streaming/ManifestControllerImpl.d.ts +40 -0
- package/dist/types/ts4.1/streaming/MediaQualityMetadata.d.ts +2 -2
- package/dist/types/ts4.1/streaming/MediaTimeline.d.ts +6 -5
- package/dist/types/ts4.1/streaming/SegmentController.d.ts +2 -7
- package/dist/types/ts4.1/streaming/SegmentControllerImpl.d.ts +5 -6
- package/dist/types/ts4.1/streaming/SegmentReference.d.ts +1 -1
- package/dist/types/ts4.1/streaming/StreamingEventMap.d.ts +1 -1
- package/dist/types/ts4.1/streaming/abr/QualitySelector.d.ts +1 -1
- package/dist/types/ts4.1/streaming/abr/QualitySelectorImpl.d.ts +18 -3
- package/dist/types/ts4.1/streaming/buffering/BufferingController.d.ts +3 -13
- package/dist/types/ts4.1/streaming/buffering/MediaSourceController.d.ts +41 -15
- package/dist/types/ts4.1/streaming/buffering/SourceBufferController.d.ts +1 -1
- 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 +1 -1
- package/dist/types/ts4.1/streaming/mediaTimelineAccessibilityFilter.d.ts +35 -0
- package/dist/types/ts4.1/streaming/mediaTimelineFilter.d.ts +3 -3
- package/dist/types/ts4.1/streaming/mediaTimelineLanguageFilter.d.ts +1 -1
- package/dist/types/ts4.1/streaming/util/segment.d.ts +1 -1
- package/dist/types/ts4.1/text/HtmlTextTrackRenderer.d.ts +60 -0
- package/dist/types/ts4.1/text/SidecarTextTrackController.d.ts +104 -0
- package/dist/types/ts4.1/text/SidecarTextTrackLoader.d.ts +65 -0
- package/dist/types/ts4.1/text/TextTrack.d.ts +183 -0
- package/dist/types/ts4.1/text/TextTrackRenderer.d.ts +24 -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/mediaTextTrackProvider.d.ts +34 -0
- package/dist/types/ts4.1/text/parseWebVtt.d.ts +60 -0
- package/dist/types/ts4.1/text/pickPreferredTextTrack.d.ts +15 -0
- package/dist/types/ts4.1/track/AutoResetController.d.ts +37 -12
- package/dist/types/ts4.1/track/SeekRange.d.ts +9 -0
- package/dist/types/ts4.1/track/TrackController.d.ts +2 -2
- package/dist/types/ts4.1/track/TrackFactory.d.ts +1 -1
- package/dist/types/ts4.1/track/createVinylTrackFactories.d.ts +5 -5
- package/dist/types/ts4.1/track/dash/DashManifestController.d.ts +1 -1
- package/dist/types/ts4.1/track/dash/DashTrack.d.ts +4 -4
- package/dist/types/ts4.1/track/dash/buildDashMediaTimeline.d.ts +2 -2
- package/dist/types/ts4.1/track/dash/createDashContentTypesValue.d.ts +2 -2
- package/dist/types/ts4.1/track/dash/createDashFactories.d.ts +12 -12
- package/dist/types/ts4.1/track/dash/createDashManifestProvider.d.ts +1 -1
- package/dist/types/ts4.1/track/dash/createDefaultDashManifestTransformer.d.ts +1 -1
- package/dist/types/ts4.1/track/dash/manifestTransformUtils.d.ts +1 -1
- package/dist/types/ts4.1/track/dash/timeline/DashRepresentationSegmentProvider.d.ts +3 -3
- package/dist/types/ts4.1/track/dash/urlDashManifestProvider.d.ts +1 -1
- package/dist/types/ts4.1/track/dash/util/mpd.d.ts +3 -2
- package/dist/types/ts4.1/track/hls/HlsManifestData.d.ts +19 -0
- package/dist/types/ts4.1/track/hls/buildHlsMediaTimeline.d.ts +3 -3
- package/dist/types/ts4.1/track/hls/createDefaultHlsManifestTransformer.d.ts +1 -1
- package/dist/types/ts4.1/track/hls/createHlsManifestProvider.d.ts +6 -0
- package/dist/types/ts4.1/track/hls/util/hlsSegmentTime.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 +3 -3
- package/dist/types/ts4.1/track/source/FixedPlaybackQuality.d.ts +1 -1
- package/dist/types/ts4.1/track/source/SourceObjectTrack.d.ts +5 -5
- package/dist/types/ts4.1/track/source/SourceTrack.d.ts +5 -5
- package/dist/types/ts4.1/track/source/SourceTrackBase.d.ts +3 -3
- 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/mimeType.d.ts +8 -0
- package/dist/types/ts4.1/vinyl/VinylDeps.d.ts +1 -1
- package/dist/types/ts4.1/vinyl/VinylPlayer.d.ts +18 -2
- package/dist/types/ts4.1/vinyl/createVinylFactories.d.ts +9 -11
- 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 +2 -2
- package/dist/types/ts4.7/drm/DrmControllerImpl.d.ts +3 -3
- package/dist/types/ts4.7/drm/DrmKeySystemResolver.d.ts +1 -1
- package/dist/types/ts4.7/drm/DrmOptions.d.ts +1 -1
- package/dist/types/ts4.7/drm/commonEme/CommonEme.d.ts +2 -2
- package/dist/types/ts4.7/drm/commonEme/CommonEmeFactory.d.ts +1 -1
- package/dist/types/ts4.7/drm/commonEme/MsCommonEme.d.ts +1 -1
- package/dist/types/ts4.7/drm/commonEme/StandardCommonEme.d.ts +1 -1
- package/dist/types/ts4.7/drm/commonEme/WebKitCommonEme.d.ts +2 -2
- package/dist/types/ts4.7/drm/licenseProvider/LicenseProvider.d.ts +1 -1
- package/dist/types/ts4.7/global/environment.d.ts +6 -2
- package/dist/types/ts4.7/patch/media/patches/createPreventStallsPatch.d.ts +1 -1
- package/dist/types/ts4.7/patch/media/patches/createUnreliablePlaybackEventsPatch.d.ts +1 -1
- package/dist/types/ts4.7/playback/PlaybackControllerImpl.d.ts +2 -2
- package/dist/types/ts4.7/playback/logging/playbackStateLoggingHandler.d.ts +1 -1
- package/dist/types/ts4.7/playback/nextHasMetadata.d.ts +1 -1
- package/dist/types/ts4.7/streaming/AudioOptions.d.ts +39 -0
- package/dist/types/ts4.7/streaming/ContentStream.d.ts +4 -4
- package/dist/types/ts4.7/streaming/ContentStreamingOptions.d.ts +2 -2
- package/dist/types/ts4.7/streaming/LoadMetric.d.ts +58 -0
- package/dist/types/ts4.7/streaming/ManifestControllerImpl.d.ts +43 -0
- package/dist/types/ts4.7/streaming/MediaQualityMetadata.d.ts +2 -2
- package/dist/types/ts4.7/streaming/MediaTimeline.d.ts +6 -5
- package/dist/types/ts4.7/streaming/SegmentController.d.ts +2 -7
- package/dist/types/ts4.7/streaming/SegmentControllerImpl.d.ts +5 -6
- package/dist/types/ts4.7/streaming/SegmentReference.d.ts +1 -1
- package/dist/types/ts4.7/streaming/StreamingEventMap.d.ts +1 -1
- package/dist/types/ts4.7/streaming/abr/QualitySelector.d.ts +1 -1
- package/dist/types/ts4.7/streaming/abr/QualitySelectorImpl.d.ts +18 -3
- package/dist/types/ts4.7/streaming/buffering/BufferingController.d.ts +3 -13
- package/dist/types/ts4.7/streaming/buffering/MediaSourceController.d.ts +41 -15
- package/dist/types/ts4.7/streaming/buffering/SourceBufferController.d.ts +1 -1
- 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 +1 -1
- package/dist/types/ts4.7/streaming/mediaTimelineAccessibilityFilter.d.ts +35 -0
- package/dist/types/ts4.7/streaming/mediaTimelineFilter.d.ts +3 -3
- package/dist/types/ts4.7/streaming/mediaTimelineLanguageFilter.d.ts +1 -1
- package/dist/types/ts4.7/streaming/util/segment.d.ts +1 -1
- package/dist/types/ts4.7/text/HtmlTextTrackRenderer.d.ts +60 -0
- package/dist/types/ts4.7/text/SidecarTextTrackController.d.ts +103 -0
- package/dist/types/ts4.7/text/SidecarTextTrackLoader.d.ts +65 -0
- package/dist/types/ts4.7/text/TextTrack.d.ts +183 -0
- package/dist/types/ts4.7/text/TextTrackRenderer.d.ts +24 -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/mediaTextTrackProvider.d.ts +34 -0
- package/dist/types/ts4.7/text/parseWebVtt.d.ts +60 -0
- package/dist/types/ts4.7/text/pickPreferredTextTrack.d.ts +15 -0
- package/dist/types/ts4.7/track/AutoResetController.d.ts +37 -12
- package/dist/types/ts4.7/track/SeekRange.d.ts +9 -0
- package/dist/types/ts4.7/track/TrackController.d.ts +2 -2
- package/dist/types/ts4.7/track/TrackFactory.d.ts +1 -1
- package/dist/types/ts4.7/track/createVinylTrackFactories.d.ts +5 -5
- package/dist/types/ts4.7/track/dash/DashManifestController.d.ts +1 -1
- package/dist/types/ts4.7/track/dash/DashTrack.d.ts +4 -4
- package/dist/types/ts4.7/track/dash/buildDashMediaTimeline.d.ts +2 -2
- package/dist/types/ts4.7/track/dash/createDashContentTypesValue.d.ts +2 -2
- package/dist/types/ts4.7/track/dash/createDashFactories.d.ts +12 -12
- package/dist/types/ts4.7/track/dash/createDashManifestProvider.d.ts +1 -1
- package/dist/types/ts4.7/track/dash/createDefaultDashManifestTransformer.d.ts +1 -1
- package/dist/types/ts4.7/track/dash/manifestTransformUtils.d.ts +1 -1
- package/dist/types/ts4.7/track/dash/timeline/DashRepresentationSegmentProvider.d.ts +3 -3
- package/dist/types/ts4.7/track/dash/urlDashManifestProvider.d.ts +1 -1
- package/dist/types/ts4.7/track/dash/util/mpd.d.ts +3 -2
- package/dist/types/ts4.7/track/hls/HlsManifestData.d.ts +19 -0
- package/dist/types/ts4.7/track/hls/buildHlsMediaTimeline.d.ts +3 -3
- package/dist/types/ts4.7/track/hls/createDefaultHlsManifestTransformer.d.ts +1 -1
- package/dist/types/ts4.7/track/hls/createHlsManifestProvider.d.ts +6 -0
- package/dist/types/ts4.7/track/hls/util/hlsSegmentTime.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 +2 -2
- package/dist/types/ts4.7/track/source/FixedPlaybackQuality.d.ts +1 -1
- package/dist/types/ts4.7/track/source/SourceObjectTrack.d.ts +4 -4
- package/dist/types/ts4.7/track/source/SourceTrack.d.ts +4 -4
- package/dist/types/ts4.7/track/source/SourceTrackBase.d.ts +2 -2
- 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/mimeType.d.ts +8 -0
- package/dist/types/ts4.7/vinyl/VinylDeps.d.ts +1 -1
- package/dist/types/ts4.7/vinyl/VinylPlayer.d.ts +26 -2
- package/dist/types/ts4.7/vinyl/createVinylFactories.d.ts +9 -11
- 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 +66 -1
- 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 +6 -1
- package/dist/unit/types/current/streaming/MseTrack.test.js +4 -0
- package/dist/unit/types/current/streaming/SegmentControllerImpl.test.js +3 -33
- package/dist/unit/types/current/streaming/abr/QualitySelectorImpl.test.js +73 -0
- package/dist/unit/types/current/streaming/buffering/BufferingController.test.js +1 -41
- package/dist/unit/types/current/streaming/buffering/MediaSourceController.test.js +97 -17
- 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 +6 -0
- 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 +2 -0
- package/dist/unit/types/current/streaming/mediaTimelineLanguageFilter.test.js +7 -0
- package/dist/unit/types/current/text/HtmlTextTrackRenderer.test.d.ts +2 -0
- package/dist/unit/types/current/text/HtmlTextTrackRenderer.test.d.ts.map +1 -0
- package/dist/unit/types/current/text/HtmlTextTrackRenderer.test.js +231 -0
- package/dist/unit/types/current/text/SidecarTextTrackController.test.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 +686 -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 +365 -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/mediaTextTrackProvider.test.d.ts +2 -0
- package/dist/unit/types/current/text/mediaTextTrackProvider.test.d.ts.map +1 -0
- package/dist/unit/types/current/text/mediaTextTrackProvider.test.js +86 -0
- package/dist/unit/types/current/text/parseWebVtt.test.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 +393 -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 +78 -0
- package/dist/unit/types/current/track/AutoResetController.test.js +134 -22
- package/dist/unit/types/current/track/dash/createDashContentStreamFactories.test.js +5 -1
- package/dist/unit/types/current/track/dash/createSegmentControllerFactory.test.js +5 -1
- package/dist/unit/types/current/track/dash/util/mpd.test.js +29 -0
- package/dist/unit/types/current/track/hls/buildHlsMediaTimeline.test.js +16 -8
- package/dist/unit/types/current/track/hls/createHlsContentStreamFactories.test.js +5 -1
- 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/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/mimeType.test.d.ts +2 -0
- package/dist/unit/types/current/util/media/mimeType.test.d.ts.map +1 -0
- package/dist/unit/types/current/util/media/mimeType.test.js +22 -0
- package/dist/unit/types/current/vinyl/VinylPlayer.test.js +35 -0
- 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 +188 -0
- package/dist/vinylTestUtil/index.js +20 -14
- package/dist/vinylTestUtil/index.js.map +2 -2
- package/dist/vinylTestUtil/types/current/media/FrequencyAnalyzer.js +1 -1
- package/dist/vinylTestUtil/types/current/mediaSource/ControlledMediaSource.d.ts.map +1 -1
- 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/mockDashManifest.d.ts +72 -72
- package/dist/vinylTestUtil/types/current/mock/dom/ms/MockMSMediaKeySession.d.ts +2 -2
- package/dist/vinylTestUtil/types/current/mock/dom/webkit/MockWebKitMediaKeySession.d.ts +2 -2
- package/dist/vinylTestUtil/types/current/mock/player/MockVinylPlayerDependencies.d.ts +6 -6
- package/dist/vinylTestUtil/types/current/mock/player/MockVinylPlayerDependencies.d.ts.map +1 -1
- package/dist/vinylTestUtil/types/current/mock/player/MockVinylPlayerDependencies.js +7 -7
- package/dist/vinylTestUtil/types/current/mock/streaming/MockSegmentController.d.ts +0 -1
- package/dist/vinylTestUtil/types/current/mock/streaming/MockSegmentController.d.ts.map +1 -1
- package/dist/vinylTestUtil/types/current/mock/streaming/MockSegmentController.js +0 -1
- package/dist/vinylTestUtil/types/current/mock/streaming/buffering/MockMediaSourceController.d.ts +0 -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 +0 -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/MockAutoResetController.d.ts +1 -0
- package/dist/vinylTestUtil/types/current/mock/track/MockAutoResetController.d.ts.map +1 -1
- package/dist/vinylTestUtil/types/current/mock/track/MockAutoResetController.js +1 -0
- package/dist/vinylTestUtil/types/current/mock/track/dash/createMockDashDependencies.d.ts +5 -5
- package/dist/vinylTestUtil/types/current/mock/track/dash/createMockDashDependencies.d.ts.map +1 -1
- package/dist/vinylTestUtil/types/current/mock/track/dash/createMockDashDependencies.js +11 -7
- package/dist/vinylTestUtil/types/current/mock/track/hls/createMockHlsDependencies.d.ts +5 -5
- package/dist/vinylTestUtil/types/current/mock/track/hls/createMockHlsDependencies.d.ts.map +1 -1
- package/dist/vinylTestUtil/types/current/mock/track/hls/createMockHlsDependencies.js +11 -7
- package/dist/vinylTestUtil/types/current/player/createVinylSuite.js +1 -1
- package/dist/vinylTestUtil/types/current/tsconfig.tsbuildinfo +1 -1
- package/dist/vinylTestUtil/types/current/util/playback/expectTrackCanSeek.js +1 -1
- package/dist/vinylTestUtil/types/current/util/playback/expectTrackPlays.js +2 -2
- package/dist/vinylTestUtil/types/current/util/playback/expectTrackPlaysUntil.d.ts.map +1 -1
- package/dist/vinylTestUtil/types/current/util/playback/expectTrackPlaysUntil.js +1 -2
- package/dist/vinylTestUtil/types/ts3.7/mock/ad/MockAdController.d.ts +15 -0
- package/dist/vinylTestUtil/types/ts3.7/mock/dash/mockDashManifest.d.ts +72 -72
- package/dist/vinylTestUtil/types/ts3.7/mock/dom/ms/MockMSMediaKeySession.d.ts +2 -2
- package/dist/vinylTestUtil/types/ts3.7/mock/dom/webkit/MockWebKitMediaKeySession.d.ts +2 -2
- package/dist/vinylTestUtil/types/ts3.7/mock/player/MockVinylPlayerDependencies.d.ts +6 -6
- package/dist/vinylTestUtil/types/ts3.7/mock/streaming/MockSegmentController.d.ts +0 -1
- package/dist/vinylTestUtil/types/ts3.7/mock/streaming/buffering/MockMediaSourceController.d.ts +0 -1
- package/dist/vinylTestUtil/types/ts3.7/mock/text/MockTextTrackController.d.ts +10 -0
- package/dist/vinylTestUtil/types/ts3.7/mock/track/MockAutoResetController.d.ts +1 -0
- package/dist/vinylTestUtil/types/ts3.7/mock/track/dash/createMockDashDependencies.d.ts +5 -5
- package/dist/vinylTestUtil/types/ts3.7/mock/track/hls/createMockHlsDependencies.d.ts +5 -5
- package/dist/vinylTestUtil/types/ts4.1/mock/ad/MockAdController.d.ts +15 -0
- package/dist/vinylTestUtil/types/ts4.1/mock/dash/mockDashManifest.d.ts +72 -72
- package/dist/vinylTestUtil/types/ts4.1/mock/dom/ms/MockMSMediaKeySession.d.ts +2 -2
- package/dist/vinylTestUtil/types/ts4.1/mock/dom/webkit/MockWebKitMediaKeySession.d.ts +2 -2
- package/dist/vinylTestUtil/types/ts4.1/mock/player/MockVinylPlayerDependencies.d.ts +6 -6
- package/dist/vinylTestUtil/types/ts4.1/mock/streaming/MockSegmentController.d.ts +0 -1
- package/dist/vinylTestUtil/types/ts4.1/mock/streaming/buffering/MockMediaSourceController.d.ts +0 -1
- package/dist/vinylTestUtil/types/ts4.1/mock/text/MockTextTrackController.d.ts +10 -0
- package/dist/vinylTestUtil/types/ts4.1/mock/track/MockAutoResetController.d.ts +1 -0
- package/dist/vinylTestUtil/types/ts4.1/mock/track/dash/createMockDashDependencies.d.ts +5 -5
- package/dist/vinylTestUtil/types/ts4.1/mock/track/hls/createMockHlsDependencies.d.ts +5 -5
- package/dist/vinylTestUtil/types/ts4.7/mock/ad/MockAdController.d.ts +15 -0
- package/dist/vinylTestUtil/types/ts4.7/mock/dash/mockDashManifest.d.ts +72 -72
- package/dist/vinylTestUtil/types/ts4.7/mock/dom/ms/MockMSMediaKeySession.d.ts +2 -2
- package/dist/vinylTestUtil/types/ts4.7/mock/dom/webkit/MockWebKitMediaKeySession.d.ts +2 -2
- package/dist/vinylTestUtil/types/ts4.7/mock/player/MockVinylPlayerDependencies.d.ts +6 -6
- package/dist/vinylTestUtil/types/ts4.7/mock/streaming/MockSegmentController.d.ts +0 -1
- package/dist/vinylTestUtil/types/ts4.7/mock/streaming/buffering/MockMediaSourceController.d.ts +0 -1
- package/dist/vinylTestUtil/types/ts4.7/mock/text/MockTextTrackController.d.ts +10 -0
- package/dist/vinylTestUtil/types/ts4.7/mock/track/MockAutoResetController.d.ts +1 -0
- package/dist/vinylTestUtil/types/ts4.7/mock/track/dash/createMockDashDependencies.d.ts +5 -5
- package/dist/vinylTestUtil/types/ts4.7/mock/track/hls/createMockHlsDependencies.d.ts +5 -5
- package/docs/USAGE.md +33 -0
- package/package.json +13 -16
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { createEmptyMediaQualityMetadata, DrmControllerImpl, DrmError, DrmKeySystem, DrmRobustness, LICENSE_TIMEOUT, ReportableMediaError, } from '@amazon/vinyl';
|
|
6
6
|
import { createEventSpy, useMockLogger } from '@amazon/vinyl-util/testUtil';
|
|
7
|
-
import { Abort, base64ToByteArray, bufferToBase64, Deferred, ErrorLevel, ErrorOrigin, never, nextEventAsPromise, ReportableError, utf16ToUint16Array, } from '@amazon/vinyl-util';
|
|
7
|
+
import { Abort, base64ToByteArray, bufferToBase64, Deferred, ErrorLevel, ErrorOrigin, never, nextEventAsPromise, ReportableError, setUserAgent, utf16ToUint16Array, } from '@amazon/vinyl-util';
|
|
8
8
|
import { flushPromises, implementEventFakes, MockHTMLAudioElement, MockMediaError, useMockTime, } from '@amazon/vinyl-util/browserTestUtil';
|
|
9
9
|
import { MockCommonEme, MockCommonMediaKeys, MockCommonMediaKeySession, MockCommonMediaKeySystemAccess, } from '@amazon/vinyl/vinylTestUtil';
|
|
10
10
|
var createSpy = jasmine.createSpy;
|
|
@@ -1275,6 +1275,71 @@ describe('DrmControllerImpl', () => {
|
|
|
1275
1275
|
]);
|
|
1276
1276
|
});
|
|
1277
1277
|
});
|
|
1278
|
+
describe('ChromeOS verified media path', () => {
|
|
1279
|
+
// ChromeOS only enables the verified media path (VMP) when a video
|
|
1280
|
+
// capability is present, so audio-only content must advertise a dummy
|
|
1281
|
+
// avc1 video capability alongside its audio capability.
|
|
1282
|
+
const chromeOsUserAgent = 'Mozilla/5.0 (X11; CrOS x86_64 14541.0.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36';
|
|
1283
|
+
const chromeUserAgent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36';
|
|
1284
|
+
it('adds avc1 video capabilities for audio content on ChromeOS', async () => {
|
|
1285
|
+
setUserAgent(chromeOsUserAgent);
|
|
1286
|
+
drmController.setBufferingDrmInfo({
|
|
1287
|
+
...drmInfo,
|
|
1288
|
+
contentType: 'audio',
|
|
1289
|
+
mimeType: 'audio/mp4',
|
|
1290
|
+
});
|
|
1291
|
+
await emitEncrypted();
|
|
1292
|
+
expect(commonEme.requestMediaKeySystemAccess).toHaveBeenCalledOnceWith(DrmKeySystem.WIDEVINE, [
|
|
1293
|
+
{
|
|
1294
|
+
initDataTypes: ['cenc'],
|
|
1295
|
+
audioCapabilities: [
|
|
1296
|
+
{
|
|
1297
|
+
contentType: 'audio/mp4',
|
|
1298
|
+
encryptionScheme: 'cenc',
|
|
1299
|
+
robustness: DrmRobustness.SW_SECURE_CRYPTO,
|
|
1300
|
+
},
|
|
1301
|
+
],
|
|
1302
|
+
videoCapabilities: [
|
|
1303
|
+
{
|
|
1304
|
+
contentType: 'video/mp4; codecs="avc1.4d401f"',
|
|
1305
|
+
robustness: DrmRobustness.SW_SECURE_DECODE,
|
|
1306
|
+
},
|
|
1307
|
+
],
|
|
1308
|
+
},
|
|
1309
|
+
]);
|
|
1310
|
+
});
|
|
1311
|
+
it('does not add video capabilities for audio content off ChromeOS', async () => {
|
|
1312
|
+
setUserAgent(chromeUserAgent);
|
|
1313
|
+
drmController.setBufferingDrmInfo({
|
|
1314
|
+
...drmInfo,
|
|
1315
|
+
contentType: 'audio',
|
|
1316
|
+
mimeType: 'audio/mp4',
|
|
1317
|
+
});
|
|
1318
|
+
await emitEncrypted();
|
|
1319
|
+
const config = commonEme.requestMediaKeySystemAccess.calls.mostRecent()
|
|
1320
|
+
.args[1][0];
|
|
1321
|
+
expect(config.videoCapabilities).toBeUndefined();
|
|
1322
|
+
});
|
|
1323
|
+
it('does not alter video content capabilities on ChromeOS', async () => {
|
|
1324
|
+
setUserAgent(chromeOsUserAgent);
|
|
1325
|
+
drmController.setBufferingDrmInfo({
|
|
1326
|
+
...drmInfo,
|
|
1327
|
+
contentType: 'video',
|
|
1328
|
+
mimeType: 'video/mp4',
|
|
1329
|
+
});
|
|
1330
|
+
await emitEncrypted();
|
|
1331
|
+
const config = commonEme.requestMediaKeySystemAccess.calls.mostRecent()
|
|
1332
|
+
.args[1][0];
|
|
1333
|
+
expect(config.videoCapabilities).toEqual([
|
|
1334
|
+
{
|
|
1335
|
+
contentType: 'video/mp4',
|
|
1336
|
+
encryptionScheme: 'cenc',
|
|
1337
|
+
robustness: DrmRobustness.SW_SECURE_CRYPTO,
|
|
1338
|
+
},
|
|
1339
|
+
]);
|
|
1340
|
+
expect(config.audioCapabilities).toBeUndefined();
|
|
1341
|
+
});
|
|
1342
|
+
});
|
|
1278
1343
|
describe('when a session has been created', () => {
|
|
1279
1344
|
beforeEach(async () => {
|
|
1280
1345
|
drmController.setBufferingDrmInfo(drmInfo);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ManifestControllerImpl.test.d.ts","sourceRoot":"","sources":["../../../../../test/unit/streaming/ManifestControllerImpl.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*/
|
|
5
|
+
import { Deferred } from '@amazon/vinyl-util';
|
|
6
|
+
import { ManifestControllerImpl } from '@amazon/vinyl';
|
|
7
|
+
import { mockHlsManifestData } from '@amazon/vinyl/vinylTestUtil';
|
|
8
|
+
import { expectNothing, flushPromises, } from '@amazon/vinyl-util/browserTestUtil';
|
|
9
|
+
var createSpy = jasmine.createSpy;
|
|
10
|
+
describe('ManifestControllerImpl', () => {
|
|
11
|
+
let manifestProvider;
|
|
12
|
+
beforeEach(() => {
|
|
13
|
+
manifestProvider = createSpy('manifestProvider');
|
|
14
|
+
manifestProvider.and.resolveTo(mockHlsManifestData);
|
|
15
|
+
});
|
|
16
|
+
function createManifestController() {
|
|
17
|
+
return new ManifestControllerImpl({ manifestProvider });
|
|
18
|
+
}
|
|
19
|
+
it('has a toStringTag', () => {
|
|
20
|
+
const controller = createManifestController();
|
|
21
|
+
expect(String(controller)).toContain('ManifestControllerImpl');
|
|
22
|
+
});
|
|
23
|
+
it('has a logPrefix', () => {
|
|
24
|
+
const controller = createManifestController();
|
|
25
|
+
expect(controller.logPrefix).toBe('ManifestControllerImpl');
|
|
26
|
+
});
|
|
27
|
+
describe('refresh', () => {
|
|
28
|
+
it('reloads the manifest', () => {
|
|
29
|
+
const controller = createManifestController();
|
|
30
|
+
controller.refresh();
|
|
31
|
+
expect(manifestProvider).toHaveBeenCalledTimes(2);
|
|
32
|
+
});
|
|
33
|
+
it('notifies observers', () => {
|
|
34
|
+
const controller = createManifestController();
|
|
35
|
+
const observer = createSpy('observer');
|
|
36
|
+
controller.onData(observer);
|
|
37
|
+
observer.calls.reset();
|
|
38
|
+
controller.refresh();
|
|
39
|
+
expect(observer).toHaveBeenCalledTimes(1);
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
describe('value', () => {
|
|
43
|
+
it('resolves to the manifest data', async () => {
|
|
44
|
+
const controller = createManifestController();
|
|
45
|
+
const result = await controller.value;
|
|
46
|
+
expect(result.mainPlaylist).toBe(mockHlsManifestData.mainPlaylist);
|
|
47
|
+
expect(result.baseUrl).toBe(mockHlsManifestData.baseUrl);
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
describe('getValue', () => {
|
|
51
|
+
it('returns the same as value', () => {
|
|
52
|
+
const controller = createManifestController();
|
|
53
|
+
expect(controller.getValue()).toBe(controller.value);
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
describe('changeId', () => {
|
|
57
|
+
it('increments when manifest is refreshed', () => {
|
|
58
|
+
const controller = createManifestController();
|
|
59
|
+
const initial = controller.changeId;
|
|
60
|
+
controller.refresh();
|
|
61
|
+
expect(controller.changeId).toBe(initial + 1);
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
describe('pick', () => {
|
|
65
|
+
it('returns a sub-observable', () => {
|
|
66
|
+
const controller = createManifestController();
|
|
67
|
+
const thenPick = controller.pick('then');
|
|
68
|
+
expect(thenPick.value).toEqual(jasmine.any(Function));
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
describe('map', () => {
|
|
72
|
+
it('returns a mapped observable', async () => {
|
|
73
|
+
const controller = createManifestController();
|
|
74
|
+
const mapped = controller.map(async (promise) => {
|
|
75
|
+
const data = await promise;
|
|
76
|
+
return data.baseUrl;
|
|
77
|
+
});
|
|
78
|
+
expect(await mapped.value).toBe(mockHlsManifestData.baseUrl);
|
|
79
|
+
});
|
|
80
|
+
});
|
|
81
|
+
describe('disposed', () => {
|
|
82
|
+
it('returns false before dispose', () => {
|
|
83
|
+
const controller = createManifestController();
|
|
84
|
+
expect(controller.disposed).toBe(false);
|
|
85
|
+
});
|
|
86
|
+
it('returns true after dispose', () => {
|
|
87
|
+
const controller = createManifestController();
|
|
88
|
+
controller.dispose();
|
|
89
|
+
expect(controller.disposed).toBe(true);
|
|
90
|
+
});
|
|
91
|
+
});
|
|
92
|
+
describe('value - pending', () => {
|
|
93
|
+
it('resolves pending manifest', async () => {
|
|
94
|
+
const deferred = new Deferred();
|
|
95
|
+
manifestProvider.and.returnValue(deferred);
|
|
96
|
+
const controller = createManifestController();
|
|
97
|
+
const valuePromise = controller.value;
|
|
98
|
+
deferred.resolve(mockHlsManifestData);
|
|
99
|
+
const result = await valuePromise;
|
|
100
|
+
expect(result.mainPlaylist).toBe(mockHlsManifestData.mainPlaylist);
|
|
101
|
+
});
|
|
102
|
+
});
|
|
103
|
+
describe('when manifest provider rejects', () => {
|
|
104
|
+
it('does not cause an unhandled rejection', async () => {
|
|
105
|
+
manifestProvider.and.rejectWith(new Error('expected'));
|
|
106
|
+
createManifestController();
|
|
107
|
+
await flushPromises();
|
|
108
|
+
expectNothing();
|
|
109
|
+
});
|
|
110
|
+
it('rejects the value', async () => {
|
|
111
|
+
manifestProvider.and.rejectWith(new Error('expected'));
|
|
112
|
+
const controller = createManifestController();
|
|
113
|
+
await expectAsync(controller.value).toBeRejectedWithError('expected');
|
|
114
|
+
});
|
|
115
|
+
});
|
|
116
|
+
describe('error', () => {
|
|
117
|
+
it('is null when manifest loads successfully', async () => {
|
|
118
|
+
const controller = createManifestController();
|
|
119
|
+
await controller.value;
|
|
120
|
+
expect(controller.error).toBeNull();
|
|
121
|
+
});
|
|
122
|
+
it('is set when manifest provider rejects', async () => {
|
|
123
|
+
manifestProvider.and.rejectWith(new Error('test error'));
|
|
124
|
+
const controller = createManifestController();
|
|
125
|
+
await expectAsync(controller.value).toBeRejected();
|
|
126
|
+
expect(controller.error).toEqual(jasmine.objectContaining({ message: 'test error' }));
|
|
127
|
+
});
|
|
128
|
+
it('is cleared after refresh', async () => {
|
|
129
|
+
manifestProvider.and.rejectWith(new Error('test error'));
|
|
130
|
+
const controller = createManifestController();
|
|
131
|
+
await expectAsync(controller.value).toBeRejected();
|
|
132
|
+
expect(controller.error).not.toBeNull();
|
|
133
|
+
manifestProvider.and.resolveTo(mockHlsManifestData);
|
|
134
|
+
controller.refresh();
|
|
135
|
+
expect(controller.error).toBeNull();
|
|
136
|
+
});
|
|
137
|
+
});
|
|
138
|
+
describe('reset', () => {
|
|
139
|
+
it('refreshes manifest when there was an error', async () => {
|
|
140
|
+
manifestProvider.and.rejectWith(new Error('test error'));
|
|
141
|
+
const controller = createManifestController();
|
|
142
|
+
await expectAsync(controller.value).toBeRejected();
|
|
143
|
+
manifestProvider.and.resolveTo(mockHlsManifestData);
|
|
144
|
+
controller.reset();
|
|
145
|
+
expect(manifestProvider.calls.count()).toBe(2);
|
|
146
|
+
});
|
|
147
|
+
it('does nothing when no error occurred', () => {
|
|
148
|
+
const controller = createManifestController();
|
|
149
|
+
const initialCallCount = manifestProvider.calls.count();
|
|
150
|
+
controller.reset();
|
|
151
|
+
expect(manifestProvider.calls.count()).toBe(initialCallCount);
|
|
152
|
+
});
|
|
153
|
+
});
|
|
154
|
+
describe('load span metrics', () => {
|
|
155
|
+
it('dispatches loadSpanMeasured on the initial manifest fetch', async () => {
|
|
156
|
+
const controller = createManifestController();
|
|
157
|
+
const spy = createSpy('loadSpanMeasured');
|
|
158
|
+
controller.on('loadSpanMeasured', spy);
|
|
159
|
+
await controller.value;
|
|
160
|
+
await flushPromises();
|
|
161
|
+
expect(spy).toHaveBeenCalledWith(jasmine.objectContaining({
|
|
162
|
+
kind: 'manifest',
|
|
163
|
+
startTime: jasmine.any(Number),
|
|
164
|
+
endTime: jasmine.any(Number),
|
|
165
|
+
}));
|
|
166
|
+
});
|
|
167
|
+
it('does not re-measure on refresh', async () => {
|
|
168
|
+
const controller = createManifestController();
|
|
169
|
+
await controller.value;
|
|
170
|
+
const spy = createSpy('loadSpanMeasured');
|
|
171
|
+
controller.on('loadSpanMeasured', spy);
|
|
172
|
+
controller.refresh();
|
|
173
|
+
await controller.value;
|
|
174
|
+
await flushPromises();
|
|
175
|
+
expect(spy).not.toHaveBeenCalled();
|
|
176
|
+
});
|
|
177
|
+
it('reports listeners', () => {
|
|
178
|
+
const controller = createManifestController();
|
|
179
|
+
expect(controller.hasAnyListeners()).toBeFalse();
|
|
180
|
+
expect(controller.hasListeners('loadSpanMeasured')).toBeFalse();
|
|
181
|
+
controller.on('loadSpanMeasured', createSpy('loadSpanMeasured'));
|
|
182
|
+
expect(controller.hasAnyListeners()).toBeTrue();
|
|
183
|
+
expect(controller.hasListeners('loadSpanMeasured')).toBeTrue();
|
|
184
|
+
});
|
|
185
|
+
});
|
|
186
|
+
describe('dispose', () => {
|
|
187
|
+
it('aborts current request', () => {
|
|
188
|
+
const deferred = new Deferred();
|
|
189
|
+
manifestProvider.and.returnValue(deferred);
|
|
190
|
+
const controller = createManifestController();
|
|
191
|
+
const abort = manifestProvider.calls.first()
|
|
192
|
+
.args[0];
|
|
193
|
+
controller.dispose();
|
|
194
|
+
expect(abort.aborted()).toBeTrue();
|
|
195
|
+
});
|
|
196
|
+
});
|
|
197
|
+
});
|
|
@@ -22,6 +22,7 @@ describe('getMediaPeriodAtTime', () => {
|
|
|
22
22
|
const timeline = {
|
|
23
23
|
periods: [period1, period2, period3],
|
|
24
24
|
minBufferTime: 2,
|
|
25
|
+
getDuration: () => Promise.resolve(30),
|
|
25
26
|
};
|
|
26
27
|
it('returns the first period for time 0', () => {
|
|
27
28
|
expect(getMediaPeriodAtTime(timeline, 0)).toBe(period1);
|
|
@@ -42,7 +43,11 @@ describe('getMediaPeriodAtTime', () => {
|
|
|
42
43
|
expect(getMediaPeriodAtTime(timeline, -1)).toBeNull();
|
|
43
44
|
});
|
|
44
45
|
it('returns null for empty timeline', () => {
|
|
45
|
-
const empty = {
|
|
46
|
+
const empty = {
|
|
47
|
+
periods: [],
|
|
48
|
+
minBufferTime: 0,
|
|
49
|
+
getDuration: () => Promise.resolve(0),
|
|
50
|
+
};
|
|
46
51
|
expect(getMediaPeriodAtTime(empty, 5)).toBeNull();
|
|
47
52
|
});
|
|
48
53
|
});
|
|
@@ -500,6 +500,7 @@ describe('MseTrack', () => {
|
|
|
500
500
|
},
|
|
501
501
|
],
|
|
502
502
|
minBufferTime: 2,
|
|
503
|
+
getDuration: () => Promise.resolve(Infinity),
|
|
503
504
|
});
|
|
504
505
|
track = createTrack();
|
|
505
506
|
await flushPromises();
|
|
@@ -521,6 +522,7 @@ describe('MseTrack', () => {
|
|
|
521
522
|
},
|
|
522
523
|
],
|
|
523
524
|
minBufferTime: 2,
|
|
525
|
+
getDuration: () => Promise.resolve(Infinity),
|
|
524
526
|
});
|
|
525
527
|
track = createTrack();
|
|
526
528
|
const spy = createEventSpy(track, 'qualitiesChange');
|
|
@@ -555,6 +557,7 @@ describe('MseTrack', () => {
|
|
|
555
557
|
},
|
|
556
558
|
],
|
|
557
559
|
minBufferTime: 2,
|
|
560
|
+
getDuration: () => Promise.resolve(Infinity),
|
|
558
561
|
};
|
|
559
562
|
setTimeline(timeline);
|
|
560
563
|
track = createTrack();
|
|
@@ -587,6 +590,7 @@ describe('MseTrack', () => {
|
|
|
587
590
|
},
|
|
588
591
|
],
|
|
589
592
|
minBufferTime: 2,
|
|
593
|
+
getDuration: () => Promise.resolve(Infinity),
|
|
590
594
|
});
|
|
591
595
|
track = createTrack();
|
|
592
596
|
await flushPromises();
|
|
@@ -76,6 +76,7 @@ describe('SegmentControllerImpl', () => {
|
|
|
76
76
|
},
|
|
77
77
|
],
|
|
78
78
|
minBufferTime: 10,
|
|
79
|
+
getDuration: () => Promise.resolve(100),
|
|
79
80
|
};
|
|
80
81
|
const mockQualitySelector = {
|
|
81
82
|
selectQuality: () => 0,
|
|
@@ -230,6 +231,7 @@ describe('SegmentControllerImpl', () => {
|
|
|
230
231
|
},
|
|
231
232
|
],
|
|
232
233
|
minBufferTime: 10,
|
|
234
|
+
getDuration: () => Promise.resolve(110),
|
|
233
235
|
};
|
|
234
236
|
timelineData.value = Promise.resolve(extendedTimeline);
|
|
235
237
|
await fillPrefetch();
|
|
@@ -330,6 +332,7 @@ describe('SegmentControllerImpl', () => {
|
|
|
330
332
|
},
|
|
331
333
|
],
|
|
332
334
|
minBufferTime: 10,
|
|
335
|
+
getDuration: () => Promise.resolve(100),
|
|
333
336
|
});
|
|
334
337
|
// segmentController is for 'audio', but only 'video' qualities exist
|
|
335
338
|
expect(await segmentController.getSegment(5)).toBeNull();
|
|
@@ -582,39 +585,6 @@ describe('SegmentControllerImpl', () => {
|
|
|
582
585
|
expect(segmentController.startTime).toBe(4);
|
|
583
586
|
});
|
|
584
587
|
});
|
|
585
|
-
describe('duration', () => {
|
|
586
|
-
it('delegates to the media timeline', async () => {
|
|
587
|
-
expect(await segmentController.getDuration()).toBe(100);
|
|
588
|
-
});
|
|
589
|
-
it('returns null for empty timeline', async () => {
|
|
590
|
-
timelineData.value = Promise.resolve({
|
|
591
|
-
periods: [],
|
|
592
|
-
minBufferTime: 0,
|
|
593
|
-
});
|
|
594
|
-
expect(await segmentController.getDuration()).toBeNull();
|
|
595
|
-
});
|
|
596
|
-
it('returns null when last period has Infinity endTime', async () => {
|
|
597
|
-
timelineData.value = Promise.resolve({
|
|
598
|
-
periods: [
|
|
599
|
-
{
|
|
600
|
-
startTime: 0,
|
|
601
|
-
endTime: Infinity,
|
|
602
|
-
qualities: [],
|
|
603
|
-
},
|
|
604
|
-
],
|
|
605
|
-
minBufferTime: 0,
|
|
606
|
-
});
|
|
607
|
-
expect(await segmentController.getDuration()).toBeNull();
|
|
608
|
-
});
|
|
609
|
-
it('uses getDuration from timeline when provided', async () => {
|
|
610
|
-
timelineData.value = Promise.resolve({
|
|
611
|
-
periods: [],
|
|
612
|
-
minBufferTime: 0,
|
|
613
|
-
getDuration: () => Promise.resolve(42),
|
|
614
|
-
});
|
|
615
|
-
expect(await segmentController.getDuration()).toBe(42);
|
|
616
|
-
});
|
|
617
|
-
});
|
|
618
588
|
describe('fetchedTime', () => {
|
|
619
589
|
it('returns the number of seconds currently prefetched', async () => {
|
|
620
590
|
segmentController.configure(defaultConfigOptions);
|
|
@@ -566,6 +566,79 @@ describe('QualitySelectorImpl', () => {
|
|
|
566
566
|
expect(selector.selectQuality(videoQualities, videoState)).toEqual(0);
|
|
567
567
|
});
|
|
568
568
|
});
|
|
569
|
+
describe('maxBandwidth', () => {
|
|
570
|
+
const qualities = [
|
|
571
|
+
{
|
|
572
|
+
...createEmptyMediaQualityMetadata(),
|
|
573
|
+
bandwidth: 1000,
|
|
574
|
+
bandwidthTotal: 1000,
|
|
575
|
+
qualityId: '0',
|
|
576
|
+
},
|
|
577
|
+
{
|
|
578
|
+
...createEmptyMediaQualityMetadata(),
|
|
579
|
+
bandwidth: 500,
|
|
580
|
+
bandwidthTotal: 500,
|
|
581
|
+
qualityId: '1',
|
|
582
|
+
},
|
|
583
|
+
{
|
|
584
|
+
...createEmptyMediaQualityMetadata(),
|
|
585
|
+
bandwidth: 100,
|
|
586
|
+
bandwidthTotal: 100,
|
|
587
|
+
qualityId: '2',
|
|
588
|
+
},
|
|
589
|
+
];
|
|
590
|
+
const prefetchState = {
|
|
591
|
+
fetchedTime: 0,
|
|
592
|
+
previousQuality: null,
|
|
593
|
+
active: false,
|
|
594
|
+
};
|
|
595
|
+
beforeEach(() => {
|
|
596
|
+
// Plenty of bandwidth for the highest quality.
|
|
597
|
+
metrics.estimatedDownlinkBandwidth.ewmaLow = 5000;
|
|
598
|
+
});
|
|
599
|
+
it('caps the selectable quality to the configured bandwidth', () => {
|
|
600
|
+
options.value = { ...options.value, maxBandwidth: 500 };
|
|
601
|
+
// Highest quality at or below the cap is index 1 (500).
|
|
602
|
+
expect(selector.selectQuality(qualities, prefetchState)).toEqual(1);
|
|
603
|
+
});
|
|
604
|
+
it('falls back to the lowest quality when all exceed the cap', () => {
|
|
605
|
+
options.value = { ...options.value, maxBandwidth: 50 };
|
|
606
|
+
// No quality fits — selectQuality falls back to the last (lowest) entry.
|
|
607
|
+
expect(selector.selectQuality(qualities, prefetchState)).toEqual(2);
|
|
608
|
+
});
|
|
609
|
+
it('pins to the lowest quality when set to 0', () => {
|
|
610
|
+
options.value = { ...options.value, maxBandwidth: 0 };
|
|
611
|
+
expect(selector.selectQuality(qualities, prefetchState)).toEqual(2);
|
|
612
|
+
});
|
|
613
|
+
it('treats null as no cap', () => {
|
|
614
|
+
options.value = { ...options.value, maxBandwidth: null };
|
|
615
|
+
expect(selector.selectQuality(qualities, prefetchState)).toEqual(0);
|
|
616
|
+
});
|
|
617
|
+
it('does not raise the bandwidth budget above the network estimate', () => {
|
|
618
|
+
// Network estimate is well below the cap; cap should not raise it.
|
|
619
|
+
metrics.estimatedDownlinkBandwidth.ewmaLow = 600;
|
|
620
|
+
options.value = { ...options.value, maxBandwidth: 100_000 };
|
|
621
|
+
expect(selector.selectQuality(qualities, prefetchState)).toEqual(1);
|
|
622
|
+
});
|
|
623
|
+
it('has no effect when strategy is LOWEST', () => {
|
|
624
|
+
options.value = {
|
|
625
|
+
...options.value,
|
|
626
|
+
strategy: AbrStrategy.LOWEST,
|
|
627
|
+
maxBandwidth: 100_000,
|
|
628
|
+
};
|
|
629
|
+
// LOWEST always returns the last index, regardless of the cap.
|
|
630
|
+
expect(selector.selectQuality(qualities, prefetchState)).toEqual(qualities.length - 1);
|
|
631
|
+
});
|
|
632
|
+
it('has no effect when strategy is HIGHEST', () => {
|
|
633
|
+
options.value = {
|
|
634
|
+
...options.value,
|
|
635
|
+
strategy: AbrStrategy.HIGHEST,
|
|
636
|
+
maxBandwidth: 50,
|
|
637
|
+
};
|
|
638
|
+
// HIGHEST always returns 0, regardless of the cap.
|
|
639
|
+
expect(selector.selectQuality(qualities, prefetchState)).toEqual(0);
|
|
640
|
+
});
|
|
641
|
+
});
|
|
569
642
|
describe('toString', () => {
|
|
570
643
|
it('returns a string', () => {
|
|
571
644
|
expect(selector.toString()).toContain('QualitySelectorImpl');
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { flushPromises, useMockTime } from '@amazon/vinyl-util/browserTestUtil';
|
|
6
6
|
import { MockMediaSourceController, MockPlaybackController, MockSegmentController, MockSourceBufferController, } from '@amazon/vinyl/vinylTestUtil';
|
|
7
|
-
import { BufferingControllerImpl, clearSourceBufferQuota, createEmptyMediaQualityMetadata, DEFAULT_MAX_APPEND_SIZE,
|
|
7
|
+
import { BufferingControllerImpl, clearSourceBufferQuota, createEmptyMediaQualityMetadata, DEFAULT_MAX_APPEND_SIZE, getSourceBufferQuota, MIN_APPEND_SIZE, POLL_BUFFER_THROTTLE, QUOTA_REACHED_SCALE, SEGMENT_START_AFFORDANCE, } from '@amazon/vinyl';
|
|
8
8
|
import { Abort, AbortError, Deferred, floorToNearest, LogLevel, } from '@amazon/vinyl-util';
|
|
9
9
|
import { createEventSpy, useMockLogger } from '@amazon/vinyl-util/testUtil';
|
|
10
10
|
var any = jasmine.any;
|
|
@@ -86,7 +86,6 @@ describe('BufferingControllerImpl', () => {
|
|
|
86
86
|
}
|
|
87
87
|
beforeEach(() => {
|
|
88
88
|
mediaSourceController = new MockMediaSourceController();
|
|
89
|
-
mediaSourceController.duration = Number.NaN;
|
|
90
89
|
playbackController = new MockPlaybackController();
|
|
91
90
|
segmentController = new MockSegmentController();
|
|
92
91
|
segmentController.getSegment.and.callFake((time) => {
|
|
@@ -512,45 +511,6 @@ describe('BufferingControllerImpl', () => {
|
|
|
512
511
|
expect(bufferingController.getBufferedTime()).toBe(10);
|
|
513
512
|
});
|
|
514
513
|
});
|
|
515
|
-
describe('duration', () => {
|
|
516
|
-
beforeEach(() => {
|
|
517
|
-
bufferingController = createBufferingController();
|
|
518
|
-
bufferingController.activate();
|
|
519
|
-
});
|
|
520
|
-
describe('when the media source is open and the segment controller is not updating', () => {
|
|
521
|
-
it('is set to the segment controller provided value', async () => {
|
|
522
|
-
segmentController.getDuration.and.resolveTo(33);
|
|
523
|
-
await open();
|
|
524
|
-
expect(mediaSourceController.duration).toEqual(33 + DURATION_PADDING);
|
|
525
|
-
});
|
|
526
|
-
describe('when segment controller duration resolves to null', () => {
|
|
527
|
-
it('sets mediaSource duration to LIVE_DURATION', async () => {
|
|
528
|
-
segmentController.getDuration.and.resolveTo(null);
|
|
529
|
-
await open();
|
|
530
|
-
expect(mediaSourceController.duration).toEqual(LIVE_DURATION);
|
|
531
|
-
});
|
|
532
|
-
});
|
|
533
|
-
});
|
|
534
|
-
describe('when segment controller emits a change event', () => {
|
|
535
|
-
it('refreshes duration', async () => {
|
|
536
|
-
segmentController.getDuration.and.resolveTo(42);
|
|
537
|
-
await open();
|
|
538
|
-
expect(mediaSourceController.duration).toEqual(42 + DURATION_PADDING);
|
|
539
|
-
segmentController.getDuration.and.resolveTo(54);
|
|
540
|
-
segmentController.dispatch('change', {});
|
|
541
|
-
await nextPollImmediate();
|
|
542
|
-
expect(mediaSourceController.duration).toEqual(54 + DURATION_PADDING);
|
|
543
|
-
});
|
|
544
|
-
describe('and mediaSource is not open', () => {
|
|
545
|
-
it('does nothing', () => {
|
|
546
|
-
// Closed
|
|
547
|
-
segmentController.getDuration.and.resolveTo(52);
|
|
548
|
-
segmentController.dispatch('change', {});
|
|
549
|
-
expect(mediaSourceController.duration).toBeNaN();
|
|
550
|
-
});
|
|
551
|
-
});
|
|
552
|
-
});
|
|
553
|
-
});
|
|
554
514
|
describe('playbackQuality', () => {
|
|
555
515
|
// The time to simulate a quality change from q1 to q2:
|
|
556
516
|
let changeTime;
|