@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,9 +1,9 @@
1
1
  import type { ContentType, DashMediaQualityMetadataResolver, MediaTimeline } from '@amazon/vinyl';
2
- import { MockDashManifestController } from '../../../mock/dash/MockDashManifestController';
3
- import { MockMediaSourceController } from '../../../mock/streaming/buffering/MockMediaSourceController';
4
- import { MockPlaybackSource } from '../../../mock/playback/MockPlaybackSource';
5
- import { MockPlaybackController } from '../../../mock/playback/MockPlaybackController';
6
- import { MockDrmController } from '../../../mock/drm/MockDrmController';
2
+ import { MockDashManifestController } from '../../dash/MockDashManifestController';
3
+ import { MockMediaSourceController } from '../../streaming/buffering/MockMediaSourceController';
4
+ import { MockPlaybackSource } from '../../playback/MockPlaybackSource';
5
+ import { MockPlaybackController } from '../../playback/MockPlaybackController';
6
+ import { MockDrmController } from '../../drm/MockDrmController';
7
7
  export declare function createMockDashDependencies(): {
8
8
  readonly contentTypesValue: import("@amazon/vinyl-observable").MutableValueImpl<Promise<Set<ContentType>>>;
9
9
  readonly contentStreamFactory: jasmine.Spy<((contentType: ContentType) => import("@amazon/vinyl").ContentStream) & ((contentType: ContentType) => any)>;
@@ -1,9 +1,9 @@
1
1
  import type { ContentType, HlsMediaQualityMetadataResolver, MediaTimeline } from '@amazon/vinyl';
2
- import { MockHlsManifestController } from '../../../mock/hls/MockHlsManifestController';
3
- import { MockMediaSourceController } from '../../../mock/streaming/buffering/MockMediaSourceController';
4
- import { MockPlaybackSource } from '../../../mock/playback/MockPlaybackSource';
5
- import { MockPlaybackController } from '../../../mock/playback/MockPlaybackController';
6
- import { MockDrmController } from '../../../mock/drm/MockDrmController';
2
+ import { MockHlsManifestController } from '../../hls/MockHlsManifestController';
3
+ import { MockMediaSourceController } from '../../streaming/buffering/MockMediaSourceController';
4
+ import { MockPlaybackSource } from '../../playback/MockPlaybackSource';
5
+ import { MockPlaybackController } from '../../playback/MockPlaybackController';
6
+ import { MockDrmController } from '../../drm/MockDrmController';
7
7
  export declare function createMockHlsDependencies(): {
8
8
  readonly contentTypesValue: import("@amazon/vinyl-observable").MutableValueImpl<Promise<Set<ContentType>>>;
9
9
  readonly contentStreamFactory: jasmine.Spy<((contentType: ContentType) => import("@amazon/vinyl").ContentStream) & ((contentType: ContentType) => any)>;
@@ -13,6 +13,7 @@ export declare const mockDashManifest: {
13
13
  (hint: "number"): number;
14
14
  (hint: string): string | number;
15
15
  };
16
+ readonly toJSON: (key?: any) => string;
16
17
  readonly toDateString: () => string;
17
18
  readonly toTimeString: () => string;
18
19
  readonly toLocaleDateString: {
@@ -46,7 +47,6 @@ export declare const mockDashManifest: {
46
47
  readonly getTimezoneOffset: () => number;
47
48
  readonly toUTCString: () => string;
48
49
  readonly toISOString: () => string;
49
- readonly toJSON: (key?: any) => string;
50
50
  };
51
51
  readonly availabilityStartTime?: {
52
52
  readonly toString: () => string;
@@ -61,6 +61,7 @@ export declare const mockDashManifest: {
61
61
  (hint: "number"): number;
62
62
  (hint: string): string | number;
63
63
  };
64
+ readonly toJSON: (key?: any) => string;
64
65
  readonly toDateString: () => string;
65
66
  readonly toTimeString: () => string;
66
67
  readonly toLocaleDateString: {
@@ -94,7 +95,6 @@ export declare const mockDashManifest: {
94
95
  readonly getTimezoneOffset: () => number;
95
96
  readonly toUTCString: () => string;
96
97
  readonly toISOString: () => string;
97
- readonly toJSON: (key?: any) => string;
98
98
  };
99
99
  readonly id?: string;
100
100
  readonly maxSegmentDuration?: import("@amazon/vinyl-mpd-parser").Duration;
@@ -116,6 +116,7 @@ export declare const mockDashManifest: {
116
116
  (hint: "number"): number;
117
117
  (hint: string): string | number;
118
118
  };
119
+ readonly toJSON: (key?: any) => string;
119
120
  readonly toDateString: () => string;
120
121
  readonly toTimeString: () => string;
121
122
  readonly toLocaleDateString: {
@@ -149,7 +150,6 @@ export declare const mockDashManifest: {
149
150
  readonly getTimezoneOffset: () => number;
150
151
  readonly toUTCString: () => string;
151
152
  readonly toISOString: () => string;
152
- readonly toJSON: (key?: any) => string;
153
153
  };
154
154
  readonly suggestedPresentationDelay?: import("@amazon/vinyl-mpd-parser").Duration;
155
155
  readonly timeShiftBufferDepth?: import("@amazon/vinyl-mpd-parser").Duration;
@@ -196,6 +196,7 @@ export declare const mockDashManifest: {
196
196
  (hint: "number"): number;
197
197
  (hint: string): string | number;
198
198
  };
199
+ readonly toJSON: (key?: any) => string;
199
200
  readonly toDateString: () => string;
200
201
  readonly toTimeString: () => string;
201
202
  readonly toLocaleDateString: {
@@ -229,7 +230,6 @@ export declare const mockDashManifest: {
229
230
  readonly getTimezoneOffset: () => number;
230
231
  readonly toUTCString: () => string;
231
232
  readonly toISOString: () => string;
232
- readonly toJSON: (key?: any) => string;
233
233
  };
234
234
  readonly availabilityStartTime?: {
235
235
  readonly toString: () => string;
@@ -244,6 +244,7 @@ export declare const mockDashManifest: {
244
244
  (hint: "number"): number;
245
245
  (hint: string): string | number;
246
246
  };
247
+ readonly toJSON: (key?: any) => string;
247
248
  readonly toDateString: () => string;
248
249
  readonly toTimeString: () => string;
249
250
  readonly toLocaleDateString: {
@@ -277,7 +278,6 @@ export declare const mockDashManifest: {
277
278
  readonly getTimezoneOffset: () => number;
278
279
  readonly toUTCString: () => string;
279
280
  readonly toISOString: () => string;
280
- readonly toJSON: (key?: any) => string;
281
281
  };
282
282
  readonly id?: string;
283
283
  readonly maxSegmentDuration?: import("@amazon/vinyl-mpd-parser").Duration;
@@ -299,6 +299,7 @@ export declare const mockDashManifest: {
299
299
  (hint: "number"): number;
300
300
  (hint: string): string | number;
301
301
  };
302
+ readonly toJSON: (key?: any) => string;
302
303
  readonly toDateString: () => string;
303
304
  readonly toTimeString: () => string;
304
305
  readonly toLocaleDateString: {
@@ -332,7 +333,6 @@ export declare const mockDashManifest: {
332
333
  readonly getTimezoneOffset: () => number;
333
334
  readonly toUTCString: () => string;
334
335
  readonly toISOString: () => string;
335
- readonly toJSON: (key?: any) => string;
336
336
  };
337
337
  readonly suggestedPresentationDelay?: import("@amazon/vinyl-mpd-parser").Duration;
338
338
  readonly timeShiftBufferDepth?: import("@amazon/vinyl-mpd-parser").Duration;
@@ -1128,6 +1128,7 @@ export declare const mockDashManifest: {
1128
1128
  (hint: "number"): number;
1129
1129
  (hint: string): string | number;
1130
1130
  };
1131
+ readonly toJSON: (key?: any) => string;
1131
1132
  readonly toDateString: () => string;
1132
1133
  readonly toTimeString: () => string;
1133
1134
  readonly toLocaleDateString: {
@@ -1161,7 +1162,6 @@ export declare const mockDashManifest: {
1161
1162
  readonly getTimezoneOffset: () => number;
1162
1163
  readonly toUTCString: () => string;
1163
1164
  readonly toISOString: () => string;
1164
- readonly toJSON: (key?: any) => string;
1165
1165
  };
1166
1166
  readonly availabilityStartTime?: {
1167
1167
  readonly toString: () => string;
@@ -1176,6 +1176,7 @@ export declare const mockDashManifest: {
1176
1176
  (hint: "number"): number;
1177
1177
  (hint: string): string | number;
1178
1178
  };
1179
+ readonly toJSON: (key?: any) => string;
1179
1180
  readonly toDateString: () => string;
1180
1181
  readonly toTimeString: () => string;
1181
1182
  readonly toLocaleDateString: {
@@ -1209,7 +1210,6 @@ export declare const mockDashManifest: {
1209
1210
  readonly getTimezoneOffset: () => number;
1210
1211
  readonly toUTCString: () => string;
1211
1212
  readonly toISOString: () => string;
1212
- readonly toJSON: (key?: any) => string;
1213
1213
  };
1214
1214
  readonly id?: string;
1215
1215
  readonly maxSegmentDuration?: import("@amazon/vinyl-mpd-parser").Duration;
@@ -1231,6 +1231,7 @@ export declare const mockDashManifest: {
1231
1231
  (hint: "number"): number;
1232
1232
  (hint: string): string | number;
1233
1233
  };
1234
+ readonly toJSON: (key?: any) => string;
1234
1235
  readonly toDateString: () => string;
1235
1236
  readonly toTimeString: () => string;
1236
1237
  readonly toLocaleDateString: {
@@ -1264,7 +1265,6 @@ export declare const mockDashManifest: {
1264
1265
  readonly getTimezoneOffset: () => number;
1265
1266
  readonly toUTCString: () => string;
1266
1267
  readonly toISOString: () => string;
1267
- readonly toJSON: (key?: any) => string;
1268
1268
  };
1269
1269
  readonly suggestedPresentationDelay?: import("@amazon/vinyl-mpd-parser").Duration;
1270
1270
  readonly timeShiftBufferDepth?: import("@amazon/vinyl-mpd-parser").Duration;
@@ -2129,6 +2129,7 @@ export declare const mockDashManifest: {
2129
2129
  (hint: "number"): number;
2130
2130
  (hint: string): string | number;
2131
2131
  };
2132
+ readonly toJSON: (key?: any) => string;
2132
2133
  readonly toDateString: () => string;
2133
2134
  readonly toTimeString: () => string;
2134
2135
  readonly toLocaleDateString: {
@@ -2162,7 +2163,6 @@ export declare const mockDashManifest: {
2162
2163
  readonly getTimezoneOffset: () => number;
2163
2164
  readonly toUTCString: () => string;
2164
2165
  readonly toISOString: () => string;
2165
- readonly toJSON: (key?: any) => string;
2166
2166
  };
2167
2167
  readonly availabilityStartTime?: {
2168
2168
  readonly toString: () => string;
@@ -2177,6 +2177,7 @@ export declare const mockDashManifest: {
2177
2177
  (hint: "number"): number;
2178
2178
  (hint: string): string | number;
2179
2179
  };
2180
+ readonly toJSON: (key?: any) => string;
2180
2181
  readonly toDateString: () => string;
2181
2182
  readonly toTimeString: () => string;
2182
2183
  readonly toLocaleDateString: {
@@ -2210,7 +2211,6 @@ export declare const mockDashManifest: {
2210
2211
  readonly getTimezoneOffset: () => number;
2211
2212
  readonly toUTCString: () => string;
2212
2213
  readonly toISOString: () => string;
2213
- readonly toJSON: (key?: any) => string;
2214
2214
  };
2215
2215
  readonly id?: string;
2216
2216
  readonly maxSegmentDuration?: import("@amazon/vinyl-mpd-parser").Duration;
@@ -2232,6 +2232,7 @@ export declare const mockDashManifest: {
2232
2232
  (hint: "number"): number;
2233
2233
  (hint: string): string | number;
2234
2234
  };
2235
+ readonly toJSON: (key?: any) => string;
2235
2236
  readonly toDateString: () => string;
2236
2237
  readonly toTimeString: () => string;
2237
2238
  readonly toLocaleDateString: {
@@ -2265,7 +2266,6 @@ export declare const mockDashManifest: {
2265
2266
  readonly getTimezoneOffset: () => number;
2266
2267
  readonly toUTCString: () => string;
2267
2268
  readonly toISOString: () => string;
2268
- readonly toJSON: (key?: any) => string;
2269
2269
  };
2270
2270
  readonly suggestedPresentationDelay?: import("@amazon/vinyl-mpd-parser").Duration;
2271
2271
  readonly timeShiftBufferDepth?: import("@amazon/vinyl-mpd-parser").Duration;
@@ -9,12 +9,12 @@ export declare class MockMSMediaKeySession extends MockEventTarget implements MS
9
9
  close: import("@amazon/vinyl-util/browserTestUtil").Spy2<() => void>;
10
10
  update: import("@amazon/vinyl-util/browserTestUtil").Spy2<(key: Uint8Array) => void>;
11
11
  addEventListener: import("@amazon/vinyl-util/browserTestUtil").Spy2<{
12
- <K extends keyof import("@amazon/vinyl").MSMediaKeySessionEventMap>(type: K, listener: (this: MSMediaKeySession, ev: import("@amazon/vinyl").MSMediaKeySessionEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
12
+ <K extends keyof import("../../../../../src").MSMediaKeySessionEventMap>(type: K, listener: (this: MSMediaKeySession, ev: import("../../../../../src").MSMediaKeySessionEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
13
13
  (type: string, listener: EventListenerOrEventListenerObject | null, options?: boolean | AddEventListenerOptions): void;
14
14
  }>;
15
15
  dispatchEvent: import("@amazon/vinyl-util/browserTestUtil").Spy2<((event: Event) => boolean) & ((event: Event) => any)>;
16
16
  removeEventListener: import("@amazon/vinyl-util/browserTestUtil").Spy2<{
17
- <K extends keyof import("@amazon/vinyl").MSMediaKeySessionEventMap>(type: K, listener: (this: MSMediaKeySession, ev: import("@amazon/vinyl").MSMediaKeySessionEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
17
+ <K extends keyof import("../../../../../src").MSMediaKeySessionEventMap>(type: K, listener: (this: MSMediaKeySession, ev: import("../../../../../src").MSMediaKeySessionEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
18
18
  (type: string, listener: EventListenerOrEventListenerObject | null, options?: boolean | EventListenerOptions): void;
19
19
  }>;
20
20
  }
@@ -9,12 +9,12 @@ export declare class MockWebKitMediaKeySession extends MockEventTarget implement
9
9
  close: import("@amazon/vinyl-util/browserTestUtil").Spy2<() => void>;
10
10
  update: import("@amazon/vinyl-util/browserTestUtil").Spy2<(key: Uint8Array) => void>;
11
11
  addEventListener: import("@amazon/vinyl-util/browserTestUtil").Spy2<{
12
- <K extends keyof import("@amazon/vinyl").WebKitMediaKeySessionEventMap>(type: K, listener: (this: WebKitMediaKeySession, ev: import("@amazon/vinyl").WebKitMediaKeySessionEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
12
+ <K extends keyof import("../../../../../src").WebKitMediaKeySessionEventMap>(type: K, listener: (this: WebKitMediaKeySession, ev: import("../../../../../src").WebKitMediaKeySessionEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
13
13
  (type: string, listener: EventListenerOrEventListenerObject | null, options?: boolean | AddEventListenerOptions): void;
14
14
  }>;
15
15
  dispatchEvent: import("@amazon/vinyl-util/browserTestUtil").Spy2<((event: Event) => boolean) & ((event: Event) => any)>;
16
16
  removeEventListener: import("@amazon/vinyl-util/browserTestUtil").Spy2<{
17
- <K extends keyof import("@amazon/vinyl").WebKitMediaKeySessionEventMap>(type: K, listener: (this: WebKitMediaKeySession, ev: import("@amazon/vinyl").WebKitMediaKeySessionEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
17
+ <K extends keyof import("../../../../../src").WebKitMediaKeySessionEventMap>(type: K, listener: (this: WebKitMediaKeySession, ev: import("../../../../../src").WebKitMediaKeySessionEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
18
18
  (type: string, listener: EventListenerOrEventListenerObject | null, options?: boolean | EventListenerOptions): void;
19
19
  }>;
20
20
  }
@@ -1,10 +1,10 @@
1
1
  import { type DrmKeySystemResolver, type VinylOptions } from '@amazon/vinyl';
2
- import { MockCapabilities } from '../../mock/client/MockCapabilities';
3
- import { MockPlaybackController } from '../../mock/playback/MockPlaybackController';
4
- import { MockPlaybackSource } from '../../mock/playback/MockPlaybackSource';
5
- import { MockTrackController } from '../../mock/track/MockTrackController';
6
- import { MockDrmController } from '../../mock/drm/MockDrmController';
7
- import { MockAutoResetController } from '../../mock/track/MockAutoResetController';
2
+ import { MockCapabilities } from '../client/MockCapabilities';
3
+ import { MockPlaybackController } from '../playback/MockPlaybackController';
4
+ import { MockPlaybackSource } from '../playback/MockPlaybackSource';
5
+ import { MockTrackController } from '../track/MockTrackController';
6
+ import { MockDrmController } from '../drm/MockDrmController';
7
+ import { MockAutoResetController } from '../track/MockAutoResetController';
8
8
  import { noop } from '@amazon/vinyl-util';
9
9
  export type MockVinylDependencies = ReturnType<typeof createMockVinylDependencies>;
10
10
  /**
@@ -2,7 +2,6 @@ import { type MediaQualityMetadata, type SegmentController, type SegmentControll
2
2
  import { MockEventHost } from '@amazon/vinyl-util/testUtil';
3
3
  export declare class MockSegmentController extends MockEventHost<SegmentControllerEventMap> implements SegmentController {
4
4
  error: Error | null;
5
- getDuration: import("@amazon/vinyl-util/browserTestUtil").Spy2<(() => Promise<number | null>) & (() => any)>;
6
5
  configure: import("@amazon/vinyl-util/browserTestUtil").Spy2<(options: Partial<import("@amazon/vinyl").PrefetchOptions>) => void>;
7
6
  fetchedRanges: import("@amazon/vinyl-util").ReadonlyRanges;
8
7
  activate: import("@amazon/vinyl-util/browserTestUtil").Spy2<() => void>;
@@ -1,7 +1,6 @@
1
1
  import { type MediaSourceController, type MediaSourceControllerEventMap } from '@amazon/vinyl';
2
2
  import { MockEventHost } from '@amazon/vinyl-util/testUtil';
3
3
  export declare class MockMediaSourceController extends MockEventHost<MediaSourceControllerEventMap> implements MediaSourceController {
4
- duration: number;
5
4
  readyState: ReadyState;
6
5
  createSourceBuffer: import("@amazon/vinyl-util/browserTestUtil").Spy2<((contentType: import("@amazon/vinyl").ContentType, mimeType: string) => import("@amazon/vinyl").SourceBufferRef) & ((contentType: import("@amazon/vinyl").ContentType, mimeType: string) => any)>;
7
6
  endOfStream: import("@amazon/vinyl-util/browserTestUtil").Spy2<(error?: EndOfStreamError) => void>;
@@ -3,5 +3,6 @@ import { MockEventHost } from '@amazon/vinyl-util/testUtil';
3
3
  export declare class MockAutoResetController extends MockEventHost<AutoResetControllerEventMap> implements AutoResetController {
4
4
  setError: import("@amazon/vinyl-util/browserTestUtil").Spy2<(error: Error) => void>;
5
5
  clear: import("@amazon/vinyl-util/browserTestUtil").Spy2<() => void>;
6
+ resetPending: boolean;
6
7
  }
7
8
  //# sourceMappingURL=MockAutoResetController.d.ts.map
@@ -1,9 +1,9 @@
1
1
  import { type ContentType, type DashMediaQualityMetadataResolver, type MediaTimeline } from '@amazon/vinyl';
2
- import { MockDashManifestController } from '../../../mock/dash/MockDashManifestController';
3
- import { MockMediaSourceController } from '../../../mock/streaming/buffering/MockMediaSourceController';
4
- import { MockPlaybackSource } from '../../../mock/playback/MockPlaybackSource';
5
- import { MockPlaybackController } from '../../../mock/playback/MockPlaybackController';
6
- import { MockDrmController } from '../../../mock/drm/MockDrmController';
2
+ import { MockDashManifestController } from '../../dash/MockDashManifestController';
3
+ import { MockMediaSourceController } from '../../streaming/buffering/MockMediaSourceController';
4
+ import { MockPlaybackSource } from '../../playback/MockPlaybackSource';
5
+ import { MockPlaybackController } from '../../playback/MockPlaybackController';
6
+ import { MockDrmController } from '../../drm/MockDrmController';
7
7
  export declare function createMockDashDependencies(): {
8
8
  readonly contentTypesValue: import("@amazon/vinyl-observable").MutableValueImpl<Promise<Set<ContentType>>>;
9
9
  readonly contentStreamFactory: jasmine.Spy<((contentType: ContentType) => import("@amazon/vinyl").ContentStream) & ((contentType: ContentType) => any)>;
@@ -1,9 +1,9 @@
1
1
  import { type ContentType, type HlsMediaQualityMetadataResolver, type MediaTimeline } from '@amazon/vinyl';
2
- import { MockHlsManifestController } from '../../../mock/hls/MockHlsManifestController';
3
- import { MockMediaSourceController } from '../../../mock/streaming/buffering/MockMediaSourceController';
4
- import { MockPlaybackSource } from '../../../mock/playback/MockPlaybackSource';
5
- import { MockPlaybackController } from '../../../mock/playback/MockPlaybackController';
6
- import { MockDrmController } from '../../../mock/drm/MockDrmController';
2
+ import { MockHlsManifestController } from '../../hls/MockHlsManifestController';
3
+ import { MockMediaSourceController } from '../../streaming/buffering/MockMediaSourceController';
4
+ import { MockPlaybackSource } from '../../playback/MockPlaybackSource';
5
+ import { MockPlaybackController } from '../../playback/MockPlaybackController';
6
+ import { MockDrmController } from '../../drm/MockDrmController';
7
7
  export declare function createMockHlsDependencies(): {
8
8
  readonly contentTypesValue: import("@amazon/vinyl-observable").MutableValueImpl<Promise<Set<ContentType>>>;
9
9
  readonly contentStreamFactory: jasmine.Spy<((contentType: ContentType) => import("@amazon/vinyl").ContentStream) & ((contentType: ContentType) => any)>;
package/docs/USAGE.md CHANGED
@@ -397,3 +397,36 @@ player.on('playbackQualityChange', (event) => {
397
397
  console.log('Playback quality changed:', event.previous, '→', event.current)
398
398
  })
399
399
  ```
400
+
401
+ ## Adaptive Bitrate Configuration
402
+
403
+ Adaptive bitrate behavior is configured through `player.configure({ abr })` and
404
+ can be changed at any time; the timeline is re-evaluated on the next quality
405
+ selection.
406
+
407
+ ### Capping Bandwidth
408
+
409
+ Use `abr.maxBandwidth` to cap the maximum per-second bandwidth (in bits per
410
+ second) of any selectable quality. This is a soft cap: if no qualities fit
411
+ within the limit, the lowest-bandwidth quality is selected so playback remains
412
+ possible. Setting `maxBandwidth` to `0` therefore pins playback to the lowest
413
+ available quality.
414
+
415
+ `maxBandwidth` has no effect when `strategy` is `AbrStrategy.LOWEST` or
416
+ `AbrStrategy.HIGHEST`, since those strategies pin selection regardless of
417
+ bandwidth.
418
+
419
+ ```typescript
420
+ // Limit selectable qualities to 1.5 Mbps or less.
421
+ player.configure({
422
+ abr: {
423
+ maxBandwidth: 1_500_000,
424
+ },
425
+ })
426
+
427
+ // Pin to the lowest available quality.
428
+ player.configure({ abr: { maxBandwidth: 0 } })
429
+
430
+ // Remove the cap.
431
+ player.configure({ abr: { maxBandwidth: null } })
432
+ ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@amazon/vinyl",
3
- "version": "1.1.0",
3
+ "version": "1.2.0",
4
4
  "description": "An HTML5 streaming media player",
5
5
  "repository": {
6
6
  "type": "git",
@@ -55,12 +55,14 @@
55
55
  },
56
56
  "exports": {
57
57
  ".": {
58
+ "development": "./src/index.ts",
58
59
  "types@>=5.4": "./dist/types/current/index.d.ts",
59
60
  "types@>=4.7": "./dist/types/ts4.7/index.d.ts",
60
61
  "require": "./dist/index.cjs",
61
62
  "import": "./dist/index.js"
62
63
  },
63
64
  "./vinylTestUtil": {
65
+ "development": "./test/vinylTestUtil/index.ts",
64
66
  "types@>=5.4": "./dist/vinylTestUtil/types/current/index.d.ts",
65
67
  "types@>=4.7": "./dist/vinylTestUtil/types/ts4.7/index.d.ts",
66
68
  "import": "./dist/vinylTestUtil/index.js"
@@ -80,8 +82,7 @@
80
82
  "eslint:write": "eslint . --cache --fix",
81
83
  "lint": "npm run indexFiles:check && npm run eslint:check && npm run prettier:check",
82
84
  "lint:write": "npm run indexFiles:write && npm run eslint:write && npm run prettier:write",
83
- "validate": "npm run lint && npm run test",
84
- "test": "tsx --tsconfig ../../tsconfig.flat.json ../../node_modules/jasmine/bin/jasmine --config=test/unit/jasmine.config.json",
85
+ "test": "tsx ../../node_modules/jasmine/bin/jasmine --config=test/unit/jasmine.config.json",
85
86
  "test:coverage": "c8 npm run test",
86
87
  "test:browserstack": "npm run build:release && tsx buildSrc/runBrowserStack.ts",
87
88
  "benchmark:abr": "tsx test/abrBenchmark/run.ts",
@@ -91,20 +92,17 @@
91
92
  "watch:release": "tsx buildSrc/build.ts --watch --release"
92
93
  },
93
94
  "devDependencies": {
94
- "@amazon/vinyl-build-utils": "^1.1.0",
95
+ "@amazon/vinyl-build-utils": "^1.2.0",
95
96
  "commander": "^9.5.0"
96
97
  },
97
98
  "dependencies": {
98
- "@amazon/vinyl-di": "^1.1.0",
99
- "@amazon/vinyl-hls-parser": "^1.1.0",
100
- "@amazon/vinyl-mpd-parser": "^1.1.0",
101
- "@amazon/vinyl-observable": "^1.1.0",
102
- "@amazon/vinyl-transmux": "^1.1.0",
103
- "@amazon/vinyl-util": "^1.1.0",
104
- "@amazon/vinyl-validation": "^1.1.0"
99
+ "@amazon/vinyl-di": "^1.2.0",
100
+ "@amazon/vinyl-hls-parser": "^1.2.0",
101
+ "@amazon/vinyl-mpd-parser": "^1.2.0",
102
+ "@amazon/vinyl-observable": "^1.2.0",
103
+ "@amazon/vinyl-transmux": "^1.2.0",
104
+ "@amazon/vinyl-util": "^1.2.0",
105
+ "@amazon/vinyl-validation": "^1.2.0"
105
106
  },
106
- "browserslist": [
107
- "defaults, chrome 52, firefox 54, edge 15, safari 8"
108
- ],
109
- "gitHead": "ea13070fb52c1903723f08f31c356465d2f3279e"
107
+ "gitHead": "fbb8f1c60c5ada4a11f13954bb6bcb52f3cb0c5a"
110
108
  }