@amazon/vinyl 1.2.0 → 2.0.4

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 (653) hide show
  1. package/dist/index.cjs +9225 -6633
  2. package/dist/index.cjs.map +4 -4
  3. package/dist/index.js +9080 -6435
  4. package/dist/index.js.map +4 -4
  5. package/dist/test/benchmark.es5.js +266 -253
  6. package/dist/test/benchmark.js +3256 -3190
  7. package/dist/test/benchmark.js.map +4 -4
  8. package/dist/test/integ.es5.js +1404 -1093
  9. package/dist/test/integ.js +45924 -33873
  10. package/dist/test/integ.js.map +4 -4
  11. package/dist/types/current/ad/AdBreakInfo.d.ts +160 -0
  12. package/dist/types/current/ad/AdBreakInfo.d.ts.map +1 -0
  13. package/dist/types/current/ad/AdController.d.ts +229 -0
  14. package/dist/types/current/ad/AdController.d.ts.map +1 -0
  15. package/dist/types/current/ad/AdController.js +19 -0
  16. package/dist/types/current/ad/AdControllerImpl.d.ts +146 -0
  17. package/dist/types/current/ad/AdControllerImpl.d.ts.map +1 -0
  18. package/dist/types/current/ad/AdControllerImpl.js +705 -0
  19. package/dist/types/current/ad/AdError.d.ts +6 -0
  20. package/dist/types/current/ad/AdError.d.ts.map +1 -0
  21. package/dist/types/current/ad/AdError.js +14 -0
  22. package/dist/types/current/ad/AdsProvider.d.ts +28 -0
  23. package/dist/types/current/ad/AdsProvider.d.ts.map +1 -0
  24. package/dist/types/current/ad/AdsProvider.js +5 -0
  25. package/dist/types/current/ad/defaultAdLoadOptionsResolver.d.ts +12 -0
  26. package/dist/types/current/ad/defaultAdLoadOptionsResolver.d.ts.map +1 -0
  27. package/dist/types/current/ad/defaultAdLoadOptionsResolver.js +26 -0
  28. package/dist/types/current/ad/discoverHlsInterstitials.d.ts +22 -0
  29. package/dist/types/current/ad/discoverHlsInterstitials.d.ts.map +1 -0
  30. package/dist/types/current/ad/discoverHlsInterstitials.js +246 -0
  31. package/dist/types/current/drm/DrmController.d.ts +29 -4
  32. package/dist/types/current/drm/DrmController.d.ts.map +1 -1
  33. package/dist/types/current/drm/DrmControllerImpl.d.ts +13 -4
  34. package/dist/types/current/drm/DrmControllerImpl.d.ts.map +1 -1
  35. package/dist/types/current/drm/DrmControllerImpl.js +85 -14
  36. package/dist/types/current/drm/util/unpackPlayReadyChallenge.d.ts +5 -0
  37. package/dist/types/current/drm/util/unpackPlayReadyChallenge.d.ts.map +1 -1
  38. package/dist/types/current/drm/util/unpackPlayReadyChallenge.js +5 -0
  39. package/dist/types/current/index.d.ts +151 -126
  40. package/dist/types/current/index.d.ts.map +1 -1
  41. package/dist/types/current/index.js +151 -126
  42. package/dist/types/current/playback/PlaybackControllerImpl.d.ts +1 -0
  43. package/dist/types/current/playback/PlaybackControllerImpl.d.ts.map +1 -1
  44. package/dist/types/current/playback/PlaybackControllerImpl.js +44 -5
  45. package/dist/types/current/playback/PlaybackSource.d.ts +1 -1
  46. package/dist/types/current/playback/ReadonlyPlaybackController.d.ts +6 -1
  47. package/dist/types/current/playback/ReadonlyPlaybackController.d.ts.map +1 -1
  48. package/dist/types/current/playback/ReadonlyPlaybackController.js +1 -0
  49. package/dist/types/current/streaming/ContentStream.d.ts +8 -1
  50. package/dist/types/current/streaming/ContentStream.d.ts.map +1 -1
  51. package/dist/types/current/streaming/ContentStream.js +19 -2
  52. package/dist/types/current/streaming/LoadMetric.d.ts +58 -0
  53. package/dist/types/current/streaming/LoadMetric.d.ts.map +1 -0
  54. package/dist/types/current/streaming/LoadMetric.js +5 -0
  55. package/dist/types/current/streaming/ManifestController.d.ts +16 -1
  56. package/dist/types/current/streaming/ManifestController.d.ts.map +1 -1
  57. package/dist/types/current/streaming/ManifestControllerImpl.d.ts +43 -0
  58. package/dist/types/current/streaming/ManifestControllerImpl.d.ts.map +1 -0
  59. package/dist/types/current/streaming/ManifestControllerImpl.js +104 -0
  60. package/dist/types/current/streaming/MediaQualityMetadata.d.ts +16 -0
  61. package/dist/types/current/streaming/MediaQualityMetadata.d.ts.map +1 -1
  62. package/dist/types/current/streaming/MediaQualityMetadata.js +6 -0
  63. package/dist/types/current/streaming/MediaTimeline.d.ts +6 -0
  64. package/dist/types/current/streaming/MediaTimeline.d.ts.map +1 -1
  65. package/dist/types/current/streaming/SegmentController.d.ts +5 -0
  66. package/dist/types/current/streaming/SegmentController.d.ts.map +1 -1
  67. package/dist/types/current/streaming/SegmentControllerImpl.d.ts +12 -0
  68. package/dist/types/current/streaming/SegmentControllerImpl.d.ts.map +1 -1
  69. package/dist/types/current/streaming/SegmentControllerImpl.js +67 -10
  70. package/dist/types/current/streaming/StreamingEventMap.d.ts +38 -1
  71. package/dist/types/current/streaming/StreamingEventMap.d.ts.map +1 -1
  72. package/dist/types/current/streaming/StreamingEventMap.js +4 -0
  73. package/dist/types/current/streaming/abr/QualitySelectorImpl.d.ts +28 -0
  74. package/dist/types/current/streaming/abr/QualitySelectorImpl.d.ts.map +1 -1
  75. package/dist/types/current/streaming/abr/QualitySelectorImpl.js +39 -4
  76. package/dist/types/current/streaming/buffering/BufferingController.d.ts +37 -0
  77. package/dist/types/current/streaming/buffering/BufferingController.d.ts.map +1 -1
  78. package/dist/types/current/streaming/buffering/BufferingController.js +79 -3
  79. package/dist/types/current/streaming/buffering/MediaSourceController.d.ts +16 -11
  80. package/dist/types/current/streaming/buffering/MediaSourceController.d.ts.map +1 -1
  81. package/dist/types/current/streaming/buffering/MediaSourceController.js +76 -51
  82. package/dist/types/current/streaming/buffering/SourceBufferController.d.ts.map +1 -1
  83. package/dist/types/current/streaming/buffering/SourceBufferController.js +5 -2
  84. package/dist/types/current/streaming/buffering/codecDenylist.d.ts +23 -0
  85. package/dist/types/current/streaming/buffering/codecDenylist.d.ts.map +1 -0
  86. package/dist/types/current/streaming/buffering/codecDenylist.js +62 -0
  87. package/dist/types/current/streaming/createAllowedContentTypesValue.d.ts +30 -0
  88. package/dist/types/current/streaming/createAllowedContentTypesValue.d.ts.map +1 -0
  89. package/dist/types/current/streaming/createAllowedContentTypesValue.js +43 -0
  90. package/dist/types/current/streaming/createDefaultMediaTimelineTransformer.d.ts +4 -1
  91. package/dist/types/current/streaming/createDefaultMediaTimelineTransformer.d.ts.map +1 -1
  92. package/dist/types/current/streaming/createDefaultMediaTimelineTransformer.js +32 -1
  93. package/dist/types/current/streaming/mediaTimelineAccessibilityFilter.d.ts +35 -0
  94. package/dist/types/current/streaming/mediaTimelineAccessibilityFilter.d.ts.map +1 -0
  95. package/dist/types/current/streaming/mediaTimelineAccessibilityFilter.js +75 -0
  96. package/dist/types/current/streaming/mediaTimelineLanguageFilter.d.ts +24 -6
  97. package/dist/types/current/streaming/mediaTimelineLanguageFilter.d.ts.map +1 -1
  98. package/dist/types/current/streaming/mediaTimelineLanguageFilter.js +61 -16
  99. package/dist/types/current/text/SidecarTextTrackController.d.ts +91 -0
  100. package/dist/types/current/text/SidecarTextTrackController.d.ts.map +1 -0
  101. package/dist/types/current/text/SidecarTextTrackController.js +237 -0
  102. package/dist/types/current/text/SidecarTextTrackLoader.d.ts +60 -0
  103. package/dist/types/current/text/SidecarTextTrackLoader.d.ts.map +1 -0
  104. package/dist/types/current/text/SidecarTextTrackLoader.js +144 -0
  105. package/dist/types/current/text/TextTrack.d.ts +125 -0
  106. package/dist/types/current/text/TextTrack.d.ts.map +1 -0
  107. package/dist/types/current/text/TextTrack.js +9 -0
  108. package/dist/types/current/text/VttCueStyle.d.ts +41 -0
  109. package/dist/types/current/text/VttCueStyle.d.ts.map +1 -0
  110. package/dist/types/current/text/VttCueStyle.js +45 -0
  111. package/dist/types/current/text/discoverDashTextTracks.d.ts +24 -0
  112. package/dist/types/current/text/discoverDashTextTracks.d.ts.map +1 -0
  113. package/dist/types/current/text/discoverDashTextTracks.js +109 -0
  114. package/dist/types/current/text/discoverHlsTextTracks.d.ts +19 -0
  115. package/dist/types/current/text/discoverHlsTextTracks.d.ts.map +1 -0
  116. package/dist/types/current/text/discoverHlsTextTracks.js +49 -0
  117. package/dist/types/current/text/parseWebVtt.d.ts +46 -0
  118. package/dist/types/current/text/parseWebVtt.d.ts.map +1 -0
  119. package/dist/types/current/text/parseWebVtt.js +120 -0
  120. package/dist/types/current/text/pickPreferredTextTrack.d.ts +14 -0
  121. package/dist/types/current/text/pickPreferredTextTrack.d.ts.map +1 -0
  122. package/dist/types/current/text/pickPreferredTextTrack.js +68 -0
  123. package/dist/types/current/track/SeekRange.d.ts +9 -0
  124. package/dist/types/current/track/SeekRange.d.ts.map +1 -0
  125. package/dist/types/current/track/SeekRange.js +5 -0
  126. package/dist/types/current/track/Track.d.ts +50 -7
  127. package/dist/types/current/track/Track.d.ts.map +1 -1
  128. package/dist/types/current/track/TrackBase.d.ts +30 -29
  129. package/dist/types/current/track/TrackBase.d.ts.map +1 -1
  130. package/dist/types/current/track/TrackBase.js +68 -16
  131. package/dist/types/current/track/TrackController.d.ts +100 -36
  132. package/dist/types/current/track/TrackController.d.ts.map +1 -1
  133. package/dist/types/current/track/TrackController.js +368 -115
  134. package/dist/types/current/track/TrackFactory.d.ts +23 -3
  135. package/dist/types/current/track/TrackFactory.d.ts.map +1 -1
  136. package/dist/types/current/track/TrackFactory.js +9 -3
  137. package/dist/types/current/track/dash/DashManifestController.d.ts +1 -40
  138. package/dist/types/current/track/dash/DashManifestController.d.ts.map +1 -1
  139. package/dist/types/current/track/dash/DashManifestController.js +1 -79
  140. package/dist/types/current/track/dash/DashMediaQualityMetadataResolver.d.ts.map +1 -1
  141. package/dist/types/current/track/dash/DashMediaQualityMetadataResolver.js +13 -0
  142. package/dist/types/current/track/dash/DashTrack.d.ts +4 -5
  143. package/dist/types/current/track/dash/DashTrack.d.ts.map +1 -1
  144. package/dist/types/current/track/dash/DashTrack.js +3 -5
  145. package/dist/types/current/track/dash/buildDashMediaTimeline.d.ts.map +1 -1
  146. package/dist/types/current/track/dash/buildDashMediaTimeline.js +3 -2
  147. package/dist/types/current/track/dash/createDashContentTypesValue.js +2 -2
  148. package/dist/types/current/track/dash/createDashFactories.d.ts +39 -12
  149. package/dist/types/current/track/dash/createDashFactories.d.ts.map +1 -1
  150. package/dist/types/current/track/dash/createDashFactories.js +33 -5
  151. package/dist/types/current/track/dash/createSegmentControllerFactory.d.ts +0 -5
  152. package/dist/types/current/track/dash/createSegmentControllerFactory.d.ts.map +1 -1
  153. package/dist/types/current/track/dash/timeline/DashRepresentationSegmentProvider.d.ts.map +1 -1
  154. package/dist/types/current/track/dash/timeline/DashRepresentationSegmentProvider.js +2 -1
  155. package/dist/types/current/track/dash/util/mpd.d.ts +10 -0
  156. package/dist/types/current/track/dash/util/mpd.d.ts.map +1 -1
  157. package/dist/types/current/track/dash/util/mpd.js +16 -0
  158. package/dist/types/current/track/hls/HlsManifestController.d.ts +1 -25
  159. package/dist/types/current/track/hls/HlsManifestController.d.ts.map +1 -1
  160. package/dist/types/current/track/hls/HlsManifestController.js +1 -68
  161. package/dist/types/{ts3.7/track/hls/HlsManifestProvider.d.ts → current/track/hls/HlsManifestData.d.ts} +4 -6
  162. package/dist/types/current/track/hls/HlsManifestData.d.ts.map +1 -0
  163. package/dist/types/current/track/hls/HlsManifestData.js +5 -0
  164. package/dist/types/current/track/hls/HlsMediaQualityMetadataResolver.js +9 -6
  165. package/dist/types/current/track/hls/HlsTrack.d.ts +5 -6
  166. package/dist/types/current/track/hls/HlsTrack.d.ts.map +1 -1
  167. package/dist/types/current/track/hls/HlsTrack.js +3 -5
  168. package/dist/types/current/track/hls/buildHlsMediaTimeline.d.ts +8 -1
  169. package/dist/types/current/track/hls/buildHlsMediaTimeline.d.ts.map +1 -1
  170. package/dist/types/current/track/hls/buildHlsMediaTimeline.js +134 -67
  171. package/dist/types/current/track/hls/createDefaultHlsManifestTransformer.d.ts +1 -1
  172. package/dist/types/current/track/hls/createDefaultHlsManifestTransformer.d.ts.map +1 -1
  173. package/dist/types/current/track/hls/createHlsContentTypesValue.d.ts +1 -1
  174. package/dist/types/current/track/hls/createHlsContentTypesValue.d.ts.map +1 -1
  175. package/dist/types/current/track/hls/createHlsFactories.d.ts +40 -13
  176. package/dist/types/current/track/hls/createHlsFactories.d.ts.map +1 -1
  177. package/dist/types/current/track/hls/createHlsFactories.js +35 -6
  178. package/dist/types/current/track/hls/createHlsManifestProvider.d.ts +6 -0
  179. package/dist/types/current/track/hls/createHlsManifestProvider.d.ts.map +1 -0
  180. package/dist/types/current/track/hls/createHlsManifestProvider.js +9 -0
  181. package/dist/types/current/track/hls/createUrlHlsManifestProvider.d.ts +4 -4
  182. package/dist/types/current/track/hls/createUrlHlsManifestProvider.d.ts.map +1 -1
  183. package/dist/types/current/track/hls/createUrlHlsManifestProvider.js +22 -3
  184. package/dist/types/current/track/hls/index.d.ts +1 -1
  185. package/dist/types/current/track/hls/index.d.ts.map +1 -1
  186. package/dist/types/current/track/hls/index.js +1 -1
  187. package/dist/types/current/track/inferLoadOptionsFromUri.d.ts +15 -0
  188. package/dist/types/current/track/inferLoadOptionsFromUri.d.ts.map +1 -0
  189. package/dist/types/current/track/inferLoadOptionsFromUri.js +55 -0
  190. package/dist/types/current/track/mse/MseTrack.d.ts +66 -8
  191. package/dist/types/current/track/mse/MseTrack.d.ts.map +1 -1
  192. package/dist/types/current/track/mse/MseTrack.js +216 -52
  193. package/dist/types/current/track/source/SourceObjectTrack.d.ts +2 -2
  194. package/dist/types/current/track/source/SourceObjectTrack.d.ts.map +1 -1
  195. package/dist/types/current/track/source/SourceTrack.d.ts +2 -2
  196. package/dist/types/current/track/source/SourceTrack.d.ts.map +1 -1
  197. package/dist/types/current/track/source/SourceTrack.js +1 -2
  198. package/dist/types/current/track/source/SourceTrackBase.d.ts +7 -5
  199. package/dist/types/current/track/source/SourceTrackBase.d.ts.map +1 -1
  200. package/dist/types/current/track/source/SourceTrackBase.js +26 -9
  201. package/dist/types/current/tsconfig.tsbuildinfo +1 -1
  202. package/dist/types/current/util/media/codecOverrides.d.ts +33 -0
  203. package/dist/types/current/util/media/codecOverrides.d.ts.map +1 -0
  204. package/dist/types/current/util/media/codecOverrides.js +37 -0
  205. package/dist/types/current/util/media/codecSupport.d.ts +6 -0
  206. package/dist/types/current/util/media/codecSupport.d.ts.map +1 -0
  207. package/dist/types/current/util/media/codecSupport.js +17 -0
  208. package/dist/types/current/util/media/mediaSource.d.ts +5 -0
  209. package/dist/types/current/util/media/mediaSource.d.ts.map +1 -1
  210. package/dist/types/current/util/media/mediaSource.js +6 -1
  211. package/dist/types/current/vinyl/ReadonlyPlaybackStreamingState.d.ts +9 -2
  212. package/dist/types/current/vinyl/ReadonlyPlaybackStreamingState.d.ts.map +1 -1
  213. package/dist/types/current/vinyl/VinylDeps.d.ts +5 -0
  214. package/dist/types/current/vinyl/VinylDeps.d.ts.map +1 -1
  215. package/dist/types/current/vinyl/VinylOptions.d.ts +68 -4
  216. package/dist/types/current/vinyl/VinylOptions.d.ts.map +1 -1
  217. package/dist/types/current/vinyl/VinylOptions.js +17 -2
  218. package/dist/types/current/vinyl/VinylPlayer.d.ts +63 -4
  219. package/dist/types/current/vinyl/VinylPlayer.d.ts.map +1 -1
  220. package/dist/types/current/vinyl/VinylPlayer.js +216 -36
  221. package/dist/types/current/vinyl/createVinylFactories.d.ts +55 -12
  222. package/dist/types/current/vinyl/createVinylFactories.d.ts.map +1 -1
  223. package/dist/types/current/vinyl/createVinylFactories.js +4 -0
  224. package/dist/types/ts3.7/ad/AdBreakInfo.d.ts +160 -0
  225. package/dist/types/ts3.7/ad/AdController.d.ts +243 -0
  226. package/dist/types/ts3.7/ad/AdControllerImpl.d.ts +146 -0
  227. package/dist/types/ts3.7/ad/AdError.d.ts +6 -0
  228. package/dist/types/ts3.7/ad/AdsProvider.d.ts +28 -0
  229. package/dist/types/ts3.7/ad/defaultAdLoadOptionsResolver.d.ts +12 -0
  230. package/dist/types/ts3.7/ad/discoverHlsInterstitials.d.ts +22 -0
  231. package/dist/types/ts3.7/drm/DrmController.d.ts +29 -4
  232. package/dist/types/ts3.7/drm/DrmControllerImpl.d.ts +13 -4
  233. package/dist/types/ts3.7/drm/util/unpackPlayReadyChallenge.d.ts +5 -0
  234. package/dist/types/ts3.7/index.d.ts +151 -126
  235. package/dist/types/ts3.7/playback/PlaybackControllerImpl.d.ts +1 -0
  236. package/dist/types/ts3.7/playback/PlaybackSource.d.ts +1 -1
  237. package/dist/types/ts3.7/playback/ReadonlyPlaybackController.d.ts +6 -0
  238. package/dist/types/ts3.7/streaming/ContentStream.d.ts +8 -1
  239. package/dist/types/ts3.7/streaming/LoadMetric.d.ts +58 -0
  240. package/dist/types/ts3.7/streaming/ManifestController.d.ts +16 -1
  241. package/dist/types/ts3.7/streaming/ManifestControllerImpl.d.ts +40 -0
  242. package/dist/types/ts3.7/streaming/MediaQualityMetadata.d.ts +19 -0
  243. package/dist/types/ts3.7/streaming/MediaTimeline.d.ts +6 -0
  244. package/dist/types/ts3.7/streaming/SegmentController.d.ts +5 -0
  245. package/dist/types/ts3.7/streaming/SegmentControllerImpl.d.ts +12 -0
  246. package/dist/types/ts3.7/streaming/StreamingEventMap.d.ts +42 -1
  247. package/dist/types/ts3.7/streaming/abr/QualitySelectorImpl.d.ts +28 -0
  248. package/dist/types/ts3.7/streaming/buffering/BufferingController.d.ts +37 -0
  249. package/dist/types/ts3.7/streaming/buffering/MediaSourceController.d.ts +16 -11
  250. package/dist/types/ts3.7/streaming/buffering/codecDenylist.d.ts +23 -0
  251. package/dist/types/ts3.7/streaming/createAllowedContentTypesValue.d.ts +30 -0
  252. package/dist/types/ts3.7/streaming/createDefaultMediaTimelineTransformer.d.ts +4 -1
  253. package/dist/types/ts3.7/streaming/mediaTimelineAccessibilityFilter.d.ts +35 -0
  254. package/dist/types/ts3.7/streaming/mediaTimelineLanguageFilter.d.ts +24 -6
  255. package/dist/types/ts3.7/text/SidecarTextTrackController.d.ts +91 -0
  256. package/dist/types/ts3.7/text/SidecarTextTrackLoader.d.ts +60 -0
  257. package/dist/types/ts3.7/text/TextTrack.d.ts +129 -0
  258. package/dist/types/ts3.7/text/VttCueStyle.d.ts +41 -0
  259. package/dist/types/ts3.7/text/discoverDashTextTracks.d.ts +24 -0
  260. package/dist/types/ts3.7/text/discoverHlsTextTracks.d.ts +19 -0
  261. package/dist/types/ts3.7/text/parseWebVtt.d.ts +46 -0
  262. package/dist/types/ts3.7/text/pickPreferredTextTrack.d.ts +14 -0
  263. package/dist/types/ts3.7/track/SeekRange.d.ts +9 -0
  264. package/dist/types/ts3.7/track/Track.d.ts +50 -7
  265. package/dist/types/ts3.7/track/TrackBase.d.ts +21 -29
  266. package/dist/types/ts3.7/track/TrackController.d.ts +102 -37
  267. package/dist/types/ts3.7/track/TrackFactory.d.ts +22 -2
  268. package/dist/types/ts3.7/track/dash/DashManifestController.d.ts +1 -36
  269. package/dist/types/ts3.7/track/dash/DashTrack.d.ts +4 -5
  270. package/dist/types/ts3.7/track/dash/createDashFactories.d.ts +39 -12
  271. package/dist/types/ts3.7/track/dash/createSegmentControllerFactory.d.ts +0 -5
  272. package/dist/types/ts3.7/track/dash/util/mpd.d.ts +10 -0
  273. package/dist/types/ts3.7/track/hls/HlsManifestController.d.ts +1 -22
  274. package/dist/types/{current/track/hls/HlsManifestProvider.d.ts → ts3.7/track/hls/HlsManifestData.d.ts} +4 -6
  275. package/dist/types/ts3.7/track/hls/HlsTrack.d.ts +5 -6
  276. package/dist/types/ts3.7/track/hls/buildHlsMediaTimeline.d.ts +8 -1
  277. package/dist/types/ts3.7/track/hls/createDefaultHlsManifestTransformer.d.ts +1 -1
  278. package/dist/types/ts3.7/track/hls/createHlsContentTypesValue.d.ts +1 -1
  279. package/dist/types/ts3.7/track/hls/createHlsFactories.d.ts +40 -13
  280. package/dist/types/ts3.7/track/hls/createHlsManifestProvider.d.ts +6 -0
  281. package/dist/types/ts3.7/track/hls/createUrlHlsManifestProvider.d.ts +4 -4
  282. package/dist/types/ts3.7/track/hls/index.d.ts +1 -1
  283. package/dist/types/ts3.7/track/inferLoadOptionsFromUri.d.ts +15 -0
  284. package/dist/types/ts3.7/track/mse/MseTrack.d.ts +65 -7
  285. package/dist/types/ts3.7/track/source/SourceObjectTrack.d.ts +2 -2
  286. package/dist/types/ts3.7/track/source/SourceTrack.d.ts +2 -2
  287. package/dist/types/ts3.7/track/source/SourceTrackBase.d.ts +7 -5
  288. package/dist/types/ts3.7/util/media/codecOverrides.d.ts +33 -0
  289. package/dist/types/ts3.7/util/media/codecSupport.d.ts +6 -0
  290. package/dist/types/ts3.7/util/media/mediaSource.d.ts +5 -0
  291. package/dist/types/ts3.7/vinyl/ReadonlyPlaybackStreamingState.d.ts +9 -2
  292. package/dist/types/ts3.7/vinyl/VinylDeps.d.ts +5 -0
  293. package/dist/types/ts3.7/vinyl/VinylOptions.d.ts +68 -4
  294. package/dist/types/ts3.7/vinyl/VinylPlayer.d.ts +33 -4
  295. package/dist/types/ts3.7/vinyl/createVinylFactories.d.ts +55 -12
  296. package/dist/types/ts4.1/ad/AdBreakInfo.d.ts +160 -0
  297. package/dist/types/ts4.1/ad/AdController.d.ts +243 -0
  298. package/dist/types/ts4.1/ad/AdControllerImpl.d.ts +146 -0
  299. package/dist/types/ts4.1/ad/AdError.d.ts +6 -0
  300. package/dist/types/ts4.1/ad/AdsProvider.d.ts +28 -0
  301. package/dist/types/ts4.1/ad/defaultAdLoadOptionsResolver.d.ts +12 -0
  302. package/dist/types/ts4.1/ad/discoverHlsInterstitials.d.ts +22 -0
  303. package/dist/types/ts4.1/drm/DrmController.d.ts +29 -4
  304. package/dist/types/ts4.1/drm/DrmControllerImpl.d.ts +13 -4
  305. package/dist/types/ts4.1/drm/util/unpackPlayReadyChallenge.d.ts +5 -0
  306. package/dist/types/ts4.1/index.d.ts +151 -126
  307. package/dist/types/ts4.1/playback/PlaybackControllerImpl.d.ts +1 -0
  308. package/dist/types/ts4.1/playback/PlaybackSource.d.ts +1 -1
  309. package/dist/types/ts4.1/playback/ReadonlyPlaybackController.d.ts +6 -0
  310. package/dist/types/ts4.1/streaming/ContentStream.d.ts +8 -1
  311. package/dist/types/ts4.1/streaming/LoadMetric.d.ts +58 -0
  312. package/dist/types/ts4.1/streaming/ManifestController.d.ts +16 -1
  313. package/dist/types/ts4.1/streaming/ManifestControllerImpl.d.ts +40 -0
  314. package/dist/types/ts4.1/streaming/MediaQualityMetadata.d.ts +19 -0
  315. package/dist/types/ts4.1/streaming/MediaTimeline.d.ts +6 -0
  316. package/dist/types/ts4.1/streaming/SegmentController.d.ts +5 -0
  317. package/dist/types/ts4.1/streaming/SegmentControllerImpl.d.ts +12 -0
  318. package/dist/types/ts4.1/streaming/StreamingEventMap.d.ts +42 -1
  319. package/dist/types/ts4.1/streaming/abr/QualitySelectorImpl.d.ts +28 -0
  320. package/dist/types/ts4.1/streaming/buffering/BufferingController.d.ts +37 -0
  321. package/dist/types/ts4.1/streaming/buffering/MediaSourceController.d.ts +16 -11
  322. package/dist/types/ts4.1/streaming/buffering/codecDenylist.d.ts +23 -0
  323. package/dist/types/ts4.1/streaming/createAllowedContentTypesValue.d.ts +30 -0
  324. package/dist/types/ts4.1/streaming/createDefaultMediaTimelineTransformer.d.ts +4 -1
  325. package/dist/types/ts4.1/streaming/mediaTimelineAccessibilityFilter.d.ts +35 -0
  326. package/dist/types/ts4.1/streaming/mediaTimelineLanguageFilter.d.ts +24 -6
  327. package/dist/types/ts4.1/text/SidecarTextTrackController.d.ts +92 -0
  328. package/dist/types/ts4.1/text/SidecarTextTrackLoader.d.ts +60 -0
  329. package/dist/types/ts4.1/text/TextTrack.d.ts +129 -0
  330. package/dist/types/ts4.1/text/VttCueStyle.d.ts +41 -0
  331. package/dist/types/ts4.1/text/discoverDashTextTracks.d.ts +24 -0
  332. package/dist/types/ts4.1/text/discoverHlsTextTracks.d.ts +19 -0
  333. package/dist/types/ts4.1/text/parseWebVtt.d.ts +46 -0
  334. package/dist/types/ts4.1/text/pickPreferredTextTrack.d.ts +14 -0
  335. package/dist/types/ts4.1/track/SeekRange.d.ts +9 -0
  336. package/dist/types/ts4.1/track/Track.d.ts +50 -7
  337. package/dist/types/ts4.1/track/TrackBase.d.ts +21 -29
  338. package/dist/types/ts4.1/track/TrackController.d.ts +102 -37
  339. package/dist/types/ts4.1/track/TrackFactory.d.ts +22 -2
  340. package/dist/types/ts4.1/track/dash/DashManifestController.d.ts +1 -36
  341. package/dist/types/ts4.1/track/dash/DashTrack.d.ts +4 -5
  342. package/dist/types/ts4.1/track/dash/createDashFactories.d.ts +39 -12
  343. package/dist/types/ts4.1/track/dash/createSegmentControllerFactory.d.ts +0 -5
  344. package/dist/types/ts4.1/track/dash/util/mpd.d.ts +10 -0
  345. package/dist/types/ts4.1/track/hls/HlsManifestController.d.ts +1 -22
  346. package/dist/types/ts4.1/track/hls/{HlsManifestProvider.d.ts → HlsManifestData.d.ts} +4 -6
  347. package/dist/types/ts4.1/track/hls/HlsTrack.d.ts +5 -6
  348. package/dist/types/ts4.1/track/hls/buildHlsMediaTimeline.d.ts +8 -1
  349. package/dist/types/ts4.1/track/hls/createDefaultHlsManifestTransformer.d.ts +1 -1
  350. package/dist/types/ts4.1/track/hls/createHlsContentTypesValue.d.ts +1 -1
  351. package/dist/types/ts4.1/track/hls/createHlsFactories.d.ts +41 -13
  352. package/dist/types/ts4.1/track/hls/createHlsManifestProvider.d.ts +6 -0
  353. package/dist/types/ts4.1/track/hls/createUrlHlsManifestProvider.d.ts +4 -4
  354. package/dist/types/ts4.1/track/hls/index.d.ts +1 -1
  355. package/dist/types/ts4.1/track/inferLoadOptionsFromUri.d.ts +15 -0
  356. package/dist/types/ts4.1/track/mse/MseTrack.d.ts +65 -7
  357. package/dist/types/ts4.1/track/source/SourceObjectTrack.d.ts +2 -2
  358. package/dist/types/ts4.1/track/source/SourceTrack.d.ts +2 -2
  359. package/dist/types/ts4.1/track/source/SourceTrackBase.d.ts +7 -5
  360. package/dist/types/ts4.1/util/media/codecOverrides.d.ts +33 -0
  361. package/dist/types/ts4.1/util/media/codecSupport.d.ts +6 -0
  362. package/dist/types/ts4.1/util/media/mediaSource.d.ts +5 -0
  363. package/dist/types/ts4.1/vinyl/ReadonlyPlaybackStreamingState.d.ts +9 -2
  364. package/dist/types/ts4.1/vinyl/VinylDeps.d.ts +5 -0
  365. package/dist/types/ts4.1/vinyl/VinylOptions.d.ts +68 -4
  366. package/dist/types/ts4.1/vinyl/VinylPlayer.d.ts +33 -4
  367. package/dist/types/ts4.1/vinyl/createVinylFactories.d.ts +56 -12
  368. package/dist/types/ts4.7/ad/AdBreakInfo.d.ts +160 -0
  369. package/dist/types/ts4.7/ad/AdController.d.ts +243 -0
  370. package/dist/types/ts4.7/ad/AdControllerImpl.d.ts +146 -0
  371. package/dist/types/ts4.7/ad/AdError.d.ts +6 -0
  372. package/dist/types/ts4.7/ad/AdsProvider.d.ts +28 -0
  373. package/dist/types/ts4.7/ad/defaultAdLoadOptionsResolver.d.ts +12 -0
  374. package/dist/types/ts4.7/ad/discoverHlsInterstitials.d.ts +22 -0
  375. package/dist/types/ts4.7/drm/DrmController.d.ts +29 -4
  376. package/dist/types/ts4.7/drm/DrmControllerImpl.d.ts +13 -4
  377. package/dist/types/ts4.7/drm/util/unpackPlayReadyChallenge.d.ts +5 -0
  378. package/dist/types/ts4.7/index.d.ts +151 -126
  379. package/dist/types/ts4.7/playback/PlaybackControllerImpl.d.ts +1 -0
  380. package/dist/types/ts4.7/playback/PlaybackSource.d.ts +1 -1
  381. package/dist/types/ts4.7/playback/ReadonlyPlaybackController.d.ts +6 -0
  382. package/dist/types/ts4.7/streaming/ContentStream.d.ts +8 -1
  383. package/dist/types/ts4.7/streaming/LoadMetric.d.ts +58 -0
  384. package/dist/types/ts4.7/streaming/ManifestController.d.ts +16 -1
  385. package/dist/types/ts4.7/streaming/ManifestControllerImpl.d.ts +43 -0
  386. package/dist/types/ts4.7/streaming/MediaQualityMetadata.d.ts +19 -0
  387. package/dist/types/ts4.7/streaming/MediaTimeline.d.ts +6 -0
  388. package/dist/types/ts4.7/streaming/SegmentController.d.ts +5 -0
  389. package/dist/types/ts4.7/streaming/SegmentControllerImpl.d.ts +12 -0
  390. package/dist/types/ts4.7/streaming/StreamingEventMap.d.ts +42 -1
  391. package/dist/types/ts4.7/streaming/abr/QualitySelectorImpl.d.ts +28 -0
  392. package/dist/types/ts4.7/streaming/buffering/BufferingController.d.ts +37 -0
  393. package/dist/types/ts4.7/streaming/buffering/MediaSourceController.d.ts +16 -11
  394. package/dist/types/ts4.7/streaming/buffering/codecDenylist.d.ts +23 -0
  395. package/dist/types/ts4.7/streaming/createAllowedContentTypesValue.d.ts +30 -0
  396. package/dist/types/ts4.7/streaming/createDefaultMediaTimelineTransformer.d.ts +4 -1
  397. package/dist/types/ts4.7/streaming/mediaTimelineAccessibilityFilter.d.ts +35 -0
  398. package/dist/types/ts4.7/streaming/mediaTimelineLanguageFilter.d.ts +24 -6
  399. package/dist/types/ts4.7/text/SidecarTextTrackController.d.ts +91 -0
  400. package/dist/types/ts4.7/text/SidecarTextTrackLoader.d.ts +60 -0
  401. package/dist/types/ts4.7/text/TextTrack.d.ts +129 -0
  402. package/dist/types/ts4.7/text/VttCueStyle.d.ts +41 -0
  403. package/dist/types/ts4.7/text/discoverDashTextTracks.d.ts +24 -0
  404. package/dist/types/ts4.7/text/discoverHlsTextTracks.d.ts +19 -0
  405. package/dist/types/ts4.7/text/parseWebVtt.d.ts +46 -0
  406. package/dist/types/ts4.7/text/pickPreferredTextTrack.d.ts +14 -0
  407. package/dist/types/ts4.7/track/SeekRange.d.ts +9 -0
  408. package/dist/types/ts4.7/track/Track.d.ts +50 -7
  409. package/dist/types/ts4.7/track/TrackBase.d.ts +30 -29
  410. package/dist/types/ts4.7/track/TrackController.d.ts +102 -37
  411. package/dist/types/ts4.7/track/TrackFactory.d.ts +23 -3
  412. package/dist/types/ts4.7/track/dash/DashManifestController.d.ts +1 -40
  413. package/dist/types/ts4.7/track/dash/DashTrack.d.ts +4 -5
  414. package/dist/types/ts4.7/track/dash/createDashFactories.d.ts +39 -12
  415. package/dist/types/ts4.7/track/dash/createSegmentControllerFactory.d.ts +0 -5
  416. package/dist/types/ts4.7/track/dash/util/mpd.d.ts +10 -0
  417. package/dist/types/ts4.7/track/hls/HlsManifestController.d.ts +1 -25
  418. package/dist/types/ts4.7/track/hls/{HlsManifestProvider.d.ts → HlsManifestData.d.ts} +4 -6
  419. package/dist/types/ts4.7/track/hls/HlsTrack.d.ts +5 -6
  420. package/dist/types/ts4.7/track/hls/buildHlsMediaTimeline.d.ts +8 -1
  421. package/dist/types/ts4.7/track/hls/createDefaultHlsManifestTransformer.d.ts +1 -1
  422. package/dist/types/ts4.7/track/hls/createHlsContentTypesValue.d.ts +1 -1
  423. package/dist/types/ts4.7/track/hls/createHlsFactories.d.ts +40 -13
  424. package/dist/types/ts4.7/track/hls/createHlsManifestProvider.d.ts +6 -0
  425. package/dist/types/ts4.7/track/hls/createUrlHlsManifestProvider.d.ts +4 -4
  426. package/dist/types/ts4.7/track/hls/index.d.ts +1 -1
  427. package/dist/types/ts4.7/track/inferLoadOptionsFromUri.d.ts +15 -0
  428. package/dist/types/ts4.7/track/mse/MseTrack.d.ts +66 -8
  429. package/dist/types/ts4.7/track/source/SourceObjectTrack.d.ts +2 -2
  430. package/dist/types/ts4.7/track/source/SourceTrack.d.ts +2 -2
  431. package/dist/types/ts4.7/track/source/SourceTrackBase.d.ts +7 -5
  432. package/dist/types/ts4.7/util/media/codecOverrides.d.ts +33 -0
  433. package/dist/types/ts4.7/util/media/codecSupport.d.ts +6 -0
  434. package/dist/types/ts4.7/util/media/mediaSource.d.ts +5 -0
  435. package/dist/types/ts4.7/vinyl/ReadonlyPlaybackStreamingState.d.ts +9 -2
  436. package/dist/types/ts4.7/vinyl/VinylDeps.d.ts +5 -0
  437. package/dist/types/ts4.7/vinyl/VinylOptions.d.ts +68 -4
  438. package/dist/types/ts4.7/vinyl/VinylPlayer.d.ts +63 -4
  439. package/dist/types/ts4.7/vinyl/createVinylFactories.d.ts +55 -12
  440. package/dist/unit/types/current/ad/AdController.test.d.ts +2 -0
  441. package/dist/unit/types/current/ad/AdController.test.d.ts.map +1 -0
  442. package/dist/unit/types/current/ad/AdController.test.js +10 -0
  443. package/dist/unit/types/current/ad/AdControllerImpl.test.d.ts +2 -0
  444. package/dist/unit/types/current/ad/AdControllerImpl.test.d.ts.map +1 -0
  445. package/dist/unit/types/current/ad/AdControllerImpl.test.js +1456 -0
  446. package/dist/unit/types/current/ad/defaultAdLoadOptionsResolver.test.d.ts +2 -0
  447. package/dist/unit/types/current/ad/defaultAdLoadOptionsResolver.test.d.ts.map +1 -0
  448. package/dist/unit/types/current/ad/defaultAdLoadOptionsResolver.test.js +56 -0
  449. package/dist/unit/types/current/ad/discoverHlsInterstitials.test.d.ts +2 -0
  450. package/dist/unit/types/current/ad/discoverHlsInterstitials.test.d.ts.map +1 -0
  451. package/dist/unit/types/current/ad/discoverHlsInterstitials.test.js +756 -0
  452. package/dist/unit/types/current/drm/DrmControllerImpl.test.js +205 -4
  453. package/dist/unit/types/current/index.d.ts +117 -98
  454. package/dist/unit/types/current/index.d.ts.map +1 -1
  455. package/dist/unit/types/current/index.js +117 -98
  456. package/dist/unit/types/current/playback/PlaybackControllerImpl.test.js +92 -3
  457. package/dist/unit/types/current/streaming/ContentStream.test.js +11 -0
  458. package/dist/unit/types/current/streaming/ManifestControllerImpl.test.d.ts +2 -0
  459. package/dist/unit/types/current/streaming/ManifestControllerImpl.test.d.ts.map +1 -0
  460. package/dist/unit/types/current/streaming/ManifestControllerImpl.test.js +197 -0
  461. package/dist/unit/types/current/streaming/MediaTimeline.test.js +2 -0
  462. package/dist/unit/types/current/streaming/MseTrack.test.js +478 -14
  463. package/dist/unit/types/current/streaming/SegmentControllerImpl.test.js +66 -0
  464. package/dist/unit/types/current/streaming/StreamingEventMap.test.js +2 -2
  465. package/dist/unit/types/current/streaming/abr/QualitySelectorImpl.test.js +110 -0
  466. package/dist/unit/types/current/streaming/buffering/BufferingController.test.js +123 -21
  467. package/dist/unit/types/current/streaming/buffering/MediaSourceController.test.js +37 -10
  468. package/dist/unit/types/current/streaming/buffering/SourceBufferController.test.js +4 -0
  469. package/dist/unit/types/current/streaming/buffering/codecDenylist.test.d.ts +2 -0
  470. package/dist/unit/types/current/streaming/buffering/codecDenylist.test.d.ts.map +1 -0
  471. package/dist/unit/types/current/streaming/buffering/codecDenylist.test.js +56 -0
  472. package/dist/unit/types/current/streaming/createAllowedContentTypesValue.test.d.ts +2 -0
  473. package/dist/unit/types/current/streaming/createAllowedContentTypesValue.test.d.ts.map +1 -0
  474. package/dist/unit/types/current/streaming/createAllowedContentTypesValue.test.js +77 -0
  475. package/dist/unit/types/current/streaming/createDefaultMediaTimelineTransformer.test.js +144 -2
  476. package/dist/unit/types/current/streaming/mediaTimelineAccessibilityFilter.test.d.ts +2 -0
  477. package/dist/unit/types/current/streaming/mediaTimelineAccessibilityFilter.test.d.ts.map +1 -0
  478. package/dist/unit/types/current/streaming/mediaTimelineAccessibilityFilter.test.js +99 -0
  479. package/dist/unit/types/current/streaming/mediaTimelineFilter.test.js +9 -0
  480. package/dist/unit/types/current/streaming/mediaTimelineLanguageFilter.test.js +92 -3
  481. package/dist/unit/types/current/text/SidecarTextTrackController.test.d.ts +2 -0
  482. package/dist/unit/types/current/text/SidecarTextTrackController.test.d.ts.map +1 -0
  483. package/dist/unit/types/current/text/SidecarTextTrackController.test.js +587 -0
  484. package/dist/unit/types/current/text/SidecarTextTrackLoader.test.d.ts +2 -0
  485. package/dist/unit/types/current/text/SidecarTextTrackLoader.test.d.ts.map +1 -0
  486. package/dist/unit/types/current/text/SidecarTextTrackLoader.test.js +336 -0
  487. package/dist/unit/types/current/text/VttCueStyle.test.d.ts +2 -0
  488. package/dist/unit/types/current/text/VttCueStyle.test.d.ts.map +1 -0
  489. package/dist/unit/types/current/text/VttCueStyle.test.js +76 -0
  490. package/dist/unit/types/current/text/discoverDashTextTracks.test.d.ts +2 -0
  491. package/dist/unit/types/current/text/discoverDashTextTracks.test.d.ts.map +1 -0
  492. package/dist/unit/types/current/text/discoverDashTextTracks.test.js +199 -0
  493. package/dist/unit/types/current/text/discoverHlsTextTracks.test.d.ts +2 -0
  494. package/dist/unit/types/current/text/discoverHlsTextTracks.test.d.ts.map +1 -0
  495. package/dist/unit/types/current/text/discoverHlsTextTracks.test.js +177 -0
  496. package/dist/unit/types/current/text/parseWebVtt.test.d.ts +2 -0
  497. package/dist/unit/types/current/text/parseWebVtt.test.d.ts.map +1 -0
  498. package/dist/unit/types/current/text/parseWebVtt.test.js +212 -0
  499. package/dist/unit/types/current/text/pickPreferredTextTrack.test.d.ts +2 -0
  500. package/dist/unit/types/current/text/pickPreferredTextTrack.test.d.ts.map +1 -0
  501. package/dist/unit/types/current/text/pickPreferredTextTrack.test.js +67 -0
  502. package/dist/unit/types/current/track/TrackBase.test.js +50 -5
  503. package/dist/unit/types/current/track/TrackController.test.js +712 -109
  504. package/dist/unit/types/current/track/TrackFactory.test.js +13 -25
  505. package/dist/unit/types/current/track/dash/createDashContentStreamFactories.test.js +1 -0
  506. package/dist/unit/types/current/track/dash/createDashFactories.test.js +63 -2
  507. package/dist/unit/types/current/track/dash/createSegmentControllerFactory.test.js +1 -0
  508. package/dist/unit/types/current/track/dash/util/mpd.test.js +24 -1
  509. package/dist/unit/types/current/track/hls/HlsManifestController.test.js +4 -4
  510. package/dist/unit/types/current/track/hls/HlsMediaQualityMetadataResolver.test.js +4 -2
  511. package/dist/unit/types/current/track/hls/buildHlsMediaTimeline.test.js +260 -14
  512. package/dist/unit/types/current/track/hls/createHlsContentStreamFactories.test.js +1 -0
  513. package/dist/unit/types/current/track/hls/createHlsFactories.test.js +182 -4
  514. package/dist/unit/types/current/track/hls/createUrlHlsManifestProvider.test.js +19 -0
  515. package/dist/unit/types/current/track/inferLoadOptionsFromUri.test.d.ts +2 -0
  516. package/dist/unit/types/current/track/inferLoadOptionsFromUri.test.d.ts.map +1 -0
  517. package/dist/unit/types/current/track/inferLoadOptionsFromUri.test.js +165 -0
  518. package/dist/unit/types/current/track/source/SourceTrack.test.js +5 -0
  519. package/dist/unit/types/current/track/source/SourceTrackBase.test.js +24 -3
  520. package/dist/unit/types/current/tsconfig.tsbuildinfo +1 -1
  521. package/dist/unit/types/current/util/media/codecOverrides.test.d.ts +2 -0
  522. package/dist/unit/types/current/util/media/codecOverrides.test.d.ts.map +1 -0
  523. package/dist/unit/types/current/util/media/codecOverrides.test.js +42 -0
  524. package/dist/unit/types/current/util/media/codecSupport.test.d.ts +2 -0
  525. package/dist/unit/types/current/util/media/codecSupport.test.d.ts.map +1 -0
  526. package/dist/unit/types/current/util/media/codecSupport.test.js +26 -0
  527. package/dist/unit/types/current/util/media/mediaSource.test.js +6 -0
  528. package/dist/unit/types/current/vinyl/VinylPlayer.test.js +177 -75
  529. package/dist/unit/types/current/vinyl/VinylPlayerAdBreaks.test.d.ts +2 -0
  530. package/dist/unit/types/current/vinyl/VinylPlayerAdBreaks.test.d.ts.map +1 -0
  531. package/dist/unit/types/current/vinyl/VinylPlayerAdBreaks.test.js +142 -0
  532. package/dist/unit/types/current/vinyl/VinylPlayerTextTracks.test.d.ts +2 -0
  533. package/dist/unit/types/current/vinyl/VinylPlayerTextTracks.test.d.ts.map +1 -0
  534. package/dist/unit/types/current/vinyl/VinylPlayerTextTracks.test.js +263 -0
  535. package/dist/vinylTestUtil/index.js +2393 -2232
  536. package/dist/vinylTestUtil/index.js.map +4 -4
  537. package/dist/vinylTestUtil/types/current/assets/vinylTestAssets.d.ts +14 -0
  538. package/dist/vinylTestUtil/types/current/assets/vinylTestAssets.d.ts.map +1 -1
  539. package/dist/vinylTestUtil/types/current/assets/vinylTestAssets.js +49 -30
  540. package/dist/vinylTestUtil/types/current/index.d.ts +53 -51
  541. package/dist/vinylTestUtil/types/current/index.d.ts.map +1 -1
  542. package/dist/vinylTestUtil/types/current/index.js +53 -51
  543. package/dist/vinylTestUtil/types/current/mock/ad/MockAdController.d.ts +15 -0
  544. package/dist/vinylTestUtil/types/current/mock/ad/MockAdController.d.ts.map +1 -0
  545. package/dist/vinylTestUtil/types/current/mock/ad/MockAdController.js +26 -0
  546. package/dist/vinylTestUtil/types/current/mock/dash/MockDashManifestController.d.ts +8 -1
  547. package/dist/vinylTestUtil/types/current/mock/dash/MockDashManifestController.d.ts.map +1 -1
  548. package/dist/vinylTestUtil/types/current/mock/dash/MockDashManifestController.js +15 -0
  549. package/dist/vinylTestUtil/types/current/mock/dash/mockDashManifest.d.ts +12 -12
  550. package/dist/vinylTestUtil/types/current/mock/drm/MockDrmController.d.ts +2 -2
  551. package/dist/vinylTestUtil/types/current/mock/drm/MockDrmController.d.ts.map +1 -1
  552. package/dist/vinylTestUtil/types/current/mock/hls/MockHlsManifestController.d.ts +7 -1
  553. package/dist/vinylTestUtil/types/current/mock/hls/MockHlsManifestController.d.ts.map +1 -1
  554. package/dist/vinylTestUtil/types/current/mock/hls/MockHlsManifestController.js +12 -0
  555. package/dist/vinylTestUtil/types/current/mock/hls/mockHlsManifest.d.ts +3 -3
  556. package/dist/vinylTestUtil/types/current/mock/hls/mockHlsManifest.d.ts.map +1 -1
  557. package/dist/vinylTestUtil/types/current/mock/hls/mockHlsManifest.js +1 -0
  558. package/dist/vinylTestUtil/types/current/mock/player/MockVinylPlayerDependencies.d.ts +8 -0
  559. package/dist/vinylTestUtil/types/current/mock/player/MockVinylPlayerDependencies.d.ts.map +1 -1
  560. package/dist/vinylTestUtil/types/current/mock/player/MockVinylPlayerDependencies.js +17 -1
  561. package/dist/vinylTestUtil/types/current/mock/streaming/MockContentStream.d.ts +2 -1
  562. package/dist/vinylTestUtil/types/current/mock/streaming/MockContentStream.d.ts.map +1 -1
  563. package/dist/vinylTestUtil/types/current/mock/streaming/MockContentStream.js +1 -0
  564. package/dist/vinylTestUtil/types/current/mock/streaming/buffering/MockBufferingController.d.ts +1 -0
  565. package/dist/vinylTestUtil/types/current/mock/streaming/buffering/MockBufferingController.d.ts.map +1 -1
  566. package/dist/vinylTestUtil/types/current/mock/streaming/buffering/MockBufferingController.js +1 -0
  567. package/dist/vinylTestUtil/types/current/mock/streaming/buffering/MockMediaSourceController.d.ts +2 -1
  568. package/dist/vinylTestUtil/types/current/mock/streaming/buffering/MockMediaSourceController.d.ts.map +1 -1
  569. package/dist/vinylTestUtil/types/current/mock/streaming/buffering/MockMediaSourceController.js +2 -1
  570. package/dist/vinylTestUtil/types/current/mock/text/MockTextTrackController.d.ts +10 -0
  571. package/dist/vinylTestUtil/types/current/mock/text/MockTextTrackController.d.ts.map +1 -0
  572. package/dist/vinylTestUtil/types/current/mock/text/MockTextTrackController.js +14 -0
  573. package/dist/vinylTestUtil/types/current/mock/track/MockTrack.d.ts +13 -4
  574. package/dist/vinylTestUtil/types/current/mock/track/MockTrack.d.ts.map +1 -1
  575. package/dist/vinylTestUtil/types/current/mock/track/MockTrack.js +11 -0
  576. package/dist/vinylTestUtil/types/current/mock/track/MockTrackController.d.ts +3 -2
  577. package/dist/vinylTestUtil/types/current/mock/track/MockTrackController.d.ts.map +1 -1
  578. package/dist/vinylTestUtil/types/current/mock/track/MockTrackController.js +2 -1
  579. package/dist/vinylTestUtil/types/current/mock/track/dash/createMockDashDependencies.d.ts +6 -0
  580. package/dist/vinylTestUtil/types/current/mock/track/dash/createMockDashDependencies.d.ts.map +1 -1
  581. package/dist/vinylTestUtil/types/current/mock/track/dash/createMockDashDependencies.js +8 -1
  582. package/dist/vinylTestUtil/types/current/mock/track/hls/createMockHlsDependencies.d.ts +4 -0
  583. package/dist/vinylTestUtil/types/current/mock/track/hls/createMockHlsDependencies.d.ts.map +1 -1
  584. package/dist/vinylTestUtil/types/current/mock/track/hls/createMockHlsDependencies.js +6 -1
  585. package/dist/vinylTestUtil/types/current/player/createVinylSuite.d.ts.map +1 -1
  586. package/dist/vinylTestUtil/types/current/player/createVinylSuite.js +18 -7
  587. package/dist/vinylTestUtil/types/current/tsconfig.tsbuildinfo +1 -1
  588. package/dist/vinylTestUtil/types/current/util/playback/eventPromises.d.ts.map +1 -1
  589. package/dist/vinylTestUtil/types/current/util/playback/eventPromises.js +1 -1
  590. package/dist/vinylTestUtil/types/current/util/playback/expectTrackCanSeek.d.ts.map +1 -1
  591. package/dist/vinylTestUtil/types/current/util/playback/expectTrackCanSeek.js +5 -2
  592. package/dist/vinylTestUtil/types/current/util/playback/expectTrackPlays.js +3 -3
  593. package/dist/vinylTestUtil/types/current/util/playback/expectTrackPlaysUntil.d.ts.map +1 -1
  594. package/dist/vinylTestUtil/types/current/util/playback/expectTrackPlaysUntil.js +11 -7
  595. package/dist/vinylTestUtil/types/ts3.7/assets/vinylTestAssets.d.ts +14 -0
  596. package/dist/vinylTestUtil/types/ts3.7/index.d.ts +53 -51
  597. package/dist/vinylTestUtil/types/ts3.7/mock/ad/MockAdController.d.ts +15 -0
  598. package/dist/vinylTestUtil/types/ts3.7/mock/dash/MockDashManifestController.d.ts +8 -1
  599. package/dist/vinylTestUtil/types/ts3.7/mock/dash/mockDashManifest.d.ts +12 -12
  600. package/dist/vinylTestUtil/types/ts3.7/mock/drm/MockDrmController.d.ts +2 -2
  601. package/dist/vinylTestUtil/types/ts3.7/mock/hls/MockHlsManifestController.d.ts +7 -1
  602. package/dist/vinylTestUtil/types/ts3.7/mock/hls/mockHlsManifest.d.ts +3 -3
  603. package/dist/vinylTestUtil/types/ts3.7/mock/player/MockVinylPlayerDependencies.d.ts +8 -0
  604. package/dist/vinylTestUtil/types/ts3.7/mock/streaming/MockContentStream.d.ts +2 -1
  605. package/dist/vinylTestUtil/types/ts3.7/mock/streaming/buffering/MockBufferingController.d.ts +1 -0
  606. package/dist/vinylTestUtil/types/ts3.7/mock/streaming/buffering/MockMediaSourceController.d.ts +2 -1
  607. package/dist/vinylTestUtil/types/ts3.7/mock/text/MockTextTrackController.d.ts +10 -0
  608. package/dist/vinylTestUtil/types/ts3.7/mock/track/MockTrack.d.ts +13 -4
  609. package/dist/vinylTestUtil/types/ts3.7/mock/track/MockTrackController.d.ts +3 -2
  610. package/dist/vinylTestUtil/types/ts3.7/mock/track/dash/createMockDashDependencies.d.ts +6 -0
  611. package/dist/vinylTestUtil/types/ts3.7/mock/track/hls/createMockHlsDependencies.d.ts +4 -0
  612. package/dist/vinylTestUtil/types/ts4.1/assets/vinylTestAssets.d.ts +14 -0
  613. package/dist/vinylTestUtil/types/ts4.1/index.d.ts +53 -51
  614. package/dist/vinylTestUtil/types/ts4.1/mock/ad/MockAdController.d.ts +15 -0
  615. package/dist/vinylTestUtil/types/ts4.1/mock/dash/MockDashManifestController.d.ts +8 -1
  616. package/dist/vinylTestUtil/types/ts4.1/mock/dash/mockDashManifest.d.ts +12 -12
  617. package/dist/vinylTestUtil/types/ts4.1/mock/drm/MockDrmController.d.ts +2 -2
  618. package/dist/vinylTestUtil/types/ts4.1/mock/hls/MockHlsManifestController.d.ts +7 -1
  619. package/dist/vinylTestUtil/types/ts4.1/mock/hls/mockHlsManifest.d.ts +3 -3
  620. package/dist/vinylTestUtil/types/ts4.1/mock/player/MockVinylPlayerDependencies.d.ts +8 -0
  621. package/dist/vinylTestUtil/types/ts4.1/mock/streaming/MockContentStream.d.ts +2 -1
  622. package/dist/vinylTestUtil/types/ts4.1/mock/streaming/buffering/MockBufferingController.d.ts +1 -0
  623. package/dist/vinylTestUtil/types/ts4.1/mock/streaming/buffering/MockMediaSourceController.d.ts +2 -1
  624. package/dist/vinylTestUtil/types/ts4.1/mock/text/MockTextTrackController.d.ts +10 -0
  625. package/dist/vinylTestUtil/types/ts4.1/mock/track/MockTrack.d.ts +13 -4
  626. package/dist/vinylTestUtil/types/ts4.1/mock/track/MockTrackController.d.ts +3 -2
  627. package/dist/vinylTestUtil/types/ts4.1/mock/track/dash/createMockDashDependencies.d.ts +6 -0
  628. package/dist/vinylTestUtil/types/ts4.1/mock/track/hls/createMockHlsDependencies.d.ts +4 -0
  629. package/dist/vinylTestUtil/types/ts4.7/assets/vinylTestAssets.d.ts +14 -0
  630. package/dist/vinylTestUtil/types/ts4.7/index.d.ts +53 -51
  631. package/dist/vinylTestUtil/types/ts4.7/mock/ad/MockAdController.d.ts +15 -0
  632. package/dist/vinylTestUtil/types/ts4.7/mock/dash/MockDashManifestController.d.ts +8 -1
  633. package/dist/vinylTestUtil/types/ts4.7/mock/dash/mockDashManifest.d.ts +12 -12
  634. package/dist/vinylTestUtil/types/ts4.7/mock/drm/MockDrmController.d.ts +2 -2
  635. package/dist/vinylTestUtil/types/ts4.7/mock/hls/MockHlsManifestController.d.ts +7 -1
  636. package/dist/vinylTestUtil/types/ts4.7/mock/hls/mockHlsManifest.d.ts +3 -3
  637. package/dist/vinylTestUtil/types/ts4.7/mock/player/MockVinylPlayerDependencies.d.ts +8 -0
  638. package/dist/vinylTestUtil/types/ts4.7/mock/streaming/MockContentStream.d.ts +2 -1
  639. package/dist/vinylTestUtil/types/ts4.7/mock/streaming/buffering/MockBufferingController.d.ts +1 -0
  640. package/dist/vinylTestUtil/types/ts4.7/mock/streaming/buffering/MockMediaSourceController.d.ts +2 -1
  641. package/dist/vinylTestUtil/types/ts4.7/mock/text/MockTextTrackController.d.ts +10 -0
  642. package/dist/vinylTestUtil/types/ts4.7/mock/track/MockTrack.d.ts +13 -4
  643. package/dist/vinylTestUtil/types/ts4.7/mock/track/MockTrackController.d.ts +3 -2
  644. package/dist/vinylTestUtil/types/ts4.7/mock/track/dash/createMockDashDependencies.d.ts +6 -0
  645. package/dist/vinylTestUtil/types/ts4.7/mock/track/hls/createMockHlsDependencies.d.ts +4 -0
  646. package/docs/ADS.md +264 -0
  647. package/docs/USAGE.md +142 -9
  648. package/package.json +18 -18
  649. package/dist/types/current/track/hls/HlsManifestProvider.d.ts.map +0 -1
  650. package/dist/unit/types/current/track/dash/DashManifestController.test.d.ts +0 -2
  651. package/dist/unit/types/current/track/dash/DashManifestController.test.d.ts.map +0 -1
  652. package/dist/unit/types/current/track/dash/DashManifestController.test.js +0 -186
  653. /package/dist/types/current/{track/hls/HlsManifestProvider.js → ad/AdBreakInfo.js} +0 -0
