@amazon/vinyl 1.2.0 → 1.2.1

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 (289) hide show
  1. package/dist/index.cjs +11 -2
  2. package/dist/index.cjs.map +2 -2
  3. package/dist/index.js +15 -4
  4. package/dist/index.js.map +3 -3
  5. package/dist/test/integ.es5.js +43 -43
  6. package/dist/test/integ.js +70 -2
  7. package/dist/test/integ.js.map +2 -2
  8. package/dist/types/current/ad/AdBreakInfo.d.ts +160 -0
  9. package/dist/types/current/ad/AdBreakInfo.d.ts.map +1 -0
  10. package/dist/types/current/ad/AdBreakInfo.js +5 -0
  11. package/dist/types/current/ad/AdController.d.ts +229 -0
  12. package/dist/types/current/ad/AdController.d.ts.map +1 -0
  13. package/dist/types/current/ad/AdController.js +19 -0
  14. package/dist/types/current/ad/AdControllerImpl.d.ts +146 -0
  15. package/dist/types/current/ad/AdControllerImpl.d.ts.map +1 -0
  16. package/dist/types/current/ad/AdControllerImpl.js +705 -0
  17. package/dist/types/current/ad/AdError.d.ts +6 -0
  18. package/dist/types/current/ad/AdError.d.ts.map +1 -0
  19. package/dist/types/current/ad/AdError.js +14 -0
  20. package/dist/types/current/ad/AdsProvider.d.ts +28 -0
  21. package/dist/types/current/ad/AdsProvider.d.ts.map +1 -0
  22. package/dist/types/current/ad/AdsProvider.js +5 -0
  23. package/dist/types/current/ad/defaultAdLoadOptionsResolver.d.ts +12 -0
  24. package/dist/types/current/ad/defaultAdLoadOptionsResolver.d.ts.map +1 -0
  25. package/dist/types/current/ad/defaultAdLoadOptionsResolver.js +26 -0
  26. package/dist/types/current/ad/discoverHlsInterstitials.d.ts +22 -0
  27. package/dist/types/current/ad/discoverHlsInterstitials.d.ts.map +1 -0
  28. package/dist/types/current/ad/discoverHlsInterstitials.js +246 -0
  29. package/dist/types/current/drm/DrmControllerImpl.d.ts.map +1 -1
  30. package/dist/types/current/drm/DrmControllerImpl.js +11 -1
  31. package/dist/types/current/playback/PlaybackControllerImpl.d.ts +1 -1
  32. package/dist/types/current/streaming/AudioOptions.d.ts +39 -0
  33. package/dist/types/current/streaming/AudioOptions.d.ts.map +1 -0
  34. package/dist/types/current/streaming/AudioOptions.js +15 -0
  35. package/dist/types/current/streaming/LoadMetric.d.ts +58 -0
  36. package/dist/types/current/streaming/LoadMetric.d.ts.map +1 -0
  37. package/dist/types/current/streaming/LoadMetric.js +5 -0
  38. package/dist/types/current/streaming/ManifestControllerImpl.d.ts +43 -0
  39. package/dist/types/current/streaming/ManifestControllerImpl.d.ts.map +1 -0
  40. package/dist/types/current/streaming/ManifestControllerImpl.js +104 -0
  41. package/dist/types/current/streaming/buffering/codecDenylist.d.ts +23 -0
  42. package/dist/types/current/streaming/buffering/codecDenylist.d.ts.map +1 -0
  43. package/dist/types/current/streaming/buffering/codecDenylist.js +62 -0
  44. package/dist/types/current/streaming/createAllowedContentTypesValue.d.ts +30 -0
  45. package/dist/types/current/streaming/createAllowedContentTypesValue.d.ts.map +1 -0
  46. package/dist/types/current/streaming/createAllowedContentTypesValue.js +43 -0
  47. package/dist/types/current/streaming/mediaTimelineAccessibilityFilter.d.ts +35 -0
  48. package/dist/types/current/streaming/mediaTimelineAccessibilityFilter.d.ts.map +1 -0
  49. package/dist/types/current/streaming/mediaTimelineAccessibilityFilter.js +75 -0
  50. package/dist/types/current/text/HtmlTextTrackRenderer.d.ts +60 -0
  51. package/dist/types/current/text/HtmlTextTrackRenderer.d.ts.map +1 -0
  52. package/dist/types/current/text/HtmlTextTrackRenderer.js +231 -0
  53. package/dist/types/current/text/SidecarTextTrackController.d.ts +103 -0
  54. package/dist/types/current/text/SidecarTextTrackController.d.ts.map +1 -0
  55. package/dist/types/current/text/SidecarTextTrackController.js +250 -0
  56. package/dist/types/current/text/SidecarTextTrackLoader.d.ts +65 -0
  57. package/dist/types/current/text/SidecarTextTrackLoader.d.ts.map +1 -0
  58. package/dist/types/current/text/SidecarTextTrackLoader.js +150 -0
  59. package/dist/types/current/text/TextTrack.d.ts +179 -0
  60. package/dist/types/current/text/TextTrack.d.ts.map +1 -0
  61. package/dist/types/current/text/TextTrack.js +29 -0
  62. package/dist/types/current/text/TextTrackRenderer.d.ts +24 -0
  63. package/dist/types/current/text/TextTrackRenderer.d.ts.map +1 -0
  64. package/dist/types/current/text/TextTrackRenderer.js +5 -0
  65. package/dist/types/current/text/VttCueStyle.d.ts +41 -0
  66. package/dist/types/current/text/VttCueStyle.d.ts.map +1 -0
  67. package/dist/types/current/text/VttCueStyle.js +45 -0
  68. package/dist/types/current/text/discoverDashTextTracks.d.ts +24 -0
  69. package/dist/types/current/text/discoverDashTextTracks.d.ts.map +1 -0
  70. package/dist/types/current/text/discoverDashTextTracks.js +109 -0
  71. package/dist/types/current/text/discoverHlsTextTracks.d.ts +19 -0
  72. package/dist/types/current/text/discoverHlsTextTracks.d.ts.map +1 -0
  73. package/dist/types/current/text/discoverHlsTextTracks.js +49 -0
  74. package/dist/types/current/text/mediaTextTrackProvider.d.ts +34 -0
  75. package/dist/types/current/text/mediaTextTrackProvider.d.ts.map +1 -0
  76. package/dist/types/current/text/mediaTextTrackProvider.js +42 -0
  77. package/dist/types/current/text/parseWebVtt.d.ts +60 -0
  78. package/dist/types/current/text/parseWebVtt.d.ts.map +1 -0
  79. package/dist/types/current/text/parseWebVtt.js +248 -0
  80. package/dist/types/current/text/pickPreferredTextTrack.d.ts +15 -0
  81. package/dist/types/current/text/pickPreferredTextTrack.d.ts.map +1 -0
  82. package/dist/types/current/text/pickPreferredTextTrack.js +71 -0
  83. package/dist/types/current/track/SeekRange.d.ts +9 -0
  84. package/dist/types/current/track/SeekRange.d.ts.map +1 -0
  85. package/dist/types/current/track/SeekRange.js +5 -0
  86. package/dist/types/current/track/hls/HlsManifestData.d.ts +19 -0
  87. package/dist/types/current/track/hls/HlsManifestData.d.ts.map +1 -0
  88. package/dist/types/current/track/hls/HlsManifestData.js +5 -0
  89. package/dist/types/current/track/hls/createHlsManifestProvider.d.ts +6 -0
  90. package/dist/types/current/track/hls/createHlsManifestProvider.d.ts.map +1 -0
  91. package/dist/types/current/track/hls/createHlsManifestProvider.js +9 -0
  92. package/dist/types/current/track/inferLoadOptionsFromUri.d.ts +15 -0
  93. package/dist/types/current/track/inferLoadOptionsFromUri.d.ts.map +1 -0
  94. package/dist/types/current/track/inferLoadOptionsFromUri.js +55 -0
  95. package/dist/types/current/tsconfig.tsbuildinfo +1 -1
  96. package/dist/types/current/util/media/codecOverrides.d.ts +33 -0
  97. package/dist/types/current/util/media/codecOverrides.d.ts.map +1 -0
  98. package/dist/types/current/util/media/codecOverrides.js +37 -0
  99. package/dist/types/current/util/media/codecSupport.d.ts +6 -0
  100. package/dist/types/current/util/media/codecSupport.d.ts.map +1 -0
  101. package/dist/types/current/util/media/codecSupport.js +17 -0
  102. package/dist/types/current/util/media/mimeType.d.ts +8 -0
  103. package/dist/types/current/util/media/mimeType.d.ts.map +1 -0
  104. package/dist/types/current/util/media/mimeType.js +13 -0
  105. package/dist/types/ts3.7/ad/AdBreakInfo.d.ts +160 -0
  106. package/dist/types/ts3.7/ad/AdController.d.ts +243 -0
  107. package/dist/types/ts3.7/ad/AdControllerImpl.d.ts +146 -0
  108. package/dist/types/ts3.7/ad/AdError.d.ts +6 -0
  109. package/dist/types/ts3.7/ad/AdsProvider.d.ts +28 -0
  110. package/dist/types/ts3.7/ad/defaultAdLoadOptionsResolver.d.ts +12 -0
  111. package/dist/types/ts3.7/ad/discoverHlsInterstitials.d.ts +22 -0
  112. package/dist/types/ts3.7/playback/PlaybackControllerImpl.d.ts +1 -1
  113. package/dist/types/ts3.7/streaming/AudioOptions.d.ts +39 -0
  114. package/dist/types/ts3.7/streaming/LoadMetric.d.ts +58 -0
  115. package/dist/types/ts3.7/streaming/ManifestControllerImpl.d.ts +40 -0
  116. package/dist/types/ts3.7/streaming/buffering/codecDenylist.d.ts +23 -0
  117. package/dist/types/ts3.7/streaming/createAllowedContentTypesValue.d.ts +30 -0
  118. package/dist/types/ts3.7/streaming/mediaTimelineAccessibilityFilter.d.ts +35 -0
  119. package/dist/types/ts3.7/text/HtmlTextTrackRenderer.d.ts +60 -0
  120. package/dist/types/ts3.7/text/SidecarTextTrackController.d.ts +103 -0
  121. package/dist/types/ts3.7/text/SidecarTextTrackLoader.d.ts +65 -0
  122. package/dist/types/ts3.7/text/TextTrack.d.ts +183 -0
  123. package/dist/types/ts3.7/text/TextTrackRenderer.d.ts +24 -0
  124. package/dist/types/ts3.7/text/VttCueStyle.d.ts +41 -0
  125. package/dist/types/ts3.7/text/discoverDashTextTracks.d.ts +24 -0
  126. package/dist/types/ts3.7/text/discoverHlsTextTracks.d.ts +19 -0
  127. package/dist/types/ts3.7/text/mediaTextTrackProvider.d.ts +34 -0
  128. package/dist/types/ts3.7/text/parseWebVtt.d.ts +60 -0
  129. package/dist/types/ts3.7/text/pickPreferredTextTrack.d.ts +15 -0
  130. package/dist/types/ts3.7/track/SeekRange.d.ts +9 -0
  131. package/dist/types/ts3.7/track/hls/HlsManifestData.d.ts +19 -0
  132. package/dist/types/ts3.7/track/hls/createHlsManifestProvider.d.ts +6 -0
  133. package/dist/types/ts3.7/track/inferLoadOptionsFromUri.d.ts +15 -0
  134. package/dist/types/ts3.7/util/media/codecOverrides.d.ts +33 -0
  135. package/dist/types/ts3.7/util/media/codecSupport.d.ts +6 -0
  136. package/dist/types/ts3.7/util/media/mimeType.d.ts +8 -0
  137. package/dist/types/ts4.1/ad/AdBreakInfo.d.ts +160 -0
  138. package/dist/types/ts4.1/ad/AdController.d.ts +243 -0
  139. package/dist/types/ts4.1/ad/AdControllerImpl.d.ts +146 -0
  140. package/dist/types/ts4.1/ad/AdError.d.ts +6 -0
  141. package/dist/types/ts4.1/ad/AdsProvider.d.ts +28 -0
  142. package/dist/types/ts4.1/ad/defaultAdLoadOptionsResolver.d.ts +12 -0
  143. package/dist/types/ts4.1/ad/discoverHlsInterstitials.d.ts +22 -0
  144. package/dist/types/ts4.1/playback/PlaybackControllerImpl.d.ts +1 -1
  145. package/dist/types/ts4.1/streaming/AudioOptions.d.ts +39 -0
  146. package/dist/types/ts4.1/streaming/LoadMetric.d.ts +58 -0
  147. package/dist/types/ts4.1/streaming/ManifestControllerImpl.d.ts +40 -0
  148. package/dist/types/ts4.1/streaming/buffering/codecDenylist.d.ts +23 -0
  149. package/dist/types/ts4.1/streaming/createAllowedContentTypesValue.d.ts +30 -0
  150. package/dist/types/ts4.1/streaming/mediaTimelineAccessibilityFilter.d.ts +35 -0
  151. package/dist/types/ts4.1/text/HtmlTextTrackRenderer.d.ts +60 -0
  152. package/dist/types/ts4.1/text/SidecarTextTrackController.d.ts +104 -0
  153. package/dist/types/ts4.1/text/SidecarTextTrackLoader.d.ts +65 -0
  154. package/dist/types/ts4.1/text/TextTrack.d.ts +183 -0
  155. package/dist/types/ts4.1/text/TextTrackRenderer.d.ts +24 -0
  156. package/dist/types/ts4.1/text/VttCueStyle.d.ts +41 -0
  157. package/dist/types/ts4.1/text/discoverDashTextTracks.d.ts +24 -0
  158. package/dist/types/ts4.1/text/discoverHlsTextTracks.d.ts +19 -0
  159. package/dist/types/ts4.1/text/mediaTextTrackProvider.d.ts +34 -0
  160. package/dist/types/ts4.1/text/parseWebVtt.d.ts +60 -0
  161. package/dist/types/ts4.1/text/pickPreferredTextTrack.d.ts +15 -0
  162. package/dist/types/ts4.1/track/SeekRange.d.ts +9 -0
  163. package/dist/types/ts4.1/track/hls/HlsManifestData.d.ts +19 -0
  164. package/dist/types/ts4.1/track/hls/createHlsManifestProvider.d.ts +6 -0
  165. package/dist/types/ts4.1/track/inferLoadOptionsFromUri.d.ts +15 -0
  166. package/dist/types/ts4.1/util/media/codecOverrides.d.ts +33 -0
  167. package/dist/types/ts4.1/util/media/codecSupport.d.ts +6 -0
  168. package/dist/types/ts4.1/util/media/mimeType.d.ts +8 -0
  169. package/dist/types/ts4.7/ad/AdBreakInfo.d.ts +160 -0
  170. package/dist/types/ts4.7/ad/AdController.d.ts +243 -0
  171. package/dist/types/ts4.7/ad/AdControllerImpl.d.ts +146 -0
  172. package/dist/types/ts4.7/ad/AdError.d.ts +6 -0
  173. package/dist/types/ts4.7/ad/AdsProvider.d.ts +28 -0
  174. package/dist/types/ts4.7/ad/defaultAdLoadOptionsResolver.d.ts +12 -0
  175. package/dist/types/ts4.7/ad/discoverHlsInterstitials.d.ts +22 -0
  176. package/dist/types/ts4.7/playback/PlaybackControllerImpl.d.ts +1 -1
  177. package/dist/types/ts4.7/streaming/AudioOptions.d.ts +39 -0
  178. package/dist/types/ts4.7/streaming/LoadMetric.d.ts +58 -0
  179. package/dist/types/ts4.7/streaming/ManifestControllerImpl.d.ts +43 -0
  180. package/dist/types/ts4.7/streaming/buffering/codecDenylist.d.ts +23 -0
  181. package/dist/types/ts4.7/streaming/createAllowedContentTypesValue.d.ts +30 -0
  182. package/dist/types/ts4.7/streaming/mediaTimelineAccessibilityFilter.d.ts +35 -0
  183. package/dist/types/ts4.7/text/HtmlTextTrackRenderer.d.ts +60 -0
  184. package/dist/types/ts4.7/text/SidecarTextTrackController.d.ts +103 -0
  185. package/dist/types/ts4.7/text/SidecarTextTrackLoader.d.ts +65 -0
  186. package/dist/types/ts4.7/text/TextTrack.d.ts +183 -0
  187. package/dist/types/ts4.7/text/TextTrackRenderer.d.ts +24 -0
  188. package/dist/types/ts4.7/text/VttCueStyle.d.ts +41 -0
  189. package/dist/types/ts4.7/text/discoverDashTextTracks.d.ts +24 -0
  190. package/dist/types/ts4.7/text/discoverHlsTextTracks.d.ts +19 -0
  191. package/dist/types/ts4.7/text/mediaTextTrackProvider.d.ts +34 -0
  192. package/dist/types/ts4.7/text/parseWebVtt.d.ts +60 -0
  193. package/dist/types/ts4.7/text/pickPreferredTextTrack.d.ts +15 -0
  194. package/dist/types/ts4.7/track/SeekRange.d.ts +9 -0
  195. package/dist/types/ts4.7/track/hls/HlsManifestData.d.ts +19 -0
  196. package/dist/types/ts4.7/track/hls/createHlsManifestProvider.d.ts +6 -0
  197. package/dist/types/ts4.7/track/inferLoadOptionsFromUri.d.ts +15 -0
  198. package/dist/types/ts4.7/util/media/codecOverrides.d.ts +33 -0
  199. package/dist/types/ts4.7/util/media/codecSupport.d.ts +6 -0
  200. package/dist/types/ts4.7/util/media/mimeType.d.ts +8 -0
  201. package/dist/unit/types/current/ad/AdController.test.d.ts +2 -0
  202. package/dist/unit/types/current/ad/AdController.test.d.ts.map +1 -0
  203. package/dist/unit/types/current/ad/AdController.test.js +10 -0
  204. package/dist/unit/types/current/ad/AdControllerImpl.test.d.ts +2 -0
  205. package/dist/unit/types/current/ad/AdControllerImpl.test.d.ts.map +1 -0
  206. package/dist/unit/types/current/ad/AdControllerImpl.test.js +1456 -0
  207. package/dist/unit/types/current/ad/defaultAdLoadOptionsResolver.test.d.ts +2 -0
  208. package/dist/unit/types/current/ad/defaultAdLoadOptionsResolver.test.d.ts.map +1 -0
  209. package/dist/unit/types/current/ad/defaultAdLoadOptionsResolver.test.js +56 -0
  210. package/dist/unit/types/current/ad/discoverHlsInterstitials.test.d.ts +2 -0
  211. package/dist/unit/types/current/ad/discoverHlsInterstitials.test.d.ts.map +1 -0
  212. package/dist/unit/types/current/ad/discoverHlsInterstitials.test.js +756 -0
  213. package/dist/unit/types/current/drm/DrmControllerImpl.test.js +66 -1
  214. package/dist/unit/types/current/streaming/ManifestControllerImpl.test.d.ts +2 -0
  215. package/dist/unit/types/current/streaming/ManifestControllerImpl.test.d.ts.map +1 -0
  216. package/dist/unit/types/current/streaming/ManifestControllerImpl.test.js +197 -0
  217. package/dist/unit/types/current/streaming/buffering/codecDenylist.test.d.ts +2 -0
  218. package/dist/unit/types/current/streaming/buffering/codecDenylist.test.d.ts.map +1 -0
  219. package/dist/unit/types/current/streaming/buffering/codecDenylist.test.js +56 -0
  220. package/dist/unit/types/current/streaming/createAllowedContentTypesValue.test.d.ts +2 -0
  221. package/dist/unit/types/current/streaming/createAllowedContentTypesValue.test.d.ts.map +1 -0
  222. package/dist/unit/types/current/streaming/createAllowedContentTypesValue.test.js +77 -0
  223. package/dist/unit/types/current/streaming/mediaTimelineAccessibilityFilter.test.d.ts +2 -0
  224. package/dist/unit/types/current/streaming/mediaTimelineAccessibilityFilter.test.d.ts.map +1 -0
  225. package/dist/unit/types/current/streaming/mediaTimelineAccessibilityFilter.test.js +99 -0
  226. package/dist/unit/types/current/text/HtmlTextTrackRenderer.test.d.ts +2 -0
  227. package/dist/unit/types/current/text/HtmlTextTrackRenderer.test.d.ts.map +1 -0
  228. package/dist/unit/types/current/text/HtmlTextTrackRenderer.test.js +231 -0
  229. package/dist/unit/types/current/text/SidecarTextTrackController.test.d.ts +2 -0
  230. package/dist/unit/types/current/text/SidecarTextTrackController.test.d.ts.map +1 -0
  231. package/dist/unit/types/current/text/SidecarTextTrackController.test.js +686 -0
  232. package/dist/unit/types/current/text/SidecarTextTrackLoader.test.d.ts +2 -0
  233. package/dist/unit/types/current/text/SidecarTextTrackLoader.test.d.ts.map +1 -0
  234. package/dist/unit/types/current/text/SidecarTextTrackLoader.test.js +365 -0
  235. package/dist/unit/types/current/text/VttCueStyle.test.d.ts +2 -0
  236. package/dist/unit/types/current/text/VttCueStyle.test.d.ts.map +1 -0
  237. package/dist/unit/types/current/text/VttCueStyle.test.js +76 -0
  238. package/dist/unit/types/current/text/discoverDashTextTracks.test.d.ts +2 -0
  239. package/dist/unit/types/current/text/discoverDashTextTracks.test.d.ts.map +1 -0
  240. package/dist/unit/types/current/text/discoverDashTextTracks.test.js +199 -0
  241. package/dist/unit/types/current/text/discoverHlsTextTracks.test.d.ts +2 -0
  242. package/dist/unit/types/current/text/discoverHlsTextTracks.test.d.ts.map +1 -0
  243. package/dist/unit/types/current/text/discoverHlsTextTracks.test.js +177 -0
  244. package/dist/unit/types/current/text/mediaTextTrackProvider.test.d.ts +2 -0
  245. package/dist/unit/types/current/text/mediaTextTrackProvider.test.d.ts.map +1 -0
  246. package/dist/unit/types/current/text/mediaTextTrackProvider.test.js +86 -0
  247. package/dist/unit/types/current/text/parseWebVtt.test.d.ts +2 -0
  248. package/dist/unit/types/current/text/parseWebVtt.test.d.ts.map +1 -0
  249. package/dist/unit/types/current/text/parseWebVtt.test.js +393 -0
  250. package/dist/unit/types/current/text/pickPreferredTextTrack.test.d.ts +2 -0
  251. package/dist/unit/types/current/text/pickPreferredTextTrack.test.d.ts.map +1 -0
  252. package/dist/unit/types/current/text/pickPreferredTextTrack.test.js +78 -0
  253. package/dist/unit/types/current/track/inferLoadOptionsFromUri.test.d.ts +2 -0
  254. package/dist/unit/types/current/track/inferLoadOptionsFromUri.test.d.ts.map +1 -0
  255. package/dist/unit/types/current/track/inferLoadOptionsFromUri.test.js +165 -0
  256. package/dist/unit/types/current/tsconfig.tsbuildinfo +1 -1
  257. package/dist/unit/types/current/util/media/codecOverrides.test.d.ts +2 -0
  258. package/dist/unit/types/current/util/media/codecOverrides.test.d.ts.map +1 -0
  259. package/dist/unit/types/current/util/media/codecOverrides.test.js +42 -0
  260. package/dist/unit/types/current/util/media/codecSupport.test.d.ts +2 -0
  261. package/dist/unit/types/current/util/media/codecSupport.test.d.ts.map +1 -0
  262. package/dist/unit/types/current/util/media/codecSupport.test.js +26 -0
  263. package/dist/unit/types/current/util/media/mimeType.test.d.ts +2 -0
  264. package/dist/unit/types/current/util/media/mimeType.test.d.ts.map +1 -0
  265. package/dist/unit/types/current/util/media/mimeType.test.js +22 -0
  266. package/dist/unit/types/current/vinyl/VinylPlayerAdBreaks.test.d.ts +2 -0
  267. package/dist/unit/types/current/vinyl/VinylPlayerAdBreaks.test.d.ts.map +1 -0
  268. package/dist/unit/types/current/vinyl/VinylPlayerAdBreaks.test.js +142 -0
  269. package/dist/unit/types/current/vinyl/VinylPlayerTextTracks.test.d.ts +2 -0
  270. package/dist/unit/types/current/vinyl/VinylPlayerTextTracks.test.d.ts.map +1 -0
  271. package/dist/unit/types/current/vinyl/VinylPlayerTextTracks.test.js +188 -0
  272. package/dist/vinylTestUtil/types/current/mock/ad/MockAdController.d.ts +15 -0
  273. package/dist/vinylTestUtil/types/current/mock/ad/MockAdController.d.ts.map +1 -0
  274. package/dist/vinylTestUtil/types/current/mock/ad/MockAdController.js +26 -0
  275. package/dist/vinylTestUtil/types/current/mock/dash/mockDashManifest.d.ts +84 -84
  276. package/dist/vinylTestUtil/types/current/mock/text/MockTextTrackController.d.ts +10 -0
  277. package/dist/vinylTestUtil/types/current/mock/text/MockTextTrackController.d.ts.map +1 -0
  278. package/dist/vinylTestUtil/types/current/mock/text/MockTextTrackController.js +14 -0
  279. package/dist/vinylTestUtil/types/current/tsconfig.tsbuildinfo +1 -1
  280. package/dist/vinylTestUtil/types/ts3.7/mock/ad/MockAdController.d.ts +15 -0
  281. package/dist/vinylTestUtil/types/ts3.7/mock/dash/mockDashManifest.d.ts +84 -84
  282. package/dist/vinylTestUtil/types/ts3.7/mock/text/MockTextTrackController.d.ts +10 -0
  283. package/dist/vinylTestUtil/types/ts4.1/mock/ad/MockAdController.d.ts +15 -0
  284. package/dist/vinylTestUtil/types/ts4.1/mock/dash/mockDashManifest.d.ts +84 -84
  285. package/dist/vinylTestUtil/types/ts4.1/mock/text/MockTextTrackController.d.ts +10 -0
  286. package/dist/vinylTestUtil/types/ts4.7/mock/ad/MockAdController.d.ts +15 -0
  287. package/dist/vinylTestUtil/types/ts4.7/mock/dash/mockDashManifest.d.ts +84 -84
  288. package/dist/vinylTestUtil/types/ts4.7/mock/text/MockTextTrackController.d.ts +10 -0
  289. package/package.json +10 -11
