@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.
Files changed (447) hide show
  1. package/README.md +49 -8
  2. package/dist/index.cjs +276 -200
  3. package/dist/index.cjs.map +4 -4
  4. package/dist/index.js +280 -203
  5. package/dist/index.js.map +4 -4
  6. package/dist/test/benchmark.es5.js +169 -232
  7. package/dist/test/benchmark.js +1475 -1933
  8. package/dist/test/benchmark.js.map +4 -4
  9. package/dist/test/integ.es5.js +771 -394
  10. package/dist/test/integ.js +6063 -5273
  11. package/dist/test/integ.js.map +4 -4
  12. package/dist/test/jasmineHtml.es5.js +8 -8
  13. package/dist/test/jasmineHtml.js +8 -4
  14. package/dist/test/jasmineHtml.js.map +3 -3
  15. package/dist/types/current/client/Capabilities.d.ts.map +1 -1
  16. package/dist/types/current/client/CapabilitiesImpl.d.ts.map +1 -1
  17. package/dist/types/current/drm/DrmController.d.ts +2 -2
  18. package/dist/types/current/drm/DrmController.d.ts.map +1 -1
  19. package/dist/types/current/drm/DrmControllerImpl.d.ts +3 -3
  20. package/dist/types/current/drm/DrmControllerImpl.d.ts.map +1 -1
  21. package/dist/types/current/drm/DrmControllerImpl.js +7 -7
  22. package/dist/types/current/drm/DrmKeySystemResolver.d.ts +1 -1
  23. package/dist/types/current/drm/DrmKeySystemResolver.d.ts.map +1 -1
  24. package/dist/types/current/drm/DrmKeySystemResolver.js +1 -1
  25. package/dist/types/current/drm/DrmOptions.d.ts +1 -1
  26. package/dist/types/current/drm/DrmOptions.d.ts.map +1 -1
  27. package/dist/types/current/drm/DrmOptions.js +1 -1
  28. package/dist/types/current/drm/commonEme/CommonEme.d.ts +2 -2
  29. package/dist/types/current/drm/commonEme/CommonEme.d.ts.map +1 -1
  30. package/dist/types/current/drm/commonEme/CommonEmeFactory.d.ts +1 -1
  31. package/dist/types/current/drm/commonEme/CommonEmeFactory.d.ts.map +1 -1
  32. package/dist/types/current/drm/commonEme/MsCommonEme.d.ts +1 -1
  33. package/dist/types/current/drm/commonEme/MsCommonEme.d.ts.map +1 -1
  34. package/dist/types/current/drm/commonEme/MsCommonEme.js +1 -1
  35. package/dist/types/current/drm/commonEme/StandardCommonEme.d.ts +1 -1
  36. package/dist/types/current/drm/commonEme/StandardCommonEme.d.ts.map +1 -1
  37. package/dist/types/current/drm/commonEme/WebKitCommonEme.d.ts +2 -2
  38. package/dist/types/current/drm/commonEme/WebKitCommonEme.d.ts.map +1 -1
  39. package/dist/types/current/drm/commonEme/WebKitCommonEme.js +1 -1
  40. package/dist/types/current/drm/commonEme/createDrmErrorHandler.js +1 -1
  41. package/dist/types/current/drm/licenseProvider/LicenseProvider.d.ts +1 -1
  42. package/dist/types/current/drm/licenseProvider/LicenseProvider.d.ts.map +1 -1
  43. package/dist/types/current/global/environment.d.ts +6 -2
  44. package/dist/types/current/global/environment.d.ts.map +1 -1
  45. package/dist/types/current/global/environment.js +4 -3
  46. package/dist/types/current/global/initializeVinylGlobal.js +1 -1
  47. package/dist/types/current/patch/media/MediaElementPatchOptions.js +1 -1
  48. package/dist/types/current/patch/media/patchMediaElement.js +1 -1
  49. package/dist/types/current/patch/media/patches/createPreventStallsPatch.d.ts +1 -1
  50. package/dist/types/current/patch/media/patches/createPreventStallsPatch.d.ts.map +1 -1
  51. package/dist/types/current/patch/media/patches/createUnreliablePlaybackEventsPatch.d.ts +1 -1
  52. package/dist/types/current/patch/media/patches/createUnreliablePlaybackEventsPatch.d.ts.map +1 -1
  53. package/dist/types/current/playback/PlaybackControllerImpl.d.ts +1 -1
  54. package/dist/types/current/playback/PlaybackControllerImpl.d.ts.map +1 -1
  55. package/dist/types/current/playback/PlaybackControllerImpl.js +4 -4
  56. package/dist/types/current/playback/ReadonlyPlaybackController.d.ts.map +1 -1
  57. package/dist/types/current/playback/error/ReportableMediaError.js +1 -1
  58. package/dist/types/current/playback/logging/playbackStateLoggingHandler.d.ts +1 -1
  59. package/dist/types/current/playback/logging/playbackStateLoggingHandler.d.ts.map +1 -1
  60. package/dist/types/current/playback/logging/playbackStateLoggingHandler.js +1 -1
  61. package/dist/types/current/playback/nextHasMetadata.d.ts +1 -1
  62. package/dist/types/current/playback/nextHasMetadata.d.ts.map +1 -1
  63. package/dist/types/current/streaming/ContentStream.d.ts +4 -4
  64. package/dist/types/current/streaming/ContentStream.d.ts.map +1 -1
  65. package/dist/types/current/streaming/ContentStreamingOptions.d.ts +2 -2
  66. package/dist/types/current/streaming/ContentStreamingOptions.d.ts.map +1 -1
  67. package/dist/types/current/streaming/MediaQualityMetadata.d.ts +2 -2
  68. package/dist/types/current/streaming/MediaQualityMetadata.d.ts.map +1 -1
  69. package/dist/types/current/streaming/MediaQualityMetadata.js +1 -1
  70. package/dist/types/current/streaming/MediaTimeline.d.ts +6 -5
  71. package/dist/types/current/streaming/MediaTimeline.d.ts.map +1 -1
  72. package/dist/types/current/streaming/SegmentController.d.ts +2 -7
  73. package/dist/types/current/streaming/SegmentController.d.ts.map +1 -1
  74. package/dist/types/current/streaming/SegmentControllerImpl.d.ts +5 -6
  75. package/dist/types/current/streaming/SegmentControllerImpl.d.ts.map +1 -1
  76. package/dist/types/current/streaming/SegmentControllerImpl.js +5 -15
  77. package/dist/types/current/streaming/SegmentReference.d.ts +1 -1
  78. package/dist/types/current/streaming/SegmentReference.d.ts.map +1 -1
  79. package/dist/types/current/streaming/StreamingEventMap.d.ts +1 -1
  80. package/dist/types/current/streaming/StreamingEventMap.d.ts.map +1 -1
  81. package/dist/types/current/streaming/abr/QualitySelector.d.ts +1 -1
  82. package/dist/types/current/streaming/abr/QualitySelector.d.ts.map +1 -1
  83. package/dist/types/current/streaming/abr/QualitySelectorImpl.d.ts +18 -3
  84. package/dist/types/current/streaming/abr/QualitySelectorImpl.d.ts.map +1 -1
  85. package/dist/types/current/streaming/abr/QualitySelectorImpl.js +8 -2
  86. package/dist/types/current/streaming/buffering/BufferingController.d.ts +3 -13
  87. package/dist/types/current/streaming/buffering/BufferingController.d.ts.map +1 -1
  88. package/dist/types/current/streaming/buffering/BufferingController.js +1 -24
  89. package/dist/types/current/streaming/buffering/MediaSourceController.d.ts +41 -15
  90. package/dist/types/current/streaming/buffering/MediaSourceController.d.ts.map +1 -1
  91. package/dist/types/current/streaming/buffering/MediaSourceController.js +74 -17
  92. package/dist/types/current/streaming/buffering/SourceBufferController.d.ts +1 -1
  93. package/dist/types/current/streaming/buffering/SourceBufferController.d.ts.map +1 -1
  94. package/dist/types/current/streaming/createDefaultMediaTimelineTransformer.d.ts +1 -1
  95. package/dist/types/current/streaming/createDefaultMediaTimelineTransformer.d.ts.map +1 -1
  96. package/dist/types/current/streaming/createDefaultMediaTimelineTransformer.js +2 -2
  97. package/dist/types/current/streaming/mediaTimelineFilter.d.ts +3 -3
  98. package/dist/types/current/streaming/mediaTimelineFilter.d.ts.map +1 -1
  99. package/dist/types/current/streaming/mediaTimelineFilter.js +1 -1
  100. package/dist/types/current/streaming/mediaTimelineLanguageFilter.d.ts +1 -1
  101. package/dist/types/current/streaming/mediaTimelineLanguageFilter.d.ts.map +1 -1
  102. package/dist/types/current/streaming/util/segment.d.ts +1 -1
  103. package/dist/types/current/streaming/util/segment.d.ts.map +1 -1
  104. package/dist/types/current/track/AutoResetController.d.ts +37 -12
  105. package/dist/types/current/track/AutoResetController.d.ts.map +1 -1
  106. package/dist/types/current/track/AutoResetController.js +38 -28
  107. package/dist/types/current/track/Track.d.ts.map +1 -1
  108. package/dist/types/current/track/TrackBase.d.ts.map +1 -1
  109. package/dist/types/current/track/TrackController.d.ts +2 -2
  110. package/dist/types/current/track/TrackController.d.ts.map +1 -1
  111. package/dist/types/current/track/TrackFactory.d.ts +1 -1
  112. package/dist/types/current/track/TrackFactory.d.ts.map +1 -1
  113. package/dist/types/current/track/createSegmentDataProvider.d.ts.map +1 -1
  114. package/dist/types/current/track/createVinylTrackFactories.d.ts +5 -5
  115. package/dist/types/current/track/createVinylTrackFactories.d.ts.map +1 -1
  116. package/dist/types/current/track/createVinylTrackFactories.js +4 -4
  117. package/dist/types/current/track/dash/DashManifestController.d.ts +1 -1
  118. package/dist/types/current/track/dash/DashManifestController.d.ts.map +1 -1
  119. package/dist/types/current/track/dash/DashMediaQualityMetadataResolver.d.ts.map +1 -1
  120. package/dist/types/current/track/dash/DashMediaQualityMetadataResolver.js +1 -1
  121. package/dist/types/current/track/dash/DashTrack.d.ts +4 -4
  122. package/dist/types/current/track/dash/DashTrack.d.ts.map +1 -1
  123. package/dist/types/current/track/dash/DashTrack.js +2 -2
  124. package/dist/types/current/track/dash/buildDashMediaTimeline.d.ts +2 -2
  125. package/dist/types/current/track/dash/buildDashMediaTimeline.d.ts.map +1 -1
  126. package/dist/types/current/track/dash/buildDashMediaTimeline.js +2 -2
  127. package/dist/types/current/track/dash/createDashContentStreamFactories.d.ts.map +1 -1
  128. package/dist/types/current/track/dash/createDashContentTypesValue.d.ts +2 -2
  129. package/dist/types/current/track/dash/createDashContentTypesValue.d.ts.map +1 -1
  130. package/dist/types/current/track/dash/createDashContentTypesValue.js +1 -1
  131. package/dist/types/current/track/dash/createDashFactories.d.ts +12 -12
  132. package/dist/types/current/track/dash/createDashFactories.d.ts.map +1 -1
  133. package/dist/types/current/track/dash/createDashFactories.js +8 -8
  134. package/dist/types/current/track/dash/createDashManifestProvider.d.ts +1 -1
  135. package/dist/types/current/track/dash/createDashManifestProvider.d.ts.map +1 -1
  136. package/dist/types/current/track/dash/createDashManifestProvider.js +1 -1
  137. package/dist/types/current/track/dash/createDefaultDashManifestTransformer.d.ts +1 -1
  138. package/dist/types/current/track/dash/createDefaultDashManifestTransformer.d.ts.map +1 -1
  139. package/dist/types/current/track/dash/createDefaultDashManifestTransformer.js +1 -1
  140. package/dist/types/current/track/dash/createSegmentControllerFactory.d.ts.map +1 -1
  141. package/dist/types/current/track/dash/manifestTransformUtils.d.ts +1 -1
  142. package/dist/types/current/track/dash/manifestTransformUtils.d.ts.map +1 -1
  143. package/dist/types/current/track/dash/timeline/DashRepresentationSegmentProvider.d.ts +3 -3
  144. package/dist/types/current/track/dash/timeline/DashRepresentationSegmentProvider.d.ts.map +1 -1
  145. package/dist/types/current/track/dash/timeline/DashRepresentationSegmentProvider.js +3 -3
  146. package/dist/types/current/track/dash/urlDashManifestProvider.d.ts +1 -1
  147. package/dist/types/current/track/dash/urlDashManifestProvider.d.ts.map +1 -1
  148. package/dist/types/current/track/dash/util/mimeType.d.ts.map +1 -1
  149. package/dist/types/current/track/dash/util/mimeType.js +1 -1
  150. package/dist/types/current/track/dash/util/mpd.d.ts +3 -2
  151. package/dist/types/current/track/dash/util/mpd.d.ts.map +1 -1
  152. package/dist/types/current/track/dash/util/mpd.js +13 -3
  153. package/dist/types/current/track/dash/util/uriResolution.js +1 -1
  154. package/dist/types/current/track/filters/keySystemFilter.d.ts.map +1 -1
  155. package/dist/types/current/track/filters/resourceTypeFilter.d.ts.map +1 -1
  156. package/dist/types/current/track/filters/sampleRateFilter.d.ts.map +1 -1
  157. package/dist/types/current/track/hls/HlsTrack.d.ts.map +1 -1
  158. package/dist/types/current/track/hls/buildHlsMediaTimeline.d.ts +3 -3
  159. package/dist/types/current/track/hls/buildHlsMediaTimeline.d.ts.map +1 -1
  160. package/dist/types/current/track/hls/buildHlsMediaTimeline.js +16 -14
  161. package/dist/types/current/track/hls/createDefaultHlsManifestTransformer.d.ts +1 -1
  162. package/dist/types/current/track/hls/createDefaultHlsManifestTransformer.d.ts.map +1 -1
  163. package/dist/types/current/track/hls/createHlsContentStreamFactories.d.ts.map +1 -1
  164. package/dist/types/current/track/hls/util/hlsSegmentTime.d.ts +1 -1
  165. package/dist/types/current/track/hls/util/hlsSegmentTime.d.ts.map +1 -1
  166. package/dist/types/current/track/hls/util/hlsSegmentTime.js +1 -1
  167. package/dist/types/current/track/mse/MseTrack.d.ts +2 -2
  168. package/dist/types/current/track/mse/MseTrack.d.ts.map +1 -1
  169. package/dist/types/current/track/mse/MseTrack.js +2 -1
  170. package/dist/types/current/track/mse/codec.d.ts.map +1 -1
  171. package/dist/types/current/track/source/FixedPlaybackQuality.d.ts +1 -1
  172. package/dist/types/current/track/source/FixedPlaybackQuality.d.ts.map +1 -1
  173. package/dist/types/current/track/source/SourceObjectTrack.d.ts +4 -4
  174. package/dist/types/current/track/source/SourceObjectTrack.d.ts.map +1 -1
  175. package/dist/types/current/track/source/SourceObjectTrack.js +2 -2
  176. package/dist/types/current/track/source/SourceTrack.d.ts +4 -4
  177. package/dist/types/current/track/source/SourceTrack.d.ts.map +1 -1
  178. package/dist/types/current/track/source/SourceTrack.js +2 -2
  179. package/dist/types/current/track/source/SourceTrackBase.d.ts +2 -2
  180. package/dist/types/current/track/source/SourceTrackBase.d.ts.map +1 -1
  181. package/dist/types/current/track/source/SourceTrackBase.js +2 -2
  182. package/dist/types/current/tsconfig.tsbuildinfo +1 -1
  183. package/dist/types/current/vinyl/ReadonlyPlaybackStreamingState.d.ts.map +1 -1
  184. package/dist/types/current/vinyl/VinylDeps.d.ts +1 -1
  185. package/dist/types/current/vinyl/VinylDeps.d.ts.map +1 -1
  186. package/dist/types/current/vinyl/VinylOptions.d.ts.map +1 -1
  187. package/dist/types/current/vinyl/VinylPatchOptions.d.ts.map +1 -1
  188. package/dist/types/current/vinyl/VinylPlayer.d.ts +26 -2
  189. package/dist/types/current/vinyl/VinylPlayer.d.ts.map +1 -1
  190. package/dist/types/current/vinyl/VinylPlayer.js +18 -3
  191. package/dist/types/current/vinyl/createVinylFactories.d.ts +9 -11
  192. package/dist/types/current/vinyl/createVinylFactories.d.ts.map +1 -1
  193. package/dist/types/current/vinyl/createVinylFactories.js +2 -2
  194. package/dist/types/ts3.7/drm/DrmController.d.ts +2 -2
  195. package/dist/types/ts3.7/drm/DrmControllerImpl.d.ts +3 -3
  196. package/dist/types/ts3.7/drm/DrmKeySystemResolver.d.ts +1 -1
  197. package/dist/types/ts3.7/drm/DrmOptions.d.ts +1 -1
  198. package/dist/types/ts3.7/drm/commonEme/CommonEme.d.ts +2 -2
  199. package/dist/types/ts3.7/drm/commonEme/CommonEmeFactory.d.ts +1 -1
  200. package/dist/types/ts3.7/drm/commonEme/MsCommonEme.d.ts +1 -1
  201. package/dist/types/ts3.7/drm/commonEme/StandardCommonEme.d.ts +1 -1
  202. package/dist/types/ts3.7/drm/commonEme/WebKitCommonEme.d.ts +2 -2
  203. package/dist/types/ts3.7/drm/licenseProvider/LicenseProvider.d.ts +1 -1
  204. package/dist/types/ts3.7/global/environment.d.ts +6 -2
  205. package/dist/types/ts3.7/patch/media/patches/createPreventStallsPatch.d.ts +1 -1
  206. package/dist/types/ts3.7/patch/media/patches/createUnreliablePlaybackEventsPatch.d.ts +1 -1
  207. package/dist/types/ts3.7/playback/PlaybackControllerImpl.d.ts +1 -1
  208. package/dist/types/ts3.7/playback/logging/playbackStateLoggingHandler.d.ts +1 -1
  209. package/dist/types/ts3.7/playback/nextHasMetadata.d.ts +1 -1
  210. package/dist/types/ts3.7/streaming/ContentStream.d.ts +4 -4
  211. package/dist/types/ts3.7/streaming/ContentStreamingOptions.d.ts +2 -2
  212. package/dist/types/ts3.7/streaming/MediaQualityMetadata.d.ts +2 -2
  213. package/dist/types/ts3.7/streaming/MediaTimeline.d.ts +6 -5
  214. package/dist/types/ts3.7/streaming/SegmentController.d.ts +2 -7
  215. package/dist/types/ts3.7/streaming/SegmentControllerImpl.d.ts +5 -6
  216. package/dist/types/ts3.7/streaming/SegmentReference.d.ts +1 -1
  217. package/dist/types/ts3.7/streaming/StreamingEventMap.d.ts +1 -1
  218. package/dist/types/ts3.7/streaming/abr/QualitySelector.d.ts +1 -1
  219. package/dist/types/ts3.7/streaming/abr/QualitySelectorImpl.d.ts +18 -3
  220. package/dist/types/ts3.7/streaming/buffering/BufferingController.d.ts +3 -13
  221. package/dist/types/ts3.7/streaming/buffering/MediaSourceController.d.ts +41 -15
  222. package/dist/types/ts3.7/streaming/buffering/SourceBufferController.d.ts +1 -1
  223. package/dist/types/ts3.7/streaming/createDefaultMediaTimelineTransformer.d.ts +1 -1
  224. package/dist/types/ts3.7/streaming/mediaTimelineFilter.d.ts +3 -3
  225. package/dist/types/ts3.7/streaming/mediaTimelineLanguageFilter.d.ts +1 -1
  226. package/dist/types/ts3.7/streaming/util/segment.d.ts +1 -1
  227. package/dist/types/ts3.7/track/AutoResetController.d.ts +37 -12
  228. package/dist/types/ts3.7/track/TrackController.d.ts +2 -2
  229. package/dist/types/ts3.7/track/TrackFactory.d.ts +1 -1
  230. package/dist/types/ts3.7/track/createVinylTrackFactories.d.ts +5 -5
  231. package/dist/types/ts3.7/track/dash/DashManifestController.d.ts +1 -1
  232. package/dist/types/ts3.7/track/dash/DashTrack.d.ts +4 -4
  233. package/dist/types/ts3.7/track/dash/buildDashMediaTimeline.d.ts +2 -2
  234. package/dist/types/ts3.7/track/dash/createDashContentTypesValue.d.ts +2 -2
  235. package/dist/types/ts3.7/track/dash/createDashFactories.d.ts +12 -12
  236. package/dist/types/ts3.7/track/dash/createDashManifestProvider.d.ts +1 -1
  237. package/dist/types/ts3.7/track/dash/createDefaultDashManifestTransformer.d.ts +1 -1
  238. package/dist/types/ts3.7/track/dash/manifestTransformUtils.d.ts +1 -1
  239. package/dist/types/ts3.7/track/dash/timeline/DashRepresentationSegmentProvider.d.ts +3 -3
  240. package/dist/types/ts3.7/track/dash/urlDashManifestProvider.d.ts +1 -1
  241. package/dist/types/ts3.7/track/dash/util/mpd.d.ts +3 -2
  242. package/dist/types/ts3.7/track/hls/buildHlsMediaTimeline.d.ts +3 -3
  243. package/dist/types/ts3.7/track/hls/createDefaultHlsManifestTransformer.d.ts +1 -1
  244. package/dist/types/ts3.7/track/hls/util/hlsSegmentTime.d.ts +1 -1
  245. package/dist/types/ts3.7/track/mse/MseTrack.d.ts +2 -2
  246. package/dist/types/ts3.7/track/source/FixedPlaybackQuality.d.ts +1 -1
  247. package/dist/types/ts3.7/track/source/SourceObjectTrack.d.ts +4 -4
  248. package/dist/types/ts3.7/track/source/SourceTrack.d.ts +4 -4
  249. package/dist/types/ts3.7/track/source/SourceTrackBase.d.ts +2 -2
  250. package/dist/types/ts3.7/vinyl/VinylDeps.d.ts +1 -1
  251. package/dist/types/ts3.7/vinyl/VinylPlayer.d.ts +18 -2
  252. package/dist/types/ts3.7/vinyl/createVinylFactories.d.ts +9 -11
  253. package/dist/types/ts4.1/drm/DrmController.d.ts +2 -2
  254. package/dist/types/ts4.1/drm/DrmControllerImpl.d.ts +3 -3
  255. package/dist/types/ts4.1/drm/DrmKeySystemResolver.d.ts +1 -1
  256. package/dist/types/ts4.1/drm/DrmOptions.d.ts +1 -1
  257. package/dist/types/ts4.1/drm/commonEme/CommonEme.d.ts +2 -2
  258. package/dist/types/ts4.1/drm/commonEme/CommonEmeFactory.d.ts +1 -1
  259. package/dist/types/ts4.1/drm/commonEme/MsCommonEme.d.ts +1 -1
  260. package/dist/types/ts4.1/drm/commonEme/StandardCommonEme.d.ts +1 -1
  261. package/dist/types/ts4.1/drm/commonEme/WebKitCommonEme.d.ts +2 -2
  262. package/dist/types/ts4.1/drm/licenseProvider/LicenseProvider.d.ts +1 -1
  263. package/dist/types/ts4.1/global/environment.d.ts +6 -2
  264. package/dist/types/ts4.1/patch/media/patches/createPreventStallsPatch.d.ts +1 -1
  265. package/dist/types/ts4.1/patch/media/patches/createUnreliablePlaybackEventsPatch.d.ts +1 -1
  266. package/dist/types/ts4.1/playback/PlaybackControllerImpl.d.ts +1 -1
  267. package/dist/types/ts4.1/playback/logging/playbackStateLoggingHandler.d.ts +1 -1
  268. package/dist/types/ts4.1/playback/nextHasMetadata.d.ts +1 -1
  269. package/dist/types/ts4.1/streaming/ContentStream.d.ts +4 -4
  270. package/dist/types/ts4.1/streaming/ContentStreamingOptions.d.ts +2 -2
  271. package/dist/types/ts4.1/streaming/MediaQualityMetadata.d.ts +2 -2
  272. package/dist/types/ts4.1/streaming/MediaTimeline.d.ts +6 -5
  273. package/dist/types/ts4.1/streaming/SegmentController.d.ts +2 -7
  274. package/dist/types/ts4.1/streaming/SegmentControllerImpl.d.ts +5 -6
  275. package/dist/types/ts4.1/streaming/SegmentReference.d.ts +1 -1
  276. package/dist/types/ts4.1/streaming/StreamingEventMap.d.ts +1 -1
  277. package/dist/types/ts4.1/streaming/abr/QualitySelector.d.ts +1 -1
  278. package/dist/types/ts4.1/streaming/abr/QualitySelectorImpl.d.ts +18 -3
  279. package/dist/types/ts4.1/streaming/buffering/BufferingController.d.ts +3 -13
  280. package/dist/types/ts4.1/streaming/buffering/MediaSourceController.d.ts +41 -15
  281. package/dist/types/ts4.1/streaming/buffering/SourceBufferController.d.ts +1 -1
  282. package/dist/types/ts4.1/streaming/createDefaultMediaTimelineTransformer.d.ts +1 -1
  283. package/dist/types/ts4.1/streaming/mediaTimelineFilter.d.ts +3 -3
  284. package/dist/types/ts4.1/streaming/mediaTimelineLanguageFilter.d.ts +1 -1
  285. package/dist/types/ts4.1/streaming/util/segment.d.ts +1 -1
  286. package/dist/types/ts4.1/track/AutoResetController.d.ts +37 -12
  287. package/dist/types/ts4.1/track/TrackController.d.ts +2 -2
  288. package/dist/types/ts4.1/track/TrackFactory.d.ts +1 -1
  289. package/dist/types/ts4.1/track/createVinylTrackFactories.d.ts +5 -5
  290. package/dist/types/ts4.1/track/dash/DashManifestController.d.ts +1 -1
  291. package/dist/types/ts4.1/track/dash/DashTrack.d.ts +4 -4
  292. package/dist/types/ts4.1/track/dash/buildDashMediaTimeline.d.ts +2 -2
  293. package/dist/types/ts4.1/track/dash/createDashContentTypesValue.d.ts +2 -2
  294. package/dist/types/ts4.1/track/dash/createDashFactories.d.ts +12 -12
  295. package/dist/types/ts4.1/track/dash/createDashManifestProvider.d.ts +1 -1
  296. package/dist/types/ts4.1/track/dash/createDefaultDashManifestTransformer.d.ts +1 -1
  297. package/dist/types/ts4.1/track/dash/manifestTransformUtils.d.ts +1 -1
  298. package/dist/types/ts4.1/track/dash/timeline/DashRepresentationSegmentProvider.d.ts +3 -3
  299. package/dist/types/ts4.1/track/dash/urlDashManifestProvider.d.ts +1 -1
  300. package/dist/types/ts4.1/track/dash/util/mpd.d.ts +3 -2
  301. package/dist/types/ts4.1/track/hls/buildHlsMediaTimeline.d.ts +3 -3
  302. package/dist/types/ts4.1/track/hls/createDefaultHlsManifestTransformer.d.ts +1 -1
  303. package/dist/types/ts4.1/track/hls/util/hlsSegmentTime.d.ts +1 -1
  304. package/dist/types/ts4.1/track/mse/MseTrack.d.ts +3 -3
  305. package/dist/types/ts4.1/track/source/FixedPlaybackQuality.d.ts +1 -1
  306. package/dist/types/ts4.1/track/source/SourceObjectTrack.d.ts +5 -5
  307. package/dist/types/ts4.1/track/source/SourceTrack.d.ts +5 -5
  308. package/dist/types/ts4.1/track/source/SourceTrackBase.d.ts +3 -3
  309. package/dist/types/ts4.1/vinyl/VinylDeps.d.ts +1 -1
  310. package/dist/types/ts4.1/vinyl/VinylPlayer.d.ts +18 -2
  311. package/dist/types/ts4.1/vinyl/createVinylFactories.d.ts +9 -11
  312. package/dist/types/ts4.7/drm/DrmController.d.ts +2 -2
  313. package/dist/types/ts4.7/drm/DrmControllerImpl.d.ts +3 -3
  314. package/dist/types/ts4.7/drm/DrmKeySystemResolver.d.ts +1 -1
  315. package/dist/types/ts4.7/drm/DrmOptions.d.ts +1 -1
  316. package/dist/types/ts4.7/drm/commonEme/CommonEme.d.ts +2 -2
  317. package/dist/types/ts4.7/drm/commonEme/CommonEmeFactory.d.ts +1 -1
  318. package/dist/types/ts4.7/drm/commonEme/MsCommonEme.d.ts +1 -1
  319. package/dist/types/ts4.7/drm/commonEme/StandardCommonEme.d.ts +1 -1
  320. package/dist/types/ts4.7/drm/commonEme/WebKitCommonEme.d.ts +2 -2
  321. package/dist/types/ts4.7/drm/licenseProvider/LicenseProvider.d.ts +1 -1
  322. package/dist/types/ts4.7/global/environment.d.ts +6 -2
  323. package/dist/types/ts4.7/patch/media/patches/createPreventStallsPatch.d.ts +1 -1
  324. package/dist/types/ts4.7/patch/media/patches/createUnreliablePlaybackEventsPatch.d.ts +1 -1
  325. package/dist/types/ts4.7/playback/PlaybackControllerImpl.d.ts +1 -1
  326. package/dist/types/ts4.7/playback/logging/playbackStateLoggingHandler.d.ts +1 -1
  327. package/dist/types/ts4.7/playback/nextHasMetadata.d.ts +1 -1
  328. package/dist/types/ts4.7/streaming/ContentStream.d.ts +4 -4
  329. package/dist/types/ts4.7/streaming/ContentStreamingOptions.d.ts +2 -2
  330. package/dist/types/ts4.7/streaming/MediaQualityMetadata.d.ts +2 -2
  331. package/dist/types/ts4.7/streaming/MediaTimeline.d.ts +6 -5
  332. package/dist/types/ts4.7/streaming/SegmentController.d.ts +2 -7
  333. package/dist/types/ts4.7/streaming/SegmentControllerImpl.d.ts +5 -6
  334. package/dist/types/ts4.7/streaming/SegmentReference.d.ts +1 -1
  335. package/dist/types/ts4.7/streaming/StreamingEventMap.d.ts +1 -1
  336. package/dist/types/ts4.7/streaming/abr/QualitySelector.d.ts +1 -1
  337. package/dist/types/ts4.7/streaming/abr/QualitySelectorImpl.d.ts +18 -3
  338. package/dist/types/ts4.7/streaming/buffering/BufferingController.d.ts +3 -13
  339. package/dist/types/ts4.7/streaming/buffering/MediaSourceController.d.ts +41 -15
  340. package/dist/types/ts4.7/streaming/buffering/SourceBufferController.d.ts +1 -1
  341. package/dist/types/ts4.7/streaming/createDefaultMediaTimelineTransformer.d.ts +1 -1
  342. package/dist/types/ts4.7/streaming/mediaTimelineFilter.d.ts +3 -3
  343. package/dist/types/ts4.7/streaming/mediaTimelineLanguageFilter.d.ts +1 -1
  344. package/dist/types/ts4.7/streaming/util/segment.d.ts +1 -1
  345. package/dist/types/ts4.7/track/AutoResetController.d.ts +37 -12
  346. package/dist/types/ts4.7/track/TrackController.d.ts +2 -2
  347. package/dist/types/ts4.7/track/TrackFactory.d.ts +1 -1
  348. package/dist/types/ts4.7/track/createVinylTrackFactories.d.ts +5 -5
  349. package/dist/types/ts4.7/track/dash/DashManifestController.d.ts +1 -1
  350. package/dist/types/ts4.7/track/dash/DashTrack.d.ts +4 -4
  351. package/dist/types/ts4.7/track/dash/buildDashMediaTimeline.d.ts +2 -2
  352. package/dist/types/ts4.7/track/dash/createDashContentTypesValue.d.ts +2 -2
  353. package/dist/types/ts4.7/track/dash/createDashFactories.d.ts +12 -12
  354. package/dist/types/ts4.7/track/dash/createDashManifestProvider.d.ts +1 -1
  355. package/dist/types/ts4.7/track/dash/createDefaultDashManifestTransformer.d.ts +1 -1
  356. package/dist/types/ts4.7/track/dash/manifestTransformUtils.d.ts +1 -1
  357. package/dist/types/ts4.7/track/dash/timeline/DashRepresentationSegmentProvider.d.ts +3 -3
  358. package/dist/types/ts4.7/track/dash/urlDashManifestProvider.d.ts +1 -1
  359. package/dist/types/ts4.7/track/dash/util/mpd.d.ts +3 -2
  360. package/dist/types/ts4.7/track/hls/buildHlsMediaTimeline.d.ts +3 -3
  361. package/dist/types/ts4.7/track/hls/createDefaultHlsManifestTransformer.d.ts +1 -1
  362. package/dist/types/ts4.7/track/hls/util/hlsSegmentTime.d.ts +1 -1
  363. package/dist/types/ts4.7/track/mse/MseTrack.d.ts +2 -2
  364. package/dist/types/ts4.7/track/source/FixedPlaybackQuality.d.ts +1 -1
  365. package/dist/types/ts4.7/track/source/SourceObjectTrack.d.ts +4 -4
  366. package/dist/types/ts4.7/track/source/SourceTrack.d.ts +4 -4
  367. package/dist/types/ts4.7/track/source/SourceTrackBase.d.ts +2 -2
  368. package/dist/types/ts4.7/vinyl/VinylDeps.d.ts +1 -1
  369. package/dist/types/ts4.7/vinyl/VinylPlayer.d.ts +26 -2
  370. package/dist/types/ts4.7/vinyl/createVinylFactories.d.ts +9 -11
  371. package/dist/unit/types/current/streaming/MediaTimeline.test.js +6 -1
  372. package/dist/unit/types/current/streaming/MseTrack.test.js +4 -0
  373. package/dist/unit/types/current/streaming/SegmentControllerImpl.test.js +3 -33
  374. package/dist/unit/types/current/streaming/abr/QualitySelectorImpl.test.js +73 -0
  375. package/dist/unit/types/current/streaming/buffering/BufferingController.test.js +1 -41
  376. package/dist/unit/types/current/streaming/buffering/MediaSourceController.test.js +97 -17
  377. package/dist/unit/types/current/streaming/createDefaultMediaTimelineTransformer.test.js +6 -0
  378. package/dist/unit/types/current/streaming/mediaTimelineFilter.test.js +2 -0
  379. package/dist/unit/types/current/streaming/mediaTimelineLanguageFilter.test.js +7 -0
  380. package/dist/unit/types/current/track/AutoResetController.test.js +134 -22
  381. package/dist/unit/types/current/track/dash/createDashContentStreamFactories.test.js +5 -1
  382. package/dist/unit/types/current/track/dash/createSegmentControllerFactory.test.js +5 -1
  383. package/dist/unit/types/current/track/dash/util/mpd.test.js +29 -0
  384. package/dist/unit/types/current/track/hls/buildHlsMediaTimeline.test.js +16 -8
  385. package/dist/unit/types/current/track/hls/createHlsContentStreamFactories.test.js +5 -1
  386. package/dist/unit/types/current/tsconfig.tsbuildinfo +1 -1
  387. package/dist/unit/types/current/vinyl/VinylPlayer.test.js +35 -0
  388. package/dist/vinylTestUtil/index.js +20 -14
  389. package/dist/vinylTestUtil/index.js.map +2 -2
  390. package/dist/vinylTestUtil/types/current/media/FrequencyAnalyzer.js +1 -1
  391. package/dist/vinylTestUtil/types/current/mediaSource/ControlledMediaSource.d.ts.map +1 -1
  392. package/dist/vinylTestUtil/types/current/mock/dash/mockDashManifest.d.ts +12 -12
  393. package/dist/vinylTestUtil/types/current/mock/dom/ms/MockMSMediaKeySession.d.ts +2 -2
  394. package/dist/vinylTestUtil/types/current/mock/dom/webkit/MockWebKitMediaKeySession.d.ts +2 -2
  395. package/dist/vinylTestUtil/types/current/mock/player/MockVinylPlayerDependencies.d.ts +6 -6
  396. package/dist/vinylTestUtil/types/current/mock/player/MockVinylPlayerDependencies.d.ts.map +1 -1
  397. package/dist/vinylTestUtil/types/current/mock/player/MockVinylPlayerDependencies.js +7 -7
  398. package/dist/vinylTestUtil/types/current/mock/streaming/MockSegmentController.d.ts +0 -1
  399. package/dist/vinylTestUtil/types/current/mock/streaming/MockSegmentController.d.ts.map +1 -1
  400. package/dist/vinylTestUtil/types/current/mock/streaming/MockSegmentController.js +0 -1
  401. package/dist/vinylTestUtil/types/current/mock/streaming/buffering/MockMediaSourceController.d.ts +0 -1
  402. package/dist/vinylTestUtil/types/current/mock/streaming/buffering/MockMediaSourceController.d.ts.map +1 -1
  403. package/dist/vinylTestUtil/types/current/mock/streaming/buffering/MockMediaSourceController.js +0 -1
  404. package/dist/vinylTestUtil/types/current/mock/track/MockAutoResetController.d.ts +1 -0
  405. package/dist/vinylTestUtil/types/current/mock/track/MockAutoResetController.d.ts.map +1 -1
  406. package/dist/vinylTestUtil/types/current/mock/track/MockAutoResetController.js +1 -0
  407. package/dist/vinylTestUtil/types/current/mock/track/dash/createMockDashDependencies.d.ts +5 -5
  408. package/dist/vinylTestUtil/types/current/mock/track/dash/createMockDashDependencies.d.ts.map +1 -1
  409. package/dist/vinylTestUtil/types/current/mock/track/dash/createMockDashDependencies.js +11 -7
  410. package/dist/vinylTestUtil/types/current/mock/track/hls/createMockHlsDependencies.d.ts +5 -5
  411. package/dist/vinylTestUtil/types/current/mock/track/hls/createMockHlsDependencies.d.ts.map +1 -1
  412. package/dist/vinylTestUtil/types/current/mock/track/hls/createMockHlsDependencies.js +11 -7
  413. package/dist/vinylTestUtil/types/current/player/createVinylSuite.js +1 -1
  414. package/dist/vinylTestUtil/types/current/tsconfig.tsbuildinfo +1 -1
  415. package/dist/vinylTestUtil/types/current/util/playback/expectTrackCanSeek.js +1 -1
  416. package/dist/vinylTestUtil/types/current/util/playback/expectTrackPlays.js +2 -2
  417. package/dist/vinylTestUtil/types/current/util/playback/expectTrackPlaysUntil.d.ts.map +1 -1
  418. package/dist/vinylTestUtil/types/current/util/playback/expectTrackPlaysUntil.js +1 -2
  419. package/dist/vinylTestUtil/types/ts3.7/mock/dash/mockDashManifest.d.ts +12 -12
  420. package/dist/vinylTestUtil/types/ts3.7/mock/dom/ms/MockMSMediaKeySession.d.ts +2 -2
  421. package/dist/vinylTestUtil/types/ts3.7/mock/dom/webkit/MockWebKitMediaKeySession.d.ts +2 -2
  422. package/dist/vinylTestUtil/types/ts3.7/mock/player/MockVinylPlayerDependencies.d.ts +6 -6
  423. package/dist/vinylTestUtil/types/ts3.7/mock/streaming/MockSegmentController.d.ts +0 -1
  424. package/dist/vinylTestUtil/types/ts3.7/mock/streaming/buffering/MockMediaSourceController.d.ts +0 -1
  425. package/dist/vinylTestUtil/types/ts3.7/mock/track/MockAutoResetController.d.ts +1 -0
  426. package/dist/vinylTestUtil/types/ts3.7/mock/track/dash/createMockDashDependencies.d.ts +5 -5
  427. package/dist/vinylTestUtil/types/ts3.7/mock/track/hls/createMockHlsDependencies.d.ts +5 -5
  428. package/dist/vinylTestUtil/types/ts4.1/mock/dash/mockDashManifest.d.ts +12 -12
  429. package/dist/vinylTestUtil/types/ts4.1/mock/dom/ms/MockMSMediaKeySession.d.ts +2 -2
  430. package/dist/vinylTestUtil/types/ts4.1/mock/dom/webkit/MockWebKitMediaKeySession.d.ts +2 -2
  431. package/dist/vinylTestUtil/types/ts4.1/mock/player/MockVinylPlayerDependencies.d.ts +6 -6
  432. package/dist/vinylTestUtil/types/ts4.1/mock/streaming/MockSegmentController.d.ts +0 -1
  433. package/dist/vinylTestUtil/types/ts4.1/mock/streaming/buffering/MockMediaSourceController.d.ts +0 -1
  434. package/dist/vinylTestUtil/types/ts4.1/mock/track/MockAutoResetController.d.ts +1 -0
  435. package/dist/vinylTestUtil/types/ts4.1/mock/track/dash/createMockDashDependencies.d.ts +5 -5
  436. package/dist/vinylTestUtil/types/ts4.1/mock/track/hls/createMockHlsDependencies.d.ts +5 -5
  437. package/dist/vinylTestUtil/types/ts4.7/mock/dash/mockDashManifest.d.ts +12 -12
  438. package/dist/vinylTestUtil/types/ts4.7/mock/dom/ms/MockMSMediaKeySession.d.ts +2 -2
  439. package/dist/vinylTestUtil/types/ts4.7/mock/dom/webkit/MockWebKitMediaKeySession.d.ts +2 -2
  440. package/dist/vinylTestUtil/types/ts4.7/mock/player/MockVinylPlayerDependencies.d.ts +6 -6
  441. package/dist/vinylTestUtil/types/ts4.7/mock/streaming/MockSegmentController.d.ts +0 -1
  442. package/dist/vinylTestUtil/types/ts4.7/mock/streaming/buffering/MockMediaSourceController.d.ts +0 -1
  443. package/dist/vinylTestUtil/types/ts4.7/mock/track/MockAutoResetController.d.ts +1 -0
  444. package/dist/vinylTestUtil/types/ts4.7/mock/track/dash/createMockDashDependencies.d.ts +5 -5
  445. package/dist/vinylTestUtil/types/ts4.7/mock/track/hls/createMockHlsDependencies.d.ts +5 -5
  446. package/docs/USAGE.md +33 -0
  447. package/package.json +13 -15
