@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,11 +1,13 @@
1
- import type { ObjectSchema } from '@amazon/vinyl-validation';
2
1
  import type { Maybe, ReadonlyRanges, ReadonlySet } from '@amazon/vinyl-util';
3
2
  import { EventHostImpl } from '@amazon/vinyl-util';
4
3
  import type { PlaybackController } from '../playback/PlaybackController';
5
4
  import type { Track, TrackEventMap, TrackPreloadOptions, TrackTypeId, TrackUri } from './Track';
5
+ import type { SeekRange } from './SeekRange';
6
6
  import type { DrmController } from '../drm/DrmController';
7
7
  import type { ContentType, MediaQualityMetadata } from '../streaming/MediaQualityMetadata';
8
- import type { DrmOptions } from '../drm/DrmOptions';
8
+ import type { TextTrackController } from '../text/TextTrack';
9
+ import type { TrackAds } from '../ad/AdBreakInfo';
10
+ import type { TrackConfigOptions } from './TrackFactory';
9
11
  /**
10
12
  * Dependencies for TrackBase.
11
13
  */
@@ -19,29 +21,10 @@ export interface TrackBaseDeps {
19
21
  */
20
22
  readonly drmController: DrmController;
21
23
  }
22
- /**
23
- * General configuration for tracks set in track load options.
24
- */
25
- export interface TrackBaseOptions {
26
- /**
27
- * The time to seek to when the track has been activated.
28
- * For MSE tracks this will affect pre-fetching.
29
- */
30
- readonly startTime?: Maybe<number>;
31
- /**
32
- * Extra application data to associate with the track.
33
- */
34
- readonly extra?: any;
35
- /**
36
- * DRM Configuration overrides for this track.
37
- */
38
- readonly drm?: Partial<DrmOptions>;
39
- }
40
- export declare const trackBaseOptionsValidator: ObjectSchema<TrackBaseOptions>;
41
24
  /**
42
25
  * A base class for all tracks.
43
26
  */