@@ -1,10 +1,12 @@
1
- import type { ObjectSchema } from '@amazon/vinyl-validation';
2
1
  import { EventHostImpl, type Maybe, type ReadonlyRanges, type ReadonlySet } from '@amazon/vinyl-util';
3
2
  import type { PlaybackController } from '../playback/PlaybackController';
4
3
  import type { Track, TrackEventMap, TrackPreloadOptions, TrackTypeId, TrackUri } from './Track';
4
+ import type { SeekRange } from './SeekRange';
5
5
  import { type DrmController } from '../drm/DrmController';
6
6
  import type { ContentType, MediaQualityMetadata } from '../streaming/MediaQualityMetadata';
7
- import { type DrmOptions } from '../drm/DrmOptions';
7
+ import type { TextTrackController } from '../text/TextTrack';
8
+ import type { TrackAds } from '../ad/AdBreakInfo';
9
+ import type { TrackConfigOptions } from './TrackFactory';
8
10
  /**
9
11
  * Dependencies for TrackBase.
10
12
  */
@@ -18,29 +20,10 @@ export interface TrackBaseDeps {
18
20
  */
19
21
  readonly drmController: DrmController;
20
22
  }
21
- /**
22
- * General configuration for tracks set in track load options.
23
- */
24
- export interface TrackBaseOptions {
25
- /**
26
- * The time to seek to when the track has been activated.
27
- * For MSE tracks this will affect pre-fetching.
28
- */
29
- readonly startTime?: Maybe<number>;
30
- /**
31
- * Extra application data to associate with the track.
32
- */
33
- readonly extra?: any;
34
- /**
35
- * DRM Configuration overrides for this track.
36
- */
37
- readonly drm?: Partial<DrmOptions>;
38
- }
39
- export declare const trackBaseOptionsValidator: ObjectSchema<TrackBaseOptions>;
40
23
  /**
41
24
  * A base class for all tracks.
42
25
  */