@@ -1,17 +1,11 @@
1
1
  import { AnyRecord, Clearable, Disposable, EventHostImpl, ReadonlyEventHost } from '@amazon/vinyl-util';
2
2
  import { ReadonlyPlaybackController } from '../../playback/ReadonlyPlaybackController';
3
3
  import { SourceBufferController } from './SourceBufferController';
4
- import { ReadonlySegmentController } from '../../streaming/SegmentController';
4
+ import { ReadonlySegmentController } from '../SegmentController';
5
5
  import { BasicErrorEvent } from '../../event/BasicErrorEvent';
6
6
  import { ChangeEvent } from '../../event/ChangeEvent';
7
- import { ContentType, MediaQualityMetadata } from '../../streaming/MediaQualityMetadata';
8
- import { MediaSourceController } from '../../streaming/buffering/MediaSourceController';
9
- /**
10
- * Chrome 52 has decoding errors when duration is set to the mediaPresentationDuration.
11
- * Adds a slight padding as a workaround.
12
- * @private
13
- */
14
- export declare const DURATION_PADDING = 0.1;
7
+ import { ContentType, MediaQualityMetadata } from '../MediaQualityMetadata';
8
+ import { MediaSourceController } from './MediaSourceController';
15
9
  /**
16
10
  * The interval to throttle polling the buffer.
17
11
  * Reset after a seek.
@@ -167,10 +161,6 @@ export declare class BufferingControllerImpl extends EventHostImpl<BufferingCont
167
161
  deactivate(): void;
168
162
  reset(): void;
169
163
  get busy(): boolean;
170
- /**
171
- * Enqueues a duration update.
172
- */
173
- private refreshDuration;
174
164
  /**
175
165
  * Resets the throttle and polls the buffer on the next frame.
176
166
  */
