@amazon/vinyl 1.1.1 → 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 (714) hide show
  1. package/dist/index.cjs +286 -201
  2. package/dist/index.cjs.map +4 -4
  3. package/dist/index.js +294 -206
  4. package/dist/index.js.map +4 -4
  5. package/dist/test/benchmark.es5.js +169 -232
  6. package/dist/test/benchmark.js +1475 -1933
  7. package/dist/test/benchmark.js.map +4 -4
  8. package/dist/test/integ.es5.js +771 -394
  9. package/dist/test/integ.js +5996 -5138
  10. package/dist/test/integ.js.map +4 -4
  11. package/dist/test/jasmineHtml.es5.js +8 -8
  12. package/dist/test/jasmineHtml.js +8 -4
  13. package/dist/test/jasmineHtml.js.map +3 -3
  14. package/dist/types/current/ad/AdBreakInfo.d.ts +160 -0
  15. package/dist/types/current/ad/AdBreakInfo.d.ts.map +1 -0
  16. package/dist/types/current/ad/AdBreakInfo.js +5 -0
  17. package/dist/types/current/ad/AdController.d.ts +229 -0
  18. package/dist/types/current/ad/AdController.d.ts.map +1 -0
  19. package/dist/types/current/ad/AdController.js +19 -0
  20. package/dist/types/current/ad/AdControllerImpl.d.ts +146 -0
  21. package/dist/types/current/ad/AdControllerImpl.d.ts.map +1 -0
  22. package/dist/types/current/ad/AdControllerImpl.js +705 -0
  23. package/dist/types/current/ad/AdError.d.ts +6 -0
  24. package/dist/types/current/ad/AdError.d.ts.map +1 -0
  25. package/dist/types/current/ad/AdError.js +14 -0
  26. package/dist/types/current/ad/AdsProvider.d.ts +28 -0
  27. package/dist/types/current/ad/AdsProvider.d.ts.map +1 -0
  28. package/dist/types/current/ad/AdsProvider.js +5 -0
  29. package/dist/types/current/ad/defaultAdLoadOptionsResolver.d.ts +12 -0
  30. package/dist/types/current/ad/defaultAdLoadOptionsResolver.d.ts.map +1 -0
  31. package/dist/types/current/ad/defaultAdLoadOptionsResolver.js +26 -0
  32. package/dist/types/current/ad/discoverHlsInterstitials.d.ts +22 -0
  33. package/dist/types/current/ad/discoverHlsInterstitials.d.ts.map +1 -0
  34. package/dist/types/current/ad/discoverHlsInterstitials.js +246 -0
  35. package/dist/types/current/client/Capabilities.d.ts.map +1 -1
  36. package/dist/types/current/client/CapabilitiesImpl.d.ts.map +1 -1
  37. package/dist/types/current/drm/DrmController.d.ts +2 -2
  38. package/dist/types/current/drm/DrmController.d.ts.map +1 -1
  39. package/dist/types/current/drm/DrmControllerImpl.d.ts +3 -3
  40. package/dist/types/current/drm/DrmControllerImpl.d.ts.map +1 -1
  41. package/dist/types/current/drm/DrmControllerImpl.js +18 -8
  42. package/dist/types/current/drm/DrmKeySystemResolver.d.ts +1 -1
  43. package/dist/types/current/drm/DrmKeySystemResolver.d.ts.map +1 -1
  44. package/dist/types/current/drm/DrmKeySystemResolver.js +1 -1
  45. package/dist/types/current/drm/DrmOptions.d.ts +1 -1
  46. package/dist/types/current/drm/DrmOptions.d.ts.map +1 -1
  47. package/dist/types/current/drm/DrmOptions.js +1 -1
  48. package/dist/types/current/drm/commonEme/CommonEme.d.ts +2 -2
  49. package/dist/types/current/drm/commonEme/CommonEme.d.ts.map +1 -1
  50. package/dist/types/current/drm/commonEme/CommonEmeFactory.d.ts +1 -1
  51. package/dist/types/current/drm/commonEme/CommonEmeFactory.d.ts.map +1 -1
  52. package/dist/types/current/drm/commonEme/MsCommonEme.d.ts +1 -1
  53. package/dist/types/current/drm/commonEme/MsCommonEme.d.ts.map +1 -1
  54. package/dist/types/current/drm/commonEme/MsCommonEme.js +1 -1
  55. package/dist/types/current/drm/commonEme/StandardCommonEme.d.ts +1 -1
  56. package/dist/types/current/drm/commonEme/StandardCommonEme.d.ts.map +1 -1
  57. package/dist/types/current/drm/commonEme/WebKitCommonEme.d.ts +2 -2
  58. package/dist/types/current/drm/commonEme/WebKitCommonEme.d.ts.map +1 -1
  59. package/dist/types/current/drm/commonEme/WebKitCommonEme.js +1 -1
  60. package/dist/types/current/drm/commonEme/createDrmErrorHandler.js +1 -1
  61. package/dist/types/current/drm/licenseProvider/LicenseProvider.d.ts +1 -1
  62. package/dist/types/current/drm/licenseProvider/LicenseProvider.d.ts.map +1 -1
  63. package/dist/types/current/global/environment.d.ts +6 -2
  64. package/dist/types/current/global/environment.d.ts.map +1 -1
  65. package/dist/types/current/global/environment.js +4 -3
  66. package/dist/types/current/global/initializeVinylGlobal.js +1 -1
  67. package/dist/types/current/patch/media/MediaElementPatchOptions.js +1 -1
  68. package/dist/types/current/patch/media/patchMediaElement.js +1 -1
  69. package/dist/types/current/patch/media/patches/createPreventStallsPatch.d.ts +1 -1
  70. package/dist/types/current/patch/media/patches/createPreventStallsPatch.d.ts.map +1 -1
  71. package/dist/types/current/patch/media/patches/createUnreliablePlaybackEventsPatch.d.ts +1 -1
  72. package/dist/types/current/patch/media/patches/createUnreliablePlaybackEventsPatch.d.ts.map +1 -1
  73. package/dist/types/current/playback/PlaybackControllerImpl.d.ts +2 -2
  74. package/dist/types/current/playback/PlaybackControllerImpl.d.ts.map +1 -1
  75. package/dist/types/current/playback/PlaybackControllerImpl.js +4 -4
  76. package/dist/types/current/playback/ReadonlyPlaybackController.d.ts.map +1 -1
  77. package/dist/types/current/playback/error/ReportableMediaError.js +1 -1
  78. package/dist/types/current/playback/logging/playbackStateLoggingHandler.d.ts +1 -1
  79. package/dist/types/current/playback/logging/playbackStateLoggingHandler.d.ts.map +1 -1
  80. package/dist/types/current/playback/logging/playbackStateLoggingHandler.js +1 -1
  81. package/dist/types/current/playback/nextHasMetadata.d.ts +1 -1
  82. package/dist/types/current/playback/nextHasMetadata.d.ts.map +1 -1
  83. package/dist/types/current/streaming/AudioOptions.d.ts +39 -0
  84. package/dist/types/current/streaming/AudioOptions.d.ts.map +1 -0
  85. package/dist/types/current/streaming/AudioOptions.js +15 -0
  86. package/dist/types/current/streaming/ContentStream.d.ts +4 -4
  87. package/dist/types/current/streaming/ContentStream.d.ts.map +1 -1
  88. package/dist/types/current/streaming/ContentStreamingOptions.d.ts +2 -2
  89. package/dist/types/current/streaming/ContentStreamingOptions.d.ts.map +1 -1
  90. package/dist/types/current/streaming/LoadMetric.d.ts +58 -0
  91. package/dist/types/current/streaming/LoadMetric.d.ts.map +1 -0
  92. package/dist/types/current/streaming/LoadMetric.js +5 -0
  93. package/dist/types/current/streaming/ManifestControllerImpl.d.ts +43 -0
  94. package/dist/types/current/streaming/ManifestControllerImpl.d.ts.map +1 -0
  95. package/dist/types/current/streaming/ManifestControllerImpl.js +104 -0
  96. package/dist/types/current/streaming/MediaQualityMetadata.d.ts +2 -2
  97. package/dist/types/current/streaming/MediaQualityMetadata.d.ts.map +1 -1
  98. package/dist/types/current/streaming/MediaQualityMetadata.js +1 -1
  99. package/dist/types/current/streaming/MediaTimeline.d.ts +6 -5
  100. package/dist/types/current/streaming/MediaTimeline.d.ts.map +1 -1
  101. package/dist/types/current/streaming/SegmentController.d.ts +2 -7
  102. package/dist/types/current/streaming/SegmentController.d.ts.map +1 -1
  103. package/dist/types/current/streaming/SegmentControllerImpl.d.ts +5 -6
  104. package/dist/types/current/streaming/SegmentControllerImpl.d.ts.map +1 -1
  105. package/dist/types/current/streaming/SegmentControllerImpl.js +5 -15
  106. package/dist/types/current/streaming/SegmentReference.d.ts +1 -1
  107. package/dist/types/current/streaming/SegmentReference.d.ts.map +1 -1
  108. package/dist/types/current/streaming/StreamingEventMap.d.ts +1 -1
  109. package/dist/types/current/streaming/StreamingEventMap.d.ts.map +1 -1
  110. package/dist/types/current/streaming/abr/QualitySelector.d.ts +1 -1
  111. package/dist/types/current/streaming/abr/QualitySelector.d.ts.map +1 -1
  112. package/dist/types/current/streaming/abr/QualitySelectorImpl.d.ts +18 -3
  113. package/dist/types/current/streaming/abr/QualitySelectorImpl.d.ts.map +1 -1
  114. package/dist/types/current/streaming/abr/QualitySelectorImpl.js +8 -2
  115. package/dist/types/current/streaming/buffering/BufferingController.d.ts +3 -13
  116. package/dist/types/current/streaming/buffering/BufferingController.d.ts.map +1 -1
  117. package/dist/types/current/streaming/buffering/BufferingController.js +1 -24
  118. package/dist/types/current/streaming/buffering/MediaSourceController.d.ts +41 -15
  119. package/dist/types/current/streaming/buffering/MediaSourceController.d.ts.map +1 -1
  120. package/dist/types/current/streaming/buffering/MediaSourceController.js +74 -17
  121. package/dist/types/current/streaming/buffering/SourceBufferController.d.ts +1 -1
  122. package/dist/types/current/streaming/buffering/SourceBufferController.d.ts.map +1 -1
  123. package/dist/types/current/streaming/buffering/codecDenylist.d.ts +23 -0
  124. package/dist/types/current/streaming/buffering/codecDenylist.d.ts.map +1 -0
  125. package/dist/types/current/streaming/buffering/codecDenylist.js +62 -0
  126. package/dist/types/current/streaming/createAllowedContentTypesValue.d.ts +30 -0
  127. package/dist/types/current/streaming/createAllowedContentTypesValue.d.ts.map +1 -0
  128. package/dist/types/current/streaming/createAllowedContentTypesValue.js +43 -0
  129. package/dist/types/current/streaming/createDefaultMediaTimelineTransformer.d.ts +1 -1
  130. package/dist/types/current/streaming/createDefaultMediaTimelineTransformer.d.ts.map +1 -1
  131. package/dist/types/current/streaming/createDefaultMediaTimelineTransformer.js +2 -2
  132. package/dist/types/current/streaming/mediaTimelineAccessibilityFilter.d.ts +35 -0
  133. package/dist/types/current/streaming/mediaTimelineAccessibilityFilter.d.ts.map +1 -0
  134. package/dist/types/current/streaming/mediaTimelineAccessibilityFilter.js +75 -0
  135. package/dist/types/current/streaming/mediaTimelineFilter.d.ts +3 -3
  136. package/dist/types/current/streaming/mediaTimelineFilter.d.ts.map +1 -1
  137. package/dist/types/current/streaming/mediaTimelineFilter.js +1 -1
  138. package/dist/types/current/streaming/mediaTimelineLanguageFilter.d.ts +1 -1
  139. package/dist/types/current/streaming/mediaTimelineLanguageFilter.d.ts.map +1 -1
  140. package/dist/types/current/streaming/util/segment.d.ts +1 -1
  141. package/dist/types/current/streaming/util/segment.d.ts.map +1 -1
  142. package/dist/types/current/text/HtmlTextTrackRenderer.d.ts +60 -0
  143. package/dist/types/current/text/HtmlTextTrackRenderer.d.ts.map +1 -0
  144. package/dist/types/current/text/HtmlTextTrackRenderer.js +231 -0
  145. package/dist/types/current/text/SidecarTextTrackController.d.ts +103 -0
  146. package/dist/types/current/text/SidecarTextTrackController.d.ts.map +1 -0
  147. package/dist/types/current/text/SidecarTextTrackController.js +250 -0
  148. package/dist/types/current/text/SidecarTextTrackLoader.d.ts +65 -0
  149. package/dist/types/current/text/SidecarTextTrackLoader.d.ts.map +1 -0
  150. package/dist/types/current/text/SidecarTextTrackLoader.js +150 -0
  151. package/dist/types/current/text/TextTrack.d.ts +179 -0
  152. package/dist/types/current/text/TextTrack.d.ts.map +1 -0
  153. package/dist/types/current/text/TextTrack.js +29 -0
  154. package/dist/types/current/text/TextTrackRenderer.d.ts +24 -0
  155. package/dist/types/current/text/TextTrackRenderer.d.ts.map +1 -0
  156. package/dist/types/current/text/TextTrackRenderer.js +5 -0
  157. package/dist/types/current/text/VttCueStyle.d.ts +41 -0
  158. package/dist/types/current/text/VttCueStyle.d.ts.map +1 -0
  159. package/dist/types/current/text/VttCueStyle.js +45 -0
  160. package/dist/types/current/text/discoverDashTextTracks.d.ts +24 -0
  161. package/dist/types/current/text/discoverDashTextTracks.d.ts.map +1 -0
  162. package/dist/types/current/text/discoverDashTextTracks.js +109 -0
  163. package/dist/types/current/text/discoverHlsTextTracks.d.ts +19 -0
  164. package/dist/types/current/text/discoverHlsTextTracks.d.ts.map +1 -0
  165. package/dist/types/current/text/discoverHlsTextTracks.js +49 -0
  166. package/dist/types/current/text/mediaTextTrackProvider.d.ts +34 -0
  167. package/dist/types/current/text/mediaTextTrackProvider.d.ts.map +1 -0
  168. package/dist/types/current/text/mediaTextTrackProvider.js +42 -0
  169. package/dist/types/current/text/parseWebVtt.d.ts +60 -0
  170. package/dist/types/current/text/parseWebVtt.d.ts.map +1 -0
  171. package/dist/types/current/text/parseWebVtt.js +248 -0
  172. package/dist/types/current/text/pickPreferredTextTrack.d.ts +15 -0
  173. package/dist/types/current/text/pickPreferredTextTrack.d.ts.map +1 -0
  174. package/dist/types/current/text/pickPreferredTextTrack.js +71 -0
  175. package/dist/types/current/track/AutoResetController.d.ts +37 -12
  176. package/dist/types/current/track/AutoResetController.d.ts.map +1 -1
  177. package/dist/types/current/track/AutoResetController.js +38 -28
  178. package/dist/types/current/track/SeekRange.d.ts +9 -0
  179. package/dist/types/current/track/SeekRange.d.ts.map +1 -0
  180. package/dist/types/current/track/SeekRange.js +5 -0
  181. package/dist/types/current/track/Track.d.ts.map +1 -1
  182. package/dist/types/current/track/TrackBase.d.ts.map +1 -1
  183. package/dist/types/current/track/TrackController.d.ts +2 -2
  184. package/dist/types/current/track/TrackController.d.ts.map +1 -1
  185. package/dist/types/current/track/TrackFactory.d.ts +1 -1
  186. package/dist/types/current/track/TrackFactory.d.ts.map +1 -1
  187. package/dist/types/current/track/createSegmentDataProvider.d.ts.map +1 -1
  188. package/dist/types/current/track/createVinylTrackFactories.d.ts +5 -5
  189. package/dist/types/current/track/createVinylTrackFactories.d.ts.map +1 -1
  190. package/dist/types/current/track/createVinylTrackFactories.js +4 -4
  191. package/dist/types/current/track/dash/DashManifestController.d.ts +1 -1
  192. package/dist/types/current/track/dash/DashManifestController.d.ts.map +1 -1
  193. package/dist/types/current/track/dash/DashMediaQualityMetadataResolver.d.ts.map +1 -1
  194. package/dist/types/current/track/dash/DashMediaQualityMetadataResolver.js +1 -1
  195. package/dist/types/current/track/dash/DashTrack.d.ts +4 -4
  196. package/dist/types/current/track/dash/DashTrack.d.ts.map +1 -1
  197. package/dist/types/current/track/dash/DashTrack.js +2 -2
  198. package/dist/types/current/track/dash/buildDashMediaTimeline.d.ts +2 -2
  199. package/dist/types/current/track/dash/buildDashMediaTimeline.d.ts.map +1 -1
  200. package/dist/types/current/track/dash/buildDashMediaTimeline.js +2 -2
  201. package/dist/types/current/track/dash/createDashContentStreamFactories.d.ts.map +1 -1
  202. package/dist/types/current/track/dash/createDashContentTypesValue.d.ts +2 -2
  203. package/dist/types/current/track/dash/createDashContentTypesValue.d.ts.map +1 -1
  204. package/dist/types/current/track/dash/createDashContentTypesValue.js +1 -1
  205. package/dist/types/current/track/dash/createDashFactories.d.ts +12 -12
  206. package/dist/types/current/track/dash/createDashFactories.d.ts.map +1 -1
  207. package/dist/types/current/track/dash/createDashFactories.js +8 -8
  208. package/dist/types/current/track/dash/createDashManifestProvider.d.ts +1 -1
  209. package/dist/types/current/track/dash/createDashManifestProvider.d.ts.map +1 -1
  210. package/dist/types/current/track/dash/createDashManifestProvider.js +1 -1
  211. package/dist/types/current/track/dash/createDefaultDashManifestTransformer.d.ts +1 -1
  212. package/dist/types/current/track/dash/createDefaultDashManifestTransformer.d.ts.map +1 -1
  213. package/dist/types/current/track/dash/createDefaultDashManifestTransformer.js +1 -1
  214. package/dist/types/current/track/dash/createSegmentControllerFactory.d.ts.map +1 -1
  215. package/dist/types/current/track/dash/manifestTransformUtils.d.ts +1 -1
  216. package/dist/types/current/track/dash/manifestTransformUtils.d.ts.map +1 -1
  217. package/dist/types/current/track/dash/timeline/DashRepresentationSegmentProvider.d.ts +3 -3
  218. package/dist/types/current/track/dash/timeline/DashRepresentationSegmentProvider.d.ts.map +1 -1
  219. package/dist/types/current/track/dash/timeline/DashRepresentationSegmentProvider.js +3 -3
  220. package/dist/types/current/track/dash/urlDashManifestProvider.d.ts +1 -1
  221. package/dist/types/current/track/dash/urlDashManifestProvider.d.ts.map +1 -1
  222. package/dist/types/current/track/dash/util/mimeType.d.ts.map +1 -1
  223. package/dist/types/current/track/dash/util/mimeType.js +1 -1
  224. package/dist/types/current/track/dash/util/mpd.d.ts +3 -2
  225. package/dist/types/current/track/dash/util/mpd.d.ts.map +1 -1
  226. package/dist/types/current/track/dash/util/mpd.js +13 -3
  227. package/dist/types/current/track/dash/util/uriResolution.js +1 -1
  228. package/dist/types/current/track/filters/keySystemFilter.d.ts.map +1 -1
  229. package/dist/types/current/track/filters/resourceTypeFilter.d.ts.map +1 -1
  230. package/dist/types/current/track/filters/sampleRateFilter.d.ts.map +1 -1
  231. package/dist/types/current/track/hls/HlsManifestData.d.ts +19 -0
  232. package/dist/types/current/track/hls/HlsManifestData.d.ts.map +1 -0
  233. package/dist/types/current/track/hls/HlsManifestData.js +5 -0
  234. package/dist/types/current/track/hls/HlsTrack.d.ts.map +1 -1
  235. package/dist/types/current/track/hls/buildHlsMediaTimeline.d.ts +3 -3
  236. package/dist/types/current/track/hls/buildHlsMediaTimeline.d.ts.map +1 -1
  237. package/dist/types/current/track/hls/buildHlsMediaTimeline.js +16 -14
  238. package/dist/types/current/track/hls/createDefaultHlsManifestTransformer.d.ts +1 -1
  239. package/dist/types/current/track/hls/createDefaultHlsManifestTransformer.d.ts.map +1 -1
  240. package/dist/types/current/track/hls/createHlsContentStreamFactories.d.ts.map +1 -1
  241. package/dist/types/current/track/hls/createHlsManifestProvider.d.ts +6 -0
  242. package/dist/types/current/track/hls/createHlsManifestProvider.d.ts.map +1 -0
  243. package/dist/types/current/track/hls/createHlsManifestProvider.js +9 -0
  244. package/dist/types/current/track/hls/util/hlsSegmentTime.d.ts +1 -1
  245. package/dist/types/current/track/hls/util/hlsSegmentTime.d.ts.map +1 -1
  246. package/dist/types/current/track/hls/util/hlsSegmentTime.js +1 -1
  247. package/dist/types/current/track/inferLoadOptionsFromUri.d.ts +15 -0
  248. package/dist/types/current/track/inferLoadOptionsFromUri.d.ts.map +1 -0
  249. package/dist/types/current/track/inferLoadOptionsFromUri.js +55 -0
  250. package/dist/types/current/track/mse/MseTrack.d.ts +2 -2
  251. package/dist/types/current/track/mse/MseTrack.d.ts.map +1 -1
  252. package/dist/types/current/track/mse/MseTrack.js +2 -1
  253. package/dist/types/current/track/mse/codec.d.ts.map +1 -1
  254. package/dist/types/current/track/source/FixedPlaybackQuality.d.ts +1 -1
  255. package/dist/types/current/track/source/FixedPlaybackQuality.d.ts.map +1 -1
  256. package/dist/types/current/track/source/SourceObjectTrack.d.ts +4 -4
  257. package/dist/types/current/track/source/SourceObjectTrack.d.ts.map +1 -1
  258. package/dist/types/current/track/source/SourceObjectTrack.js +2 -2
  259. package/dist/types/current/track/source/SourceTrack.d.ts +4 -4
  260. package/dist/types/current/track/source/SourceTrack.d.ts.map +1 -1
  261. package/dist/types/current/track/source/SourceTrack.js +2 -2
  262. package/dist/types/current/track/source/SourceTrackBase.d.ts +2 -2
  263. package/dist/types/current/track/source/SourceTrackBase.d.ts.map +1 -1
  264. package/dist/types/current/track/source/SourceTrackBase.js +2 -2
  265. package/dist/types/current/tsconfig.tsbuildinfo +1 -1
  266. package/dist/types/current/util/media/codecOverrides.d.ts +33 -0
  267. package/dist/types/current/util/media/codecOverrides.d.ts.map +1 -0
  268. package/dist/types/current/util/media/codecOverrides.js +37 -0
  269. package/dist/types/current/util/media/codecSupport.d.ts +6 -0
  270. package/dist/types/current/util/media/codecSupport.d.ts.map +1 -0
  271. package/dist/types/current/util/media/codecSupport.js +17 -0
  272. package/dist/types/current/util/media/mimeType.d.ts +8 -0
  273. package/dist/types/current/util/media/mimeType.d.ts.map +1 -0
  274. package/dist/types/current/util/media/mimeType.js +13 -0
  275. package/dist/types/current/vinyl/ReadonlyPlaybackStreamingState.d.ts.map +1 -1
  276. package/dist/types/current/vinyl/VinylDeps.d.ts +1 -1
  277. package/dist/types/current/vinyl/VinylDeps.d.ts.map +1 -1
  278. package/dist/types/current/vinyl/VinylOptions.d.ts.map +1 -1
  279. package/dist/types/current/vinyl/VinylPatchOptions.d.ts.map +1 -1
  280. package/dist/types/current/vinyl/VinylPlayer.d.ts +26 -2
  281. package/dist/types/current/vinyl/VinylPlayer.d.ts.map +1 -1
  282. package/dist/types/current/vinyl/VinylPlayer.js +18 -3
  283. package/dist/types/current/vinyl/createVinylFactories.d.ts +9 -11
  284. package/dist/types/current/vinyl/createVinylFactories.d.ts.map +1 -1
  285. package/dist/types/current/vinyl/createVinylFactories.js +2 -2
  286. package/dist/types/ts3.7/ad/AdBreakInfo.d.ts +160 -0
  287. package/dist/types/ts3.7/ad/AdController.d.ts +243 -0
  288. package/dist/types/ts3.7/ad/AdControllerImpl.d.ts +146 -0
  289. package/dist/types/ts3.7/ad/AdError.d.ts +6 -0
  290. package/dist/types/ts3.7/ad/AdsProvider.d.ts +28 -0
  291. package/dist/types/ts3.7/ad/defaultAdLoadOptionsResolver.d.ts +12 -0
  292. package/dist/types/ts3.7/ad/discoverHlsInterstitials.d.ts +22 -0
  293. package/dist/types/ts3.7/drm/DrmController.d.ts +2 -2
  294. package/dist/types/ts3.7/drm/DrmControllerImpl.d.ts +3 -3
  295. package/dist/types/ts3.7/drm/DrmKeySystemResolver.d.ts +1 -1
  296. package/dist/types/ts3.7/drm/DrmOptions.d.ts +1 -1
  297. package/dist/types/ts3.7/drm/commonEme/CommonEme.d.ts +2 -2
  298. package/dist/types/ts3.7/drm/commonEme/CommonEmeFactory.d.ts +1 -1
  299. package/dist/types/ts3.7/drm/commonEme/MsCommonEme.d.ts +1 -1
  300. package/dist/types/ts3.7/drm/commonEme/StandardCommonEme.d.ts +1 -1
  301. package/dist/types/ts3.7/drm/commonEme/WebKitCommonEme.d.ts +2 -2
  302. package/dist/types/ts3.7/drm/licenseProvider/LicenseProvider.d.ts +1 -1
  303. package/dist/types/ts3.7/global/environment.d.ts +6 -2
  304. package/dist/types/ts3.7/patch/media/patches/createPreventStallsPatch.d.ts +1 -1
  305. package/dist/types/ts3.7/patch/media/patches/createUnreliablePlaybackEventsPatch.d.ts +1 -1
  306. package/dist/types/ts3.7/playback/PlaybackControllerImpl.d.ts +2 -2
  307. package/dist/types/ts3.7/playback/logging/playbackStateLoggingHandler.d.ts +1 -1
  308. package/dist/types/ts3.7/playback/nextHasMetadata.d.ts +1 -1
  309. package/dist/types/ts3.7/streaming/AudioOptions.d.ts +39 -0
  310. package/dist/types/ts3.7/streaming/ContentStream.d.ts +4 -4
  311. package/dist/types/ts3.7/streaming/ContentStreamingOptions.d.ts +2 -2
  312. package/dist/types/ts3.7/streaming/LoadMetric.d.ts +58 -0
  313. package/dist/types/ts3.7/streaming/ManifestControllerImpl.d.ts +40 -0
  314. package/dist/types/ts3.7/streaming/MediaQualityMetadata.d.ts +2 -2
  315. package/dist/types/ts3.7/streaming/MediaTimeline.d.ts +6 -5
  316. package/dist/types/ts3.7/streaming/SegmentController.d.ts +2 -7
  317. package/dist/types/ts3.7/streaming/SegmentControllerImpl.d.ts +5 -6
  318. package/dist/types/ts3.7/streaming/SegmentReference.d.ts +1 -1
  319. package/dist/types/ts3.7/streaming/StreamingEventMap.d.ts +1 -1
  320. package/dist/types/ts3.7/streaming/abr/QualitySelector.d.ts +1 -1
  321. package/dist/types/ts3.7/streaming/abr/QualitySelectorImpl.d.ts +18 -3
  322. package/dist/types/ts3.7/streaming/buffering/BufferingController.d.ts +3 -13
  323. package/dist/types/ts3.7/streaming/buffering/MediaSourceController.d.ts +41 -15
  324. package/dist/types/ts3.7/streaming/buffering/SourceBufferController.d.ts +1 -1
  325. package/dist/types/ts3.7/streaming/buffering/codecDenylist.d.ts +23 -0
  326. package/dist/types/ts3.7/streaming/createAllowedContentTypesValue.d.ts +30 -0
  327. package/dist/types/ts3.7/streaming/createDefaultMediaTimelineTransformer.d.ts +1 -1
  328. package/dist/types/ts3.7/streaming/mediaTimelineAccessibilityFilter.d.ts +35 -0
  329. package/dist/types/ts3.7/streaming/mediaTimelineFilter.d.ts +3 -3
  330. package/dist/types/ts3.7/streaming/mediaTimelineLanguageFilter.d.ts +1 -1
  331. package/dist/types/ts3.7/streaming/util/segment.d.ts +1 -1
  332. package/dist/types/ts3.7/text/HtmlTextTrackRenderer.d.ts +60 -0
  333. package/dist/types/ts3.7/text/SidecarTextTrackController.d.ts +103 -0
  334. package/dist/types/ts3.7/text/SidecarTextTrackLoader.d.ts +65 -0
  335. package/dist/types/ts3.7/text/TextTrack.d.ts +183 -0
  336. package/dist/types/ts3.7/text/TextTrackRenderer.d.ts +24 -0
  337. package/dist/types/ts3.7/text/VttCueStyle.d.ts +41 -0
  338. package/dist/types/ts3.7/text/discoverDashTextTracks.d.ts +24 -0
  339. package/dist/types/ts3.7/text/discoverHlsTextTracks.d.ts +19 -0
  340. package/dist/types/ts3.7/text/mediaTextTrackProvider.d.ts +34 -0
  341. package/dist/types/ts3.7/text/parseWebVtt.d.ts +60 -0
  342. package/dist/types/ts3.7/text/pickPreferredTextTrack.d.ts +15 -0
  343. package/dist/types/ts3.7/track/AutoResetController.d.ts +37 -12
  344. package/dist/types/ts3.7/track/SeekRange.d.ts +9 -0
  345. package/dist/types/ts3.7/track/TrackController.d.ts +2 -2
  346. package/dist/types/ts3.7/track/TrackFactory.d.ts +1 -1
  347. package/dist/types/ts3.7/track/createVinylTrackFactories.d.ts +5 -5
  348. package/dist/types/ts3.7/track/dash/DashManifestController.d.ts +1 -1
  349. package/dist/types/ts3.7/track/dash/DashTrack.d.ts +4 -4
  350. package/dist/types/ts3.7/track/dash/buildDashMediaTimeline.d.ts +2 -2
  351. package/dist/types/ts3.7/track/dash/createDashContentTypesValue.d.ts +2 -2
  352. package/dist/types/ts3.7/track/dash/createDashFactories.d.ts +12 -12
  353. package/dist/types/ts3.7/track/dash/createDashManifestProvider.d.ts +1 -1
  354. package/dist/types/ts3.7/track/dash/createDefaultDashManifestTransformer.d.ts +1 -1
  355. package/dist/types/ts3.7/track/dash/manifestTransformUtils.d.ts +1 -1
  356. package/dist/types/ts3.7/track/dash/timeline/DashRepresentationSegmentProvider.d.ts +3 -3
  357. package/dist/types/ts3.7/track/dash/urlDashManifestProvider.d.ts +1 -1
  358. package/dist/types/ts3.7/track/dash/util/mpd.d.ts +3 -2
  359. package/dist/types/ts3.7/track/hls/HlsManifestData.d.ts +19 -0
  360. package/dist/types/ts3.7/track/hls/buildHlsMediaTimeline.d.ts +3 -3
  361. package/dist/types/ts3.7/track/hls/createDefaultHlsManifestTransformer.d.ts +1 -1
  362. package/dist/types/ts3.7/track/hls/createHlsManifestProvider.d.ts +6 -0
  363. package/dist/types/ts3.7/track/hls/util/hlsSegmentTime.d.ts +1 -1
  364. package/dist/types/ts3.7/track/inferLoadOptionsFromUri.d.ts +15 -0
  365. package/dist/types/ts3.7/track/mse/MseTrack.d.ts +2 -2
  366. package/dist/types/ts3.7/track/source/FixedPlaybackQuality.d.ts +1 -1
  367. package/dist/types/ts3.7/track/source/SourceObjectTrack.d.ts +4 -4
  368. package/dist/types/ts3.7/track/source/SourceTrack.d.ts +4 -4
  369. package/dist/types/ts3.7/track/source/SourceTrackBase.d.ts +2 -2
  370. package/dist/types/ts3.7/util/media/codecOverrides.d.ts +33 -0
  371. package/dist/types/ts3.7/util/media/codecSupport.d.ts +6 -0
  372. package/dist/types/ts3.7/util/media/mimeType.d.ts +8 -0
  373. package/dist/types/ts3.7/vinyl/VinylDeps.d.ts +1 -1
  374. package/dist/types/ts3.7/vinyl/VinylPlayer.d.ts +18 -2
  375. package/dist/types/ts3.7/vinyl/createVinylFactories.d.ts +9 -11
  376. package/dist/types/ts4.1/ad/AdBreakInfo.d.ts +160 -0
  377. package/dist/types/ts4.1/ad/AdController.d.ts +243 -0
  378. package/dist/types/ts4.1/ad/AdControllerImpl.d.ts +146 -0
  379. package/dist/types/ts4.1/ad/AdError.d.ts +6 -0
  380. package/dist/types/ts4.1/ad/AdsProvider.d.ts +28 -0
  381. package/dist/types/ts4.1/ad/defaultAdLoadOptionsResolver.d.ts +12 -0
  382. package/dist/types/ts4.1/ad/discoverHlsInterstitials.d.ts +22 -0
  383. package/dist/types/ts4.1/drm/DrmController.d.ts +2 -2
  384. package/dist/types/ts4.1/drm/DrmControllerImpl.d.ts +3 -3
  385. package/dist/types/ts4.1/drm/DrmKeySystemResolver.d.ts +1 -1
  386. package/dist/types/ts4.1/drm/DrmOptions.d.ts +1 -1
  387. package/dist/types/ts4.1/drm/commonEme/CommonEme.d.ts +2 -2
  388. package/dist/types/ts4.1/drm/commonEme/CommonEmeFactory.d.ts +1 -1
  389. package/dist/types/ts4.1/drm/commonEme/MsCommonEme.d.ts +1 -1
  390. package/dist/types/ts4.1/drm/commonEme/StandardCommonEme.d.ts +1 -1
  391. package/dist/types/ts4.1/drm/commonEme/WebKitCommonEme.d.ts +2 -2
  392. package/dist/types/ts4.1/drm/licenseProvider/LicenseProvider.d.ts +1 -1
  393. package/dist/types/ts4.1/global/environment.d.ts +6 -2
  394. package/dist/types/ts4.1/patch/media/patches/createPreventStallsPatch.d.ts +1 -1
  395. package/dist/types/ts4.1/patch/media/patches/createUnreliablePlaybackEventsPatch.d.ts +1 -1
  396. package/dist/types/ts4.1/playback/PlaybackControllerImpl.d.ts +2 -2
  397. package/dist/types/ts4.1/playback/logging/playbackStateLoggingHandler.d.ts +1 -1
  398. package/dist/types/ts4.1/playback/nextHasMetadata.d.ts +1 -1
  399. package/dist/types/ts4.1/streaming/AudioOptions.d.ts +39 -0
  400. package/dist/types/ts4.1/streaming/ContentStream.d.ts +4 -4
  401. package/dist/types/ts4.1/streaming/ContentStreamingOptions.d.ts +2 -2
  402. package/dist/types/ts4.1/streaming/LoadMetric.d.ts +58 -0
  403. package/dist/types/ts4.1/streaming/ManifestControllerImpl.d.ts +40 -0
  404. package/dist/types/ts4.1/streaming/MediaQualityMetadata.d.ts +2 -2
  405. package/dist/types/ts4.1/streaming/MediaTimeline.d.ts +6 -5
  406. package/dist/types/ts4.1/streaming/SegmentController.d.ts +2 -7
  407. package/dist/types/ts4.1/streaming/SegmentControllerImpl.d.ts +5 -6
  408. package/dist/types/ts4.1/streaming/SegmentReference.d.ts +1 -1
  409. package/dist/types/ts4.1/streaming/StreamingEventMap.d.ts +1 -1
  410. package/dist/types/ts4.1/streaming/abr/QualitySelector.d.ts +1 -1
  411. package/dist/types/ts4.1/streaming/abr/QualitySelectorImpl.d.ts +18 -3
  412. package/dist/types/ts4.1/streaming/buffering/BufferingController.d.ts +3 -13
  413. package/dist/types/ts4.1/streaming/buffering/MediaSourceController.d.ts +41 -15
  414. package/dist/types/ts4.1/streaming/buffering/SourceBufferController.d.ts +1 -1
  415. package/dist/types/ts4.1/streaming/buffering/codecDenylist.d.ts +23 -0
  416. package/dist/types/ts4.1/streaming/createAllowedContentTypesValue.d.ts +30 -0
  417. package/dist/types/ts4.1/streaming/createDefaultMediaTimelineTransformer.d.ts +1 -1
  418. package/dist/types/ts4.1/streaming/mediaTimelineAccessibilityFilter.d.ts +35 -0
  419. package/dist/types/ts4.1/streaming/mediaTimelineFilter.d.ts +3 -3
  420. package/dist/types/ts4.1/streaming/mediaTimelineLanguageFilter.d.ts +1 -1
  421. package/dist/types/ts4.1/streaming/util/segment.d.ts +1 -1
  422. package/dist/types/ts4.1/text/HtmlTextTrackRenderer.d.ts +60 -0
  423. package/dist/types/ts4.1/text/SidecarTextTrackController.d.ts +104 -0
  424. package/dist/types/ts4.1/text/SidecarTextTrackLoader.d.ts +65 -0
  425. package/dist/types/ts4.1/text/TextTrack.d.ts +183 -0
  426. package/dist/types/ts4.1/text/TextTrackRenderer.d.ts +24 -0
  427. package/dist/types/ts4.1/text/VttCueStyle.d.ts +41 -0
  428. package/dist/types/ts4.1/text/discoverDashTextTracks.d.ts +24 -0
  429. package/dist/types/ts4.1/text/discoverHlsTextTracks.d.ts +19 -0
  430. package/dist/types/ts4.1/text/mediaTextTrackProvider.d.ts +34 -0
  431. package/dist/types/ts4.1/text/parseWebVtt.d.ts +60 -0
  432. package/dist/types/ts4.1/text/pickPreferredTextTrack.d.ts +15 -0
  433. package/dist/types/ts4.1/track/AutoResetController.d.ts +37 -12
  434. package/dist/types/ts4.1/track/SeekRange.d.ts +9 -0
  435. package/dist/types/ts4.1/track/TrackController.d.ts +2 -2
  436. package/dist/types/ts4.1/track/TrackFactory.d.ts +1 -1
  437. package/dist/types/ts4.1/track/createVinylTrackFactories.d.ts +5 -5
  438. package/dist/types/ts4.1/track/dash/DashManifestController.d.ts +1 -1
  439. package/dist/types/ts4.1/track/dash/DashTrack.d.ts +4 -4
  440. package/dist/types/ts4.1/track/dash/buildDashMediaTimeline.d.ts +2 -2
  441. package/dist/types/ts4.1/track/dash/createDashContentTypesValue.d.ts +2 -2
  442. package/dist/types/ts4.1/track/dash/createDashFactories.d.ts +12 -12
  443. package/dist/types/ts4.1/track/dash/createDashManifestProvider.d.ts +1 -1
  444. package/dist/types/ts4.1/track/dash/createDefaultDashManifestTransformer.d.ts +1 -1
  445. package/dist/types/ts4.1/track/dash/manifestTransformUtils.d.ts +1 -1
  446. package/dist/types/ts4.1/track/dash/timeline/DashRepresentationSegmentProvider.d.ts +3 -3
  447. package/dist/types/ts4.1/track/dash/urlDashManifestProvider.d.ts +1 -1
  448. package/dist/types/ts4.1/track/dash/util/mpd.d.ts +3 -2
  449. package/dist/types/ts4.1/track/hls/HlsManifestData.d.ts +19 -0
  450. package/dist/types/ts4.1/track/hls/buildHlsMediaTimeline.d.ts +3 -3
  451. package/dist/types/ts4.1/track/hls/createDefaultHlsManifestTransformer.d.ts +1 -1
  452. package/dist/types/ts4.1/track/hls/createHlsManifestProvider.d.ts +6 -0
  453. package/dist/types/ts4.1/track/hls/util/hlsSegmentTime.d.ts +1 -1
  454. package/dist/types/ts4.1/track/inferLoadOptionsFromUri.d.ts +15 -0
  455. package/dist/types/ts4.1/track/mse/MseTrack.d.ts +3 -3
  456. package/dist/types/ts4.1/track/source/FixedPlaybackQuality.d.ts +1 -1
  457. package/dist/types/ts4.1/track/source/SourceObjectTrack.d.ts +5 -5
  458. package/dist/types/ts4.1/track/source/SourceTrack.d.ts +5 -5
  459. package/dist/types/ts4.1/track/source/SourceTrackBase.d.ts +3 -3
  460. package/dist/types/ts4.1/util/media/codecOverrides.d.ts +33 -0
  461. package/dist/types/ts4.1/util/media/codecSupport.d.ts +6 -0
  462. package/dist/types/ts4.1/util/media/mimeType.d.ts +8 -0
  463. package/dist/types/ts4.1/vinyl/VinylDeps.d.ts +1 -1
  464. package/dist/types/ts4.1/vinyl/VinylPlayer.d.ts +18 -2
  465. package/dist/types/ts4.1/vinyl/createVinylFactories.d.ts +9 -11
  466. package/dist/types/ts4.7/ad/AdBreakInfo.d.ts +160 -0
  467. package/dist/types/ts4.7/ad/AdController.d.ts +243 -0
  468. package/dist/types/ts4.7/ad/AdControllerImpl.d.ts +146 -0
  469. package/dist/types/ts4.7/ad/AdError.d.ts +6 -0
  470. package/dist/types/ts4.7/ad/AdsProvider.d.ts +28 -0
  471. package/dist/types/ts4.7/ad/defaultAdLoadOptionsResolver.d.ts +12 -0
  472. package/dist/types/ts4.7/ad/discoverHlsInterstitials.d.ts +22 -0
  473. package/dist/types/ts4.7/drm/DrmController.d.ts +2 -2
  474. package/dist/types/ts4.7/drm/DrmControllerImpl.d.ts +3 -3
  475. package/dist/types/ts4.7/drm/DrmKeySystemResolver.d.ts +1 -1
  476. package/dist/types/ts4.7/drm/DrmOptions.d.ts +1 -1
  477. package/dist/types/ts4.7/drm/commonEme/CommonEme.d.ts +2 -2
  478. package/dist/types/ts4.7/drm/commonEme/CommonEmeFactory.d.ts +1 -1
  479. package/dist/types/ts4.7/drm/commonEme/MsCommonEme.d.ts +1 -1
  480. package/dist/types/ts4.7/drm/commonEme/StandardCommonEme.d.ts +1 -1
  481. package/dist/types/ts4.7/drm/commonEme/WebKitCommonEme.d.ts +2 -2
  482. package/dist/types/ts4.7/drm/licenseProvider/LicenseProvider.d.ts +1 -1
  483. package/dist/types/ts4.7/global/environment.d.ts +6 -2
  484. package/dist/types/ts4.7/patch/media/patches/createPreventStallsPatch.d.ts +1 -1
  485. package/dist/types/ts4.7/patch/media/patches/createUnreliablePlaybackEventsPatch.d.ts +1 -1
  486. package/dist/types/ts4.7/playback/PlaybackControllerImpl.d.ts +2 -2
  487. package/dist/types/ts4.7/playback/logging/playbackStateLoggingHandler.d.ts +1 -1
  488. package/dist/types/ts4.7/playback/nextHasMetadata.d.ts +1 -1
  489. package/dist/types/ts4.7/streaming/AudioOptions.d.ts +39 -0
  490. package/dist/types/ts4.7/streaming/ContentStream.d.ts +4 -4
  491. package/dist/types/ts4.7/streaming/ContentStreamingOptions.d.ts +2 -2
  492. package/dist/types/ts4.7/streaming/LoadMetric.d.ts +58 -0
  493. package/dist/types/ts4.7/streaming/ManifestControllerImpl.d.ts +43 -0
  494. package/dist/types/ts4.7/streaming/MediaQualityMetadata.d.ts +2 -2
  495. package/dist/types/ts4.7/streaming/MediaTimeline.d.ts +6 -5
  496. package/dist/types/ts4.7/streaming/SegmentController.d.ts +2 -7
  497. package/dist/types/ts4.7/streaming/SegmentControllerImpl.d.ts +5 -6
  498. package/dist/types/ts4.7/streaming/SegmentReference.d.ts +1 -1
  499. package/dist/types/ts4.7/streaming/StreamingEventMap.d.ts +1 -1
  500. package/dist/types/ts4.7/streaming/abr/QualitySelector.d.ts +1 -1
  501. package/dist/types/ts4.7/streaming/abr/QualitySelectorImpl.d.ts +18 -3
  502. package/dist/types/ts4.7/streaming/buffering/BufferingController.d.ts +3 -13
  503. package/dist/types/ts4.7/streaming/buffering/MediaSourceController.d.ts +41 -15
  504. package/dist/types/ts4.7/streaming/buffering/SourceBufferController.d.ts +1 -1
  505. package/dist/types/ts4.7/streaming/buffering/codecDenylist.d.ts +23 -0
  506. package/dist/types/ts4.7/streaming/createAllowedContentTypesValue.d.ts +30 -0
  507. package/dist/types/ts4.7/streaming/createDefaultMediaTimelineTransformer.d.ts +1 -1
  508. package/dist/types/ts4.7/streaming/mediaTimelineAccessibilityFilter.d.ts +35 -0
  509. package/dist/types/ts4.7/streaming/mediaTimelineFilter.d.ts +3 -3
  510. package/dist/types/ts4.7/streaming/mediaTimelineLanguageFilter.d.ts +1 -1
  511. package/dist/types/ts4.7/streaming/util/segment.d.ts +1 -1
  512. package/dist/types/ts4.7/text/HtmlTextTrackRenderer.d.ts +60 -0
  513. package/dist/types/ts4.7/text/SidecarTextTrackController.d.ts +103 -0
  514. package/dist/types/ts4.7/text/SidecarTextTrackLoader.d.ts +65 -0
  515. package/dist/types/ts4.7/text/TextTrack.d.ts +183 -0
  516. package/dist/types/ts4.7/text/TextTrackRenderer.d.ts +24 -0
  517. package/dist/types/ts4.7/text/VttCueStyle.d.ts +41 -0
  518. package/dist/types/ts4.7/text/discoverDashTextTracks.d.ts +24 -0
  519. package/dist/types/ts4.7/text/discoverHlsTextTracks.d.ts +19 -0
  520. package/dist/types/ts4.7/text/mediaTextTrackProvider.d.ts +34 -0
  521. package/dist/types/ts4.7/text/parseWebVtt.d.ts +60 -0
  522. package/dist/types/ts4.7/text/pickPreferredTextTrack.d.ts +15 -0
  523. package/dist/types/ts4.7/track/AutoResetController.d.ts +37 -12
  524. package/dist/types/ts4.7/track/SeekRange.d.ts +9 -0
  525. package/dist/types/ts4.7/track/TrackController.d.ts +2 -2
  526. package/dist/types/ts4.7/track/TrackFactory.d.ts +1 -1
  527. package/dist/types/ts4.7/track/createVinylTrackFactories.d.ts +5 -5
  528. package/dist/types/ts4.7/track/dash/DashManifestController.d.ts +1 -1
  529. package/dist/types/ts4.7/track/dash/DashTrack.d.ts +4 -4
  530. package/dist/types/ts4.7/track/dash/buildDashMediaTimeline.d.ts +2 -2
  531. package/dist/types/ts4.7/track/dash/createDashContentTypesValue.d.ts +2 -2
  532. package/dist/types/ts4.7/track/dash/createDashFactories.d.ts +12 -12
  533. package/dist/types/ts4.7/track/dash/createDashManifestProvider.d.ts +1 -1
  534. package/dist/types/ts4.7/track/dash/createDefaultDashManifestTransformer.d.ts +1 -1
  535. package/dist/types/ts4.7/track/dash/manifestTransformUtils.d.ts +1 -1
  536. package/dist/types/ts4.7/track/dash/timeline/DashRepresentationSegmentProvider.d.ts +3 -3
  537. package/dist/types/ts4.7/track/dash/urlDashManifestProvider.d.ts +1 -1
  538. package/dist/types/ts4.7/track/dash/util/mpd.d.ts +3 -2
  539. package/dist/types/ts4.7/track/hls/HlsManifestData.d.ts +19 -0
  540. package/dist/types/ts4.7/track/hls/buildHlsMediaTimeline.d.ts +3 -3
  541. package/dist/types/ts4.7/track/hls/createDefaultHlsManifestTransformer.d.ts +1 -1
  542. package/dist/types/ts4.7/track/hls/createHlsManifestProvider.d.ts +6 -0
  543. package/dist/types/ts4.7/track/hls/util/hlsSegmentTime.d.ts +1 -1
  544. package/dist/types/ts4.7/track/inferLoadOptionsFromUri.d.ts +15 -0
  545. package/dist/types/ts4.7/track/mse/MseTrack.d.ts +2 -2
  546. package/dist/types/ts4.7/track/source/FixedPlaybackQuality.d.ts +1 -1
  547. package/dist/types/ts4.7/track/source/SourceObjectTrack.d.ts +4 -4
  548. package/dist/types/ts4.7/track/source/SourceTrack.d.ts +4 -4
  549. package/dist/types/ts4.7/track/source/SourceTrackBase.d.ts +2 -2
  550. package/dist/types/ts4.7/util/media/codecOverrides.d.ts +33 -0
  551. package/dist/types/ts4.7/util/media/codecSupport.d.ts +6 -0
  552. package/dist/types/ts4.7/util/media/mimeType.d.ts +8 -0
  553. package/dist/types/ts4.7/vinyl/VinylDeps.d.ts +1 -1
  554. package/dist/types/ts4.7/vinyl/VinylPlayer.d.ts +26 -2
  555. package/dist/types/ts4.7/vinyl/createVinylFactories.d.ts +9 -11
  556. package/dist/unit/types/current/ad/AdController.test.d.ts +2 -0
  557. package/dist/unit/types/current/ad/AdController.test.d.ts.map +1 -0
  558. package/dist/unit/types/current/ad/AdController.test.js +10 -0
  559. package/dist/unit/types/current/ad/AdControllerImpl.test.d.ts +2 -0
  560. package/dist/unit/types/current/ad/AdControllerImpl.test.d.ts.map +1 -0
  561. package/dist/unit/types/current/ad/AdControllerImpl.test.js +1456 -0
  562. package/dist/unit/types/current/ad/defaultAdLoadOptionsResolver.test.d.ts +2 -0
  563. package/dist/unit/types/current/ad/defaultAdLoadOptionsResolver.test.d.ts.map +1 -0
  564. package/dist/unit/types/current/ad/defaultAdLoadOptionsResolver.test.js +56 -0
  565. package/dist/unit/types/current/ad/discoverHlsInterstitials.test.d.ts +2 -0
  566. package/dist/unit/types/current/ad/discoverHlsInterstitials.test.d.ts.map +1 -0
  567. package/dist/unit/types/current/ad/discoverHlsInterstitials.test.js +756 -0
  568. package/dist/unit/types/current/drm/DrmControllerImpl.test.js +66 -1
  569. package/dist/unit/types/current/streaming/ManifestControllerImpl.test.d.ts +2 -0
  570. package/dist/unit/types/current/streaming/ManifestControllerImpl.test.d.ts.map +1 -0
  571. package/dist/unit/types/current/streaming/ManifestControllerImpl.test.js +197 -0
  572. package/dist/unit/types/current/streaming/MediaTimeline.test.js +6 -1
  573. package/dist/unit/types/current/streaming/MseTrack.test.js +4 -0
  574. package/dist/unit/types/current/streaming/SegmentControllerImpl.test.js +3 -33
  575. package/dist/unit/types/current/streaming/abr/QualitySelectorImpl.test.js +73 -0
  576. package/dist/unit/types/current/streaming/buffering/BufferingController.test.js +1 -41
  577. package/dist/unit/types/current/streaming/buffering/MediaSourceController.test.js +97 -17
  578. package/dist/unit/types/current/streaming/buffering/codecDenylist.test.d.ts +2 -0
  579. package/dist/unit/types/current/streaming/buffering/codecDenylist.test.d.ts.map +1 -0
  580. package/dist/unit/types/current/streaming/buffering/codecDenylist.test.js +56 -0
  581. package/dist/unit/types/current/streaming/createAllowedContentTypesValue.test.d.ts +2 -0
  582. package/dist/unit/types/current/streaming/createAllowedContentTypesValue.test.d.ts.map +1 -0
  583. package/dist/unit/types/current/streaming/createAllowedContentTypesValue.test.js +77 -0
  584. package/dist/unit/types/current/streaming/createDefaultMediaTimelineTransformer.test.js +6 -0
  585. package/dist/unit/types/current/streaming/mediaTimelineAccessibilityFilter.test.d.ts +2 -0
  586. package/dist/unit/types/current/streaming/mediaTimelineAccessibilityFilter.test.d.ts.map +1 -0
  587. package/dist/unit/types/current/streaming/mediaTimelineAccessibilityFilter.test.js +99 -0
  588. package/dist/unit/types/current/streaming/mediaTimelineFilter.test.js +2 -0
  589. package/dist/unit/types/current/streaming/mediaTimelineLanguageFilter.test.js +7 -0
  590. package/dist/unit/types/current/text/HtmlTextTrackRenderer.test.d.ts +2 -0
  591. package/dist/unit/types/current/text/HtmlTextTrackRenderer.test.d.ts.map +1 -0
  592. package/dist/unit/types/current/text/HtmlTextTrackRenderer.test.js +231 -0
  593. package/dist/unit/types/current/text/SidecarTextTrackController.test.d.ts +2 -0
  594. package/dist/unit/types/current/text/SidecarTextTrackController.test.d.ts.map +1 -0
  595. package/dist/unit/types/current/text/SidecarTextTrackController.test.js +686 -0
  596. package/dist/unit/types/current/text/SidecarTextTrackLoader.test.d.ts +2 -0
  597. package/dist/unit/types/current/text/SidecarTextTrackLoader.test.d.ts.map +1 -0
  598. package/dist/unit/types/current/text/SidecarTextTrackLoader.test.js +365 -0
  599. package/dist/unit/types/current/text/VttCueStyle.test.d.ts +2 -0
  600. package/dist/unit/types/current/text/VttCueStyle.test.d.ts.map +1 -0
  601. package/dist/unit/types/current/text/VttCueStyle.test.js +76 -0
  602. package/dist/unit/types/current/text/discoverDashTextTracks.test.d.ts +2 -0
  603. package/dist/unit/types/current/text/discoverDashTextTracks.test.d.ts.map +1 -0
  604. package/dist/unit/types/current/text/discoverDashTextTracks.test.js +199 -0
  605. package/dist/unit/types/current/text/discoverHlsTextTracks.test.d.ts +2 -0
  606. package/dist/unit/types/current/text/discoverHlsTextTracks.test.d.ts.map +1 -0
  607. package/dist/unit/types/current/text/discoverHlsTextTracks.test.js +177 -0
  608. package/dist/unit/types/current/text/mediaTextTrackProvider.test.d.ts +2 -0
  609. package/dist/unit/types/current/text/mediaTextTrackProvider.test.d.ts.map +1 -0
  610. package/dist/unit/types/current/text/mediaTextTrackProvider.test.js +86 -0
  611. package/dist/unit/types/current/text/parseWebVtt.test.d.ts +2 -0
  612. package/dist/unit/types/current/text/parseWebVtt.test.d.ts.map +1 -0
  613. package/dist/unit/types/current/text/parseWebVtt.test.js +393 -0
  614. package/dist/unit/types/current/text/pickPreferredTextTrack.test.d.ts +2 -0
  615. package/dist/unit/types/current/text/pickPreferredTextTrack.test.d.ts.map +1 -0
  616. package/dist/unit/types/current/text/pickPreferredTextTrack.test.js +78 -0
  617. package/dist/unit/types/current/track/AutoResetController.test.js +134 -22
  618. package/dist/unit/types/current/track/dash/createDashContentStreamFactories.test.js +5 -1
  619. package/dist/unit/types/current/track/dash/createSegmentControllerFactory.test.js +5 -1
  620. package/dist/unit/types/current/track/dash/util/mpd.test.js +29 -0
  621. package/dist/unit/types/current/track/hls/buildHlsMediaTimeline.test.js +16 -8
  622. package/dist/unit/types/current/track/hls/createHlsContentStreamFactories.test.js +5 -1
  623. package/dist/unit/types/current/track/inferLoadOptionsFromUri.test.d.ts +2 -0
  624. package/dist/unit/types/current/track/inferLoadOptionsFromUri.test.d.ts.map +1 -0
  625. package/dist/unit/types/current/track/inferLoadOptionsFromUri.test.js +165 -0
  626. package/dist/unit/types/current/tsconfig.tsbuildinfo +1 -1
  627. package/dist/unit/types/current/util/media/codecOverrides.test.d.ts +2 -0
  628. package/dist/unit/types/current/util/media/codecOverrides.test.d.ts.map +1 -0
  629. package/dist/unit/types/current/util/media/codecOverrides.test.js +42 -0
  630. package/dist/unit/types/current/util/media/codecSupport.test.d.ts +2 -0
  631. package/dist/unit/types/current/util/media/codecSupport.test.d.ts.map +1 -0
  632. package/dist/unit/types/current/util/media/codecSupport.test.js +26 -0
  633. package/dist/unit/types/current/util/media/mimeType.test.d.ts +2 -0
  634. package/dist/unit/types/current/util/media/mimeType.test.d.ts.map +1 -0
  635. package/dist/unit/types/current/util/media/mimeType.test.js +22 -0
  636. package/dist/unit/types/current/vinyl/VinylPlayer.test.js +35 -0
  637. package/dist/unit/types/current/vinyl/VinylPlayerAdBreaks.test.d.ts +2 -0
  638. package/dist/unit/types/current/vinyl/VinylPlayerAdBreaks.test.d.ts.map +1 -0
  639. package/dist/unit/types/current/vinyl/VinylPlayerAdBreaks.test.js +142 -0
  640. package/dist/unit/types/current/vinyl/VinylPlayerTextTracks.test.d.ts +2 -0
  641. package/dist/unit/types/current/vinyl/VinylPlayerTextTracks.test.d.ts.map +1 -0
  642. package/dist/unit/types/current/vinyl/VinylPlayerTextTracks.test.js +188 -0
  643. package/dist/vinylTestUtil/index.js +20 -14
  644. package/dist/vinylTestUtil/index.js.map +2 -2
  645. package/dist/vinylTestUtil/types/current/media/FrequencyAnalyzer.js +1 -1
  646. package/dist/vinylTestUtil/types/current/mediaSource/ControlledMediaSource.d.ts.map +1 -1
  647. package/dist/vinylTestUtil/types/current/mock/ad/MockAdController.d.ts +15 -0
  648. package/dist/vinylTestUtil/types/current/mock/ad/MockAdController.d.ts.map +1 -0
  649. package/dist/vinylTestUtil/types/current/mock/ad/MockAdController.js +26 -0
  650. package/dist/vinylTestUtil/types/current/mock/dash/mockDashManifest.d.ts +72 -72
  651. package/dist/vinylTestUtil/types/current/mock/dom/ms/MockMSMediaKeySession.d.ts +2 -2
  652. package/dist/vinylTestUtil/types/current/mock/dom/webkit/MockWebKitMediaKeySession.d.ts +2 -2
  653. package/dist/vinylTestUtil/types/current/mock/player/MockVinylPlayerDependencies.d.ts +6 -6
  654. package/dist/vinylTestUtil/types/current/mock/player/MockVinylPlayerDependencies.d.ts.map +1 -1
  655. package/dist/vinylTestUtil/types/current/mock/player/MockVinylPlayerDependencies.js +7 -7
  656. package/dist/vinylTestUtil/types/current/mock/streaming/MockSegmentController.d.ts +0 -1
  657. package/dist/vinylTestUtil/types/current/mock/streaming/MockSegmentController.d.ts.map +1 -1
  658. package/dist/vinylTestUtil/types/current/mock/streaming/MockSegmentController.js +0 -1
  659. package/dist/vinylTestUtil/types/current/mock/streaming/buffering/MockMediaSourceController.d.ts +0 -1
  660. package/dist/vinylTestUtil/types/current/mock/streaming/buffering/MockMediaSourceController.d.ts.map +1 -1
  661. package/dist/vinylTestUtil/types/current/mock/streaming/buffering/MockMediaSourceController.js +0 -1
  662. package/dist/vinylTestUtil/types/current/mock/text/MockTextTrackController.d.ts +10 -0
  663. package/dist/vinylTestUtil/types/current/mock/text/MockTextTrackController.d.ts.map +1 -0
  664. package/dist/vinylTestUtil/types/current/mock/text/MockTextTrackController.js +14 -0
  665. package/dist/vinylTestUtil/types/current/mock/track/MockAutoResetController.d.ts +1 -0
  666. package/dist/vinylTestUtil/types/current/mock/track/MockAutoResetController.d.ts.map +1 -1
  667. package/dist/vinylTestUtil/types/current/mock/track/MockAutoResetController.js +1 -0
  668. package/dist/vinylTestUtil/types/current/mock/track/dash/createMockDashDependencies.d.ts +5 -5
  669. package/dist/vinylTestUtil/types/current/mock/track/dash/createMockDashDependencies.d.ts.map +1 -1
  670. package/dist/vinylTestUtil/types/current/mock/track/dash/createMockDashDependencies.js +11 -7
  671. package/dist/vinylTestUtil/types/current/mock/track/hls/createMockHlsDependencies.d.ts +5 -5
  672. package/dist/vinylTestUtil/types/current/mock/track/hls/createMockHlsDependencies.d.ts.map +1 -1
  673. package/dist/vinylTestUtil/types/current/mock/track/hls/createMockHlsDependencies.js +11 -7
  674. package/dist/vinylTestUtil/types/current/player/createVinylSuite.js +1 -1
  675. package/dist/vinylTestUtil/types/current/tsconfig.tsbuildinfo +1 -1
  676. package/dist/vinylTestUtil/types/current/util/playback/expectTrackCanSeek.js +1 -1
  677. package/dist/vinylTestUtil/types/current/util/playback/expectTrackPlays.js +2 -2
  678. package/dist/vinylTestUtil/types/current/util/playback/expectTrackPlaysUntil.d.ts.map +1 -1
  679. package/dist/vinylTestUtil/types/current/util/playback/expectTrackPlaysUntil.js +1 -2
  680. package/dist/vinylTestUtil/types/ts3.7/mock/ad/MockAdController.d.ts +15 -0
  681. package/dist/vinylTestUtil/types/ts3.7/mock/dash/mockDashManifest.d.ts +72 -72
  682. package/dist/vinylTestUtil/types/ts3.7/mock/dom/ms/MockMSMediaKeySession.d.ts +2 -2
  683. package/dist/vinylTestUtil/types/ts3.7/mock/dom/webkit/MockWebKitMediaKeySession.d.ts +2 -2
  684. package/dist/vinylTestUtil/types/ts3.7/mock/player/MockVinylPlayerDependencies.d.ts +6 -6
  685. package/dist/vinylTestUtil/types/ts3.7/mock/streaming/MockSegmentController.d.ts +0 -1
  686. package/dist/vinylTestUtil/types/ts3.7/mock/streaming/buffering/MockMediaSourceController.d.ts +0 -1
  687. package/dist/vinylTestUtil/types/ts3.7/mock/text/MockTextTrackController.d.ts +10 -0
  688. package/dist/vinylTestUtil/types/ts3.7/mock/track/MockAutoResetController.d.ts +1 -0
  689. package/dist/vinylTestUtil/types/ts3.7/mock/track/dash/createMockDashDependencies.d.ts +5 -5
  690. package/dist/vinylTestUtil/types/ts3.7/mock/track/hls/createMockHlsDependencies.d.ts +5 -5
  691. package/dist/vinylTestUtil/types/ts4.1/mock/ad/MockAdController.d.ts +15 -0
  692. package/dist/vinylTestUtil/types/ts4.1/mock/dash/mockDashManifest.d.ts +72 -72
  693. package/dist/vinylTestUtil/types/ts4.1/mock/dom/ms/MockMSMediaKeySession.d.ts +2 -2
  694. package/dist/vinylTestUtil/types/ts4.1/mock/dom/webkit/MockWebKitMediaKeySession.d.ts +2 -2
  695. package/dist/vinylTestUtil/types/ts4.1/mock/player/MockVinylPlayerDependencies.d.ts +6 -6
  696. package/dist/vinylTestUtil/types/ts4.1/mock/streaming/MockSegmentController.d.ts +0 -1
  697. package/dist/vinylTestUtil/types/ts4.1/mock/streaming/buffering/MockMediaSourceController.d.ts +0 -1
  698. package/dist/vinylTestUtil/types/ts4.1/mock/text/MockTextTrackController.d.ts +10 -0
  699. package/dist/vinylTestUtil/types/ts4.1/mock/track/MockAutoResetController.d.ts +1 -0
  700. package/dist/vinylTestUtil/types/ts4.1/mock/track/dash/createMockDashDependencies.d.ts +5 -5
  701. package/dist/vinylTestUtil/types/ts4.1/mock/track/hls/createMockHlsDependencies.d.ts +5 -5
  702. package/dist/vinylTestUtil/types/ts4.7/mock/ad/MockAdController.d.ts +15 -0
  703. package/dist/vinylTestUtil/types/ts4.7/mock/dash/mockDashManifest.d.ts +72 -72
  704. package/dist/vinylTestUtil/types/ts4.7/mock/dom/ms/MockMSMediaKeySession.d.ts +2 -2
  705. package/dist/vinylTestUtil/types/ts4.7/mock/dom/webkit/MockWebKitMediaKeySession.d.ts +2 -2
  706. package/dist/vinylTestUtil/types/ts4.7/mock/player/MockVinylPlayerDependencies.d.ts +6 -6
  707. package/dist/vinylTestUtil/types/ts4.7/mock/streaming/MockSegmentController.d.ts +0 -1
  708. package/dist/vinylTestUtil/types/ts4.7/mock/streaming/buffering/MockMediaSourceController.d.ts +0 -1
  709. package/dist/vinylTestUtil/types/ts4.7/mock/text/MockTextTrackController.d.ts +10 -0
  710. package/dist/vinylTestUtil/types/ts4.7/mock/track/MockAutoResetController.d.ts +1 -0
  711. package/dist/vinylTestUtil/types/ts4.7/mock/track/dash/createMockDashDependencies.d.ts +5 -5
  712. package/dist/vinylTestUtil/types/ts4.7/mock/track/hls/createMockHlsDependencies.d.ts +5 -5
  713. package/docs/USAGE.md +33 -0
  714. package/package.json +13 -16
