@amazon/vinyl 1.2.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 +16 -16
  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
@@ -3,45 +3,67 @@ import { PlaybackController } from '../playback/PlaybackController';
3
3
  import { ReadonlyTrack, TrackUri } from './Track';
4
4
  import { TrackFactory, TrackLoadOptions } from './TrackFactory';
5
5
  import { ChangeEvent } from '../event/ChangeEvent';
6
+ import { AdController } from '../ad/AdController';
7
+ import { 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
  get options(): TrackControllerImplOptions;
186
216
  /**
187
217
  * Configures this track queue from the provided partial options.
@@ -198,7 +228,7 @@ export declare class TrackControllerImpl<TrackLoadOptionsType extends TrackLoadO
198
228
  * Returns the subset of the queue that should be prefetched.
199
229
  * @private
200
230
  */
201
- private get prefetched();
231
+ private getPrefetched;
202
232
  isTrackCached(uri: TrackUri): boolean;
203
233
  getCachedTrack(uri: TrackUri): ReadonlyTrack | null;
204
234
  getCachedTracks(): IterableIterator<ReadonlyTrack>;
@@ -206,6 +236,16 @@ export declare class TrackControllerImpl<TrackLoadOptionsType extends TrackLoadO
206
236
  private validateLoadOptions;
207
237
  preload(...loadOptionsList: readonly TrackLoadOptionsType[]): void;
208
238
  private _preload;
239
+ private preloadPrerollAds;
240
+ /**
241
+ * Warms the ad tracks for an approaching midroll/postroll break (driven by
242
+ * the ad controller's `adPreload`). Best-effort: an ad-list or ad-options
243
+ * failure is logged, not thrown. The break is imminent, so its ad tracks
244
+ * get a prefetch priority above the current content prefetch window.
245
+ */
246
+ private preloadBreakAds;
247
+ /** Preloads an ad for a parent track. Aborts if the parent track is disposed before the ad load options resolve. **/
248
+ private preloadAd;
209
249
  load(...loadOptionsList: readonly TrackLoadOptionsType[]): void;
210
250
  unload(): void;
211
251
  enqueue(...loadOptionsList: readonly TrackLoadOptionsType[]): void;
@@ -218,25 +258,50 @@ export declare class TrackControllerImpl<TrackLoadOptionsType extends TrackLoadO
218
258
  * If the given track id is the current track or in the cache, returns that track.
219
259
  * Otherwise, constructs a new track, adds it to the cache, and returns it.
220
260
  *
221
- * @param uri The unique resource identifier.
222
261
  * @param loadOptions
223
262
  * @private
224
263
  */
225
264
  private getOrCreateTrack;
226
265
  /**
227
- * Get the current track from cache or create a new track, then activates that track.
266
+ * Gets the cached ad track, or creates a new one and sets it in the
267
+ * parent track mapping.
268
+ * When the parent track is disposed, this ad track will be as well.
269
+ *
270
+ * @param parentUri The URI of the parent track.
271
+ * @param loadOptions
272
+ * @private
228
273
  */
229
- private activateCurrent;
230
- private _currentTrack;
231
- get currentTrack(): (ReadonlyTrack | null);
274
+ private getOrCreateAdTrack;
275
+ /**
276
+ * Sets the current track and following queue.
277
+ *
278
+ * If the given track is already current, it will be de-activated and re-activated and the
279
+ * trackDeactivated/trackActivated events will still be emitted. The same track may be in the
280
+ * queue multiple times.
281
+ */
282
+ private setQueue;
283
+ private get currentTrackIsAdTrack();
232
284
  /**
233
- * Sets the current track. If the given track is already current, it will be de-activated and re-activated and
234
- * the currentTrackChange event will still be emitted.
235
- * The same track may be in the queue multiple times.
285
+ * Sets the active track.
286
+ * This may either be a content track created from `setQueue` or an ad track created from `adEntered`.
287
+ *
288
+ * @param newTrack
289
+ * @param options
290
+ * @private
236
291
  */
237
292
  private setCurrentTrack;
238
- private clearCurrentTrack;
239
- reset(): void;
293
+ /**
294
+ * Disposes all preloaded ad tracks belonging to the given parent content
295
+ * URI and drops the parent's entry from the ad map.
296
+ */
297
+ private disposeAdTracksFor;
298
+ /**
299
+ * Returns a callback that returns true if the queue has changed or the controller disposed.
300
+ */
301
+ private getQueueInterrupted;
302
+ get activeTrack(): (ReadonlyTrack | null);
303
+ reset(hard?: boolean): void;
304
+ get disposed(): boolean;
240
305
  dispose(): void;
241
306
  }
