@amazon/vinyl 1.1.1 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (857) hide show
  1. package/dist/index.cjs +9043 -6375
  2. package/dist/index.cjs.map +4 -4
  3. package/dist/index.js +9314 -6592
  4. package/dist/index.js.map +4 -4
  5. package/dist/test/benchmark.es5.js +298 -348
  6. package/dist/test/benchmark.js +2820 -3212
  7. package/dist/test/benchmark.js.map +4 -4
  8. package/dist/test/integ.es5.js +1621 -933
  9. package/dist/test/integ.js +49633 -36792
  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/AdController.d.ts +229 -0
  17. package/dist/types/current/ad/AdController.d.ts.map +1 -0
  18. package/dist/types/current/ad/AdController.js +19 -0
  19. package/dist/types/current/ad/AdControllerImpl.d.ts +146 -0
  20. package/dist/types/current/ad/AdControllerImpl.d.ts.map +1 -0
  21. package/dist/types/current/ad/AdControllerImpl.js +705 -0
  22. package/dist/types/current/ad/AdError.d.ts +6 -0
  23. package/dist/types/current/ad/AdError.d.ts.map +1 -0
  24. package/dist/types/current/ad/AdError.js +14 -0
  25. package/dist/types/current/ad/AdsProvider.d.ts +28 -0
  26. package/dist/types/current/ad/AdsProvider.d.ts.map +1 -0
  27. package/dist/types/current/ad/AdsProvider.js +5 -0
  28. package/dist/types/current/ad/defaultAdLoadOptionsResolver.d.ts +12 -0
  29. package/dist/types/current/ad/defaultAdLoadOptionsResolver.d.ts.map +1 -0
  30. package/dist/types/current/ad/defaultAdLoadOptionsResolver.js +26 -0
  31. package/dist/types/current/ad/discoverHlsInterstitials.d.ts +22 -0
  32. package/dist/types/current/ad/discoverHlsInterstitials.d.ts.map +1 -0
  33. package/dist/types/current/ad/discoverHlsInterstitials.js +246 -0
  34. package/dist/types/current/client/Capabilities.d.ts.map +1 -1
  35. package/dist/types/current/client/CapabilitiesImpl.d.ts.map +1 -1
  36. package/dist/types/current/drm/DrmController.d.ts +31 -6
  37. package/dist/types/current/drm/DrmController.d.ts.map +1 -1
  38. package/dist/types/current/drm/DrmControllerImpl.d.ts +15 -6
  39. package/dist/types/current/drm/DrmControllerImpl.d.ts.map +1 -1
  40. package/dist/types/current/drm/DrmControllerImpl.js +92 -21
  41. package/dist/types/current/drm/DrmKeySystemResolver.d.ts +1 -1
  42. package/dist/types/current/drm/DrmKeySystemResolver.d.ts.map +1 -1
  43. package/dist/types/current/drm/DrmKeySystemResolver.js +1 -1
  44. package/dist/types/current/drm/DrmOptions.d.ts +1 -1
  45. package/dist/types/current/drm/DrmOptions.d.ts.map +1 -1
  46. package/dist/types/current/drm/DrmOptions.js +1 -1
  47. package/dist/types/current/drm/commonEme/CommonEme.d.ts +2 -2
  48. package/dist/types/current/drm/commonEme/CommonEme.d.ts.map +1 -1
  49. package/dist/types/current/drm/commonEme/CommonEmeFactory.d.ts +1 -1
  50. package/dist/types/current/drm/commonEme/CommonEmeFactory.d.ts.map +1 -1
  51. package/dist/types/current/drm/commonEme/MsCommonEme.d.ts +1 -1
  52. package/dist/types/current/drm/commonEme/MsCommonEme.d.ts.map +1 -1
  53. package/dist/types/current/drm/commonEme/MsCommonEme.js +1 -1
  54. package/dist/types/current/drm/commonEme/StandardCommonEme.d.ts +1 -1
  55. package/dist/types/current/drm/commonEme/StandardCommonEme.d.ts.map +1 -1
  56. package/dist/types/current/drm/commonEme/WebKitCommonEme.d.ts +2 -2
  57. package/dist/types/current/drm/commonEme/WebKitCommonEme.d.ts.map +1 -1
  58. package/dist/types/current/drm/commonEme/WebKitCommonEme.js +1 -1
  59. package/dist/types/current/drm/commonEme/createDrmErrorHandler.js +1 -1
  60. package/dist/types/current/drm/licenseProvider/LicenseProvider.d.ts +1 -1
  61. package/dist/types/current/drm/licenseProvider/LicenseProvider.d.ts.map +1 -1
  62. package/dist/types/current/drm/util/unpackPlayReadyChallenge.d.ts +5 -0
  63. package/dist/types/current/drm/util/unpackPlayReadyChallenge.d.ts.map +1 -1
  64. package/dist/types/current/drm/util/unpackPlayReadyChallenge.js +5 -0
  65. package/dist/types/current/global/environment.d.ts +6 -2
  66. package/dist/types/current/global/environment.d.ts.map +1 -1
  67. package/dist/types/current/global/environment.js +4 -3
  68. package/dist/types/current/global/initializeVinylGlobal.js +1 -1
  69. package/dist/types/current/index.d.ts +151 -126
  70. package/dist/types/current/index.d.ts.map +1 -1
  71. package/dist/types/current/index.js +151 -126
  72. package/dist/types/current/patch/media/MediaElementPatchOptions.js +1 -1
  73. package/dist/types/current/patch/media/patchMediaElement.js +1 -1
  74. package/dist/types/current/patch/media/patches/createPreventStallsPatch.d.ts +1 -1
  75. package/dist/types/current/patch/media/patches/createPreventStallsPatch.d.ts.map +1 -1
  76. package/dist/types/current/patch/media/patches/createUnreliablePlaybackEventsPatch.d.ts +1 -1
  77. package/dist/types/current/patch/media/patches/createUnreliablePlaybackEventsPatch.d.ts.map +1 -1
  78. package/dist/types/current/playback/PlaybackControllerImpl.d.ts +2 -1
  79. package/dist/types/current/playback/PlaybackControllerImpl.d.ts.map +1 -1
  80. package/dist/types/current/playback/PlaybackControllerImpl.js +48 -9
  81. package/dist/types/current/playback/PlaybackSource.d.ts +1 -1
  82. package/dist/types/current/playback/ReadonlyPlaybackController.d.ts +6 -1
  83. package/dist/types/current/playback/ReadonlyPlaybackController.d.ts.map +1 -1
  84. package/dist/types/current/playback/ReadonlyPlaybackController.js +1 -0
  85. package/dist/types/current/playback/error/ReportableMediaError.js +1 -1
  86. package/dist/types/current/playback/logging/playbackStateLoggingHandler.d.ts +1 -1
  87. package/dist/types/current/playback/logging/playbackStateLoggingHandler.d.ts.map +1 -1
  88. package/dist/types/current/playback/logging/playbackStateLoggingHandler.js +1 -1
  89. package/dist/types/current/playback/nextHasMetadata.d.ts +1 -1
  90. package/dist/types/current/playback/nextHasMetadata.d.ts.map +1 -1
  91. package/dist/types/current/streaming/ContentStream.d.ts +12 -5
  92. package/dist/types/current/streaming/ContentStream.d.ts.map +1 -1
  93. package/dist/types/current/streaming/ContentStream.js +19 -2
  94. package/dist/types/current/streaming/ContentStreamingOptions.d.ts +2 -2
  95. package/dist/types/current/streaming/ContentStreamingOptions.d.ts.map +1 -1
  96. package/dist/types/current/streaming/LoadMetric.d.ts +58 -0
  97. package/dist/types/current/streaming/LoadMetric.d.ts.map +1 -0
  98. package/dist/types/current/streaming/LoadMetric.js +5 -0
  99. package/dist/types/current/streaming/ManifestController.d.ts +16 -1
  100. package/dist/types/current/streaming/ManifestController.d.ts.map +1 -1
  101. package/dist/types/current/streaming/ManifestControllerImpl.d.ts +43 -0
  102. package/dist/types/current/streaming/ManifestControllerImpl.d.ts.map +1 -0
  103. package/dist/types/current/streaming/ManifestControllerImpl.js +104 -0
  104. package/dist/types/current/streaming/MediaQualityMetadata.d.ts +18 -2
  105. package/dist/types/current/streaming/MediaQualityMetadata.d.ts.map +1 -1
  106. package/dist/types/current/streaming/MediaQualityMetadata.js +7 -1
  107. package/dist/types/current/streaming/MediaTimeline.d.ts +12 -5
  108. package/dist/types/current/streaming/MediaTimeline.d.ts.map +1 -1
  109. package/dist/types/current/streaming/SegmentController.d.ts +7 -7
  110. package/dist/types/current/streaming/SegmentController.d.ts.map +1 -1
  111. package/dist/types/current/streaming/SegmentControllerImpl.d.ts +17 -6
  112. package/dist/types/current/streaming/SegmentControllerImpl.d.ts.map +1 -1
  113. package/dist/types/current/streaming/SegmentControllerImpl.js +72 -25
  114. package/dist/types/current/streaming/SegmentReference.d.ts +1 -1
  115. package/dist/types/current/streaming/SegmentReference.d.ts.map +1 -1
  116. package/dist/types/current/streaming/StreamingEventMap.d.ts +39 -2
  117. package/dist/types/current/streaming/StreamingEventMap.d.ts.map +1 -1
  118. package/dist/types/current/streaming/StreamingEventMap.js +4 -0
  119. package/dist/types/current/streaming/abr/QualitySelector.d.ts +1 -1
  120. package/dist/types/current/streaming/abr/QualitySelector.d.ts.map +1 -1
  121. package/dist/types/current/streaming/abr/QualitySelectorImpl.d.ts +46 -3
  122. package/dist/types/current/streaming/abr/QualitySelectorImpl.d.ts.map +1 -1
  123. package/dist/types/current/streaming/abr/QualitySelectorImpl.js +46 -5
  124. package/dist/types/current/streaming/buffering/BufferingController.d.ts +40 -13
  125. package/dist/types/current/streaming/buffering/BufferingController.d.ts.map +1 -1
  126. package/dist/types/current/streaming/buffering/BufferingController.js +80 -27
  127. package/dist/types/current/streaming/buffering/MediaSourceController.d.ts +52 -21
  128. package/dist/types/current/streaming/buffering/MediaSourceController.d.ts.map +1 -1
  129. package/dist/types/current/streaming/buffering/MediaSourceController.js +126 -44
  130. package/dist/types/current/streaming/buffering/SourceBufferController.d.ts +1 -1
  131. package/dist/types/current/streaming/buffering/SourceBufferController.d.ts.map +1 -1
  132. package/dist/types/current/streaming/buffering/SourceBufferController.js +5 -2
  133. package/dist/types/current/streaming/buffering/codecDenylist.d.ts +23 -0
  134. package/dist/types/current/streaming/buffering/codecDenylist.d.ts.map +1 -0
  135. package/dist/types/current/streaming/buffering/codecDenylist.js +62 -0
  136. package/dist/types/current/streaming/createAllowedContentTypesValue.d.ts +30 -0
  137. package/dist/types/current/streaming/createAllowedContentTypesValue.d.ts.map +1 -0
  138. package/dist/types/current/streaming/createAllowedContentTypesValue.js +43 -0
  139. package/dist/types/current/streaming/createDefaultMediaTimelineTransformer.d.ts +5 -2
  140. package/dist/types/current/streaming/createDefaultMediaTimelineTransformer.d.ts.map +1 -1
  141. package/dist/types/current/streaming/createDefaultMediaTimelineTransformer.js +34 -3
  142. package/dist/types/current/streaming/mediaTimelineAccessibilityFilter.d.ts +35 -0
  143. package/dist/types/current/streaming/mediaTimelineAccessibilityFilter.d.ts.map +1 -0
  144. package/dist/types/current/streaming/mediaTimelineAccessibilityFilter.js +75 -0
  145. package/dist/types/current/streaming/mediaTimelineFilter.d.ts +3 -3
  146. package/dist/types/current/streaming/mediaTimelineFilter.d.ts.map +1 -1
  147. package/dist/types/current/streaming/mediaTimelineFilter.js +1 -1
  148. package/dist/types/current/streaming/mediaTimelineLanguageFilter.d.ts +25 -7
  149. package/dist/types/current/streaming/mediaTimelineLanguageFilter.d.ts.map +1 -1
  150. package/dist/types/current/streaming/mediaTimelineLanguageFilter.js +61 -16
  151. package/dist/types/current/streaming/util/segment.d.ts +1 -1
  152. package/dist/types/current/streaming/util/segment.d.ts.map +1 -1
  153. package/dist/types/current/text/SidecarTextTrackController.d.ts +91 -0
  154. package/dist/types/current/text/SidecarTextTrackController.d.ts.map +1 -0
  155. package/dist/types/current/text/SidecarTextTrackController.js +237 -0
  156. package/dist/types/current/text/SidecarTextTrackLoader.d.ts +60 -0
  157. package/dist/types/current/text/SidecarTextTrackLoader.d.ts.map +1 -0
  158. package/dist/types/current/text/SidecarTextTrackLoader.js +144 -0
  159. package/dist/types/current/text/TextTrack.d.ts +125 -0
  160. package/dist/types/current/text/TextTrack.d.ts.map +1 -0
  161. package/dist/types/current/text/TextTrack.js +9 -0
  162. package/dist/types/current/text/VttCueStyle.d.ts +41 -0
  163. package/dist/types/current/text/VttCueStyle.d.ts.map +1 -0
  164. package/dist/types/current/text/VttCueStyle.js +45 -0
  165. package/dist/types/current/text/discoverDashTextTracks.d.ts +24 -0
  166. package/dist/types/current/text/discoverDashTextTracks.d.ts.map +1 -0
  167. package/dist/types/current/text/discoverDashTextTracks.js +109 -0
  168. package/dist/types/current/text/discoverHlsTextTracks.d.ts +19 -0
  169. package/dist/types/current/text/discoverHlsTextTracks.d.ts.map +1 -0
  170. package/dist/types/current/text/discoverHlsTextTracks.js +49 -0
  171. package/dist/types/current/text/parseWebVtt.d.ts +46 -0
  172. package/dist/types/current/text/parseWebVtt.d.ts.map +1 -0
  173. package/dist/types/current/text/parseWebVtt.js +120 -0
  174. package/dist/types/current/text/pickPreferredTextTrack.d.ts +14 -0
  175. package/dist/types/current/text/pickPreferredTextTrack.d.ts.map +1 -0
  176. package/dist/types/current/text/pickPreferredTextTrack.js +68 -0
  177. package/dist/types/current/track/AutoResetController.d.ts +37 -12
  178. package/dist/types/current/track/AutoResetController.d.ts.map +1 -1
  179. package/dist/types/current/track/AutoResetController.js +38 -28
  180. package/dist/types/current/track/SeekRange.d.ts +9 -0
  181. package/dist/types/current/track/SeekRange.d.ts.map +1 -0
  182. package/dist/types/current/track/SeekRange.js +5 -0
  183. package/dist/types/current/track/Track.d.ts +50 -7
  184. package/dist/types/current/track/Track.d.ts.map +1 -1
  185. package/dist/types/current/track/TrackBase.d.ts +30 -29
  186. package/dist/types/current/track/TrackBase.d.ts.map +1 -1
  187. package/dist/types/current/track/TrackBase.js +68 -16
  188. package/dist/types/current/track/TrackController.d.ts +102 -38
  189. package/dist/types/current/track/TrackController.d.ts.map +1 -1
  190. package/dist/types/current/track/TrackController.js +368 -115
  191. package/dist/types/current/track/TrackFactory.d.ts +24 -4
  192. package/dist/types/current/track/TrackFactory.d.ts.map +1 -1
  193. package/dist/types/current/track/TrackFactory.js +9 -3
  194. package/dist/types/current/track/createSegmentDataProvider.d.ts.map +1 -1
  195. package/dist/types/current/track/createVinylTrackFactories.d.ts +5 -5
  196. package/dist/types/current/track/createVinylTrackFactories.d.ts.map +1 -1
  197. package/dist/types/current/track/createVinylTrackFactories.js +4 -4
  198. package/dist/types/current/track/dash/DashManifestController.d.ts +1 -40
  199. package/dist/types/current/track/dash/DashManifestController.d.ts.map +1 -1
  200. package/dist/types/current/track/dash/DashManifestController.js +1 -79
  201. package/dist/types/current/track/dash/DashMediaQualityMetadataResolver.d.ts.map +1 -1
  202. package/dist/types/current/track/dash/DashMediaQualityMetadataResolver.js +14 -1
  203. package/dist/types/current/track/dash/DashTrack.d.ts +6 -7
  204. package/dist/types/current/track/dash/DashTrack.d.ts.map +1 -1
  205. package/dist/types/current/track/dash/DashTrack.js +4 -6
  206. package/dist/types/current/track/dash/buildDashMediaTimeline.d.ts +2 -2
  207. package/dist/types/current/track/dash/buildDashMediaTimeline.d.ts.map +1 -1
  208. package/dist/types/current/track/dash/buildDashMediaTimeline.js +4 -3
  209. package/dist/types/current/track/dash/createDashContentStreamFactories.d.ts.map +1 -1
  210. package/dist/types/current/track/dash/createDashContentTypesValue.d.ts +2 -2
  211. package/dist/types/current/track/dash/createDashContentTypesValue.d.ts.map +1 -1
  212. package/dist/types/current/track/dash/createDashContentTypesValue.js +2 -2
  213. package/dist/types/current/track/dash/createDashFactories.d.ts +50 -23
  214. package/dist/types/current/track/dash/createDashFactories.d.ts.map +1 -1
  215. package/dist/types/current/track/dash/createDashFactories.js +40 -12
  216. package/dist/types/current/track/dash/createDashManifestProvider.d.ts +1 -1
  217. package/dist/types/current/track/dash/createDashManifestProvider.d.ts.map +1 -1
  218. package/dist/types/current/track/dash/createDashManifestProvider.js +1 -1
  219. package/dist/types/current/track/dash/createDefaultDashManifestTransformer.d.ts +1 -1
  220. package/dist/types/current/track/dash/createDefaultDashManifestTransformer.d.ts.map +1 -1
  221. package/dist/types/current/track/dash/createDefaultDashManifestTransformer.js +1 -1
  222. package/dist/types/current/track/dash/createSegmentControllerFactory.d.ts +0 -5
  223. package/dist/types/current/track/dash/createSegmentControllerFactory.d.ts.map +1 -1
  224. package/dist/types/current/track/dash/manifestTransformUtils.d.ts +1 -1
  225. package/dist/types/current/track/dash/manifestTransformUtils.d.ts.map +1 -1
  226. package/dist/types/current/track/dash/timeline/DashRepresentationSegmentProvider.d.ts +3 -3
  227. package/dist/types/current/track/dash/timeline/DashRepresentationSegmentProvider.d.ts.map +1 -1
  228. package/dist/types/current/track/dash/timeline/DashRepresentationSegmentProvider.js +5 -4
  229. package/dist/types/current/track/dash/urlDashManifestProvider.d.ts +1 -1
  230. package/dist/types/current/track/dash/urlDashManifestProvider.d.ts.map +1 -1
  231. package/dist/types/current/track/dash/util/mimeType.d.ts.map +1 -1
  232. package/dist/types/current/track/dash/util/mimeType.js +1 -1
  233. package/dist/types/current/track/dash/util/mpd.d.ts +13 -2
  234. package/dist/types/current/track/dash/util/mpd.d.ts.map +1 -1
  235. package/dist/types/current/track/dash/util/mpd.js +29 -3
  236. package/dist/types/current/track/dash/util/uriResolution.js +1 -1
  237. package/dist/types/current/track/filters/keySystemFilter.d.ts.map +1 -1
  238. package/dist/types/current/track/filters/resourceTypeFilter.d.ts.map +1 -1
  239. package/dist/types/current/track/filters/sampleRateFilter.d.ts.map +1 -1
  240. package/dist/types/current/track/hls/HlsManifestController.d.ts +1 -25
  241. package/dist/types/current/track/hls/HlsManifestController.d.ts.map +1 -1
  242. package/dist/types/current/track/hls/HlsManifestController.js +1 -68
  243. package/dist/types/{ts3.7/track/hls/HlsManifestProvider.d.ts → current/track/hls/HlsManifestData.d.ts} +4 -6
  244. package/dist/types/current/track/hls/HlsManifestData.d.ts.map +1 -0
  245. package/dist/types/current/track/hls/HlsManifestData.js +5 -0
  246. package/dist/types/current/track/hls/HlsMediaQualityMetadataResolver.js +9 -6
  247. package/dist/types/current/track/hls/HlsTrack.d.ts +5 -6
  248. package/dist/types/current/track/hls/HlsTrack.d.ts.map +1 -1
  249. package/dist/types/current/track/hls/HlsTrack.js +3 -5
  250. package/dist/types/current/track/hls/buildHlsMediaTimeline.d.ts +10 -3
  251. package/dist/types/current/track/hls/buildHlsMediaTimeline.d.ts.map +1 -1
  252. package/dist/types/current/track/hls/buildHlsMediaTimeline.js +150 -81
  253. package/dist/types/current/track/hls/createDefaultHlsManifestTransformer.d.ts +1 -1
  254. package/dist/types/current/track/hls/createDefaultHlsManifestTransformer.d.ts.map +1 -1
  255. package/dist/types/current/track/hls/createHlsContentStreamFactories.d.ts.map +1 -1
  256. package/dist/types/current/track/hls/createHlsContentTypesValue.d.ts +1 -1
  257. package/dist/types/current/track/hls/createHlsContentTypesValue.d.ts.map +1 -1
  258. package/dist/types/current/track/hls/createHlsFactories.d.ts +40 -13
  259. package/dist/types/current/track/hls/createHlsFactories.d.ts.map +1 -1
  260. package/dist/types/current/track/hls/createHlsFactories.js +35 -6
  261. package/dist/types/current/track/hls/createHlsManifestProvider.d.ts +6 -0
  262. package/dist/types/current/track/hls/createHlsManifestProvider.d.ts.map +1 -0
  263. package/dist/types/current/track/hls/createHlsManifestProvider.js +9 -0
  264. package/dist/types/current/track/hls/createUrlHlsManifestProvider.d.ts +4 -4
  265. package/dist/types/current/track/hls/createUrlHlsManifestProvider.d.ts.map +1 -1
  266. package/dist/types/current/track/hls/createUrlHlsManifestProvider.js +22 -3
  267. package/dist/types/current/track/hls/index.d.ts +1 -1
  268. package/dist/types/current/track/hls/index.d.ts.map +1 -1
  269. package/dist/types/current/track/hls/index.js +1 -1
  270. package/dist/types/current/track/hls/util/hlsSegmentTime.d.ts +1 -1
  271. package/dist/types/current/track/hls/util/hlsSegmentTime.d.ts.map +1 -1
  272. package/dist/types/current/track/hls/util/hlsSegmentTime.js +1 -1
  273. package/dist/types/current/track/inferLoadOptionsFromUri.d.ts +15 -0
  274. package/dist/types/current/track/inferLoadOptionsFromUri.d.ts.map +1 -0
  275. package/dist/types/current/track/inferLoadOptionsFromUri.js +55 -0
  276. package/dist/types/current/track/mse/MseTrack.d.ts +67 -9
  277. package/dist/types/current/track/mse/MseTrack.d.ts.map +1 -1
  278. package/dist/types/current/track/mse/MseTrack.js +216 -51
  279. package/dist/types/current/track/mse/codec.d.ts.map +1 -1
  280. package/dist/types/current/track/source/FixedPlaybackQuality.d.ts +1 -1
  281. package/dist/types/current/track/source/FixedPlaybackQuality.d.ts.map +1 -1
  282. package/dist/types/current/track/source/SourceObjectTrack.d.ts +5 -5
  283. package/dist/types/current/track/source/SourceObjectTrack.d.ts.map +1 -1
  284. package/dist/types/current/track/source/SourceObjectTrack.js +2 -2
  285. package/dist/types/current/track/source/SourceTrack.d.ts +5 -5
  286. package/dist/types/current/track/source/SourceTrack.d.ts.map +1 -1
  287. package/dist/types/current/track/source/SourceTrack.js +3 -4
  288. package/dist/types/current/track/source/SourceTrackBase.d.ts +8 -6
  289. package/dist/types/current/track/source/SourceTrackBase.d.ts.map +1 -1
  290. package/dist/types/current/track/source/SourceTrackBase.js +27 -10
  291. package/dist/types/current/tsconfig.tsbuildinfo +1 -1
  292. package/dist/types/current/util/media/codecOverrides.d.ts +33 -0
  293. package/dist/types/current/util/media/codecOverrides.d.ts.map +1 -0
  294. package/dist/types/current/util/media/codecOverrides.js +37 -0
  295. package/dist/types/current/util/media/codecSupport.d.ts +6 -0
  296. package/dist/types/current/util/media/codecSupport.d.ts.map +1 -0
  297. package/dist/types/current/util/media/codecSupport.js +17 -0
  298. package/dist/types/current/util/media/mediaSource.d.ts +5 -0
  299. package/dist/types/current/util/media/mediaSource.d.ts.map +1 -1
  300. package/dist/types/current/util/media/mediaSource.js +6 -1
  301. package/dist/types/current/vinyl/ReadonlyPlaybackStreamingState.d.ts +9 -2
  302. package/dist/types/current/vinyl/ReadonlyPlaybackStreamingState.d.ts.map +1 -1
  303. package/dist/types/current/vinyl/VinylDeps.d.ts +6 -1
  304. package/dist/types/current/vinyl/VinylDeps.d.ts.map +1 -1
  305. package/dist/types/current/vinyl/VinylOptions.d.ts +68 -4
  306. package/dist/types/current/vinyl/VinylOptions.d.ts.map +1 -1
  307. package/dist/types/current/vinyl/VinylOptions.js +17 -2
  308. package/dist/types/current/vinyl/VinylPatchOptions.d.ts.map +1 -1
  309. package/dist/types/current/vinyl/VinylPlayer.d.ts +89 -6
  310. package/dist/types/current/vinyl/VinylPlayer.d.ts.map +1 -1
  311. package/dist/types/current/vinyl/VinylPlayer.js +234 -39
  312. package/dist/types/current/vinyl/createVinylFactories.d.ts +64 -23
  313. package/dist/types/current/vinyl/createVinylFactories.d.ts.map +1 -1
  314. package/dist/types/current/vinyl/createVinylFactories.js +6 -2
  315. package/dist/types/ts3.7/ad/AdBreakInfo.d.ts +160 -0
  316. package/dist/types/ts3.7/ad/AdController.d.ts +243 -0
  317. package/dist/types/ts3.7/ad/AdControllerImpl.d.ts +146 -0
  318. package/dist/types/ts3.7/ad/AdError.d.ts +6 -0
  319. package/dist/types/ts3.7/ad/AdsProvider.d.ts +28 -0
  320. package/dist/types/ts3.7/ad/defaultAdLoadOptionsResolver.d.ts +12 -0
  321. package/dist/types/ts3.7/ad/discoverHlsInterstitials.d.ts +22 -0
  322. package/dist/types/ts3.7/drm/DrmController.d.ts +31 -6
  323. package/dist/types/ts3.7/drm/DrmControllerImpl.d.ts +15 -6
  324. package/dist/types/ts3.7/drm/DrmKeySystemResolver.d.ts +1 -1
  325. package/dist/types/ts3.7/drm/DrmOptions.d.ts +1 -1
  326. package/dist/types/ts3.7/drm/commonEme/CommonEme.d.ts +2 -2
  327. package/dist/types/ts3.7/drm/commonEme/CommonEmeFactory.d.ts +1 -1
  328. package/dist/types/ts3.7/drm/commonEme/MsCommonEme.d.ts +1 -1
  329. package/dist/types/ts3.7/drm/commonEme/StandardCommonEme.d.ts +1 -1
  330. package/dist/types/ts3.7/drm/commonEme/WebKitCommonEme.d.ts +2 -2
  331. package/dist/types/ts3.7/drm/licenseProvider/LicenseProvider.d.ts +1 -1
  332. package/dist/types/ts3.7/drm/util/unpackPlayReadyChallenge.d.ts +5 -0
  333. package/dist/types/ts3.7/global/environment.d.ts +6 -2
  334. package/dist/types/ts3.7/index.d.ts +151 -126
  335. package/dist/types/ts3.7/patch/media/patches/createPreventStallsPatch.d.ts +1 -1
  336. package/dist/types/ts3.7/patch/media/patches/createUnreliablePlaybackEventsPatch.d.ts +1 -1
  337. package/dist/types/ts3.7/playback/PlaybackControllerImpl.d.ts +2 -1
  338. package/dist/types/ts3.7/playback/PlaybackSource.d.ts +1 -1
  339. package/dist/types/ts3.7/playback/ReadonlyPlaybackController.d.ts +6 -0
  340. package/dist/types/ts3.7/playback/logging/playbackStateLoggingHandler.d.ts +1 -1
  341. package/dist/types/ts3.7/playback/nextHasMetadata.d.ts +1 -1
  342. package/dist/types/ts3.7/streaming/ContentStream.d.ts +12 -5
  343. package/dist/types/ts3.7/streaming/ContentStreamingOptions.d.ts +2 -2
  344. package/dist/types/ts3.7/streaming/LoadMetric.d.ts +58 -0
  345. package/dist/types/ts3.7/streaming/ManifestController.d.ts +16 -1
  346. package/dist/types/ts3.7/streaming/ManifestControllerImpl.d.ts +40 -0
  347. package/dist/types/ts3.7/streaming/MediaQualityMetadata.d.ts +21 -2
  348. package/dist/types/ts3.7/streaming/MediaTimeline.d.ts +12 -5
  349. package/dist/types/ts3.7/streaming/SegmentController.d.ts +7 -7
  350. package/dist/types/ts3.7/streaming/SegmentControllerImpl.d.ts +17 -6
  351. package/dist/types/ts3.7/streaming/SegmentReference.d.ts +1 -1
  352. package/dist/types/ts3.7/streaming/StreamingEventMap.d.ts +43 -2
  353. package/dist/types/ts3.7/streaming/abr/QualitySelector.d.ts +1 -1
  354. package/dist/types/ts3.7/streaming/abr/QualitySelectorImpl.d.ts +46 -3
  355. package/dist/types/ts3.7/streaming/buffering/BufferingController.d.ts +40 -13
  356. package/dist/types/ts3.7/streaming/buffering/MediaSourceController.d.ts +52 -21
  357. package/dist/types/ts3.7/streaming/buffering/SourceBufferController.d.ts +1 -1
  358. package/dist/types/ts3.7/streaming/buffering/codecDenylist.d.ts +23 -0
  359. package/dist/types/ts3.7/streaming/createAllowedContentTypesValue.d.ts +30 -0
  360. package/dist/types/ts3.7/streaming/createDefaultMediaTimelineTransformer.d.ts +5 -2
  361. package/dist/types/ts3.7/streaming/mediaTimelineAccessibilityFilter.d.ts +35 -0
  362. package/dist/types/ts3.7/streaming/mediaTimelineFilter.d.ts +3 -3
  363. package/dist/types/ts3.7/streaming/mediaTimelineLanguageFilter.d.ts +25 -7
  364. package/dist/types/ts3.7/streaming/util/segment.d.ts +1 -1
  365. package/dist/types/ts3.7/text/SidecarTextTrackController.d.ts +91 -0
  366. package/dist/types/ts3.7/text/SidecarTextTrackLoader.d.ts +60 -0
  367. package/dist/types/ts3.7/text/TextTrack.d.ts +129 -0
  368. package/dist/types/ts3.7/text/VttCueStyle.d.ts +41 -0
  369. package/dist/types/ts3.7/text/discoverDashTextTracks.d.ts +24 -0
  370. package/dist/types/ts3.7/text/discoverHlsTextTracks.d.ts +19 -0
  371. package/dist/types/ts3.7/text/parseWebVtt.d.ts +46 -0
  372. package/dist/types/ts3.7/text/pickPreferredTextTrack.d.ts +14 -0
  373. package/dist/types/ts3.7/track/AutoResetController.d.ts +37 -12
  374. package/dist/types/ts3.7/track/SeekRange.d.ts +9 -0
  375. package/dist/types/ts3.7/track/Track.d.ts +50 -7
  376. package/dist/types/ts3.7/track/TrackBase.d.ts +21 -29
  377. package/dist/types/ts3.7/track/TrackController.d.ts +104 -39
  378. package/dist/types/ts3.7/track/TrackFactory.d.ts +23 -3
  379. package/dist/types/ts3.7/track/createVinylTrackFactories.d.ts +5 -5
  380. package/dist/types/ts3.7/track/dash/DashManifestController.d.ts +1 -36
  381. package/dist/types/ts3.7/track/dash/DashTrack.d.ts +6 -7
  382. package/dist/types/ts3.7/track/dash/buildDashMediaTimeline.d.ts +2 -2
  383. package/dist/types/ts3.7/track/dash/createDashContentTypesValue.d.ts +2 -2
  384. package/dist/types/ts3.7/track/dash/createDashFactories.d.ts +50 -23
  385. package/dist/types/ts3.7/track/dash/createDashManifestProvider.d.ts +1 -1
  386. package/dist/types/ts3.7/track/dash/createDefaultDashManifestTransformer.d.ts +1 -1
  387. package/dist/types/ts3.7/track/dash/createSegmentControllerFactory.d.ts +0 -5
  388. package/dist/types/ts3.7/track/dash/manifestTransformUtils.d.ts +1 -1
  389. package/dist/types/ts3.7/track/dash/timeline/DashRepresentationSegmentProvider.d.ts +3 -3
  390. package/dist/types/ts3.7/track/dash/urlDashManifestProvider.d.ts +1 -1
  391. package/dist/types/ts3.7/track/dash/util/mpd.d.ts +13 -2
  392. package/dist/types/ts3.7/track/hls/HlsManifestController.d.ts +1 -22
  393. package/dist/types/{current/track/hls/HlsManifestProvider.d.ts → ts3.7/track/hls/HlsManifestData.d.ts} +4 -6
  394. package/dist/types/ts3.7/track/hls/HlsTrack.d.ts +5 -6
  395. package/dist/types/ts3.7/track/hls/buildHlsMediaTimeline.d.ts +10 -3
  396. package/dist/types/ts3.7/track/hls/createDefaultHlsManifestTransformer.d.ts +1 -1
  397. package/dist/types/ts3.7/track/hls/createHlsContentTypesValue.d.ts +1 -1
  398. package/dist/types/ts3.7/track/hls/createHlsFactories.d.ts +40 -13
  399. package/dist/types/ts3.7/track/hls/createHlsManifestProvider.d.ts +6 -0
  400. package/dist/types/ts3.7/track/hls/createUrlHlsManifestProvider.d.ts +4 -4
  401. package/dist/types/ts3.7/track/hls/index.d.ts +1 -1
  402. package/dist/types/ts3.7/track/hls/util/hlsSegmentTime.d.ts +1 -1
  403. package/dist/types/ts3.7/track/inferLoadOptionsFromUri.d.ts +15 -0
  404. package/dist/types/ts3.7/track/mse/MseTrack.d.ts +66 -8
  405. package/dist/types/ts3.7/track/source/FixedPlaybackQuality.d.ts +1 -1
  406. package/dist/types/ts3.7/track/source/SourceObjectTrack.d.ts +5 -5
  407. package/dist/types/ts3.7/track/source/SourceTrack.d.ts +5 -5
  408. package/dist/types/ts3.7/track/source/SourceTrackBase.d.ts +8 -6
  409. package/dist/types/ts3.7/util/media/codecOverrides.d.ts +33 -0
  410. package/dist/types/ts3.7/util/media/codecSupport.d.ts +6 -0
  411. package/dist/types/ts3.7/util/media/mediaSource.d.ts +5 -0
  412. package/dist/types/ts3.7/vinyl/ReadonlyPlaybackStreamingState.d.ts +9 -2
  413. package/dist/types/ts3.7/vinyl/VinylDeps.d.ts +6 -1
  414. package/dist/types/ts3.7/vinyl/VinylOptions.d.ts +68 -4
  415. package/dist/types/ts3.7/vinyl/VinylPlayer.d.ts +51 -6
  416. package/dist/types/ts3.7/vinyl/createVinylFactories.d.ts +64 -23
  417. package/dist/types/ts4.1/ad/AdBreakInfo.d.ts +160 -0
  418. package/dist/types/ts4.1/ad/AdController.d.ts +243 -0
  419. package/dist/types/ts4.1/ad/AdControllerImpl.d.ts +146 -0
  420. package/dist/types/ts4.1/ad/AdError.d.ts +6 -0
  421. package/dist/types/ts4.1/ad/AdsProvider.d.ts +28 -0
  422. package/dist/types/ts4.1/ad/defaultAdLoadOptionsResolver.d.ts +12 -0
  423. package/dist/types/ts4.1/ad/discoverHlsInterstitials.d.ts +22 -0
  424. package/dist/types/ts4.1/drm/DrmController.d.ts +31 -6
  425. package/dist/types/ts4.1/drm/DrmControllerImpl.d.ts +15 -6
  426. package/dist/types/ts4.1/drm/DrmKeySystemResolver.d.ts +1 -1
  427. package/dist/types/ts4.1/drm/DrmOptions.d.ts +1 -1
  428. package/dist/types/ts4.1/drm/commonEme/CommonEme.d.ts +2 -2
  429. package/dist/types/ts4.1/drm/commonEme/CommonEmeFactory.d.ts +1 -1
  430. package/dist/types/ts4.1/drm/commonEme/MsCommonEme.d.ts +1 -1
  431. package/dist/types/ts4.1/drm/commonEme/StandardCommonEme.d.ts +1 -1
  432. package/dist/types/ts4.1/drm/commonEme/WebKitCommonEme.d.ts +2 -2
  433. package/dist/types/ts4.1/drm/licenseProvider/LicenseProvider.d.ts +1 -1
  434. package/dist/types/ts4.1/drm/util/unpackPlayReadyChallenge.d.ts +5 -0
  435. package/dist/types/ts4.1/global/environment.d.ts +6 -2
  436. package/dist/types/ts4.1/index.d.ts +151 -126
  437. package/dist/types/ts4.1/patch/media/patches/createPreventStallsPatch.d.ts +1 -1
  438. package/dist/types/ts4.1/patch/media/patches/createUnreliablePlaybackEventsPatch.d.ts +1 -1
  439. package/dist/types/ts4.1/playback/PlaybackControllerImpl.d.ts +2 -1
  440. package/dist/types/ts4.1/playback/PlaybackSource.d.ts +1 -1
  441. package/dist/types/ts4.1/playback/ReadonlyPlaybackController.d.ts +6 -0
  442. package/dist/types/ts4.1/playback/logging/playbackStateLoggingHandler.d.ts +1 -1
  443. package/dist/types/ts4.1/playback/nextHasMetadata.d.ts +1 -1
  444. package/dist/types/ts4.1/streaming/ContentStream.d.ts +12 -5
  445. package/dist/types/ts4.1/streaming/ContentStreamingOptions.d.ts +2 -2
  446. package/dist/types/ts4.1/streaming/LoadMetric.d.ts +58 -0
  447. package/dist/types/ts4.1/streaming/ManifestController.d.ts +16 -1
  448. package/dist/types/ts4.1/streaming/ManifestControllerImpl.d.ts +40 -0
  449. package/dist/types/ts4.1/streaming/MediaQualityMetadata.d.ts +21 -2
  450. package/dist/types/ts4.1/streaming/MediaTimeline.d.ts +12 -5
  451. package/dist/types/ts4.1/streaming/SegmentController.d.ts +7 -7
  452. package/dist/types/ts4.1/streaming/SegmentControllerImpl.d.ts +17 -6
  453. package/dist/types/ts4.1/streaming/SegmentReference.d.ts +1 -1
  454. package/dist/types/ts4.1/streaming/StreamingEventMap.d.ts +43 -2
  455. package/dist/types/ts4.1/streaming/abr/QualitySelector.d.ts +1 -1
  456. package/dist/types/ts4.1/streaming/abr/QualitySelectorImpl.d.ts +46 -3
  457. package/dist/types/ts4.1/streaming/buffering/BufferingController.d.ts +40 -13
  458. package/dist/types/ts4.1/streaming/buffering/MediaSourceController.d.ts +52 -21
  459. package/dist/types/ts4.1/streaming/buffering/SourceBufferController.d.ts +1 -1
  460. package/dist/types/ts4.1/streaming/buffering/codecDenylist.d.ts +23 -0
  461. package/dist/types/ts4.1/streaming/createAllowedContentTypesValue.d.ts +30 -0
  462. package/dist/types/ts4.1/streaming/createDefaultMediaTimelineTransformer.d.ts +5 -2
  463. package/dist/types/ts4.1/streaming/mediaTimelineAccessibilityFilter.d.ts +35 -0
  464. package/dist/types/ts4.1/streaming/mediaTimelineFilter.d.ts +3 -3
  465. package/dist/types/ts4.1/streaming/mediaTimelineLanguageFilter.d.ts +25 -7
  466. package/dist/types/ts4.1/streaming/util/segment.d.ts +1 -1
  467. package/dist/types/ts4.1/text/SidecarTextTrackController.d.ts +92 -0
  468. package/dist/types/ts4.1/text/SidecarTextTrackLoader.d.ts +60 -0
  469. package/dist/types/ts4.1/text/TextTrack.d.ts +129 -0
  470. package/dist/types/ts4.1/text/VttCueStyle.d.ts +41 -0
  471. package/dist/types/ts4.1/text/discoverDashTextTracks.d.ts +24 -0
  472. package/dist/types/ts4.1/text/discoverHlsTextTracks.d.ts +19 -0
  473. package/dist/types/ts4.1/text/parseWebVtt.d.ts +46 -0
  474. package/dist/types/ts4.1/text/pickPreferredTextTrack.d.ts +14 -0
  475. package/dist/types/ts4.1/track/AutoResetController.d.ts +37 -12
  476. package/dist/types/ts4.1/track/SeekRange.d.ts +9 -0
  477. package/dist/types/ts4.1/track/Track.d.ts +50 -7
  478. package/dist/types/ts4.1/track/TrackBase.d.ts +21 -29
  479. package/dist/types/ts4.1/track/TrackController.d.ts +104 -39
  480. package/dist/types/ts4.1/track/TrackFactory.d.ts +23 -3
  481. package/dist/types/ts4.1/track/createVinylTrackFactories.d.ts +5 -5
  482. package/dist/types/ts4.1/track/dash/DashManifestController.d.ts +1 -36
  483. package/dist/types/ts4.1/track/dash/DashTrack.d.ts +6 -7
  484. package/dist/types/ts4.1/track/dash/buildDashMediaTimeline.d.ts +2 -2
  485. package/dist/types/ts4.1/track/dash/createDashContentTypesValue.d.ts +2 -2
  486. package/dist/types/ts4.1/track/dash/createDashFactories.d.ts +50 -23
  487. package/dist/types/ts4.1/track/dash/createDashManifestProvider.d.ts +1 -1
  488. package/dist/types/ts4.1/track/dash/createDefaultDashManifestTransformer.d.ts +1 -1
  489. package/dist/types/ts4.1/track/dash/createSegmentControllerFactory.d.ts +0 -5
  490. package/dist/types/ts4.1/track/dash/manifestTransformUtils.d.ts +1 -1
  491. package/dist/types/ts4.1/track/dash/timeline/DashRepresentationSegmentProvider.d.ts +3 -3
  492. package/dist/types/ts4.1/track/dash/urlDashManifestProvider.d.ts +1 -1
  493. package/dist/types/ts4.1/track/dash/util/mpd.d.ts +13 -2
  494. package/dist/types/ts4.1/track/hls/HlsManifestController.d.ts +1 -22
  495. package/dist/types/ts4.1/track/hls/{HlsManifestProvider.d.ts → HlsManifestData.d.ts} +4 -6
  496. package/dist/types/ts4.1/track/hls/HlsTrack.d.ts +5 -6
  497. package/dist/types/ts4.1/track/hls/buildHlsMediaTimeline.d.ts +10 -3
  498. package/dist/types/ts4.1/track/hls/createDefaultHlsManifestTransformer.d.ts +1 -1
  499. package/dist/types/ts4.1/track/hls/createHlsContentTypesValue.d.ts +1 -1
  500. package/dist/types/ts4.1/track/hls/createHlsFactories.d.ts +41 -13
  501. package/dist/types/ts4.1/track/hls/createHlsManifestProvider.d.ts +6 -0
  502. package/dist/types/ts4.1/track/hls/createUrlHlsManifestProvider.d.ts +4 -4
  503. package/dist/types/ts4.1/track/hls/index.d.ts +1 -1
  504. package/dist/types/ts4.1/track/hls/util/hlsSegmentTime.d.ts +1 -1
  505. package/dist/types/ts4.1/track/inferLoadOptionsFromUri.d.ts +15 -0
  506. package/dist/types/ts4.1/track/mse/MseTrack.d.ts +67 -9
  507. package/dist/types/ts4.1/track/source/FixedPlaybackQuality.d.ts +1 -1
  508. package/dist/types/ts4.1/track/source/SourceObjectTrack.d.ts +6 -6
  509. package/dist/types/ts4.1/track/source/SourceTrack.d.ts +6 -6
  510. package/dist/types/ts4.1/track/source/SourceTrackBase.d.ts +9 -7
  511. package/dist/types/ts4.1/util/media/codecOverrides.d.ts +33 -0
  512. package/dist/types/ts4.1/util/media/codecSupport.d.ts +6 -0
  513. package/dist/types/ts4.1/util/media/mediaSource.d.ts +5 -0
  514. package/dist/types/ts4.1/vinyl/ReadonlyPlaybackStreamingState.d.ts +9 -2
  515. package/dist/types/ts4.1/vinyl/VinylDeps.d.ts +6 -1
  516. package/dist/types/ts4.1/vinyl/VinylOptions.d.ts +68 -4
  517. package/dist/types/ts4.1/vinyl/VinylPlayer.d.ts +51 -6
  518. package/dist/types/ts4.1/vinyl/createVinylFactories.d.ts +65 -23
  519. package/dist/types/ts4.7/ad/AdBreakInfo.d.ts +160 -0
  520. package/dist/types/ts4.7/ad/AdController.d.ts +243 -0
  521. package/dist/types/ts4.7/ad/AdControllerImpl.d.ts +146 -0
  522. package/dist/types/ts4.7/ad/AdError.d.ts +6 -0
  523. package/dist/types/ts4.7/ad/AdsProvider.d.ts +28 -0
  524. package/dist/types/ts4.7/ad/defaultAdLoadOptionsResolver.d.ts +12 -0
  525. package/dist/types/ts4.7/ad/discoverHlsInterstitials.d.ts +22 -0
  526. package/dist/types/ts4.7/drm/DrmController.d.ts +31 -6
  527. package/dist/types/ts4.7/drm/DrmControllerImpl.d.ts +15 -6
  528. package/dist/types/ts4.7/drm/DrmKeySystemResolver.d.ts +1 -1
  529. package/dist/types/ts4.7/drm/DrmOptions.d.ts +1 -1
  530. package/dist/types/ts4.7/drm/commonEme/CommonEme.d.ts +2 -2
  531. package/dist/types/ts4.7/drm/commonEme/CommonEmeFactory.d.ts +1 -1
  532. package/dist/types/ts4.7/drm/commonEme/MsCommonEme.d.ts +1 -1
  533. package/dist/types/ts4.7/drm/commonEme/StandardCommonEme.d.ts +1 -1
  534. package/dist/types/ts4.7/drm/commonEme/WebKitCommonEme.d.ts +2 -2
  535. package/dist/types/ts4.7/drm/licenseProvider/LicenseProvider.d.ts +1 -1
  536. package/dist/types/ts4.7/drm/util/unpackPlayReadyChallenge.d.ts +5 -0
  537. package/dist/types/ts4.7/global/environment.d.ts +6 -2
  538. package/dist/types/ts4.7/index.d.ts +151 -126
  539. package/dist/types/ts4.7/patch/media/patches/createPreventStallsPatch.d.ts +1 -1
  540. package/dist/types/ts4.7/patch/media/patches/createUnreliablePlaybackEventsPatch.d.ts +1 -1
  541. package/dist/types/ts4.7/playback/PlaybackControllerImpl.d.ts +2 -1
  542. package/dist/types/ts4.7/playback/PlaybackSource.d.ts +1 -1
  543. package/dist/types/ts4.7/playback/ReadonlyPlaybackController.d.ts +6 -0
  544. package/dist/types/ts4.7/playback/logging/playbackStateLoggingHandler.d.ts +1 -1
  545. package/dist/types/ts4.7/playback/nextHasMetadata.d.ts +1 -1
  546. package/dist/types/ts4.7/streaming/ContentStream.d.ts +12 -5
  547. package/dist/types/ts4.7/streaming/ContentStreamingOptions.d.ts +2 -2
  548. package/dist/types/ts4.7/streaming/LoadMetric.d.ts +58 -0
  549. package/dist/types/ts4.7/streaming/ManifestController.d.ts +16 -1
  550. package/dist/types/ts4.7/streaming/ManifestControllerImpl.d.ts +43 -0
  551. package/dist/types/ts4.7/streaming/MediaQualityMetadata.d.ts +21 -2
  552. package/dist/types/ts4.7/streaming/MediaTimeline.d.ts +12 -5
  553. package/dist/types/ts4.7/streaming/SegmentController.d.ts +7 -7
  554. package/dist/types/ts4.7/streaming/SegmentControllerImpl.d.ts +17 -6
  555. package/dist/types/ts4.7/streaming/SegmentReference.d.ts +1 -1
  556. package/dist/types/ts4.7/streaming/StreamingEventMap.d.ts +43 -2
  557. package/dist/types/ts4.7/streaming/abr/QualitySelector.d.ts +1 -1
  558. package/dist/types/ts4.7/streaming/abr/QualitySelectorImpl.d.ts +46 -3
  559. package/dist/types/ts4.7/streaming/buffering/BufferingController.d.ts +40 -13
  560. package/dist/types/ts4.7/streaming/buffering/MediaSourceController.d.ts +52 -21
  561. package/dist/types/ts4.7/streaming/buffering/SourceBufferController.d.ts +1 -1
  562. package/dist/types/ts4.7/streaming/buffering/codecDenylist.d.ts +23 -0
  563. package/dist/types/ts4.7/streaming/createAllowedContentTypesValue.d.ts +30 -0
  564. package/dist/types/ts4.7/streaming/createDefaultMediaTimelineTransformer.d.ts +5 -2
  565. package/dist/types/ts4.7/streaming/mediaTimelineAccessibilityFilter.d.ts +35 -0
  566. package/dist/types/ts4.7/streaming/mediaTimelineFilter.d.ts +3 -3
  567. package/dist/types/ts4.7/streaming/mediaTimelineLanguageFilter.d.ts +25 -7
  568. package/dist/types/ts4.7/streaming/util/segment.d.ts +1 -1
  569. package/dist/types/ts4.7/text/SidecarTextTrackController.d.ts +91 -0
  570. package/dist/types/ts4.7/text/SidecarTextTrackLoader.d.ts +60 -0
  571. package/dist/types/ts4.7/text/TextTrack.d.ts +129 -0
  572. package/dist/types/ts4.7/text/VttCueStyle.d.ts +41 -0
  573. package/dist/types/ts4.7/text/discoverDashTextTracks.d.ts +24 -0
  574. package/dist/types/ts4.7/text/discoverHlsTextTracks.d.ts +19 -0
  575. package/dist/types/ts4.7/text/parseWebVtt.d.ts +46 -0
  576. package/dist/types/ts4.7/text/pickPreferredTextTrack.d.ts +14 -0
  577. package/dist/types/ts4.7/track/AutoResetController.d.ts +37 -12
  578. package/dist/types/ts4.7/track/SeekRange.d.ts +9 -0
  579. package/dist/types/ts4.7/track/Track.d.ts +50 -7
  580. package/dist/types/ts4.7/track/TrackBase.d.ts +30 -29
  581. package/dist/types/ts4.7/track/TrackController.d.ts +104 -39
  582. package/dist/types/ts4.7/track/TrackFactory.d.ts +24 -4
  583. package/dist/types/ts4.7/track/createVinylTrackFactories.d.ts +5 -5
  584. package/dist/types/ts4.7/track/dash/DashManifestController.d.ts +1 -40
  585. package/dist/types/ts4.7/track/dash/DashTrack.d.ts +6 -7
  586. package/dist/types/ts4.7/track/dash/buildDashMediaTimeline.d.ts +2 -2
  587. package/dist/types/ts4.7/track/dash/createDashContentTypesValue.d.ts +2 -2
  588. package/dist/types/ts4.7/track/dash/createDashFactories.d.ts +50 -23
  589. package/dist/types/ts4.7/track/dash/createDashManifestProvider.d.ts +1 -1
  590. package/dist/types/ts4.7/track/dash/createDefaultDashManifestTransformer.d.ts +1 -1
  591. package/dist/types/ts4.7/track/dash/createSegmentControllerFactory.d.ts +0 -5
  592. package/dist/types/ts4.7/track/dash/manifestTransformUtils.d.ts +1 -1
  593. package/dist/types/ts4.7/track/dash/timeline/DashRepresentationSegmentProvider.d.ts +3 -3
  594. package/dist/types/ts4.7/track/dash/urlDashManifestProvider.d.ts +1 -1
  595. package/dist/types/ts4.7/track/dash/util/mpd.d.ts +13 -2
  596. package/dist/types/ts4.7/track/hls/HlsManifestController.d.ts +1 -25
  597. package/dist/types/ts4.7/track/hls/{HlsManifestProvider.d.ts → HlsManifestData.d.ts} +4 -6
  598. package/dist/types/ts4.7/track/hls/HlsTrack.d.ts +5 -6
  599. package/dist/types/ts4.7/track/hls/buildHlsMediaTimeline.d.ts +10 -3
  600. package/dist/types/ts4.7/track/hls/createDefaultHlsManifestTransformer.d.ts +1 -1
  601. package/dist/types/ts4.7/track/hls/createHlsContentTypesValue.d.ts +1 -1
  602. package/dist/types/ts4.7/track/hls/createHlsFactories.d.ts +40 -13
  603. package/dist/types/ts4.7/track/hls/createHlsManifestProvider.d.ts +6 -0
  604. package/dist/types/ts4.7/track/hls/createUrlHlsManifestProvider.d.ts +4 -4
  605. package/dist/types/ts4.7/track/hls/index.d.ts +1 -1
  606. package/dist/types/ts4.7/track/hls/util/hlsSegmentTime.d.ts +1 -1
  607. package/dist/types/ts4.7/track/inferLoadOptionsFromUri.d.ts +15 -0
  608. package/dist/types/ts4.7/track/mse/MseTrack.d.ts +67 -9
  609. package/dist/types/ts4.7/track/source/FixedPlaybackQuality.d.ts +1 -1
  610. package/dist/types/ts4.7/track/source/SourceObjectTrack.d.ts +5 -5
  611. package/dist/types/ts4.7/track/source/SourceTrack.d.ts +5 -5
  612. package/dist/types/ts4.7/track/source/SourceTrackBase.d.ts +8 -6
  613. package/dist/types/ts4.7/util/media/codecOverrides.d.ts +33 -0
  614. package/dist/types/ts4.7/util/media/codecSupport.d.ts +6 -0
  615. package/dist/types/ts4.7/util/media/mediaSource.d.ts +5 -0
  616. package/dist/types/ts4.7/vinyl/ReadonlyPlaybackStreamingState.d.ts +9 -2
  617. package/dist/types/ts4.7/vinyl/VinylDeps.d.ts +6 -1
  618. package/dist/types/ts4.7/vinyl/VinylOptions.d.ts +68 -4
  619. package/dist/types/ts4.7/vinyl/VinylPlayer.d.ts +89 -6
  620. package/dist/types/ts4.7/vinyl/createVinylFactories.d.ts +64 -23
  621. package/dist/unit/types/current/ad/AdController.test.d.ts +2 -0
  622. package/dist/unit/types/current/ad/AdController.test.d.ts.map +1 -0
  623. package/dist/unit/types/current/ad/AdController.test.js +10 -0
  624. package/dist/unit/types/current/ad/AdControllerImpl.test.d.ts +2 -0
  625. package/dist/unit/types/current/ad/AdControllerImpl.test.d.ts.map +1 -0
  626. package/dist/unit/types/current/ad/AdControllerImpl.test.js +1456 -0
  627. package/dist/unit/types/current/ad/defaultAdLoadOptionsResolver.test.d.ts +2 -0
  628. package/dist/unit/types/current/ad/defaultAdLoadOptionsResolver.test.d.ts.map +1 -0
  629. package/dist/unit/types/current/ad/defaultAdLoadOptionsResolver.test.js +56 -0
  630. package/dist/unit/types/current/ad/discoverHlsInterstitials.test.d.ts +2 -0
  631. package/dist/unit/types/current/ad/discoverHlsInterstitials.test.d.ts.map +1 -0
  632. package/dist/unit/types/current/ad/discoverHlsInterstitials.test.js +756 -0
  633. package/dist/unit/types/current/drm/DrmControllerImpl.test.js +205 -4
  634. package/dist/unit/types/current/index.d.ts +117 -98
  635. package/dist/unit/types/current/index.d.ts.map +1 -1
  636. package/dist/unit/types/current/index.js +117 -98
  637. package/dist/unit/types/current/playback/PlaybackControllerImpl.test.js +92 -3
  638. package/dist/unit/types/current/streaming/ContentStream.test.js +11 -0
  639. package/dist/unit/types/current/streaming/ManifestControllerImpl.test.d.ts +2 -0
  640. package/dist/unit/types/current/streaming/ManifestControllerImpl.test.d.ts.map +1 -0
  641. package/dist/unit/types/current/streaming/ManifestControllerImpl.test.js +197 -0
  642. package/dist/unit/types/current/streaming/MediaTimeline.test.js +8 -1
  643. package/dist/unit/types/current/streaming/MseTrack.test.js +482 -14
  644. package/dist/unit/types/current/streaming/SegmentControllerImpl.test.js +69 -33
  645. package/dist/unit/types/current/streaming/StreamingEventMap.test.js +2 -2
  646. package/dist/unit/types/current/streaming/abr/QualitySelectorImpl.test.js +183 -0
  647. package/dist/unit/types/current/streaming/buffering/BufferingController.test.js +123 -61
  648. package/dist/unit/types/current/streaming/buffering/MediaSourceController.test.js +133 -26
  649. package/dist/unit/types/current/streaming/buffering/SourceBufferController.test.js +4 -0
  650. package/dist/unit/types/current/streaming/buffering/codecDenylist.test.d.ts +2 -0
  651. package/dist/unit/types/current/streaming/buffering/codecDenylist.test.d.ts.map +1 -0
  652. package/dist/unit/types/current/streaming/buffering/codecDenylist.test.js +56 -0
  653. package/dist/unit/types/current/streaming/createAllowedContentTypesValue.test.d.ts +2 -0
  654. package/dist/unit/types/current/streaming/createAllowedContentTypesValue.test.d.ts.map +1 -0
  655. package/dist/unit/types/current/streaming/createAllowedContentTypesValue.test.js +77 -0
  656. package/dist/unit/types/current/streaming/createDefaultMediaTimelineTransformer.test.js +150 -2
  657. package/dist/unit/types/current/streaming/mediaTimelineAccessibilityFilter.test.d.ts +2 -0
  658. package/dist/unit/types/current/streaming/mediaTimelineAccessibilityFilter.test.d.ts.map +1 -0
  659. package/dist/unit/types/current/streaming/mediaTimelineAccessibilityFilter.test.js +99 -0
  660. package/dist/unit/types/current/streaming/mediaTimelineFilter.test.js +11 -0
  661. package/dist/unit/types/current/streaming/mediaTimelineLanguageFilter.test.js +99 -3
  662. package/dist/unit/types/current/text/SidecarTextTrackController.test.d.ts +2 -0
  663. package/dist/unit/types/current/text/SidecarTextTrackController.test.d.ts.map +1 -0
  664. package/dist/unit/types/current/text/SidecarTextTrackController.test.js +587 -0
  665. package/dist/unit/types/current/text/SidecarTextTrackLoader.test.d.ts +2 -0
  666. package/dist/unit/types/current/text/SidecarTextTrackLoader.test.d.ts.map +1 -0
  667. package/dist/unit/types/current/text/SidecarTextTrackLoader.test.js +336 -0
  668. package/dist/unit/types/current/text/VttCueStyle.test.d.ts +2 -0
  669. package/dist/unit/types/current/text/VttCueStyle.test.d.ts.map +1 -0
  670. package/dist/unit/types/current/text/VttCueStyle.test.js +76 -0
  671. package/dist/unit/types/current/text/discoverDashTextTracks.test.d.ts +2 -0
  672. package/dist/unit/types/current/text/discoverDashTextTracks.test.d.ts.map +1 -0
  673. package/dist/unit/types/current/text/discoverDashTextTracks.test.js +199 -0
  674. package/dist/unit/types/current/text/discoverHlsTextTracks.test.d.ts +2 -0
  675. package/dist/unit/types/current/text/discoverHlsTextTracks.test.d.ts.map +1 -0
  676. package/dist/unit/types/current/text/discoverHlsTextTracks.test.js +177 -0
  677. package/dist/unit/types/current/text/parseWebVtt.test.d.ts +2 -0
  678. package/dist/unit/types/current/text/parseWebVtt.test.d.ts.map +1 -0
  679. package/dist/unit/types/current/text/parseWebVtt.test.js +212 -0
  680. package/dist/unit/types/current/text/pickPreferredTextTrack.test.d.ts +2 -0
  681. package/dist/unit/types/current/text/pickPreferredTextTrack.test.d.ts.map +1 -0
  682. package/dist/unit/types/current/text/pickPreferredTextTrack.test.js +67 -0
  683. package/dist/unit/types/current/track/AutoResetController.test.js +134 -22
  684. package/dist/unit/types/current/track/TrackBase.test.js +50 -5
  685. package/dist/unit/types/current/track/TrackController.test.js +712 -109
  686. package/dist/unit/types/current/track/TrackFactory.test.js +13 -25
  687. package/dist/unit/types/current/track/dash/createDashContentStreamFactories.test.js +6 -1
  688. package/dist/unit/types/current/track/dash/createDashFactories.test.js +63 -2
  689. package/dist/unit/types/current/track/dash/createSegmentControllerFactory.test.js +6 -1
  690. package/dist/unit/types/current/track/dash/util/mpd.test.js +53 -1
  691. package/dist/unit/types/current/track/hls/HlsManifestController.test.js +4 -4
  692. package/dist/unit/types/current/track/hls/HlsMediaQualityMetadataResolver.test.js +4 -2
  693. package/dist/unit/types/current/track/hls/buildHlsMediaTimeline.test.js +276 -22
  694. package/dist/unit/types/current/track/hls/createHlsContentStreamFactories.test.js +6 -1
  695. package/dist/unit/types/current/track/hls/createHlsFactories.test.js +182 -4
  696. package/dist/unit/types/current/track/hls/createUrlHlsManifestProvider.test.js +19 -0
  697. package/dist/unit/types/current/track/inferLoadOptionsFromUri.test.d.ts +2 -0
  698. package/dist/unit/types/current/track/inferLoadOptionsFromUri.test.d.ts.map +1 -0
  699. package/dist/unit/types/current/track/inferLoadOptionsFromUri.test.js +165 -0
  700. package/dist/unit/types/current/track/source/SourceTrack.test.js +5 -0
  701. package/dist/unit/types/current/track/source/SourceTrackBase.test.js +24 -3
  702. package/dist/unit/types/current/tsconfig.tsbuildinfo +1 -1
  703. package/dist/unit/types/current/util/media/codecOverrides.test.d.ts +2 -0
  704. package/dist/unit/types/current/util/media/codecOverrides.test.d.ts.map +1 -0
  705. package/dist/unit/types/current/util/media/codecOverrides.test.js +42 -0
  706. package/dist/unit/types/current/util/media/codecSupport.test.d.ts +2 -0
  707. package/dist/unit/types/current/util/media/codecSupport.test.d.ts.map +1 -0
  708. package/dist/unit/types/current/util/media/codecSupport.test.js +26 -0
  709. package/dist/unit/types/current/util/media/mediaSource.test.js +6 -0
  710. package/dist/unit/types/current/vinyl/VinylPlayer.test.js +212 -75
  711. package/dist/unit/types/current/vinyl/VinylPlayerAdBreaks.test.d.ts +2 -0
  712. package/dist/unit/types/current/vinyl/VinylPlayerAdBreaks.test.d.ts.map +1 -0
  713. package/dist/unit/types/current/vinyl/VinylPlayerAdBreaks.test.js +142 -0
  714. package/dist/unit/types/current/vinyl/VinylPlayerTextTracks.test.d.ts +2 -0
  715. package/dist/unit/types/current/vinyl/VinylPlayerTextTracks.test.d.ts.map +1 -0
  716. package/dist/unit/types/current/vinyl/VinylPlayerTextTracks.test.js +263 -0
  717. package/dist/vinylTestUtil/index.js +2375 -2208
  718. package/dist/vinylTestUtil/index.js.map +4 -4
  719. package/dist/vinylTestUtil/types/current/assets/vinylTestAssets.d.ts +14 -0
  720. package/dist/vinylTestUtil/types/current/assets/vinylTestAssets.d.ts.map +1 -1
  721. package/dist/vinylTestUtil/types/current/assets/vinylTestAssets.js +49 -30
  722. package/dist/vinylTestUtil/types/current/index.d.ts +53 -51
  723. package/dist/vinylTestUtil/types/current/index.d.ts.map +1 -1
  724. package/dist/vinylTestUtil/types/current/index.js +53 -51
  725. package/dist/vinylTestUtil/types/current/media/FrequencyAnalyzer.js +1 -1
  726. package/dist/vinylTestUtil/types/current/mediaSource/ControlledMediaSource.d.ts.map +1 -1
  727. package/dist/vinylTestUtil/types/current/mock/ad/MockAdController.d.ts +15 -0
  728. package/dist/vinylTestUtil/types/current/mock/ad/MockAdController.d.ts.map +1 -0
  729. package/dist/vinylTestUtil/types/current/mock/ad/MockAdController.js +26 -0
  730. package/dist/vinylTestUtil/types/current/mock/dash/MockDashManifestController.d.ts +8 -1
  731. package/dist/vinylTestUtil/types/current/mock/dash/MockDashManifestController.d.ts.map +1 -1
  732. package/dist/vinylTestUtil/types/current/mock/dash/MockDashManifestController.js +15 -0
  733. package/dist/vinylTestUtil/types/current/mock/dash/mockDashManifest.d.ts +24 -24
  734. package/dist/vinylTestUtil/types/current/mock/dom/ms/MockMSMediaKeySession.d.ts +2 -2
  735. package/dist/vinylTestUtil/types/current/mock/dom/webkit/MockWebKitMediaKeySession.d.ts +2 -2
  736. package/dist/vinylTestUtil/types/current/mock/drm/MockDrmController.d.ts +2 -2
  737. package/dist/vinylTestUtil/types/current/mock/drm/MockDrmController.d.ts.map +1 -1
  738. package/dist/vinylTestUtil/types/current/mock/hls/MockHlsManifestController.d.ts +7 -1
  739. package/dist/vinylTestUtil/types/current/mock/hls/MockHlsManifestController.d.ts.map +1 -1
  740. package/dist/vinylTestUtil/types/current/mock/hls/MockHlsManifestController.js +12 -0
  741. package/dist/vinylTestUtil/types/current/mock/hls/mockHlsManifest.d.ts +3 -3
  742. package/dist/vinylTestUtil/types/current/mock/hls/mockHlsManifest.d.ts.map +1 -1
  743. package/dist/vinylTestUtil/types/current/mock/hls/mockHlsManifest.js +1 -0
  744. package/dist/vinylTestUtil/types/current/mock/player/MockVinylPlayerDependencies.d.ts +14 -6
  745. package/dist/vinylTestUtil/types/current/mock/player/MockVinylPlayerDependencies.d.ts.map +1 -1
  746. package/dist/vinylTestUtil/types/current/mock/player/MockVinylPlayerDependencies.js +24 -8
  747. package/dist/vinylTestUtil/types/current/mock/streaming/MockContentStream.d.ts +2 -1
  748. package/dist/vinylTestUtil/types/current/mock/streaming/MockContentStream.d.ts.map +1 -1
  749. package/dist/vinylTestUtil/types/current/mock/streaming/MockContentStream.js +1 -0
  750. package/dist/vinylTestUtil/types/current/mock/streaming/MockSegmentController.d.ts +0 -1
  751. package/dist/vinylTestUtil/types/current/mock/streaming/MockSegmentController.d.ts.map +1 -1
  752. package/dist/vinylTestUtil/types/current/mock/streaming/MockSegmentController.js +0 -1
  753. package/dist/vinylTestUtil/types/current/mock/streaming/buffering/MockBufferingController.d.ts +1 -0
  754. package/dist/vinylTestUtil/types/current/mock/streaming/buffering/MockBufferingController.d.ts.map +1 -1
  755. package/dist/vinylTestUtil/types/current/mock/streaming/buffering/MockBufferingController.js +1 -0
  756. package/dist/vinylTestUtil/types/current/mock/streaming/buffering/MockMediaSourceController.d.ts +2 -2
  757. package/dist/vinylTestUtil/types/current/mock/streaming/buffering/MockMediaSourceController.d.ts.map +1 -1
  758. package/dist/vinylTestUtil/types/current/mock/streaming/buffering/MockMediaSourceController.js +2 -2
  759. package/dist/vinylTestUtil/types/current/mock/text/MockTextTrackController.d.ts +10 -0
  760. package/dist/vinylTestUtil/types/current/mock/text/MockTextTrackController.d.ts.map +1 -0
  761. package/dist/vinylTestUtil/types/current/mock/text/MockTextTrackController.js +14 -0
  762. package/dist/vinylTestUtil/types/current/mock/track/MockAutoResetController.d.ts +1 -0
  763. package/dist/vinylTestUtil/types/current/mock/track/MockAutoResetController.d.ts.map +1 -1
  764. package/dist/vinylTestUtil/types/current/mock/track/MockAutoResetController.js +1 -0
  765. package/dist/vinylTestUtil/types/current/mock/track/MockTrack.d.ts +13 -4
  766. package/dist/vinylTestUtil/types/current/mock/track/MockTrack.d.ts.map +1 -1
  767. package/dist/vinylTestUtil/types/current/mock/track/MockTrack.js +11 -0
  768. package/dist/vinylTestUtil/types/current/mock/track/MockTrackController.d.ts +3 -2
  769. package/dist/vinylTestUtil/types/current/mock/track/MockTrackController.d.ts.map +1 -1
  770. package/dist/vinylTestUtil/types/current/mock/track/MockTrackController.js +2 -1
  771. package/dist/vinylTestUtil/types/current/mock/track/dash/createMockDashDependencies.d.ts +11 -5
  772. package/dist/vinylTestUtil/types/current/mock/track/dash/createMockDashDependencies.d.ts.map +1 -1
  773. package/dist/vinylTestUtil/types/current/mock/track/dash/createMockDashDependencies.js +19 -8
  774. package/dist/vinylTestUtil/types/current/mock/track/hls/createMockHlsDependencies.d.ts +9 -5
  775. package/dist/vinylTestUtil/types/current/mock/track/hls/createMockHlsDependencies.d.ts.map +1 -1
  776. package/dist/vinylTestUtil/types/current/mock/track/hls/createMockHlsDependencies.js +17 -8
  777. package/dist/vinylTestUtil/types/current/player/createVinylSuite.d.ts.map +1 -1
  778. package/dist/vinylTestUtil/types/current/player/createVinylSuite.js +19 -8
  779. package/dist/vinylTestUtil/types/current/tsconfig.tsbuildinfo +1 -1
  780. package/dist/vinylTestUtil/types/current/util/playback/eventPromises.d.ts.map +1 -1
  781. package/dist/vinylTestUtil/types/current/util/playback/eventPromises.js +1 -1
  782. package/dist/vinylTestUtil/types/current/util/playback/expectTrackCanSeek.d.ts.map +1 -1
  783. package/dist/vinylTestUtil/types/current/util/playback/expectTrackCanSeek.js +6 -3
  784. package/dist/vinylTestUtil/types/current/util/playback/expectTrackPlays.js +5 -5
  785. package/dist/vinylTestUtil/types/current/util/playback/expectTrackPlaysUntil.d.ts.map +1 -1
  786. package/dist/vinylTestUtil/types/current/util/playback/expectTrackPlaysUntil.js +12 -9
  787. package/dist/vinylTestUtil/types/ts3.7/assets/vinylTestAssets.d.ts +14 -0
  788. package/dist/vinylTestUtil/types/ts3.7/index.d.ts +53 -51
  789. package/dist/vinylTestUtil/types/ts3.7/mock/ad/MockAdController.d.ts +15 -0
  790. package/dist/vinylTestUtil/types/ts3.7/mock/dash/MockDashManifestController.d.ts +8 -1
  791. package/dist/vinylTestUtil/types/ts3.7/mock/dash/mockDashManifest.d.ts +24 -24
  792. package/dist/vinylTestUtil/types/ts3.7/mock/dom/ms/MockMSMediaKeySession.d.ts +2 -2
  793. package/dist/vinylTestUtil/types/ts3.7/mock/dom/webkit/MockWebKitMediaKeySession.d.ts +2 -2
  794. package/dist/vinylTestUtil/types/ts3.7/mock/drm/MockDrmController.d.ts +2 -2
  795. package/dist/vinylTestUtil/types/ts3.7/mock/hls/MockHlsManifestController.d.ts +7 -1
  796. package/dist/vinylTestUtil/types/ts3.7/mock/hls/mockHlsManifest.d.ts +3 -3
  797. package/dist/vinylTestUtil/types/ts3.7/mock/player/MockVinylPlayerDependencies.d.ts +14 -6
  798. package/dist/vinylTestUtil/types/ts3.7/mock/streaming/MockContentStream.d.ts +2 -1
  799. package/dist/vinylTestUtil/types/ts3.7/mock/streaming/MockSegmentController.d.ts +0 -1
  800. package/dist/vinylTestUtil/types/ts3.7/mock/streaming/buffering/MockBufferingController.d.ts +1 -0
  801. package/dist/vinylTestUtil/types/ts3.7/mock/streaming/buffering/MockMediaSourceController.d.ts +2 -2
  802. package/dist/vinylTestUtil/types/ts3.7/mock/text/MockTextTrackController.d.ts +10 -0
  803. package/dist/vinylTestUtil/types/ts3.7/mock/track/MockAutoResetController.d.ts +1 -0
  804. package/dist/vinylTestUtil/types/ts3.7/mock/track/MockTrack.d.ts +13 -4
  805. package/dist/vinylTestUtil/types/ts3.7/mock/track/MockTrackController.d.ts +3 -2
  806. package/dist/vinylTestUtil/types/ts3.7/mock/track/dash/createMockDashDependencies.d.ts +11 -5
  807. package/dist/vinylTestUtil/types/ts3.7/mock/track/hls/createMockHlsDependencies.d.ts +9 -5
  808. package/dist/vinylTestUtil/types/ts4.1/assets/vinylTestAssets.d.ts +14 -0
  809. package/dist/vinylTestUtil/types/ts4.1/index.d.ts +53 -51
  810. package/dist/vinylTestUtil/types/ts4.1/mock/ad/MockAdController.d.ts +15 -0
  811. package/dist/vinylTestUtil/types/ts4.1/mock/dash/MockDashManifestController.d.ts +8 -1
  812. package/dist/vinylTestUtil/types/ts4.1/mock/dash/mockDashManifest.d.ts +24 -24
  813. package/dist/vinylTestUtil/types/ts4.1/mock/dom/ms/MockMSMediaKeySession.d.ts +2 -2
  814. package/dist/vinylTestUtil/types/ts4.1/mock/dom/webkit/MockWebKitMediaKeySession.d.ts +2 -2
  815. package/dist/vinylTestUtil/types/ts4.1/mock/drm/MockDrmController.d.ts +2 -2
  816. package/dist/vinylTestUtil/types/ts4.1/mock/hls/MockHlsManifestController.d.ts +7 -1
  817. package/dist/vinylTestUtil/types/ts4.1/mock/hls/mockHlsManifest.d.ts +3 -3
  818. package/dist/vinylTestUtil/types/ts4.1/mock/player/MockVinylPlayerDependencies.d.ts +14 -6
  819. package/dist/vinylTestUtil/types/ts4.1/mock/streaming/MockContentStream.d.ts +2 -1
  820. package/dist/vinylTestUtil/types/ts4.1/mock/streaming/MockSegmentController.d.ts +0 -1
  821. package/dist/vinylTestUtil/types/ts4.1/mock/streaming/buffering/MockBufferingController.d.ts +1 -0
  822. package/dist/vinylTestUtil/types/ts4.1/mock/streaming/buffering/MockMediaSourceController.d.ts +2 -2
  823. package/dist/vinylTestUtil/types/ts4.1/mock/text/MockTextTrackController.d.ts +10 -0
  824. package/dist/vinylTestUtil/types/ts4.1/mock/track/MockAutoResetController.d.ts +1 -0
  825. package/dist/vinylTestUtil/types/ts4.1/mock/track/MockTrack.d.ts +13 -4
  826. package/dist/vinylTestUtil/types/ts4.1/mock/track/MockTrackController.d.ts +3 -2
  827. package/dist/vinylTestUtil/types/ts4.1/mock/track/dash/createMockDashDependencies.d.ts +11 -5
  828. package/dist/vinylTestUtil/types/ts4.1/mock/track/hls/createMockHlsDependencies.d.ts +9 -5
  829. package/dist/vinylTestUtil/types/ts4.7/assets/vinylTestAssets.d.ts +14 -0
  830. package/dist/vinylTestUtil/types/ts4.7/index.d.ts +53 -51
  831. package/dist/vinylTestUtil/types/ts4.7/mock/ad/MockAdController.d.ts +15 -0
  832. package/dist/vinylTestUtil/types/ts4.7/mock/dash/MockDashManifestController.d.ts +8 -1
  833. package/dist/vinylTestUtil/types/ts4.7/mock/dash/mockDashManifest.d.ts +24 -24
  834. package/dist/vinylTestUtil/types/ts4.7/mock/dom/ms/MockMSMediaKeySession.d.ts +2 -2
  835. package/dist/vinylTestUtil/types/ts4.7/mock/dom/webkit/MockWebKitMediaKeySession.d.ts +2 -2
  836. package/dist/vinylTestUtil/types/ts4.7/mock/drm/MockDrmController.d.ts +2 -2
  837. package/dist/vinylTestUtil/types/ts4.7/mock/hls/MockHlsManifestController.d.ts +7 -1
  838. package/dist/vinylTestUtil/types/ts4.7/mock/hls/mockHlsManifest.d.ts +3 -3
  839. package/dist/vinylTestUtil/types/ts4.7/mock/player/MockVinylPlayerDependencies.d.ts +14 -6
  840. package/dist/vinylTestUtil/types/ts4.7/mock/streaming/MockContentStream.d.ts +2 -1
  841. package/dist/vinylTestUtil/types/ts4.7/mock/streaming/MockSegmentController.d.ts +0 -1
  842. package/dist/vinylTestUtil/types/ts4.7/mock/streaming/buffering/MockBufferingController.d.ts +1 -0
  843. package/dist/vinylTestUtil/types/ts4.7/mock/streaming/buffering/MockMediaSourceController.d.ts +2 -2
  844. package/dist/vinylTestUtil/types/ts4.7/mock/text/MockTextTrackController.d.ts +10 -0
  845. package/dist/vinylTestUtil/types/ts4.7/mock/track/MockAutoResetController.d.ts +1 -0
  846. package/dist/vinylTestUtil/types/ts4.7/mock/track/MockTrack.d.ts +13 -4
  847. package/dist/vinylTestUtil/types/ts4.7/mock/track/MockTrackController.d.ts +3 -2
  848. package/dist/vinylTestUtil/types/ts4.7/mock/track/dash/createMockDashDependencies.d.ts +11 -5
  849. package/dist/vinylTestUtil/types/ts4.7/mock/track/hls/createMockHlsDependencies.d.ts +9 -5
  850. package/docs/ADS.md +264 -0
  851. package/docs/USAGE.md +175 -9
  852. package/package.json +19 -21
  853. package/dist/types/current/track/hls/HlsManifestProvider.d.ts.map +0 -1
  854. package/dist/unit/types/current/track/dash/DashManifestController.test.d.ts +0 -2
  855. package/dist/unit/types/current/track/dash/DashManifestController.test.d.ts.map +0 -1
  856. package/dist/unit/types/current/track/dash/DashManifestController.test.js +0 -186
  857. /package/dist/types/current/{track/hls/HlsManifestProvider.js → ad/AdBreakInfo.js} +0 -0
