@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
@@ -2,7 +2,7 @@
2
2
  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
- import { createDisposer, emptyRanges, equalDeep, EventHostImpl, logDebug, logInfo, redispatchEvents, } from '@amazon/vinyl-util';
5
+ import { createDisposer, emptyRanges, equalDeep, EventHostImpl, logDebug, logInfo, logWarn, redispatchEvents, } from '@amazon/vinyl-util';
6
6
  import { createContainer, } from '@amazon/vinyl-di';
7
7
  import { playerRegistryRef } from '../global/PlayerRegistry';
8
8
  import { ALL_PLAYBACK_STATE_EVENTS, } from '../playback/ReadonlyPlaybackController';
@@ -11,6 +11,8 @@ import { createVinylFactories } from './createVinylFactories';
11
11
  import { initializeVinylGlobal } from '../global/initializeVinylGlobal';
12
12
  import { ALL_CONTENT_TYPES, } from '../streaming/MediaQualityMetadata';
13
13
  import { ALL_STREAMING_EVENTS, } from '../streaming/StreamingEventMap';
14
+ import { ALL_TEXT_TRACK_EVENTS, } from '../text/TextTrack';
15
+ import { ALL_AD_EVENTS } from '../ad/AdController';
14
16
  /**
15
17
  * A Vinyl Media Player.
16
18
  *
@@ -59,61 +61,131 @@ export class VinylPlayer extends EventHostImpl {
59
61
  this.redispatchSubControllerEvents();
60
62
  this.redispatchCurrentTrackEvents();
61
63
  this.initializeAutoResetHandling();
62
- this.initializePreferredLanguageHandling();
63
64
  }
64
65
  redispatchSubControllerEvents() {
65
66
  const add = this.disposer.add;
66
67
  add(redispatchEvents(this, this.playbackController, ALL_PLAYBACK_STATE_EVENTS.filter(notResetEvent)));
67
68
  add(redispatchEvents(this, this.trackController, ALL_TRACK_CONTROLLER_EVENTS));
68
69
  add(redispatchEvents(this, this.drmController, ['error']));
70
+ // The shared DRM controller serves multiple tracks (active + preloaded),
71
+ // so it stamps each license span with the initiating track at the source
72
+ // (via its key session). Republish using that carried uri; drop spans
73
+ // whose track is unknown rather than misattribute them to whatever track
74
+ // happens to be current when the exchange resolves.
75
+ add(this.drmController.on('loadSpanMeasured', (measurement) => {
76
+ const trackUri = measurement.trackUri;
77
+ if (trackUri != null) {
78
+ this.dispatch('loadSpan', { ...measurement, trackUri });
79
+ }
80
+ }));
81
+ add(redispatchEvents(this, this.deps.adController, ALL_AD_EVENTS));
69
82
  this.on('error', (event) => {
70
83
  this._error = event.error;
71
84
  });
85
+ // A codec decode/append failure poisons the media pipeline; the track
86
+ // must be rebuilt (not merely reset) to recover. The failing codec has
87
+ // already been denylisted, so the reload selects a codec that decodes.
88
+ add(this.on('codecUnsupported', (event) => {
89
+ // While an ad is playing, the ad track owns the media pipeline;
90
+ // do not rebuild the content track out from under it.
91
+ if (this.deps.adController.currentAdBreak)
92
+ return;
93
+ logWarn(this, 'codec unsupported, reloading track:', event.mimeType);
94
+ this.trackController.reset(/* hard */ true);
95
+ }));
72
96
  }
73
97
  /**
74
98
  * Certain track events are redispatched on the player for the current track.
75
99
  */