@@ -1,7 +1,15 @@
1
1
  import { AnyRecord, Disposable, EventHostImpl, Json, LogTarget, ReadonlyEventHost, ReportableError } from '@amazon/vinyl-util';
2
- import { ContentTypesValue } from '../../streaming/ContentTypesValue';
2
+ import { ObservableValue } from '@amazon/vinyl-observable';
3
+ import { ContentTypesValue } from '../ContentTypesValue';
3
4
  import { BasicErrorEvent } from '../../event/BasicErrorEvent';
4
- import { ContentType } from '../../streaming/MediaQualityMetadata';
5
+ import { ContentType } from '../MediaQualityMetadata';
6
+ import { MediaTimeline } from '../MediaTimeline';
7
+ /**
8
+ * Chrome 52 has decoding errors when duration is set to the mediaPresentationDuration.
9
+ * Adds a slight padding as a workaround.
10
+ * @private
11
+ */
12
+ export declare const DURATION_PADDING = 0.1;
5
13
  export interface SourceBufferRef extends Disposable {
6
14
  /**
7
15
  * The source buffer.
@@ -22,7 +30,8 @@ export interface MediaSourceControllerEventMap {
22
30
  */
23
31
  readonly sourceOpen: AnyRecord;
24
32
  /**
25
- * All source buffers have been created and data may be appended.
33
+ * All source buffers have been created, the media source duration has been set, and data
34
+ * may be appended.
26
35
  */
27
36
  readonly readyToAppend: AnyRecord;
28
37
  /**
@@ -35,20 +44,12 @@ export interface ReadonlyMediaSourceController extends ReadonlyEventHost<MediaSo
35
44
  * Returns the parent media source ready state.
36
45
  */
37
46
  readonly readyState: ReadyState;
38
- /**
39
- * Gets the media source's duration.
40
- */
41
- readonly duration: number;
42
47
  /**
43
48
  * True if all source buffers have been created and data may be appended.
44
49
  */
45
50
  readonly readyToAppend: boolean;
46
51
  }