44
- export declare abstract class TrackBase<EventMap extends TrackEventMap = TrackEventMap, LoadOptionsType extends TrackBaseOptions = TrackBaseOptions> extends EventHostImpl<EventMap> implements Track<LoadOptionsType> {
27
+ export declare abstract class TrackBase<EventMap extends TrackEventMap = TrackEventMap, ConfigType extends TrackConfigOptions = TrackConfigOptions> extends EventHostImpl<EventMap> implements Track<ConfigType> {
45
28
  /**
46
29
  * The identifier of this track, used as the key in the track cache.
47
30
  */
@@ -55,11 +38,13 @@ export declare abstract class TrackBase<EventMap extends TrackEventMap = TrackEv
55
38
  /**
56
39
  * The current load options, if this is an active track.
57
40
  */
58
- protected loadOptions: LoadOptionsType | null;
41
+ protected loadOptions: Maybe<ConfigType>;
59
42
  protected readonly errorHandler: (error: any) => void;
60
43
  protected readonly disposer: import("@amazon/vinyl-util").Disposer;
61
44
  protected drmSessionAbort: import("@amazon/vinyl-util").AbortSlot;
62
45
  get fetchedRanges(): ReadonlyRanges;
46
+ get textTrackController(): (TextTrackController | null);
47
+ get seekRange(): (SeekRange | null);
63
48
  abstract get contentTypes(): ReadonlySet<ContentType>;
64
49
  abstract get qualities(): (readonly MediaQualityMetadata[] | null);
65
50
  abstract get qualitiesUnfiltered(): (readonly MediaQualityMetadata[] | null);
@@ -71,6 +56,7 @@ export declare abstract class TrackBase<EventMap extends TrackEventMap = TrackEv
71
56
  */
72
57
  protected _error: Error | null;
73
58
  private _active;
59
+ private _seekRange;
74
60
  protected constructor(
75
61
  /**
76
62
  * The identifier of this track, used as the key in the track cache.
@@ -80,31 +66,37 @@ export declare abstract class TrackBase<EventMap extends TrackEventMap = TrackEv
80
66
  * The track type.
81
67
  */
82
68
  type: TrackTypeId, deps: TrackBaseDeps);
69
+ toString(): string;
83
70
  get error(): (Error | null);
84
- preload(_trackOptions: TrackPreloadOptions, _loadOptions: LoadOptionsType): void;
71
+ preload(_trackOptions: TrackPreloadOptions, _loadOptions: Maybe<ConfigType>): void;
85
72
  get extra(): any;
86
73
  get active(): boolean;
87
74
  get disposed(): boolean;
88
- activate(loadOptions: LoadOptionsType): void;
75
+ activate(loadOptions: Maybe<ConfigType>): void;
89
76
  /**
90
77
  * The track has been activated.
91
78
  * Operations on shared resources such as the playback controller may only be done while the
92
79
  * track is currently active. For example if there is a loading operation before the
93
80
  * playback source is set, isActive must be checked before the property is changed.
94
81
  */
95
- abstract onActivated(loadOptions: LoadOptionsType): void;
82
+ abstract onActivated(loadOptions: Maybe<ConfigType>): void;
96
83
  deactivate(): void;
97
84
  abstract onDeactivated(): void;
98
- toString(): string;
99
- protected closeDrmSessions(): void;
100
85
  abstract clearPrefetch(): void;
86
+ protected closeDrmSessions(): void;
87
+ /**
88
+ * Resolves to this track's ads.
89
+ * Implementations may override to provide ad breaks.
90
+ */
91
+ getAds(): Promise<TrackAds>;
92
+ protected setSeekRange(value: SeekRange): void;
101
93
  /**
102
94
  * Resets the track to recover from error states.
103
95
  * Base implementation does nothing.
104
96
  *
105
97
  * Overrides should dispatch 'reset' after resetting error state.
106
98
  */
107
- reset(): void;
99
+ reset(hard?: boolean): void;
108
100
  dispose(): void;
109
101
  }
110
102
  //# sourceMappingURL=TrackBase.d.ts.map
@@ -4,45 +4,67 @@ import type { PlaybackController } from '../playback/PlaybackController';
4
4
  import type { ReadonlyTrack, TrackUri } from './Track';
5
5
  import type { TrackFactory, TrackLoadOptions } from './TrackFactory';
6
6
  import type { ChangeEvent } from '../event/ChangeEvent';
7
+ import type { AdController } from '../ad/AdController';
8
+ import type { AdInfo } from '../ad/AdBreakInfo';
7
9
  export interface TrackControllerEventMap<TrackLoadOptionsType extends TrackLoadOptions> {
8
10
  /**
9
- * Emitted when the current track is changing.
10
- * This is emitted before the previous track has been deactivated and
11
- * new track has been activated.
11
+ * A track became active. For content this may be deferred behind a preroll;
12
+ * for an ad it fires as the ad activates. {@link queueChange} precedes it.
12
13
  */
13
- readonly currentTrackChanging: ChangeEvent<ReadonlyTrack | null>;
14
+ readonly trackActivated: TrackLifecycleEvent;
14
15
  /**
15
- * Emitted when the current track has changed.
16
- * If there is a queue change, the currentTrackChange event is always emitted first.
17
- * This is emitted after the previous track has been deactivated and
18
- * new track has been activated.
16
+ * A previously-active track was torn down (superseded or unloaded).
19
17
  */
20
- readonly currentTrackChange: ChangeEvent<ReadonlyTrack | null>;
18
+ readonly trackDeactivated: TrackLifecycleEvent;
21
19
  /**
22
20
  * Dispatched when the queue has changed.
21
+ *
22
+ * Will be emitted before {@link trackActivated}.
23
23
  */
24
24
  readonly queueChange: ChangeEvent<readonly TrackLoadOptionsType[]>;
25
25
  /**
26
- * Emitted when the last track of the playback queue has ended.
27
- * When the last track in a queue has ended, the track will not change and therefore a `currentTrackChange`
28
- * event will not be emitted.
26
+ * Emitted when the current track — including any postroll ads — has finished
27
+ * playing. Fires once per track: as the queue advances it precedes the
28
+ * resulting {@link trackActivated}, and for the final track it precedes
29
+ * `queueEnded`. Distinct from the media element's `ended` (which also fires
30
+ * for each ad) and from an individual ad's `adEnded`, so applications can act
31
+ * on true track completion (e.g. logging a play) without confusing it with
32
+ * an ad ending or the content ending before its postroll plays.
33
+ */
34
+ readonly trackEnded: TrackEndedEvent;
35
+ /**
36
+ * Emitted when the last track of the playback queue (and any of its
37
+ * postroll ads) have ended.
29
38
  */
30
39
  readonly queueEnded: AnyRecord;
31
40
  }
32
41
  export declare const ALL_TRACK_CONTROLLER_EVENTS: readonly [
33
- "currentTrackChanging",
34
- "currentTrackChange",
42
+ "trackActivated",
43
+ "trackDeactivated",
35
44
  "queueChange",
45
+ "trackEnded",
36
46
  "queueEnded"
37
47
  ];
48
+ /** Payload for {@link trackActivated} / {@link trackDeactivated}. */
49
+ export interface TrackLifecycleEvent {
50
+ readonly track: ReadonlyTrack;
51
+ }
52
+ /**
53
+ * Payload for the {@link TrackControllerEventMap.trackEnded} event: the load
54
+ * options of the track that finished playing (including any postroll ads).
55
+ */
56
+ export interface TrackEndedEvent {
57
+ readonly track: TrackLoadOptions;
58
+ }
38
59
  /**
39
60
  * A readonly interface to the track controller.
40
61
  */
41
62
  export interface ReadonlyTrackController<TrackLoadOptionsType extends TrackLoadOptions> extends ReadonlyEventHost<TrackControllerEventMap<TrackLoadOptionsType>> {
42
63
  /**
43
- * Returns the current track.
64
+ * The active track, or null when the selected track has not yet activated
65
+ * (e.g. behind a preroll) or nothing is loaded.
44
66
  */
45
- readonly currentTrack: ReadonlyTrack | null;
67
+ readonly activeTrack: ReadonlyTrack | null;
46
68
  /**
47
69
  * Returns the current queue of TrackLoadOptions.
48
70
  * Observe 'queueChange' for changes to this queue.
@@ -125,7 +147,7 @@ export interface TrackController<TrackLoadOptionsType extends TrackLoadOptions>
125
147
  */
126
148
  clearPrefetch(): void;
127
149
  /**
128
- * Clears the track cache and unloads the current track.
150
+ * Clears the track cache, unloads the current track, and clears the queue.
129
151
  */
130
152
  clearTrackCache(): void;
131
153
  /**
@@ -135,25 +157,25 @@ export interface TrackController<TrackLoadOptionsType extends TrackLoadOptions>
135
157
  clearQueue(): void;
136
158
  /**
137
159
  * Resets the current track's error state.
160
+ *
161
+ * @param hard If true, the track will reset the playback state and
162
+ * recreate media sources.
138
163
  */
139
- reset(): void;
164
+ reset(hard?: boolean): void;
140
165
  }
141
166
  export interface TrackControllerImplDeps<TrackLoadOptionsType extends TrackLoadOptions> {
142
167
  readonly trackFactory: TrackFactory<TrackLoadOptionsType>;
143
168
  readonly playbackController: PlaybackController;
169
+ readonly adController: AdController;
170
+ readonly adTrackLoadOptionsProvider: AdTrackLoadOptionsProvider<TrackLoadOptionsType>;
144
171
  }
172
+ export type AdTrackLoadOptionsProvider<TrackLoadOptionsType extends TrackLoadOptions> = (adInfo: AdInfo) => Promise<TrackLoadOptionsType>;
145
173
  export interface TrackControllerImplOptions {
146
174
  /**
147
175
  * When tracks are queued, the number of tracks to prefetch ahead of the current track.
148
176
  * Default: 2
149
177
  */
150
178
  readonly trackPrefetchCount: number;
151
- /**
152
- * The number of seconds before load calls will time out if the first track's metadata is not loaded within
153
- * this time.
154
- * Default: 60
155
- */
156
- readonly loadTimeout: number;
157
179
  /**
158
180
  * The number of tracks that may be preloaded at one time (not counting queue prefetch).
159
181
  * This extends the track cache capacity and allows a certain number of tracks no longer in the queue to remain
@@ -176,13 +198,21 @@ export declare class TrackControllerImpl<TrackLoadOptionsType extends TrackLoadO
176
198
  get [Symbol.toStringTag](): string;
177
199
  private _autoPreloadCapacity;
178
200
  private readonly trackCache;
201
+ private queueIdx;
179
202
  private _queue;
180
203
  private _current;
204
+ private _currentTrack;
205
+ private adParent;
206
+ private currentTrackSub;
207
+ private readonly adTracksByParent;
181
208
  private readonly disposer;
182
209
  private _options;
183
- private trackEndedTimeoutId;
184
210
  constructor(deps: TrackControllerImplDeps<TrackLoadOptionsType>, initialOptions?: Partial<TrackControllerImplOptions>);
185
- private clearTrackEndedTimeout;
211
+ private initializeAdHandling;
212
+ /**
213
+ * The current track has ended naturally. On the next tick advance the queue or emit queue ended.
214
+ */
215
+ private onEnded;
186
216
  get options(): TrackControllerImplOptions;
187
217
  /**
188
218
  * Configures this track queue from the provided partial options.
@@ -199,7 +229,7 @@ export declare class TrackControllerImpl<TrackLoadOptionsType extends TrackLoadO
199
229
  * Returns the subset of the queue that should be prefetched.
200
230
  * @private
201
231
  */
202
- private get prefetched();
232
+ private getPrefetched;
203
233
  isTrackCached(uri: TrackUri): boolean;
204
234
  getCachedTrack(uri: TrackUri): ReadonlyTrack | null;
205
235
  getCachedTracks(): IterableIterator<ReadonlyTrack>;
@@ -207,6 +237,16 @@ export declare class TrackControllerImpl<TrackLoadOptionsType extends TrackLoadO
207
237
  private validateLoadOptions;
208
238
  preload(...loadOptionsList: readonly TrackLoadOptionsType[]): void;
209
239
  private _preload;
240
+ private preloadPrerollAds;
241
+ /**
242
+ * Warms the ad tracks for an approaching midroll/postroll break (driven by
243
+ * the ad controller's `adPreload`). Best-effort: an ad-list or ad-options
244
+ * failure is logged, not thrown. The break is imminent, so its ad tracks
245
+ * get a prefetch priority above the current content prefetch window.
246
+ */
247
+ private preloadBreakAds;
248
+ /** Preloads an ad for a parent track. Aborts if the parent track is disposed before the ad load options resolve. **/
249
+ private preloadAd;
210
250
  load(...loadOptionsList: readonly TrackLoadOptionsType[]): void;
211
251
  unload(): void;
212
252
  enqueue(...loadOptionsList: readonly TrackLoadOptionsType[]): void;
@@ -219,25 +259,50 @@ export declare class TrackControllerImpl<TrackLoadOptionsType extends TrackLoadO
219
259
  * If the given track id is the current track or in the cache, returns that track.
220
260
  * Otherwise, constructs a new track, adds it to the cache, and returns it.
221
261
  *
222
- * @param uri The unique resource identifier.
223
262
  * @param loadOptions
224
263
  * @private
225
264
  */
226
265
  private getOrCreateTrack;
227
266
  /**
228
- * Get the current track from cache or create a new track, then activates that track.
267
+ * Gets the cached ad track, or creates a new one and sets it in the
268
+ * parent track mapping.
269
+ * When the parent track is disposed, this ad track will be as well.
270
+ *
271
+ * @param parentUri The URI of the parent track.
272
+ * @param loadOptions
273
+ * @private
229
274
  */
230
- private activateCurrent;
231
- private _currentTrack;
232
- get currentTrack(): (ReadonlyTrack | null);
275
+ private getOrCreateAdTrack;
276
+ /**
277
+ * Sets the current track and following queue.
278
+ *
279
+ * If the given track is already current, it will be de-activated and re-activated and the
280
+ * trackDeactivated/trackActivated events will still be emitted. The same track may be in the
281
+ * queue multiple times.
282
+ */
283
+ private setQueue;
284
+ private get currentTrackIsAdTrack();
233
285
  /**
234
- * Sets the current track. If the given track is already current, it will be de-activated and re-activated and
235
- * the currentTrackChange event will still be emitted.
236
- * The same track may be in the queue multiple times.
286
+ * Sets the active track.
287
+ * This may either be a content track created from `setQueue` or an ad track created from `adEntered`.
288
+ *
289
+ * @param newTrack
290
+ * @param options
291
+ * @private
237
292
  */
238
293
  private setCurrentTrack;
239
- private clearCurrentTrack;
240
- reset(): void;
294
+ /**
295
+ * Disposes all preloaded ad tracks belonging to the given parent content
296
+ * URI and drops the parent's entry from the ad map.
297
+ */
298
+ private disposeAdTracksFor;
299
+ /**
300
+ * Returns a callback that returns true if the queue has changed or the controller disposed.
301
+ */
302
+ private getQueueInterrupted;
303
+ get activeTrack(): (ReadonlyTrack | null);
304
+ reset(hard?: boolean): void;
305
+ get disposed(): boolean;
241
306
  dispose(): void;
242
307
  }
243
308
  //# sourceMappingURL=TrackController.d.ts.map
@@ -1,6 +1,7 @@
1
- import type { AnyRecord, Maybe, ReadonlyRecord } from '@amazon/vinyl-util';
1
+ import type { Maybe, ReadonlyRecord } from '@amazon/vinyl-util';
2
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,39 +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
- get error(): (Error | null);
20
- /**
21
- * Reloads the manifest. Aborts any in-flight request and clears any
22
- * previous error before starting a new fetch.
23
- */
24
- refresh(): void;
25
- /**
26
- * If the manifest is in an error state, triggers a refresh.
27
- */
28
- reset(): void;
29
- get value(): Promise<DashManifestData>;
30
- get changeId(): number;
31
- getValue(): Promise<DashManifestData>;
32
- onData(callback: (value: Promise<DashManifestData>, previous: Promise<DashManifestData> | undefined) => void): import("@amazon/vinyl-util").Unsubscribe;
33
- map<U>(transform: (value: Promise<DashManifestData>) => U): import("@amazon/vinyl-observable").MutableValue<U>;
34
- pick<K extends keyof NonNullable<Promise<DashManifestData>>>(prop: K): import("@amazon/vinyl-observable").MutableValue<Promise<DashManifestData>[K]>;
35
- private abort;
36
- get disposed(): boolean;
37
- dispose(): void;
38
- }
39
4
  //# sourceMappingURL=DashManifestController.d.ts.map