@@ -0,0 +1,120 @@
1
+ /*
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ import { ErrorOrigin, ValidationError } from '@amazon/vinyl-util';
6
+ const WEBVTT_HEADER = 'WEBVTT';
7
+ // Trailing cue settings are tolerated but ignored. They are separated from the
8
+ // end timestamp by whitespace, so the tail is matched as an optional group that
9
+ // begins with a whitespace character. Using `(?:\s.*)?$` rather than `\s*(.*)$`
10
+ // avoids the ambiguous overlap between `\s*` and `.*` (both match spaces), which
11
+ // would allow polynomial backtracking on space-heavy input.
12
+ const TIME_RE = /^\s*(?:(\d+):)?([0-5]?\d):([0-5]?\d)\.(\d{3})\s*-->\s*(?:(\d+):)?([0-5]?\d):([0-5]?\d)\.(\d{3})(?:\s.*)?$/;
13
+ /**
14
+ * Parses a WebVTT document into a list of cues.
15
+ *
16
+ * Implements a forgiving subset of the WebVTT 1.0 specification: header
17
+ * detection, comment blocks (lines starting with `NOTE`), styling/region
18
+ * blocks (skipped), cue identifiers, and HH:MM:SS.mmm or MM:SS.mmm timestamps.
19
+ * Cue settings on the timing line are tolerated and ignored.
20
+ *
21
+ * @param input The raw WebVTT document text. Both LF and CRLF line endings
22
+ * are supported, and a leading BOM is stripped if present.
23
+ * @throws ValidationError if the input is missing the WEBVTT header.
24
+ */
25
+ export function parseWebVtt(input) {
26
+ if (typeof input !== 'string') {
27
+ throw new ValidationError('WebVTT input must be a string', ErrorOrigin.MEDIA);
28
+ }
29
+ let text = input;
30
+ // Strip BOM
31
+ if (text.charCodeAt(0) === 0xfeff)
32
+ text = text.slice(1);
33
+ // Normalize line endings
34
+ const lines = text.split(/\r\n|\r|\n/);
35
+ if (lines.length === 0 || !isWebVttHeader(lines[0])) {
36
+ throw new ValidationError('WebVTT must begin with a WEBVTT header', ErrorOrigin.MEDIA);
37
+ }
38
+ const cues = [];
39
+ // Per the WebVTT spec, everything from the `WEBVTT` signature up to (and
40
+ // including) the first blank line is the file header — any metadata
41
+ // header lines (e.g. HLS's `X-TIMESTAMP-MAP=...`) belong in that block
42
+ // and MUST NOT be interpreted as cue content.
43
+ let i = 1;
44
+ while (i < lines.length && lines[i] !== '')
45
+ i++;
46
+ while (i < lines.length) {
47
+ // Skip empty lines between blocks.
48
+ if (lines[i] === '') {
49
+ i++;
50
+ continue;
51
+ }
52
+ // NOTE comment block: skip until blank line.
53
+ if (lines[i] === 'NOTE' || lines[i].startsWith('NOTE ')) {
54
+ i++;
55
+ while (i < lines.length && lines[i] !== '')
56
+ i++;
57
+ continue;
58
+ }
59
+ // STYLE / REGION blocks - skip until blank line.
60
+ if (lines[i] === 'STYLE' || lines[i] === 'REGION') {
61
+ i++;
62
+ while (i < lines.length && lines[i] !== '')
63
+ i++;
64
+ continue;
65
+ }
66
+ // Cue: optional identifier, then a timing line, then payload.
67
+ let id = null;
68
+ let timingLine;
69
+ const firstLine = lines[i];
70
+ if (TIME_RE.test(firstLine)) {
71
+ timingLine = firstLine;
72
+ i++;
73
+ }
74
+ else {
75
+ id = firstLine;
76
+ i++;
77
+ if (i >= lines.length)
78
+ break;
79
+ timingLine = lines[i];
80
+ i++;
81
+ }
82
+ const match = TIME_RE.exec(timingLine);
83
+ if (!match) {
84
+ // Skip malformed cue: drain to next blank line.
85
+ while (i < lines.length && lines[i] !== '')
86
+ i++;
87
+ continue;
88
+ }
89
+ const startTime = toSeconds(match[1], match[2], match[3], match[4]);
90
+ const endTime = toSeconds(match[5], match[6], match[7], match[8]);
91
+ const payloadLines = [];
92
+ while (i < lines.length && lines[i] !== '') {
93
+ payloadLines.push(lines[i]);
94
+ i++;
95
+ }
96
+ cues.push({
97
+ id,
98
+ startTime,
99
+ endTime,
100
+ text: payloadLines.join('\n'),
101
+ });
102
+ }
103
+ return { cues };
104
+ }
105
+ function isWebVttHeader(line) {
106
+ if (!line.startsWith(WEBVTT_HEADER))
107
+ return false;
108
+ if (line.length === WEBVTT_HEADER.length)
109
+ return true;
110
+ const next = line.charCodeAt(WEBVTT_HEADER.length);
111
+ // Header may be followed by space, tab, or any text after a separator.
112
+ return next === 0x20 || next === 0x09;
113
+ }
114
+ function toSeconds(hours, minutes, seconds, millis) {
115
+ const h = hours ? Number(hours) : 0;
116
+ const m = Number(minutes);
117
+ const s = Number(seconds);
118
+ const ms = Number(millis);
119
+ return h * 3600 + m * 60 + s + ms / 1000;
120
+ }
@@ -0,0 +1,14 @@
1
+ import type { TextTrackInfo } from './TextTrack';
2
+ /**
3
+ * Chooses the text track that best matches the preferred language(s), or null
4
+ * when none relate (or there is no preference / no tracks).
5
+ *
6
+ * Language dominates: a track is ranked first by which preference it relates to
7
+ * (earlier entries win) and how closely (see {@link languageRelatedness}).
8
+ * Within a single language, a full track is preferred over a forced-only track
9
+ * (a user asking for a caption language wants the full captions, not just the
10
+ * forced foreign-dialogue cues), and a manifest-default track breaks any
11
+ * remaining tie.
12
+ */
13
+ export declare function pickPreferredTextTrack(tracks: readonly TextTrackInfo[], preferred: string | readonly string[] | null): TextTrackInfo | null;
14
+ //# sourceMappingURL=pickPreferredTextTrack.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pickPreferredTextTrack.d.ts","sourceRoot":"","sources":["../../../../src/text/pickPreferredTextTrack.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAgBhD;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CAClC,MAAM,EAAE,SAAS,aAAa,EAAE,EAChC,SAAS,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,IAAI,GAC7C,aAAa,GAAG,IAAI,CActB"}
@@ -0,0 +1,68 @@
1
+ /*
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ import { languageRelatedness } from '../track/filters/languageFilter';
6
+ /**
7
+ * Resolves the preferred-text-language option to an ordered list of BCP 47
8
+ * tags, most-preferred first. Unlike the audio equivalent, `null` resolves to
9
+ * an empty list (no preference) rather than falling back to
10
+ * `navigator.languages` — captions default to off.
11
+ */
12
+ function resolvePreferredTextLanguages(preferred) {
13
+ if (typeof preferred === 'string')
14
+ return [preferred];
15
+ if (preferred)
16
+ return preferred;
17
+ return [];
18
+ }
19
+ /**
20
+ * Chooses the text track that best matches the preferred language(s), or null
21
+ * when none relate (or there is no preference / no tracks).
22
+ *
23
+ * Language dominates: a track is ranked first by which preference it relates to
24
+ * (earlier entries win) and how closely (see {@link languageRelatedness}).
25
+ * Within a single language, a full track is preferred over a forced-only track
26
+ * (a user asking for a caption language wants the full captions, not just the
27
+ * forced foreign-dialogue cues), and a manifest-default track breaks any
28
+ * remaining tie.
29
+ */
30
+ export function pickPreferredTextTrack(tracks, preferred) {
31
+ const prefs = resolvePreferredTextLanguages(preferred);
32
+ if (tracks.length === 0 || prefs.length === 0)
33
+ return null;
34
+ let best = null;
35
+ let bestScore = 0;
36
+ for (const track of tracks) {
37
+ const score = scoreTextTrack(track, prefs);
38
+ if (score > bestScore) {
39
+ bestScore = score;
40
+ best = track;
41
+ }
42
+ }
43
+ return best;
44
+ }
45
+ /**
46
+ * Scores a track against the ordered preference list. 0 means unrelated to
47
+ * every preference (never selected). Preference position and language
48
+ * relatedness are weighted so they dominate the full/forced/default tiebreaks.
49
+ */
50
+ function scoreTextTrack(track, prefs) {
51
+ if (track.language == null)
52
+ return 0;
53
+ let best = 0;
54
+ for (let i = 0; i < prefs.length; i++) {
55
+ const rel = languageRelatedness(prefs[i], track.language);
56
+ if (rel > 0) {
57
+ best = Math.max(best, (prefs.length - i) * 100 + rel * 10);
58
+ }
59
+ }
60
+ if (best === 0)
61
+ return 0;
62
+ // Tiebreaks within the same language: prefer full over forced, then default.
63
+ if (!track.forced)
64
+ best += 2;
65
+ if (track.default)
66
+ best += 1;
67
+ return best;
68
+ }
@@ -1,35 +1,59 @@
1
1
  import { type AnyRecord, type Clearable, type Disposable, EventHostImpl, type ReadonlyEventHost } from '@amazon/vinyl-util';