43
- export declare abstract class TrackBase<EventMap extends TrackEventMap = TrackEventMap, LoadOptionsType extends TrackBaseOptions = TrackBaseOptions> extends EventHostImpl<EventMap> implements Track<LoadOptionsType> {
26
+ export declare abstract class TrackBase<EventMap extends TrackEventMap = TrackEventMap, ConfigType extends TrackConfigOptions = TrackConfigOptions> extends EventHostImpl<EventMap> implements Track<ConfigType> {
44
27
  /**
45
28
  * The identifier of this track, used as the key in the track cache.
46
29
  */
@@ -54,11 +37,22 @@ export declare abstract class TrackBase<EventMap extends TrackEventMap = TrackEv
54
37
  /**
55
38
  * The current load options, if this is an active track.
56
39
  */
57
- protected loadOptions: LoadOptionsType | null;
40
+ protected loadOptions: Maybe<ConfigType>;
58
41
  protected readonly errorHandler: (error: any) => void;
59
42
  protected readonly disposer: import("@amazon/vinyl-util").Disposer;
60
43
  protected drmSessionAbort: import("@amazon/vinyl-util").AbortSlot;
61
44
  get fetchedRanges(): ReadonlyRanges;
45
+ /**
46
+ * Default text track controller is null. Tracks that surface text tracks
47
+ * (e.g. {@link MseTrack}) override this getter.
48
+ */
49
+ get textTrackController(): TextTrackController | null;
50
+ /**
51
+ * The presentation seek range of the media.
52
+ * Most often {start=0, end=duration} but may be different depending on the
53
+ * media timeline.
54
+ */
55
+ get seekRange(): SeekRange | null;
62
56
  abstract get contentTypes(): ReadonlySet<ContentType>;
63
57
  abstract get qualities(): readonly MediaQualityMetadata[] | null;
64
58
  abstract get qualitiesUnfiltered(): readonly MediaQualityMetadata[] | null;
@@ -70,6 +64,7 @@ export declare abstract class TrackBase<EventMap extends TrackEventMap = TrackEv
70
64
  */
71
65
  protected _error: Error | null;
72
66
  private _active;
67
+ private _seekRange;
73
68
  protected constructor(
74
69
  /**
75
70
  * The identifier of this track, used as the key in the track cache.
@@ -79,31 +74,37 @@ export declare abstract class TrackBase<EventMap extends TrackEventMap = TrackEv
79
74
  * The track type.
80
75
  */
81
76
  type: TrackTypeId, deps: TrackBaseDeps);
77
+ toString(): string;
82
78
  get error(): Error | null;
83
- preload(_trackOptions: TrackPreloadOptions, _loadOptions: LoadOptionsType): void;
79
+ preload(_trackOptions: TrackPreloadOptions, _loadOptions: Maybe<ConfigType>): void;
84
80
  get extra(): any;
85
81
  get active(): boolean;
86
82
  get disposed(): boolean;
87
- activate(loadOptions: LoadOptionsType): void;
83
+ activate(loadOptions: Maybe<ConfigType>): void;
88
84
  /**
89
85
  * The track has been activated.
90
86
  * Operations on shared resources such as the playback controller may only be done while the
91
87
  * track is currently active. For example if there is a loading operation before the
92
88
  * playback source is set, isActive must be checked before the property is changed.
93
89
  */
94
- abstract onActivated(loadOptions: LoadOptionsType): void;
90
+ abstract onActivated(loadOptions: Maybe<ConfigType>): void;
95
91
  deactivate(): void;
96
92
  abstract onDeactivated(): void;
97
- toString(): string;
98
- protected closeDrmSessions(): void;
99
93
  abstract clearPrefetch(): void;
94
+ protected closeDrmSessions(): void;
95
+ /**
96
+ * Resolves to this track's ads.
97
+ * Implementations may override to provide ad breaks.
98
+ */
99
+ getAds(): Promise<TrackAds>;
100
+ protected setSeekRange(value: SeekRange): void;
100
101
  /**
101
102
  * Resets the track to recover from error states.
102
103
  * Base implementation does nothing.
103
104
  *
104
105
  * Overrides should dispatch 'reset' after resetting error state.
105
106
  */
106
- reset(): void;
107
+ reset(hard?: boolean): void;
107
108
  dispose(): void;
108
109
  }
109
110
  //# sourceMappingURL=TrackBase.d.ts.map
@@ -3,45 +3,67 @@ import type { PlaybackController } from '../playback/PlaybackController';
3
3
  import type { ReadonlyTrack, TrackUri } from './Track';
4
4
  import type { TrackFactory, TrackLoadOptions } from './TrackFactory';
5
5
  import type { ChangeEvent } from '../event/ChangeEvent';
6
+ import type { AdController } from '../ad/AdController';
7
+ import type { AdInfo } from '../ad/AdBreakInfo';
6
8
  export interface TrackControllerEventMap<TrackLoadOptionsType extends TrackLoadOptions> {
7
9
  /**
8
- * Emitted when the current track is changing.
9
- * This is emitted before the previous track has been deactivated and
10
- * new track has been activated.
10
+ * A track became active. For content this may be deferred behind a preroll;
11
+ * for an ad it fires as the ad activates. {@link queueChange} precedes it.
11
12
  */
12
- readonly currentTrackChanging: ChangeEvent<ReadonlyTrack | null>;
13
+ readonly trackActivated: TrackLifecycleEvent;
13
14
  /**
14
- * Emitted when the current track has changed.
15
- * If there is a queue change, the currentTrackChange event is always emitted first.
16
- * This is emitted after the previous track has been deactivated and
17
- * new track has been activated.
15
+ * A previously-active track was torn down (superseded or unloaded).
18
16
  */
19
- readonly currentTrackChange: ChangeEvent<ReadonlyTrack | null>;
17
+ readonly trackDeactivated: TrackLifecycleEvent;
20
18
  /**
21
19
  * Dispatched when the queue has changed.
20
+ *
21
+ * Will be emitted before {@link trackActivated}.
22
22
  */
23
23
  readonly queueChange: ChangeEvent<readonly TrackLoadOptionsType[]>;
24
24
  /**
25
- * Emitted when the last track of the playback queue has ended.
26
- * When the last track in a queue has ended, the track will not change and therefore a `currentTrackChange`
27
- * event will not be emitted.
25
+ * Emitted when the current track — including any postroll ads — has finished
26
+ * playing. Fires once per track: as the queue advances it precedes the
27
+ * resulting {@link trackActivated}, and for the final track it precedes
28
+ * `queueEnded`. Distinct from the media element's `ended` (which also fires
29
+ * for each ad) and from an individual ad's `adEnded`, so applications can act
30
+ * on true track completion (e.g. logging a play) without confusing it with
31
+ * an ad ending or the content ending before its postroll plays.
32
+ */
33
+ readonly trackEnded: TrackEndedEvent;
34
+ /**
35
+ * Emitted when the last track of the playback queue (and any of its
36
+ * postroll ads) have ended.
28
37
  */
29
38
  readonly queueEnded: AnyRecord;
30
39
  }
31
40
  export declare const ALL_TRACK_CONTROLLER_EVENTS: readonly [
32
- "currentTrackChanging",
33
- "currentTrackChange",
41
+ "trackActivated",
42
+ "trackDeactivated",
34
43
  "queueChange",
44
+ "trackEnded",
35
45
  "queueEnded"
36
46
  ];
47
+ /** Payload for {@link trackActivated} / {@link trackDeactivated}. */
48
+ export interface TrackLifecycleEvent {
49
+ readonly track: ReadonlyTrack;
50
+ }
51
+ /**
52
+ * Payload for the {@link TrackControllerEventMap.trackEnded} event: the load
53
+ * options of the track that finished playing (including any postroll ads).
54
+ */
55
+ export interface TrackEndedEvent {
56
+ readonly track: TrackLoadOptions;
57
+ }
37
58
  /**
38
59
  * A readonly interface to the track controller.
39
60
  */
40
61
  export interface ReadonlyTrackController<TrackLoadOptionsType extends TrackLoadOptions> extends ReadonlyEventHost<TrackControllerEventMap<TrackLoadOptionsType>> {
41
62
  /**
42
- * Returns the current track.
63
+ * The active track, or null when the selected track has not yet activated
64
+ * (e.g. behind a preroll) or nothing is loaded.
43
65
  */
44
- readonly currentTrack: ReadonlyTrack | null;
66
+ readonly activeTrack: ReadonlyTrack | null;
45
67
  /**
46
68
  * Returns the current queue of TrackLoadOptions.
47
69
  * Observe 'queueChange' for changes to this queue.
@@ -124,7 +146,7 @@ export interface TrackController<TrackLoadOptionsType extends TrackLoadOptions>
124
146
  */
125
147
  clearPrefetch(): void;
126
148
  /**
127
- * Clears the track cache and unloads the current track.
149
+ * Clears the track cache, unloads the current track, and clears the queue.
128
150
  */
129
151
  clearTrackCache(): void;
130
152
  /**
@@ -134,25 +156,25 @@ export interface TrackController<TrackLoadOptionsType extends TrackLoadOptions>
134
156
  clearQueue(): void;
135
157
  /**
136
158
  * Resets the current track's error state.
159
+ *
160
+ * @param hard If true, the track will reset the playback state and
161
+ * recreate media sources.
137
162
  */
138
- reset(): void;
163
+ reset(hard?: boolean): void;
139
164
  }
140
165
  export interface TrackControllerImplDeps<TrackLoadOptionsType extends TrackLoadOptions> {
141
166
  readonly trackFactory: TrackFactory<TrackLoadOptionsType>;
142
167
  readonly playbackController: PlaybackController;
168
+ readonly adController: AdController;
169
+ readonly adTrackLoadOptionsProvider: AdTrackLoadOptionsProvider<TrackLoadOptionsType>;
143
170
  }
171
+ export type AdTrackLoadOptionsProvider<TrackLoadOptionsType extends TrackLoadOptions> = (adInfo: AdInfo) => Promise<TrackLoadOptionsType>;
144
172
  export interface TrackControllerImplOptions {
145
173
  /**
146
174
  * When tracks are queued, the number of tracks to prefetch ahead of the current track.
147
175
  * Default: 2
148
176
  */
149
177
  readonly trackPrefetchCount: number;
150
- /**
151
- * The number of seconds before load calls will time out if the first track's metadata is not loaded within
152
- * this time.
153
- * Default: 60
154
- */
155
- readonly loadTimeout: number;
156
178
  /**
157
179
  * The number of tracks that may be preloaded at one time (not counting queue prefetch).
158
180
  * This extends the track cache capacity and allows a certain number of tracks no longer in the queue to remain
@@ -175,13 +197,21 @@ export declare class TrackControllerImpl<TrackLoadOptionsType extends TrackLoadO
175
197
  get [Symbol.toStringTag](): string;
176
198
  private _autoPreloadCapacity;
177
199
  private readonly trackCache;
200
+ private queueIdx;
178
201
  private _queue;
179
202
  private _current;
203
+ private _currentTrack;
204
+ private adParent;
205
+ private currentTrackSub;
206
+ private readonly adTracksByParent;
180
207
  private readonly disposer;
181
208
  private _options;
182
- private trackEndedTimeoutId;
183
209
  constructor(deps: TrackControllerImplDeps<TrackLoadOptionsType>, initialOptions?: Partial<TrackControllerImplOptions>);
184
- private clearTrackEndedTimeout;
210
+ private initializeAdHandling;
211
+ /**
212
+ * The current track has ended naturally. On the next tick advance the queue or emit queue ended.
213
+ */
214
+ private onEnded;
185
215
  /**
186
216
  * Returns the currently set configuration.
187
217
  */
@@ -201,7 +231,7 @@ export declare class TrackControllerImpl<TrackLoadOptionsType extends TrackLoadO
201
231
  * Returns the subset of the queue that should be prefetched.
202
232
  * @private
203
233
  */
204
- private get prefetched();
234
+ private getPrefetched;
205
235
  isTrackCached(uri: TrackUri): boolean;
206
236
  getCachedTrack(uri: TrackUri): ReadonlyTrack | null;
207
237
  getCachedTracks(): IterableIterator<ReadonlyTrack>;
@@ -213,6 +243,16 @@ export declare class TrackControllerImpl<TrackLoadOptionsType extends TrackLoadO
213
243
  private validateLoadOptions;
214
244
  preload(...loadOptionsList: readonly TrackLoadOptionsType[]): void;
215
245
  private _preload;
246
+ private preloadPrerollAds;
247
+ /**
248
+ * Warms the ad tracks for an approaching midroll/postroll break (driven by
249
+ * the ad controller's `adPreload`). Best-effort: an ad-list or ad-options
250
+ * failure is logged, not thrown. The break is imminent, so its ad tracks
251
+ * get a prefetch priority above the current content prefetch window.
252
+ */
253
+ private preloadBreakAds;
254
+ /** Preloads an ad for a parent track. Aborts if the parent track is disposed before the ad load options resolve. **/
255
+ private preloadAd;
216
256
  load(...loadOptionsList: readonly TrackLoadOptionsType[]): void;
217
257
  unload(): void;
218
258
  enqueue(...loadOptionsList: readonly TrackLoadOptionsType[]): void;
@@ -225,25 +265,50 @@ export declare class TrackControllerImpl<TrackLoadOptionsType extends TrackLoadO
225
265
  * If the given track id is the current track or in the cache, returns that track.
226
266
  * Otherwise, constructs a new track, adds it to the cache, and returns it.
227
267
  *
228
- * @param uri The unique resource identifier.
229
268
  * @param loadOptions
230
269
  * @private
231
270
  */
232
271
  private getOrCreateTrack;
233
272
  /**
234
- * Get the current track from cache or create a new track, then activates that track.
273
+ * Gets the cached ad track, or creates a new one and sets it in the
274
+ * parent track mapping.
275
+ * When the parent track is disposed, this ad track will be as well.
276
+ *
277
+ * @param parentUri The URI of the parent track.
278
+ * @param loadOptions
279
+ * @private
235
280
  */
236
- private activateCurrent;
237
- private _currentTrack;
238
- get currentTrack(): ReadonlyTrack | null;
281
+ private getOrCreateAdTrack;
282
+ /**
283
+ * Sets the current track and following queue.
284
+ *
285
+ * If the given track is already current, it will be de-activated and re-activated and the
286
+ * trackDeactivated/trackActivated events will still be emitted. The same track may be in the
287
+ * queue multiple times.
288
+ */
289
+ private setQueue;
290
+ private get currentTrackIsAdTrack();
239
291
  /**
240
- * Sets the current track. If the given track is already current, it will be de-activated and re-activated and
241
- * the currentTrackChange event will still be emitted.
242
- * The same track may be in the queue multiple times.
292
+ * Sets the active track.
293
+ * This may either be a content track created from `setQueue` or an ad track created from `adEntered`.
294
+ *
295
+ * @param newTrack
296
+ * @param options
297
+ * @private
243
298
  */
244
299
  private setCurrentTrack;
245
- private clearCurrentTrack;
246
- reset(): void;
300
+ /**
301
+ * Disposes all preloaded ad tracks belonging to the given parent content
302
+ * URI and drops the parent's entry from the ad map.
303
+ */
304
+ private disposeAdTracksFor;
305
+ /**
306
+ * Returns a callback that returns true if the queue has changed or the controller disposed.
307
+ */
308
+ private getQueueInterrupted;
309
+ get activeTrack(): ReadonlyTrack | null;
310
+ reset(hard?: boolean): void;
311
+ get disposed(): boolean;
247
312
  dispose(): void;
248
313
  }
249
314
  //# sourceMappingURL=TrackController.d.ts.map
@@ -1,6 +1,7 @@
1
- import type { AnyRecord, Maybe, ReadonlyRecord } from '@amazon/vinyl-util';
2
- import type { ObjectSchema } from '@amazon/vinyl-validation';
1
+ import { type Maybe, type ReadonlyRecord } from '@amazon/vinyl-util';
2
+ import { type ObjectSchema } from '@amazon/vinyl-validation';
3
3
  import type { Track, TrackTypeId, TrackUri } from './Track';
4
+ import { type DrmOptions } from '../drm/DrmOptions';
4
5
  export interface TrackLoadOptions {
5
6
  /**
6
7
  * The track type, used to map to a track factory.
@@ -13,8 +14,27 @@ export interface TrackLoadOptions {
13
14
  /**
14
15
  * The track configuration.
15
16
  */
16
- readonly config?: Maybe<AnyRecord>;
17
+ readonly config?: Maybe<TrackConfigOptions>;
17
18
  }
19
+ /**
20
+ * General configuration for tracks set in track load options.
21
+ */
22
+ export interface TrackConfigOptions {
23
+ /**
24
+ * The time to seek to when the track has been activated.
25
+ * For MSE tracks this will affect pre-fetching.
26
+ */
27
+ readonly startTime?: Maybe<number>;
28
+ /**
29
+ * Extra application data to associate with the track.
30
+ */
31
+ readonly extra?: any;
32
+ /**
33
+ * DRM Configuration overrides for this track.
34
+ */
35
+ readonly drm?: Partial<DrmOptions>;
36
+ }
37
+ export declare const trackConfigOptionsValidator: ObjectSchema<TrackConfigOptions>;
18
38
  export declare const trackLoadOptionsValidator: ObjectSchema<TrackLoadOptions>;
19
39
  /**
20
40
  * Produces a new Track for the given configuration options.
@@ -1,43 +1,4 @@
1
- import type { DashManifestData, DashManifestProvider } from './DashManifestProvider';
2
1
  import type { ManifestController } from '../../streaming/ManifestController';
2
+ import type { DashManifestData } from './DashManifestProvider';
3
3
  export type DashManifestController = ManifestController<Promise<DashManifestData>>;
4
- export interface DashManifestControllerImplDeps {
5
- /**
6
- * Resolves the untransformed manifest.
7
- */
8
- readonly manifestProvider: DashManifestProvider;
9
- }
10
- export declare class DashManifestControllerImpl implements DashManifestController {
11
- readonly deps: DashManifestControllerImplDeps;
12
- get [Symbol.toStringTag](): string;
13
- get logPrefix(): string;
14
- private readonly _data;
15
- private _error;
16
- private readonly abortSlot;
17
- private readonly disposer;
18
- constructor(deps: DashManifestControllerImplDeps);
19
- /**
20
- * The most recent error from the manifest provider, or null.
21
- * This may be a silent error, such as an AbortError.
22
- */
23
- get error(): Error | null;
24
- /**
25
- * Reloads the manifest. Aborts any in-flight request and clears any
26
- * previous error before starting a new fetch.
27
- */
28
- refresh(): void;
29
- /**
30
- * If the manifest is in an error state, triggers a refresh.
31
- */
32
- reset(): void;
33
- get value(): Promise<DashManifestData>;
34
- get changeId(): number;
35
- getValue(): Promise<DashManifestData>;
36
- onData(callback: (value: Promise<DashManifestData>, previous: Promise<DashManifestData> | undefined) => void): import("@amazon/vinyl-util").Unsubscribe;
37
- map<U>(transform: (value: Promise<DashManifestData>) => U): import("@amazon/vinyl-observable").MutableValue<U>;
38
- pick<K extends keyof NonNullable<Promise<DashManifestData>>>(prop: K): import("@amazon/vinyl-observable").MutableValue<Promise<DashManifestData>[K]>;
39
- private abort;
40
- get disposed(): boolean;
41
- dispose(): void;
42
- }
43
4
  //# sourceMappingURL=DashManifestController.d.ts.map
