@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
@@ -0,0 +1,6 @@
1
+ import { ErrorLevel, ReportableError } from '@amazon/vinyl-util';
2
+ export declare class AdError extends ReportableError {
3
+ get [Symbol.toStringTag](): string;
4
+ constructor(message: string, origin?: string, level?: ErrorLevel);
5
+ }
6
+ //# sourceMappingURL=AdError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdError.d.ts","sourceRoot":"","sources":["../../../../src/ad/AdError.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAe,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAE7E,qBAAa,OAAQ,SAAQ,eAAe;IACxC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAEjC;gBAGG,OAAO,EAAE,MAAM,EACf,MAAM,GAAE,MAA0B,EAClC,KAAK,GAAE,UAA6B;CAK3C"}
@@ -0,0 +1,14 @@
1
+ /*
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ import { ErrorLevel, ErrorOrigin, ReportableError } from '@amazon/vinyl-util';
6
+ export class AdError extends ReportableError {
7
+ get [Symbol.toStringTag]() {
8
+ return 'AdError';
9
+ }
10
+ constructor(message, origin = ErrorOrigin.MEDIA, level = ErrorLevel.FATAL) {
11
+ super(message, origin, level);
12
+ Object.setPrototypeOf(this, AdError.prototype);
13
+ }
14
+ }
@@ -0,0 +1,28 @@
1
+ import type { AnyRecord, ReadonlyEventHost } from '@amazon/vinyl-util';
2
+ import type { TrackAds } from './AdBreakInfo';
3
+ /**
4
+ * Events dispatched by an {@link AdsProvider}.
5
+ */
6
+ export interface AdsProviderEventMap {
7
+ /**
8
+ * The set of ads has changed; consumers should re-read via
9
+ * {@link AdsProvider.getAds}.
10
+ */
11
+ readonly adsChange: AnyRecord;
12
+ }
13
+ /**
14
+ * The minimal surface an {@link AdController} needs to source its ad breaks:
15
+ * a resolver for the current break list, plus an `adsChange` event to signal
16
+ * when that list changes. A {@link ReadonlyTrack} satisfies this directly, so
17
+ * the current playing track can be passed as-is; applications may also
18
+ * implement it to supply ads out of band (e.g. from an external ad server).
19
+ */
20
+ export interface AdsProvider extends ReadonlyEventHost<AdsProviderEventMap> {
21
+ /**
22
+ * Resolves to the provider's current ad breaks. The result may change over
23
+ * the provider's lifetime; each `adsChange` event indicates that a
24
+ * subsequent call may return different breaks.
25
+ */
26
+ getAds(): Promise<TrackAds>;
27
+ }
28
+ //# sourceMappingURL=AdsProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdsProvider.d.ts","sourceRoot":"","sources":["../../../../src/ad/AdsProvider.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAE7C;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;CAChC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,WAAY,SAAQ,iBAAiB,CAAC,mBAAmB,CAAC;IACvE;;;;OAIG;IACH,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAA;CAC9B"}
@@ -0,0 +1,5 @@
1
+ /*
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ export {};
@@ -0,0 +1,12 @@
1
+ import type { AdInfo } from './AdBreakInfo';
2
+ import type { VinylTrackLoadOptions } from '../track/createVinylTrackFactories';
3
+ import { ReportableError } from '@amazon/vinyl-util';
4
+ export declare function defaultAdLoadOptionsResolver(adInfo: AdInfo): Promise<VinylTrackLoadOptions>;
5
+ /**
6
+ * An error indicating that a method was called with illegal arguments.
7
+ */
8
+ export declare class UnresolvableAdError extends ReportableError {
9
+ get [Symbol.toStringTag](): string;
10
+ constructor(message: string);
11
+ }
12
+ //# sourceMappingURL=defaultAdLoadOptionsResolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaultAdLoadOptionsResolver.d.ts","sourceRoot":"","sources":["../../../../src/ad/defaultAdLoadOptionsResolver.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAE3C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAA;AAC/E,OAAO,EAAe,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEjE,wBAAsB,4BAA4B,CAC9C,MAAM,EAAE,MAAM,GACf,OAAO,CAAC,qBAAqB,CAAC,CAShC;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,eAAe;IACpD,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAEjC;gBAEW,OAAO,EAAE,MAAM;CAI9B"}
@@ -0,0 +1,26 @@
1
+ /*
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ import { createTrackLoadOptionsFromUrl } from '../track/inferLoadOptionsFromUri';
6
+ import { ErrorOrigin, ReportableError } from '@amazon/vinyl-util';
7
+ export async function defaultAdLoadOptionsResolver(adInfo) {
8
+ if (!adInfo.uri)
9
+ throw new UnresolvableAdError('Ad with no URI cannot be played');
10
+ const loadOptions = await createTrackLoadOptionsFromUrl(adInfo.uri);
11
+ if (!loadOptions)
12
+ throw new UnresolvableAdError(`could not infer ad track type from uri ${adInfo.uri}`);
13
+ return loadOptions;
14
+ }
15
+ /**
16
+ * An error indicating that a method was called with illegal arguments.
17
+ */
18
+ export class UnresolvableAdError extends ReportableError {
19
+ get [Symbol.toStringTag]() {
20
+ return 'UnresolvableAdError';
21
+ }
22
+ constructor(message) {
23
+ super(message, ErrorOrigin.MEDIA);
24
+ Object.setPrototypeOf(this, UnresolvableAdError.prototype);
25
+ }
26
+ }
@@ -0,0 +1,22 @@
1
+ import type { HlsMediaPlaylist } from '@amazon/vinyl-hls-parser';
2
+ import type { AdBreakList } from './AdBreakInfo';
3
+ /**
4
+ * Discovers HLS Interstitial ad breaks from a parsed media playlist and maps
5
+ * them to the provider-agnostic {@link AdBreakInfo} model.
6
+ *
7
+ * HLS Interstitials (Apple's SGAI primitive) are carried as EXT-X-DATERANGE
8
+ * tags with `CLASS="com.apple.hls.interstitial"`. Each such range is anchored
9
+ * to a wall-clock `START-DATE`; this function converts that to a media-timeline
10
+ * start time by correlating it with the playlist's EXT-X-PROGRAM-DATE-TIME
11
+ * anchor. When the playlist carries no program date-time, and the range's
12
+ * start-date is not otherwise resolvable, the break is anchored to the start of
13
+ * the timeline (pre-roll) as a best effort.
14
+ *
15
+ * @param playlist The parsed HLS media playlist.
16
+ * @param baseUrl The URL of the media playlist, used to resolve relative
17
+ * `X-ASSET-URI` values.
18
+ * @param contentDuration The total content duration in seconds, if known, used
19
+ * to classify post-rolls. Pass null/undefined for live or unknown durations.
20
+ */
21
+ export declare function discoverHlsInterstitials(playlist: HlsMediaPlaylist, baseUrl: string, contentDuration?: number | null): Promise<AdBreakList>;
22
+ //# sourceMappingURL=discoverHlsInterstitials.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discoverHlsInterstitials.d.ts","sourceRoot":"","sources":["../../../../src/ad/discoverHlsInterstitials.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAgB,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAS9E,OAAO,KAAK,EAER,WAAW,EAMd,MAAM,eAAe,CAAA;AActB;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,wBAAwB,CACpC,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,MAAM,EACf,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,GAChC,OAAO,CAAC,WAAW,CAAC,CAmDtB"}
@@ -0,0 +1,246 @@
1
+ /*
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ import { HLS_INTERSTITIAL_CLASS } from '@amazon/vinyl-hls-parser';
6
+ import { memoize, requestWithRetry, resolveUrl, } from '@amazon/vinyl-util';
7
+ /**
8
+ * How close to the start or end of content a break must be to be classified as
9
+ * a pre-roll or post-roll rather than a mid-roll, in seconds.
10
+ */
11
+ const ROLL_EPSILON = 0.5;
12
+ /**
13
+ * Discovers HLS Interstitial ad breaks from a parsed media playlist and maps
14
+ * them to the provider-agnostic {@link AdBreakInfo} model.
15
+ *
16
+ * HLS Interstitials (Apple's SGAI primitive) are carried as EXT-X-DATERANGE
17
+ * tags with `CLASS="com.apple.hls.interstitial"`. Each such range is anchored
18
+ * to a wall-clock `START-DATE`; this function converts that to a media-timeline
19
+ * start time by correlating it with the playlist's EXT-X-PROGRAM-DATE-TIME
20
+ * anchor. When the playlist carries no program date-time, and the range's
21
+ * start-date is not otherwise resolvable, the break is anchored to the start of
22
+ * the timeline (pre-roll) as a best effort.
23
+ *
24
+ * @param playlist The parsed HLS media playlist.
25
+ * @param baseUrl The URL of the media playlist, used to resolve relative
26
+ * `X-ASSET-URI` values.
27
+ * @param contentDuration The total content duration in seconds, if known, used
28
+ * to classify post-rolls. Pass null/undefined for live or unknown durations.
29
+ */
30
+ export function discoverHlsInterstitials(playlist, baseUrl, contentDuration) {
31
+ const anchor = findProgramDateTimeAnchor(playlist);
32
+ const breaks = [];
33
+ for (const range of playlist.dateRanges) {
34
+ if (range.classId !== HLS_INTERSTITIAL_CLASS)
35
+ continue;
36
+ const startTime = resolveStartTime(range, anchor);
37
+ if (startTime == null)
38
+ continue;
39
+ const playoutLimit = resolvePlayoutLimit(range);
40
+ let duration = resolveDuration(range);
41
+ if (playoutLimit != null && duration != null)
42
+ duration = Math.min(playoutLimit, duration);
43
+ const cues = parseCues(range);
44
+ const placement = classifyPlacement(startTime, contentDuration, cues);
45
+ const effectiveStartTime = placement === 'preroll' ? 0 : startTime;
46
+ const restrictStr = range.clientAttributes['X-RESTRICT'] ?? '';
47
+ const restrict = parseRestrict(restrictStr);
48
+ // The ads and skip window share one (memoized) asset-list resolution.
49
+ const resolveContent = memoize(() => resolveHlsAssetContent({
50
+ range,
51
+ startTime: effectiveStartTime,
52
+ duration,
53
+ baseUrl,
54
+ }));
55
+ breaks.push({
56
+ id: range.id,
57
+ startTime: effectiveStartTime,
58
+ duration,
59
+ placement,
60
+ once: cues.has('ONCE'),
61
+ resumeOffset: parseResumeOffset(range),
62
+ resolutionTimeOffset: parseResolutionTimeOffset(range),
63
+ playoutLimit,
64
+ ads: async () => (await resolveContent()).ads,
65
+ skipControl: async () => (await resolveContent()).skipControl,
66
+ restrict,
67
+ });
68
+ }
69
+ breaks.sort((a, b) => a.startTime - b.startTime);
70
+ // Discovery is synchronous; ad assets resolve lazily via each break's
71
+ // `ads` ValueProvider. The Promise return keeps the provider-agnostic
72
+ // contract stable for future async discovery (e.g. DASH).
73
+ return Promise.resolve(breaks);
74
+ }
75
+ function findProgramDateTimeAnchor(playlist) {
76
+ let mediaTime = 0;
77
+ for (const seg of playlist.segments) {
78
+ if (seg.programDateTime) {
79
+ const epochMs = Date.parse(seg.programDateTime);
80
+ if (!Number.isNaN(epochMs)) {
81
+ return { epochMs, mediaTime };
82
+ }
83
+ }
84
+ mediaTime += seg.duration;
85
+ }
86
+ return null;
87
+ }
88
+ /**
89
+ * Converts a range's wall-clock START-DATE to a media-timeline start time.
90
+ * Returns 0 when there is no program-date-time anchor but the start-date is
91
+ * present (best-effort pre-roll), or null when the start-date is unusable.
92
+ */
93
+ function resolveStartTime(range, anchor) {
94
+ if (!range.startDate) {
95
+ // END-ON-NEXT ranges may omit START-DATE; without an anchor we cannot
96
+ // place them, so skip.
97
+ return null;
98
+ }
99
+ const epochMs = Date.parse(range.startDate);
100
+ if (Number.isNaN(epochMs))
101
+ return null;
102
+ if (!anchor) {
103
+ // No program-date-time to correlate against. Treat as a pre-roll.
104
+ return 0;
105
+ }
106
+ const startTime = anchor.mediaTime + (epochMs - anchor.epochMs) / 1000;
107
+ // Clamp tiny negatives from clock rounding to 0.
108
+ return startTime < 0 && startTime > -ROLL_EPSILON ? 0 : startTime;
109
+ }
110
+ /**
111
+ * Determines a break's duration in seconds. Uses DURATION, else END-DATE span, else
112
+ * PLANNED-DURATION, else null.
113
+ */
114
+ function resolveDuration(range) {
115
+ if (range.duration != null && !Number.isNaN(range.duration)) {
116
+ return range.duration;
117
+ }
118
+ if (range.endDate && range.startDate) {
119
+ const start = Date.parse(range.startDate);
120
+ const end = Date.parse(range.endDate);
121
+ if (!Number.isNaN(start) && !Number.isNaN(end) && end >= start) {
122
+ return (end - start) / 1000;
123
+ }
124
+ }
125
+ if (range.plannedDuration != null && !Number.isNaN(range.plannedDuration)) {
126
+ return range.plannedDuration;
127
+ }
128
+ return null;
129
+ }
130
+ function resolvePlayoutLimit(range) {
131
+ const playoutLimit = parseFloat(range.clientAttributes['X-PLAYOUT-LIMIT'] ?? '');
132
+ if (Number.isFinite(playoutLimit) && playoutLimit > 0) {
133
+ return playoutLimit;
134
+ }
135
+ return null;
136
+ }
137
+ /**
138
+ * Tokenizes the DATERANGE `CUE` attribute, an enumerated-string list of trigger
139
+ * identifiers (e.g. `"PRE,ONCE"`), into an uppercased, trimmed Set. Unknown
140
+ * tokens are preserved but ignored by callers.
141
+ */
142
+ function parseCues(range) {
143
+ return new Set((range.clientAttributes['CUE'] ?? '')
144
+ .split(',')
145
+ .map((token) => token.trim().toUpperCase())
146
+ .filter(Boolean));
147
+ }
148
+ /**
149
+ * Parses the signed `X-RESUME-OFFSET` (seconds). Returns null when the attribute
150
+ * is absent (so the controller substitutes the actual playout duration) — a
151
+ * present value of 0 is distinct from absent and is returned as 0.
152
+ */
153
+ function parseResumeOffset(range) {
154
+ if (!('X-RESUME-OFFSET' in range.clientAttributes))
155
+ return null;
156
+ const value = parseFloat(range.clientAttributes['X-RESUME-OFFSET']);
157
+ return Number.isFinite(value) ? value : null;
158
+ }
159
+ /**
160
+ * Parses the `X-RESOLUTION-TIME-OFFSET` (seconds) — how far ahead of the break
161
+ * the client should resolve/preload its assets. Returns null when absent or not
162
+ * a finite non-negative number, so the controller falls back to its configured
163
+ * `preloadAheadTime`.
164
+ */
165
+ function parseResolutionTimeOffset(range) {
166
+ if (!('X-RESOLUTION-TIME-OFFSET' in range.clientAttributes))
167
+ return null;
168
+ const value = parseFloat(range.clientAttributes['X-RESOLUTION-TIME-OFFSET']);
169
+ return Number.isFinite(value) && value >= 0 ? value : null;
170
+ }
171
+ function classifyPlacement(startTime, contentDuration, cues) {
172
+ // PRE/POST trigger identifiers are authoritative over the proximity
173
+ // heuristic (they may fire outside the range's START-DATE/duration). PRE
174
+ // wins the illegal PRE+POST combination.
175
+ if (cues.has('PRE'))
176
+ return 'preroll';
177
+ if (cues.has('POST'))
178
+ return 'postroll';
179
+ if (startTime <= ROLL_EPSILON)
180
+ return 'preroll';
181
+ if (contentDuration != null &&
182
+ Number.isFinite(contentDuration) &&
183
+ startTime >= contentDuration - ROLL_EPSILON) {
184
+ return 'postroll';
185
+ }
186
+ return 'midroll';
187
+ }
188
+ function resolveHlsAssetContent({ range, startTime, duration, baseUrl, }) {
189
+ const assetUri = range.clientAttributes['X-ASSET-URI'];
190
+ if (assetUri) {
191
+ // A single inline asset carries no skip window.
192
+ return {
193
+ ads: [
194
+ {
195
+ id: `${range.id}-0`,
196
+ startTime,
197
+ duration,
198
+ uri: resolveUrl(assetUri, baseUrl),
199
+ },
200
+ ],
201
+ skipControl: null,
202
+ };
203
+ }
204
+ const assetListUrl = range.clientAttributes['X-ASSET-LIST'];
205
+ if (assetListUrl) {
206
+ return resolveHlsAssetList({
207
+ assetListUrl,
208
+ rangeId: range.id,
209
+ startTime,
210
+ baseUrl,
211
+ });
212
+ }
213
+ return { ads: [], skipControl: null };
214
+ }
215
+ async function resolveHlsAssetList({ assetListUrl, rangeId, startTime, baseUrl, }) {
216
+ const url = resolveUrl(assetListUrl, baseUrl);
217
+ const response = await requestWithRetry(url);
218
+ const json = await response.json();
219
+ const assets = json.ASSETS ?? [];
220
+ const ads = assets.map((asset, i) => {
221
+ return {
222
+ id: `${rangeId}-${i}`,
223
+ startTime,
224
+ duration: asset.DURATION ?? null,
225
+ uri: resolveUrl(asset.URI, baseUrl),
226
+ };
227
+ });
228
+ return { ads, skipControl: parseSkipControl(json['SKIP-CONTROL']) };
229
+ }
230
+ /**
231
+ * Maps an X-ASSET-LIST `SKIP-CONTROL` object to a {@link SkipControl}, or null
232
+ * when absent or missing a usable offset.
233
+ */
234
+ function parseSkipControl(control) {
235
+ if (!control)
236
+ return null;
237
+ const offset = Number(control.OFFSET);
238
+ if (!Number.isFinite(offset) || offset < 0)
239
+ return null;
240
+ return { offset, duration: control.DURATION ?? null };
241
+ }
242
+ function parseRestrict(str) {
243
+ const skip = str.includes('SKIP');
244
+ const jump = str.includes('JUMP');
245
+ return { skip, jump };
246
+ }
@@ -4,6 +4,8 @@ import type { DrmKeySystem } from './DrmKeySystem';
4
4
  import type { MediaFormatMetadata } from '../streaming/MediaQualityMetadata';