2
2
  import type { PlaybackController } from '../playback/PlaybackController';
3
+ import type { ChangeEvent } from '../event/ChangeEvent';
3
4
  export interface AutoResetControllerEventMap {
4
5
  /**
5
6
  * Notifies that playback errors should be reset and retried.
6
7
  */
7
8
  readonly reset: AnyRecord;
9
+ /**
10
+ * Dispatched when {@link AutoResetController.resetPending} changes.
11
+ */
12
+ readonly resetPendingChange: ChangeEvent<boolean>;
8
13
  }
9
14
  /**
10
- * Notifies when playback should be reset and retried.
15
+ * Notifies when playback should be reset and retried after a transient,
16
+ * potentially-recoverable error.
11
17
  *
12
- * The controller monitors for retry opportunities after an error is set:
13
- * - Immediately on network 'online' events
14
- * - After a timeout interval if online
18
+ * Once an eligible error is set, the controller watches for opportunities
19
+ * to emit a `reset` event:
20
+ * - Immediately when the network transitions back to online
21
+ * - After a timeout interval, if online and retries are not exhausted
15
22
  * - Immediately on user playback actions (play, pause, seeking, playing)
16
23
  *
17
- * Each error triggers a single timeout. If another error occurs after a reset,
18
- * setError() should be called again to schedule the next retry attempt.
24
+ * Each error triggers a single retry timeout. If another error occurs
25
+ * after a reset, {@link AutoResetController.setError} should be called again
26
+ * to schedule the next retry attempt.
19
27
  */
