@amazon/vinyl 1.1.0 → 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/README.md +49 -8
- 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
|
@@ -2,17 +2,33 @@
|
|
|
2
2
|
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
3
|
* SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
*/
|
|
5
|
-
import { createDisposer, DomEventHost, ErrorLevel, ErrorOrigin, EventHostImpl, logDebug, ReportableError, toJson, toLowerCase, } from '@amazon/vinyl-util';
|
|
5
|
+
import { closeTo, createDisposer, DomEventHost, ErrorLevel, ErrorOrigin, EventHostImpl, isSilentError, logDebug, ReportableError, toJson, toLowerCase, } from '@amazon/vinyl-util';
|
|
6
|
+
import { LIVE_DURATION } from '../../playback/PlaybackController';
|
|
7
|
+
import { nextSourceBufferIdle } from '../../util/media/sourceBuffer';
|
|
8
|
+
/**
|
|
9
|
+
* Chrome 52 has decoding errors when duration is set to the mediaPresentationDuration.
|
|
10
|
+
* Adds a slight padding as a workaround.
|
|
11
|
+
* @private
|
|
12
|
+
*/
|
|
13
|
+
export const DURATION_PADDING = 0.1;
|
|
6
14
|
export class MediaSourceControllerImpl extends EventHostImpl {
|
|
15
|
+
deps;
|
|
7
16
|
get [Symbol.toStringTag]() {
|
|
8
17
|
return 'MediaSourceControllerImpl';
|
|
9
18
|
}
|
|
10
|
-
|
|
19
|
+
sourceBuffers = new Set();
|
|
11
20
|
mediaSource;
|
|
12
21
|
disposer = createDisposer();
|
|
13
22
|
contentTypes = null;
|
|
23
|
+
durationSet = false;
|
|
24
|
+
/**
|
|
25
|
+
* Token for the in-flight duration update; used to discard stale results when
|
|
26
|
+
* the timeline changes or the source closes mid-fetch.
|
|
27
|
+
*/
|
|
28
|
+
durationToken = 0;
|
|
14
29
|
constructor(deps) {
|
|
15
30
|
super();
|
|
31
|
+
this.deps = deps;
|
|
16
32
|
this.mediaSource = deps.mediaSourceFactory();
|
|
17
33
|
this.initializeEvents();
|
|
18
34
|
this.disposer.add(deps.contentTypesValue.onData((value) => {
|
|
@@ -22,17 +38,27 @@ export class MediaSourceControllerImpl extends EventHostImpl {
|
|
|
22
38
|
this.contentTypes = contentTypes;
|
|
23
39
|
this.checkReady();
|
|
24
40
|
})
|
|
25
|
-
.catch(
|
|
26
|
-
this.dispatch('error', {
|
|
27
|
-
target: this,
|
|
28
|
-
error: error,
|
|
29
|
-
});
|
|
30
|
-
});
|
|
41
|
+
.catch(this.errorHandler);
|
|
31
42
|
}));
|
|
32
43
|
}
|
|
44
|
+
get sourceBufferCount() {
|
|
45
|
+
return this.sourceBuffers.size;
|
|
46
|
+
}
|
|
47
|
+
errorHandler = (error) => {
|
|
48
|
+
if (isSilentError(error))
|
|
49
|
+
return;
|
|
50
|
+
this.dispatch('error', {
|
|
51
|
+
target: this,
|
|
52
|
+
error,
|
|
53
|
+
});
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* Subscription to mediaTimelineTransformed; only attached while the media source is open
|
|
57
|
+
* so the timeline pipeline isn't forced to evaluate before the source has opened.
|
|
58
|
+
*/
|
|
59
|
+
timelineSub = null;
|
|
33
60
|
initializeEvents() {
|
|
34
61
|
const domEvents = new DomEventHost(this.mediaSource);
|
|
35
|
-
// Re-dispatch html media element events exposed on the playback controller as empty events.
|
|
36
62
|
for (const key of [
|
|
37
63
|
'sourceClose',
|
|
38
64
|
'sourceOpen',
|
|
@@ -40,12 +66,39 @@ export class MediaSourceControllerImpl extends EventHostImpl {
|
|
|
40
66
|
]) {
|
|
41
67
|
domEvents.on(toLowerCase(key), () => this.dispatch(key, {}));
|
|
42
68
|
}
|
|
69
|
+
this.timelineSub = this.deps.mediaTimelineTransformed.onData(() => {
|
|
70
|
+
this.refreshDuration().catch(this.errorHandler);
|
|
71
|
+
});
|
|
72
|
+
this.on('sourceOpen', () => {
|
|
73
|
+
this.refreshDuration().catch(this.errorHandler);
|
|
74
|
+
});
|
|
75
|
+
this.on('sourceClose', () => {
|
|
76
|
+
this.durationSet = false;
|
|
77
|
+
++this.durationToken;
|
|
78
|
+
});
|
|
43
79
|
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
80
|
+
/**
|
|
81
|
+
* Sets the duration on the media source from the current media timeline.
|
|
82
|
+
* Live streams use LIVE_DURATION since not all browsers support +Infinity duration.
|
|
83
|
+
*
|
|
84
|
+
* MSE throws InvalidStateError if duration is set while any source buffer is updating,
|
|
85
|
+
* so we wait for all tracked source buffers to be idle first.
|
|
86
|
+
*/
|
|
87
|
+
async refreshDuration() {
|
|
88
|
+
const timelinePromise = this.deps.mediaTimelineTransformed.value;
|
|
89
|
+
const token = ++this.durationToken;
|
|
90
|
+
const timeline = await timelinePromise;
|
|
91
|
+
const duration = await timeline.getDuration();
|
|
92
|
+
const value = duration === Infinity ? LIVE_DURATION : duration + DURATION_PADDING;
|
|
93
|
+
await Promise.all(Array.from(this.sourceBuffers, nextSourceBufferIdle));
|
|
94
|
+
if (token !== this.durationToken ||
|
|
95
|
+
this.mediaSource.readyState !== 'open' ||
|
|
96
|
+
closeTo(this.mediaSource.duration, value, 0.1))
|
|
97
|
+
return;
|
|
98
|
+
logDebug(this, `setting duration: ${value}`);
|
|
48
99
|
this.mediaSource.duration = value;
|
|
100
|
+
this.durationSet = true;
|
|
101
|
+
this.checkReady();
|
|
49
102
|
}
|
|
50
103
|
get readyState() {
|
|
51
104
|
return this.mediaSource.readyState;
|
|
@@ -61,14 +114,14 @@ export class MediaSourceControllerImpl extends EventHostImpl {
|
|
|
61
114
|
throw new MediaSourceError('error creating source buffer', error);
|
|
62
115
|
}
|
|
63
116
|
sourceBuffer.mode = 'sequence';
|
|
64
|
-
|
|
117
|
+
this.sourceBuffers.add(sourceBuffer);
|
|
65
118
|
this.checkReady();
|
|
66
119
|
const dispose = () => {
|
|
67
120
|
logDebug(this, 'removing source buffer from media source', mediaSource.readyState);
|
|
68
121
|
if (mediaSource.readyState !== 'closed') {
|
|
69
122
|
mediaSource.removeSourceBuffer(sourceBuffer);
|
|
70
123
|
}
|
|
71
|
-
|
|
124
|
+
this.sourceBuffers.delete(sourceBuffer);
|
|
72
125
|
};
|
|
73
126
|
return {
|
|
74
127
|
value: sourceBuffer,
|
|
@@ -76,7 +129,8 @@ export class MediaSourceControllerImpl extends EventHostImpl {
|
|
|
76
129
|
};
|
|
77
130
|
}
|
|
78
131
|
/**
|
|
79
|
-
* Emits a 'readyToAppend' event if all source buffers have been created
|
|
132
|
+
* Emits a 'readyToAppend' event if all source buffers have been created and the duration
|
|
133
|
+
* has been applied to the media source.
|
|
80
134
|
*/
|
|
81
135
|
checkReady = () => {
|
|
82
136
|
if (this.readyToAppend)
|
|
@@ -90,10 +144,13 @@ export class MediaSourceControllerImpl extends EventHostImpl {
|
|
|
90
144
|
return URL.createObjectURL(this.mediaSource);
|
|
91
145
|
}
|
|
92
146
|
get readyToAppend() {
|
|
93
|
-
return this.
|
|
147
|
+
return (this.durationSet &&
|
|
148
|
+
this.contentTypes?.size === this.sourceBufferCount);
|
|
94
149
|
}
|
|
95
150
|
dispose() {
|
|
96
151
|
super.dispose();
|
|
152
|
+
this.timelineSub?.();
|
|
153
|
+
this.timelineSub = null;
|
|
97
154
|
this.disposer.dispose();
|
|
98
155
|
}
|
|
99
156
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type Disposable, type LogTarget, type ReadonlyRanges, type Task } from '@amazon/vinyl-util';
|
|
2
2
|
import type { MediaSourceController } from './MediaSourceController';
|
|
3
|
-
import type { ContentType } from '
|
|
3
|
+
import type { ContentType } from '../MediaQualityMetadata';
|
|
4
4
|
export declare const APPEND_WINDOW_START_OFFSET = 0.05;
|
|
5
5
|
export declare const APPEND_WINDOW_END_OFFSET = 0.01;
|
|
6
6
|
export declare const READY_TO_APPEND_TIMEOUT = 30;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SourceBufferController.d.ts","sourceRoot":"","sources":["../../../../../src/streaming/buffering/SourceBufferController.ts"],"names":[],"mappings":"AAKA,OAAO,EAIH,KAAK,UAAU,EAKf,KAAK,SAAS,EAEd,KAAK,cAAc,EACnB,KAAK,IAAI,EACZ,MAAM,oBAAoB,CAAA;AAG3B,OAAO,KAAK,EACR,qBAAqB,EAExB,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"SourceBufferController.d.ts","sourceRoot":"","sources":["../../../../../src/streaming/buffering/SourceBufferController.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ObservableValue } from '@amazon/vinyl-observable';
|
|
2
2
|
import type { Capabilities } from '../client/Capabilities';
|
|
3
3
|
import type { DrmController } from '../drm/DrmController';
|
|
4
|
-
import type { MediaTimeline } from '
|
|
4
|
+
import type { MediaTimeline } from './MediaTimeline';
|
|
5
5
|
export interface DefaultMediaTimelineTransformerDeps {
|
|
6
6
|
readonly capabilities: Capabilities;
|
|
7
7
|
readonly drmController: DrmController;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createDefaultMediaTimelineTransformer.d.ts","sourceRoot":"","sources":["../../../../src/streaming/createDefaultMediaTimelineTransformer.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAE/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"createDefaultMediaTimelineTransformer.d.ts","sourceRoot":"","sources":["../../../../src/streaming/createDefaultMediaTimelineTransformer.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAE/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAoBpD,MAAM,WAAW,mCAAmC;IAChD,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAA;IACnC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAA;IACrC,QAAQ,CAAC,aAAa,EAAE,eAAe,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAA;IAC/D,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;QAC9B,QAAQ,CAAC,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAA;KACjD,CAAC,CAAA;CACL;AAED;;;GAGG;AACH,wBAAgB,qCAAqC,CACjD,IAAI,EAAE,mCAAmC,GAC1C,eAAe,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAqCzC"}
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
* SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
*/
|
|
5
5
|
import { combineData } from '@amazon/vinyl-observable';
|
|
6
|
-
import { filterTimelineQualities, filterTimelineQualitiesAsync, } from '
|
|
7
|
-
import { createLanguageFilter } from '
|
|
6
|
+
import { filterTimelineQualities, filterTimelineQualitiesAsync, } from './mediaTimelineFilter';
|
|
7
|
+
import { createLanguageFilter } from './mediaTimelineLanguageFilter';
|
|
8
8
|
import { canPlayMimeType, throwMimeTypesUnsupported, } from '../track/filters/resourceTypeFilter';
|
|
9
9
|
import { canPlayKeySystem, throwKeySystemsUnsupported, } from '../track/filters/keySystemFilter';
|
|
10
10
|
import { supportsAudioSamplingRate, throwSamplingRatesUnsupported, } from '../track/filters/sampleRateFilter';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { MediaTimeline } from '
|
|
2
|
-
import type { MediaQualityMetadata } from '
|
|
1
|
+
import type { MediaTimeline } from './MediaTimeline';
|
|
2
|
+
import type { MediaQualityMetadata } from './MediaQualityMetadata';
|
|
3
3
|
import type { FilterPredicate, FilterPredicateAsync, Maybe } from '@amazon/vinyl-util';
|
|
4
4
|
/**
|
|
5
5
|
* Filters qualities in a MediaTimeline using a synchronous predicate.
|
|
@@ -14,5 +14,5 @@ export declare function filterTimelineQualitiesAsync(filter: FilterPredicateAsyn
|
|
|
14
14
|
/**
|
|
15
15
|
* Creates a language filter predicate for use with filterTimelineQualities.
|
|
16
16
|
*/
|
|
17
|
-
export { createLanguageFilter } from '
|
|
17
|
+
export { createLanguageFilter } from './mediaTimelineLanguageFilter';
|
|
18
18
|
//# sourceMappingURL=mediaTimelineFilter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mediaTimelineFilter.d.ts","sourceRoot":"","sources":["../../../../src/streaming/mediaTimelineFilter.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAGR,aAAa,EAChB,MAAM,
|
|
1
|
+
{"version":3,"file":"mediaTimelineFilter.d.ts","sourceRoot":"","sources":["../../../../src/streaming/mediaTimelineFilter.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAGR,aAAa,EAChB,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAClE,OAAO,KAAK,EACR,eAAe,EACf,oBAAoB,EACpB,KAAK,EACR,MAAM,oBAAoB,CAAA;AAG3B;;;GAGG;AACH,wBAAgB,uBAAuB,CACnC,MAAM,EAAE,KAAK,CAAC,eAAe,CAAC,oBAAoB,CAAC,CAAC,EACpD,UAAU,EAAE,MAAM,KAAK,EACvB,QAAQ,EAAE,aAAa,GACxB,aAAa,CAqBf;AAED;;;GAGG;AACH,wBAAsB,4BAA4B,CAC9C,MAAM,EAAE,oBAAoB,CAAC,oBAAoB,CAAC,EAClD,UAAU,EAAE,MAAM,KAAK,EACvB,QAAQ,EAAE,aAAa,GACxB,OAAO,CAAC,aAAa,CAAC,CAyBxB;AAED;;GAEG;AACH,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA"}
|
|
@@ -45,4 +45,4 @@ export async function filterTimelineQualitiesAsync(filter, throwError, timeline)
|
|
|
45
45
|
/**
|
|
46
46
|
* Creates a language filter predicate for use with filterTimelineQualities.
|
|
47
47
|
*/
|
|
48
|
-
export { createLanguageFilter } from '
|
|
48
|
+
export { createLanguageFilter } from './mediaTimelineLanguageFilter';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { MediaQualityMetadata } from '
|
|
1
|
+
import type { MediaQualityMetadata } from './MediaQualityMetadata';
|
|
2
2
|
import type { FilterPredicate } from '@amazon/vinyl-util';
|
|
3
3
|
/**
|
|
4
4
|
* Creates a filter predicate that keeps qualities matching the preferred language.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mediaTimelineLanguageFilter.d.ts","sourceRoot":"","sources":["../../../../src/streaming/mediaTimelineLanguageFilter.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"mediaTimelineLanguageFilter.d.ts","sourceRoot":"","sources":["../../../../src/streaming/mediaTimelineLanguageFilter.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAOzD;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAChC,iBAAiB,EAAE,MAAM,GAAG,IAAI,EAChC,WAAW,EAAE,MAAM,GACpB,eAAe,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAyB9C"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { MediaSegmentMetadata } from '
|
|
1
|
+
import type { MediaSegmentMetadata } from '../SegmentReference';
|
|
2
2
|
/**
|
|
3
3
|
* Returns the segment whose range covers `time` (`startTime <= time < endTime`), or
|
|
4
4
|
* — when `affordance > 0` — the next segment if `time` falls within `affordance`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"segment.d.ts","sourceRoot":"","sources":["../../../../../src/streaming/util/segment.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"segment.d.ts","sourceRoot":"","sources":["../../../../../src/streaming/util/segment.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAE/D;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,oBAAoB,EAC3D,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,SAAS,CAAC,EAAE,EACtB,UAAU,SAAI,GACf,CAAC,GAAG,IAAI,CAMV;AAED;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAC1C,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,SAAS,oBAAoB,EAAE,GAC1C,MAAM,CAMR"}
|
|
@@ -1,35 +1,59 @@
|
|
|
1
1
|
import { type AnyRecord, type Clearable, type Disposable, EventHostImpl, type ReadonlyEventHost } from '@amazon/vinyl-util';
|
|
2
2
|
import type { PlaybackController } from '../playback/PlaybackController';
|
|
3
|
+
import type { ChangeEvent } from '../event/ChangeEvent';
|
|
3
4
|
export interface AutoResetControllerEventMap {
|
|
4
5
|
/**
|
|
5
6
|
* Notifies that playback errors should be reset and retried.
|
|
6
7
|
*/
|
|
7
8
|
readonly reset: AnyRecord;
|
|
9
|
+
/**
|
|
10
|
+
* Dispatched when {@link AutoResetController.resetPending} changes.
|
|
11
|
+
*/
|
|
12
|
+
readonly resetPendingChange: ChangeEvent<boolean>;
|
|
8
13
|
}
|
|
9
14
|
/**
|
|
10
|
-
* Notifies when playback should be reset and retried
|
|
15
|
+
* Notifies when playback should be reset and retried after a transient,
|
|
16
|
+
* potentially-recoverable error.
|
|
11
17
|
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
* -
|
|
18
|
+
* Once an eligible error is set, the controller watches for opportunities
|
|
19
|
+
* to emit a `reset` event:
|
|
20
|
+
* - Immediately when the network transitions back to online
|
|
21
|
+
* - After a timeout interval, if online and retries are not exhausted
|
|
15
22
|
* - Immediately on user playback actions (play, pause, seeking, playing)
|
|
16
23
|
*
|
|
17
|
-
* Each error triggers a single timeout. If another error occurs
|
|
18
|
-
* setError
|
|
24
|
+
* Each error triggers a single retry timeout. If another error occurs
|
|
25
|
+
* after a reset, {@link AutoResetController.setError} should be called again
|
|
26
|
+
* to schedule the next retry attempt.
|
|
19
27
|
*/
|
|
20
28
|
export interface AutoResetController extends ReadonlyEventHost<AutoResetControllerEventMap>, Clearable {
|
|
21
29
|
/**
|
|
22
|
-
* Sets the current playback error and begins
|
|
30
|
+
* Sets the current playback error and, if eligible, begins watching for
|
|
31
|
+
* retry opportunities.
|
|
32
|
+
*
|
|
33
|
+
* An error is eligible when it is a {@link RequestError} that did not
|
|
34
|
+
* receive an HTTP response (i.e. `response == null`), indicating a
|
|
35
|
+
* transient network failure such as connection loss or DNS failure.
|
|
36
|
+
* All other errors — including HTTP failures with a response (4xx/5xx),
|
|
37
|
+
* and non-RequestError errors — are ignored, since those are unlikely
|
|
38
|
+
* to recover on their own.
|
|
23
39
|
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
40
|
+
* Subsequent calls while an error is already set are ignored until the
|
|
41
|
+
* error is cleared via a reset emission or {@link Clearable.clear}.
|
|
26
42
|
*
|
|
27
|
-
* After a reset, if another error occurs, this method should
|
|
28
|
-
* to schedule the next retry attempt.
|
|
43
|
+
* After a reset, if another eligible error occurs, this method should
|
|
44
|
+
* be called again to schedule the next retry attempt.
|
|
29
45
|
*
|
|
30
46
|
* @param error The error to monitor for retry opportunities
|
|
31
47
|
*/
|
|
32
48
|
setError(error: Error): void;
|
|
49
|
+
/**
|
|
50
|
+
* True while an eligible error is being watched and a `reset` event
|
|
51
|
+
* may still be emitted. Becomes false once the error is cleared, a
|
|
52
|
+
* reset is emitted, or all retries are exhausted.
|
|
53
|
+
*
|
|
54
|
+
* Listen to `resetPendingChange` events for changes.
|
|
55
|
+
*/
|
|
56
|
+
readonly resetPending: boolean;
|
|
33
57
|
}
|
|
34
58
|
export interface AutoResetControllerImplDeps {
|
|
35
59
|
readonly playbackController: PlaybackController;
|
|
@@ -74,7 +98,8 @@ export declare class AutoResetControllerImpl extends EventHostImpl<AutoResetCont
|
|
|
74
98
|
private disposer;
|
|
75
99
|
constructor(deps: AutoResetControllerImplDeps, options?: Partial<AutoResetControllerImplOptions>);
|
|
76
100
|
setError(error: Error): void;
|
|
77
|
-
|
|
101
|
+
get resetPending(): boolean;
|
|
102
|
+
private setResetPending;
|
|
78
103
|
private reset;
|
|
79
104
|
clear(): void;
|
|
80
105
|
get disposed(): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutoResetController.d.ts","sourceRoot":"","sources":["../../../../src/track/AutoResetController.ts"],"names":[],"mappings":"AAKA,OAAO,EACH,KAAK,SAAS,EACd,KAAK,SAAS,EAEd,KAAK,UAAU,
|
|
1
|
+
{"version":3,"file":"AutoResetController.d.ts","sourceRoot":"","sources":["../../../../src/track/AutoResetController.ts"],"names":[],"mappings":"AAKA,OAAO,EACH,KAAK,SAAS,EACd,KAAK,SAAS,EAEd,KAAK,UAAU,EACf,aAAa,EAIb,KAAK,iBAAiB,EAGzB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAEvD,MAAM,WAAW,2BAA2B;IACxC;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAA;IAEzB;;OAEG;IACH,QAAQ,CAAC,kBAAkB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;CACpD;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,mBACb,SAAQ,iBAAiB,CAAC,2BAA2B,CAAC,EAAE,SAAS;IACjE;;;;;;;;;;;;;;;;;;OAkBG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;IAE5B;;;;;;OAMG;IACH,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAA;CACjC;AAED,MAAM,WAAW,2BAA2B;IACxC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAA;CAClD;AAED,MAAM,WAAW,8BAA8B;IAC3C;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IAEzB;;;;;;;OAOG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAE3B;;;;;;;OAOG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;CACjC;AAED,eAAO,MAAM,6BAA6B;;;;CAIS,CAAA;AAEnD,qBAAa,uBACT,SAAQ,aAAa,CAAC,2BAA2B,CACjD,YAAW,mBAAmB,EAAE,UAAU;IAatC,QAAQ,CAAC,IAAI,EAAE,2BAA2B;IAX9C,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAEjC;IAED,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgC;IACxD,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,QAAQ,CAA2B;IAC3C,OAAO,CAAC,YAAY,CAAI;IACxB,OAAO,CAAC,QAAQ,CAAmB;gBAGtB,IAAI,EAAE,2BAA2B,EAC1C,OAAO,CAAC,EAAE,OAAO,CAAC,8BAA8B,CAAC;IAuBrD,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAQ5B,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED,OAAO,CAAC,eAAe;IAsCvB,OAAO,CAAC,KAAK;IAMb,KAAK;IAML,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,OAAO,IAAI,IAAI;CAIlB"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
3
|
* SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
*/
|
|
5
|
-
import { createDisposer,
|
|
5
|
+
import { createDisposer, EventHostImpl, getNetworkState, logDebug, onAny, RequestError, } from '@amazon/vinyl-util';
|
|
6
6
|
export const defaultResetControllerOptions = {
|
|
7
7
|
enabled: true,
|
|
8
8
|
maxRetries: 30,
|
|
@@ -36,38 +36,48 @@ export class AutoResetControllerImpl extends EventHostImpl {
|
|
|
36
36
|
setError(error) {
|
|
37
37
|
if (!this.options.enabled || this._error)
|
|
38
38
|
return;
|
|
39
|
-
if (error instanceof
|
|
40
|
-
error.origin === ErrorOrigin.SERVICE_INTERNAL) {
|
|
39
|
+
if (error instanceof RequestError && error.response == null) {
|
|
41
40
|
this._error = error;
|
|
42
|
-
this.
|
|
41
|
+
this.setResetPending(true);
|
|
43
42
|
}
|
|
44
43
|
}
|
|
45
|
-
|
|
46
|
-
|
|
44
|
+
get resetPending() {
|
|
45
|
+
return this.watchSub != null;
|
|
46
|
+
}
|
|
47
|
+
setResetPending(value) {
|
|
48
|
+
if (this.resetPending === value) {
|
|
49
|
+
logDebug(this, 'setResetPending', value, 'no-op');
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
logDebug(this, 'setResetPending', value);
|
|
47
53
|
this.watchSub?.();
|
|
48
54
|
this.watchSub = null;
|
|
49
|
-
if (
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
55
|
+
if (value) {
|
|
56
|
+
const networkState = getNetworkState();
|
|
57
|
+
const { add, dispose: watchSub } = createDisposer();
|
|
58
|
+
this.watchSub = watchSub;
|
|
59
|
+
add(networkState.on('online', () => {
|
|
60
|
+
logDebug(this, 'online, emitting reset');
|
|
61
|
+
this.reset();
|
|
62
|
+
}));
|
|
63
|
+
const intervalId = setTimeout(() => {
|
|
64
|
+
if (this.currentRetry++ < this.options.maxRetries) {
|
|
65
|
+
if (networkState.onLine) {
|
|
66
|
+
logDebug(this, 'interval, emitting reset');
|
|
67
|
+
this.reset();
|
|
68
|
+
}
|
|
63
69
|
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
|
|
70
|
+
else {
|
|
71
|
+
logDebug(this, 'max retries exhausted, pausing playback');
|
|
72
|
+
this.setResetPending(false);
|
|
73
|
+
}
|
|
74
|
+
}, this.options.retryInterval * 1000);
|
|
75
|
+
add(() => clearTimeout(intervalId));
|
|
76
|
+
}
|
|
77
|
+
this.dispatch('resetPendingChange', {
|
|
78
|
+
previous: !value,
|
|
79
|
+
current: value,
|
|
80
|
+
});
|
|
71
81
|
}
|
|
72
82
|
reset() {
|
|
73
83
|
if (!this._error)
|
|
@@ -79,7 +89,7 @@ export class AutoResetControllerImpl extends EventHostImpl {
|
|
|
79
89
|
if (!this._error)
|
|
80
90
|
return;
|
|
81
91
|
this._error = null;
|
|
82
|
-
this.
|
|
92
|
+
this.setResetPending(false);
|
|
83
93
|
}
|
|
84
94
|
get disposed() {
|
|
85
95
|
return this.disposer.disposed;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Track.d.ts","sourceRoot":"","sources":["../../../../src/track/Track.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACR,SAAS,EACT,UAAU,EACV,SAAS,EACT,iBAAiB,EACjB,cAAc,EACd,WAAW,EACd,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EACR,WAAW,EACX,oBAAoB,EACvB,MAAM,
|
|
1
|
+
{"version":3,"file":"Track.d.ts","sourceRoot":"","sources":["../../../../src/track/Track.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACR,SAAS,EACT,UAAU,EACV,SAAS,EACT,iBAAiB,EACjB,cAAc,EACd,WAAW,EACd,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EACR,WAAW,EACX,oBAAoB,EACvB,MAAM,mCAAmC,CAAA;AAC1C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAEvE;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,iBAAiB,CAAA;AAE7C;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAA;AAE7B;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAA;AAEhC;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;CACpC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,sBAAuB,SAAQ,iBAAiB,CAAC,iBAAiB,CAAC;IAChF;;;OAGG;IACH,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAA;IAEtC;;OAEG;IACH,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,WAAW,CAAC,CAAA;IAE/C;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS,oBAAoB,EAAE,GAAG,IAAI,CAAA;IAE1D;;;OAGG;IACH,QAAQ,CAAC,mBAAmB,EAAE,SAAS,oBAAoB,EAAE,GAAG,IAAI,CAAA;IAEpE;;;;;;;;;OASG;IACH,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,oBAAoB,GAAG,IAAI,CAAA;IAE1E;;;;;;OAMG;IACH,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,oBAAoB,GAAG,IAAI,CAAA;IAE1E;;;;;;OAMG;IACH,kBAAkB,CAAC,WAAW,EAAE,WAAW,GAAG,oBAAoB,GAAG,IAAI,CAAA;CAC5E;AAED,MAAM,WAAW,cAAe,SAAQ,sBAAsB;IAC1D;;OAEG;IACH,aAAa,IAAI,IAAI,CAAA;IAErB;;;OAGG;IACH,KAAK,IAAI,IAAI,CAAA;CAChB;AAED,MAAM,WAAW,aAAc,SAAQ,sBAAsB,EAAE,SAAS;IACpE;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAA;IAEtB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;IAE1B;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IAExB;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;IAE1B;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAA;IAEnB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,KAAK,CAAC,eAAe,SAAS,SAAS,GAAG,SAAS,CAChE,SAAQ,aAAa,EAAE,cAAc,EAAE,UAAU;IACjD;;;;;OAKG;IACH,OAAO,CACH,YAAY,EAAE,mBAAmB,EACjC,WAAW,EAAE,eAAe,GAC7B,IAAI,CAAA;IAEP;;;;;;OAMG;IACH,QAAQ,CAAC,WAAW,EAAE,eAAe,GAAG,IAAI,CAAA;IAE5C;;;;;OAKG;IACH,UAAU,IAAI,IAAI,CAAA;CACrB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TrackBase.d.ts","sourceRoot":"","sources":["../../../../src/track/TrackBase.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAE5D,OAAO,EAIH,aAAa,EAGb,KAAK,KAAK,EAEV,KAAK,cAAc,EACnB,KAAK,WAAW,EACnB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM
|
|
1
|
+
{"version":3,"file":"TrackBase.d.ts","sourceRoot":"","sources":["../../../../src/track/TrackBase.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type AnyRecord, type Disposable, EventHostImpl, type Maybe, type ReadonlyEventHost } from '@amazon/vinyl-util';
|
|
2
2
|
import type { PlaybackController } from '../playback/PlaybackController';
|
|
3
|
-
import type { ReadonlyTrack, TrackUri } from '
|
|
4
|
-
import type { TrackFactory, TrackLoadOptions } from '
|
|
3
|
+
import type { ReadonlyTrack, TrackUri } from './Track';
|
|
4
|
+
import type { TrackFactory, TrackLoadOptions } from './TrackFactory';
|
|
5
5
|
import type { ChangeEvent } from '../event/ChangeEvent';
|
|
6
6
|
export interface TrackControllerEventMap<TrackLoadOptionsType extends TrackLoadOptions> {
|
|
7
7
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TrackController.d.ts","sourceRoot":"","sources":["../../../../src/track/TrackController.ts"],"names":[],"mappings":"AAKA,OAAO,EACH,KAAK,SAAS,EAGd,KAAK,UAAU,EACf,aAAa,EAMb,KAAK,KAAK,EAEV,KAAK,iBAAiB,EAEzB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM
|
|
1
|
+
{"version":3,"file":"TrackController.d.ts","sourceRoot":"","sources":["../../../../src/track/TrackController.ts"],"names":[],"mappings":"AAKA,OAAO,EACH,KAAK,SAAS,EAGd,KAAK,UAAU,EACf,aAAa,EAMb,KAAK,KAAK,EAEV,KAAK,iBAAiB,EAEzB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACxE,OAAO,KAAK,EAAE,aAAa,EAAS,QAAQ,EAAE,MAAM,SAAS,CAAA;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAEvD,MAAM,WAAW,uBAAuB,CACpC,oBAAoB,SAAS,gBAAgB;IAE7C;;;;OAIG;IACH,QAAQ,CAAC,oBAAoB,EAAE,WAAW,CAAC,aAAa,GAAG,IAAI,CAAC,CAAA;IAEhE;;;;;OAKG;IACH,QAAQ,CAAC,kBAAkB,EAAE,WAAW,CAAC,aAAa,GAAG,IAAI,CAAC,CAAA;IAE9D;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,SAAS,oBAAoB,EAAE,CAAC,CAAA;IAElE;;;;OAIG;IACH,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAA;CACjC;AAED,eAAO,MAAM,2BAA2B,sFAK4B,CAAA;AAEpE;;GAEG;AACH,MAAM,WAAW,uBAAuB,CACpC,oBAAoB,SAAS,gBAAgB,CAC/C,SAAQ,iBAAiB,CAAC,uBAAuB,CAAC,oBAAoB,CAAC,CAAC;IACtE;;OAEG;IACH,QAAQ,CAAC,YAAY,EAAE,aAAa,GAAG,IAAI,CAAA;IAE3C;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,SAAS,oBAAoB,EAAE,CAAA;IAE/C;;OAEG;IACH,OAAO,IAAI,OAAO,CAAA;IAElB;;OAEG;IACH,aAAa,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAA;IAErC;;OAEG;IACH,cAAc,CAAC,GAAG,EAAE,QAAQ,GAAG,aAAa,GAAG,IAAI,CAAA;IAEnD;;OAEG;IACH,eAAe,IAAI,gBAAgB,CAAC,aAAa,CAAC,CAAA;CACrD;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe,CAC5B,oBAAoB,SAAS,gBAAgB,CAC/C,SAAQ,uBAAuB,CAAC,oBAAoB,CAAC;IACnD;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,GAAG,eAAe,EAAE,SAAS,oBAAoB,EAAE,GAAG,IAAI,CAAA;IAElE;;;;;;;;;;;;OAYG;IACH,IAAI,CAAC,GAAG,eAAe,EAAE,SAAS,oBAAoB,EAAE,GAAG,IAAI,CAAA;IAE/D;;;OAGG;IACH,MAAM,IAAI,IAAI,CAAA;IAEd;;;;OAIG;IACH,OAAO,CAAC,GAAG,eAAe,EAAE,SAAS,oBAAoB,EAAE,GAAG,IAAI,CAAA;IAElE;;;;;OAKG;IACH,IAAI,IAAI,IAAI,CAAA;IAEZ;;;;;;;OAOG;IACH,aAAa,IAAI,IAAI,CAAA;IAErB;;OAEG;IACH,eAAe,IAAI,IAAI,CAAA;IAEvB;;;OAGG;IACH,UAAU,IAAI,IAAI,CAAA;IAElB;;OAEG;IACH,KAAK,IAAI,IAAI,CAAA;CAChB;AAED,MAAM,WAAW,uBAAuB,CACpC,oBAAoB,SAAS,gBAAgB;IAE7C,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC,oBAAoB,CAAC,CAAA;IAEzD,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAA;CAClD;AAED,MAAM,WAAW,0BAA0B;IACvC;;;OAGG;IACH,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAA;IAEnC;;;;OAIG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAE5B;;;;;;OAMG;IACH,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;CACnC;AAQD;;;;GAIG;AACH,eAAO,MAAM,aAAa;;CAEzB,CAAA;AAED,qBAAa,mBAAmB,CAAC,oBAAoB,SAAS,gBAAgB,CAC1E,SAAQ,aAAa,CAAC,uBAAuB,CAAC,oBAAoB,CAAC,CACnE,YAAW,eAAe,CAAC,oBAAoB,CAAC,EAAE,UAAU;IAkBxD,OAAO,CAAC,QAAQ,CAAC,IAAI;IAhBzB,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAEjC;IAGD,OAAO,CAAC,oBAAoB,CAAI;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiC;IAC5D,OAAO,CAAC,MAAM,CAAsC;IACpD,OAAO,CAAC,QAAQ,CAAoC;IACpD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;IAC5C,OAAO,CAAC,QAAQ,CACqB;IAErC,OAAO,CAAC,mBAAmB,CAAyB;gBAG/B,IAAI,EAAE,uBAAuB,CAAC,oBAAoB,CAAC,EACpE,cAAc,CAAC,EAAE,OAAO,CAAC,0BAA0B,CAAC;IAoCxD,OAAO,CAAC,sBAAsB;IAO9B;;OAEG;IACH,IAAI,OAAO,IAAI,0BAA0B,CAExC;IAED;;;;OAIG;IACH,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAS7D;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAS1B,IAAI,KAAK,IAAI,SAAS,oBAAoB,EAAE,CAE3C;IAED;;;OAGG;IACH,OAAO,KAAK,UAAU,GAKrB;IAED,aAAa,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO;IAIrC,cAAc,CAAC,GAAG,EAAE,QAAQ,GAAG,aAAa,GAAG,IAAI;IAInD,eAAe,IAAI,gBAAgB,CAAC,aAAa,CAAC;IAIlD;;;OAGG;IACH,IAAI,eAAe,IAAI,MAAM,CAK5B;IAED,OAAO,CAAC,mBAAmB,CACqB;IAEhD,OAAO,CAAC,GAAG,eAAe,EAAE,SAAS,oBAAoB,EAAE,GAAG,IAAI;IAMlE,OAAO,CAAC,QAAQ;IAiChB,IAAI,CAAC,GAAG,eAAe,EAAE,SAAS,oBAAoB,EAAE,GAAG,IAAI;IAe/D,MAAM;IAIN,OAAO,CAAC,GAAG,eAAe,EAAE,SAAS,oBAAoB,EAAE,GAAG,IAAI;IAalE,OAAO,IAAI,OAAO;IAIlB,IAAI,IAAI,IAAI;IAwBZ,eAAe;IAkBf,aAAa,IAAI,IAAI;IAMrB,UAAU,IAAI,IAAI;IAUlB;;;;;;;OAOG;IACH,OAAO,CAAC,gBAAgB;IAWxB;;OAEG;IACH,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,aAAa,CAAqB;IAC1C,IAAI,YAAY,IAAI,aAAa,GAAG,IAAI,CAEvC;IAED;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAuBvB,OAAO,CAAC,iBAAiB;IAIzB,KAAK;IAIL,OAAO;CAMV"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { AnyRecord, Maybe, ReadonlyRecord } from '@amazon/vinyl-util';
|
|
2
2
|
import type { ObjectSchema } from '@amazon/vinyl-validation';
|
|
3
|
-
import type { Track, TrackTypeId, TrackUri } from '
|
|
3
|
+
import type { Track, TrackTypeId, TrackUri } from './Track';
|
|
4
4
|
export interface TrackLoadOptions {
|
|
5
5
|
/**
|
|
6
6
|
* The track type, used to map to a track factory.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TrackFactory.d.ts","sourceRoot":"","sources":["../../../../src/track/TrackFactory.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAE1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAQ5D,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"TrackFactory.d.ts","sourceRoot":"","sources":["../../../../src/track/TrackFactory.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAE1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAQ5D,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAE3D,MAAM,WAAW,gBAAgB;IAC7B;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;IAE1B;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAA;IAEtB;;OAEG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;CACrC;AAED,eAAO,MAAM,yBAAyB,EAAE,YAAY,CAAC,gBAAgB,CAMpE,CAAA;AAED;;GAEG;AACH,MAAM,WAAW,YAAY,CAAC,oBAAoB,SAAS,gBAAgB;IACvE;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAAA;IAE7C;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,oBAAoB,GAAG,KAAK,CAAA;CACpD;AAED,MAAM,MAAM,2BAA2B,CAAC,CAAC,SAAS,YAAY,CAAC,GAAG,CAAC,IAC/D,CAAC,SAAS,YAAY,CAAC,MAAM,WAAW,CAAC,GAAG,WAAW,GAAG,KAAK,CAAA;AAEnE,MAAM,MAAM,2BAA2B,CACnC,CAAC,SAAS,cAAc,CAAC,WAAW,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC,IACrE,2BAA2B,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;AAE3C,MAAM,MAAM,kBAAkB,GAAG,cAAc,CAC3C,WAAW,EACX,YAAY,CAAC,gBAAgB,CAAC,CACjC,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,uBAAuB,CAAC,CAAC,SAAS,kBAAkB,IAAI;IAChE,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,2BAA2B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GACtE,CAAC,CAAC,CAAC,CAAC,GACJ,KAAK;CACd,CAAA;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,kBAAkB,EAC3D,SAAS,EAAE,uBAAuB,CAAC,CAAC,CAAC,GACtC,YAAY,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,CAa9C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createSegmentDataProvider.d.ts","sourceRoot":"","sources":["../../../../src/track/createSegmentDataProvider.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACR,KAAK,EAIL,kBAAkB,EAClB,kBAAkB,EAErB,MAAM,oBAAoB,CAAA;AAQ3B,OAAO,EAAE,KAAK,SAAS,EAAsB,MAAM,0BAA0B,CAAA;AAC7E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"createSegmentDataProvider.d.ts","sourceRoot":"","sources":["../../../../src/track/createSegmentDataProvider.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACR,KAAK,EAIL,kBAAkB,EAClB,kBAAkB,EAErB,MAAM,oBAAoB,CAAA;AAQ3B,OAAO,EAAE,KAAK,SAAS,EAAsB,MAAM,0BAA0B,CAAA;AAC7E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAA;AAEvE,MAAM,WAAW,6BAA6B;IAC1C,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAA;IAC/C,QAAQ,CAAC,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAA;CACzD;AAED,MAAM,WAAW,gCAAgC;IAC7C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;IACtC,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IAClC;;OAEG;IACH,QAAQ,CAAC,qBAAqB,EAAE,OAAO,CAAA;CAC1C;AAED,wBAAgB,yBAAyB,CACrC,IAAI,EAAE,6BAA6B,EACnC,OAAO,EAAE,gCAAgC,GAC1C,mBAAmB,CAyDrB"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { type SourceObjectTrackDeps, type SourceObjectTrackLoadOptions } from '
|
|
2
|
-
import { type SourceTrackDeps, type SourceTrackLoadOptions } from '
|
|
3
|
-
import type { TrackFactory } from '
|
|
4
|
-
import { type DashTrackFactoryDeps, type DashTrackLoadOptions } from '
|
|
5
|
-
import { type HlsTrackFactoryDeps, type HlsTrackLoadOptions } from '
|
|
1
|
+
import { type SourceObjectTrackDeps, type SourceObjectTrackLoadOptions } from './source/SourceObjectTrack';
|
|
2
|
+
import { type SourceTrackDeps, type SourceTrackLoadOptions } from './source/SourceTrack';
|
|
3
|
+
import type { TrackFactory } from './TrackFactory';
|
|
4
|
+
import { type DashTrackFactoryDeps, type DashTrackLoadOptions } from './dash/DashTrack';
|
|
5
|
+
import { type HlsTrackFactoryDeps, type HlsTrackLoadOptions } from './hls/HlsTrack';
|
|
6
6
|
export interface VinylTrackFactoryDeps extends SourceTrackDeps, SourceObjectTrackDeps, DashTrackFactoryDeps, HlsTrackFactoryDeps {
|
|
7
7
|
}
|
|
8
8
|
export type VinylTrackLoadOptions = SourceObjectTrackLoadOptions | SourceTrackLoadOptions | DashTrackLoadOptions | HlsTrackLoadOptions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createVinylTrackFactories.d.ts","sourceRoot":"","sources":["../../../../src/track/createVinylTrackFactories.ts"],"names":[],"mappings":"AAKA,OAAO,EAEH,KAAK,qBAAqB,EAC1B,KAAK,4BAA4B,EACpC,MAAM,
|
|
1
|
+
{"version":3,"file":"createVinylTrackFactories.d.ts","sourceRoot":"","sources":["../../../../src/track/createVinylTrackFactories.ts"],"names":[],"mappings":"AAKA,OAAO,EAEH,KAAK,qBAAqB,EAC1B,KAAK,4BAA4B,EACpC,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAEH,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC9B,MAAM,sBAAsB,CAAA;AAE7B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAElD,OAAO,EAEH,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EAC5B,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAEH,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EAC3B,MAAM,gBAAgB,CAAA;AAEvB,MAAM,WAAW,qBACb,SACI,eAAe,EACf,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB;CAAG;AAE9B,MAAM,MAAM,qBAAqB,GAC3B,4BAA4B,GAC5B,sBAAsB,GACtB,oBAAoB,GACpB,mBAAmB,CAAA;AAEzB;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,qBAAqB;;;;;EAUpE"}
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
3
|
* SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
*/
|
|
5
|
-
import { createSourceObjectTrackFactory, } from '
|
|
6
|
-
import { createSourceTrackFactory, } from '
|
|
7
|
-
import { createDashTrackFactory, } from '
|
|
8
|
-
import { createHlsTrackFactory, } from '
|
|
5
|
+
import { createSourceObjectTrackFactory, } from './source/SourceObjectTrack';
|
|
6
|
+
import { createSourceTrackFactory, } from './source/SourceTrack';
|
|
7
|
+
import { createDashTrackFactory, } from './dash/DashTrack';
|
|
8
|
+
import { createHlsTrackFactory, } from './hls/HlsTrack';
|
|
9
9
|
/**
|
|
10
10
|
* Provides a map of track type id to their respective loaders.
|
|
11
11
|
* @param deps
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { DashManifestData, DashManifestProvider } from '
|
|
1
|
+
import type { DashManifestData, DashManifestProvider } from './DashManifestProvider';
|
|
2
2
|
import type { ManifestController } from '../../streaming/ManifestController';
|
|
3
3
|
export type DashManifestController = ManifestController<Promise<DashManifestData>>;
|
|
4
4
|
export interface DashManifestControllerImplDeps {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DashManifestController.d.ts","sourceRoot":"","sources":["../../../../../src/track/dash/DashManifestController.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACR,gBAAgB,EAChB,oBAAoB,EACvB,MAAM,
|
|
1
|
+
{"version":3,"file":"DashManifestController.d.ts","sourceRoot":"","sources":["../../../../../src/track/dash/DashManifestController.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACR,gBAAgB,EAChB,oBAAoB,EACvB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAA;AAE5E,MAAM,MAAM,sBAAsB,GAAG,kBAAkB,CACnD,OAAO,CAAC,gBAAgB,CAAC,CAC5B,CAAA;AAED,MAAM,WAAW,8BAA8B;IAC3C;;OAEG;IACH,QAAQ,CAAC,gBAAgB,EAAE,oBAAoB,CAAA;CAClD;AAED,qBAAa,0BAA2B,YAAW,sBAAsB;IAgBzD,QAAQ,CAAC,IAAI,EAAE,8BAA8B;IAfzD,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAEjC;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,OAAO,CAAC,QAAQ,CAAC,KAAK,CAErB;IACD,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoB;IAC9C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;gBAEvB,IAAI,EAAE,8BAA8B;IAMzD;;;OAGG;IACH,IAAI,KAAK,IAAI,KAAK,GAAG,IAAI,CAExB;IAED;;;OAGG;IACH,OAAO;IAWP;;OAEG;IACH,KAAK;IAOL,IAAI,KAAK,8BAER;IAED,IAAI,QAAQ,WAEX;IAED,QAAQ;IAIR,MAAM,CACF,QAAQ,EAAE,CACN,KAAK,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAChC,QAAQ,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,SAAS,KAC9C,IAAI;IAKb,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC;IAIzD,IAAI,CAAC,CAAC,SAAS,MAAM,WAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;IAIpE,OAAO,CAAC,KAAK;IAIb,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,OAAO;CAIV"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DashMediaQualityMetadataResolver.d.ts","sourceRoot":"","sources":["../../../../../src/track/dash/DashMediaQualityMetadataResolver.ts"],"names":[],"mappings":"AAeA,OAAO,EAEH,KAAK,iBAAiB,EAGtB,KAAK,UAAU,EAEf,KAAK,kBAAkB,EAC1B,MAAM,0BAA0B,CAAA;AACjC,OAAO,KAAK,EACR,WAAW,EACX,aAAa,EACb,oBAAoB,EACvB,MAAM,
|
|
1
|
+
{"version":3,"file":"DashMediaQualityMetadataResolver.d.ts","sourceRoot":"","sources":["../../../../../src/track/dash/DashMediaQualityMetadataResolver.ts"],"names":[],"mappings":"AAeA,OAAO,EAEH,KAAK,iBAAiB,EAGtB,KAAK,UAAU,EAEf,KAAK,kBAAkB,EAC1B,MAAM,0BAA0B,CAAA;AACjC,OAAO,KAAK,EACR,WAAW,EACX,aAAa,EACb,oBAAoB,EACvB,MAAM,sCAAsC,CAAA;AAC7C,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,gCAAgC,CAAA;AAS1E;;;GAGG;AACH,eAAO,MAAM,+BAA+B,gDACK,CAAA;AAEjD;;GAEG;AACH,MAAM,MAAM,gCAAgC,GAAG,CAC3C,cAAc,EAAE,kBAAkB,KACjC,oBAAoB,CAAA;AAEzB;;;GAGG;AACH,wBAAgB,6CAA6C,CACzD,IAAI,EAAE,oCAAoC,GAC3C,gCAAgC,CAUlC;AAED,MAAM,WAAW,oCAAoC;IACjD,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,CAAA;CACtD;AAED,wBAAgB,gDAAgD,CAC5D,cAAc,EAAE,kBAAkB,EAClC,IAAI,EAAE,oCAAoC,GAC3C,oBAAoB,CA0FtB;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACjC,cAAc,EAAE,kBAAkB,EAClC,WAAW,EAAE,WAAW,GACzB,MAAM,CAqBR;AAED;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,4DACzB,UAAU,KAAG,WAAW,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC,CA0BpE,CAAA;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACvC,iBAAiB,EAAE,iBAAiB,EACpC,IAAI,EAAE,oCAAoC,GAC3C,SAAS,aAAa,EAAE,CAS1B"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { ErrorOrigin, getOrSet, getOrSetProp, memoize, sortedInsertionIndex, ValidationError, } from '@amazon/vinyl-util';
|
|
6
6
|
import { ContentProtectionScheme, } from '@amazon/vinyl-mpd-parser';
|
|
7
|
-
import { getRepresentationMimeInfo } from '
|
|
7
|
+
import { getRepresentationMimeInfo } from './util/mimeType';
|
|
8
8
|
import { parseCencEncryptionScheme, } from '../../drm/CencEncryptionScheme';
|
|
9
9
|
/**
|
|
10
10
|
* DASH supplemental property scheme URI for adaptation set switching.
|