@@ -0,0 +1,231 @@
1
+ /*
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ /** Approximate row height for integer (snap-to-lines) `line` offsets. */
6
+ const ROW_EM = 1.5;
7
+ /**
8
+ * Maps a cue's WebVTT positioning settings to inline CSS. Pure and DOM-free so
9
+ * the (branchy) placement logic is unit-testable in isolation.
10
+ *
11
+ * A cue with neither `line` nor `position` set flows in the renderer's
12
+ * bottom-anchored, centered container (the common subtitle case). Otherwise it
13
+ * is absolutely positioned: `size` → width, `position`/`positionAlign` →
14
+ * horizontal, `line`/`lineAlign`/`snapToLines` → vertical (percentage lines, or
15
+ * whole rows counted from the bottom for negative integers), `align` → text
16
+ * alignment, `vertical` → writing mode.
17
+ */
18
+ export function computeCueLayout(cue) {
19
+ const style = {};
20
+ // WebVTT's default text alignment is 'center'.
21
+ style.textAlign = cue.align || 'center';
22
+ if (cue.vertical === 'rl')
23
+ style.writingMode = 'vertical-rl';
24
+ else if (cue.vertical === 'lr')
25
+ style.writingMode = 'vertical-lr';
26
+ const size = typeof cue.size === 'number' ? cue.size : 100;
27
+ style.maxWidth = `${size}%`;
28
+ const line = typeof cue.line === 'number' ? cue.line : null;
29
+ const position = typeof cue.position === 'number' ? cue.position : null;
30
+ if (line == null && position == null)
31
+ return style;
32
+ style.position = 'absolute';
33
+ const transforms = [];
34
+ if (position == null) {
35
+ style.left = '50%';
36
+ transforms.push('translateX(-50%)');
37
+ }
38
+ else {
39
+ if (cue.positionAlign === 'line-right') {
40
+ style.right = `${100 - position}%`;
41
+ }
42
+ else if (cue.positionAlign === 'line-left') {
43
+ style.left = `${position}%`;
44
+ }
45
+ else {
46
+ style.left = `${position}%`;
47
+ transforms.push('translateX(-50%)');
48
+ }
49
+ }
50
+ if (line == null) {
51
+ style.bottom = '0';
52
+ }
53
+ else {
54
+ if (cue.snapToLines === false) {
55
+ if (cue.lineAlign === 'end') {
56
+ style.bottom = `${100 - line}%`;
57
+ }
58
+ else if (cue.lineAlign === 'center') {
59
+ style.top = `${line}%`;
60
+ transforms.push('translateY(-50%)');
61
+ }
62
+ else {
63
+ style.top = `${line}%`;
64
+ }
65
+ }
66
+ else if (line < 0) {
67
+ style.bottom = `${(-line - 1) * ROW_EM}em`;
68
+ }
69
+ else {
70
+ style.top = `${line * ROW_EM}em`;
71
+ }
72
+ }
73
+ if (transforms.length > 0)
74
+ style.transform = transforms.join(' ');
75
+ return style;
76
+ }
77
+ const HTML_ESCAPE = {
78
+ '&': '&amp;',
79
+ '<': '&lt;',
80
+ '>': '&gt;',
81
+ '"': '&quot;',
82
+ };
83
+ /** Escapes text (and attribute values) for safe insertion via innerHTML. */
84
+ function escapeHtml(text) {
85
+ // Character class, no backtracking.
86
+ return text.replace(/["&<>]/g, (ch) => HTML_ESCAPE[ch]);
87
+ }
88
+ // WebVTT inline tags rendered as the matching HTML element.
89
+ const PASSTHROUGH_TAGS = new Set(['i', 'b', 'u', 'ruby', 'rt']);
90
+ // Tags rendered as a <span> (styling/metadata carried via class/attributes).
91
+ const SPAN_TAGS = new Set(['c', 'v', 'lang']);
92
+ /** Opening HTML for a WebVTT start tag `inner` (the text between `<` and `>`). */
93
+ function openTag(inner) {
94
+ // Timestamp tags (`<00:00:00.000>`) carry no styling — drop them.
95
+ if (/^\d/.test(inner))
96
+ return '';
97
+ // The head (before any annotation) is `name` plus `.class` segments.
98
+ const head = inner.split(/\s/, 1)[0];
99
+ const [name, ...classes] = head.split('.');
100
+ const annotation = inner.slice(head.length).trim();
101
+ const classAttr = classes.filter(Boolean).length
102
+ ? ` class="${escapeHtml(classes.filter(Boolean).join(' '))}"`
103
+ : '';
104
+ if (PASSTHROUGH_TAGS.has(name))
105
+ return `<${name}${classAttr}>`;
106
+ if (name === 'v') {
107
+ const title = annotation ? ` title="${escapeHtml(annotation)}"` : '';
108
+ return `<span${classAttr}${title}>`;
109
+ }
110
+ if (name === 'lang') {
111
+ const lang = annotation ? ` lang="${escapeHtml(annotation)}"` : '';
112
+ return `<span${classAttr}${lang}>`;
113
+ }
114
+ if (name === 'c')
115
+ return `<span${classAttr}>`;
116
+ return ''; // unknown tag: drop
117
+ }
118
+ /** Closing HTML for a WebVTT end tag named `name`. */
119
+ function closeTag(name) {
120
+ if (PASSTHROUGH_TAGS.has(name))
121
+ return `</${name}>`;
122
+ if (SPAN_TAGS.has(name))
123
+ return '</span>';
124
+ return '';
125
+ }
126
+ /**
127
+ * Renders a cue's text payload as safe HTML. Text is escaped (so it can't
128
+ * inject nodes); newlines become `<br>`; and WebVTT cue tags are converted:
129
+ * `<c.foo>`→`<span class="foo">`, `<i>/<b>/<u>/<ruby>/<rt>` pass through,
130
+ * `<v Name>`→`<span title>`, `<lang xx>`→`<span lang>`, timestamp tags are
131
+ * dropped. Class-based styling requires matching app CSS (STYLE blocks in the
132
+ * VTT are not applied).
133
+ */
134
+ export function renderCueText(text) {
135
+ let html = '';
136
+ // Each match is one tag (`<…>`), a run of non-`<` text, or a stray `<`.
137
+ // The tag body excludes `<` (as well as `>`) so a failed tag match on a
138
+ // `<`-heavy string bails after one char rather than scanning to the end —
139
+ // keeping this linear (no polynomial backtracking) on adversarial input.
140
+ for (const token of text.match(/<[^<>]*>|[^<]+|</g) ?? []) {
141
+ if (token[0] !== '<' || token === '<') {
142
+ html += escapeHtml(token).replace(/\n/g, '<br>');
143
+ }
144
+ else {
145
+ const inner = token.slice(1, -1);
146
+ html +=
147
+ inner[0] === '/'
148
+ ? closeTag(inner.slice(1).split(/[.\s]/, 1)[0].toLowerCase())
149
+ : openTag(inner);
150
+ }
151
+ }
152
+ return html;
153
+ }
154
+ /**
155
+ * Rewrites a WebVTT `STYLE` block's `::cue` selectors to target this renderer's
156
+ * HTML cue elements: `::cue(<sel>)` → `.vinyl-text-cue <sel>` (cue components
157
+ * become descendants of the cue box) and bare `::cue` → `.vinyl-text-cue`.
158
+ * Rules are global to `.vinyl-text-cue`, so concurrent players share them.
159
+ */
160
+ function scopeCueRules(css) {
161
+ // Bounded character classes; no nested quantifiers, so no backtracking blowup.
162
+ return css
163
+ .replace(/::cue\(([^)]*)\)/g, '.vinyl-text-cue $1')
164
+ .replace(/::cue\b/g, '.vinyl-text-cue');
165
+ }
166
+ /**
167
+ * A {@link TextTrackRenderer} that paints cues as HTML into {@link element}.
168
+ * Mount `element` over the video; it stacks cues at the bottom, centered, and
169
+ * positions any cue that carries explicit WebVTT settings. The DOM track is
170
+ * expected to be `'hidden'` so only this renderer paints.
171
+ */
172
+ export class HtmlTextTrackRenderer {
173
+ /** The overlay container to mount over the video. */
174
+ element;
175
+ track = null;
176
+ // Holds the authored STYLE-block CSS (::cue rules rewritten to target our
177
+ // cue elements). A <style> renders nothing itself, so it lives in-container.
178
+ styleElement;
179
+ onCueChange = () => this.renderActiveCues();
180
+ constructor() {
181
+ this.element = document.createElement('div');
182
+ this.element.className = 'vinyl-text-container';
183
+ Object.assign(this.element.style, {
184
+ display: 'flex',
185
+ flexDirection: 'column',
186
+ justifyContent: 'flex-end',
187
+ alignItems: 'center',
188
+ pointerEvents: 'none',
189
+ });
190
+ this.styleElement = document.createElement('style');
191
+ this.element.appendChild(this.styleElement);
192
+ }
193
+ setTextTrack(track) {
194
+ if (track === this.track)
195
+ return;
196
+ this.track?.removeEventListener('cuechange', this.onCueChange);
197
+ this.track = track;
198
+ // Drop the previous track's authored styles; the new one supplies its
199
+ // own via setStyles once loaded.
200
+ this.styleElement.textContent = '';
201
+ if (!track) {
202
+ this.element.replaceChildren(this.styleElement);
203
+ return;
204
+ }
205
+ track.addEventListener('cuechange', this.onCueChange);
206
+ this.renderActiveCues();
207
+ }
208
+ setStyles(styles) {
209
+ this.styleElement.textContent = styles.map(scopeCueRules).join('\n');
210
+ }
211
+ dispose() {
212
+ this.setTextTrack(null);
213
+ }
214
+ renderActiveCues() {
215
+ // Only invoked while a track is attached (from setTextTrack / cuechange).
216
+ const active = this.track.activeCues ?? [];
217
+ // Keep the <style> element; replace only the cue boxes.
218
+ const children = [this.styleElement];
219
+ for (let i = 0; i < active.length; i++) {
220
+ children.push(this.createCueBox(active[i]));
221
+ }
222
+ this.element.replaceChildren(...children);
223
+ }
224
+ createCueBox(cue) {
225
+ const box = document.createElement('div');
226
+ box.className = 'vinyl-text-cue';
227
+ Object.assign(box.style, computeCueLayout(cue));
228
+ box.innerHTML = renderCueText(cue.text ?? '');
229
+ return box;
230
+ }
231
+ }
@@ -0,0 +1,103 @@
1
+ import { EventHostImpl, type Maybe, type RequestInitOptions } from '@amazon/vinyl-util';
2
+ import type { TextTrackController, TextTrackControllerOptions, TextTrackEventMap, TextTrackInfo } from './TextTrack';
3
+ import type { ObservableValue } from '@amazon/vinyl-observable';
4
+ import type { MediaTextTrackProvider } from './mediaTextTrackProvider';
5
+ import type { ReadonlyPlaybackController } from '../playback/ReadonlyPlaybackController';
6
+ import type { TextTrackRenderer } from './TextTrackRenderer';
7
+ export interface SidecarTextTrackControllerDeps {
8
+ /**
9
+ * Hands out (memoized) DOM text tracks. Text tracks can only be created on a
10
+ * media element and never removed, so the provider reuses one track per
11
+ * rendition rather than accumulating them.
12
+ */
13
+ readonly textTrackProvider: MediaTextTrackProvider;
14
+ /**
15
+ * Optional request init options forwarded with each VTT fetch (e.g. CORS).
16
+ */
17
+ readonly requestInit?: Maybe<RequestInitOptions>;
18
+ /**
19
+ * The discovered text tracks, re-emitted whenever the manifest changes.
20
+ */
21
+ readonly textTracks: ObservableValue<Promise<readonly TextTrackInfo[]>>;
22
+ /**
23
+ * Declarative selection / rendering configuration. Re-applied on change.
24
+ */
25
+ readonly options: ObservableValue<TextTrackControllerOptions>;
26
+ /**
27
+ * Supplies the current playhead used to fetch caption segments in a window
28
+ * around it.
29
+ */
30
+ readonly playbackController: ReadonlyPlaybackController;
31
+ /**
32
+ * Optional renderer that paints cues itself (HTML overlay). When provided,
33
+ * the DOM text track is kept `'hidden'` (timing only) and the renderer is
34
+ * handed the active track; without one, the track renders natively
35
+ * (`'showing'`).
36
+ */
37
+ readonly textTrackRenderer?: Maybe<TextTrackRenderer>;
38
+ }
39
+ /**
40
+ * Selects the text track that matches the given options, or null for none.
41
+ *
42
+ * The `enabled` mode gates everything: `'off'` renders nothing (default is
43
+ * `'forced'`). Otherwise an explicit {@link TextTrackSelection.id} wins; else
44
+ * the best language match is chosen among tracks filtered by kind and
45
+ * forced-ness. Forced-ness comes from {@link TextTrackSelection.forced} when
46
+ * set, otherwise from the mode (`'forced'` keeps only forced tracks, `'on'`
47
+ * only full tracks).
48
+ *
49
+ * @private
50
+ */
51
+ export declare function resolveSelectedTrack(tracks: readonly TextTrackInfo[], options: TextTrackControllerOptions): TextTrackInfo | null;
52
+ /**
53
+ * Manages a sidecar WebVTT-based text track lifecycle:
54
+ *
55
+ * - tracks the discovered {@link TextTrackInfo} list (from the `textTracks`
56
+ * observable) and the current selection (from the `options` observable)
57
+ * - on selection, fetches the chosen track's WebVTT and pushes cues to a DOM
58
+ * `TextTrack` obtained from the {@link MediaTextTrackProvider}
59
+ * - clears cues and hides the DOM track when the selection changes or clears
60
+ *
61
+ * The controller is agnostic of HLS/DASH discovery details; its inputs are the
62
+ * observables supplied by the manifest layer.
63
+ */
64
+ export declare class SidecarTextTrackController extends EventHostImpl<TextTrackEventMap> implements TextTrackController {
65
+ private readonly deps;
66
+ get [Symbol.toStringTag](): string;
67
+ private _active;
68
+ private _tracks;
69
+ private _activeTextTrack;
70
+ private _ref;
71
+ private readonly loadAbort;
72
+ private readonly disposer;
73
+ constructor(deps: SidecarTextTrackControllerDeps);
74
+ get textTracks(): readonly TextTrackInfo[];
75
+ get activeTextTrack(): TextTrackInfo | null;
76
+ get active(): boolean;
77
+ get disposed(): boolean;
78
+ /**
79
+ * Replaces the discovered track list, emits `textTracksChange`, then
80
+ * re-applies the current selection against the new list.
81
+ */
82
+ private setTracks;
83
+ /**
84
+ * Recomputes the selection from the current options and track list,
85
+ * emitting `activeTextTrackChange` on change and (re)rendering when active.
86
+ */
87
+ private refreshSelection;
88
+ deactivate(): void;
89
+ activate(): void;
90
+ private startLoad;
91
+ private appendCues;
92
+ /**
93
+ * Clears cues from the current DOM track and hides it, keeping the track for
94
+ * later reuse via the provider.
95
+ */
96
+ private hideCurrent;
97
+ /**
98
+ * Cancels any in-flight load, hides the DOM text track, and resets state.
99
+ * Called by the host when the underlying media is unloaded.
100
+ */
101
+ dispose(): void;
102
+ }
103
+ //# sourceMappingURL=SidecarTextTrackController.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidecarTextTrackController.d.ts","sourceRoot":"","sources":["../../../../src/text/SidecarTextTrackController.ts"],"names":[],"mappings":"AAKA,OAAO,EAKH,aAAa,EAEb,KAAK,KAAK,EACV,KAAK,kBAAkB,EAC1B,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EACR,mBAAmB,EACnB,0BAA0B,EAC1B,iBAAiB,EACjB,aAAa,EAChB,MAAM,aAAa,CAAA;AAGpB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAG/D,OAAO,KAAK,EACR,sBAAsB,EAEzB,MAAM,0BAA0B,CAAA;AACjC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,wCAAwC,CAAA;AACxF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAE5D,MAAM,WAAW,8BAA8B;IAC3C;;;;OAIG;IACH,QAAQ,CAAC,iBAAiB,EAAE,sBAAsB,CAAA;IAElD;;OAEG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAA;IAEhD;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC,OAAO,CAAC,SAAS,aAAa,EAAE,CAAC,CAAC,CAAA;IAEvE;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC,0BAA0B,CAAC,CAAA;IAE7D;;;OAGG;IACH,QAAQ,CAAC,kBAAkB,EAAE,0BAA0B,CAAA;IAEvD;;;;;OAKG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAA;CACxD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAChC,MAAM,EAAE,SAAS,aAAa,EAAE,EAChC,OAAO,EAAE,0BAA0B,GACpC,aAAa,GAAG,IAAI,CAiBtB;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,0BACT,SAAQ,aAAa,CAAC,iBAAiB,CACvC,YAAW,mBAAmB;IAkBlB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAhBjC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAEjC;IAID,OAAO,CAAC,OAAO,CAAQ;IAEvB,OAAO,CAAC,OAAO,CAA+B;IAC9C,OAAO,CAAC,gBAAgB,CAA6B;IAGrD,OAAO,CAAC,IAAI,CAA4B;IACxC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA+B;IACzD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;gBAEf,IAAI,EAAE,8BAA8B;IAmBjE,IAAI,UAAU,IAAI,SAAS,aAAa,EAAE,CAEzC;IAED,IAAI,eAAe,IAAI,aAAa,GAAG,IAAI,CAE1C;IAED,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;;OAGG;IACH,OAAO,CAAC,SAAS;IASjB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAqBxB,UAAU,IAAI,IAAI;IAKlB,QAAQ,IAAI,IAAI;IAOhB,OAAO,CAAC,SAAS;IAwDjB,OAAO,CAAC,UAAU;IAqBlB;;;OAGG;IACH,OAAO,CAAC,WAAW;IAYnB;;;OAGG;IACH,OAAO,IAAI,IAAI;CASlB"}
@@ -0,0 +1,250 @@
1
+ /*
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ import { createAbortSlot, createDisposer, equalDeep, EventHostImpl, logError, } from '@amazon/vinyl-util';
6
+ import { loadWebVttCues } from './SidecarTextTrackLoader';
7
+ import { pickPreferredTextTrack } from './pickPreferredTextTrack';
8
+ import { applyVttCueStyle, isVttCue } from './VttCueStyle';
9
+ /**
10
+ * Selects the text track that matches the given options, or null for none.
11
+ *
12
+ * The `enabled` mode gates everything: `'off'` renders nothing (default is
13
+ * `'forced'`). Otherwise an explicit {@link TextTrackSelection.id} wins; else
14
+ * the best language match is chosen among tracks filtered by kind and
15
+ * forced-ness. Forced-ness comes from {@link TextTrackSelection.forced} when
16
+ * set, otherwise from the mode (`'forced'` keeps only forced tracks, `'on'`
17
+ * only full tracks).
18
+ *
19
+ * @private
20
+ */
21
+ export function resolveSelectedTrack(tracks, options) {
22
+ const mode = options.enabled ?? 'forced';
23
+ if (mode === 'off')
24
+ return null;
25
+ const selection = options.selection ?? {};
26
+ if (selection.id != null) {
27
+ return tracks.find((t) => t.id === selection.id) ?? null;
28
+ }
29
+ let pool = tracks;
30
+ if (selection.kind != null) {
31
+ pool = pool.filter((t) => t.kind === selection.kind);
32
+ }
33
+ // Explicit forced filter overrides the mode's forced/full split.
34
+ const forced = selection.forced ?? mode === 'forced';
35
+ pool = pool.filter((t) => t.forced === forced);
36
+ // pickPreferredTextTrack falls back to navigator.languages when no language
37
+ // preference is supplied.
38
+ return pickPreferredTextTrack(pool, selection.language);
39
+ }
40
+ /**
41
+ * Manages a sidecar WebVTT-based text track lifecycle:
42
+ *
43
+ * - tracks the discovered {@link TextTrackInfo} list (from the `textTracks`
44
+ * observable) and the current selection (from the `options` observable)
45
+ * - on selection, fetches the chosen track's WebVTT and pushes cues to a DOM
46
+ * `TextTrack` obtained from the {@link MediaTextTrackProvider}
47
+ * - clears cues and hides the DOM track when the selection changes or clears
48
+ *
49
+ * The controller is agnostic of HLS/DASH discovery details; its inputs are the
50
+ * observables supplied by the manifest layer.
51
+ */
52
+ export class SidecarTextTrackController extends EventHostImpl {
53
+ deps;
54
+ get [Symbol.toStringTag]() {
55
+ return 'SidecarTextTrackController';
56
+ }
57
+ // Whether the owning media track is current (rendering allowed). Toggled by
58
+ // activate()/deactivate() across suspensions such as ad breaks.
59
+ _active = false;
60
+ _tracks = [];
61
+ _activeTextTrack = null;
62
+ // The DOM text track currently rendering cues, or null when hidden. Owned by
63
+ // the provider (never created/removed here).
64
+ _ref = null;
65
+ loadAbort = createAbortSlot();
66
+ disposer = createDisposer();
67
+ constructor(deps) {
68
+ super();
69
+ this.deps = deps;
70
+ const { add } = this.disposer;
71
+ // Both fire immediately with the current value, resolving the initial
72
+ // track list and selection on construction.
73
+ add(deps.options.onData(() => this.refreshSelection()));
74
+ add(deps.textTracks.onData((tracksPromise) => {
75
+ tracksPromise
76
+ .then((tracks) => this.setTracks(tracks))
77
+ .catch((error) => {
78
+ // Manifest errors surface through the manifest
79
+ // controller; just note and don't double-report.
80
+ logError(this, 'text tracks promise rejected', error);
81
+ });
82
+ }));
83
+ }
84
+ get textTracks() {
85
+ return this._tracks;
86
+ }
87
+ get activeTextTrack() {
88
+ return this._activeTextTrack;
89
+ }
90
+ get active() {
91
+ return this._active;
92
+ }
93
+ get disposed() {
94
+ return this.disposer.disposed;
95
+ }
96
+ /**
97
+ * Replaces the discovered track list, emits `textTracksChange`, then
98
+ * re-applies the current selection against the new list.
99
+ */
100
+ setTracks(tracks) {
101
+ if (this.disposed)
102
+ return;
103
+ const previous = this._tracks;
104
+ if (equalDeep(previous, tracks))
105
+ return;
106
+ this._tracks = tracks;
107
+ this.dispatch('textTracksChange', { previous, current: tracks });
108
+ this.refreshSelection();
109
+ }
110
+ /**
111
+ * Recomputes the selection from the current options and track list,
112
+ * emitting `activeTextTrackChange` on change and (re)rendering when active.
113
+ */
114
+ refreshSelection() {
115
+ const previous = this._activeTextTrack;
116
+ const target = resolveSelectedTrack(this._tracks, this.deps.options.value);
117
+ const trackChanged = target?.id !== previous?.id;
118
+ if (trackChanged) {
119
+ this._activeTextTrack = target;
120
+ this.dispatch('activeTextTrackChange', {
121
+ previous,
122
+ current: target,
123
+ });
124
+ }
125
+ if (!this._active)
126
+ return;
127
+ // Cues carry their own authored styling, so only a track change (not a
128
+ // same-track options change) needs a (re)load.
129
+ if (!target)
130
+ this.hideCurrent();
131
+ else if (trackChanged || !this._ref)
132
+ this.startLoad(target);
133
+ }
134
+ deactivate() {
135
+ this._active = false;
136
+ this.hideCurrent();
137
+ }
138
+ activate() {
139
+ this._active = true;
140
+ // Rebuild only when a selection exists and it isn't already rendering.
141
+ if (!this._activeTextTrack || this._ref)
142
+ return;
143
+ this.startLoad(this._activeTextTrack);
144
+ }
145
+ startLoad(track) {
146
+ // Hide the previously-rendering track (a different rendition) so its
147
+ // cues don't linger alongside the new one; this also aborts any prior
148
+ // in-flight load and arms a fresh abort for this one.
149
+ this.hideCurrent();
150
+ const abort = this.loadAbort.value;
151
+ const ref = this.deps.textTrackProvider.getOrCreate(track.kind, track.label, track.language ?? undefined);
152
+ // With an injected renderer the browser must not paint (the renderer
153
+ // does), but the track still needs to be active for cue timing — hence
154
+ // 'hidden'. Without one, 'showing' uses native rendering. Set the mode
155
+ // before clearing: `cues` reads null while disabled.
156
+ const renderer = this.deps.textTrackRenderer;
157
+ ref.track.mode = renderer ? 'hidden' : 'showing';
158
+ ref.clear();
159
+ this._ref = ref;
160
+ renderer?.setTextTrack(ref.track);
161
+ const CueCtor = getVttCueConstructor();
162
+ // Adjacent HLS caption segments commonly repeat the boundary cue in both
163
+ // segments (so a client that only fetches one still renders the overlap).
164
+ // Track seen keys per active load so we don't push the same cue twice.
165
+ const seen = new Set();
166
+ // Accumulate authored STYLE-block CSS and forward it to the renderer as
167
+ // it arrives — only wired when the renderer can actually consume styles.
168
+ const styles = new Set();
169
+ const setStyles = renderer?.setStyles?.bind(renderer);
170
+ loadWebVttCues(track.uri, {
171
+ abort,
172
+ requestInit: this.deps.requestInit,
173
+ variables: track.variables,
174
+ getCurrentTime: () => this.deps.playbackController.currentTime,
175
+ onCues: (cues) => {
176
+ if (abort.aborted())
177
+ return;
178
+ if (CueCtor)
179
+ this.appendCues(ref.track, CueCtor, cues, seen);
180
+ },
181
+ onStyles: setStyles
182
+ ? (blocks) => {
183
+ if (abort.aborted())
184
+ return;
185
+ for (const block of blocks)
186
+ styles.add(block);
187
+ setStyles([...styles]);
188
+ }
189
+ : undefined,
190
+ }).catch((error) => {
191
+ if (abort.aborted())
192
+ return;
193
+ this.dispatch('textTrackError', {
194
+ track,
195
+ error: error instanceof Error ? error : new Error(String(error)),
196
+ });
197
+ });
198
+ }
199
+ appendCues(dom, CueCtor, cues, seen) {
200
+ for (const cue of cues) {
201
+ const key = `${cue.startTime}|${cue.endTime}|${cue.text}`;
202
+ if (seen.has(key))
203
+ continue;
204
+ seen.add(key);
205
+ const domCue = new CueCtor(cue.startTime, cue.endTime, cue.text);
206
+ if (cue.id != null)
207
+ domCue.id = cue.id;
208
+ // Preserve the cue's own authored WebVTT settings (position, line,
209
+ // size, align, …). Only VTTCues carry these properties.
210
+ if (cue.settings && isVttCue(domCue)) {
211
+ applyVttCueStyle(domCue, cue.settings);
212
+ }
213
+ dom.addCue(domCue);
214
+ }
215
+ }
216
+ /**
217
+ * Clears cues from the current DOM track and hides it, keeping the track for
218
+ * later reuse via the provider.
219
+ */
220
+ hideCurrent() {
221
+ // Cancel any in-flight load: its cues are no longer wanted, and a late
222
+ // rejection must not surface as a textTrackError.
223
+ this.loadAbort.abort();
224
+ const ref = this._ref;
225
+ if (!ref)
226
+ return;
227
+ this.deps.textTrackRenderer?.setTextTrack(null);
228
+ ref.clear();
229
+ ref.track.mode = 'disabled';
230
+ this._ref = null;
231
+ }
232
+ /**
233
+ * Cancels any in-flight load, hides the DOM text track, and resets state.
234
+ * Called by the host when the underlying media is unloaded.
235
+ */
236
+ dispose() {
237
+ if (this.disposed)
238
+ return;
239
+ super.dispose();
240
+ this.loadAbort.abort();
241
+ this.hideCurrent();
242
+ this.disposer.dispose();
243
+ this._tracks = [];
244
+ this._activeTextTrack = null;
245
+ }
246
+ }
247
+ function getVttCueConstructor() {
248
+ const g = globalThis;
249
+ return g.VTTCue ?? g.TextTrackCue ?? null;
250
+ }
@@ -0,0 +1,65 @@
1
+ import type { Maybe, ReadonlyAbort, RequestInitOptions } from '@amazon/vinyl-util';
2
+ import { type WebVttCue } from './parseWebVtt';
3
+ /**
4
+ * Seconds ahead of the playhead to keep cues buffered. Mirrors the media
5
+ * pipeline's default HLS `minBufferTime` so captions stay in step with the
6
+ * audio/video buffer.
7
+ */
8
+ export declare const DEFAULT_TEXT_LOOK_AHEAD = 10;
9
+ /**
10
+ * Seconds behind the playhead to keep cues buffered. Small window so that a
11
+ * short rewind (e.g. accidental skip-back) doesn't force a refetch.
12
+ */
13
+ export declare const DEFAULT_TEXT_LOOK_BEHIND = 2;
14
+ export interface LoadWebVttCuesOptions {
15
+ readonly abort?: Maybe<ReadonlyAbort>;
16
+ readonly requestInit?: Maybe<RequestInitOptions>;
17
+ /**
18
+ * HLS EXT-X-DEFINE variables to make available for `IMPORT` and for
19
+ * substitution of segment URIs when loading from an HLS media playlist.
20
+ */
21
+ readonly variables?: Maybe<Readonly<Record<string, string>>>;
22
+ /**
23
+ * Invoked with each batch of cues as soon as they are parsed. Called once
24
+ * per HLS segment, or once for a direct `.vtt` document.
25
+ */
26
+ readonly onCues: (cues: readonly WebVttCue[]) => void;
27
+ /**
28
+ * Invoked with the CSS body of any `STYLE` blocks parsed from a document.
29
+ * Only called when a document actually declares styles.
30
+ */
31
+ readonly onStyles?: Maybe<(styles: readonly string[]) => void>;
32
+ /**
33
+ * Returns the current playback time (seconds on the presentation
34
+ * timeline). Used to fetch caption segments in a window around the
35
+ * playhead rather than draining the entire playlist up front.
36
+ */
37
+ readonly getCurrentTime: () => number;
38
+ /**
39
+ * Seconds ahead of the playhead to keep buffered. Default 10s.
40
+ */
41
+ readonly lookAhead?: Maybe<number>;
42
+ /**
43
+ * Seconds behind the playhead to keep buffered. Default 2s.
44
+ */
45
+ readonly lookBehind?: Maybe<number>;
46
+ }
47
+ /**
48
+ * Loads WebVTT cues from a URI, streaming them by playhead position.
49
+ *
50
+ * Two URI shapes are accepted:
51
+ * - Direct `.vtt` document: fetched once and delivered via `onCues`.
52
+ * - HLS media playlist (`.m3u8`): the playlist is parsed, then segments
53
+ * whose time range overlaps the buffer window around `getCurrentTime()`
54
+ * are fetched (closest to the playhead first), one at a time. Each
55
+ * segment's cues are delivered via `onCues` as it is parsed.
56
+ *
57
+ * Cue start/end times are expected to already be on the presentation
58
+ * timeline (Shaka packager's default WebVTT output), so segments are joined
59
+ * without offset.
60
+ *
61
+ * The returned promise resolves once every segment has been fetched, or the
62
+ * abort signal fires. Fetch failures reject the promise.
63
+ */
64
+ export declare function loadWebVttCues(uri: string, options: LoadWebVttCuesOptions): Promise<void>;
65
+ //# sourceMappingURL=SidecarTextTrackLoader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidecarTextTrackLoader.d.ts","sourceRoot":"","sources":["../../../../src/text/SidecarTextTrackLoader.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACR,KAAK,EACL,aAAa,EACb,kBAAkB,EACrB,MAAM,oBAAoB,CAAA;AAG3B,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,eAAe,CAAA;AAE3D;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,KAAK,CAAA;AAEzC;;;GAGG;AACH,eAAO,MAAM,wBAAwB,IAAI,CAAA;AAQzC,MAAM,WAAW,qBAAqB;IAClC,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,CAAA;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAA;IAEhD;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;IAE5D;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,SAAS,SAAS,EAAE,KAAK,IAAI,CAAA;IAErD;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,KAAK,IAAI,CAAC,CAAA;IAE9D;;;;OAIG;IACH,QAAQ,CAAC,cAAc,EAAE,MAAM,MAAM,CAAA;IAErC;;OAEG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IAElC;;OAEG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;CACtC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,cAAc,CAChC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,qBAAqB,GAC/B,OAAO,CAAC,IAAI,CAAC,CA0Cf"}