20
28
  export interface AutoResetController extends ReadonlyEventHost<AutoResetControllerEventMap>, Clearable {
21
29
  /**
22
- * Sets the current playback error and begins monitoring for retry opportunities.
30
+ * Sets the current playback error and, if eligible, begins watching for
31
+ * retry opportunities.
32
+ *
33
+ * An error is eligible when it is a {@link RequestError} that did not
34
+ * receive an HTTP response (i.e. `response == null`), indicating a
35
+ * transient network failure such as connection loss or DNS failure.
36
+ * All other errors — including HTTP failures with a response (4xx/5xx),
37
+ * and non-RequestError errors — are ignored, since those are unlikely
38
+ * to recover on their own.
23
39
  *
24
- * Only SERVICE_INTERNAL ReportableErrors are monitored. Subsequent calls while
25
- * an error is already set are ignored until the error is cleared via reset or clear().
40
+ * Subsequent calls while an error is already set are ignored until the
41
+ * error is cleared via a reset emission or {@link Clearable.clear}.
26
42
  *
27
- * After a reset, if another error occurs, this method should be called again
28
- * to schedule the next retry attempt.
43
+ * After a reset, if another eligible error occurs, this method should
44
+ * be called again to schedule the next retry attempt.
29
45
  *
30
46
  * @param error The error to monitor for retry opportunities
31
47
  */
32
48
  setError(error: Error): void;
49
+ /**
50
+ * True while an eligible error is being watched and a `reset` event
51
+ * may still be emitted. Becomes false once the error is cleared, a
52
+ * reset is emitted, or all retries are exhausted.
53
+ *
54
+ * Listen to `resetPendingChange` events for changes.
55
+ */
56
+ readonly resetPending: boolean;
33
57
  }