76
100
  redispatchCurrentTrackEvents() {
77
101
  let sub = null;
102
+ let textSub = null;
103
+ let metricSub = null;
104
+ // Track currently redispatched, driven by trackActivated/Deactivated.
105
+ let activeTrack = null;
78
106
  const add = this.disposer.add;
79
- add(this.trackController.on('currentTrackChange', (event) => {
107
+ // Re-wires redispatch previous→current and emits the state changes
108
+ // (text, seek range, qualities).
109
+ const transition = (current) => {
110
+ const previous = activeTrack;
111
+ if (previous === current)
112
+ return;
113
+ activeTrack = current;
114
+ // Clear the previous track's caption selection (it may stay cached),
115
+ // before tearing down subs so activeTextTrackChange flows through.
116
+ // Skip during an ad break: the content will resume, and its caption
117
+ // selection must survive for resume() (deactivation only suspends
118
+ // it). Tracks expose ReadonlyTrack; the controller is a full one.
119
+ const prevTextController = previous?.textTrackController;
120
+ if (!this.deps.adController.currentAdBreak) {
121
+ prevTextController?.setActiveTextTrack(null);
122
+ }
80
123
  sub?.();
81
124
  sub = null;
82
- if (event.current) {
83
- sub = redispatchEvents(this, event.current, ALL_STREAMING_EVENTS.filter(notResetEvent));
125
+ textSub?.();
126
+ textSub = null;
127
+ metricSub?.();
128
+ metricSub = null;
129
+ if (current) {
130
+ sub = redispatchEvents(this, current, ALL_STREAMING_EVENTS.filter(notResetEvent).filter(notLoadSpanMeasuredEvent));
131
+ metricSub = current.on('loadSpanMeasured', (measurement) => this.dispatch('loadSpan', {
132
+ ...measurement,
133
+ // The track stamps its own uri at the source; fall
134
+ // back to the current track for any span that has
135
+ // not been attributed upstream.
136
+ trackUri: measurement.trackUri ?? current.uri,
137
+ }));
138
+ if (current.textTrackController) {
139
+ textSub = redispatchEvents(this, current.textTrackController, ALL_TEXT_TRACK_EVENTS);
140
+ }
84
141
  }
142
+ this.emitTextTrackChangeEventsFor(previous, current);
85
143
  this.dispatch('fetchedRangesChange', {});
144
+ this.dispatch('seekRangeChange', {
145
+ previous: previous?.seekRange ?? null,
146
+ current: current?.seekRange ?? null,
147
+ });
86
148
  // Emit a quality change event for every stream that has changed
87
149
  // for streaming, buffering, and playback
88
150
  for (const contentType of ALL_CONTENT_TYPES) {
89
- for (const [eventType, getterName,] of qualityEventsAndGetters) {
90
- const previous = event.previous?.[getterName](contentType) ?? null;
91
- const current = event.current?.[getterName](contentType) ?? null;
92
- if (previous !== current) {
151
+ for (const [eventType, getterName] of qualityEventsAndGetters) {
152
+ const previousQuality = previous?.[getterName](contentType) ?? null;
153
+ const currentQuality = current?.[getterName](contentType) ?? null;
154
+ if (previousQuality !== currentQuality) {
93
155
  this.dispatch(eventType, {
94
- previous,
95
- current,
156
+ previous: previousQuality,
157
+ current: currentQuality,
96
158
  });
97
159
  }
98
160
  }
99
161
  }
100
162
  // Emit qualities change events on track switch
101
- const prevQualities = event.previous?.qualities ?? null;
102
- const curQualities = event.current?.qualities ?? null;
163
+ const prevQualities = previous?.qualities ?? null;
164
+ const curQualities = current?.qualities ?? null;
103
165
  if (prevQualities !== curQualities && curQualities) {
104
166
  this.dispatch('qualitiesChange', {
105
167
  previous: prevQualities ?? [],
106
168
  current: curQualities,
107
169
  });
108
170
  }
109
- const prevUnfiltered = event.previous?.qualitiesUnfiltered ?? null;
110
- const curUnfiltered = event.current?.qualitiesUnfiltered ?? null;
171
+ const prevUnfiltered = previous?.qualitiesUnfiltered ?? null;
172
+ const curUnfiltered = current?.qualitiesUnfiltered ?? null;
111
173
  if (prevUnfiltered !== curUnfiltered && curUnfiltered) {
112
174
  this.dispatch('qualitiesUnfilteredChange', {
113
175
  previous: prevUnfiltered ?? [],
114
176
  current: curUnfiltered,
115
177
  });
116
178
  }
179
+ };
180
+ add(this.trackController.on('trackActivated', ({ track }) => transition(track)));
181
+ add(this.trackController.on('trackDeactivated', ({ track }) => {
182
+ // Clear to no-active-track only on a real teardown (unload). In
183
+ // an ad-swap the ad's trackActivated drives the transition, so
184
+ // skip to avoid an intermediate clear and preserve captions.
185
+ if (track === activeTrack &&
186
+ !this.deps.adController.currentAdBreak) {
187
+ transition(null);
188
+ }
117
189
  }));
118
190
  }
119
191
  initializeAutoResetHandling() {
@@ -127,16 +199,6 @@ export class VinylPlayer extends EventHostImpl {
127
199
  add(this.autoResetController.on('reset', () => this.reset()));
128
200
  add(this.autoResetController.on('resetPendingChange', (event) => this.dispatch('resetPendingChange', event)));
129
201
  }
130
- initializePreferredLanguageHandling() {
131
- const { add } = this.disposer;
132
- // When the preferred language changes, clear the prefetch to immediately switch.
133
- add(this.deps.options
134
- .pick('preferredAudioLanguage')
135
- .onData((_value, previous) => {
136
- if (previous !== undefined)
137
- this.clearPrefetch();
138
- }));
139
- }
140
202
  /**
141
203
  * Returns the current player options.
142
204
  * Use `configure` to set.
@@ -254,6 +316,13 @@ export class VinylPlayer extends EventHostImpl {
254
316
  get seekable() {
255
317
  return this.playbackController.seekable;
256
318
  }
319
+ /**
320
+ * The seekable range on the media timeline for the current track, or null
321
+ * when no track is loaded or the timeline is not yet resolved.
322
+ */
323
+ get seekRange() {
324
+ return this.activeTrack?.seekRange ?? null;
325
+ }
257
326
  get seeking() {
258
327
  return this.playbackController.seeking;
259
328
  }
@@ -275,7 +344,7 @@ export class VinylPlayer extends EventHostImpl {
275
344
  seekTo(time, tolerance) {
276
345
  return this.playbackController.seekTo(time, tolerance);
277
346
  }
278
- reset() {
347
+ reset(hard = false) {
279
348
  if (!this._error) {
280
349
  logDebug(this, 'reset no-op');
281
350
  return;
@@ -284,15 +353,15 @@ export class VinylPlayer extends EventHostImpl {
284
353
  this._error = null;
285
354
  this.drmController.reset();
286
355
  this.playbackController.reset();
287
- this.trackController.reset();
356
+ this.trackController.reset(hard);
288
357
  this.autoResetController.clear();
289
358
  this.dispatch('reset', {});
290
359
  }
291
360
  //----------------------------------------------------
292
361
  // TrackController delegate methods
293
362
  //----------------------------------------------------
294
- get currentTrack() {
295
- return this.trackController.currentTrack;
363
+ get activeTrack() {
364
+ return this.trackController.activeTrack;
296
365
  }
297
366
  get queue() {
298
367
  return this.trackController.queue;
@@ -343,7 +412,7 @@ export class VinylPlayer extends EventHostImpl {
343
412
  * Listen to {@link VinylPlayerEventMap.fetchedRangesChange} for changes.
344
413
  */
345
414
  get fetchedRanges() {
346
- return this.currentTrack?.fetchedRanges ?? emptyRanges;
415
+ return this.activeTrack?.fetchedRanges ?? emptyRanges;
347
416
  }
348
417
  /**
349
418
  * Returns the time of the prefetch end.
@@ -371,21 +440,21 @@ export class VinylPlayer extends EventHostImpl {
371
440
  * Returns the current content types for active streams.
372
441
  */
373
442
  get contentTypes() {
374
- return this.currentTrack?.contentTypes ?? emptyContentTypes;
443
+ return this.activeTrack?.contentTypes ?? emptyContentTypes;
375
444
  }
376
445
  /**
377
446
  * The available qualities for the current period of the current track, after filtering.
378
447
  * Null if no track is active or the timeline is not yet available.
379
448
  */
380
449
  get qualities() {
381
- return this.currentTrack?.qualities ?? null;
450
+ return this.activeTrack?.qualities ?? null;
382
451
  }
383
452
  /**
384
453
  * The available unfiltered qualities for the current period of the current track.
385
454
  * Null if no track is active or the timeline is not yet available.
386
455
  */
387
456
  get qualitiesUnfiltered() {
388
- return this.currentTrack?.qualitiesUnfiltered ?? null;
457
+ return this.activeTrack?.qualitiesUnfiltered ?? null;
389
458
  }
390
459
  /**
391
460
  * @deprecated Use `getStreamingQuality('audio')`
@@ -410,19 +479,122 @@ export class VinylPlayer extends EventHostImpl {
410
479
  * Note that this does not represent the quality of inactive preloading tracks.
411
480
  */
412
481
  getStreamingQuality(contentType) {
413
- return this.currentTrack?.getStreamingQuality(contentType) ?? null;
482
+ return this.activeTrack?.getStreamingQuality(contentType) ?? null;
414
483
  }
415
484
  /**
416
485
  * The currently buffering quality, or null if no data is buffered.
417
486
  */
418
487
  getBufferingQuality(contentType) {
419
- return this.currentTrack?.getBufferingQuality(contentType) ?? null;
488
+ return this.activeTrack?.getBufferingQuality(contentType) ?? null;
420
489
  }
421
490
  /**
422
491
  * The currently playing quality, or null if no media is playing.
423
492
  */
424
493
  getPlaybackQuality(contentType) {
425
- return this.currentTrack?.getPlaybackQuality(contentType) ?? null;
494
+ return this.activeTrack?.getPlaybackQuality(contentType) ?? null;
495
+ }
496
+ //----------------------------------------------------
497
+ // Text track delegate methods
498
+ //----------------------------------------------------
499
+ /**
500
+ * The list of currently discovered sidecar text tracks for the active
501
+ * media. Empty when there is no current track or the current track
502
+ * carries no text.
503
+ */
504
+ get textTracks() {
505
+ return this.activeTrack?.textTrackController?.textTracks ?? [];
506
+ }
507
+ /**
508
+ * The currently active text track, or null if no track is selected.
509
+ */
510
+ get activeTextTrack() {
511
+ return this.activeTrack?.textTrackController?.activeTextTrack ?? null;
512
+ }
513
+ /**
514
+ * Selects the text track with the given id, or clears the active text
515
+ * track when called with null. No-op when the current track does not
516
+ * surface text tracks or the id is unknown.
517
+ */
518
+ setActiveTextTrack(id) {
519
+ // activeTrack exposes ReadonlyTrack, but the concrete controller is a
520
+ // full TextTrackController.
521
+ const controller = this.deps.trackController.activeTrack
522
+ ?.textTrackController;
523
+ controller?.setActiveTextTrack(id);
524
+ }
525
+ emitTextTrackChangeEventsFor(previous, current) {
526
+ // Bridge signals that lack their own redispatched event at track
527
+ // boundaries. The current track's controller only emits
528
+ // activeTextTrackChange when a selection is *made*; on becoming current
529
+ // it never re-announces an already-active selection. That gap surfaces
530
+ // after an ad break: the content track's caption selection is preserved
531
+ // and re-rendered by resume() (silently), while the outgoing ad
532
+ // controller emits a clearing activeTextTrackChange(null) — leaving
533
+ // consumers that track state via events believing captions are off even
534
+ // though the (forced or user-selected) content caption is showing. Emit
535
+ // the current track's active selection so that final state is correct.
536
+ const prevList = previous?.textTrackController?.textTracks;
537
+ const curList = current?.textTrackController?.textTracks;
538
+ if (prevList !== curList) {
539
+ this.dispatch('textTracksChange', {
540
+ previous: prevList ?? [],
541
+ current: curList ?? [],
542
+ });
543
+ }
544
+ const prevActive = previous?.textTrackController?.activeTextTrack ?? null;
545
+ const curActive = current?.textTrackController?.activeTextTrack ?? null;
546
+ if (prevActive?.id !== curActive?.id) {
547
+ this.dispatch('activeTextTrackChange', {
548
+ previous: prevActive,
549
+ current: curActive,
550
+ });
551
+ }
552
+ }
553
+ //----------------------------------------------------
554
+ // Ad break delegate methods
555
+ //----------------------------------------------------
556
+ /**
557
+ * The current track's ad breaks.
558
+ *
559
+ * Listen to {@link AdEventMap.currentTrackAdsChange} for changes.
560
+ */
561
+ get currentTrackAds() {
562
+ return this.deps.adController.currentTrackAds;
563
+ }
564
+ /**
565
+ * The ad break currently containing the playhead, or null when the
566
+ * playhead is in primary content.
567
+ *
568
+ * Listen to {@link AdEventMap.adBreakEntered} and
569
+ * {@link AdEventMap.adBreakCompleted} for transitions.
570
+ */
571
+ get currentAdBreak() {
572
+ return this.deps.adController.currentAdBreak;
573
+ }
574
+ /**
575
+ * The ad currently playing within the active break, or null when the
576
+ * playhead is in primary content.
577
+ *
578
+ * Listen to {@link AdEventMap.adEntered} and {@link AdEventMap.adCompleted} for transitions.
579
+ */
580
+ get currentAd() {
581
+ return this.deps.adController.currentAd;
582
+ }
583
+ /**
584
+ * Skips the currently playing ad. If there are more ads in the break,
585
+ * the next ad begins; otherwise the break ends and content resumes.
586
+ * No-op when no ad break is active.
587
+ */
588
+ skipAd() {
589
+ this.deps.adController.skipAd();
590
+ }
591
+ /**
592
+ * Skips the entire active ad break, advancing past all remaining ads
593
+ * and resuming content playback.
594
+ * No-op when no ad break is active.
595
+ */
596
+ skipAdBreak() {
597
+ this.deps.adController.skipAdBreak();
426
598
  }
427
599
  //----------------------------------------------------
428
600
  /**
@@ -462,6 +634,14 @@ export function createVinylPlayer(options, factoryOverrides) {
462
634
  function notResetEvent(type) {
463
635
  return type !== 'reset';
464
636
  }
637
+ /**
638
+ * The player republishes `loadSpanMeasured` as the attributed `loadSpan`
639
+ * event rather than redispatching the raw, unattributed measurement.
640
+ * @param type
641
+ */
642
+ function notLoadSpanMeasuredEvent(type) {
643
+ return type !== 'loadSpanMeasured';
644
+ }
465
645
  const qualityEventsAndGetters = [
466
646
  ['streamingQualityChange', 'getStreamingQuality'],
467
647
  ['bufferingQualityChange', 'getBufferingQuality'],
@@ -11,6 +11,7 @@ import type { TrackControllerImplDeps, TrackControllerImplOptions } from '../tra
11
11
  import { TrackControllerImpl } from '../track/TrackController';
12
12
  import type { VinylPatchOptions } from './VinylPatchOptions';
13
13
  import { type QualitySelectorImplOptions } from '../streaming/abr/QualitySelectorImpl';
14
+ import { AdControllerImpl, type AdControllerImplDeps, type AdControllerImplOptions } from '../ad/AdControllerImpl';
14
15
  import { type DrmOptions } from '../drm/DrmOptions';
15
16
  import { commonEmeFactory } from '../drm/commonEme/CommonEmeFactory';
16
17
  import { DrmControllerImpl, type DrmControllerImplDeps } from '../drm/DrmControllerImpl';
@@ -20,6 +21,7 @@ import type { Dependencies, Factories } from '@amazon/vinyl-di';
20
21
  import type { ContentStreamingOptions } from '../streaming/ContentStreamingOptions';
21
22
  import { type VinylOptions } from './VinylOptions';
22
23
  import type { ObservableValue } from '@amazon/vinyl-observable';
24
+ import { defaultAdLoadOptionsResolver } from '../ad/defaultAdLoadOptionsResolver';
23
25
  /**
24
26
  * Configuration used by the default dependency factories for Vinyl.
25
27
  *
@@ -60,6 +62,10 @@ export interface VinylDependencyOptions {
60
62
  * Configuration for auto-reset behavior.
61
63
  */
62
64
  readonly autoReset?: Partial<AutoResetControllerImplOptions>;
65
+ /**
66
+ * Configuration for the ad controller.
67
+ */
68
+ readonly adController?: Partial<AdControllerImplOptions>;
63
69
  }
64
70
  /**
65
71
  * Creates the dependency factories for a standard player.
@@ -82,19 +88,22 @@ export declare function createVinylFactories(options: VinylDependencyOptions): N
82
88
  capabilities: (deps: CapabilitiesImplDeps) => CapabilitiesImpl;
83
89
  requestInterceptor: () => typeof noop;
84
90
  trackFactory: (deps: VinylTrackFactoryDeps) => import("..").TrackFactory<import("..").SourceObjectTrackLoadOptions | import("..").SourceTrackLoadOptions | import("..").DashTrackLoadOptions | import("..").HlsTrackLoadOptions>;
91
+ adTrackLoadOptionsProvider: () => typeof defaultAdLoadOptionsResolver;
85
92
  trackController: (deps: TrackControllerImplDeps<any>) => TrackControllerImpl<any>;
86
93
  drmKeySystemResolver: () => import("..").DrmKeySystemResolver;
87
94
  drmController: (deps: DrmControllerImplDeps) => DrmControllerImpl;
88
95
  commonEme: typeof commonEmeFactory;
89
96
  autoResetController: (deps: AutoResetControllerImplDeps) => AutoResetControllerImpl;
97
+ adController: (deps: AdControllerImplDeps) => AdControllerImpl;
90
98
  createDashFactories: (deps: import("..").DashFactoryDeps) => (loadOptions: import("..").DashTrackLoadOptions) => NoInfer<{
91
- contentTypesValue: typeof import("..").createDashContentTypesValue;
99
+ baseContentTypesValue: typeof import("..").createDashContentTypesValue;
100
+ contentTypesValue: typeof import("..").createAllowedContentTypesValue;
92
101
  baseUrlSelector: () => import("..").BaseUrlSelector;
93
102
  segmentRequestInit: () => import("@amazon/vinyl-util").Maybe<Readonly<Omit<RequestInit, "signal">>>;
94
103
  manifestProvider: (deps: {
95
104
  readonly requestInterceptor: import("@amazon/vinyl-util").RequestInterceptor;
96
105
  }) => import("..").DashManifestProvider;
97
- manifestController: (deps: import("..").DashManifestControllerImplDeps) => import("..").DashManifestController;
106
+ manifestController: (deps: import("..").ManifestControllerImplDeps<import("..").DashManifestData>) => import("..").ManifestControllerImpl<import("..").DashManifestData>;
98
107
  mediaSourceFactory: () => typeof import("..").createMediaSource;
99
108
  mediaQualityMetadataResolver: (deps: import("..").DashMediaQualityMetadataResolverDeps) => import("..").DashMediaQualityMetadataResolver;
100
109
  mediaSourceController: (deps: import("..").MediaSourceControllerImplDeps) => import("..").MediaSourceControllerImpl;
@@ -111,25 +120,43 @@ export declare function createVinylFactories(options: VinylDependencyOptions): N
111
120
  qualitySelector: (deps: {
112
121
  options: ObservableValue<Pick<VinylOptions, "abr">>;
113
122
  }) => import("..").QualitySelectorImpl;
123
+ preferredAudioLanguage: (deps: {
124
+ options: ObservableValue<Pick<VinylOptions, "preferredAudioLanguage">>;
125
+ }) => ObservableValue<string | readonly string[] | null>;
126
+ allowedContentTypes: (deps: {
127
+ options: ObservableValue<Pick<VinylOptions, "allowedContentTypes">>;
128
+ }) => ObservableValue<readonly import("..").RestrictableContentType[] | null>;
129
+ preferDescriptiveAudio: (deps: {
130
+ options: ObservableValue<Pick<VinylOptions, "preferDescriptiveAudio">>;
131
+ }) => ObservableValue<boolean>;
132
+ abr: (deps: {
133
+ options: ObservableValue<Pick<VinylOptions, "abr">>;
134
+ }) => ObservableValue<QualitySelectorImplOptions>;
114
135
  manifestTransformed: typeof import("..").createDefaultDashManifestTransformer;
115
136
  mediaTimeline: (deps: import("..").BuildDashMediaTimelineDeps & {
116
137
  readonly manifestTransformed: ObservableValue<Promise<import("..").DashManifestData>>;
117
138
  }) => ObservableValue<Promise<import("..").MediaTimeline>>;
118
139
  mediaTimelineTransformed: typeof import("..").createDefaultMediaTimelineTransformer;
119
- options: import("@amazon/vinyl-di").Factory<ObservableValue<{
120
- readonly abr: QualitySelectorImplOptions;
121
- readonly preferredAudioLanguage: string | null;
122
- }>>;
140
+ textTrackController: (deps: {
141
+ readonly media: HTMLMediaElement;
142
+ readonly manifestTransformed: ObservableValue<Promise<import("..").DashManifestData>>;
143
+ readonly options: ObservableValue<Pick<VinylOptions, "preferredTextLanguage" | "textCueStyle">>;
144
+ }) => import("..").SidecarTextTrackController;
145
+ options: import("@amazon/vinyl-di").Factory<ObservableValue<Pick<VinylOptions, "abr" | "preferredAudioLanguage" | "preferredTextLanguage" | "preferDescriptiveAudio" | "allowedContentTypes" | "textCueStyle">>>;
123
146
  playbackController: import("@amazon/vinyl-di").Factory<import("..").PlaybackController>;
124
147
  playbackSource: import("@amazon/vinyl-di").Factory<import("..").PlaybackSource>;
125
148
  drmKeySystemResolver: import("@amazon/vinyl-di").Factory<import("..").DrmKeySystemResolver>;
126
149
  requestInterceptor: import("@amazon/vinyl-di").Factory<import("@amazon/vinyl-util").RequestInterceptor>;
127
150
  drmController: import("@amazon/vinyl-di").Factory<import("..").DrmController>;
128
151
  capabilities: import("@amazon/vinyl-di").Factory<import("..").Capabilities>;
152
+ media: import("@amazon/vinyl-di").Factory<HTMLMediaElement>;
153
+ adController: import("@amazon/vinyl-di").Factory<import("..").AdController>;
129
154
  }>;
130
155
  createHlsFactories: (deps: import("..").HlsFactoryDeps) => (loadOptions: import("..").HlsTrackLoadOptions) => NoInfer<{
131
- contentTypesValue: typeof import("..").createHlsContentTypesValue;
132
- manifestController: () => import("..").HlsManifestControllerImpl;
156
+ baseContentTypesValue: typeof import("..").createHlsContentTypesValue;
157
+ contentTypesValue: typeof import("..").createAllowedContentTypesValue;
158
+ manifestProvider: () => import("..").HlsManifestProvider;
159
+ manifestController: (deps: import("..").ManifestControllerImplDeps<import("..").HlsManifestData>) => import("..").ManifestControllerImpl<import("..").HlsManifestData>;
133
160
  manifestTransformed: typeof import("..").createDefaultHlsManifestTransformer;
134
161
  mediaQualityMetadataResolver: () => import("..").HlsMediaQualityMetadataResolver;
135
162
  mediaSourceFactory: () => typeof import("..").createMediaSource;
@@ -148,20 +175,36 @@ export declare function createVinylFactories(options: VinylDependencyOptions): N
148
175
  qualitySelector: (deps: {
149
176
  options: ObservableValue<Pick<VinylOptions, "abr">>;
150
177
  }) => import("..").QualitySelectorImpl;
178
+ preferredAudioLanguage: (deps: {
179
+ options: ObservableValue<Pick<VinylOptions, "preferredAudioLanguage">>;
180
+ }) => ObservableValue<string | readonly string[] | null>;
181
+ allowedContentTypes: (deps: {
182
+ options: ObservableValue<Pick<VinylOptions, "allowedContentTypes">>;
183
+ }) => ObservableValue<readonly import("..").RestrictableContentType[] | null>;
184
+ preferDescriptiveAudio: (deps: {
185
+ options: ObservableValue<Pick<VinylOptions, "preferDescriptiveAudio">>;
186
+ }) => ObservableValue<boolean>;
187
+ abr: (deps: {
188
+ options: ObservableValue<Pick<VinylOptions, "abr">>;
189
+ }) => ObservableValue<QualitySelectorImplOptions>;
151
190
  mediaTimeline: (deps: import("..").BuildHlsMediaTimelineDeps & {
152
191
  readonly manifestTransformed: ObservableValue<Promise<import("..").HlsManifestData>>;
153
192
  }) => ObservableValue<Promise<import("..").MediaTimeline>>;
154
193
  mediaTimelineTransformed: typeof import("..").createDefaultMediaTimelineTransformer;
155
- options: import("@amazon/vinyl-di").Factory<ObservableValue<{
156
- readonly abr: QualitySelectorImplOptions;
157
- readonly preferredAudioLanguage: string | null;
158
- }>>;
194
+ textTrackController: (deps: {
195
+ readonly media: HTMLMediaElement;
196
+ readonly manifestTransformed: ObservableValue<Promise<import("..").HlsManifestData>>;
197
+ readonly options: ObservableValue<Pick<VinylOptions, "preferredTextLanguage" | "textCueStyle">>;
198
+ }) => import("..").SidecarTextTrackController;
199
+ options: import("@amazon/vinyl-di").Factory<ObservableValue<Pick<VinylOptions, "abr" | "preferredAudioLanguage" | "preferredTextLanguage" | "preferDescriptiveAudio" | "allowedContentTypes" | "textCueStyle">>>;
159
200
  playbackController: import("@amazon/vinyl-di").Factory<import("..").PlaybackController>;
160
201
  playbackSource: import("@amazon/vinyl-di").Factory<import("..").PlaybackSource>;
161
202
  drmKeySystemResolver: import("@amazon/vinyl-di").Factory<import("..").DrmKeySystemResolver>;
162
203
  requestInterceptor: import("@amazon/vinyl-di").Factory<import("@amazon/vinyl-util").RequestInterceptor>;
163
204
  drmController: import("@amazon/vinyl-di").Factory<import("..").DrmController>;
164
205
  capabilities: import("@amazon/vinyl-di").Factory<import("..").Capabilities>;
206
+ media: import("@amazon/vinyl-di").Factory<HTMLMediaElement>;
207
+ adController: import("@amazon/vinyl-di").Factory<import("..").AdController>;
165
208
  }>;
166
209
  }>;
167
210
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"createVinylFactories.d.ts","sourceRoot":"","sources":["../../../../src/vinyl/createVinylFactories.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createVinylFactories.d.ts","sourceRoot":"","sources":["../../../../src/vinyl/createVinylFactories.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ import { createVinylTrackFactories, } from '../track/createVinylTrackFactories';
11
11
  import { TrackControllerImpl } from '../track/TrackController';
12
12
  import { createTrackFactory } from '../track/TrackFactory';
13
13
  import { defaultPatchOptions } from './VinylPatchOptions';
14
+ import { AdControllerImpl, } from '../ad/AdControllerImpl';
14
15
  import { createDashFactories } from '../track/dash/createDashFactories';
15
16
  import { createHlsFactories } from '../track/hls/createHlsFactories';
16
17
  import { commonEmeFactory } from '../drm/commonEme/CommonEmeFactory';
@@ -21,6 +22,7 @@ import { AutoResetControllerImpl, } from '../track/AutoResetController';
21
22
  import { validateFactories } from '@amazon/vinyl-di';
22
23
  import { defaultVinylOptions, vinylOptionsValidator, } from './VinylOptions';
23
24
  import { playerConfigFactory } from './playerConfigFactory';
25
+ import { defaultAdLoadOptionsResolver } from '../ad/defaultAdLoadOptionsResolver';
24
26
  /**
25
27
  * Creates the dependency factories for a standard player.
26
28
  *
@@ -46,11 +48,13 @@ export function createVinylFactories(options) {
46
48
  capabilities: (deps) => new CapabilitiesImpl(deps),
47
49
  requestInterceptor: () => noop,
48
50
  trackFactory: (deps) => createTrackFactory(createVinylTrackFactories(deps)),
51
+ adTrackLoadOptionsProvider: () => defaultAdLoadOptionsResolver,
49
52
  trackController: (deps) => new TrackControllerImpl(deps, options.trackController),
50
53
  drmKeySystemResolver: () => defaultDrmKeySystemResolver,
51
54
  drmController: (deps) => new DrmControllerImpl(deps, options.drm),
52
55
  commonEme: commonEmeFactory,
53
56
  autoResetController: (deps) => new AutoResetControllerImpl(deps, options.autoReset),
57
+ adController: (deps) => new AdControllerImpl(deps, options.adController),
54
58
  createDashFactories: createDashFactories(options),
55
59
  createHlsFactories: createHlsFactories(options),
56
60
  });