@@ -0,0 +1,183 @@
1
+ import { ChangeEvent } from '../event/ChangeEvent';
2
+ import { ReadonlyEventHost } from '@amazon/vinyl-util';
3
+ import { ObjectSchema } from '@amazon/vinyl-validation';
4
+ /**
5
+ * Categorizes the role of a text track. Mirrors HTMLMediaElement.TextTrackKind.
6
+ */
7
+ export type TextTrackKind = 'subtitles' | 'captions' | 'descriptions' | 'chapters' | 'metadata';
8
+ /**
9
+ * Identifies and describes an available text track.
10
+ * One TextTrackInfo is produced per discovered subtitle rendition.
11
+ */
12
+ export interface TextTrackInfo {
13
+ /**
14
+ * A stable, unique identifier within the current media presentation.
15
+ */
16
+ readonly id: string;
17
+ /**
18
+ * The text track kind. Defaults to 'subtitles' when not otherwise specified.
19
+ */
20
+ readonly kind: TextTrackKind;
21
+ /**
22
+ * The BCP 47 language tag for the cues in this track, or null if unknown.
23
+ */
24
+ readonly language: string | null;
25
+ /**
26
+ * A human-readable label for the track.
27
+ */
28
+ readonly label: string;
29
+ /**
30
+ * Set when the source manifest signals this track as the default selection.
31
+ */
32
+ readonly default: boolean;
33
+ /**
34
+ * Whether this is a forced track: it carries essential text (e.g.
35
+ * translations of foreign-language dialogue) meant to be shown even when
36
+ * the user has not enabled subtitles. Two tracks may share a language and
37
+ * differ only by this flag, so selection must distinguish them.
38
+ */
39
+ readonly forced: boolean;
40
+ /**
41
+ * Media characteristics / accessibility roles describing the track, e.g.
42
+ * `public.accessibility.transcribes-spoken-dialog` (HLS CHARACTERISTICS) or
43
+ * a DASH role/accessibility scheme value. Empty when none are signaled.
44
+ */
45
+ readonly characteristics: readonly string[];
46
+ /**
47
+ * The full URL of the underlying text resource (typically a WebVTT file).
48
+ */
49
+ readonly uri: string;
50
+ /**
51
+ * The MIME type signaled by the source manifest, when known.
52
+ */
53
+ readonly mimeType: string | null;
54
+ /**
55
+ * HLS EXT-X-DEFINE variables inherited from the parent multivariant
56
+ * playlist. Sidecar text-track media playlists commonly `IMPORT` these
57
+ * names and reference them in segment URIs. Present only for HLS-sourced
58
+ * tracks whose parent playlist declared any variables.
59
+ */
60
+ readonly variables?: Readonly<Record<string, string>>;
61
+ }
62
+ /**
63
+ * Events dispatched by a {@link TextTrackController}.
64
+ */
65
+ export interface TextTrackEventMap {
66
+ /**
67
+ * Emitted when the available text tracks change.
68
+ */
69
+ readonly textTracksChange: ChangeEvent<readonly TextTrackInfo[]>;
70
+ /**
71
+ * Emitted when the active text track changes.
72
+ */
73
+ readonly activeTextTrackChange: ChangeEvent<TextTrackInfo | null>;
74
+ /**
75
+ * Emitted when an error occurs while loading or activating a text track.
76
+ */
77
+ readonly textTrackError: TextTrackErrorEvent;
78
+ }
79
+ export interface TextTrackErrorEvent {
80
+ readonly track: TextTrackInfo;
81
+ readonly error: Error;
82
+ }
83
+ /**
84
+ * Which captions render:
85
+ * - `'off'` — nothing renders (not even forced narrative captions).
86
+ * - `'forced'` — only forced (narrative) tracks, so nothing shows unless the
87
+ * content carries a forced track for the preferred language.
88
+ * - `'on'` — the full (non-forced) subtitle track for the preferred language.
89
+ */
90
+ export type CaptionMode = 'on' | 'off' | 'forced';
91
+ /**
92
+ * Criteria used to pick which text track to render. Applied in priority order:
93
+ * an explicit {@link id} wins; otherwise the best {@link language} match is
94
+ * chosen among tracks filtered by {@link kind} and by forced-ness (from
95
+ * {@link forced} when set, else from the controller's
96
+ * {@link TextTrackControllerOptions.enabled} mode).
97
+ */
98
+ export interface TextTrackSelection {
99
+ /**
100
+ * Selects the text track with this exact identifier, ignoring the other
101
+ * criteria (but still gated by the `'off'` mode). If no track has this id,
102
+ * nothing is selected.
103
+ */
104
+ readonly id?: string | null;
105
+ /**
106
+ * Restricts selection to tracks of this kind (e.g. `'captions'`). Unset
107
+ * considers all kinds.
108
+ */
109
+ readonly kind?: TextTrackKind | null;
110
+ /**
111
+ * Preferred caption language(s), most-preferred first, as RFC 5646 tags.
112
+ * When unset (or empty) selection falls back to the platform's
113
+ * `navigator.languages`.
114
+ */
115
+ readonly language?: string | readonly string[] | null;
116
+ /**
117
+ * Explicit forced-ness filter. When set, only tracks whose `forced` flag
118
+ * equals this value are considered, overriding the forced/full split
119
+ * implied by the `enabled` mode. Unset means the mode decides.
120
+ */
121
+ readonly forced?: boolean | null;
122
+ }
123
+ /**
124
+ * Declarative configuration for a {@link TextTrackController}. Rendering is
125
+ * driven entirely by this value (via `VinylOptions.text`); there is no
126
+ * imperative track-select call.
127
+ */
128
+ export interface TextTrackControllerOptions {
129
+ /**
130
+ * Which captions render (see {@link CaptionMode}). Unset defaults to
131
+ * `'forced'`.
132
+ */
133
+ readonly enabled?: CaptionMode | null;
134
+ /**
135
+ * The selection criteria (language / id / kind). When unset, the preferred
136
+ * languages fall back to the platform's `navigator.languages`.
137
+ */
138
+ readonly selection?: TextTrackSelection | null;
139
+ }
140
+ export declare const textTrackControllerOptionsValidator: ObjectSchema<TextTrackControllerOptions>;
141
+ export declare const ALL_TEXT_TRACK_EVENTS: readonly [
142
+ "textTracksChange",
143
+ "activeTextTrackChange",
144
+ "textTrackError"
145
+ ];
146
+ /**
147
+ * Read-only view of available text tracks and the active selection.
148
+ */
149
+ export interface ReadonlyTextTrackController extends ReadonlyEventHost<TextTrackEventMap> {
150
+ /**
151
+ * The list of currently discovered text tracks.
152
+ */
153
+ readonly textTracks: readonly TextTrackInfo[];
154
+ /**
155
+ * The currently active text track, or null if none is active.
156
+ */
157
+ readonly activeTextTrack: TextTrackInfo | null;
158
+ /*
159
+ * Returns true if this text track controller is active.
160
+ */
161
+ readonly active: boolean;
162
+ }
163
+ /**
164
+ * Full controller for the current media's text tracks. Selection is driven
165
+ * declaratively through the controller's options (`VinylOptions.text`); this
166
+ * interface only adds the render lifecycle used by the owning media track.
167
+ */
168
+ export interface TextTrackController extends ReadonlyTextTrackController {
169
+ /**
170
+ * Suspends cue rendering without changing the active selection: cancels any
171
+ * in-flight load and hides the DOM text track (so its cues stop showing).
172
+ * Called when the owning media track is deactivated — e.g. while an ad
173
+ * plays over the suspended content. {@link activate} rebuilds it.
174
+ */
175
+ deactivate(): void;
176
+ /**
177
+ * Resumes rendering the active selection after a {@link deactivate},
178
+ * reloading its cues. No-op when nothing is selected or already rendering.
179
+ * Called when the owning media track is reactivated.
180
+ */
181
+ activate(): void;
182
+ }
183
+ //# sourceMappingURL=TextTrack.d.ts.map
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Renders a text track's cues. Injected into the player so an application can
3
+ * paint captions itself (as HTML) instead of relying on the browser's native
4
+ * `TextTrack` rendering — giving full control over styling and placement.
5
+ *
6
+ * The controller hands the renderer the DOM `TextTrack` (set to `'hidden'`, so
7
+ * the browser tracks cue timing but does not paint); the renderer listens for
8
+ * the track's active cues and draws them. See {@link HtmlTextTrackRenderer} for
9
+ * the built-in HTML implementation.
10
+ */
11
+ export interface TextTrackRenderer {
12
+ /**
13
+ * Renders the active cues of `track`, listening for cue changes. Passing
14
+ * `null` clears anything rendered and detaches from the previous track.
15
+ */
16
+ setTextTrack(track: TextTrack | null): void;
17
+ /**
18
+ * Supplies the CSS bodies of the track's WebVTT `STYLE` blocks (which carry
19
+ * `::cue` rules), so the renderer can style cue classes. Optional — a
20
+ * renderer may ignore authored styles.
21
+ */
22
+ setStyles?(styles: readonly string[]): void;
23
+ }
24
+ //# sourceMappingURL=TextTrackRenderer.d.ts.map
@@ -0,0 +1,41 @@
1
+ import { ObjectSchema } from '@amazon/vinyl-validation';
2
+ /**
3
+ * Layout style applied to each rendered WebVTT cue, mirroring the settable
4
+ * positioning properties of the DOM `VTTCue`. Only the properties that are set
5
+ * are applied; the rest keep the browser defaults.
6
+ *
7
+ * These are the WebVTT cue-box layout controls (not text color/font, which are
8
+ * only reachable via the non-configurable `::cue` pseudo-element). See
9
+ * {@link https://developer.mozilla.org/docs/Web/API/VTTCue}.
10
+ */
11
+ export interface VttCueStyle {
12
+ /** Text alignment within the cue box. */
13
+ readonly align?: AlignSetting;
14
+ /** Line (vertical) position, as a line number/percentage or `'auto'`. */
15
+ readonly line?: number | AutoKeyword;
16
+ /** How `line` is anchored. */
17
+ readonly lineAlign?: LineAlignSetting;
18
+ /** Inline position of the cue box, as a percentage or `'auto'`. */
19
+ readonly position?: number | AutoKeyword;
20
+ /** How `position` is anchored. */
21
+ readonly positionAlign?: PositionAlignSetting;
22
+ /** Size of the cue box as a percentage of the video dimension. */
23
+ readonly size?: number;
24
+ /** Whether `line` is a line number (true) or a percentage (false). */
25
+ readonly snapToLines?: boolean;
26
+ /** Writing direction. */
27
+ readonly vertical?: DirectionSetting;
28
+ }
29
+ /**
30
+ * Type guard for a DOM cue that is a `VTTCue` (and so carries the WebVTT layout
31
+ * properties). On platforms without `VTTCue`, cues are plain `TextTrackCue`s
32
+ * that cannot be styled.
33
+ */
34
+ export declare function isVttCue(cue: TextTrackCue): cue is VTTCue;
35
+ /**
36
+ * Applies the configured layout style to a `VTTCue`, setting only the
37
+ * properties present in `style`.
38
+ */
39
+ export declare function applyVttCueStyle(cue: VTTCue, style: VttCueStyle): void;
40
+ export declare const vttCueStyleValidator: ObjectSchema<VttCueStyle>;
41
+ //# sourceMappingURL=VttCueStyle.d.ts.map
@@ -0,0 +1,24 @@
1
+ import { DashManifest } from '@amazon/vinyl-mpd-parser';
2
+ import { TextTrackInfo } from './TextTrack';
3
+ /**
4
+ * Discovers sidecar text tracks from a DASH manifest.
5
+ *
6
+ * Considers an `<AdaptationSet>` to carry text when one of:
7
+ * - `contentType="text"`
8
+ * - `mimeType` starts with `text/` (e.g. `text/vtt`)
9
+ * - `mimeType` is `application/mp4` *and* the codec/role indicates text
10
+ *
11
+ * Within a text adaptation set, each `<Representation>` becomes one
12
+ * {@link TextTrackInfo}. The `BaseURL` chain (MPD → Period → AdaptationSet →
13
+ * Representation) is resolved against the supplied `baseUrl`.
14
+ *
15
+ * Only sidecar (single-file) WebVTT renditions are surfaced. Segmented text
16
+ * tracks (`stpp`/`wvtt` codecs) are ignored - they would require streaming
17
+ * through MSE which the sidecar pipeline does not support.
18
+ *
19
+ * @param manifest The parsed DASH manifest.
20
+ * @param baseUrl The URL of the manifest, used as the root for `BaseURL`
21
+ * resolution.
22
+ */
23
+ export declare function discoverDashTextTracks(manifest: DashManifest, baseUrl: string): readonly TextTrackInfo[];
24
+ //# sourceMappingURL=discoverDashTextTracks.d.ts.map
@@ -0,0 +1,19 @@
1
+ import { HlsMainPlaylist } from '@amazon/vinyl-hls-parser';
2
+ import { TextTrackInfo } from './TextTrack';
3
+ /**
4
+ * Discovers sidecar text tracks from an HLS multivariant playlist.
5
+ *
6
+ * Per RFC 8216 §4.3.4.2, subtitle renditions are signaled with
7
+ * `EXT-X-MEDIA:TYPE=SUBTITLES` and (when usable as sidecar) carry a `URI`
8
+ * attribute pointing at a media playlist or, in the simplified single-file
9
+ * case, a `.vtt` file directly.
10
+ *
11
+ * Closed captions (`TYPE=CLOSED-CAPTIONS`) are intentionally excluded - they
12
+ * are delivered in-band with the video stream and are surfaced by the browser
13
+ * automatically, not through a sidecar fetch.
14
+ *
15
+ * @param mainPlaylist The parsed HLS main playlist.
16
+ * @param baseUrl The URL of the main playlist, used to resolve relative URIs.
17
+ */
18
+ export declare function discoverHlsTextTracks(mainPlaylist: HlsMainPlaylist, baseUrl: string): readonly TextTrackInfo[];
19
+ //# sourceMappingURL=discoverHlsTextTracks.d.ts.map
@@ -0,0 +1,34 @@
1
+ import { TextTrackKind } from './TextTrack';
2
+ /**
3
+ * A handle to a DOM {@link TextTrack} created on the media element, plus a way
4
+ * to clear its cues.
5
+ */
6
+ export interface TextTrackRef {
7
+ readonly track: TextTrack;
8
+ /**
9
+ * Removes all cues from the track. Must be called while the track is not
10
+ * `disabled` — `TextTrack.cues` reads null in the disabled state, so
11
+ * clearing a disabled track silently leaves its cues attached.
12
+ */
13
+ clear(): void;
14
+ }
15
+ /**
16
+ * Creates and hands out DOM text tracks for a media element, memoized per
17
+ * `(kind, label, language)`.
18
+ *
19
+ * `HTMLMediaElement.addTextTrack` tracks can never be removed, so creating a
20
+ * fresh one per activation would accumulate tracks — and any left in `showing`
21
+ * mode renders alongside the active one (captions "bleed through"). Reusing one
22
+ * track per key keeps exactly one track per distinct rendition.
23
+ */
24
+ export interface MediaTextTrackProvider {
25
+ getOrCreate(kind: TextTrackKind, label?: string, language?: string): TextTrackRef;
26
+ }
27
+ export declare function createMediaTextTrackProvider(deps: {
28
+ /**
29
+ * The HTML media element on which to attach the in-band TextTrack
30
+ * representation.
31
+ */
32
+ readonly media: HTMLMediaElement;
33
+ }): MediaTextTrackProvider;
34
+ //# sourceMappingURL=mediaTextTrackProvider.d.ts.map
@@ -0,0 +1,60 @@
1
+ import { VttCueStyle } from './VttCueStyle';
2
+ /**
3
+ * A single WebVTT cue.
4
+ *
5
+ * @see https://www.w3.org/TR/webvtt1/
6
+ */
7
+ export interface WebVttCue {
8
+ /**
9
+ * Optional cue identifier, the line that appears before the timing line.
10
+ */
11
+ readonly id: string | null;
12
+ /**
13
+ * Cue start time in seconds.
14
+ */
15
+ readonly startTime: number;
16
+ /**
17
+ * Cue end time in seconds.
18
+ */
19
+ readonly endTime: number;
20
+ /**
21
+ * The cue text payload, with line breaks preserved as `\n`.
22
+ */
23
+ readonly text: string;
24
+ /**
25
+ * The authored cue settings from the timing line (position/line/size/
26
+ * align/vertical), when any were present. Preserved so a renderer can
27
+ * position the cue faithfully. Absent when the cue declared no settings.
28
+ */
29
+ readonly settings?: VttCueStyle;
30
+ }
31
+ /**
32
+ * The result of parsing a WebVTT document.
33
+ */
34
+ export interface WebVttDocument {
35
+ /**
36
+ * Parsed cues in document order.
37
+ */
38
+ readonly cues: readonly WebVttCue[];
39
+ /**
40
+ * The raw CSS body of each `STYLE` block, in document order. These carry
41
+ * `::cue` rules (e.g. `::cue(.loud) { font-weight: bold }`) an HTML renderer
42
+ * can apply. Empty when the document declared no styles.
43
+ */
44
+ readonly styles: readonly string[];
45
+ }
46
+ /**
47
+ * Parses a WebVTT document into a list of cues.
48
+ *
49
+ * Implements a forgiving subset of the WebVTT 1.0 specification: header
50
+ * detection, comment blocks (lines starting with `NOTE`), styling/region
51
+ * blocks (STYLE bodies are captured, REGION skipped), cue identifiers, and
52
+ * HH:MM:SS.mmm or MM:SS.mmm timestamps with optional cue settings.
53
+ *
54
+ * @param input The raw WebVTT document text. Both LF and CRLF line endings
55
+ * are supported, and a leading BOM is stripped if present.
56
+ * @throws ValidationError if the input is missing the WEBVTT header.
57
+ * @see https://www.w3.org/TR/webvtt1/#webvtt-timestamp
58
+ */
59
+ export declare function parseWebVtt(input: string): WebVttDocument;
60
+ //# sourceMappingURL=parseWebVtt.d.ts.map
@@ -0,0 +1,15 @@
1
+ import { TextTrackInfo } from './TextTrack';
2
+ import { Maybe } from '@amazon/vinyl-util';
3
+ /**
4
+ * Chooses the text track that best matches the preferred language(s), or null
5
+ * when none relate (or there is no preference / no tracks).
6
+ *
7
+ * Language dominates: a track is ranked first by which preference it relates to
8
+ * (earlier entries win) and how closely (see {@link languageRelatedness}).
9
+ * Within a single language, a full track is preferred over a forced-only track
10
+ * (a user asking for a caption language wants the full captions, not just the
11
+ * forced foreign-dialogue cues), and a manifest-default track breaks any
12
+ * remaining tie.
13
+ */
14
+ export declare function pickPreferredTextTrack(tracks: readonly TextTrackInfo[], preferred: Maybe<string | readonly string[]>): TextTrackInfo | null;
15
+ //# sourceMappingURL=pickPreferredTextTrack.d.ts.map
@@ -0,0 +1,9 @@
1
+ /**
2
+ * The seekable time range on the media timeline, in seconds.
3
+ * `end` will be `Infinity` when a live stream.
4
+ */
5
+ export type SeekRange = {
6
+ readonly start: number;
7
+ readonly end: number;
8
+ };
9
+ //# sourceMappingURL=SeekRange.d.ts.map
@@ -0,0 +1,19 @@
1
+ import { HlsMainPlaylist, HlsMediaPlaylist } from '@amazon/vinyl-hls-parser';
2
+ export interface HlsManifestData {
3
+ /**
4
+ * The main HLS playlist manifest.
5
+ * Use getMediaPlaylist to resolve bitrate manifests.
6
+ */
7
+ readonly mainPlaylist: HlsMainPlaylist;
8
+ /**
9
+ * The URL to be used for relative requests. Guaranteed to be absolute.
10
+ *
11
+ * Media with relative paths in the manifests will be resolved relative to this URL.
12
+ */
13
+ readonly baseUrl: string;
14
+ /**
15
+ * Lazily fetches and caches a media playlist by variant URI.
16
+ */
17
+ readonly getMediaPlaylist: (uri: string) => Promise<HlsMediaPlaylist>;
18
+ }
19
+ //# sourceMappingURL=HlsManifestData.d.ts.map
@@ -0,0 +1,6 @@
1
+ import { HlsTrackLoadOptions } from './HlsTrack';
2
+ import { ManifestProvider } from '../../streaming/ManifestController';
3
+ import { HlsManifestData } from './HlsManifestData';
4
+ export declare function createHlsManifestProvider(loadOptions: HlsTrackLoadOptions): HlsManifestProvider;
5
+ export type HlsManifestProvider = ManifestProvider<HlsManifestData>;
6
+ //# sourceMappingURL=createHlsManifestProvider.d.ts.map
@@ -0,0 +1,15 @@
1
+ import { VinylTrackLoadOptions } from './createVinylTrackFactories';
2
+ /**
3
+ * The built-in track types Vinyl can infer from a URI.
4
+ */
5
+ export type TrackType = 'hls' | 'dash' | 'src';
6
+ /**
7
+ * Infers the track type from a URI based first on its file extension
8
+ * then mime type.
9
+ *
10
+ * Returns null if the type cannot be determined.
11
+ */
12
+ export declare function inferTrackTypeFromUrl(url: string): Promise<TrackType | null>;
13
+ export declare function inferTrackTypeFromUrlPath(url: string): TrackType | null;
14
+ export declare function createTrackLoadOptionsFromUrl(url: string): Promise<VinylTrackLoadOptions | null>;
15
+ //# sourceMappingURL=inferLoadOptionsFromUri.d.ts.map
@@ -0,0 +1,33 @@
1
+ /**
2
+ * An explicit application-provided decision to allow or deny a codec,
3
+ * bypassing the browser's support detection.
4
+ *
5
+ * - `'allow'` forces the codec to be treated as supported even if the browser
6
+ * reports it unsupported (e.g. to opt in to a codec the app knows the
7
+ * platform can decode via an external path).
8
+ * - `'deny'` forces the codec to be treated as unsupported even if the browser
9
+ * reports it supported (e.g. to work around a browser that falsely claims
10
+ * support, or to exclude a codec by policy).
11
+ */
12
+ export type CodecOverride = 'allow' | 'deny';
13
+ /**
14
+ * Explicit codec allow/deny overrides. Keys are RFC 6381 codec strings or
15
+ * prefixes (matched case-insensitively against the start of each codec in a
16
+ * mimeType's `codecs=` list, so `"hvc1"` matches `"hvc1.2.20000000.L123.B0"`).
17
+ *
18
+ * An override supersedes the browser's support detection entirely. When a
19
+ * mimeType contains multiple codecs, a `'deny'` on any of them denies the
20
+ * mimeType; an `'allow'` applies only when no codec is denied.
21
+ */
22
+ export type CodecOverrides = Readonly<Record<string, CodecOverride>>;
23
+ /**
24
+ * Resolves the effective override decision for a mimeType against a set of
25
+ * {@link CodecOverrides}, or undefined when no override applies (in which case
26
+ * the caller should fall back to normal support detection).
27
+ *
28
+ * A `'deny'` on any contained codec wins over an `'allow'` on another, so an
29
+ * explicit deny is never silently overridden by an allow elsewhere in the
30
+ * mimeType.
31
+ */
32
+ export declare function resolveCodecOverride(mimeType: string, overrides: CodecOverrides | undefined): CodecOverride | undefined;
33
+ //# sourceMappingURL=codecOverrides.d.ts.map
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Extracts the individual codec strings from a mimeType's `codecs=` parameter.
3
+ * Returns an empty array when no codecs parameter is present.
4
+ */
5
+ export declare function extractCodecs(mimeType: string): string[];
6
+ //# sourceMappingURL=codecSupport.d.ts.map
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Extracts the container subtype from a MIME type, lowercased — the portion
3
+ * after the `/`, ignoring any parameters. For example
4
+ * `video/webm; codecs="vp9"` → `webm` and `audio/mp4` → `mp4`. Returns an empty
5
+ * string when the MIME type has no subtype.
6
+ */
7
+ export declare function mimeSubtype(mimeType: string): string;
8
+ //# sourceMappingURL=mimeType.d.ts.map
@@ -0,0 +1,160 @@
1
+ import type { TrackUri } from '../track/Track';
2
+ import type { ValueProvider } from '@amazon/vinyl-util';
3
+ export interface TrackAds {
4
+ /**
5
+ * The URI of the parent track.
6
+ */
7
+ readonly trackUri: TrackUri;
8
+ /**
9
+ * An array of the ad breaks for this track.
10
+ */
11
+ readonly adBreaks: AdBreakList;
12
+ }
13
+ /**
14
+ * Where an ad break is scheduled relative to the main content.
15
+ *
16
+ * - `preroll` - before content playback begins (start time at or near 0).
17
+ * - `midroll` - during content playback.
18
+ * - `postroll` - at the end of content playback.
19
+ */
20
+ export type AdBreakPlacement = 'preroll' | 'midroll' | 'postroll';
21
+ /**
22
+ * Restrictions on user interaction during an ad break.
23
+ */
24
+ export interface AdRestriction {
25
+ /**
26
+ * When true, the user should not be allowed to skip this ad.
27
+ *
28
+ * This is not enforced by the player; the application is expected
29
+ * to respect this flag when showing ad skip controls.
30
+ */
31
+ readonly skip?: boolean;
32
+ /**
33
+ * When true, the user should not be allowed to seek past this ad.
34
+ */
35
+ readonly jump?: boolean;
36
+ }
37
+ /**
38
+ * A provider-agnostic description of a single ad break on the media timeline.
39
+ *
40
+ * An ad break is a span of the presentation that carries advertising rather
41
+ * than primary content. The same shape is produced from HLS Interstitials
42
+ * (EXT-X-DATERANGE with `CLASS="com.apple.hls.interstitial"`) and, in the
43
+ * future, from DASH SCTE-35 splice signals, so applications observe one
44
+ * interface regardless of the streaming protocol.
45
+ *
46
+ * Times are expressed on the player's media timeline, in seconds, so they can
47
+ * be compared directly against the media's current time.
48
+ */
49
+ export interface AdBreakInfo {
50
+ /**
51
+ * A stable identifier for this ad break, unique within the current media
52
+ * presentation. Derived from the source signal (e.g. the HLS DATERANGE ID).
53
+ */
54
+ readonly id: string;
55
+ /**
56
+ * The start time of the ad break on the media timeline, in seconds.
57
+ */
58
+ readonly startTime: number;
59
+ /**
60
+ * The duration of the ad break in seconds, or null when unknown (e.g. a
61
+ * still-open live break that has not yet resolved its end).
62
+ */
63
+ readonly duration: number | null;
64
+ /**
65
+ * The scheduled placement of the break relative to primary content.
66
+ */
67
+ readonly placement: AdBreakPlacement;
68
+ /**
69
+ * The individual ad assets that make up this break, in playback order.
70
+ */
71
+ readonly ads: ValueProvider<AdList>;
72
+ /**
73
+ * Restrictions on user interaction during this ad break.
74
+ */
75
+ readonly restrict: AdRestriction;
76
+ /**
77
+ * When true, this break plays at most once for the presentation and is not
78
+ * replayed even if the playhead re-crosses it (e.g. after a seek back). When
79
+ * false, the break may replay each time the playhead re-enters its region.
80
+ *
81
+ * (An HLS interstitial sets this from a `CUE=ONCE` hint.)
82
+ */
83
+ readonly once: boolean;
84
+ /**
85
+ * The offset, in seconds, from this break's scheduled {@link startTime} at
86
+ * which primary content resumes after the break. A signed value: 0 resumes
87
+ * in place (the break is purely additive). `null` means no resume offset was
88
+ * specified, in which case content resumes advanced by the break's actual
89
+ * playout duration (i.e. the break replaces that much primary content) —
90
+ * this is distinct from an explicit 0.
91
+ *
92
+ * (An HLS interstitial sets this from `X-RESUME-OFFSET`.)
93
+ */
94
+ readonly resumeOffset: number | null;
95
+ /**
96
+ * The maximum total playout time of the whole break, in seconds, summed
97
+ * across all of its ads, or `null` when the break's playout is uncapped.
98
+ * Distinct from {@link duration} (the break's timeline span) and from an
99
+ * individual {@link AdInfo.duration}.
100
+ *
101
+ * (An HLS interstitial sets this from `X-PLAYOUT-LIMIT`.)
102
+ */
103
+ readonly playoutLimit: number | null;
104
+ /**
105
+ * How far ahead of this break's {@link startTime}, in seconds, the player
106
+ * should resolve and preload the break's ad assets so they are ready when
107
+ * the playhead reaches it. `null` when the source specifies no offset, in
108
+ * which case the controller falls back to its `preloadAheadTime` option.
109
+ * Applies to midroll and postroll breaks; prerolls are preloaded up front.
110
+ *
111
+ * (An HLS interstitial sets this from `X-RESOLUTION-TIME-OFFSET`.)
112
+ */
113
+ readonly resolutionTimeOffset: number | null;
114
+ /**
115
+ * The window during which the user may skip this break, or a provider
116
+ * resolving to `null` when the break carries no skip window (skippability is
117
+ * then governed by {@link AdRestriction.skip}). Resolved lazily because, like
118
+ * {@link ads}, it may require fetching the break's asset list.
119
+ *
120
+ * (An HLS interstitial sets this from the `X-ASSET-LIST` `SKIP-CONTROL`.)
121
+ */
122
+ readonly skipControl: ValueProvider<SkipControl | null>;
123
+ }
124
+ /**
125
+ * Describes when a user may skip an ad break: skipping becomes available
126
+ * {@link offset} seconds into the break and remains offered for {@link duration}
127
+ * seconds (or the rest of the break when null).
128
+ */
129
+ export interface SkipControl {
130
+ /** Seconds from the break start at which skipping becomes available. */
131
+ readonly offset: number;
132
+ /**
133
+ * Seconds the skip control remains offered after {@link offset}, or `null`
134
+ * to offer it for the remainder of the break.
135
+ */
136
+ readonly duration: number | null;
137
+ }
138
+ /**
139
+ * An ad break list, sorted by start time ascendingly.
140
+ */
141
+ export type AdBreakList = readonly AdBreakInfo[];
142
+ /**
143
+ * A single ad within an {@link AdBreakInfo}.
144
+ */
145
+ export interface AdInfo {
146
+ /** A stable identifier for this ad within its break. */
147
+ readonly id: string;
148
+ /** The start time of this ad on the media timeline, in seconds. */
149
+ readonly startTime: number;
150
+ /** The duration of this ad in seconds, or null when unknown. */
151
+ readonly duration: number | null;
152
+ /**
153
+ * The URI of the ad asset, when the source signal provides one directly
154
+ * (e.g. an HLS interstitial `X-ASSET-URI`). Null when the ad is described
155
+ * only indirectly.
156
+ */
157
+ readonly uri: TrackUri | null;
158
+ }
159
+ export type AdList = readonly AdInfo[];
160
+ //# sourceMappingURL=AdBreakInfo.d.ts.map