34
58
  export interface AutoResetControllerImplDeps {
35
59
  readonly playbackController: PlaybackController;
@@ -74,7 +98,8 @@ export declare class AutoResetControllerImpl extends EventHostImpl<AutoResetCont
74
98
  private disposer;
75
99
  constructor(deps: AutoResetControllerImplDeps, options?: Partial<AutoResetControllerImplOptions>);
76
100
  setError(error: Error): void;
77
- private setWatching;
101
+ get resetPending(): boolean;
102
+ private setResetPending;
78
103
  private reset;
79
104
  clear(): void;
80
105
  get disposed(): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"AutoResetController.d.ts","sourceRoot":"","sources":["../../../../src/track/AutoResetController.ts"],"names":[],"mappings":"AAKA,OAAO,EACH,KAAK,SAAS,EACd,KAAK,SAAS,EAEd,KAAK,UAAU,EAEf,aAAa,EAIb,KAAK,iBAAiB,EAGzB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AAEvE,MAAM,WAAW,2BAA2B;IACxC;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAA;CAC5B;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,mBACb,SAAQ,iBAAiB,CAAC,2BAA2B,CAAC,EAAE,SAAS;IACjE;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;CAC/B;AAED,MAAM,WAAW,2BAA2B;IACxC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAA;CAClD;AAED,MAAM,WAAW,8BAA8B;IAC3C;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IAEzB;;;;;;;OAOG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAE3B;;;;;;;OAOG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;CACjC;AAED,eAAO,MAAM,6BAA6B;;;;CAIS,CAAA;AAEnD,qBAAa,uBACT,SAAQ,aAAa,CAAC,2BAA2B,CACjD,YAAW,mBAAmB,EAAE,UAAU;IAatC,QAAQ,CAAC,IAAI,EAAE,2BAA2B;IAX9C,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAEjC;IAED,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgC;IACxD,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,QAAQ,CAA2B;IAC3C,OAAO,CAAC,YAAY,CAAI;IACxB,OAAO,CAAC,QAAQ,CAAmB;gBAGtB,IAAI,EAAE,2BAA2B,EAC1C,OAAO,CAAC,EAAE,OAAO,CAAC,8BAA8B,CAAC;IAuBrD,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAW5B,OAAO,CAAC,WAAW;IA6BnB,OAAO,CAAC,KAAK;IAMb,KAAK;IAML,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,OAAO,IAAI,IAAI;CAIlB"}