47
52
  export interface MediaSourceController extends ReadonlyMediaSourceController {
48
- /**
49
- * Sets/gets the media source's duration.
50
- */
51
- duration: number;
52
53
  /**
53
54
  * Constructs a new SourceBuffer with the given content type and mime type.
54
55
  */
@@ -72,21 +73,46 @@ export interface MediaSourceControllerImplDeps {
72
73
  * Provides the streams that must be created before appending.
73
74
  */
74
75
  readonly contentTypesValue: ContentTypesValue;
76
+ /**
77
+ * The media timeline used to determine duration.
78
+ */
79
+ readonly mediaTimelineTransformed: ObservableValue<Promise<MediaTimeline>>;
75
80
  }
76
81
  export declare class MediaSourceControllerImpl extends EventHostImpl<MediaSourceControllerEventMap> implements MediaSourceController, LogTarget {
82
+ private readonly deps;
77
83
  get [Symbol.toStringTag](): string;
78
- private sourceBufferCount;
84
+ private readonly sourceBuffers;
79
85
  private readonly mediaSource;
80
86
  private readonly disposer;
81
87
  private contentTypes;
88
+ private durationSet;
89
+ /**
90
+ * Token for the in-flight duration update; used to discard stale results when
91
+ * the timeline changes or the source closes mid-fetch.
92
+ */
93
+ private durationToken;
82
94
  constructor(deps: MediaSourceControllerImplDeps);
95
+ private get sourceBufferCount();
96
+ private readonly errorHandler;
97
+ /**
98
+ * Subscription to mediaTimelineTransformed; only attached while the media source is open
99
+ * so the timeline pipeline isn't forced to evaluate before the source has opened.
100
+ */
101
+ private timelineSub;
83
102
  private initializeEvents;
84
- get duration(): number;
85
- set duration(value: number);
103
+ /**
104
+ * Sets the duration on the media source from the current media timeline.
105
+ * Live streams use LIVE_DURATION since not all browsers support +Infinity duration.
106
+ *
107
+ * MSE throws InvalidStateError if duration is set while any source buffer is updating,
108
+ * so we wait for all tracked source buffers to be idle first.
109
+ */
110
+ private refreshDuration;
86
111
  get readyState(): ReadyState;
87
112
  createSourceBuffer(contentType: ContentType, mimeType: string): SourceBufferRef;
88
113
  /**
89
- * Emits a 'readyToAppend' event if all source buffers have been created.
114
+ * Emits a 'readyToAppend' event if all source buffers have been created and the duration
115
+ * has been applied to the media source.
90
116
  */
91
117
  private readonly checkReady;
92
118
  endOfStream(error?: EndOfStreamError): void;
@@ -1,6 +1,6 @@
1
1
  import { Disposable, LogTarget, ReadonlyRanges, Task } from '@amazon/vinyl-util';
2
2
  import { MediaSourceController } from './MediaSourceController';
3
- import { ContentType } from '../../streaming/MediaQualityMetadata';
3
+ import { 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,7 +1,7 @@
1
1
  import { ObservableValue } from '@amazon/vinyl-observable';
2
2
  import { Capabilities } from '../client/Capabilities';
3
3
  import { DrmController } from '../drm/DrmController';
4
- import { MediaTimeline } from '../streaming/MediaTimeline';
4
+ import { MediaTimeline } from './MediaTimeline';
5
5
  export interface DefaultMediaTimelineTransformerDeps {
6
6
  readonly capabilities: Capabilities;
7
7
  readonly drmController: DrmController;
@@ -1,5 +1,5 @@
1
- import { MediaTimeline } from '../streaming/MediaTimeline';
2
- import { MediaQualityMetadata } from '../streaming/MediaQualityMetadata';
1
+ import { MediaTimeline } from './MediaTimeline';
2
+ import { MediaQualityMetadata } from './MediaQualityMetadata';
3
3
  import { 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 '../streaming/mediaTimelineLanguageFilter';
17
+ export { createLanguageFilter } from './mediaTimelineLanguageFilter';
18
18
  //# sourceMappingURL=mediaTimelineFilter.d.ts.map
@@ -1,4 +1,4 @@
1
- import { MediaQualityMetadata } from '../streaming/MediaQualityMetadata';
1
+ import { MediaQualityMetadata } from './MediaQualityMetadata';
2
2
  import { FilterPredicate } from '@amazon/vinyl-util';
3
3
  /**
4
4
  * Creates a filter predicate that keeps qualities matching the preferred language.
@@ -1,4 +1,4 @@
1
- import { MediaSegmentMetadata } from '../../streaming/SegmentReference';
1
+ import { 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,35 +1,59 @@
1
1
  import { AnyRecord, Clearable, Disposable, EventHostImpl, ReadonlyEventHost } from '@amazon/vinyl-util';
2
2
  import { PlaybackController } from '../playback/PlaybackController';
3
+ import { 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
- * The controller monitors for retry opportunities after an error is set:
13
- * - Immediately on network 'online' events
14
- * - After a timeout interval if online
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 after a reset,
18
- * setError() should be called again to schedule the next retry attempt.
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 monitoring for retry opportunities.
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
- * Only SERVICE_INTERNAL ReportableErrors are monitored. Subsequent calls while
25
- * an error is already set are ignored until the error is cleared via reset or clear().
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 be called again
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
- private setWatching;
101
+ get resetPending(): boolean;
102
+ private setResetPending;
78
103
  private reset;
79
104
  clear(): void;
80
105
  get disposed(): boolean;
@@ -1,7 +1,7 @@
1
1
  import { AnyRecord, Disposable, EventHostImpl, Maybe, ReadonlyEventHost } from '@amazon/vinyl-util';
2
2
  import { PlaybackController } from '../playback/PlaybackController';
3
- import { ReadonlyTrack, TrackUri } from '../track/Track';
4
- import { TrackFactory, TrackLoadOptions } from '../track/TrackFactory';
3
+ import { ReadonlyTrack, TrackUri } from './Track';
4
+ import { TrackFactory, TrackLoadOptions } from './TrackFactory';
5
5
  import { ChangeEvent } from '../event/ChangeEvent';
6
6
  export interface TrackControllerEventMap<TrackLoadOptionsType extends TrackLoadOptions> {
7
7
  /**
@@ -1,6 +1,6 @@
1
1
  import { AnyRecord, Maybe, ReadonlyRecord } from '@amazon/vinyl-util';
2
2
  import { ObjectSchema } from '@amazon/vinyl-validation';
3
- import { Track, TrackTypeId, TrackUri } from '../track/Track';
3
+ import { 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,8 +1,8 @@
1
- import { SourceObjectTrackDeps, SourceObjectTrackLoadOptions } from '../track/source/SourceObjectTrack';
2
- import { SourceTrackDeps, SourceTrackLoadOptions } from '../track/source/SourceTrack';
3
- import { TrackFactory } from '../track/TrackFactory';
4
- import { DashTrackFactoryDeps, DashTrackLoadOptions } from '../track/dash/DashTrack';
5
- import { HlsTrackFactoryDeps, HlsTrackLoadOptions } from '../track/hls/HlsTrack';
1
+ import { SourceObjectTrackDeps, SourceObjectTrackLoadOptions } from './source/SourceObjectTrack';
2
+ import { SourceTrackDeps, SourceTrackLoadOptions } from './source/SourceTrack';
3
+ import { TrackFactory } from './TrackFactory';
4
+ import { DashTrackFactoryDeps, DashTrackLoadOptions } from './dash/DashTrack';
5
+ import { HlsTrackFactoryDeps, 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,4 +1,4 @@
1
- import { DashManifestData, DashManifestProvider } from '../../track/dash/DashManifestProvider';
1
+ import { DashManifestData, DashManifestProvider } from './DashManifestProvider';
2
2
  import { ManifestController } from '../../streaming/ManifestController';
3
3
  export type DashManifestController = ManifestController<Promise<DashManifestData>>;
4
4
  export interface DashManifestControllerImplDeps {
@@ -1,12 +1,12 @@
1
- import { TrackBaseOptions } from '../../track/TrackBase';
1
+ import { TrackBaseOptions } from '../TrackBase';
2
2
  import { DashManifestProvider, DashManifestData } from './DashManifestProvider';
3
3
  import { DashManifestController } from './DashManifestController';
4
- import { TrackFactory, TrackLoadOptions } from '../../track/TrackFactory';
4
+ import { TrackFactory, TrackLoadOptions } from '../TrackFactory';
5
5
  import { ObservableValue } from '@amazon/vinyl-observable';
6
6
  import { Maybe, RequestInitOptions } from '@amazon/vinyl-util';
7
7
  import { Factories } from '@amazon/vinyl-di';
8
- import { DashMediaQualityMetadataResolver } from '../../track/dash/DashMediaQualityMetadataResolver';
9
- import { MseTrackDeps } from '../../track/mse/MseTrack';
8
+ import { DashMediaQualityMetadataResolver } from './DashMediaQualityMetadataResolver';
9
+ import { MseTrackDeps } from '../mse/MseTrack';
10
10
  import { MediaTimeline } from '../../streaming/MediaTimeline';
11
11
  export interface DashTrackLoadOptions extends TrackLoadOptions {
12
12
  readonly type: 'dash';
@@ -1,6 +1,6 @@
1
- import { DashManifestData } from '../../track/dash/DashManifestProvider';
1
+ import { DashManifestData } from './DashManifestProvider';
2
2
  import { MediaTimeline } from '../../streaming/MediaTimeline';
3
- import { DashSegmentProviderDeps } from '../../track/dash/timeline/DashRepresentationSegmentProvider';
3
+ import { DashSegmentProviderDeps } from './timeline/DashRepresentationSegmentProvider';
4
4
  export type BuildDashMediaTimelineDeps = DashSegmentProviderDeps;
5
5
  /**
6
6
  * Builds a MediaTimeline from a Dash manifest.
@@ -1,5 +1,5 @@
1
- import { DashManifestData } from '../../track/dash/DashManifestProvider';
2
- import { DashMediaQualityMetadataResolver } from '../../track/dash/DashMediaQualityMetadataResolver';
1
+ import { DashManifestData } from './DashManifestProvider';
2
+ import { DashMediaQualityMetadataResolver } from './DashMediaQualityMetadataResolver';
3
3
  import { ContentTypesValue } from '../../streaming/ContentTypesValue';
4
4
  import { ObservableValue } from '@amazon/vinyl-observable';
5
5
  export interface DashContentTypesValueDeps {
@@ -1,11 +1,11 @@
1
- import { DashTrackLoadOptions } from '../../track/dash/DashTrack';
1
+ import { DashTrackLoadOptions } from './DashTrack';
2
2
  import { Maybe, RequestInterceptor } from '@amazon/vinyl-util';
3
- import { createDefaultDashManifestTransformer } from '../../track/dash/createDefaultDashManifestTransformer';
3
+ import { createDefaultDashManifestTransformer } from './createDefaultDashManifestTransformer';
4
4
  import { createMediaSource } from '../../util/media/mediaSource';
5
- import { DashMediaQualityMetadataResolverDeps } from '../../track/dash/DashMediaQualityMetadataResolver';
5
+ import { DashMediaQualityMetadataResolverDeps } from './DashMediaQualityMetadataResolver';
6
6
  import { MediaSourceControllerImpl, MediaSourceControllerImplDeps } from '../../streaming/buffering/MediaSourceController';
7
7
  import { PlaybackController } from '../../playback/PlaybackController';
8
- import { DashManifestController, DashManifestControllerImplDeps } from '../../track/dash/DashManifestController';
8
+ import { DashManifestController, DashManifestControllerImplDeps } from './DashManifestController';
9
9
  import { DrmKeySystemResolver } from '../../drm/DrmKeySystemResolver';
10
10
  import { DrmController } from '../../drm/DrmController';
11
11
  import { Capabilities } from '../../client/Capabilities';
@@ -13,12 +13,12 @@ import { QualitySelectorImpl, QualitySelectorImplOptions } from '../../streaming
13
13
  import { PlaybackSource } from '../../playback/PlaybackSource';
14
14
  import { createContentStreamFactory } from '../../streaming/ContentStream';
15
15
  import { ContentStreamingOptions } from '../../streaming/ContentStreamingOptions';
16
- import { createDashContentTypesValue } from '../../track/dash/createDashContentTypesValue';
16
+ import { createDashContentTypesValue } from './createDashContentTypesValue';
17
17
  import { ObservableValue } from '@amazon/vinyl-observable';
18
18
  import { VinylOptions } from '../../vinyl/VinylOptions';
19
- import { BuildDashMediaTimelineDeps } from '../../track/dash/buildDashMediaTimeline';
19
+ import { BuildDashMediaTimelineDeps } from './buildDashMediaTimeline';
20
20
  import { createDefaultMediaTimelineTransformer } from '../../streaming/createDefaultMediaTimelineTransformer';
21
- import { DashManifestData } from '../../track/dash/DashManifestProvider';
21
+ import { DashManifestData } from './DashManifestProvider';
22
22
  /**
23
23
  * Player-level dependencies needed for the Dash-specific factories.
24
24
  */
@@ -43,20 +43,20 @@ export type DashInitOptions = {
43
43
  */
44
44
  export declare function createDashFactories(options: Maybe<DashInitOptions>): (deps: DashFactoryDeps) => (loadOptions: DashTrackLoadOptions) => {
45
45
  contentTypesValue: typeof createDashContentTypesValue;
46
- baseUrlSelector: () => import("../../track/dash/util/uriResolution").BaseUrlSelector;
46
+ baseUrlSelector: () => import("./util/uriResolution").BaseUrlSelector;
47
47
  segmentRequestInit: () => Maybe<Readonly<Omit<RequestInit, "signal">>>;
48
48
  manifestProvider: (deps: {
49
49
  readonly requestInterceptor: RequestInterceptor;
50
- }) => import("../../track/dash/DashManifestProvider").DashManifestProvider;
50
+ }) => import("./DashManifestProvider").DashManifestProvider;
51
51
  manifestController: (deps: DashManifestControllerImplDeps) => DashManifestController;
52
52
  mediaSourceFactory: () => typeof createMediaSource;
53
- mediaQualityMetadataResolver: (deps: DashMediaQualityMetadataResolverDeps) => import("../../track/dash/DashMediaQualityMetadataResolver").DashMediaQualityMetadataResolver;
53
+ mediaQualityMetadataResolver: (deps: DashMediaQualityMetadataResolverDeps) => import("./DashMediaQualityMetadataResolver").DashMediaQualityMetadataResolver;
54
54
  mediaSourceController: (deps: MediaSourceControllerImplDeps) => MediaSourceControllerImpl;
55
- createContentStreamFactories: (deps: import("../../track/dash/createDashContentStreamFactories").DashContentStreamTrackDeps) => import("@amazon/vinyl-util").MemoizedFunction & ((contentType: import("../..").ContentType) => {
55
+ createContentStreamFactories: (deps: import("./createDashContentStreamFactories").DashContentStreamTrackDeps) => import("@amazon/vinyl-util").MemoizedFunction & ((contentType: import("../..").ContentType) => {
56
56
  sourceBufferControllerFactory: (deps: import("../..").SourceBufferControllerImplDeps) => () => import("../..").SourceBufferControllerImpl;
57
57
  bufferingController: (deps: import("../..").BufferingControllerImplDeps) => import("../..").BufferingControllerImpl;
58
58
  segmentController: (deps: import("../..").SegmentControllerImplDeps) => import("../..").SegmentControllerImpl;
59
- mediaSourceController: import("@amazon/vinyl-di").Factory<import("../../streaming/buffering/MediaSourceController").MediaSourceController>;
59
+ mediaSourceController: import("@amazon/vinyl-di").Factory<import("../..").MediaSourceController>;
60
60
  playbackController: import("@amazon/vinyl-di").Factory<PlaybackController>;
61
61
  mediaTimelineTransformed: import("@amazon/vinyl-di").Factory<ObservableValue<Promise<import("../..").MediaTimeline>>>;
62
62
  qualitySelector: import("@amazon/vinyl-di").Factory<import("../..").QualitySelector>;
@@ -1,4 +1,4 @@
1
- import { DashTrackLoadOptions } from '../../track/dash/DashTrack';
1
+ import { DashTrackLoadOptions } from './DashTrack';
2
2
  import { RequestInterceptor } from '@amazon/vinyl-util';
3
3
  /**
4
4
  * Creates a DashManifestProvider which uses the manifestProvider set on the loadOptions, or a urlDashManifestProvider
@@ -1,5 +1,5 @@
1
1
  import { ObservableValue } from '@amazon/vinyl-observable';
2
- import { DashManifestData } from '../../track/dash/DashManifestProvider';
2
+ import { DashManifestData } from './DashManifestProvider';
3
3
  import { AdaptationSetType, RepresentationType } from '@amazon/vinyl-mpd-parser';
4
4
  import { Comparator } from '@amazon/vinyl-util';
5
5
  export interface DashManifestTransformerDeps {
@@ -1,5 +1,5 @@
1
1
  import { AdaptationSetType, DashManifest, RepresentationType } from '@amazon/vinyl-mpd-parser';
2
- import { DashManifestData } from '../../track/dash/DashManifestProvider';
2
+ import { DashManifestData } from './DashManifestProvider';
3
3
  import { ObservableValue } from '@amazon/vinyl-observable';
4
4
  import { Comparator, FilterPredicate, MaybePromise } from '@amazon/vinyl-util';
5
5
  /**
@@ -1,9 +1,9 @@
1
1
  import { RepresentationType } from '@amazon/vinyl-mpd-parser';
2
- import { DashUriResolveDeps } from '../../../track/dash/util/uriResolution';
3
- import { CreateSegmentDataProviderDeps } from '../../../track/createSegmentDataProvider';
2
+ import { DashUriResolveDeps } from '../util/uriResolution';
3
+ import { CreateSegmentDataProviderDeps } from '../../createSegmentDataProvider';
4
4
  import { SegmentReference } from '../../../streaming/SegmentReference';
5
5
  import { SegmentDataProvider } from '../../../streaming/SegmentDataSlot';
6
- import { DashMediaQualityMetadataResolver } from '../../../track/dash/DashMediaQualityMetadataResolver';
6
+ import { DashMediaQualityMetadataResolver } from '../DashMediaQualityMetadataResolver';
7
7
  export interface DashSegmentProviderDeps extends DashUriResolveDeps, CreateSegmentDataProviderDeps {
8
8
  /**
9
9
  * Produces abstract metadata from a dash representation.
@@ -1,7 +1,7 @@
1
1
  import { Maybe } from '@amazon/vinyl-util';
2
2
  import { RequestInitOptions } from '@amazon/vinyl-util';
3
3
  import { RequestInterceptor } from '@amazon/vinyl-util';
4
- import { DashManifestProvider } from '../../track/dash/DashManifestProvider';
4
+ import { DashManifestProvider } from './DashManifestProvider';
5
5
  /**
6
6
  * Creates a DashManifestProvider which performs a request to retrieve a dash manifest.
7
7
  * Can be a relative path.
@@ -74,7 +74,8 @@ export declare function getPeriodAtTime(manifest: DashManifest, time: number): P
74
74
  export declare function flattenRepresentations(period: PeriodType): RepresentationType[];
75
75
  /**
76
76
  * Calculates the manifest duration, either from the mediaPresentationDuration or the last period end time.
77
- * @param manifest
77
+ * Returns `Infinity` for live (dynamic) presentations.
78
+ * Throws if duration cannot be determined.
78
79
  */
79
- export declare function calculateDuration(manifest: DashManifest): number | null;
80
+ export declare function calculateDuration(manifest: DashManifest): number;
80
81
  //# sourceMappingURL=mpd.d.ts.map
@@ -1,7 +1,7 @@
1
- import { HlsManifestData } from '../../track/hls/HlsManifestProvider';
2
- import { HlsMediaQualityMetadataResolver } from '../../track/hls/HlsMediaQualityMetadataResolver';
1
+ import { HlsManifestData } from './HlsManifestProvider';
2
+ import { HlsMediaQualityMetadataResolver } from './HlsMediaQualityMetadataResolver';
3
3
  import { MediaTimeline } from '../../streaming/MediaTimeline';
4
- import { CreateSegmentDataProviderDeps } from '../../track/createSegmentDataProvider';
4
+ import { CreateSegmentDataProviderDeps } from '../createSegmentDataProvider';
5
5
  export interface BuildHlsMediaTimelineDeps extends CreateSegmentDataProviderDeps {
6
6
  readonly mediaQualityMetadataResolver: HlsMediaQualityMetadataResolver;
7
7
  }
@@ -1,5 +1,5 @@
1
1
  import { ObservableValue } from '@amazon/vinyl-observable';
2
- import { HlsManifestData } from '../../track/hls/HlsManifestProvider';
2
+ import { HlsManifestData } from './HlsManifestProvider';
3
3
  export interface HlsManifestTransformerDeps {
4
4
  readonly manifestController: ObservableValue<Promise<HlsManifestData>>;
5
5
  }
@@ -1,7 +1,7 @@
1
1
  import { HlsSegment } from '@amazon/vinyl-hls-parser';
2
2
  import { MediaSegmentReference } from '../../../streaming/SegmentReference';
3
3
  import { SegmentDataProvider } from '../../../streaming/SegmentDataSlot';
4
- import { CreateSegmentDataProviderDeps } from '../../../track/createSegmentDataProvider';
4
+ import { CreateSegmentDataProviderDeps } from '../../createSegmentDataProvider';
5
5
  /**
6
6
  * Builds a timeline of MediaSegmentReferences from an HLS media playlist's
7
7
  * segment list. Cumulative durations are used to compute start/end times.
@@ -1,6 +1,6 @@
1
- import { TrackBase, TrackBaseDeps, TrackBaseOptions } from '../../track/TrackBase';
1
+ import { TrackBase, TrackBaseDeps, TrackBaseOptions } from '../TrackBase';
2
2
  import { ReadonlyRanges, ReadonlySet } from '@amazon/vinyl-util';
3
- import { TrackPreloadOptions, TrackTypeId, TrackUri } from '../../track/Track';
3
+ import { TrackPreloadOptions, TrackTypeId, TrackUri } from '../Track';
4
4
  import { ContentType, MediaQualityMetadata } from '../../streaming/MediaQualityMetadata';
5
5
  import { Factories } from '@amazon/vinyl-di';
6
6
  import { ContentStream } from '../../streaming/ContentStream';
@@ -1,4 +1,4 @@
1
- import { TrackEventMap } from '../../track/Track';
1
+ import { TrackEventMap } from '../Track';
2
2
  import { EventHostImpl, ReadonlySet } from '@amazon/vinyl-util';
3
3
  import { PlaybackController } from '../../playback/PlaybackController';
4
4
  import { ContentType, MediaQualityMetadata } from '../../streaming/MediaQualityMetadata';
@@ -1,9 +1,9 @@
1
1
  import { PlaybackSource } from '../../playback/PlaybackSource';
2
- import { TrackTypeId, TrackUri } from '../../track/Track';
3
- import { TrackBaseDeps } from '../../track/TrackBase';
4
- import { TrackFactory, TrackLoadOptions } from '../../track/TrackFactory';
2
+ import { TrackTypeId, TrackUri } from '../Track';
3
+ import { TrackBaseDeps } from '../TrackBase';
4
+ import { TrackFactory, TrackLoadOptions } from '../TrackFactory';
5
5
  import { Maybe } from '@amazon/vinyl-util';
6
- import { SourceTrackBase, SourceTrackBaseOptions } from '../../track/source/SourceTrackBase';
6
+ import { SourceTrackBase, SourceTrackBaseOptions } from './SourceTrackBase';
7
7
  /**
8
8
  * Dependencies for a SourceObjectTrack.
9
9
  */
@@ -1,8 +1,8 @@
1
- import { TrackTypeId, TrackUri } from '../../track/Track';
2
- import { TrackBaseDeps } from '../../track/TrackBase';
3
- import { TrackFactory, TrackLoadOptions } from '../../track/TrackFactory';
1
+ import { TrackTypeId, TrackUri } from '../Track';
2
+ import { TrackBaseDeps } from '../TrackBase';
3
+ import { TrackFactory, TrackLoadOptions } from '../TrackFactory';
4
4
  import { Maybe } from '@amazon/vinyl-util';
5
- import { SourceTrackBase, SourceTrackBaseOptions } from '../../track/source/SourceTrackBase';
5
+ import { SourceTrackBase, SourceTrackBaseOptions } from './SourceTrackBase';
6
6
  import { PlaybackSource } from '../../playback/PlaybackSource';
7
7
  /**
8
8
  * Dependencies for a SourceTrack.
@@ -1,5 +1,5 @@
1
- import { TrackBase, TrackBaseDeps, TrackBaseOptions } from '../../track/TrackBase';
2
- import { TrackEventMap, TrackPreloadOptions, TrackTypeId, TrackUri } from '../../track/Track';
1
+ import { TrackBase, TrackBaseDeps, TrackBaseOptions } from '../TrackBase';
2
+ import { TrackEventMap, TrackPreloadOptions, TrackTypeId, TrackUri } from '../Track';
3
3
  import { Maybe, ReadonlySet } from '@amazon/vinyl-util';
4
4
  import { ContentType, MediaQualityMetadata } from '../../streaming/MediaQualityMetadata';
5
5
  import { ObjectSchema } from '@amazon/vinyl-validation';
@@ -7,7 +7,7 @@ import { TrackLoadOptions } from '../track/TrackFactory';
7
7
  import { DrmController } from '../drm/DrmController';
8
8
  import { AutoResetController } from '../track/AutoResetController';
9
9
  import { MutableValue } from '@amazon/vinyl-observable';
10
- import { VinylOptions } from '../vinyl/VinylOptions';
10
+ import { VinylOptions } from './VinylOptions';
11
11
  export interface VinylDeps<TrackLoadOptionsType extends TrackLoadOptions = VinylTrackLoadOptions, OptionsType = VinylOptions> {
12
12
  /**
13
13
  * A mutable provider for configuration options.
@@ -11,14 +11,28 @@ import { DefaultVinylFactories, InferVinylOverrideDependencyType, VinylDependenc
11
11
  import { VinylDeps } from './VinylDeps';
12
12
  import { Capabilities } from '../client/Capabilities';
13
13
  import { ContentType, MediaQualityMetadata } from '../streaming/MediaQualityMetadata';
14
- import { ReadonlyPlaybackStreamingState } from '../vinyl/ReadonlyPlaybackStreamingState';
14
+ import { ReadonlyPlaybackStreamingState } from './ReadonlyPlaybackStreamingState';
15
15
  import { StreamingEventMap } from '../streaming/StreamingEventMap';
16
16
  import { InferObservableValueType } from '@amazon/vinyl-observable';
17
- import { VinylOptions } from '../vinyl/VinylOptions';
17
+ import { VinylOptions } from './VinylOptions';
18
+ import { ChangeEvent } from '../event/ChangeEvent';
18
19
  /**
19
20
  * Events the Vinyl Player emits.
20
21
  */
21
22
  export interface VinylPlayerEventMap<TrackLoadOptionsType extends TrackLoadOptions = VinylTrackLoadOptions> extends PlaybackControllerEventMap, TrackControllerEventMap<TrackLoadOptionsType>, StreamingEventMap {
23
+ /**
24
+ * Dispatched when {@link VinylPlayer.resetPending} changes.
25
+ *
26
+ * `current` is true when the player has hit a transient, potentially
27
+ * recoverable error (e.g. a network outage) and an automatic reset
28
+ * attempt is scheduled. `current` is false once the pending reset is
29
+ * emitted, the error is cleared, or all retries are exhausted.
30
+ *
31
+ * If `resetPending` becomes false while {@link VinylPlayer.error} is
32
+ * still non-null, all automatic reset attempts have been exhausted
33
+ * and playback will not recover without user action.
34
+ */
35
+ readonly resetPendingChange: ChangeEvent<boolean>;
22
36
  }
23
37
  /**
24
38
  * A Vinyl Media Player.
@@ -32,6 +46,7 @@ export declare class VinylPlayer<TrackLoadOptionsType extends TrackLoadOptions =
32
46
  private get drmController();
33
47
  private get playbackController();
34
48
  private get trackController();
49
+ private get autoResetController();
35
50
  /**
36
51
  * Provides information about the client, such as device and browser capabilities.
37
52
  */
@@ -74,6 +89,7 @@ export declare class VinylPlayer<TrackLoadOptionsType extends TrackLoadOptions =
74
89
  get duration(): number;
75
90
  get ended(): boolean;
76
91
  get error(): (Error | null);
92
+ get resetPending(): boolean;
77
93
  get hasMetadata(): boolean;
78
94
  get loop(): boolean;
79
95
  set loop(value: boolean);