@@ -1,13 +1,12 @@
1
- import type { TrackBaseOptions } from '../TrackBase';
2
- import type { DashManifestProvider, DashManifestData } from './DashManifestProvider';
3
- import type { DashManifestController } from './DashManifestController';
4
- import type { TrackFactory, TrackLoadOptions } from '../TrackFactory';
1
+ import type { DashManifestData, DashManifestProvider } from './DashManifestProvider';
2
+ import type { TrackConfigOptions, TrackFactory, TrackLoadOptions } from '../TrackFactory';
5
3
  import type { ObservableValue } from '@amazon/vinyl-observable';
6
4
  import type { Maybe, 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>;
@@ -6,35 +6,45 @@ import type { DashMediaQualityMetadataResolverDeps } from './DashMediaQualityMet
6
6
  import type { MediaSourceControllerImplDeps } from '../../streaming/buffering/MediaSourceController';
7
7
  import { MediaSourceControllerImpl } from '../../streaming/buffering/MediaSourceController';
8
8
  import type { PlaybackController } from '../../playback/PlaybackController';
9
- import type { DashManifestController, DashManifestControllerImplDeps } from './DashManifestController';
10
9
  import type { DrmKeySystemResolver } from '../../drm/DrmKeySystemResolver';
11
10
  import type { DrmController } from '../../drm/DrmController';
12
11
  import type { Capabilities } from '../../client/Capabilities';
13
- import type { QualitySelectorImplOptions } from '../../streaming/abr/QualitySelectorImpl';
14
12
  import { QualitySelectorImpl } from '../../streaming/abr/QualitySelectorImpl';
15
13
  import type { PlaybackSource } from '../../playback/PlaybackSource';
16
14
  import { createContentStreamFactory } from '../../streaming/ContentStream';
17
15
  import type { ContentStreamingOptions } from '../../streaming/ContentStreamingOptions';
18
16
  import { createDashContentTypesValue } from './createDashContentTypesValue';
17
+ import { createAllowedContentTypesValue } from '../../streaming/createAllowedContentTypesValue';
19
18
  import type { ObservableValue } from '@amazon/vinyl-observable';
20
19
  import type { VinylOptions } from '../../vinyl/VinylOptions';
21
20
  import type { BuildDashMediaTimelineDeps } from './buildDashMediaTimeline';
22
21
  import { createDefaultMediaTimelineTransformer } from '../../streaming/createDefaultMediaTimelineTransformer';
23
22
  import type { DashManifestData } from './DashManifestProvider';
23
+ import { SidecarTextTrackController } from '../../text/SidecarTextTrackController';
24
+ import type { AdController } from '../../ad/AdController';
25
+ import type { ManifestControllerImplDeps } from '../../streaming/ManifestControllerImpl';
26
+ import { ManifestControllerImpl } from '../../streaming/ManifestControllerImpl';
24
27
  /**
25
28
  * Player-level dependencies needed for the Dash-specific factories.
26
29
  */
27
30
  export interface DashFactoryDeps {
28
- readonly options: ObservableValue<{
29
- readonly abr: QualitySelectorImplOptions;
30
- readonly preferredAudioLanguage: string | null;
31
- }>;
31
+ readonly options: ObservableValue<Pick<VinylOptions, 'abr' | 'preferredAudioLanguage' | 'allowedContentTypes' | 'preferDescriptiveAudio' | 'preferredTextLanguage' | 'textCueStyle'>>;
32
32
  readonly playbackController: PlaybackController;
33
33
  readonly playbackSource: PlaybackSource;
34
34
  readonly drmKeySystemResolver: DrmKeySystemResolver;
35
35
  readonly requestInterceptor: RequestInterceptor;
36
36
  readonly drmController: DrmController;
37
37
  readonly capabilities: Capabilities;
38
+ /**
39
+ * The HTML media element. Required to attach sidecar text tracks via
40
+ * `media.addTextTrack`.
41
+ */
42
+ readonly media: HTMLMediaElement;
43
+ /**
44
+ * The player-level ad controller. MseTrack sets discovered ad breaks on it
45
+ * when the media timeline resolves.
46
+ */
47
+ readonly adController: AdController;
38
48
  }
39
49
  export type DashInitOptions = {
40
50
  readonly streaming?: Maybe<ContentStreamingOptions>;
@@ -44,13 +54,14 @@ export type DashInitOptions = {
44
54
  * a new DashTrack.
45
55
  */
46
56
  export declare function createDashFactories(options: Maybe<DashInitOptions>): (deps: DashFactoryDeps) => (loadOptions: DashTrackLoadOptions) => {
47
- contentTypesValue: typeof createDashContentTypesValue;
57
+ baseContentTypesValue: typeof createDashContentTypesValue;
58
+ contentTypesValue: typeof createAllowedContentTypesValue;
48
59
  baseUrlSelector: () => import("./util/uriResolution").BaseUrlSelector;
49
60
  segmentRequestInit: () => Maybe<Readonly<Omit<RequestInit, "signal">>>;
50
61
  manifestProvider: (deps: {
51
62
  readonly requestInterceptor: RequestInterceptor;
52
63
  }) => import("./DashManifestProvider").DashManifestProvider;
53
- manifestController: (deps: DashManifestControllerImplDeps) => DashManifestController;
64
+ manifestController: (deps: ManifestControllerImplDeps<DashManifestData>) => ManifestControllerImpl<DashManifestData>;
54
65
  mediaSourceFactory: () => typeof createMediaSource;
55
66
  mediaQualityMetadataResolver: (deps: DashMediaQualityMetadataResolverDeps) => import("./DashMediaQualityMetadataResolver").DashMediaQualityMetadataResolver;
56
67
  mediaSourceController: (deps: MediaSourceControllerImplDeps) => MediaSourceControllerImpl;
@@ -67,20 +78,36 @@ export declare function createDashFactories(options: Maybe<DashInitOptions>): (d
67
78
  qualitySelector: (deps: {
68
79
  options: ObservableValue<Pick<VinylOptions, "abr">>;
69
80
  }) => QualitySelectorImpl;
81
+ preferredAudioLanguage: (deps: {
82
+ options: ObservableValue<Pick<VinylOptions, "preferredAudioLanguage">>;
83
+ }) => ObservableValue<string | readonly string[] | null>;
84
+ allowedContentTypes: (deps: {
85
+ options: ObservableValue<Pick<VinylOptions, "allowedContentTypes">>;
86
+ }) => ObservableValue<readonly import("../..").RestrictableContentType[] | null>;
87
+ preferDescriptiveAudio: (deps: {
88
+ options: ObservableValue<Pick<VinylOptions, "preferDescriptiveAudio">>;
89
+ }) => ObservableValue<boolean>;
90
+ abr: (deps: {
91
+ options: ObservableValue<Pick<VinylOptions, "abr">>;
92
+ }) => ObservableValue<import("../..").QualitySelectorImplOptions>;
70
93
  manifestTransformed: typeof createDefaultDashManifestTransformer;
71
94
  mediaTimeline: (deps: BuildDashMediaTimelineDeps & {
72
95
  readonly manifestTransformed: ObservableValue<Promise<DashManifestData>>;
73
96
  }) => ObservableValue<Promise<import("../..").MediaTimeline>>;
74
97
  mediaTimelineTransformed: typeof createDefaultMediaTimelineTransformer;
75
- options: import("@amazon/vinyl-di").Factory<ObservableValue<{
76
- readonly abr: QualitySelectorImplOptions;
77
- readonly preferredAudioLanguage: string | null;
78
- }>>;
98
+ textTrackController: (deps: {
99
+ readonly media: HTMLMediaElement;
100
+ readonly manifestTransformed: ObservableValue<Promise<DashManifestData>>;
101
+ readonly options: ObservableValue<Pick<VinylOptions, "preferredTextLanguage" | "textCueStyle">>;
102
+ }) => SidecarTextTrackController;
103
+ options: import("@amazon/vinyl-di").Factory<ObservableValue<Pick<VinylOptions, "abr" | "preferredAudioLanguage" | "preferredTextLanguage" | "preferDescriptiveAudio" | "allowedContentTypes" | "textCueStyle">>>;
79
104
  playbackController: import("@amazon/vinyl-di").Factory<PlaybackController>;
80
105
  playbackSource: import("@amazon/vinyl-di").Factory<PlaybackSource>;
81
106
  drmKeySystemResolver: import("@amazon/vinyl-di").Factory<DrmKeySystemResolver>;
82
107
  requestInterceptor: import("@amazon/vinyl-di").Factory<RequestInterceptor>;
83
108
  drmController: import("@amazon/vinyl-di").Factory<DrmController>;
84
109
  capabilities: import("@amazon/vinyl-di").Factory<Capabilities>;
110
+ media: import("@amazon/vinyl-di").Factory<HTMLMediaElement>;
111
+ adController: import("@amazon/vinyl-di").Factory<AdController>;
85
112
  };
86
113
  //# sourceMappingURL=createDashFactories.d.ts.map
@@ -2,14 +2,9 @@ import type { ReadonlyPlaybackController } from '../../playback/ReadonlyPlayback
2
2
  import type { SegmentControllerImplOptions } from '../../streaming/SegmentControllerImpl';
3
3
  import { SegmentControllerImpl } from '../../streaming/SegmentControllerImpl';
4
4
  import type { ContentType } from '../../streaming/MediaQualityMetadata';
5
- import type { SegmentController } from '../../streaming/SegmentController';
6
5
  import type { ObservableValue } from '@amazon/vinyl-observable';
7
6
  import type { MediaTimeline } from '../../streaming/MediaTimeline';
8
7
  import type { QualitySelector } from '../../streaming/abr/QualitySelector';
9
- export type SegmentControllerFactory = (deps: {
10
- readonly mediaTimelineTransformed: ObservableValue<Promise<MediaTimeline>>;
11
- readonly qualitySelector: QualitySelector;
12
- }) => SegmentController;
13
8
  export interface SegmentControllerFactoryDeps {
14
9
  readonly playbackController: ReadonlyPlaybackController;
15
10
  }
@@ -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,25 +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
- get error(): (Error | null);
14
- refresh(): void;
15
- reset(): void;
16
- get value(): Promise<HlsManifestData>;
17
- get changeId(): number;
18
- getValue(): Promise<HlsManifestData>;
19
- onData(callback: (value: Promise<HlsManifestData>, previous?: Promise<HlsManifestData>) => void): () => void;
20
- map<U>(fn: (value: Promise<HlsManifestData>) => U): import("@amazon/vinyl-observable").MutableValue<U>;
21
- pick<K extends keyof NonNullable<Promise<HlsManifestData>>>(key: K): import("@amazon/vinyl-observable").MutableValue<Promise<HlsManifestData>[K]>;
22
- get disposed(): boolean;
23
- dispose(): void;
24
- }
25
4
  //# sourceMappingURL=HlsManifestController.d.ts.map
@@ -1,12 +1,10 @@
1
- import type { ReadonlyAbort } from '@amazon/vinyl-util';
2
- import type { MainPlaylist, MediaPlaylist } from '@amazon/vinyl-hls-parser';
3
- export type HlsManifestProvider = (abort?: ReadonlyAbort) => Promise<HlsManifestData>;
1
+ import type { HlsMainPlaylist, HlsMediaPlaylist } from '@amazon/vinyl-hls-parser';
4
2
  export interface HlsManifestData {
5
3
  /**
6
4
  * The main HLS playlist manifest.
7
5
  * Use getMediaPlaylist to resolve bitrate manifests.
8
6
  */
9
- readonly mainPlaylist: MainPlaylist;
7
+ readonly mainPlaylist: HlsMainPlaylist;
10
8
  /**
11
9
  * The URL to be used for relative requests. Guaranteed to be absolute.
12
10
  *
@@ -16,6 +14,6 @@ export interface HlsManifestData {
16
14
  /**
17
15
  * Lazily fetches and caches a media playlist by variant URI.
18
16
  */
19
- readonly getMediaPlaylist: (uri: string) => Promise<MediaPlaylist>;
17
+ readonly getMediaPlaylist: (uri: string) => Promise<HlsMediaPlaylist>;
20
18
  }
21
- //# sourceMappingURL=HlsManifestProvider.d.ts.map
19
+ //# sourceMappingURL=HlsManifestData.d.ts.map