1
+ {"version":3,"file":"AutoResetController.d.ts","sourceRoot":"","sources":["../../../../src/track/AutoResetController.ts"],"names":[],"mappings":"AAKA,OAAO,EACH,KAAK,SAAS,EACd,KAAK,SAAS,EAEd,KAAK,UAAU,EACf,aAAa,EAIb,KAAK,iBAAiB,EAGzB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAEvD,MAAM,WAAW,2BAA2B;IACxC;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAA;IAEzB;;OAEG;IACH,QAAQ,CAAC,kBAAkB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;CACpD;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,mBACb,SAAQ,iBAAiB,CAAC,2BAA2B,CAAC,EAAE,SAAS;IACjE;;;;;;;;;;;;;;;;;;OAkBG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;IAE5B;;;;;;OAMG;IACH,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAA;CACjC;AAED,MAAM,WAAW,2BAA2B;IACxC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAA;CAClD;AAED,MAAM,WAAW,8BAA8B;IAC3C;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IAEzB;;;;;;;OAOG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAE3B;;;;;;;OAOG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;CACjC;AAED,eAAO,MAAM,6BAA6B;;;;CAIS,CAAA;AAEnD,qBAAa,uBACT,SAAQ,aAAa,CAAC,2BAA2B,CACjD,YAAW,mBAAmB,EAAE,UAAU;IAatC,QAAQ,CAAC,IAAI,EAAE,2BAA2B;IAX9C,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAEjC;IAED,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgC;IACxD,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,QAAQ,CAA2B;IAC3C,OAAO,CAAC,YAAY,CAAI;IACxB,OAAO,CAAC,QAAQ,CAAmB;gBAGtB,IAAI,EAAE,2BAA2B,EAC1C,OAAO,CAAC,EAAE,OAAO,CAAC,8BAA8B,CAAC;IAuBrD,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAQ5B,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED,OAAO,CAAC,eAAe;IAsCvB,OAAO,CAAC,KAAK;IAMb,KAAK;IAML,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,OAAO,IAAI,IAAI;CAIlB"}
@@ -2,7 +2,7 @@
2
2
  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