5
5
  import type { BasicErrorEvent } from '../event/BasicErrorEvent';
6
6
  import type { DrmOptions } from './DrmOptions';
7
+ import type { LoadSpanMeasurement } from '../streaming/LoadMetric';
8
+ import type { TrackUri } from '../track/Track';
7
9
  export interface DrmControllerEventMap {
8
10
  /**
9
11
  * A DRM error occurred.
@@ -27,6 +29,14 @@ export interface DrmControllerEventMap {
27
29
  * Dispatched after a key session has been closed.
28
30
  */
29
31
  readonly sessionClose: KeySessionEvent;
32
+ /**
33
+ * A license exchange completed. The span is attributed at the source to the
34
+ * track that initiated the license request (via the key session that
35
+ * produced the message), so concurrent exchanges for the active and a
36
+ * preloaded track do not cross-attribute. The player republishes it as
37
+ * `loadSpan` using the carried `trackUri`.
38
+ */
39
+ readonly loadSpanMeasured: LoadSpanMeasurement;
30
40
  }
31
41
  export interface MediaKeysSetEvent {
32
42
  readonly keySystem: DrmKeySystem;
@@ -35,6 +45,21 @@ export interface KeySessionEvent {
35
45
  readonly mimeType: string;
36
46
  readonly initDataType: DrmInitDataType;
37
47
  }
48
+ /**
49
+ * Options for {@link DrmController.initializeForPlayback} and
50
+ * {@link DrmController.setBufferingDrmInfo}.
51
+ */
52
+ export interface DrmPlaybackOptions {
53
+ /**
54
+ * The track initiating playback/buffering. Stamped onto any created key
55
+ * session so its license `loadSpanMeasured` attributes to the correct track.
56
+ */
57
+ readonly trackUri?: TrackUri | null;
58
+ /**
59
+ * If aborted, the created session will be closed.
60
+ */
61
+ readonly abort?: ReadonlyAbort;
62
+ }
38
63
  /**
39
64
  * DrmController manages media keys and sessions, provides tracks a way to declare their content protections.
40
65
  */
@@ -68,18 +93,18 @@ export interface DrmController extends ReadonlyEventHost<DrmControllerEventMap>
68
93
  * expected to contain the supported key system.
69
94
  *
70
95
  * @param drmInfo Format metadata for the representation. May contain content protections.
71
- * @param abort If aborted, the created session will be closed.
96
+ * @param options Playback options ({@link DrmPlaybackOptions}).
72
97
  */
73
- initializeForPlayback(drmInfo: MediaFormatMetadata | null, abort?: ReadonlyAbort): void;
98
+ initializeForPlayback(drmInfo: MediaFormatMetadata | null, options?: DrmPlaybackOptions): void;
74
99
  /**
75
100
  * Sets content protection data on drm controller for the currently buffering media.
76
101
  *
77
102
  * The key session will be created on the 'encrypted' event when the decoder has been initialized.
78
103
  *
79
104
  * @param drmInfo Format metadata for the representation. May contain content protections.
80
- * @param abort If aborted, the created session from an 'encrypted' event will be closed.
105
+ * @param options Buffering options ({@link DrmPlaybackOptions}).
81
106
  */
82
- setBufferingDrmInfo(drmInfo: MediaFormatMetadata | null, abort?: ReadonlyAbort): void;
107
+ setBufferingDrmInfo(drmInfo: MediaFormatMetadata | null, options?: DrmPlaybackOptions): void;
83
108
  /**
84
109
  * Clears all active DRM sessions.
85
110
  * This should not be called unless the audio source has been cleared.
@@ -1 +1 @@
1
- {"version":3,"file":"DrmController.d.ts","sourceRoot":"","sources":["../../../../src/drm/DrmController.ts"],"names":[],"mappings":"AAKA,OAAO,EACH,KAAK,SAAS,EACd,KAAK,KAAK,EACV,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACzB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AAC5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAE9C,MAAM,WAAW,qBAAqB;IAClC;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAA;IAE/B;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAA;IAEzB;;;;OAIG;IACH,QAAQ,CAAC,YAAY,EAAE,iBAAiB,CAAA;IAExC;;OAEG;IACH,QAAQ,CAAC,aAAa,EAAE,eAAe,CAAA;IAEvC;;OAEG;IACH,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAA;CACzC;AAED,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAA;CACnC;AAED,MAAM,WAAW,eAAe;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAA;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,iBAAiB,CAAC,qBAAqB,CAAC;IAC3E;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;IAE5B;;;;OAIG;IACH,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,IAAI,CAAA;IAEpD;;OAEG;IACH,cAAc,IAAI,OAAO,CAAA;IAEzB;;;OAGG;IACH,WAAW,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAEvE;;;;;;;;;;OAUG;IACH,qBAAqB,CACjB,OAAO,EAAE,mBAAmB,GAAG,IAAI,EACnC,KAAK,CAAC,EAAE,aAAa,GACtB,IAAI,CAAA;IAEP;;;;;;;OAOG;IACH,mBAAmB,CACf,OAAO,EAAE,mBAAmB,GAAG,IAAI,EACnC,KAAK,CAAC,EAAE,aAAa,GACtB,IAAI,CAAA;IAEP;;;OAGG;IACH,aAAa,IAAI,IAAI,CAAA;IAErB;;OAEG;IACH,KAAK,IAAI,IAAI,CAAA;CAChB;AAED,MAAM,MAAM,mBAAmB,GAAG;IAC9B;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAE3B;;OAEG;IACH,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAA;CACpC,CAAA"}
1
+ {"version":3,"file":"DrmController.d.ts","sourceRoot":"","sources":["../../../../src/drm/DrmController.ts"],"names":[],"mappings":"AAKA,OAAO,EACH,KAAK,SAAS,EACd,KAAK,KAAK,EACV,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACzB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AAC5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAClE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAE9C,MAAM,WAAW,qBAAqB;IAClC;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAA;IAE/B;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAA;IAEzB;;;;OAIG;IACH,QAAQ,CAAC,YAAY,EAAE,iBAAiB,CAAA;IAExC;;OAEG;IACH,QAAQ,CAAC,aAAa,EAAE,eAAe,CAAA;IAEvC;;OAEG;IACH,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAA;IAEtC;;;;;;OAMG;IACH,QAAQ,CAAC,gBAAgB,EAAE,mBAAmB,CAAA;CACjD;AAED,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAA;CACnC;AAED,MAAM,WAAW,eAAe;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAA;CACzC;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IAC/B;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAA;IAEnC;;OAEG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,CAAA;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,iBAAiB,CAAC,qBAAqB,CAAC;IAC3E;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;IAE5B;;;;OAIG;IACH,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,IAAI,CAAA;IAEpD;;OAEG;IACH,cAAc,IAAI,OAAO,CAAA;IAEzB;;;OAGG;IACH,WAAW,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAEvE;;;;;;;;;;OAUG;IACH,qBAAqB,CACjB,OAAO,EAAE,mBAAmB,GAAG,IAAI,EACnC,OAAO,CAAC,EAAE,kBAAkB,GAC7B,IAAI,CAAA;IAEP;;;;;;;OAOG;IACH,mBAAmB,CACf,OAAO,EAAE,mBAAmB,GAAG,IAAI,EACnC,OAAO,CAAC,EAAE,kBAAkB,GAC7B,IAAI,CAAA;IAEP;;;OAGG;IACH,aAAa,IAAI,IAAI,CAAA;IAErB;;OAEG;IACH,KAAK,IAAI,IAAI,CAAA;CAChB;AAED,MAAM,MAAM,mBAAmB,GAAG;IAC9B;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAE3B;;OAEG;IACH,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAA;CACpC,CAAA"}
@@ -1,8 +1,9 @@
1
- import { EventHostImpl, type Maybe, type ReadonlyAbort } from '@amazon/vinyl-util';
1
+ import { EventHostImpl, type Maybe } from '@amazon/vinyl-util';
2
2
  import { type DrmOptions } from './DrmOptions';
3
- import type { DrmController, DrmControllerEventMap, DrmKeySystemSupport } from './DrmController';
3
+ import type { DrmController, DrmControllerEventMap, DrmKeySystemSupport, DrmPlaybackOptions } from './DrmController';
4
4
  import type { CommonEme, CommonMediaKeyMessageEvent, CommonMediaKeys, CommonMediaKeySession } from './commonEme/CommonEme';
5
5
  import type { MediaFormatMetadata } from '../streaming/MediaQualityMetadata';
6
+ import type { TrackUri } from '../track/Track';
6
7
  /**
7
8
  * The number of seconds a license request will be allowed before timing out.
8
9
  * This should be higher than the network timeout.
@@ -22,6 +23,13 @@ export interface DrmControllerMessageProps {
22
23
  readonly mediaKeys: CommonMediaKeys;
23
24
  readonly session: CommonMediaKeySession;
24
25
  readonly event: CommonMediaKeyMessageEvent;
26
+ /**
27
+ * The track that initiated this session, captured when the session was
28
+ * created. Carried on the props (not read from controller state at message
29
+ * time) so concurrent license exchanges for different tracks each attribute
30
+ * to their own track.
31
+ */
32
+ readonly trackUri: TrackUri | null;
25
33
  }
