@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 @@
1
+ {"version":3,"file":"SidecarTextTrackLoader.test.d.ts","sourceRoot":"","sources":["../../../../../test/unit/text/SidecarTextTrackLoader.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,365 @@
1
+ /*
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ import { loadWebVttCues } from '@amazon/vinyl';
6
+ import { Abort, requesterWithRetryRef } from '@amazon/vinyl-util';
7
+ import { MockRequester } from '@amazon/vinyl-util/testUtil';
8
+ describe('loadWebVttCues', () => {
9
+ let requester;
10
+ beforeEach(() => {
11
+ requester = new MockRequester();
12
+ requesterWithRetryRef.set(() => requester);
13
+ });
14
+ function respondText(body, contentType, url) {
15
+ const headers = contentType
16
+ ? new Headers({ 'content-type': contentType })
17
+ : new Headers();
18
+ const response = new Response(body, { headers });
19
+ if (url) {
20
+ Object.defineProperty(response, 'url', { value: url });
21
+ }
22
+ return Promise.resolve(response);
23
+ }
24
+ // Common options: a callback receiving cues, and a playhead that keeps
25
+ // moving forward so the buffer window advances past every segment.
26
+ function streamingOpts(overrides = {}) {
27
+ let now = 0;
28
+ const batches = [];
29
+ return {
30
+ batches,
31
+ options: {
32
+ onCues: (cs) => batches.push(cs.map((c) => ({ text: c.text }))),
33
+ getCurrentTime: () => now,
34
+ advanceTime: (t) => {
35
+ now = t;
36
+ },
37
+ ...overrides,
38
+ },
39
+ };
40
+ }
41
+ it('parses a direct .vtt response with no content-type header', async () => {
42
+ const response = new Response(`WEBVTT\n\n00:00:01.000 --> 00:00:02.000\nplain`, { headers: new Headers() });
43
+ response.headers.delete('content-type');
44
+ requester.request.and.resolveTo(response);
45
+ const { batches, options } = streamingOpts();
46
+ await loadWebVttCues('https://x.test/sub.vtt', options);
47
+ expect(batches.flat().map((c) => c.text)).toEqual(['plain']);
48
+ });
49
+ it('parses a direct .vtt response', async () => {
50
+ const body = `WEBVTT\n\n00:00:01.000 --> 00:00:02.000\ndirect`;
51
+ requester.request.and.resolveTo(respondText(body, 'text/vtt'));
52
+ const { batches, options } = streamingOpts();
53
+ await loadWebVttCues('https://x.test/sub.vtt', options);
54
+ expect(batches.flat().map((c) => c.text)).toEqual(['direct']);
55
+ });
56
+ it('treats application/x-mpegurl content-type as a media playlist', async () => {
57
+ const playlistText = `#EXTM3U
58
+ #EXT-X-VERSION:3
59
+ #EXT-X-TARGETDURATION:10
60
+ #EXTINF:10.0,
61
+ seg.vtt
62
+ #EXT-X-ENDLIST
63
+ `;
64
+ const segmentText = `WEBVTT\n\n00:00:01.000 --> 00:00:02.000\nfrom-segment`;
65
+ let call = 0;
66
+ requester.request.and.callFake(() => {
67
+ call++;
68
+ if (call === 1) {
69
+ return respondText(playlistText, 'application/vnd.apple.mpegurl', 'https://x.test/sub.m3u8');
70
+ }
71
+ return respondText(segmentText, 'text/vtt');
72
+ });
73
+ const { batches, options } = streamingOpts();
74
+ await loadWebVttCues('https://x.test/sub.txt', options);
75
+ expect(batches.flat().map((c) => c.text)).toEqual(['from-segment']);
76
+ });
77
+ it('forwards STYLE blocks parsed from a segment via onStyles', async () => {
78
+ const playlistText = `#EXTM3U
79
+ #EXT-X-TARGETDURATION:10
80
+ #EXTINF:10.0,
81
+ seg.vtt
82
+ #EXT-X-ENDLIST
83
+ `;
84
+ const segmentText = `WEBVTT
85
+
86
+ STYLE
87
+ ::cue { color: red }
88
+
89
+ 00:00:01.000 --> 00:00:02.000
90
+ from-segment`;
91
+ let call = 0;
92
+ requester.request.and.callFake(() => {
93
+ call++;
94
+ if (call === 1) {
95
+ return respondText(playlistText, 'application/vnd.apple.mpegurl', 'https://x.test/sub.m3u8');
96
+ }
97
+ return respondText(segmentText, 'text/vtt');
98
+ });
99
+ const styleBatches = [];
100
+ const { options } = streamingOpts({
101
+ onStyles: (styles) => styleBatches.push([...styles]),
102
+ });
103
+ await loadWebVttCues('https://x.test/sub.m3u8', options);
104
+ expect(styleBatches).toEqual([['::cue { color: red }']]);
105
+ });
106
+ it('falls back to the request URI when response.url is empty (body sniffed)', async () => {
107
+ const playlistText = `#EXTM3U
108
+ #EXT-X-VERSION:3
109
+ #EXT-X-TARGETDURATION:10
110
+ #EXTINF:10.0,
111
+ 0.vtt
112
+ #EXT-X-ENDLIST
113
+ `;
114
+ const segText = `WEBVTT\n\n00:00:00.000 --> 00:00:01.000\nfb`;
115
+ let call = 0;
116
+ requester.request.and.callFake(() => {
117
+ call++;
118
+ if (call === 1)
119
+ return respondText(playlistText, 'application/vnd.apple.mpegurl');
120
+ return respondText(segText);
121
+ });
122
+ // No .m3u8 extension → sniffed via body. Response.url omitted so the
123
+ // fallback branch (response.url || uri) is exercised.
124
+ const { batches, options } = streamingOpts();
125
+ await loadWebVttCues('https://x.test/playlist', options);
126
+ expect(batches.flat().map((c) => c.text)).toEqual(['fb']);
127
+ });
128
+ it('uses response.url when set (m3u8 fetch redirect)', async () => {
129
+ const playlistText = `#EXTM3U
130
+ #EXT-X-VERSION:3
131
+ #EXT-X-TARGETDURATION:10
132
+ #EXTINF:10.0,
133
+ 0.vtt
134
+ #EXT-X-ENDLIST
135
+ `;
136
+ const segText = `WEBVTT\n\n00:00:00.000 --> 00:00:01.000\nseg`;
137
+ let call = 0;
138
+ requester.request.and.callFake(() => {
139
+ call++;
140
+ if (call === 1) {
141
+ return respondText(playlistText, 'application/vnd.apple.mpegurl', 'https://cdn.example.com/redirected/sub.m3u8');
142
+ }
143
+ return respondText(segText);
144
+ });
145
+ const { options } = streamingOpts();
146
+ await loadWebVttCues('https://x.test/sub.m3u8', options);
147
+ const segUrl = requester.request.calls.argsFor(1)[0];
148
+ expect(String(segUrl)).toBe('https://cdn.example.com/redirected/0.vtt');
149
+ });
150
+ it('uses response.url when set (sniffed body)', async () => {
151
+ const playlistText = `#EXTM3U
152
+ #EXT-X-VERSION:3
153
+ #EXT-X-TARGETDURATION:10
154
+ #EXTINF:10.0,
155
+ 0.vtt
156
+ #EXT-X-ENDLIST
157
+ `;
158
+ const segText = `WEBVTT\n\n00:00:00.000 --> 00:00:01.000\nseg`;
159
+ let call = 0;
160
+ requester.request.and.callFake(() => {
161
+ call++;
162
+ if (call === 1) {
163
+ return respondText(playlistText, undefined, 'https://cdn.example.com/redirected/sub');
164
+ }
165
+ return respondText(segText);
166
+ });
167
+ const { options } = streamingOpts();
168
+ await loadWebVttCues('https://x.test/sub', options);
169
+ const segUrl = requester.request.calls.argsFor(1)[0];
170
+ expect(String(segUrl)).toBe('https://cdn.example.com/redirected/0.vtt');
171
+ });
172
+ it('detects a media playlist by .m3u8 URL extension', async () => {
173
+ const playlistText = `#EXTM3U
174
+ #EXT-X-VERSION:3
175
+ #EXT-X-TARGETDURATION:10
176
+ #EXTINF:10.0,
177
+ 0.vtt
178
+ #EXT-X-ENDLIST
179
+ `;
180
+ const segText = `WEBVTT\n\n00:00:01.000 --> 00:00:02.000\nseg`;
181
+ let call = 0;
182
+ requester.request.and.callFake(() => {
183
+ call++;
184
+ if (call === 1) {
185
+ return respondText(playlistText, 'application/vnd.apple.mpegurl');
186
+ }
187
+ return respondText(segText);
188
+ });
189
+ const { batches, options } = streamingOpts();
190
+ await loadWebVttCues('https://x.test/sub.m3u8', options);
191
+ expect(batches.flat().map((c) => c.text)).toEqual(['seg']);
192
+ });
193
+ it('fetches segments incrementally in playhead-first order', async () => {
194
+ // 4 segments × 5s each. Playhead at 12s selects segment c (10-15s)
195
+ // first because its midpoint is closest to the playhead.
196
+ const playlistBody = `#EXTM3U
197
+ #EXT-X-TARGETDURATION:5
198
+ #EXTINF:5.0,
199
+ a.vtt
200
+ #EXTINF:5.0,
201
+ b.vtt
202
+ #EXTINF:5.0,
203
+ c.vtt
204
+ #EXTINF:5.0,
205
+ d.vtt
206
+ #EXT-X-ENDLIST
207
+ `;
208
+ const fetched = [];
209
+ let call = 0;
210
+ requester.request.and.callFake((url) => {
211
+ call++;
212
+ if (call === 1)
213
+ return respondText(playlistBody);
214
+ const path = String(url).split('/').pop();
215
+ fetched.push(path);
216
+ return respondText(`WEBVTT\n\n00:00:00.000 --> 00:00:01.000\n${path}`);
217
+ });
218
+ const abort = new Abort();
219
+ const batches = [];
220
+ const promise = loadWebVttCues('https://x.test/sub.m3u8', {
221
+ onCues: (cs) => batches.push(cs.map((c) => c.text)),
222
+ getCurrentTime: () => 12,
223
+ abort,
224
+ });
225
+ // Let the loader consume every segment in the window, then abort.
226
+ await new Promise((r) => setTimeout(r, 50));
227
+ abort.abort();
228
+ await promise;
229
+ expect(fetched[0]).toBe('c.vtt');
230
+ expect(batches[0]).toEqual(['c.vtt']);
231
+ });
232
+ it('substitutes EXT-X-DEFINE:IMPORT variables in segment URIs', async () => {
233
+ const playlistBody = `#EXTM3U
234
+ #EXT-X-DEFINE:IMPORT="prefix"
235
+ #EXT-X-TARGETDURATION:5
236
+ #EXTINF:5.0,
237
+ {$prefix}0.vtt
238
+ #EXT-X-ENDLIST
239
+ `;
240
+ const segText = `WEBVTT\n\n00:00:00.000 --> 00:00:05.000\nhello`;
241
+ let call = 0;
242
+ requester.request.and.callFake((url) => {
243
+ call++;
244
+ if (call === 1)
245
+ return respondText(playlistBody);
246
+ expect(String(url)).toBe('https://cdn.example.com/0.vtt');
247
+ return respondText(segText);
248
+ });
249
+ const { batches, options } = streamingOpts();
250
+ await loadWebVttCues('https://x.test/sub.m3u8', {
251
+ ...options,
252
+ variables: { prefix: 'https://cdn.example.com/' },
253
+ });
254
+ expect(batches.flat().map((c) => c.text)).toEqual(['hello']);
255
+ });
256
+ it('re-evaluates playhead between segment fetches for seek responsiveness', async () => {
257
+ const playlistBody = `#EXTM3U
258
+ #EXT-X-TARGETDURATION:5
259
+ #EXTINF:5.0,
260
+ a.vtt
261
+ #EXTINF:5.0,
262
+ b.vtt
263
+ #EXTINF:5.0,
264
+ c.vtt
265
+ #EXTINF:5.0,
266
+ d.vtt
267
+ #EXT-X-ENDLIST
268
+ `;
269
+ const fetched = [];
270
+ let currentTime = 0;
271
+ let call = 0;
272
+ requester.request.and.callFake((url) => {
273
+ call++;
274
+ if (call === 1)
275
+ return respondText(playlistBody);
276
+ const path = String(url).split('/').pop();
277
+ fetched.push(path);
278
+ // Seek to the end after seg0; abort will fire after seg3.
279
+ if (fetched.length === 1)
280
+ currentTime = 17;
281
+ return respondText(`WEBVTT\n\n00:00:00.000 --> 00:00:01.000\n${path}`);
282
+ });
283
+ const abort = new Abort();
284
+ const promise = loadWebVttCues('https://x.test/sub.m3u8', {
285
+ onCues: () => { },
286
+ getCurrentTime: () => currentTime,
287
+ abort,
288
+ });
289
+ // Let the loader fetch until it idles (no segments in window).
290
+ await new Promise((r) => setTimeout(r, 50));
291
+ abort.abort();
292
+ await promise;
293
+ // First fetch was seg0 (nearest 0s). Then seek → 17s makes seg3
294
+ // (mid=17.5) the closest of the remaining {1, 2, 3}.
295
+ expect(fetched[0]).toBe('a.vtt');
296
+ expect(fetched[1]).toBe('d.vtt');
297
+ });
298
+ it('honors abort during idle polling when playhead is outside every window', async () => {
299
+ // 2 segments at 10s+ but playhead sits at 100s (well past). No
300
+ // segment intersects the [-2, +10] buffer window, so the loader
301
+ // idles. Aborting must resolve the load promptly.
302
+ const playlistBody = `#EXTM3U
303
+ #EXT-X-TARGETDURATION:5
304
+ #EXTINF:5.0,
305
+ a.vtt
306
+ #EXTINF:5.0,
307
+ b.vtt
308
+ #EXT-X-ENDLIST
309
+ `;
310
+ let call = 0;
311
+ requester.request.and.callFake(() => {
312
+ call++;
313
+ if (call === 1)
314
+ return respondText(playlistBody);
315
+ fail('no segment fetch expected');
316
+ return respondText('');
317
+ });
318
+ const abort = new Abort();
319
+ const promise = loadWebVttCues('https://x.test/sub.m3u8', {
320
+ onCues: () => { },
321
+ getCurrentTime: () => 100,
322
+ abort,
323
+ });
324
+ // Give the polling loop a moment to enter its wait.
325
+ await new Promise((r) => setTimeout(r, 20));
326
+ abort.abort();
327
+ await promise; // should not hang
328
+ expect(call).toBe(1);
329
+ });
330
+ it('respects a custom lookAhead window', async () => {
331
+ // With lookAhead=1, only segment 0 (0..5s) overlaps [-2, 1].
332
+ // Segment 1 (5..10s) is outside the window and never fetched
333
+ // because the playhead never advances.
334
+ const playlistBody = `#EXTM3U
335
+ #EXT-X-TARGETDURATION:5
336
+ #EXTINF:5.0,
337
+ a.vtt
338
+ #EXTINF:5.0,
339
+ b.vtt
340
+ #EXT-X-ENDLIST
341
+ `;
342
+ let call = 0;
343
+ const fetched = [];
344
+ requester.request.and.callFake((url) => {
345
+ call++;
346
+ if (call === 1)
347
+ return respondText(playlistBody);
348
+ fetched.push(String(url).split('/').pop());
349
+ return respondText(`WEBVTT\n\n00:00:00.000 --> 00:00:01.000\nx`);
350
+ });
351
+ const abort = new Abort();
352
+ const promise = loadWebVttCues('https://x.test/sub.m3u8', {
353
+ onCues: () => { },
354
+ getCurrentTime: () => 0,
355
+ lookAhead: 1,
356
+ abort,
357
+ });
358
+ // Let a.vtt fetch, then let the loader enter its idle poll before
359
+ // aborting so the remaining segment stays pending.
360
+ await new Promise((r) => setTimeout(r, 20));
361
+ abort.abort();
362
+ await promise;
363
+ expect(fetched).toEqual(['a.vtt']);
364
+ });
365
+ });
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=VttCueStyle.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VttCueStyle.test.d.ts","sourceRoot":"","sources":["../../../../../test/unit/text/VttCueStyle.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,76 @@
1
+ /*
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ import { applyVttCueStyle, isVttCue } from '@amazon/vinyl';
6
+ describe('VttCueStyle', () => {
7
+ describe('isVttCue', () => {
8
+ let original;
9
+ beforeEach(() => {
10
+ original = globalThis.VTTCue;
11
+ });
12
+ afterEach(() => {
13
+ ;
14
+ globalThis.VTTCue = original;
15
+ });
16
+ it('is true for a VTTCue instance', () => {
17
+ class FakeVttCue {
18
+ }
19
+ ;
20
+ globalThis.VTTCue = FakeVttCue;
21
+ expect(isVttCue(new FakeVttCue())).toBe(true);
22
+ });
23
+ it('is false for a non-VTTCue cue', () => {
24
+ class FakeVttCue {
25
+ }
26
+ ;
27
+ globalThis.VTTCue = FakeVttCue;
28
+ expect(isVttCue({})).toBe(false);
29
+ });
30
+ it('is false when VTTCue is unavailable', () => {
31
+ ;
32
+ globalThis.VTTCue = undefined;
33
+ expect(isVttCue({})).toBe(false);
34
+ });
35
+ });
36
+ describe('applyVttCueStyle', () => {
37
+ it('applies every provided property', () => {
38
+ const cue = {};
39
+ const style = {
40
+ align: 'start',
41
+ line: 5,
42
+ lineAlign: 'center',
43
+ position: 10,
44
+ positionAlign: 'center',
45
+ size: 90,
46
+ snapToLines: false,
47
+ vertical: 'rl',
48
+ };
49
+ applyVttCueStyle(cue, style);
50
+ expect(cue).toEqual({
51
+ align: 'start',
52
+ line: 5,
53
+ lineAlign: 'center',
54
+ position: 10,
55
+ positionAlign: 'center',
56
+ size: 90,
57
+ snapToLines: false,
58
+ vertical: 'rl',
59
+ });
60
+ });
61
+ it('accepts the `auto` keyword for line and position', () => {
62
+ const cue = {};
63
+ applyVttCueStyle(cue, {
64
+ line: 'auto',
65
+ position: 'auto',
66
+ });
67
+ expect(cue.line).toBe('auto');
68
+ expect(cue.position).toBe('auto');
69
+ });
70
+ it('leaves unset properties untouched', () => {
71
+ const cue = { size: 100 };
72
+ applyVttCueStyle(cue, {});
73
+ expect(cue).toEqual({ size: 100 });
74
+ });
75
+ });
76
+ });
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=discoverDashTextTracks.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discoverDashTextTracks.test.d.ts","sourceRoot":"","sources":["../../../../../test/unit/text/discoverDashTextTracks.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,199 @@
1
+ /*
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ import { discoverDashTextTracks } from '@amazon/vinyl';
6
+ import { parseDashManifest } from '@amazon/vinyl-mpd-parser';
7
+ describe('discoverDashTextTracks', () => {
8
+ const baseUrl = 'https://example.com/dash/';
9
+ function manifest(adaptationSets) {
10
+ const xml = `<?xml version="1.0" encoding="UTF-8"?>
11
+ <MPD xmlns="urn:mpeg:dash:schema:mpd:2011" type="static" profiles="urn:mpeg:dash:profile:isoff-on-demand:2011" mediaPresentationDuration="PT60S" minBufferTime="PT2S">
12
+ <Period>
13
+ ${adaptationSets}
14
+ </Period>
15
+ </MPD>`;
16
+ return parseDashManifest(xml);
17
+ }
18
+ it('discovers a text AdaptationSet by contentType', () => {
19
+ const m = manifest(`
20
+ <AdaptationSet contentType="text" lang="en" mimeType="text/vtt">
21
+ <Representation id="en-sub" bandwidth="100">
22
+ <BaseURL>subs/en.vtt</BaseURL>
23
+ </Representation>
24
+ </AdaptationSet>`);
25
+ const result = discoverDashTextTracks(m, baseUrl);
26
+ expect(result.length).toBe(1);
27
+ expect(result[0]).toEqual(jasmine.objectContaining({
28
+ kind: 'subtitles',
29
+ language: 'en',
30
+ uri: 'https://example.com/dash/subs/en.vtt',
31
+ mimeType: 'text/vtt',
32
+ }));
33
+ });
34
+ it('discovers a text AdaptationSet by mimeType when contentType is absent', () => {
35
+ const m = manifest(`
36
+ <AdaptationSet mimeType="text/vtt" lang="es">
37
+ <Representation id="es-sub" bandwidth="100">
38
+ <BaseURL>es.vtt</BaseURL>
39
+ </Representation>
40
+ </AdaptationSet>`);
41
+ const result = discoverDashTextTracks(m, baseUrl);
42
+ expect(result.length).toBe(1);
43
+ expect(result[0].language).toBe('es');
44
+ });
45
+ it('classifies kind=captions when role=caption is set', () => {
46
+ const m = manifest(`
47
+ <AdaptationSet contentType="text" lang="en" mimeType="text/vtt">
48
+ <Role schemeIdUri="urn:mpeg:dash:role:2011" value="caption"/>
49
+ <Representation id="en-cap" bandwidth="100">
50
+ <BaseURL>cc.vtt</BaseURL>
51
+ </Representation>
52
+ </AdaptationSet>`);
53
+ const result = discoverDashTextTracks(m, baseUrl);
54
+ expect(result[0].kind).toBe('captions');
55
+ });
56
+ it('marks default when role=main is set', () => {
57
+ const m = manifest(`
58
+ <AdaptationSet contentType="text" lang="en" mimeType="text/vtt">
59
+ <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"/>
60
+ <Representation id="r" bandwidth="100">
61
+ <BaseURL>main.vtt</BaseURL>
62
+ </Representation>
63
+ </AdaptationSet>`);
64
+ const result = discoverDashTextTracks(m, baseUrl);
65
+ expect(result[0].default).toBeTrue();
66
+ });
67
+ it('marks forced when role=forced_subtitle is set', () => {
68
+ const m = manifest(`
69
+ <AdaptationSet contentType="text" lang="en" mimeType="text/vtt">
70
+ <Role schemeIdUri="urn:mpeg:dash:role:2011" value="forced_subtitle"/>
71
+ <Representation id="r" bandwidth="100">
72
+ <BaseURL>f.vtt</BaseURL>
73
+ </Representation>
74
+ </AdaptationSet>`);
75
+ const result = discoverDashTextTracks(m, baseUrl);
76
+ expect(result[0].forced).toBeTrue();
77
+ expect(result[0].characteristics).toEqual(['forced_subtitle']);
78
+ });
79
+ it('surfaces role and accessibility values as characteristics', () => {
80
+ const m = manifest(`
81
+ <AdaptationSet contentType="text" lang="en" mimeType="text/vtt">
82
+ <Role schemeIdUri="urn:mpeg:dash:role:2011" value="caption"/>
83
+ <Accessibility schemeIdUri="urn:tva:metadata:cs:AudioPurposeCS:2007" value="2"/>
84
+ <Representation id="r" bandwidth="100">
85
+ <BaseURL>c.vtt</BaseURL>
86
+ </Representation>
87
+ </AdaptationSet>`);
88
+ const result = discoverDashTextTracks(m, baseUrl);
89
+ expect(result[0].forced).toBeFalse();
90
+ expect(result[0].characteristics).toEqual(['caption', '2']);
91
+ });
92
+ it('skips AdaptationSets that are not text', () => {
93
+ const m = manifest(`
94
+ <AdaptationSet contentType="audio" mimeType="audio/mp4">
95
+ <Representation id="a" bandwidth="48000"/>
96
+ </AdaptationSet>`);
97
+ expect(discoverDashTextTracks(m, baseUrl)).toEqual([]);
98
+ });
99
+ it('skips text AdaptationSets carrying segmented codecs (stpp/wvtt)', () => {
100
+ const m = manifest(`
101
+ <AdaptationSet contentType="text" mimeType="application/mp4" codecs="stpp">
102
+ <Representation id="r" bandwidth="100">
103
+ <BaseURL>stpp.mp4</BaseURL>
104
+ </Representation>
105
+ </AdaptationSet>`);
106
+ expect(discoverDashTextTracks(m, baseUrl)).toEqual([]);
107
+ });
108
+ it('falls back to representation id when no BaseURL is set on representation', () => {
109
+ const m = manifest(`
110
+ <AdaptationSet contentType="text" mimeType="text/vtt" lang="fr">
111
+ <BaseURL>subs/</BaseURL>
112
+ <Representation id="fr-sub" bandwidth="100"/>
113
+ </AdaptationSet>`);
114
+ const result = discoverDashTextTracks(m, baseUrl);
115
+ expect(result.length).toBe(1);
116
+ expect(result[0].uri).toBe('https://example.com/dash/subs/fr-sub.vtt');
117
+ });
118
+ it('uses manifest path when AdaptationSet has no BaseURL', () => {
119
+ const noTrailingSlashBase = 'https://example.com/manifest.mpd';
120
+ const m = manifest(`
121
+ <AdaptationSet contentType="text" mimeType="text/vtt" lang="fr">
122
+ <Representation id="r" bandwidth="100"/>
123
+ </AdaptationSet>`);
124
+ // Without any BaseURL, the manifest URL is used as the base; since it
125
+ // doesn't end with a slash, the discoverer falls back to that path
126
+ // verbatim, which is rarely useful but should not throw.
127
+ expect(discoverDashTextTracks(m, noTrailingSlashBase)[0].uri).toBe(noTrailingSlashBase);
128
+ });
129
+ it('respects nested BaseURL chain', () => {
130
+ const xml = `<?xml version="1.0" encoding="UTF-8"?>
131
+ <MPD xmlns="urn:mpeg:dash:schema:mpd:2011" type="static" profiles="urn:mpeg:dash:profile:isoff-on-demand:2011" mediaPresentationDuration="PT60S" minBufferTime="PT2S">
132
+ <BaseURL>https://cdn.example.com/v1/</BaseURL>
133
+ <Period>
134
+ <BaseURL>p0/</BaseURL>
135
+ <AdaptationSet contentType="text" mimeType="text/vtt" lang="ja">
136
+ <BaseURL>texts/</BaseURL>
137
+ <Representation id="ja" bandwidth="100">
138
+ <BaseURL>ja.vtt</BaseURL>
139
+ </Representation>
140
+ </AdaptationSet>
141
+ </Period>
142
+ </MPD>`;
143
+ const result = discoverDashTextTracks(parseDashManifest(xml), baseUrl);
144
+ expect(result[0].uri).toBe('https://cdn.example.com/v1/p0/texts/ja.vtt');
145
+ });
146
+ it('returns multiple tracks across periods', () => {
147
+ const xml = `<?xml version="1.0" encoding="UTF-8"?>
148
+ <MPD xmlns="urn:mpeg:dash:schema:mpd:2011" type="static" profiles="urn:mpeg:dash:profile:isoff-on-demand:2011" mediaPresentationDuration="PT120S" minBufferTime="PT2S">
149
+ <Period>
150
+ <AdaptationSet contentType="text" mimeType="text/vtt" lang="en">
151
+ <Representation id="en" bandwidth="100">
152
+ <BaseURL>en.vtt</BaseURL>
153
+ </Representation>
154
+ </AdaptationSet>
155
+ </Period>
156
+ <Period start="PT60S">
157
+ <AdaptationSet contentType="text" mimeType="text/vtt" lang="de">
158
+ <Representation id="de" bandwidth="100">
159
+ <BaseURL>de.vtt</BaseURL>
160
+ </Representation>
161
+ </AdaptationSet>
162
+ </Period>
163
+ </MPD>`;
164
+ const result = discoverDashTextTracks(parseDashManifest(xml), baseUrl);
165
+ expect(result.length).toBe(2);
166
+ });
167
+ it('falls back to representation id as label when language is absent', () => {
168
+ const m = manifest(`
169
+ <AdaptationSet contentType="text" mimeType="text/vtt">
170
+ <Representation id="my-id" bandwidth="100">
171
+ <BaseURL>x.vtt</BaseURL>
172
+ </Representation>
173
+ </AdaptationSet>`);
174
+ const result = discoverDashTextTracks(m, baseUrl);
175
+ expect(result[0].language).toBeNull();
176
+ expect(result[0].label).toBe('my-id');
177
+ });
178
+ it('handles a Period with no AdaptationSet', () => {
179
+ const xml = `<?xml version="1.0" encoding="UTF-8"?>
180
+ <MPD xmlns="urn:mpeg:dash:schema:mpd:2011" type="static" profiles="urn:mpeg:dash:profile:isoff-on-demand:2011" mediaPresentationDuration="PT60S" minBufferTime="PT2S">
181
+ <Period/>
182
+ </MPD>`;
183
+ expect(discoverDashTextTracks(parseDashManifest(xml), baseUrl)).toEqual([]);
184
+ });
185
+ it('handles a text AdaptationSet with no Representation', () => {
186
+ const m = manifest(`
187
+ <AdaptationSet contentType="text" mimeType="text/vtt"/>`);
188
+ expect(discoverDashTextTracks(m, baseUrl)).toEqual([]);
189
+ });
190
+ it('treats missing mimeType as sidecar-eligible', () => {
191
+ const m = manifest(`
192
+ <AdaptationSet contentType="text" lang="en">
193
+ <Representation id="r" bandwidth="100">
194
+ <BaseURL>r.vtt</BaseURL>
195
+ </Representation>
196
+ </AdaptationSet>`);
197
+ expect(discoverDashTextTracks(m, baseUrl).length).toBe(1);
198
+ });
199
+ });
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=discoverHlsTextTracks.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discoverHlsTextTracks.test.d.ts","sourceRoot":"","sources":["../../../../../test/unit/text/discoverHlsTextTracks.test.ts"],"names":[],"mappings":""}