@@ -1,13 +1,12 @@
1
- import { type TrackBaseOptions } from '../TrackBase';
2
- import { type DashManifestProvider, type DashManifestData } from './DashManifestProvider';
3
- import type { DashManifestController } from './DashManifestController';
4
- import type { TrackFactory, TrackLoadOptions } from '../TrackFactory';
1
+ import { type DashManifestData, type DashManifestProvider } from './DashManifestProvider';
2
+ import { type TrackConfigOptions, type TrackFactory, type TrackLoadOptions } from '../TrackFactory';
5
3
  import type { ObservableValue } from '@amazon/vinyl-observable';
6
4
  import { type Maybe, type RequestInitOptions } from '@amazon/vinyl-util';
7
5
  import { type Factories } from '@amazon/vinyl-di';
8
6
  import type { DashMediaQualityMetadataResolver } from './DashMediaQualityMetadataResolver';
9
7
  import { type MseTrackDeps } from '../mse/MseTrack';
10
8
  import type { MediaTimeline } from '../../streaming/MediaTimeline';
9
+ import type { DashManifestController } from './DashManifestController';
11
10
  export interface DashTrackLoadOptions extends TrackLoadOptions {
12
11
  readonly type: 'dash';
13
12
  /**
@@ -30,7 +29,7 @@ export interface DashTrackLoadOptions extends TrackLoadOptions {
30
29
  * Configuration options for the DashTrack.
31
30
  * Will be set before the track is activated.
32
31
  */
33
- readonly config?: Maybe<TrackBaseOptions>;
32
+ readonly config?: Maybe<TrackConfigOptions>;
34
33
  }