26
34
  export declare class DrmControllerImpl extends EventHostImpl<DrmControllerEventMap> implements DrmController {
27
35
  private readonly deps;
@@ -33,6 +41,7 @@ export declare class DrmControllerImpl extends EventHostImpl<DrmControllerEventM
33
41
  private readonly sessions;
34
42
  private _error;
35
43
  private drmInfo;
44
+ private bufferingTrackUri;
36
45
  private sessionAbort;
37
46
  private pendingMessageProps;
38
47
  private readonly disposer;
@@ -55,8 +64,8 @@ export declare class DrmControllerImpl extends EventHostImpl<DrmControllerEventM
55
64
  * The new session will be added to the current sessions list.
56
65
  */
57
66
  private maybeCreateSession;
58
- initializeForPlayback(drmInfo: MediaFormatMetadata | null, abort?: ReadonlyAbort): void;
59
- setBufferingDrmInfo(drmInfo: MediaFormatMetadata | null, abort?: ReadonlyAbort): void;
67
+ initializeForPlayback(drmInfo: MediaFormatMetadata | null, options?: DrmPlaybackOptions): void;
68
+ setBufferingDrmInfo(drmInfo: MediaFormatMetadata | null, options?: DrmPlaybackOptions): void;
60
69
  /**
61
70
  * If the drm metadata contains initialization data for the current key system, create a new session.
62
71
  * Otherwise, wait for the 'encrypted' event for the initialization data.
@@ -1 +1 @@
1
- {"version":3,"file":"DrmControllerImpl.d.ts","sourceRoot":"","sources":["../../../../src/drm/DrmControllerImpl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DrmControllerImpl.d.ts","sourceRoot":"","sources":["../../../../src/drm/DrmControllerImpl.ts"],"names":[],"mappings":"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"}