- import { createDisposer, ErrorOrigin, EventHostImpl, getNetworkState, logDebug, onAny, ReportableError, } from '@amazon/vinyl-util';
5
+ import { createDisposer, EventHostImpl, getNetworkState, logDebug, onAny, RequestError, } from '@amazon/vinyl-util';
6
6
  export const defaultResetControllerOptions = {
7
7
  enabled: true,
8
8
  maxRetries: 30,
@@ -36,38 +36,48 @@ export class AutoResetControllerImpl extends EventHostImpl {
36
36
  setError(error) {
37
37
  if (!this.options.enabled || this._error)
38
38
  return;
39
- if (error instanceof ReportableError &&
40
- error.origin === ErrorOrigin.SERVICE_INTERNAL) {
39
+ if (error instanceof RequestError && error.response == null) {
41
40
  this._error = error;
42
- this.setWatching(true);
41
+ this.setResetPending(true);
43
42
  }
44
43
  }
45
- setWatching(value) {
46
- logDebug(this, 'setWatching', value);
44
+ get resetPending() {
45
+ return this.watchSub != null;
46
+ }
47
+ setResetPending(value) {
48
+ if (this.resetPending === value) {
49
+ logDebug(this, 'setResetPending', value, 'no-op');
50
+ return;
51
+ }
52
+ logDebug(this, 'setResetPending', value);
47
53
  this.watchSub?.();
48
54
  this.watchSub = null;
49
- if (!value)
50
- return;
51
- const networkState = getNetworkState();
52
- const { add, dispose: watchSub } = createDisposer();
53
- this.watchSub = watchSub;
54
- add(networkState.on('online', () => {
55
- logDebug(this, 'online, emitting reset');
56
- this.reset();
57
- }));
58
- const intervalId = setTimeout(() => {
59
- if (this.currentRetry++ < this.options.maxRetries) {
60
- if (networkState.onLine) {
61
- logDebug(this, 'interval, emitting reset');
62
- this.reset();
55
+ if (value) {
56
+ const networkState = getNetworkState();
57
+ const { add, dispose: watchSub } = createDisposer();
58
+ this.watchSub = watchSub;
59
+ add(networkState.on('online', () => {
60
+ logDebug(this, 'online, emitting reset');
61
+ this.reset();
62
+ }));
63
+ const intervalId = setTimeout(() => {
64
+ if (this.currentRetry++ < this.options.maxRetries) {
65
+ if (networkState.onLine) {
66
+ logDebug(this, 'interval, emitting reset');
67
+ this.reset();
68
+ }
63
69
  }
64
- }
65
- else {
66
- logDebug(this, 'max retries exhausted, pausing playback');
67
- this.setWatching(false);
68
- }
69
- }, this.options.retryInterval * 1000);
70
- add(() => clearTimeout(intervalId));
70
+ else {
71
+ logDebug(this, 'max retries exhausted, pausing playback');
72
+ this.setResetPending(false);
73
+ }
74
+ }, this.options.retryInterval * 1000);
75
+ add(() => clearTimeout(intervalId));
76
+ }
77
+ this.dispatch('resetPendingChange', {
78
+ previous: !value,
79
+ current: value,
80
+ });
71
81
  }
72
82
  reset() {
73
83
  if (!this._error)
@@ -79,7 +89,7 @@ export class AutoResetControllerImpl extends EventHostImpl {
79
89
  if (!this._error)
80
90
  return;
81
91
  this._error = null;
82
- this.setWatching(false);
92
+ this.setResetPending(false);
83
93
  }
84
94
  get disposed() {
85
95
  return this.disposer.disposed;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * The seekable time range on the media timeline, in seconds.
3
+ * `end` will be `Infinity` when a live stream.
4
+ */
5
+ export type SeekRange = {
6
+ readonly start: number;
7
+ readonly end: number;
8
+ };
9
+ //# sourceMappingURL=SeekRange.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SeekRange.d.ts","sourceRoot":"","sources":["../../../../src/track/SeekRange.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAA"}
@@ -0,0 +1,5 @@
1
+ /*
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ export {};
@@ -1,11 +1,18 @@
1
- import type { AnyRecord, Disposable, LogTarget, ReadonlyEventHost, ReadonlyRanges, ReadonlySet } from '@amazon/vinyl-util';
1
+ import type { AnyRecord, Covariant, Disposable, EventHandler, LogTarget, Maybe, ReadonlyEventHost, ReadonlyRanges, ReadonlySet, SignalOptions, Unsubscribe } from '@amazon/vinyl-util';
2
2
  import type { ContentType, MediaQualityMetadata } from '../streaming/MediaQualityMetadata';
3
3
  import type { StreamingEventMap } from '../streaming/StreamingEventMap';
4
+ import type { ReadonlyTextTrackController, TextTrackController } from '../text/TextTrack';
5
+ import type { SeekRange } from './SeekRange';
6
+ import type { TrackAds } from '../ad/AdBreakInfo';
7
+ import type { TrackConfigOptions } from './TrackFactory';
8
+ export type { SeekRange } from './SeekRange';
4
9
  /**
5
10
  * All events a track may emit.
6
11
  * Streaming-related events are separated as they will be bubbled by the player.
7
12
  */
8
- export type TrackEventMap = StreamingEventMap;
13
+ export type TrackEventMap = StreamingEventMap & {
14
+ readonly adsChange: AnyRecord;
15
+ };
9
16
  /**
10
17
  * An identifier for a Track, used for referencing a track.
11
18
  */
@@ -93,10 +100,13 @@ export interface StreamingState extends ReadonlyStreamingState {
93
100
  /**
94
101
  * Resets the track to recover from error states.
95
102
  * This will reset failed segments and clear error conditions to allow streaming to resume.
103
+ *
104
+ * @param hard If true, the track will reset the playback state and
105
+ * recreate media sources.
96
106
  */
97
- reset(): void;
107
+ reset(hard?: boolean): void;
98
108
  }
99
- export interface ReadonlyTrack extends ReadonlyStreamingState, LogTarget {
109
+ export interface ReadonlyTrack extends ReadonlyEventHost<TrackEventMap>, ReadonlyStreamingState, LogTarget {
100
110
  /**
101
111
  * The track identifier.
102
112
  */
@@ -122,18 +132,44 @@ export interface ReadonlyTrack extends ReadonlyStreamingState, LogTarget {
122
132
  * The last error that occurred in this track, or null if no error.
123
133
  */
124
134
  readonly error: Error | null;
135
+ /**
136
+ * Controller for sidecar text tracks discovered for this track, or null
137
+ * if the track type does not surface text tracks.
138
+ */
139
+ readonly textTrackController: ReadonlyTextTrackController | null;
140
+ /**
141
+ * The seekable range on the media timeline, or null when not yet known
142
+ * (e.g. before the manifest is loaded). Based on the media timeline, not
143
+ * the element's native seekable ranges.
144
+ */
145
+ readonly seekRange: SeekRange | null;
146
+ /**
147
+ * Resolves to the ads for this track.
148
+ * The track's ads may change if the media timeline changes.
149
+ *
150
+ * @see {@link TrackEventMap} — the `adsChange` event.
151
+ */
152
+ getAds(): Promise<TrackAds>;
153
+ readonly __eventMapType: Covariant<TrackEventMap>;
154
+ hasListeners(type: keyof TrackEventMap): boolean;
155
+ on<K extends keyof TrackEventMap>(type: K, handler: EventHandler<TrackEventMap[K]>, options?: SignalOptions): Unsubscribe;
125
156
  }
126
157
  /**
127
158
  * One track is active on the track controller at a time.
128
159
  */
129
- export interface Track<LoadOptionsType extends AnyRecord = AnyRecord> extends ReadonlyTrack, StreamingState, Disposable {
160
+ export interface Track<ConfigType extends TrackConfigOptions = TrackConfigOptions> extends ReadonlyTrack, StreamingState, Disposable {
161
+ /**
162
+ * Mutable view of {@link ReadonlyTrack.textTrackController} that allows
163
+ * selecting the active text track.
164
+ */
165
+ readonly textTrackController: TextTrackController | null;
130
166
  /**
131
167
  * Provides configuration to the track and begins preloading (if applicable).
132
168
  *
133
169
  * @param trackOptions Configuration provided by the TrackController.
134
170
  * @param loadOptions Configuration from `TrackLoadOptions.config`, provided by the Application.
135
171
  */
136
- preload(trackOptions: TrackPreloadOptions, loadOptions: LoadOptionsType): void;
172
+ preload(trackOptions: TrackPreloadOptions, loadOptions: Maybe<ConfigType>): void;
137
173
  /**
138
174
  * Sets this track as active, deactivating any currently active track.
139
175
  * This should set sources on the playback source and add any listeners needed for shared
@@ -141,7 +177,7 @@ export interface Track<LoadOptionsType extends AnyRecord = AnyRecord> extends Re
141
177
  *
142
178
  * @param loadOptions Configuration from `TrackLoadOptions.config`, provided by the Application.
143
179
  */
144
- activate(loadOptions: LoadOptionsType): void;
180
+ activate(loadOptions: Maybe<ConfigType>): void;
145
181
  /**
146
182
  * Sets this track as inactive.
147
183
  * This should unset sources, and remove any listeners. Tracks do not implement disposable,
@@ -149,5 +185,12 @@ export interface Track<LoadOptionsType extends AnyRecord = AnyRecord> extends Re
149
185
  * are no longer references to the track.
150
186
  */
151
187
  deactivate(): void;
188
+ /**
189
+ * True if this track is disposed.
190
+ */
191
+ readonly disposed: boolean;
192
+ readonly __eventMapType: Covariant<TrackEventMap>;
193
+ hasListeners(type: keyof TrackEventMap): boolean;
194
+ on<K extends keyof TrackEventMap>(type: K, handler: EventHandler<TrackEventMap[K]>, options?: SignalOptions): Unsubscribe;
152
195
  }
153
196
  //# sourceMappingURL=Track.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Track.d.ts","sourceRoot":"","sources":["../../../../src/track/Track.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACR,SAAS,EACT,UAAU,EACV,SAAS,EACT,iBAAiB,EACjB,cAAc,EACd,WAAW,EACd,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EACR,WAAW,EACX,oBAAoB,EACvB,MAAM,kCAAkC,CAAA;AACzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AAEtE;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,iBAAiB,CAAA;AAE7C;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAA;AAE7B;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAA;AAEhC;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;CACpC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,sBAAuB,SAAQ,iBAAiB,CAAC,iBAAiB,CAAC;IAChF;;;OAGG;IACH,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAA;IAEtC;;OAEG;IACH,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,WAAW,CAAC,CAAA;IAE/C;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS,oBAAoB,EAAE,GAAG,IAAI,CAAA;IAE1D;;;OAGG;IACH,QAAQ,CAAC,mBAAmB,EAAE,SAAS,oBAAoB,EAAE,GAAG,IAAI,CAAA;IAEpE;;;;;;;;;OASG;IACH,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,oBAAoB,GAAG,IAAI,CAAA;IAE1E;;;;;;OAMG;IACH,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,oBAAoB,GAAG,IAAI,CAAA;IAE1E;;;;;;OAMG;IACH,kBAAkB,CAAC,WAAW,EAAE,WAAW,GAAG,oBAAoB,GAAG,IAAI,CAAA;CAC5E;AAED,MAAM,WAAW,cAAe,SAAQ,sBAAsB;IAC1D;;OAEG;IACH,aAAa,IAAI,IAAI,CAAA;IAErB;;;OAGG;IACH,KAAK,IAAI,IAAI,CAAA;CAChB;AAED,MAAM,WAAW,aAAc,SAAQ,sBAAsB,EAAE,SAAS;IACpE;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAA;IAEtB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;IAE1B;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IAExB;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;IAE1B;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAA;IAEnB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,KAAK,CAAC,eAAe,SAAS,SAAS,GAAG,SAAS,CAChE,SAAQ,aAAa,EAAE,cAAc,EAAE,UAAU;IACjD;;;;;OAKG;IACH,OAAO,CACH,YAAY,EAAE,mBAAmB,EACjC,WAAW,EAAE,eAAe,GAC7B,IAAI,CAAA;IAEP;;;;;;OAMG;IACH,QAAQ,CAAC,WAAW,EAAE,eAAe,GAAG,IAAI,CAAA;IAE5C;;;;;OAKG;IACH,UAAU,IAAI,IAAI,CAAA;CACrB"}
1
+ {"version":3,"file":"Track.d.ts","sourceRoot":"","sources":["../../../../src/track/Track.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACR,SAAS,EACT,SAAS,EACT,UAAU,EACV,YAAY,EACZ,SAAS,EACT,KAAK,EACL,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,aAAa,EACb,WAAW,EACd,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EACR,WAAW,EACX,oBAAoB,EACvB,MAAM,mCAAmC,CAAA;AAC1C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AACvE,OAAO,KAAK,EACR,2BAA2B,EAC3B,mBAAmB,EACtB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAExD,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAE5C;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,iBAAiB,GAAG;IAC5C,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;CAChC,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAA;AAE7B;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAA;AAEhC;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;CACpC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,sBAAuB,SAAQ,iBAAiB,CAAC,iBAAiB,CAAC;IAChF;;;OAGG;IACH,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAA;IAEtC;;OAEG;IACH,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,WAAW,CAAC,CAAA;IAE/C;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS,oBAAoB,EAAE,GAAG,IAAI,CAAA;IAE1D;;;OAGG;IACH,QAAQ,CAAC,mBAAmB,EAAE,SAAS,oBAAoB,EAAE,GAAG,IAAI,CAAA;IAEpE;;;;;;;;;OASG;IACH,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,oBAAoB,GAAG,IAAI,CAAA;IAE1E;;;;;;OAMG;IACH,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,oBAAoB,GAAG,IAAI,CAAA;IAE1E;;;;;;OAMG;IACH,kBAAkB,CAAC,WAAW,EAAE,WAAW,GAAG,oBAAoB,GAAG,IAAI,CAAA;CAC5E;AAED,MAAM,WAAW,cAAe,SAAQ,sBAAsB;IAC1D;;OAEG;IACH,aAAa,IAAI,IAAI,CAAA;IAErB;;;;;;OAMG;IACH,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;CAC9B;AAED,MAAM,WAAW,aACb,SACI,iBAAiB,CAAC,aAAa,CAAC,EAChC,sBAAsB,EACtB,SAAS;IACb;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAA;IAEtB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;IAE1B;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IAExB;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;IAE1B;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAA;IAEnB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;IAE5B;;;OAGG;IACH,QAAQ,CAAC,mBAAmB,EAAE,2BAA2B,GAAG,IAAI,CAAA;IAEhE;;;;OAIG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAA;IAEpC;;;;;OAKG;IACH,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAA;IAE3B,QAAQ,CAAC,cAAc,EAAE,SAAS,CAAC,aAAa,CAAC,CAAA;IACjD,YAAY,CAAC,IAAI,EAAE,MAAM,aAAa,GAAG,OAAO,CAAA;IAChD,EAAE,CAAC,CAAC,SAAS,MAAM,aAAa,EAC5B,IAAI,EAAE,CAAC,EACP,OAAO,EAAE,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EACvC,OAAO,CAAC,EAAE,aAAa,GACxB,WAAW,CAAA;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,KAAK,CAClB,UAAU,SAAS,kBAAkB,GAAG,kBAAkB,CAE1D,SAAQ,aAAa,EAAE,cAAc,EAAE,UAAU;IACjD;;;OAGG;IACH,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,GAAG,IAAI,CAAA;IAExD;;;;;OAKG;IACH,OAAO,CACH,YAAY,EAAE,mBAAmB,EACjC,WAAW,EAAE,KAAK,CAAC,UAAU,CAAC,GAC/B,IAAI,CAAA;IAEP;;;;;;OAMG;IACH,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,UAAU,CAAC,GAAG,IAAI,CAAA;IAE9C;;;;;OAKG;IACH,UAAU,IAAI,IAAI,CAAA;IAElB;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;IAE1B,QAAQ,CAAC,cAAc,EAAE,SAAS,CAAC,aAAa,CAAC,CAAA;IACjD,YAAY,CAAC,IAAI,EAAE,MAAM,aAAa,GAAG,OAAO,CAAA;IAChD,EAAE,CAAC,CAAC,SAAS,MAAM,aAAa,EAC5B,IAAI,EAAE,CAAC,EACP,OAAO,EAAE,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EACvC,OAAO,CAAC,EAAE,aAAa,GACxB,WAAW,CAAA;CACjB"}
@@ -1,10 +1,12 @@
1
- import type { ObjectSchema } from '@amazon/vinyl-validation';
2
1
  import { EventHostImpl, type Maybe, type ReadonlyRanges, type ReadonlySet } from '@amazon/vinyl-util';
3
2
  import type { PlaybackController } from '../playback/PlaybackController';
4
3
  import type { Track, TrackEventMap, TrackPreloadOptions, TrackTypeId, TrackUri } from './Track';
4
+ import type { SeekRange } from './SeekRange';
5
5
  import { type DrmController } from '../drm/DrmController';
6
6
  import type { ContentType, MediaQualityMetadata } from '../streaming/MediaQualityMetadata';
7
- import { type DrmOptions } from '../drm/DrmOptions';
7
+ import type { TextTrackController } from '../text/TextTrack';
8
+ import type { TrackAds } from '../ad/AdBreakInfo';
9
+ import type { TrackConfigOptions } from './TrackFactory';
8
10
  /**
9
11
  * Dependencies for TrackBase.
10
12
  */
@@ -18,29 +20,10 @@ export interface TrackBaseDeps {
18
20
  */
19
21
  readonly drmController: DrmController;
20
22
  }
21
- /**
22
- * General configuration for tracks set in track load options.
23
- */
24
- export interface TrackBaseOptions {
25
- /**
26
- * The time to seek to when the track has been activated.
27
- * For MSE tracks this will affect pre-fetching.
28
- */
29
- readonly startTime?: Maybe<number>;
30
- /**
31
- * Extra application data to associate with the track.
32
- */
33
- readonly extra?: any;
34
- /**
35
- * DRM Configuration overrides for this track.
36
- */
37
- readonly drm?: Partial<DrmOptions>;
38
- }
39
- export declare const trackBaseOptionsValidator: ObjectSchema<TrackBaseOptions>;
40
23
  /**
41
24
  * A base class for all tracks.
42
25
  */
43
- export declare abstract class TrackBase<EventMap extends TrackEventMap = TrackEventMap, LoadOptionsType extends TrackBaseOptions = TrackBaseOptions> extends EventHostImpl<EventMap> implements Track<LoadOptionsType> {
26
+ export declare abstract class TrackBase<EventMap extends TrackEventMap = TrackEventMap, ConfigType extends TrackConfigOptions = TrackConfigOptions> extends EventHostImpl<EventMap> implements Track<ConfigType> {
44
27
  /**
45
28
  * The identifier of this track, used as the key in the track cache.
46
29
  */
@@ -54,11 +37,22 @@ export declare abstract class TrackBase<EventMap extends TrackEventMap = TrackEv
54
37
  /**
55
38
  * The current load options, if this is an active track.
56
39
  */
57
- protected loadOptions: LoadOptionsType | null;
40
+ protected loadOptions: Maybe<ConfigType>;
58
41
  protected readonly errorHandler: (error: any) => void;
59
42
  protected readonly disposer: import("@amazon/vinyl-util").Disposer;
60
43
  protected drmSessionAbort: import("@amazon/vinyl-util").AbortSlot;
61
44
  get fetchedRanges(): ReadonlyRanges;
45
+ /**
46
+ * Default text track controller is null. Tracks that surface text tracks
47
+ * (e.g. {@link MseTrack}) override this getter.
48
+ */
49
+ get textTrackController(): TextTrackController | null;
50
+ /**
51
+ * The presentation seek range of the media.
52
+ * Most often {start=0, end=duration} but may be different depending on the
53
+ * media timeline.
54
+ */
55
+ get seekRange(): SeekRange | null;
62
56
  abstract get contentTypes(): ReadonlySet<ContentType>;
63
57
  abstract get qualities(): readonly MediaQualityMetadata[] | null;
64
58
  abstract get qualitiesUnfiltered(): readonly MediaQualityMetadata[] | null;
@@ -70,6 +64,7 @@ export declare abstract class TrackBase<EventMap extends TrackEventMap = TrackEv
70
64
  */
71
65
  protected _error: Error | null;
72
66
  private _active;
67
+ private _seekRange;
73
68
  protected constructor(
74
69
  /**
75
70
  * The identifier of this track, used as the key in the track cache.
@@ -79,31 +74,37 @@ export declare abstract class TrackBase<EventMap extends TrackEventMap = TrackEv
79
74
  * The track type.
80
75
  */
81
76
  type: TrackTypeId, deps: TrackBaseDeps);
77
+ toString(): string;
82
78
  get error(): Error | null;
83
- preload(_trackOptions: TrackPreloadOptions, _loadOptions: LoadOptionsType): void;
79
+ preload(_trackOptions: TrackPreloadOptions, _loadOptions: Maybe<ConfigType>): void;
84
80
  get extra(): any;
85
81
  get active(): boolean;
86
82
  get disposed(): boolean;
87
- activate(loadOptions: LoadOptionsType): void;
83
+ activate(loadOptions: Maybe<ConfigType>): void;
88
84
  /**
89
85
  * The track has been activated.
90
86
  * Operations on shared resources such as the playback controller may only be done while the
91
87
  * track is currently active. For example if there is a loading operation before the
92
88
  * playback source is set, isActive must be checked before the property is changed.
93
89
  */
94
- abstract onActivated(loadOptions: LoadOptionsType): void;
90
+ abstract onActivated(loadOptions: Maybe<ConfigType>): void;
95
91
  deactivate(): void;
96
92
  abstract onDeactivated(): void;
97
- toString(): string;
98
- protected closeDrmSessions(): void;
99
93
  abstract clearPrefetch(): void;
94
+ protected closeDrmSessions(): void;
95
+ /**
96
+ * Resolves to this track's ads.
97
+ * Implementations may override to provide ad breaks.
98
+ */
99
+ getAds(): Promise<TrackAds>;
100
+ protected setSeekRange(value: SeekRange): void;
100
101
  /**
101
102
  * Resets the track to recover from error states.
102
103
  * Base implementation does nothing.
103
104
  *
104
105
  * Overrides should dispatch 'reset' after resetting error state.
105
106
  */
106
- reset(): void;
107
+ reset(hard?: boolean): void;
107
108
  dispose(): void;
108
109
  }
109
110
  //# sourceMappingURL=TrackBase.d.ts.map