35
34
  export type DashTrackFactoryDeps = {
36
35
  readonly createDashFactories: (loadOptions: DashTrackLoadOptions) => Factories<DashTrackDeps>;
@@ -5,34 +5,44 @@ import { createMediaSource } from '../../util/media/mediaSource';
5
5
  import { type DashMediaQualityMetadataResolverDeps } from './DashMediaQualityMetadataResolver';
6
6
  import { MediaSourceControllerImpl, type MediaSourceControllerImplDeps } from '../../streaming/buffering/MediaSourceController';
7
7
  import type { PlaybackController } from '../../playback/PlaybackController';
8
- import { type DashManifestController, type DashManifestControllerImplDeps } from './DashManifestController';
9
8
  import type { DrmKeySystemResolver } from '../../drm/DrmKeySystemResolver';
10
9
  import type { DrmController } from '../../drm/DrmController';
11
10
  import type { Capabilities } from '../../client/Capabilities';
12
- import { QualitySelectorImpl, type QualitySelectorImplOptions } from '../../streaming/abr/QualitySelectorImpl';
11
+ import { QualitySelectorImpl } from '../../streaming/abr/QualitySelectorImpl';
13
12
  import type { PlaybackSource } from '../../playback/PlaybackSource';
14
13
  import { createContentStreamFactory } from '../../streaming/ContentStream';
15
14
  import type { ContentStreamingOptions } from '../../streaming/ContentStreamingOptions';
16
15
  import { createDashContentTypesValue } from './createDashContentTypesValue';
16
+ import { createAllowedContentTypesValue } from '../../streaming/createAllowedContentTypesValue';
17
17
  import type { ObservableValue } from '@amazon/vinyl-observable';
18
18
  import type { VinylOptions } from '../../vinyl/VinylOptions';
19
19
  import { type BuildDashMediaTimelineDeps } from './buildDashMediaTimeline';
20
20
  import { createDefaultMediaTimelineTransformer } from '../../streaming/createDefaultMediaTimelineTransformer';
21
21
  import type { DashManifestData } from './DashManifestProvider';
22
+ import { SidecarTextTrackController } from '../../text/SidecarTextTrackController';
23
+ import type { AdController } from '../../ad/AdController';
24
+ import { ManifestControllerImpl, type ManifestControllerImplDeps } from '../../streaming/ManifestControllerImpl';
22
25
  /**
23
26
  * Player-level dependencies needed for the Dash-specific factories.
24
27
  */
25
28
  export interface DashFactoryDeps {
26
- readonly options: ObservableValue<{
27
- readonly abr: QualitySelectorImplOptions;
28
- readonly preferredAudioLanguage: string | null;
29
- }>;
29
+ readonly options: ObservableValue<Pick<VinylOptions, 'abr' | 'preferredAudioLanguage' | 'allowedContentTypes' | 'preferDescriptiveAudio' | 'preferredTextLanguage' | 'textCueStyle'>>;
30
30
  readonly playbackController: PlaybackController;
31
31
  readonly playbackSource: PlaybackSource;
32
32
  readonly drmKeySystemResolver: DrmKeySystemResolver;
33
33
  readonly requestInterceptor: RequestInterceptor;
34
34
  readonly drmController: DrmController;
35
35
  readonly capabilities: Capabilities;
36
+ /**
37
+ * The HTML media element. Required to attach sidecar text tracks via
38
+ * `media.addTextTrack`.
39
+ */
40
+ readonly media: HTMLMediaElement;
41
+ /**
42
+ * The player-level ad controller. MseTrack sets discovered ad breaks on it
43
+ * when the media timeline resolves.
44
+ */
45
+ readonly adController: AdController;
36
46
  }
37
47
  export type DashInitOptions = {
38
48
  readonly streaming?: Maybe<ContentStreamingOptions>;
@@ -42,13 +52,14 @@ export type DashInitOptions = {
42
52
  * a new DashTrack.
43
53
  */
44
54
  export declare function createDashFactories(options: Maybe<DashInitOptions>): (deps: DashFactoryDeps) => (loadOptions: DashTrackLoadOptions) => {
45
- contentTypesValue: typeof createDashContentTypesValue;
55
+ baseContentTypesValue: typeof createDashContentTypesValue;
56
+ contentTypesValue: typeof createAllowedContentTypesValue;
46
57
  baseUrlSelector: () => import("./util/uriResolution").BaseUrlSelector;
47
58
  segmentRequestInit: () => Maybe<Readonly<Omit<RequestInit, "signal">>>;
48
59
  manifestProvider: (deps: {
49
60
  readonly requestInterceptor: RequestInterceptor;
50
61
  }) => import("./DashManifestProvider").DashManifestProvider;
51
- manifestController: (deps: DashManifestControllerImplDeps) => DashManifestController;
62
+ manifestController: (deps: ManifestControllerImplDeps<DashManifestData>) => ManifestControllerImpl<DashManifestData>;
52
63
  mediaSourceFactory: () => typeof createMediaSource;
53
64
  mediaQualityMetadataResolver: (deps: DashMediaQualityMetadataResolverDeps) => import("./DashMediaQualityMetadataResolver").DashMediaQualityMetadataResolver;
54
65
  mediaSourceController: (deps: MediaSourceControllerImplDeps) => MediaSourceControllerImpl;
@@ -65,20 +76,36 @@ export declare function createDashFactories(options: Maybe<DashInitOptions>): (d
65
76
  qualitySelector: (deps: {
66
77
  options: ObservableValue<Pick<VinylOptions, "abr">>;
67
78
  }) => QualitySelectorImpl;
79
+ preferredAudioLanguage: (deps: {
80
+ options: ObservableValue<Pick<VinylOptions, "preferredAudioLanguage">>;
81
+ }) => ObservableValue<string | readonly string[] | null>;
82
+ allowedContentTypes: (deps: {
83
+ options: ObservableValue<Pick<VinylOptions, "allowedContentTypes">>;
84
+ }) => ObservableValue<readonly import("../..").RestrictableContentType[] | null>;
85
+ preferDescriptiveAudio: (deps: {
86
+ options: ObservableValue<Pick<VinylOptions, "preferDescriptiveAudio">>;
87
+ }) => ObservableValue<boolean>;
88
+ abr: (deps: {
89
+ options: ObservableValue<Pick<VinylOptions, "abr">>;
90
+ }) => ObservableValue<import("../..").QualitySelectorImplOptions>;
68
91
  manifestTransformed: typeof createDefaultDashManifestTransformer;
69
92
  mediaTimeline: (deps: BuildDashMediaTimelineDeps & {
70
93
  readonly manifestTransformed: ObservableValue<Promise<DashManifestData>>;
71
94
  }) => ObservableValue<Promise<import("../..").MediaTimeline>>;
72
95
  mediaTimelineTransformed: typeof createDefaultMediaTimelineTransformer;
73
- options: import("@amazon/vinyl-di").Factory<ObservableValue<{
74
- readonly abr: QualitySelectorImplOptions;
75
- readonly preferredAudioLanguage: string | null;
76
- }>>;
96
+ textTrackController: (deps: {
97
+ readonly media: HTMLMediaElement;
98
+ readonly manifestTransformed: ObservableValue<Promise<DashManifestData>>;
99
+ readonly options: ObservableValue<Pick<VinylOptions, "preferredTextLanguage" | "textCueStyle">>;
100
+ }) => SidecarTextTrackController;
101
+ options: import("@amazon/vinyl-di").Factory<ObservableValue<Pick<VinylOptions, "abr" | "preferredAudioLanguage" | "preferredTextLanguage" | "preferDescriptiveAudio" | "allowedContentTypes" | "textCueStyle">>>;
77
102
  playbackController: import("@amazon/vinyl-di").Factory<PlaybackController>;
78
103
  playbackSource: import("@amazon/vinyl-di").Factory<PlaybackSource>;
79
104
  drmKeySystemResolver: import("@amazon/vinyl-di").Factory<DrmKeySystemResolver>;
80
105
  requestInterceptor: import("@amazon/vinyl-di").Factory<RequestInterceptor>;
81
106
  drmController: import("@amazon/vinyl-di").Factory<DrmController>;
82
107
  capabilities: import("@amazon/vinyl-di").Factory<Capabilities>;
108
+ media: import("@amazon/vinyl-di").Factory<HTMLMediaElement>;
109
+ adController: import("@amazon/vinyl-di").Factory<AdController>;
83
110
  };
84
111
  //# sourceMappingURL=createDashFactories.d.ts.map
@@ -1,14 +1,9 @@
1
1
  import type { ReadonlyPlaybackController } from '../../playback/ReadonlyPlaybackController';
2
2
  import { SegmentControllerImpl, type SegmentControllerImplOptions } from '../../streaming/SegmentControllerImpl';
3
3
  import type { ContentType } from '../../streaming/MediaQualityMetadata';
4
- import type { SegmentController } from '../../streaming/SegmentController';
5
4
  import type { ObservableValue } from '@amazon/vinyl-observable';
6
5
  import type { MediaTimeline } from '../../streaming/MediaTimeline';
7
6
  import type { QualitySelector } from '../../streaming/abr/QualitySelector';
8
- export type SegmentControllerFactory = (deps: {
9
- readonly mediaTimelineTransformed: ObservableValue<Promise<MediaTimeline>>;
10
- readonly qualitySelector: QualitySelector;
11
- }) => SegmentController;
12
7
  export interface SegmentControllerFactoryDeps {
13
8
  readonly playbackController: ReadonlyPlaybackController;
14
9
  }
@@ -72,6 +72,16 @@ export declare function getPeriodAtTime(manifest: DashManifest, time: number): P
72
72
  * Flattens representations across all adaptation sets for the given Period.
73
73
  */
74
74
  export declare function flattenRepresentations(period: PeriodType): RepresentationType[];
75
+ /**
76
+ * Flattens the representations across all adaptation sets for the given Period
77
+ * that the MSE media pipeline can play, i.e. `audio` and `video`.
78
+ *
79
+ * Text adaptation sets (e.g. `contentType="text"` WebVTT sidecar subtitles) are
80
+ * excluded: they are surfaced through the sidecar text-track pipeline
81
+ * (`discoverDashTextTracks`), not buffered through MSE, so including them here
82
+ * would create an unplayable text SourceBuffer and stall playback.
83
+ */
84
+ export declare function flattenMediaRepresentations(period: PeriodType): RepresentationType[];
75
85
  /**
76
86
  * Calculates the manifest duration, either from the mediaPresentationDuration or the last period end time.
77
87
  * Returns `Infinity` for live (dynamic) presentations.
@@ -1,28 +1,4 @@
1
1
  import type { ManifestController } from '../../streaming/ManifestController';
2
- import type { HlsManifestData, HlsManifestProvider } from './HlsManifestProvider';
2
+ import type { HlsManifestData } from './HlsManifestData';
3
3
  export type HlsManifestController = ManifestController<Promise<HlsManifestData>>;
4
- export declare class HlsManifestControllerImpl implements HlsManifestController {
5
- private readonly manifestProvider;
6
- get [Symbol.toStringTag](): string;
7
- get logPrefix(): string;
8
- private readonly _data;
9
- private _error;
10
- private readonly abortSlot;
11
- private readonly disposer;
12
- constructor(manifestProvider: HlsManifestProvider);
13
- /**
14
- * The most recent error from the manifest provider, or null.
15
- */
16
- get error(): Error | null;
17
- refresh(): void;
18
- reset(): void;
19
- get value(): Promise<HlsManifestData>;
20
- get changeId(): number;
21
- getValue(): Promise<HlsManifestData>;
22
- onData(callback: (value: Promise<HlsManifestData>, previous?: Promise<HlsManifestData>) => void): () => void;
23
- map<U>(fn: (value: Promise<HlsManifestData>) => U): import("@amazon/vinyl-observable").MutableValue<U>;
24
- pick<K extends keyof NonNullable<Promise<HlsManifestData>>>(key: K): import("@amazon/vinyl-observable").MutableValue<Promise<HlsManifestData>[K]>;
25
- get disposed(): boolean;
26
- dispose(): void;
27
- }
28
4
  //# sourceMappingURL=HlsManifestController.d.ts.map