@amazon/vinyl 1.1.1 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +276 -200
- package/dist/index.cjs.map +4 -4
- package/dist/index.js +280 -203
- 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 +6063 -5273
- 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/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 +7 -7
- 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 +1 -1
- 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/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/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/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/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/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/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/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/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/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/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/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 +1 -1
- 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/ContentStream.d.ts +4 -4
- package/dist/types/ts3.7/streaming/ContentStreamingOptions.d.ts +2 -2
- 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/createDefaultMediaTimelineTransformer.d.ts +1 -1
- 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/track/AutoResetController.d.ts +37 -12
- 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/buildHlsMediaTimeline.d.ts +3 -3
- package/dist/types/ts3.7/track/hls/createDefaultHlsManifestTransformer.d.ts +1 -1
- package/dist/types/ts3.7/track/hls/util/hlsSegmentTime.d.ts +1 -1
- 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/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/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 +1 -1
- 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/ContentStream.d.ts +4 -4
- package/dist/types/ts4.1/streaming/ContentStreamingOptions.d.ts +2 -2
- 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/createDefaultMediaTimelineTransformer.d.ts +1 -1
- 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/track/AutoResetController.d.ts +37 -12
- 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/buildHlsMediaTimeline.d.ts +3 -3
- package/dist/types/ts4.1/track/hls/createDefaultHlsManifestTransformer.d.ts +1 -1
- package/dist/types/ts4.1/track/hls/util/hlsSegmentTime.d.ts +1 -1
- 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/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/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 +1 -1
- 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/ContentStream.d.ts +4 -4
- package/dist/types/ts4.7/streaming/ContentStreamingOptions.d.ts +2 -2
- 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/createDefaultMediaTimelineTransformer.d.ts +1 -1
- 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/track/AutoResetController.d.ts +37 -12
- 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/buildHlsMediaTimeline.d.ts +3 -3
- package/dist/types/ts4.7/track/hls/createDefaultHlsManifestTransformer.d.ts +1 -1
- package/dist/types/ts4.7/track/hls/util/hlsSegmentTime.d.ts +1 -1
- 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/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/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/createDefaultMediaTimelineTransformer.test.js +6 -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/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/tsconfig.tsbuildinfo +1 -1
- package/dist/unit/types/current/vinyl/VinylPlayer.test.js +35 -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/dash/mockDashManifest.d.ts +12 -12
- 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/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/dash/mockDashManifest.d.ts +12 -12
- 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/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/dash/mockDashManifest.d.ts +12 -12
- 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/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/dash/mockDashManifest.d.ts +12 -12
- 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/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 -15
package/dist/index.js
CHANGED
|
@@ -118,7 +118,7 @@ function getAudioContext() {
|
|
|
118
118
|
// src/client/CapabilitiesImpl.ts
|
|
119
119
|
var CapabilitiesImpl = class {
|
|
120
120
|
constructor(deps) {
|
|
121
|
-
this
|
|
121
|
+
__publicField(this, "deps", deps);
|
|
122
122
|
}
|
|
123
123
|
get mse() {
|
|
124
124
|
return supportsMse();
|
|
@@ -507,9 +507,9 @@ var InvalidSeekError = class _InvalidSeekError extends ReportableError {
|
|
|
507
507
|
ErrorOrigin.API,
|
|
508
508
|
ErrorLevel.WARN
|
|
509
509
|
);
|
|
510
|
-
this
|
|
511
|
-
this
|
|
512
|
-
this
|
|
510
|
+
__publicField(this, "time", time);
|
|
511
|
+
__publicField(this, "seekable", seekable);
|
|
512
|
+
__publicField(this, "tolerance", tolerance);
|
|
513
513
|
Object.setPrototypeOf(this, _InvalidSeekError.prototype);
|
|
514
514
|
}
|
|
515
515
|
get [Symbol.toStringTag]() {
|
|
@@ -1377,9 +1377,9 @@ var trackBaseOptionsValidator = /* @__PURE__ */ object4(
|
|
|
1377
1377
|
var TrackBase = class extends EventHostImpl2 {
|
|
1378
1378
|
constructor(uri, type, deps) {
|
|
1379
1379
|
super();
|
|
1380
|
-
this
|
|
1381
|
-
this
|
|
1382
|
-
this
|
|
1380
|
+
__publicField(this, "uri", uri);
|
|
1381
|
+
__publicField(this, "type", type);
|
|
1382
|
+
__publicField(this, "deps", deps);
|
|
1383
1383
|
/**
|
|
1384
1384
|
* The current load options, if this is an active track.
|
|
1385
1385
|
*/
|
|
@@ -1477,7 +1477,7 @@ import { EventHostImpl as EventHostImpl3 } from "@amazon/vinyl-util";
|
|
|
1477
1477
|
var FixedPlaybackQuality = class extends EventHostImpl3 {
|
|
1478
1478
|
constructor(fixedQuality, deps) {
|
|
1479
1479
|
super();
|
|
1480
|
-
this
|
|
1480
|
+
__publicField(this, "deps", deps);
|
|
1481
1481
|
__publicField(this, "_fixedQuality");
|
|
1482
1482
|
__publicField(this, "_contentTypes", /* @__PURE__ */ new Set());
|
|
1483
1483
|
__publicField(this, "_isActive", false);
|
|
@@ -1679,8 +1679,8 @@ var emptyMediaQualityMetadata = /* @__PURE__ */ createEmptyMediaQualityMetadata(
|
|
|
1679
1679
|
var SourceTrackBase = class extends TrackBase {
|
|
1680
1680
|
constructor(uri, type, src, deps) {
|
|
1681
1681
|
super(uri, type, deps);
|
|
1682
|
-
this
|
|
1683
|
-
this
|
|
1682
|
+
__publicField(this, "src", src);
|
|
1683
|
+
__publicField(this, "deps", deps);
|
|
1684
1684
|
__publicField(this, "fixedPlaybackQuality");
|
|
1685
1685
|
__publicField(this, "_resolvedSrc", null);
|
|
1686
1686
|
const add = this.disposer.add;
|
|
@@ -1766,7 +1766,7 @@ function createSourceObjectTrackFactory(deps) {
|
|
|
1766
1766
|
var SourceObjectTrack = class extends SourceTrackBase {
|
|
1767
1767
|
constructor(uri, type, srcObject, deps) {
|
|
1768
1768
|
super(uri, type, srcObject, deps);
|
|
1769
|
-
this
|
|
1769
|
+
__publicField(this, "deps", deps);
|
|
1770
1770
|
}
|
|
1771
1771
|
get [Symbol.toStringTag]() {
|
|
1772
1772
|
return "SourceObjectTrack";
|
|
@@ -1811,7 +1811,7 @@ function createSourceTrackFactory(deps) {
|
|
|
1811
1811
|
var SourceTrack = class extends SourceTrackBase {
|
|
1812
1812
|
constructor(uri, type, src, deps) {
|
|
1813
1813
|
super(uri, type, src, deps);
|
|
1814
|
-
this
|
|
1814
|
+
__publicField(this, "deps", deps);
|
|
1815
1815
|
}
|
|
1816
1816
|
get [Symbol.toStringTag]() {
|
|
1817
1817
|
return "SourceTrack";
|
|
@@ -1886,6 +1886,7 @@ var MseTrack = class extends TrackBase {
|
|
|
1886
1886
|
contentTypesPromise.then((contentTypes) => {
|
|
1887
1887
|
if (this.disposer.disposed) return;
|
|
1888
1888
|
if (equalDeep(this.contentTypes, contentTypes)) return;
|
|
1889
|
+
logDebug5(this, "content types:", contentTypes);
|
|
1889
1890
|
this.clearStreams();
|
|
1890
1891
|
for (const contentType2 of contentTypes) {
|
|
1891
1892
|
this.createStream(contentType2);
|
|
@@ -2225,7 +2226,7 @@ var trackPriority = {
|
|
|
2225
2226
|
var TrackControllerImpl = class extends EventHostImpl4 {
|
|
2226
2227
|
constructor(deps, initialOptions) {
|
|
2227
2228
|
super();
|
|
2228
|
-
this
|
|
2229
|
+
__publicField(this, "deps", deps);
|
|
2229
2230
|
// When tracks are preloaded, the cache capacity may expand automatically to accommodate.
|
|
2230
2231
|
__publicField(this, "_autoPreloadCapacity", 0);
|
|
2231
2232
|
__publicField(this, "trackCache", /* @__PURE__ */ new LruCache(0));
|
|
@@ -2606,9 +2607,18 @@ function flattenRepresentations(period) {
|
|
|
2606
2607
|
return out;
|
|
2607
2608
|
}
|
|
2608
2609
|
function calculateDuration(manifest) {
|
|
2610
|
+
if (manifest.MPD.type === "dynamic") return Infinity;
|
|
2609
2611
|
const mpdDuration = manifest.MPD.mediaPresentationDuration;
|
|
2610
2612
|
if (mpdDuration != null) return mpdDuration;
|
|
2611
|
-
|
|
2613
|
+
const lastPeriod = last(manifest.MPD.Period);
|
|
2614
|
+
if (!lastPeriod) {
|
|
2615
|
+
throw new Error("Unable to determine manifest duration: no periods");
|
|
2616
|
+
}
|
|
2617
|
+
const end = calculatePeriodEnd(lastPeriod);
|
|
2618
|
+
if (end == null) {
|
|
2619
|
+
throw new Error("Unable to determine manifest duration");
|
|
2620
|
+
}
|
|
2621
|
+
return end;
|
|
2612
2622
|
}
|
|
2613
2623
|
|
|
2614
2624
|
// src/track/dash/util/uriResolution.ts
|
|
@@ -3039,25 +3049,95 @@ function resolveAdaptationSetSwitchingGroupIds(adaptationSet, periodId, adaptati
|
|
|
3039
3049
|
|
|
3040
3050
|
// src/streaming/buffering/MediaSourceController.ts
|
|
3041
3051
|
import {
|
|
3052
|
+
closeTo as closeTo4,
|
|
3042
3053
|
createDisposer as createDisposer7,
|
|
3043
3054
|
DomEventHost as DomEventHost4,
|
|
3044
3055
|
ErrorLevel as ErrorLevel4,
|
|
3045
|
-
ErrorOrigin as
|
|
3056
|
+
ErrorOrigin as ErrorOrigin12,
|
|
3046
3057
|
EventHostImpl as EventHostImpl5,
|
|
3058
|
+
isSilentError as isSilentError2,
|
|
3047
3059
|
logDebug as logDebug7,
|
|
3048
|
-
ReportableError as
|
|
3060
|
+
ReportableError as ReportableError4,
|
|
3049
3061
|
toJson,
|
|
3050
3062
|
toLowerCase as toLowerCase2
|
|
3051
3063
|
} from "@amazon/vinyl-util";
|
|
3064
|
+
|
|
3065
|
+
// src/util/media/sourceBuffer.ts
|
|
3066
|
+
import { promise } from "@amazon/vinyl-util";
|
|
3067
|
+
|
|
3068
|
+
// src/streaming/buffering/error/SourceBufferError.ts
|
|
3069
|
+
import { ErrorOrigin as ErrorOrigin11 } from "@amazon/vinyl-util";
|
|
3070
|
+
import { ReportableError as ReportableError3 } from "@amazon/vinyl-util";
|
|
3071
|
+
var SourceBufferError = class _SourceBufferError extends ReportableError3 {
|
|
3072
|
+
get [Symbol.toStringTag]() {
|
|
3073
|
+
return "SourceBufferError";
|
|
3074
|
+
}
|
|
3075
|
+
constructor(message = `A SourceBuffer error has occurred.`, origin = ErrorOrigin11.MEDIA) {
|
|
3076
|
+
super(message, origin);
|
|
3077
|
+
Object.setPrototypeOf(this, _SourceBufferError.prototype);
|
|
3078
|
+
}
|
|
3079
|
+
};
|
|
3080
|
+
|
|
3081
|
+
// src/util/media/sourceBuffer.ts
|
|
3082
|
+
import { AbortError as AbortError2 } from "@amazon/vinyl-util";
|
|
3083
|
+
function nextSourceBufferIdle(sourceBuffer) {
|
|
3084
|
+
if (!sourceBuffer) return Promise.resolve();
|
|
3085
|
+
if (!sourceBuffer.updating) return Promise.resolve();
|
|
3086
|
+
return promise((resolve, reject) => {
|
|
3087
|
+
const removeListeners = () => {
|
|
3088
|
+
sourceBuffer.removeEventListener("error", onErred);
|
|
3089
|
+
sourceBuffer.removeEventListener("abort", onAborted);
|
|
3090
|
+
sourceBuffer.removeEventListener("update", onEnded);
|
|
3091
|
+
};
|
|
3092
|
+
const onEnded = () => {
|
|
3093
|
+
removeListeners();
|
|
3094
|
+
resolve();
|
|
3095
|
+
};
|
|
3096
|
+
const onErred = (_event) => {
|
|
3097
|
+
removeListeners();
|
|
3098
|
+
reject(new SourceBufferError());
|
|
3099
|
+
};
|
|
3100
|
+
const onAborted = () => {
|
|
3101
|
+
removeListeners();
|
|
3102
|
+
reject(new AbortError2());
|
|
3103
|
+
};
|
|
3104
|
+
sourceBuffer.addEventListener("error", onErred);
|
|
3105
|
+
sourceBuffer.addEventListener("abort", onAborted);
|
|
3106
|
+
sourceBuffer.addEventListener("update", onEnded);
|
|
3107
|
+
});
|
|
3108
|
+
}
|
|
3109
|
+
|
|
3110
|
+
// src/streaming/buffering/MediaSourceController.ts
|
|
3111
|
+
var DURATION_PADDING = 0.1;
|
|
3052
3112
|
var MediaSourceControllerImpl = class extends EventHostImpl5 {
|
|
3053
3113
|
constructor(deps) {
|
|
3054
3114
|
super();
|
|
3055
|
-
__publicField(this, "
|
|
3115
|
+
__publicField(this, "deps", deps);
|
|
3116
|
+
__publicField(this, "sourceBuffers", /* @__PURE__ */ new Set());
|
|
3056
3117
|
__publicField(this, "mediaSource");
|
|
3057
3118
|
__publicField(this, "disposer", /* @__PURE__ */ createDisposer7());
|
|
3058
3119
|
__publicField(this, "contentTypes", null);
|
|
3120
|
+
__publicField(this, "durationSet", false);
|
|
3121
|
+
/**
|
|
3122
|
+
* Token for the in-flight duration update; used to discard stale results when
|
|
3123
|
+
* the timeline changes or the source closes mid-fetch.
|
|
3124
|
+
*/
|
|
3125
|
+
__publicField(this, "durationToken", 0);
|
|
3126
|
+
__publicField(this, "errorHandler", (error) => {
|
|
3127
|
+
if (isSilentError2(error)) return;
|
|
3128
|
+
this.dispatch("error", {
|
|
3129
|
+
target: this,
|
|
3130
|
+
error
|
|
3131
|
+
});
|
|
3132
|
+
});
|
|
3059
3133
|
/**
|
|
3060
|
-
*
|
|
3134
|
+
* Subscription to mediaTimelineTransformed; only attached while the media source is open
|
|
3135
|
+
* so the timeline pipeline isn't forced to evaluate before the source has opened.
|
|
3136
|
+
*/
|
|
3137
|
+
__publicField(this, "timelineSub", null);
|
|
3138
|
+
/**
|
|
3139
|
+
* Emits a 'readyToAppend' event if all source buffers have been created and the duration
|
|
3140
|
+
* has been applied to the media source.
|
|
3061
3141
|
*/
|
|
3062
3142
|
__publicField(this, "checkReady", () => {
|
|
3063
3143
|
if (this.readyToAppend) this.dispatch("readyToAppend", {});
|
|
@@ -3070,18 +3150,16 @@ var MediaSourceControllerImpl = class extends EventHostImpl5 {
|
|
|
3070
3150
|
value.then((contentTypes) => {
|
|
3071
3151
|
this.contentTypes = contentTypes;
|
|
3072
3152
|
this.checkReady();
|
|
3073
|
-
}).catch(
|
|
3074
|
-
this.dispatch("error", {
|
|
3075
|
-
target: this,
|
|
3076
|
-
error
|
|
3077
|
-
});
|
|
3078
|
-
});
|
|
3153
|
+
}).catch(this.errorHandler);
|
|
3079
3154
|
})
|
|
3080
3155
|
);
|
|
3081
3156
|
}
|
|
3082
3157
|
get [Symbol.toStringTag]() {
|
|
3083
3158
|
return "MediaSourceControllerImpl";
|
|
3084
3159
|
}
|
|
3160
|
+
get sourceBufferCount() {
|
|
3161
|
+
return this.sourceBuffers.size;
|
|
3162
|
+
}
|
|
3085
3163
|
initializeEvents() {
|
|
3086
3164
|
const domEvents = new DomEventHost4(
|
|
3087
3165
|
this.mediaSource
|
|
@@ -3093,12 +3171,37 @@ var MediaSourceControllerImpl = class extends EventHostImpl5 {
|
|
|
3093
3171
|
]) {
|
|
3094
3172
|
domEvents.on(toLowerCase2(key), () => this.dispatch(key, {}));
|
|
3095
3173
|
}
|
|
3174
|
+
this.timelineSub = this.deps.mediaTimelineTransformed.onData(() => {
|
|
3175
|
+
this.refreshDuration().catch(this.errorHandler);
|
|
3176
|
+
});
|
|
3177
|
+
this.on("sourceOpen", () => {
|
|
3178
|
+
this.refreshDuration().catch(this.errorHandler);
|
|
3179
|
+
});
|
|
3180
|
+
this.on("sourceClose", () => {
|
|
3181
|
+
this.durationSet = false;
|
|
3182
|
+
++this.durationToken;
|
|
3183
|
+
});
|
|
3096
3184
|
}
|
|
3097
|
-
|
|
3098
|
-
|
|
3099
|
-
|
|
3100
|
-
|
|
3185
|
+
/**
|
|
3186
|
+
* Sets the duration on the media source from the current media timeline.
|
|
3187
|
+
* Live streams use LIVE_DURATION since not all browsers support +Infinity duration.
|
|
3188
|
+
*
|
|
3189
|
+
* MSE throws InvalidStateError if duration is set while any source buffer is updating,
|
|
3190
|
+
* so we wait for all tracked source buffers to be idle first.
|
|
3191
|
+
*/
|
|
3192
|
+
async refreshDuration() {
|
|
3193
|
+
const timelinePromise = this.deps.mediaTimelineTransformed.value;
|
|
3194
|
+
const token = ++this.durationToken;
|
|
3195
|
+
const timeline = await timelinePromise;
|
|
3196
|
+
const duration = await timeline.getDuration();
|
|
3197
|
+
const value = duration === Infinity ? LIVE_DURATION : duration + DURATION_PADDING;
|
|
3198
|
+
await Promise.all(Array.from(this.sourceBuffers, nextSourceBufferIdle));
|
|
3199
|
+
if (token !== this.durationToken || this.mediaSource.readyState !== "open" || closeTo4(this.mediaSource.duration, value, 0.1))
|
|
3200
|
+
return;
|
|
3201
|
+
logDebug7(this, `setting duration: ${value}`);
|
|
3101
3202
|
this.mediaSource.duration = value;
|
|
3203
|
+
this.durationSet = true;
|
|
3204
|
+
this.checkReady();
|
|
3102
3205
|
}
|
|
3103
3206
|
get readyState() {
|
|
3104
3207
|
return this.mediaSource.readyState;
|
|
@@ -3121,7 +3224,7 @@ var MediaSourceControllerImpl = class extends EventHostImpl5 {
|
|
|
3121
3224
|
throw new MediaSourceError("error creating source buffer", error);
|
|
3122
3225
|
}
|
|
3123
3226
|
sourceBuffer.mode = "sequence";
|
|
3124
|
-
|
|
3227
|
+
this.sourceBuffers.add(sourceBuffer);
|
|
3125
3228
|
this.checkReady();
|
|
3126
3229
|
const dispose = () => {
|
|
3127
3230
|
logDebug7(
|
|
@@ -3132,7 +3235,7 @@ var MediaSourceControllerImpl = class extends EventHostImpl5 {
|
|
|
3132
3235
|
if (mediaSource.readyState !== "closed") {
|
|
3133
3236
|
mediaSource.removeSourceBuffer(sourceBuffer);
|
|
3134
3237
|
}
|
|
3135
|
-
|
|
3238
|
+
this.sourceBuffers.delete(sourceBuffer);
|
|
3136
3239
|
};
|
|
3137
3240
|
return {
|
|
3138
3241
|
value: sourceBuffer,
|
|
@@ -3148,17 +3251,20 @@ var MediaSourceControllerImpl = class extends EventHostImpl5 {
|
|
|
3148
3251
|
}
|
|
3149
3252
|
get readyToAppend() {
|
|
3150
3253
|
var _a;
|
|
3151
|
-
return ((_a = this.contentTypes) == null ? void 0 : _a.size) === this.sourceBufferCount;
|
|
3254
|
+
return this.durationSet && ((_a = this.contentTypes) == null ? void 0 : _a.size) === this.sourceBufferCount;
|
|
3152
3255
|
}
|
|
3153
3256
|
dispose() {
|
|
3257
|
+
var _a;
|
|
3154
3258
|
super.dispose();
|
|
3259
|
+
(_a = this.timelineSub) == null ? void 0 : _a.call(this);
|
|
3260
|
+
this.timelineSub = null;
|
|
3155
3261
|
this.disposer.dispose();
|
|
3156
3262
|
}
|
|
3157
3263
|
};
|
|
3158
|
-
var MediaSourceError = class _MediaSourceError extends
|
|
3264
|
+
var MediaSourceError = class _MediaSourceError extends ReportableError4 {
|
|
3159
3265
|
constructor(message, reason) {
|
|
3160
|
-
super(message,
|
|
3161
|
-
this
|
|
3266
|
+
super(message, ErrorOrigin12.INTERNAL, ErrorLevel4.FATAL);
|
|
3267
|
+
__publicField(this, "reason", reason);
|
|
3162
3268
|
Object.setPrototypeOf(this, _MediaSourceError.prototype);
|
|
3163
3269
|
}
|
|
3164
3270
|
get [Symbol.toStringTag]() {
|
|
@@ -3176,7 +3282,7 @@ import { data as data2 } from "@amazon/vinyl-observable";
|
|
|
3176
3282
|
import { createAbortSlot as createAbortSlot2, createDisposer as createDisposer8, logDebug as logDebug8 } from "@amazon/vinyl-util";
|
|
3177
3283
|
var DashManifestControllerImpl = class {
|
|
3178
3284
|
constructor(deps) {
|
|
3179
|
-
this
|
|
3285
|
+
__publicField(this, "deps", deps);
|
|
3180
3286
|
__publicField(this, "_data", /* @__PURE__ */ data2(
|
|
3181
3287
|
/* @__PURE__ */ Promise.reject(/* @__PURE__ */ new Error("manifest not loaded"))
|
|
3182
3288
|
));
|
|
@@ -3264,59 +3370,12 @@ import {
|
|
|
3264
3370
|
logDebug as logDebug9,
|
|
3265
3371
|
nextEventAsPromise as nextEventAsPromise3
|
|
3266
3372
|
} from "@amazon/vinyl-util";
|
|
3267
|
-
|
|
3268
|
-
// src/util/media/sourceBuffer.ts
|
|
3269
|
-
import { promise } from "@amazon/vinyl-util";
|
|
3270
|
-
|
|
3271
|
-
// src/streaming/buffering/error/SourceBufferError.ts
|
|
3272
|
-
import { ErrorOrigin as ErrorOrigin12 } from "@amazon/vinyl-util";
|
|
3273
|
-
import { ReportableError as ReportableError4 } from "@amazon/vinyl-util";
|
|
3274
|
-
var SourceBufferError = class _SourceBufferError extends ReportableError4 {
|
|
3275
|
-
get [Symbol.toStringTag]() {
|
|
3276
|
-
return "SourceBufferError";
|
|
3277
|
-
}
|
|
3278
|
-
constructor(message = `A SourceBuffer error has occurred.`, origin = ErrorOrigin12.MEDIA) {
|
|
3279
|
-
super(message, origin);
|
|
3280
|
-
Object.setPrototypeOf(this, _SourceBufferError.prototype);
|
|
3281
|
-
}
|
|
3282
|
-
};
|
|
3283
|
-
|
|
3284
|
-
// src/util/media/sourceBuffer.ts
|
|
3285
|
-
import { AbortError as AbortError2 } from "@amazon/vinyl-util";
|
|
3286
|
-
function nextSourceBufferIdle(sourceBuffer) {
|
|
3287
|
-
if (!sourceBuffer) return Promise.resolve();
|
|
3288
|
-
if (!sourceBuffer.updating) return Promise.resolve();
|
|
3289
|
-
return promise((resolve, reject) => {
|
|
3290
|
-
const removeListeners = () => {
|
|
3291
|
-
sourceBuffer.removeEventListener("error", onErred);
|
|
3292
|
-
sourceBuffer.removeEventListener("abort", onAborted);
|
|
3293
|
-
sourceBuffer.removeEventListener("update", onEnded);
|
|
3294
|
-
};
|
|
3295
|
-
const onEnded = () => {
|
|
3296
|
-
removeListeners();
|
|
3297
|
-
resolve();
|
|
3298
|
-
};
|
|
3299
|
-
const onErred = (_event) => {
|
|
3300
|
-
removeListeners();
|
|
3301
|
-
reject(new SourceBufferError());
|
|
3302
|
-
};
|
|
3303
|
-
const onAborted = () => {
|
|
3304
|
-
removeListeners();
|
|
3305
|
-
reject(new AbortError2());
|
|
3306
|
-
};
|
|
3307
|
-
sourceBuffer.addEventListener("error", onErred);
|
|
3308
|
-
sourceBuffer.addEventListener("abort", onAborted);
|
|
3309
|
-
sourceBuffer.addEventListener("update", onEnded);
|
|
3310
|
-
});
|
|
3311
|
-
}
|
|
3312
|
-
|
|
3313
|
-
// src/streaming/buffering/SourceBufferController.ts
|
|
3314
3373
|
var APPEND_WINDOW_START_OFFSET = 0.05;
|
|
3315
3374
|
var APPEND_WINDOW_END_OFFSET = 0.01;
|
|
3316
3375
|
var READY_TO_APPEND_TIMEOUT = 30;
|
|
3317
3376
|
var SourceBufferControllerImpl = class {
|
|
3318
3377
|
constructor(deps, contentType2) {
|
|
3319
|
-
this
|
|
3378
|
+
__publicField(this, "contentType", contentType2);
|
|
3320
3379
|
__publicField(this, "sourceBufferRef", null);
|
|
3321
3380
|
__publicField(this, "mimeType", null);
|
|
3322
3381
|
__publicField(this, "queue", /* @__PURE__ */ createTaskQueue());
|
|
@@ -3473,7 +3532,7 @@ import {
|
|
|
3473
3532
|
createTaskQueue as createTaskQueue2,
|
|
3474
3533
|
EventHostImpl as EventHostImpl6,
|
|
3475
3534
|
getLogLevel,
|
|
3476
|
-
isSilentError as
|
|
3535
|
+
isSilentError as isSilentError3,
|
|
3477
3536
|
LinkedList,
|
|
3478
3537
|
logDebug as logDebug10,
|
|
3479
3538
|
LogLevel,
|
|
@@ -3486,7 +3545,6 @@ import {
|
|
|
3486
3545
|
var SEGMENT_START_AFFORDANCE = 0.2;
|
|
3487
3546
|
|
|
3488
3547
|
// src/streaming/buffering/BufferingController.ts
|
|
3489
|
-
var DURATION_PADDING = 0.1;
|
|
3490
3548
|
var POLL_BUFFER_THROTTLE = 0.1;
|
|
3491
3549
|
var QUOTA_REACHED_SCALE = 0.8;
|
|
3492
3550
|
var MIN_APPEND_SIZE = 524288;
|
|
@@ -3511,8 +3569,8 @@ var defaultBufferingControllerOptions = {
|
|
|
3511
3569
|
var BufferingControllerImpl = class extends EventHostImpl6 {
|
|
3512
3570
|
constructor(deps, contentType2, options) {
|
|
3513
3571
|
super();
|
|
3514
|
-
this
|
|
3515
|
-
this
|
|
3572
|
+
__publicField(this, "deps", deps);
|
|
3573
|
+
__publicField(this, "contentType", contentType2);
|
|
3516
3574
|
__publicField(this, "options");
|
|
3517
3575
|
__publicField(this, "mediaSourceController");
|
|
3518
3576
|
__publicField(this, "playbackController");
|
|
@@ -3599,7 +3657,7 @@ var BufferingControllerImpl = class extends EventHostImpl6 {
|
|
|
3599
3657
|
}
|
|
3600
3658
|
}
|
|
3601
3659
|
}
|
|
3602
|
-
if (!
|
|
3660
|
+
if (!isSilentError3(error)) {
|
|
3603
3661
|
this._error = error;
|
|
3604
3662
|
this.dispatch("error", {
|
|
3605
3663
|
target: this,
|
|
@@ -3648,7 +3706,6 @@ var BufferingControllerImpl = class extends EventHostImpl6 {
|
|
|
3648
3706
|
);
|
|
3649
3707
|
const onMediaSourceOpen2 = () => {
|
|
3650
3708
|
logDebug10(this, "media source opened");
|
|
3651
|
-
this.refreshDuration();
|
|
3652
3709
|
this.pollBufferImmediate();
|
|
3653
3710
|
};
|
|
3654
3711
|
if (this.mediaSourceOpen) {
|
|
@@ -3659,7 +3716,6 @@ var BufferingControllerImpl = class extends EventHostImpl6 {
|
|
|
3659
3716
|
add(
|
|
3660
3717
|
this.segmentController.on("change", () => {
|
|
3661
3718
|
this.reopen = true;
|
|
3662
|
-
this.refreshDuration();
|
|
3663
3719
|
this.pollBufferImmediate();
|
|
3664
3720
|
})
|
|
3665
3721
|
);
|
|
@@ -3689,18 +3745,6 @@ var BufferingControllerImpl = class extends EventHostImpl6 {
|
|
|
3689
3745
|
get busy() {
|
|
3690
3746
|
return this.queue.running > 0;
|
|
3691
3747
|
}
|
|
3692
|
-
/**
|
|
3693
|
-
* Enqueues a duration update.
|
|
3694
|
-
*/
|
|
3695
|
-
refreshDuration() {
|
|
3696
|
-
this.sourceBufferController.enqueue(async () => {
|
|
3697
|
-
if (!this.mediaSourceOpen) return;
|
|
3698
|
-
const duration = await this.segmentController.getDuration();
|
|
3699
|
-
const newDuration = duration == null ? LIVE_DURATION : duration + DURATION_PADDING;
|
|
3700
|
-
logDebug10(this, `setting duration: ${newDuration}`);
|
|
3701
|
-
this.mediaSourceController.duration = newDuration;
|
|
3702
|
-
}).catch(this.handleError);
|
|
3703
|
-
}
|
|
3704
3748
|
shouldAppend() {
|
|
3705
3749
|
return this.active && !this.busy && !this.error && !this.mediaSourceClosed && (!this.bufferingEnded || this.reopen) && // Return true if the current buffer is less than the minimum buffer and the playhead has not reached duration.
|
|
3706
3750
|
this.getBufferedTime() <= this.options.minBuffer;
|
|
@@ -3922,12 +3966,12 @@ var BufferingControllerImpl = class extends EventHostImpl6 {
|
|
|
3922
3966
|
import {
|
|
3923
3967
|
Abort as Abort3,
|
|
3924
3968
|
clone as clone2,
|
|
3925
|
-
closeTo as
|
|
3969
|
+
closeTo as closeTo5,
|
|
3926
3970
|
createDisposer as createDisposer10,
|
|
3927
3971
|
EventHostImpl as EventHostImpl7,
|
|
3928
3972
|
getNetworkState,
|
|
3929
3973
|
getOrSet as getOrSet3,
|
|
3930
|
-
isSilentError as
|
|
3974
|
+
isSilentError as isSilentError5,
|
|
3931
3975
|
logDebug as logDebug11,
|
|
3932
3976
|
logError,
|
|
3933
3977
|
noop as noop4,
|
|
@@ -3940,7 +3984,7 @@ import {
|
|
|
3940
3984
|
// src/streaming/SegmentDataSlot.ts
|
|
3941
3985
|
import {
|
|
3942
3986
|
createAbortSlot as createAbortSlot4,
|
|
3943
|
-
isSilentError as
|
|
3987
|
+
isSilentError as isSilentError4
|
|
3944
3988
|
} from "@amazon/vinyl-util";
|
|
3945
3989
|
var SegmentStatus = /* @__PURE__ */ ((SegmentStatus2) => {
|
|
3946
3990
|
SegmentStatus2["INACTIVE"] = "inactive";
|
|
@@ -3951,7 +3995,7 @@ var SegmentStatus = /* @__PURE__ */ ((SegmentStatus2) => {
|
|
|
3951
3995
|
})(SegmentStatus || {});
|
|
3952
3996
|
var SegmentDataSlot = class {
|
|
3953
3997
|
constructor(requestSegmentData) {
|
|
3954
|
-
this
|
|
3998
|
+
__publicField(this, "requestSegmentData", requestSegmentData);
|
|
3955
3999
|
/**
|
|
3956
4000
|
* Called when the status has changed.
|
|
3957
4001
|
*/
|
|
@@ -3991,7 +4035,7 @@ var SegmentDataSlot = class {
|
|
|
3991
4035
|
this.status = "resolved" /* RESOLVED */;
|
|
3992
4036
|
return result;
|
|
3993
4037
|
}).catch((error) => {
|
|
3994
|
-
if (
|
|
4038
|
+
if (isSilentError4(error)) {
|
|
3995
4039
|
this.bufferPromise = null;
|
|
3996
4040
|
this.status = "inactive" /* INACTIVE */;
|
|
3997
4041
|
} else {
|
|
@@ -4088,8 +4132,8 @@ var defaultSegmentControllerBaseOptions = {
|
|
|
4088
4132
|
var SegmentControllerImpl = class extends EventHostImpl7 {
|
|
4089
4133
|
constructor(deps, contentType2, options) {
|
|
4090
4134
|
super();
|
|
4091
|
-
this
|
|
4092
|
-
this
|
|
4135
|
+
__publicField(this, "deps", deps);
|
|
4136
|
+
__publicField(this, "contentType", contentType2);
|
|
4093
4137
|
__publicField(this, "_active", false);
|
|
4094
4138
|
__publicField(this, "_fetchedRanges", /* @__PURE__ */ new RangesImpl());
|
|
4095
4139
|
__publicField(this, "_startTime", 0);
|
|
@@ -4160,7 +4204,7 @@ var SegmentControllerImpl = class extends EventHostImpl7 {
|
|
|
4160
4204
|
)
|
|
4161
4205
|
));
|
|
4162
4206
|
__publicField(this, "prefetchErrorHandler", (error) => {
|
|
4163
|
-
if (!
|
|
4207
|
+
if (!isSilentError5(error)) {
|
|
4164
4208
|
logError(this, "Error prefetching segment", error);
|
|
4165
4209
|
this._error = error;
|
|
4166
4210
|
}
|
|
@@ -4193,14 +4237,6 @@ var SegmentControllerImpl = class extends EventHostImpl7 {
|
|
|
4193
4237
|
get error() {
|
|
4194
4238
|
return this._error;
|
|
4195
4239
|
}
|
|
4196
|
-
async getDuration() {
|
|
4197
|
-
const timeline = await this.deps.mediaTimelineTransformed.value;
|
|
4198
|
-
if (timeline.getDuration) return timeline.getDuration();
|
|
4199
|
-
const periods = timeline.periods;
|
|
4200
|
-
if (periods.length === 0) return null;
|
|
4201
|
-
const last4 = periods[periods.length - 1];
|
|
4202
|
-
return last4.endTime === Infinity ? null : last4.endTime;
|
|
4203
|
-
}
|
|
4204
4240
|
/**
|
|
4205
4241
|
* Gets the period at the given time, using a cache for the last returned period.
|
|
4206
4242
|
*/
|
|
@@ -4404,7 +4440,7 @@ var SegmentControllerImpl = class extends EventHostImpl7 {
|
|
|
4404
4440
|
);
|
|
4405
4441
|
if (insertionIndex > 0) {
|
|
4406
4442
|
const cachedSegment2 = this.cachedSegments[insertionIndex - 1];
|
|
4407
|
-
if (
|
|
4443
|
+
if (closeTo5(newSlot.startTime, cachedSegment2.startTime)) {
|
|
4408
4444
|
return cachedSegment2;
|
|
4409
4445
|
}
|
|
4410
4446
|
}
|
|
@@ -4607,7 +4643,8 @@ var qualitySelectorImplOptionsValidator = /* @__PURE__ */ object9({
|
|
|
4607
4643
|
strategy: /* @__PURE__ */ enumOf3(AbrStrategy).optional(),
|
|
4608
4644
|
bandwidthMultiplierLow: /* @__PURE__ */ number4().optional(),
|
|
4609
4645
|
bandwidthMultiplierHigh: /* @__PURE__ */ number4().optional(),
|
|
4610
|
-
restrictDecoderChangeOnAudioAbrUp: /* @__PURE__ */ boolean().optional()
|
|
4646
|
+
restrictDecoderChangeOnAudioAbrUp: /* @__PURE__ */ boolean().optional(),
|
|
4647
|
+
maxBandwidth: /* @__PURE__ */ number4().maybe().optional()
|
|
4611
4648
|
});
|
|
4612
4649
|
var defaultQualitySelectorImplOptions = {
|
|
4613
4650
|
highBufferThreshold: 15,
|
|
@@ -4615,7 +4652,8 @@ var defaultQualitySelectorImplOptions = {
|
|
|
4615
4652
|
strategy: "best" /* BEST */,
|
|
4616
4653
|
bandwidthMultiplierLow: 0.4,
|
|
4617
4654
|
bandwidthMultiplierHigh: 0.9,
|
|
4618
|
-
restrictDecoderChangeOnAudioAbrUp: false
|
|
4655
|
+
restrictDecoderChangeOnAudioAbrUp: false,
|
|
4656
|
+
maxBandwidth: null
|
|
4619
4657
|
};
|
|
4620
4658
|
var QualitySelectorImpl = class {
|
|
4621
4659
|
constructor(deps) {
|
|
@@ -4642,7 +4680,8 @@ var QualitySelectorImpl = class {
|
|
|
4642
4680
|
lowBufferThreshold,
|
|
4643
4681
|
bandwidthMultiplierLow,
|
|
4644
4682
|
bandwidthMultiplierHigh,
|
|
4645
|
-
restrictDecoderChangeOnAudioAbrUp
|
|
4683
|
+
restrictDecoderChangeOnAudioAbrUp,
|
|
4684
|
+
maxBandwidth
|
|
4646
4685
|
} = this.options;
|
|
4647
4686
|
const previousQuality = prefetchState.previousQuality;
|
|
4648
4687
|
const previousIndex = previousQuality == null ? -1 : qualities.findIndex(
|
|
@@ -4659,7 +4698,10 @@ var QualitySelectorImpl = class {
|
|
|
4659
4698
|
const bandwidthEstimate = getNetworkMetrics().estimatedDownlinkBandwidth;
|
|
4660
4699
|
const bufferRatio = highBufferThreshold > 0 ? clamp2(fetchedTime / highBufferThreshold, 0, 1) : 1;
|
|
4661
4700
|
const bandwidthMultiplier = prefetchState.active ? lerp(bandwidthMultiplierLow, bandwidthMultiplierHigh, bufferRatio) : bandwidthMultiplierHigh;
|
|
4662
|
-
|
|
4701
|
+
let bandwidth = (prefetchState.active ? Math.min(bandwidthEstimate.ewmaLow, bandwidthEstimate.latest) : bandwidthEstimate.ewmaLow) * bandwidthMultiplier;
|
|
4702
|
+
if (maxBandwidth != null && maxBandwidth < bandwidth) {
|
|
4703
|
+
bandwidth = maxBandwidth;
|
|
4704
|
+
}
|
|
4663
4705
|
let restrictDecoderId = null;
|
|
4664
4706
|
let restrictSwitchingGroupIds = null;
|
|
4665
4707
|
if (previousQuality && previousIndex >= 0) {
|
|
@@ -4749,7 +4791,7 @@ import { createContainer as createContainer2 } from "@amazon/vinyl-di";
|
|
|
4749
4791
|
var ContentStreamImpl = class extends EventHostImpl8 {
|
|
4750
4792
|
constructor(dependencyFactories, contentType2) {
|
|
4751
4793
|
super();
|
|
4752
|
-
this
|
|
4794
|
+
__publicField(this, "contentType", contentType2);
|
|
4753
4795
|
__publicField(this, "disposer", /* @__PURE__ */ createDisposer12());
|
|
4754
4796
|
__publicField(this, "segmentController");
|
|
4755
4797
|
__publicField(this, "bufferingController");
|
|
@@ -5730,7 +5772,7 @@ import { data as data3 } from "@amazon/vinyl-observable";
|
|
|
5730
5772
|
import { createAbortSlot as createAbortSlot5, createDisposer as createDisposer13, logDebug as logDebug12 } from "@amazon/vinyl-util";
|
|
5731
5773
|
var HlsManifestControllerImpl = class {
|
|
5732
5774
|
constructor(manifestProvider) {
|
|
5733
|
-
this
|
|
5775
|
+
__publicField(this, "manifestProvider", manifestProvider);
|
|
5734
5776
|
__publicField(this, "_data", /* @__PURE__ */ data3(
|
|
5735
5777
|
/* @__PURE__ */ Promise.reject(/* @__PURE__ */ new Error("manifest not loaded"))
|
|
5736
5778
|
));
|
|
@@ -6040,17 +6082,21 @@ function buildHlsMediaTimeline(deps, data4) {
|
|
|
6040
6082
|
minBufferTime: DEFAULT_MIN_BUFFER_TIME,
|
|
6041
6083
|
async getDuration() {
|
|
6042
6084
|
if (cachedDuration != null) return cachedDuration;
|
|
6043
|
-
if (mainPlaylist.variants.length === 0)
|
|
6044
|
-
|
|
6045
|
-
|
|
6046
|
-
|
|
6085
|
+
if (mainPlaylist.variants.length === 0) {
|
|
6086
|
+
throw new Error("Unable to determine HLS duration: no variants");
|
|
6087
|
+
}
|
|
6088
|
+
const playlist = await data4.getMediaPlaylist(
|
|
6089
|
+
mainPlaylist.variants[0].uri
|
|
6090
|
+
);
|
|
6091
|
+
if (!playlist.ended) return Infinity;
|
|
6092
|
+
if (playlist.segments.length === 0) {
|
|
6093
|
+
throw new Error(
|
|
6094
|
+
"Unable to determine HLS duration: no segments in media playlist"
|
|
6047
6095
|
);
|
|
6048
|
-
let total = 0;
|
|
6049
|
-
for (const seg of playlist.segments) total += seg.duration;
|
|
6050
|
-
cachedDuration = total > 0 ? total : null;
|
|
6051
|
-
} catch (e) {
|
|
6052
|
-
return null;
|
|
6053
6096
|
}
|
|
6097
|
+
let total = 0;
|
|
6098
|
+
for (const seg of playlist.segments) total += seg.duration;
|
|
6099
|
+
cachedDuration = total;
|
|
6054
6100
|
return cachedDuration;
|
|
6055
6101
|
}
|
|
6056
6102
|
};
|
|
@@ -6102,10 +6148,10 @@ import { ErrorLevel as ErrorLevel5, ErrorOrigin as ErrorOrigin15, ReportableErro
|
|
|
6102
6148
|
var CommonMediaKeySessionError = class _CommonMediaKeySessionError extends ReportableError5 {
|
|
6103
6149
|
constructor(code, codeStr, systemCode, systemCodeStr) {
|
|
6104
6150
|
super(codeStr, ErrorOrigin15.DRM, ErrorLevel5.WARN);
|
|
6105
|
-
this
|
|
6106
|
-
this
|
|
6107
|
-
this
|
|
6108
|
-
this
|
|
6151
|
+
__publicField(this, "code", code);
|
|
6152
|
+
__publicField(this, "codeStr", codeStr);
|
|
6153
|
+
__publicField(this, "systemCode", systemCode);
|
|
6154
|
+
__publicField(this, "systemCodeStr", systemCodeStr);
|
|
6109
6155
|
Object.setPrototypeOf(this, _CommonMediaKeySessionError.prototype);
|
|
6110
6156
|
}
|
|
6111
6157
|
get [Symbol.toStringTag]() {
|
|
@@ -6136,10 +6182,10 @@ import { ErrorLevel as ErrorLevel6, ReportableError as ReportableError6 } from "
|
|
|
6136
6182
|
var DrmError = class _DrmError extends ReportableError6 {
|
|
6137
6183
|
constructor(message, extra = null, origin = ErrorOrigin16.DRM, level = ErrorLevel6.FATAL) {
|
|
6138
6184
|
super(message, origin, level);
|
|
6139
|
-
this
|
|
6140
|
-
this
|
|
6141
|
-
this
|
|
6142
|
-
this
|
|
6185
|
+
__publicField(this, "message", message);
|
|
6186
|
+
__publicField(this, "extra", extra);
|
|
6187
|
+
__publicField(this, "origin", origin);
|
|
6188
|
+
__publicField(this, "level", level);
|
|
6143
6189
|
Object.setPrototypeOf(this, _DrmError.prototype);
|
|
6144
6190
|
}
|
|
6145
6191
|
get [Symbol.toStringTag]() {
|
|
@@ -6189,7 +6235,7 @@ var MsCommonEme = class {
|
|
|
6189
6235
|
};
|
|
6190
6236
|
var MsCommonMediaKeySystemAccess = class {
|
|
6191
6237
|
constructor(keySystem) {
|
|
6192
|
-
this
|
|
6238
|
+
__publicField(this, "keySystem", keySystem);
|
|
6193
6239
|
}
|
|
6194
6240
|
createMediaKeys() {
|
|
6195
6241
|
const msMediaKeys = new MSMediaKeys(this.keySystem);
|
|
@@ -6200,8 +6246,8 @@ var MsCommonMediaKeySystemAccess = class {
|
|
|
6200
6246
|
};
|
|
6201
6247
|
var MsCommonMediaKeys = class {
|
|
6202
6248
|
constructor(keySystem, mediaKeys) {
|
|
6203
|
-
this
|
|
6204
|
-
this
|
|
6249
|
+
__publicField(this, "keySystem", keySystem);
|
|
6250
|
+
__publicField(this, "mediaKeys", mediaKeys);
|
|
6205
6251
|
}
|
|
6206
6252
|
/**
|
|
6207
6253
|
* Sets the media keys on the given element.
|
|
@@ -6236,10 +6282,10 @@ var MsCommonMediaKeys = class {
|
|
|
6236
6282
|
var MsCommonMediaKeySession = class extends EventHostImpl9 {
|
|
6237
6283
|
constructor(session, mimeType, initDataType, initData) {
|
|
6238
6284
|
super();
|
|
6239
|
-
this
|
|
6240
|
-
this
|
|
6241
|
-
this
|
|
6242
|
-
this
|
|
6285
|
+
__publicField(this, "session", session);
|
|
6286
|
+
__publicField(this, "mimeType", mimeType);
|
|
6287
|
+
__publicField(this, "initDataType", initDataType);
|
|
6288
|
+
__publicField(this, "initData", initData);
|
|
6243
6289
|
__publicField(this, "_disposed", false);
|
|
6244
6290
|
__publicField(this, "messageHandler", (event) => {
|
|
6245
6291
|
this.dispatch("message", {
|
|
@@ -6328,8 +6374,8 @@ var StandardCommonEme = class {
|
|
|
6328
6374
|
};
|
|
6329
6375
|
var StandardCommonMediaKeySystemAccess = class {
|
|
6330
6376
|
constructor(keySystem, access) {
|
|
6331
|
-
this
|
|
6332
|
-
this
|
|
6377
|
+
__publicField(this, "keySystem", keySystem);
|
|
6378
|
+
__publicField(this, "access", access);
|
|
6333
6379
|
}
|
|
6334
6380
|
/**
|
|
6335
6381
|
* @return {Promise<CommonMediaKeys>}
|
|
@@ -6341,8 +6387,8 @@ var StandardCommonMediaKeySystemAccess = class {
|
|
|
6341
6387
|
};
|
|
6342
6388
|
var StandardCommonMediaKeys = class {
|
|
6343
6389
|
constructor(keySystem, mediaKeys) {
|
|
6344
|
-
this
|
|
6345
|
-
this
|
|
6390
|
+
__publicField(this, "keySystem", keySystem);
|
|
6391
|
+
__publicField(this, "mediaKeys", mediaKeys);
|
|
6346
6392
|
}
|
|
6347
6393
|
setOnElement(element2) {
|
|
6348
6394
|
return element2.setMediaKeys(this.mediaKeys);
|
|
@@ -6365,10 +6411,10 @@ var StandardCommonMediaKeys = class {
|
|
|
6365
6411
|
var StandardCommonMediaKeySession = class extends EventHostImpl10 {
|
|
6366
6412
|
constructor(session, mimeType, initDataType, initData) {
|
|
6367
6413
|
super();
|
|
6368
|
-
this
|
|
6369
|
-
this
|
|
6370
|
-
this
|
|
6371
|
-
this
|
|
6414
|
+
__publicField(this, "session", session);
|
|
6415
|
+
__publicField(this, "mimeType", mimeType);
|
|
6416
|
+
__publicField(this, "initDataType", initDataType);
|
|
6417
|
+
__publicField(this, "initData", initData);
|
|
6372
6418
|
__publicField(this, "_disposed", false);
|
|
6373
6419
|
__publicField(this, "messageHandler", (event) => {
|
|
6374
6420
|
this.dispatch("message", {
|
|
@@ -6456,7 +6502,7 @@ var WebKitCommonEme = class {
|
|
|
6456
6502
|
};
|
|
6457
6503
|
var WebKitCommonMediaKeySystemAccess = class {
|
|
6458
6504
|
constructor(keySystem) {
|
|
6459
|
-
this
|
|
6505
|
+
__publicField(this, "keySystem", keySystem);
|
|
6460
6506
|
}
|
|
6461
6507
|
createMediaKeys() {
|
|
6462
6508
|
const webKitMediaKeys = new WebKitMediaKeys(this.keySystem);
|
|
@@ -6469,8 +6515,8 @@ var WebKitCommonMediaKeySystemAccess = class {
|
|
|
6469
6515
|
};
|
|
6470
6516
|
var WebKitCommonMediaKeys = class {
|
|
6471
6517
|
constructor(keySystem, mediaKeys) {
|
|
6472
|
-
this
|
|
6473
|
-
this
|
|
6518
|
+
__publicField(this, "keySystem", keySystem);
|
|
6519
|
+
__publicField(this, "mediaKeys", mediaKeys);
|
|
6474
6520
|
}
|
|
6475
6521
|
/**
|
|
6476
6522
|
* Sets the media keys on the given element.
|
|
@@ -6505,10 +6551,10 @@ var WebKitCommonMediaKeys = class {
|
|
|
6505
6551
|
var WebKitCommonMediaKeySession = class extends EventHostImpl11 {
|
|
6506
6552
|
constructor(session, mimeType, initDataType, initData) {
|
|
6507
6553
|
super();
|
|
6508
|
-
this
|
|
6509
|
-
this
|
|
6510
|
-
this
|
|
6511
|
-
this
|
|
6554
|
+
__publicField(this, "session", session);
|
|
6555
|
+
__publicField(this, "mimeType", mimeType);
|
|
6556
|
+
__publicField(this, "initDataType", initDataType);
|
|
6557
|
+
__publicField(this, "initData", initData);
|
|
6512
6558
|
__publicField(this, "_disposed", false);
|
|
6513
6559
|
__publicField(this, "messageHandler", (event) => {
|
|
6514
6560
|
this.dispatch("message", {
|
|
@@ -6603,7 +6649,7 @@ import {
|
|
|
6603
6649
|
createDisposer as createDisposer14,
|
|
6604
6650
|
ErrorOrigin as ErrorOrigin21,
|
|
6605
6651
|
EventHostImpl as EventHostImpl12,
|
|
6606
|
-
isSilentError as
|
|
6652
|
+
isSilentError as isSilentError6,
|
|
6607
6653
|
logDebug as logDebug14,
|
|
6608
6654
|
logVerbose as logVerbose2,
|
|
6609
6655
|
memoize as memoize7,
|
|
@@ -6762,7 +6808,7 @@ var LICENSE_TIMEOUT_MESSAGE = "License provider timed out after {time}s";
|
|
|
6762
6808
|
var DrmControllerImpl = class extends EventHostImpl12 {
|
|
6763
6809
|
constructor(deps, options) {
|
|
6764
6810
|
super();
|
|
6765
|
-
this
|
|
6811
|
+
__publicField(this, "deps", deps);
|
|
6766
6812
|
__publicField(this, "optionsBase");
|
|
6767
6813
|
__publicField(this, "options");
|
|
6768
6814
|
__publicField(this, "mediaKeys", null);
|
|
@@ -6831,7 +6877,7 @@ var DrmControllerImpl = class extends EventHostImpl12 {
|
|
|
6831
6877
|
* When track protections is set again, another error event may be emitted.
|
|
6832
6878
|
*/
|
|
6833
6879
|
__publicField(this, "handleError", (error) => {
|
|
6834
|
-
if (!this._error && !
|
|
6880
|
+
if (!this._error && !isSilentError6(error)) {
|
|
6835
6881
|
this._error = error;
|
|
6836
6882
|
this.dispatch("error", { error, target: this });
|
|
6837
6883
|
}
|
|
@@ -7273,7 +7319,7 @@ import {
|
|
|
7273
7319
|
logDebug as logDebug15,
|
|
7274
7320
|
createLogPrefix as createLogPrefix5,
|
|
7275
7321
|
EventHostImpl as EventHostImpl13,
|
|
7276
|
-
closeTo as
|
|
7322
|
+
closeTo as closeTo6
|
|
7277
7323
|
} from "@amazon/vinyl-util";
|
|
7278
7324
|
|
|
7279
7325
|
// src/playback/loudness/LoudnessNormalizationControllerImplOptions.ts
|
|
@@ -7295,7 +7341,7 @@ var MAX_GAIN_LEVEL = 1;
|
|
|
7295
7341
|
var LoudnessNormalizationControllerImpl = class extends EventHostImpl13 {
|
|
7296
7342
|
constructor(deps) {
|
|
7297
7343
|
super();
|
|
7298
|
-
this
|
|
7344
|
+
__publicField(this, "deps", deps);
|
|
7299
7345
|
__publicField(this, "logPrefix", /* @__PURE__ */ createLogPrefix5(this));
|
|
7300
7346
|
__publicField(this, "_gain", MAX_GAIN_LEVEL);
|
|
7301
7347
|
__publicField(this, "disposer", /* @__PURE__ */ createDisposer15());
|
|
@@ -7332,7 +7378,7 @@ var LoudnessNormalizationControllerImpl = class extends EventHostImpl13 {
|
|
|
7332
7378
|
*/
|
|
7333
7379
|
set gain(value) {
|
|
7334
7380
|
const previousGain = this._gain;
|
|
7335
|
-
if (!
|
|
7381
|
+
if (!closeTo6(previousGain, value)) {
|
|
7336
7382
|
this._gain = value;
|
|
7337
7383
|
logDebug15(this, "loudness gain adjustment:", {
|
|
7338
7384
|
trackLoudness: this.trackLoudness,
|
|
@@ -7373,12 +7419,11 @@ var LoudnessNormalizationControllerImpl = class extends EventHostImpl13 {
|
|
|
7373
7419
|
// src/track/AutoResetController.ts
|
|
7374
7420
|
import {
|
|
7375
7421
|
createDisposer as createDisposer16,
|
|
7376
|
-
ErrorOrigin as ErrorOrigin22,
|
|
7377
7422
|
EventHostImpl as EventHostImpl14,
|
|
7378
7423
|
getNetworkState as getNetworkState2,
|
|
7379
7424
|
logDebug as logDebug16,
|
|
7380
7425
|
onAny as onAny3,
|
|
7381
|
-
|
|
7426
|
+
RequestError
|
|
7382
7427
|
} from "@amazon/vinyl-util";
|
|
7383
7428
|
var defaultResetControllerOptions = {
|
|
7384
7429
|
enabled: true,
|
|
@@ -7388,7 +7433,7 @@ var defaultResetControllerOptions = {
|
|
|
7388
7433
|
var AutoResetControllerImpl = class extends EventHostImpl14 {
|
|
7389
7434
|
constructor(deps, options) {
|
|
7390
7435
|
super();
|
|
7391
|
-
this
|
|
7436
|
+
__publicField(this, "deps", deps);
|
|
7392
7437
|
__publicField(this, "options");
|
|
7393
7438
|
__publicField(this, "_error", null);
|
|
7394
7439
|
__publicField(this, "watchSub", null);
|
|
@@ -7412,38 +7457,50 @@ var AutoResetControllerImpl = class extends EventHostImpl14 {
|
|
|
7412
7457
|
}
|
|
7413
7458
|
setError(error) {
|
|
7414
7459
|
if (!this.options.enabled || this._error) return;
|
|
7415
|
-
if (error instanceof
|
|
7460
|
+
if (error instanceof RequestError && error.response == null) {
|
|
7416
7461
|
this._error = error;
|
|
7417
|
-
this.
|
|
7462
|
+
this.setResetPending(true);
|
|
7418
7463
|
}
|
|
7419
7464
|
}
|
|
7420
|
-
|
|
7465
|
+
get resetPending() {
|
|
7466
|
+
return this.watchSub != null;
|
|
7467
|
+
}
|
|
7468
|
+
setResetPending(value) {
|
|
7421
7469
|
var _a;
|
|
7422
|
-
|
|
7470
|
+
if (this.resetPending === value) {
|
|
7471
|
+
logDebug16(this, "setResetPending", value, "no-op");
|
|
7472
|
+
return;
|
|
7473
|
+
}
|
|
7474
|
+
logDebug16(this, "setResetPending", value);
|
|
7423
7475
|
(_a = this.watchSub) == null ? void 0 : _a.call(this);
|
|
7424
7476
|
this.watchSub = null;
|
|
7425
|
-
if (
|
|
7426
|
-
|
|
7427
|
-
|
|
7428
|
-
|
|
7429
|
-
|
|
7430
|
-
|
|
7431
|
-
|
|
7432
|
-
this.reset();
|
|
7433
|
-
})
|
|
7434
|
-
);
|
|
7435
|
-
const intervalId = setTimeout(() => {
|
|
7436
|
-
if (this.currentRetry++ < this.options.maxRetries) {
|
|
7437
|
-
if (networkState.onLine) {
|
|
7438
|
-
logDebug16(this, "interval, emitting reset");
|
|
7477
|
+
if (value) {
|
|
7478
|
+
const networkState = getNetworkState2();
|
|
7479
|
+
const { add, dispose: watchSub } = createDisposer16();
|
|
7480
|
+
this.watchSub = watchSub;
|
|
7481
|
+
add(
|
|
7482
|
+
networkState.on("online", () => {
|
|
7483
|
+
logDebug16(this, "online, emitting reset");
|
|
7439
7484
|
this.reset();
|
|
7485
|
+
})
|
|
7486
|
+
);
|
|
7487
|
+
const intervalId = setTimeout(() => {
|
|
7488
|
+
if (this.currentRetry++ < this.options.maxRetries) {
|
|
7489
|
+
if (networkState.onLine) {
|
|
7490
|
+
logDebug16(this, "interval, emitting reset");
|
|
7491
|
+
this.reset();
|
|
7492
|
+
}
|
|
7493
|
+
} else {
|
|
7494
|
+
logDebug16(this, "max retries exhausted, pausing playback");
|
|
7495
|
+
this.setResetPending(false);
|
|
7440
7496
|
}
|
|
7441
|
-
}
|
|
7442
|
-
|
|
7443
|
-
|
|
7444
|
-
|
|
7445
|
-
|
|
7446
|
-
|
|
7497
|
+
}, this.options.retryInterval * 1e3);
|
|
7498
|
+
add(() => clearTimeout(intervalId));
|
|
7499
|
+
}
|
|
7500
|
+
this.dispatch("resetPendingChange", {
|
|
7501
|
+
previous: !value,
|
|
7502
|
+
current: value
|
|
7503
|
+
});
|
|
7447
7504
|
}
|
|
7448
7505
|
reset() {
|
|
7449
7506
|
if (!this._error) return;
|
|
@@ -7453,7 +7510,7 @@ var AutoResetControllerImpl = class extends EventHostImpl14 {
|
|
|
7453
7510
|
clear() {
|
|
7454
7511
|
if (!this._error) return;
|
|
7455
7512
|
this._error = null;
|
|
7456
|
-
this.
|
|
7513
|
+
this.setResetPending(false);
|
|
7457
7514
|
}
|
|
7458
7515
|
get disposed() {
|
|
7459
7516
|
return this.disposer.disposed;
|
|
@@ -7543,7 +7600,7 @@ var locale2 = {
|
|
|
7543
7600
|
var DEFAULT_MAX_PLAYERS = 5;
|
|
7544
7601
|
var PlayerRegistryImpl = class {
|
|
7545
7602
|
constructor(maxPlayersWarning = DEFAULT_MAX_PLAYERS) {
|
|
7546
|
-
this
|
|
7603
|
+
__publicField(this, "maxPlayersWarning", maxPlayersWarning);
|
|
7547
7604
|
__publicField(this, "_players", []);
|
|
7548
7605
|
__publicField(this, "gaveMaxPlayersWarning", false);
|
|
7549
7606
|
}
|
|
@@ -7594,7 +7651,7 @@ import {
|
|
|
7594
7651
|
import { parseVersion } from "@amazon/vinyl-util";
|
|
7595
7652
|
var vinylVersion = /* @__PURE__ */ parseVersion(
|
|
7596
7653
|
/* istanbul ignore next */
|
|
7597
|
-
"1.
|
|
7654
|
+
"1.2.0"
|
|
7598
7655
|
);
|
|
7599
7656
|
|
|
7600
7657
|
// src/global/globalRef.ts
|
|
@@ -7697,6 +7754,9 @@ var VinylPlayer = class extends EventHostImpl15 {
|
|
|
7697
7754
|
get trackController() {
|
|
7698
7755
|
return this.deps.trackController;
|
|
7699
7756
|
}
|
|
7757
|
+
get autoResetController() {
|
|
7758
|
+
return this.deps.autoResetController;
|
|
7759
|
+
}
|
|
7700
7760
|
redispatchSubControllerEvents() {
|
|
7701
7761
|
const add = this.disposer.add;
|
|
7702
7762
|
add(
|
|
@@ -7773,11 +7833,16 @@ var VinylPlayer = class extends EventHostImpl15 {
|
|
|
7773
7833
|
}
|
|
7774
7834
|
initializeAutoResetHandling() {
|
|
7775
7835
|
const { add } = this.disposer;
|
|
7776
|
-
const { autoResetController } = this.deps;
|
|
7777
7836
|
this.on("error", (event) => {
|
|
7778
|
-
autoResetController.setError(event.error);
|
|
7837
|
+
this.autoResetController.setError(event.error);
|
|
7779
7838
|
});
|
|
7780
|
-
add(autoResetController.on("reset", () => this.reset()));
|
|
7839
|
+
add(this.autoResetController.on("reset", () => this.reset()));
|
|
7840
|
+
add(
|
|
7841
|
+
this.autoResetController.on(
|
|
7842
|
+
"resetPendingChange",
|
|
7843
|
+
(event) => this.dispatch("resetPendingChange", event)
|
|
7844
|
+
)
|
|
7845
|
+
);
|
|
7781
7846
|
}
|
|
7782
7847
|
initializePreferredLanguageHandling() {
|
|
7783
7848
|
const { add } = this.disposer;
|
|
@@ -7848,6 +7913,17 @@ var VinylPlayer = class extends EventHostImpl15 {
|
|
|
7848
7913
|
get error() {
|
|
7849
7914
|
return this._error;
|
|
7850
7915
|
}
|
|
7916
|
+
/**
|
|
7917
|
+
* True when an error has interrupted playback and an automatic reset
|
|
7918
|
+
* is scheduled. This distinguishes transient, potentially recoverable
|
|
7919
|
+
* errors (such as a brief network outage) from terminal errors that
|
|
7920
|
+
* will not trigger a reset on their own.
|
|
7921
|
+
*
|
|
7922
|
+
* Listen to `resetPendingChange` events for changes.
|
|
7923
|
+
*/
|
|
7924
|
+
get resetPending() {
|
|
7925
|
+
return this.autoResetController.resetPending;
|
|
7926
|
+
}
|
|
7851
7927
|
get hasMetadata() {
|
|
7852
7928
|
return this.playbackController.hasMetadata;
|
|
7853
7929
|
}
|
|
@@ -7924,6 +8000,7 @@ var VinylPlayer = class extends EventHostImpl15 {
|
|
|
7924
8000
|
this.drmController.reset();
|
|
7925
8001
|
this.playbackController.reset();
|
|
7926
8002
|
this.trackController.reset();
|
|
8003
|
+
this.autoResetController.clear();
|
|
7927
8004
|
this.dispatch("reset", {});
|
|
7928
8005
|
}
|
|
7929
8006
|
//----------------------------------------------------
|