242
307
  //# sourceMappingURL=TrackController.d.ts.map
@@ -1,6 +1,7 @@
1
- import { AnyRecord, Maybe, ReadonlyRecord } from '@amazon/vinyl-util';
1
+ import { Maybe, ReadonlyRecord } from '@amazon/vinyl-util';
2
2
  import { ObjectSchema } from '@amazon/vinyl-validation';
3
3
  import { Track, TrackTypeId, TrackUri } from './Track';
4
+ import { 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 { DashManifestData, DashManifestProvider } from './DashManifestProvider';
2
1
  import { ManifestController } from '../../streaming/ManifestController';
2
+ import { 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 { TrackBaseOptions } from '../TrackBase';
2
- import { DashManifestProvider, DashManifestData } from './DashManifestProvider';
3
- import { DashManifestController } from './DashManifestController';
4
- import { TrackFactory, TrackLoadOptions } from '../TrackFactory';
1
+ import { DashManifestData, DashManifestProvider } from './DashManifestProvider';
2
+ import { TrackConfigOptions, TrackFactory, TrackLoadOptions } from '../TrackFactory';
5
3
  import { ObservableValue } from '@amazon/vinyl-observable';
6
4
  import { Maybe, RequestInitOptions } from '@amazon/vinyl-util';
7
5
  import { Factories } from '@amazon/vinyl-di';
8
6
  import { DashMediaQualityMetadataResolver } from './DashMediaQualityMetadataResolver';
9
7
  import { MseTrackDeps } from '../mse/MseTrack';
10
8
  import { MediaTimeline } from '../../streaming/MediaTimeline';
9
+ import { 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 { DashMediaQualityMetadataResolverDeps } from './DashMediaQualityMetadataResolver';
6
6
  import { MediaSourceControllerImpl, MediaSourceControllerImplDeps } from '../../streaming/buffering/MediaSourceController';
7
7
  import { PlaybackController } from '../../playback/PlaybackController';
8
- import { DashManifestController, DashManifestControllerImplDeps } from './DashManifestController';
9
8
  import { DrmKeySystemResolver } from '../../drm/DrmKeySystemResolver';
10
9
  import { DrmController } from '../../drm/DrmController';
11
10
  import { Capabilities } from '../../client/Capabilities';
12
- import { QualitySelectorImpl, QualitySelectorImplOptions } from '../../streaming/abr/QualitySelectorImpl';
11
+ import { QualitySelectorImpl } from '../../streaming/abr/QualitySelectorImpl';
13
12
  import { PlaybackSource } from '../../playback/PlaybackSource';
14
13
  import { createContentStreamFactory } from '../../streaming/ContentStream';
15
14
  import { ContentStreamingOptions } from '../../streaming/ContentStreamingOptions';
16
15
  import { createDashContentTypesValue } from './createDashContentTypesValue';
16
+ import { createAllowedContentTypesValue } from '../../streaming/createAllowedContentTypesValue';
17
17
  import { ObservableValue } from '@amazon/vinyl-observable';
18
18
  import { VinylOptions } from '../../vinyl/VinylOptions';
19
19
  import { BuildDashMediaTimelineDeps } from './buildDashMediaTimeline';
20
20
  import { createDefaultMediaTimelineTransformer } from '../../streaming/createDefaultMediaTimelineTransformer';
21
21
  import { DashManifestData } from './DashManifestProvider';
22
+ import { SidecarTextTrackController } from '../../text/SidecarTextTrackController';
23
+ import { AdController } from '../../ad/AdController';
24
+ import { ManifestControllerImpl, 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 { ReadonlyPlaybackController } from '../../playback/ReadonlyPlaybackController';
2
2
  import { SegmentControllerImpl, SegmentControllerImplOptions } from '../../streaming/SegmentControllerImpl';
3
3
  import { ContentType } from '../../streaming/MediaQualityMetadata';
4
- import { SegmentController } from '../../streaming/SegmentController';
5
4
  import { ObservableValue } from '@amazon/vinyl-observable';
6
5
  import { MediaTimeline } from '../../streaming/MediaTimeline';
7
6
  import { 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,25 +1,4 @@
1
1
  import { ManifestController } from '../../streaming/ManifestController';
2
- import { HlsManifestData, HlsManifestProvider } from './HlsManifestProvider';
2
+ import { 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 { 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
@@ -1,20 +1,19 @@
1
1
  import { Maybe, RequestInitOptions } from '@amazon/vinyl-util';
2
- import { TrackLoadOptions, TrackFactory } from '../TrackFactory';
3
- import { TrackBaseOptions } from '../TrackBase';
4
- import { HlsManifestProvider } from './HlsManifestProvider';
2
+ import { TrackConfigOptions, TrackFactory, TrackLoadOptions } from '../TrackFactory';
5
3
  import { HlsManifestController } from './HlsManifestController';
6
- import { HlsManifestData } from './HlsManifestProvider';
4
+ import { HlsManifestData } from './HlsManifestData';
7
5
  import { HlsMediaQualityMetadataResolver } from './HlsMediaQualityMetadataResolver';
8
6
  import { MseTrackDeps } from '../mse/MseTrack';
9
7
  import { Factories } from '@amazon/vinyl-di';
10
8
  import { ObservableValue } from '@amazon/vinyl-observable';
11
9
  import { MediaTimeline } from '../../streaming/MediaTimeline';
10
+ import { ManifestProvider } from '../../streaming/ManifestController';
12
11
  export interface HlsTrackLoadOptions extends TrackLoadOptions {
13
12
  readonly type: 'hls';
14
- readonly manifestProvider?: Maybe<HlsManifestProvider>;
13
+ readonly manifestProvider?: Maybe<ManifestProvider<HlsManifestData>>;
15
14
  readonly requestInit?: Maybe<RequestInitOptions>;
16
15
  readonly segmentRequestInit?: Maybe<RequestInitOptions>;
17
- readonly config?: Maybe<TrackBaseOptions>;
16
+ readonly config?: Maybe<TrackConfigOptions>;
18
17
  }
19
18
  export interface HlsTrackDeps extends MseTrackDeps {
20
19
  readonly manifestController: HlsManifestController;
@@ -1,4 +1,4 @@
1
- import { HlsManifestData } from './HlsManifestProvider';
1
+ import { HlsManifestData } from './HlsManifestData';
2
2
  import { HlsMediaQualityMetadataResolver } from './HlsMediaQualityMetadataResolver';
3
3
  import { MediaTimeline } from '../../streaming/MediaTimeline';
4
4
  import { CreateSegmentDataProviderDeps } from '../createSegmentDataProvider';
@@ -8,6 +8,13 @@ export interface BuildHlsMediaTimelineDeps extends CreateSegmentDataProviderDeps
8
8
  /**
9
9
  * Builds a MediaTimeline from an HLS manifest.
10
10
  * HLS has a single implicit period spanning the full duration.
11
+ *
12
+ * Audio is modeled per source: a variant that carries muxed audio (no separate
13
+ * AUDIO rendition group) contributes an audio quality on its own playlist, while
14
+ * a variant with a demuxed audio group contributes video only — one audio
15
+ * quality is created per AUDIO rendition in the group, each carrying that
16
+ * rendition's language and playlist. Modeling every language as its own audio
17
+ * quality is what lets the timeline's language filter select among them.
11
18
  */
12
19
  export declare function buildHlsMediaTimeline(deps: BuildHlsMediaTimelineDeps, data: HlsManifestData): MediaTimeline;
13
20
  //# sourceMappingURL=buildHlsMediaTimeline.d.ts.map
@@ -1,5 +1,5 @@
1
1
  import { ObservableValue } from '@amazon/vinyl-observable';
2
- import { HlsManifestData } from './HlsManifestProvider';
2
+ import { HlsManifestData } from './HlsManifestData';
3
3
  export interface HlsManifestTransformerDeps {
4
4
  readonly manifestController: ObservableValue<Promise<HlsManifestData>>;
5
5
  }
@@ -1,6 +1,6 @@
1
1
  import { ContentTypesValue } from '../../streaming/ContentTypesValue';
2
2
  import { ObservableValue } from '@amazon/vinyl-observable';
3
- import { HlsManifestData } from './HlsManifestProvider';
3
+ import { HlsManifestData } from './HlsManifestData';
4
4
  export interface HlsContentTypesValueDeps {
5
5
  readonly manifestTransformed: ObservableValue<Promise<HlsManifestData>>;
6
6
  }