@amazon/vinyl 1.1.1 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (714) hide show
  1. package/dist/index.cjs +286 -201
  2. package/dist/index.cjs.map +4 -4
  3. package/dist/index.js +294 -206
  4. package/dist/index.js.map +4 -4
  5. package/dist/test/benchmark.es5.js +169 -232
  6. package/dist/test/benchmark.js +1475 -1933
  7. package/dist/test/benchmark.js.map +4 -4
  8. package/dist/test/integ.es5.js +771 -394
  9. package/dist/test/integ.js +5996 -5138
  10. package/dist/test/integ.js.map +4 -4
  11. package/dist/test/jasmineHtml.es5.js +8 -8
  12. package/dist/test/jasmineHtml.js +8 -4
  13. package/dist/test/jasmineHtml.js.map +3 -3
  14. package/dist/types/current/ad/AdBreakInfo.d.ts +160 -0
  15. package/dist/types/current/ad/AdBreakInfo.d.ts.map +1 -0
  16. package/dist/types/current/ad/AdBreakInfo.js +5 -0
  17. package/dist/types/current/ad/AdController.d.ts +229 -0
  18. package/dist/types/current/ad/AdController.d.ts.map +1 -0
  19. package/dist/types/current/ad/AdController.js +19 -0
  20. package/dist/types/current/ad/AdControllerImpl.d.ts +146 -0
  21. package/dist/types/current/ad/AdControllerImpl.d.ts.map +1 -0
  22. package/dist/types/current/ad/AdControllerImpl.js +705 -0
  23. package/dist/types/current/ad/AdError.d.ts +6 -0
  24. package/dist/types/current/ad/AdError.d.ts.map +1 -0
  25. package/dist/types/current/ad/AdError.js +14 -0
  26. package/dist/types/current/ad/AdsProvider.d.ts +28 -0
  27. package/dist/types/current/ad/AdsProvider.d.ts.map +1 -0
  28. package/dist/types/current/ad/AdsProvider.js +5 -0
  29. package/dist/types/current/ad/defaultAdLoadOptionsResolver.d.ts +12 -0
  30. package/dist/types/current/ad/defaultAdLoadOptionsResolver.d.ts.map +1 -0
  31. package/dist/types/current/ad/defaultAdLoadOptionsResolver.js +26 -0
  32. package/dist/types/current/ad/discoverHlsInterstitials.d.ts +22 -0
  33. package/dist/types/current/ad/discoverHlsInterstitials.d.ts.map +1 -0
  34. package/dist/types/current/ad/discoverHlsInterstitials.js +246 -0
  35. package/dist/types/current/client/Capabilities.d.ts.map +1 -1
  36. package/dist/types/current/client/CapabilitiesImpl.d.ts.map +1 -1
  37. package/dist/types/current/drm/DrmController.d.ts +2 -2
  38. package/dist/types/current/drm/DrmController.d.ts.map +1 -1
  39. package/dist/types/current/drm/DrmControllerImpl.d.ts +3 -3
  40. package/dist/types/current/drm/DrmControllerImpl.d.ts.map +1 -1
  41. package/dist/types/current/drm/DrmControllerImpl.js +18 -8
  42. package/dist/types/current/drm/DrmKeySystemResolver.d.ts +1 -1
  43. package/dist/types/current/drm/DrmKeySystemResolver.d.ts.map +1 -1
  44. package/dist/types/current/drm/DrmKeySystemResolver.js +1 -1
  45. package/dist/types/current/drm/DrmOptions.d.ts +1 -1
  46. package/dist/types/current/drm/DrmOptions.d.ts.map +1 -1
  47. package/dist/types/current/drm/DrmOptions.js +1 -1
  48. package/dist/types/current/drm/commonEme/CommonEme.d.ts +2 -2
  49. package/dist/types/current/drm/commonEme/CommonEme.d.ts.map +1 -1
  50. package/dist/types/current/drm/commonEme/CommonEmeFactory.d.ts +1 -1
  51. package/dist/types/current/drm/commonEme/CommonEmeFactory.d.ts.map +1 -1
  52. package/dist/types/current/drm/commonEme/MsCommonEme.d.ts +1 -1
  53. package/dist/types/current/drm/commonEme/MsCommonEme.d.ts.map +1 -1
  54. package/dist/types/current/drm/commonEme/MsCommonEme.js +1 -1
  55. package/dist/types/current/drm/commonEme/StandardCommonEme.d.ts +1 -1
  56. package/dist/types/current/drm/commonEme/StandardCommonEme.d.ts.map +1 -1
  57. package/dist/types/current/drm/commonEme/WebKitCommonEme.d.ts +2 -2
  58. package/dist/types/current/drm/commonEme/WebKitCommonEme.d.ts.map +1 -1
  59. package/dist/types/current/drm/commonEme/WebKitCommonEme.js +1 -1
  60. package/dist/types/current/drm/commonEme/createDrmErrorHandler.js +1 -1
  61. package/dist/types/current/drm/licenseProvider/LicenseProvider.d.ts +1 -1
  62. package/dist/types/current/drm/licenseProvider/LicenseProvider.d.ts.map +1 -1
  63. package/dist/types/current/global/environment.d.ts +6 -2
  64. package/dist/types/current/global/environment.d.ts.map +1 -1
  65. package/dist/types/current/global/environment.js +4 -3
  66. package/dist/types/current/global/initializeVinylGlobal.js +1 -1
  67. package/dist/types/current/patch/media/MediaElementPatchOptions.js +1 -1
  68. package/dist/types/current/patch/media/patchMediaElement.js +1 -1
  69. package/dist/types/current/patch/media/patches/createPreventStallsPatch.d.ts +1 -1
  70. package/dist/types/current/patch/media/patches/createPreventStallsPatch.d.ts.map +1 -1
  71. package/dist/types/current/patch/media/patches/createUnreliablePlaybackEventsPatch.d.ts +1 -1
  72. package/dist/types/current/patch/media/patches/createUnreliablePlaybackEventsPatch.d.ts.map +1 -1
  73. package/dist/types/current/playback/PlaybackControllerImpl.d.ts +2 -2
  74. package/dist/types/current/playback/PlaybackControllerImpl.d.ts.map +1 -1
  75. package/dist/types/current/playback/PlaybackControllerImpl.js +4 -4
  76. package/dist/types/current/playback/ReadonlyPlaybackController.d.ts.map +1 -1
  77. package/dist/types/current/playback/error/ReportableMediaError.js +1 -1
  78. package/dist/types/current/playback/logging/playbackStateLoggingHandler.d.ts +1 -1
  79. package/dist/types/current/playback/logging/playbackStateLoggingHandler.d.ts.map +1 -1
  80. package/dist/types/current/playback/logging/playbackStateLoggingHandler.js +1 -1
  81. package/dist/types/current/playback/nextHasMetadata.d.ts +1 -1
  82. package/dist/types/current/playback/nextHasMetadata.d.ts.map +1 -1
  83. package/dist/types/current/streaming/AudioOptions.d.ts +39 -0
  84. package/dist/types/current/streaming/AudioOptions.d.ts.map +1 -0
  85. package/dist/types/current/streaming/AudioOptions.js +15 -0
  86. package/dist/types/current/streaming/ContentStream.d.ts +4 -4
  87. package/dist/types/current/streaming/ContentStream.d.ts.map +1 -1
  88. package/dist/types/current/streaming/ContentStreamingOptions.d.ts +2 -2
  89. package/dist/types/current/streaming/ContentStreamingOptions.d.ts.map +1 -1
  90. package/dist/types/current/streaming/LoadMetric.d.ts +58 -0
  91. package/dist/types/current/streaming/LoadMetric.d.ts.map +1 -0
  92. package/dist/types/current/streaming/LoadMetric.js +5 -0
  93. package/dist/types/current/streaming/ManifestControllerImpl.d.ts +43 -0
  94. package/dist/types/current/streaming/ManifestControllerImpl.d.ts.map +1 -0
  95. package/dist/types/current/streaming/ManifestControllerImpl.js +104 -0
  96. package/dist/types/current/streaming/MediaQualityMetadata.d.ts +2 -2
  97. package/dist/types/current/streaming/MediaQualityMetadata.d.ts.map +1 -1
  98. package/dist/types/current/streaming/MediaQualityMetadata.js +1 -1
  99. package/dist/types/current/streaming/MediaTimeline.d.ts +6 -5
  100. package/dist/types/current/streaming/MediaTimeline.d.ts.map +1 -1
  101. package/dist/types/current/streaming/SegmentController.d.ts +2 -7
  102. package/dist/types/current/streaming/SegmentController.d.ts.map +1 -1
  103. package/dist/types/current/streaming/SegmentControllerImpl.d.ts +5 -6
  104. package/dist/types/current/streaming/SegmentControllerImpl.d.ts.map +1 -1
  105. package/dist/types/current/streaming/SegmentControllerImpl.js +5 -15
  106. package/dist/types/current/streaming/SegmentReference.d.ts +1 -1
  107. package/dist/types/current/streaming/SegmentReference.d.ts.map +1 -1
  108. package/dist/types/current/streaming/StreamingEventMap.d.ts +1 -1
  109. package/dist/types/current/streaming/StreamingEventMap.d.ts.map +1 -1
  110. package/dist/types/current/streaming/abr/QualitySelector.d.ts +1 -1
  111. package/dist/types/current/streaming/abr/QualitySelector.d.ts.map +1 -1
  112. package/dist/types/current/streaming/abr/QualitySelectorImpl.d.ts +18 -3
  113. package/dist/types/current/streaming/abr/QualitySelectorImpl.d.ts.map +1 -1
  114. package/dist/types/current/streaming/abr/QualitySelectorImpl.js +8 -2
  115. package/dist/types/current/streaming/buffering/BufferingController.d.ts +3 -13
  116. package/dist/types/current/streaming/buffering/BufferingController.d.ts.map +1 -1
  117. package/dist/types/current/streaming/buffering/BufferingController.js +1 -24
  118. package/dist/types/current/streaming/buffering/MediaSourceController.d.ts +41 -15
  119. package/dist/types/current/streaming/buffering/MediaSourceController.d.ts.map +1 -1
  120. package/dist/types/current/streaming/buffering/MediaSourceController.js +74 -17
  121. package/dist/types/current/streaming/buffering/SourceBufferController.d.ts +1 -1
  122. package/dist/types/current/streaming/buffering/SourceBufferController.d.ts.map +1 -1
  123. package/dist/types/current/streaming/buffering/codecDenylist.d.ts +23 -0
  124. package/dist/types/current/streaming/buffering/codecDenylist.d.ts.map +1 -0
  125. package/dist/types/current/streaming/buffering/codecDenylist.js +62 -0
  126. package/dist/types/current/streaming/createAllowedContentTypesValue.d.ts +30 -0
  127. package/dist/types/current/streaming/createAllowedContentTypesValue.d.ts.map +1 -0
  128. package/dist/types/current/streaming/createAllowedContentTypesValue.js +43 -0
  129. package/dist/types/current/streaming/createDefaultMediaTimelineTransformer.d.ts +1 -1
  130. package/dist/types/current/streaming/createDefaultMediaTimelineTransformer.d.ts.map +1 -1
  131. package/dist/types/current/streaming/createDefaultMediaTimelineTransformer.js +2 -2
  132. package/dist/types/current/streaming/mediaTimelineAccessibilityFilter.d.ts +35 -0
  133. package/dist/types/current/streaming/mediaTimelineAccessibilityFilter.d.ts.map +1 -0
  134. package/dist/types/current/streaming/mediaTimelineAccessibilityFilter.js +75 -0
  135. package/dist/types/current/streaming/mediaTimelineFilter.d.ts +3 -3
  136. package/dist/types/current/streaming/mediaTimelineFilter.d.ts.map +1 -1
  137. package/dist/types/current/streaming/mediaTimelineFilter.js +1 -1
  138. package/dist/types/current/streaming/mediaTimelineLanguageFilter.d.ts +1 -1
  139. package/dist/types/current/streaming/mediaTimelineLanguageFilter.d.ts.map +1 -1
  140. package/dist/types/current/streaming/util/segment.d.ts +1 -1
  141. package/dist/types/current/streaming/util/segment.d.ts.map +1 -1
  142. package/dist/types/current/text/HtmlTextTrackRenderer.d.ts +60 -0
  143. package/dist/types/current/text/HtmlTextTrackRenderer.d.ts.map +1 -0
  144. package/dist/types/current/text/HtmlTextTrackRenderer.js +231 -0
  145. package/dist/types/current/text/SidecarTextTrackController.d.ts +103 -0
  146. package/dist/types/current/text/SidecarTextTrackController.d.ts.map +1 -0
  147. package/dist/types/current/text/SidecarTextTrackController.js +250 -0
  148. package/dist/types/current/text/SidecarTextTrackLoader.d.ts +65 -0
  149. package/dist/types/current/text/SidecarTextTrackLoader.d.ts.map +1 -0
  150. package/dist/types/current/text/SidecarTextTrackLoader.js +150 -0
  151. package/dist/types/current/text/TextTrack.d.ts +179 -0
  152. package/dist/types/current/text/TextTrack.d.ts.map +1 -0
  153. package/dist/types/current/text/TextTrack.js +29 -0
  154. package/dist/types/current/text/TextTrackRenderer.d.ts +24 -0
  155. package/dist/types/current/text/TextTrackRenderer.d.ts.map +1 -0
  156. package/dist/types/current/text/TextTrackRenderer.js +5 -0
  157. package/dist/types/current/text/VttCueStyle.d.ts +41 -0
  158. package/dist/types/current/text/VttCueStyle.d.ts.map +1 -0
  159. package/dist/types/current/text/VttCueStyle.js +45 -0
  160. package/dist/types/current/text/discoverDashTextTracks.d.ts +24 -0
  161. package/dist/types/current/text/discoverDashTextTracks.d.ts.map +1 -0
  162. package/dist/types/current/text/discoverDashTextTracks.js +109 -0
  163. package/dist/types/current/text/discoverHlsTextTracks.d.ts +19 -0
  164. package/dist/types/current/text/discoverHlsTextTracks.d.ts.map +1 -0
  165. package/dist/types/current/text/discoverHlsTextTracks.js +49 -0
  166. package/dist/types/current/text/mediaTextTrackProvider.d.ts +34 -0
  167. package/dist/types/current/text/mediaTextTrackProvider.d.ts.map +1 -0
  168. package/dist/types/current/text/mediaTextTrackProvider.js +42 -0
  169. package/dist/types/current/text/parseWebVtt.d.ts +60 -0
  170. package/dist/types/current/text/parseWebVtt.d.ts.map +1 -0
  171. package/dist/types/current/text/parseWebVtt.js +248 -0
  172. package/dist/types/current/text/pickPreferredTextTrack.d.ts +15 -0
  173. package/dist/types/current/text/pickPreferredTextTrack.d.ts.map +1 -0
  174. package/dist/types/current/text/pickPreferredTextTrack.js +71 -0
  175. package/dist/types/current/track/AutoResetController.d.ts +37 -12
  176. package/dist/types/current/track/AutoResetController.d.ts.map +1 -1
  177. package/dist/types/current/track/AutoResetController.js +38 -28
  178. package/dist/types/current/track/SeekRange.d.ts +9 -0
  179. package/dist/types/current/track/SeekRange.d.ts.map +1 -0
  180. package/dist/types/current/track/SeekRange.js +5 -0
  181. package/dist/types/current/track/Track.d.ts.map +1 -1
  182. package/dist/types/current/track/TrackBase.d.ts.map +1 -1
  183. package/dist/types/current/track/TrackController.d.ts +2 -2
  184. package/dist/types/current/track/TrackController.d.ts.map +1 -1
  185. package/dist/types/current/track/TrackFactory.d.ts +1 -1
  186. package/dist/types/current/track/TrackFactory.d.ts.map +1 -1
  187. package/dist/types/current/track/createSegmentDataProvider.d.ts.map +1 -1
  188. package/dist/types/current/track/createVinylTrackFactories.d.ts +5 -5
  189. package/dist/types/current/track/createVinylTrackFactories.d.ts.map +1 -1
  190. package/dist/types/current/track/createVinylTrackFactories.js +4 -4
  191. package/dist/types/current/track/dash/DashManifestController.d.ts +1 -1
  192. package/dist/types/current/track/dash/DashManifestController.d.ts.map +1 -1
  193. package/dist/types/current/track/dash/DashMediaQualityMetadataResolver.d.ts.map +1 -1
  194. package/dist/types/current/track/dash/DashMediaQualityMetadataResolver.js +1 -1
  195. package/dist/types/current/track/dash/DashTrack.d.ts +4 -4
  196. package/dist/types/current/track/dash/DashTrack.d.ts.map +1 -1
  197. package/dist/types/current/track/dash/DashTrack.js +2 -2
  198. package/dist/types/current/track/dash/buildDashMediaTimeline.d.ts +2 -2
  199. package/dist/types/current/track/dash/buildDashMediaTimeline.d.ts.map +1 -1
  200. package/dist/types/current/track/dash/buildDashMediaTimeline.js +2 -2
  201. package/dist/types/current/track/dash/createDashContentStreamFactories.d.ts.map +1 -1
  202. package/dist/types/current/track/dash/createDashContentTypesValue.d.ts +2 -2
  203. package/dist/types/current/track/dash/createDashContentTypesValue.d.ts.map +1 -1
  204. package/dist/types/current/track/dash/createDashContentTypesValue.js +1 -1
  205. package/dist/types/current/track/dash/createDashFactories.d.ts +12 -12
  206. package/dist/types/current/track/dash/createDashFactories.d.ts.map +1 -1
  207. package/dist/types/current/track/dash/createDashFactories.js +8 -8
  208. package/dist/types/current/track/dash/createDashManifestProvider.d.ts +1 -1
  209. package/dist/types/current/track/dash/createDashManifestProvider.d.ts.map +1 -1
  210. package/dist/types/current/track/dash/createDashManifestProvider.js +1 -1
  211. package/dist/types/current/track/dash/createDefaultDashManifestTransformer.d.ts +1 -1
  212. package/dist/types/current/track/dash/createDefaultDashManifestTransformer.d.ts.map +1 -1
  213. package/dist/types/current/track/dash/createDefaultDashManifestTransformer.js +1 -1
  214. package/dist/types/current/track/dash/createSegmentControllerFactory.d.ts.map +1 -1
  215. package/dist/types/current/track/dash/manifestTransformUtils.d.ts +1 -1
  216. package/dist/types/current/track/dash/manifestTransformUtils.d.ts.map +1 -1
  217. package/dist/types/current/track/dash/timeline/DashRepresentationSegmentProvider.d.ts +3 -3
  218. package/dist/types/current/track/dash/timeline/DashRepresentationSegmentProvider.d.ts.map +1 -1
  219. package/dist/types/current/track/dash/timeline/DashRepresentationSegmentProvider.js +3 -3
  220. package/dist/types/current/track/dash/urlDashManifestProvider.d.ts +1 -1
  221. package/dist/types/current/track/dash/urlDashManifestProvider.d.ts.map +1 -1
  222. package/dist/types/current/track/dash/util/mimeType.d.ts.map +1 -1
  223. package/dist/types/current/track/dash/util/mimeType.js +1 -1
  224. package/dist/types/current/track/dash/util/mpd.d.ts +3 -2
  225. package/dist/types/current/track/dash/util/mpd.d.ts.map +1 -1
  226. package/dist/types/current/track/dash/util/mpd.js +13 -3
  227. package/dist/types/current/track/dash/util/uriResolution.js +1 -1
  228. package/dist/types/current/track/filters/keySystemFilter.d.ts.map +1 -1
  229. package/dist/types/current/track/filters/resourceTypeFilter.d.ts.map +1 -1
  230. package/dist/types/current/track/filters/sampleRateFilter.d.ts.map +1 -1
  231. package/dist/types/current/track/hls/HlsManifestData.d.ts +19 -0
  232. package/dist/types/current/track/hls/HlsManifestData.d.ts.map +1 -0
  233. package/dist/types/current/track/hls/HlsManifestData.js +5 -0
  234. package/dist/types/current/track/hls/HlsTrack.d.ts.map +1 -1
  235. package/dist/types/current/track/hls/buildHlsMediaTimeline.d.ts +3 -3
  236. package/dist/types/current/track/hls/buildHlsMediaTimeline.d.ts.map +1 -1
  237. package/dist/types/current/track/hls/buildHlsMediaTimeline.js +16 -14
  238. package/dist/types/current/track/hls/createDefaultHlsManifestTransformer.d.ts +1 -1
  239. package/dist/types/current/track/hls/createDefaultHlsManifestTransformer.d.ts.map +1 -1
  240. package/dist/types/current/track/hls/createHlsContentStreamFactories.d.ts.map +1 -1
  241. package/dist/types/current/track/hls/createHlsManifestProvider.d.ts +6 -0
  242. package/dist/types/current/track/hls/createHlsManifestProvider.d.ts.map +1 -0
  243. package/dist/types/current/track/hls/createHlsManifestProvider.js +9 -0
  244. package/dist/types/current/track/hls/util/hlsSegmentTime.d.ts +1 -1
  245. package/dist/types/current/track/hls/util/hlsSegmentTime.d.ts.map +1 -1
  246. package/dist/types/current/track/hls/util/hlsSegmentTime.js +1 -1
  247. package/dist/types/current/track/inferLoadOptionsFromUri.d.ts +15 -0
  248. package/dist/types/current/track/inferLoadOptionsFromUri.d.ts.map +1 -0
  249. package/dist/types/current/track/inferLoadOptionsFromUri.js +55 -0
  250. package/dist/types/current/track/mse/MseTrack.d.ts +2 -2
  251. package/dist/types/current/track/mse/MseTrack.d.ts.map +1 -1
  252. package/dist/types/current/track/mse/MseTrack.js +2 -1
  253. package/dist/types/current/track/mse/codec.d.ts.map +1 -1
  254. package/dist/types/current/track/source/FixedPlaybackQuality.d.ts +1 -1
  255. package/dist/types/current/track/source/FixedPlaybackQuality.d.ts.map +1 -1
  256. package/dist/types/current/track/source/SourceObjectTrack.d.ts +4 -4
  257. package/dist/types/current/track/source/SourceObjectTrack.d.ts.map +1 -1
  258. package/dist/types/current/track/source/SourceObjectTrack.js +2 -2
  259. package/dist/types/current/track/source/SourceTrack.d.ts +4 -4
  260. package/dist/types/current/track/source/SourceTrack.d.ts.map +1 -1
  261. package/dist/types/current/track/source/SourceTrack.js +2 -2
  262. package/dist/types/current/track/source/SourceTrackBase.d.ts +2 -2
  263. package/dist/types/current/track/source/SourceTrackBase.d.ts.map +1 -1
  264. package/dist/types/current/track/source/SourceTrackBase.js +2 -2
  265. package/dist/types/current/tsconfig.tsbuildinfo +1 -1
  266. package/dist/types/current/util/media/codecOverrides.d.ts +33 -0
  267. package/dist/types/current/util/media/codecOverrides.d.ts.map +1 -0
  268. package/dist/types/current/util/media/codecOverrides.js +37 -0
  269. package/dist/types/current/util/media/codecSupport.d.ts +6 -0
  270. package/dist/types/current/util/media/codecSupport.d.ts.map +1 -0
  271. package/dist/types/current/util/media/codecSupport.js +17 -0
  272. package/dist/types/current/util/media/mimeType.d.ts +8 -0
  273. package/dist/types/current/util/media/mimeType.d.ts.map +1 -0
  274. package/dist/types/current/util/media/mimeType.js +13 -0
  275. package/dist/types/current/vinyl/ReadonlyPlaybackStreamingState.d.ts.map +1 -1
  276. package/dist/types/current/vinyl/VinylDeps.d.ts +1 -1
  277. package/dist/types/current/vinyl/VinylDeps.d.ts.map +1 -1
  278. package/dist/types/current/vinyl/VinylOptions.d.ts.map +1 -1
  279. package/dist/types/current/vinyl/VinylPatchOptions.d.ts.map +1 -1
  280. package/dist/types/current/vinyl/VinylPlayer.d.ts +26 -2
  281. package/dist/types/current/vinyl/VinylPlayer.d.ts.map +1 -1
  282. package/dist/types/current/vinyl/VinylPlayer.js +18 -3
  283. package/dist/types/current/vinyl/createVinylFactories.d.ts +9 -11
  284. package/dist/types/current/vinyl/createVinylFactories.d.ts.map +1 -1
  285. package/dist/types/current/vinyl/createVinylFactories.js +2 -2
  286. package/dist/types/ts3.7/ad/AdBreakInfo.d.ts +160 -0
  287. package/dist/types/ts3.7/ad/AdController.d.ts +243 -0
  288. package/dist/types/ts3.7/ad/AdControllerImpl.d.ts +146 -0
  289. package/dist/types/ts3.7/ad/AdError.d.ts +6 -0
  290. package/dist/types/ts3.7/ad/AdsProvider.d.ts +28 -0
  291. package/dist/types/ts3.7/ad/defaultAdLoadOptionsResolver.d.ts +12 -0
  292. package/dist/types/ts3.7/ad/discoverHlsInterstitials.d.ts +22 -0
  293. package/dist/types/ts3.7/drm/DrmController.d.ts +2 -2
  294. package/dist/types/ts3.7/drm/DrmControllerImpl.d.ts +3 -3
  295. package/dist/types/ts3.7/drm/DrmKeySystemResolver.d.ts +1 -1
  296. package/dist/types/ts3.7/drm/DrmOptions.d.ts +1 -1
  297. package/dist/types/ts3.7/drm/commonEme/CommonEme.d.ts +2 -2
  298. package/dist/types/ts3.7/drm/commonEme/CommonEmeFactory.d.ts +1 -1
  299. package/dist/types/ts3.7/drm/commonEme/MsCommonEme.d.ts +1 -1
  300. package/dist/types/ts3.7/drm/commonEme/StandardCommonEme.d.ts +1 -1
  301. package/dist/types/ts3.7/drm/commonEme/WebKitCommonEme.d.ts +2 -2
  302. package/dist/types/ts3.7/drm/licenseProvider/LicenseProvider.d.ts +1 -1
  303. package/dist/types/ts3.7/global/environment.d.ts +6 -2
  304. package/dist/types/ts3.7/patch/media/patches/createPreventStallsPatch.d.ts +1 -1
  305. package/dist/types/ts3.7/patch/media/patches/createUnreliablePlaybackEventsPatch.d.ts +1 -1
  306. package/dist/types/ts3.7/playback/PlaybackControllerImpl.d.ts +2 -2
  307. package/dist/types/ts3.7/playback/logging/playbackStateLoggingHandler.d.ts +1 -1
  308. package/dist/types/ts3.7/playback/nextHasMetadata.d.ts +1 -1
  309. package/dist/types/ts3.7/streaming/AudioOptions.d.ts +39 -0
  310. package/dist/types/ts3.7/streaming/ContentStream.d.ts +4 -4
  311. package/dist/types/ts3.7/streaming/ContentStreamingOptions.d.ts +2 -2
  312. package/dist/types/ts3.7/streaming/LoadMetric.d.ts +58 -0
  313. package/dist/types/ts3.7/streaming/ManifestControllerImpl.d.ts +40 -0
  314. package/dist/types/ts3.7/streaming/MediaQualityMetadata.d.ts +2 -2
  315. package/dist/types/ts3.7/streaming/MediaTimeline.d.ts +6 -5
  316. package/dist/types/ts3.7/streaming/SegmentController.d.ts +2 -7
  317. package/dist/types/ts3.7/streaming/SegmentControllerImpl.d.ts +5 -6
  318. package/dist/types/ts3.7/streaming/SegmentReference.d.ts +1 -1
  319. package/dist/types/ts3.7/streaming/StreamingEventMap.d.ts +1 -1
  320. package/dist/types/ts3.7/streaming/abr/QualitySelector.d.ts +1 -1
  321. package/dist/types/ts3.7/streaming/abr/QualitySelectorImpl.d.ts +18 -3
  322. package/dist/types/ts3.7/streaming/buffering/BufferingController.d.ts +3 -13
  323. package/dist/types/ts3.7/streaming/buffering/MediaSourceController.d.ts +41 -15
  324. package/dist/types/ts3.7/streaming/buffering/SourceBufferController.d.ts +1 -1
  325. package/dist/types/ts3.7/streaming/buffering/codecDenylist.d.ts +23 -0
  326. package/dist/types/ts3.7/streaming/createAllowedContentTypesValue.d.ts +30 -0
  327. package/dist/types/ts3.7/streaming/createDefaultMediaTimelineTransformer.d.ts +1 -1
  328. package/dist/types/ts3.7/streaming/mediaTimelineAccessibilityFilter.d.ts +35 -0
  329. package/dist/types/ts3.7/streaming/mediaTimelineFilter.d.ts +3 -3
  330. package/dist/types/ts3.7/streaming/mediaTimelineLanguageFilter.d.ts +1 -1
  331. package/dist/types/ts3.7/streaming/util/segment.d.ts +1 -1
  332. package/dist/types/ts3.7/text/HtmlTextTrackRenderer.d.ts +60 -0
  333. package/dist/types/ts3.7/text/SidecarTextTrackController.d.ts +103 -0
  334. package/dist/types/ts3.7/text/SidecarTextTrackLoader.d.ts +65 -0
  335. package/dist/types/ts3.7/text/TextTrack.d.ts +183 -0
  336. package/dist/types/ts3.7/text/TextTrackRenderer.d.ts +24 -0
  337. package/dist/types/ts3.7/text/VttCueStyle.d.ts +41 -0
  338. package/dist/types/ts3.7/text/discoverDashTextTracks.d.ts +24 -0
  339. package/dist/types/ts3.7/text/discoverHlsTextTracks.d.ts +19 -0
  340. package/dist/types/ts3.7/text/mediaTextTrackProvider.d.ts +34 -0
  341. package/dist/types/ts3.7/text/parseWebVtt.d.ts +60 -0
  342. package/dist/types/ts3.7/text/pickPreferredTextTrack.d.ts +15 -0
  343. package/dist/types/ts3.7/track/AutoResetController.d.ts +37 -12
  344. package/dist/types/ts3.7/track/SeekRange.d.ts +9 -0
  345. package/dist/types/ts3.7/track/TrackController.d.ts +2 -2
  346. package/dist/types/ts3.7/track/TrackFactory.d.ts +1 -1
  347. package/dist/types/ts3.7/track/createVinylTrackFactories.d.ts +5 -5
  348. package/dist/types/ts3.7/track/dash/DashManifestController.d.ts +1 -1
  349. package/dist/types/ts3.7/track/dash/DashTrack.d.ts +4 -4
  350. package/dist/types/ts3.7/track/dash/buildDashMediaTimeline.d.ts +2 -2
  351. package/dist/types/ts3.7/track/dash/createDashContentTypesValue.d.ts +2 -2
  352. package/dist/types/ts3.7/track/dash/createDashFactories.d.ts +12 -12
  353. package/dist/types/ts3.7/track/dash/createDashManifestProvider.d.ts +1 -1
  354. package/dist/types/ts3.7/track/dash/createDefaultDashManifestTransformer.d.ts +1 -1
  355. package/dist/types/ts3.7/track/dash/manifestTransformUtils.d.ts +1 -1
  356. package/dist/types/ts3.7/track/dash/timeline/DashRepresentationSegmentProvider.d.ts +3 -3
  357. package/dist/types/ts3.7/track/dash/urlDashManifestProvider.d.ts +1 -1
  358. package/dist/types/ts3.7/track/dash/util/mpd.d.ts +3 -2
  359. package/dist/types/ts3.7/track/hls/HlsManifestData.d.ts +19 -0
  360. package/dist/types/ts3.7/track/hls/buildHlsMediaTimeline.d.ts +3 -3
  361. package/dist/types/ts3.7/track/hls/createDefaultHlsManifestTransformer.d.ts +1 -1
  362. package/dist/types/ts3.7/track/hls/createHlsManifestProvider.d.ts +6 -0
  363. package/dist/types/ts3.7/track/hls/util/hlsSegmentTime.d.ts +1 -1
  364. package/dist/types/ts3.7/track/inferLoadOptionsFromUri.d.ts +15 -0
  365. package/dist/types/ts3.7/track/mse/MseTrack.d.ts +2 -2
  366. package/dist/types/ts3.7/track/source/FixedPlaybackQuality.d.ts +1 -1
  367. package/dist/types/ts3.7/track/source/SourceObjectTrack.d.ts +4 -4
  368. package/dist/types/ts3.7/track/source/SourceTrack.d.ts +4 -4
  369. package/dist/types/ts3.7/track/source/SourceTrackBase.d.ts +2 -2
  370. package/dist/types/ts3.7/util/media/codecOverrides.d.ts +33 -0
  371. package/dist/types/ts3.7/util/media/codecSupport.d.ts +6 -0
  372. package/dist/types/ts3.7/util/media/mimeType.d.ts +8 -0
  373. package/dist/types/ts3.7/vinyl/VinylDeps.d.ts +1 -1
  374. package/dist/types/ts3.7/vinyl/VinylPlayer.d.ts +18 -2
  375. package/dist/types/ts3.7/vinyl/createVinylFactories.d.ts +9 -11
  376. package/dist/types/ts4.1/ad/AdBreakInfo.d.ts +160 -0
  377. package/dist/types/ts4.1/ad/AdController.d.ts +243 -0
  378. package/dist/types/ts4.1/ad/AdControllerImpl.d.ts +146 -0
  379. package/dist/types/ts4.1/ad/AdError.d.ts +6 -0
  380. package/dist/types/ts4.1/ad/AdsProvider.d.ts +28 -0
  381. package/dist/types/ts4.1/ad/defaultAdLoadOptionsResolver.d.ts +12 -0
  382. package/dist/types/ts4.1/ad/discoverHlsInterstitials.d.ts +22 -0
  383. package/dist/types/ts4.1/drm/DrmController.d.ts +2 -2
  384. package/dist/types/ts4.1/drm/DrmControllerImpl.d.ts +3 -3
  385. package/dist/types/ts4.1/drm/DrmKeySystemResolver.d.ts +1 -1
  386. package/dist/types/ts4.1/drm/DrmOptions.d.ts +1 -1
  387. package/dist/types/ts4.1/drm/commonEme/CommonEme.d.ts +2 -2
  388. package/dist/types/ts4.1/drm/commonEme/CommonEmeFactory.d.ts +1 -1
  389. package/dist/types/ts4.1/drm/commonEme/MsCommonEme.d.ts +1 -1
  390. package/dist/types/ts4.1/drm/commonEme/StandardCommonEme.d.ts +1 -1
  391. package/dist/types/ts4.1/drm/commonEme/WebKitCommonEme.d.ts +2 -2
  392. package/dist/types/ts4.1/drm/licenseProvider/LicenseProvider.d.ts +1 -1
  393. package/dist/types/ts4.1/global/environment.d.ts +6 -2
  394. package/dist/types/ts4.1/patch/media/patches/createPreventStallsPatch.d.ts +1 -1
  395. package/dist/types/ts4.1/patch/media/patches/createUnreliablePlaybackEventsPatch.d.ts +1 -1
  396. package/dist/types/ts4.1/playback/PlaybackControllerImpl.d.ts +2 -2
  397. package/dist/types/ts4.1/playback/logging/playbackStateLoggingHandler.d.ts +1 -1
  398. package/dist/types/ts4.1/playback/nextHasMetadata.d.ts +1 -1
  399. package/dist/types/ts4.1/streaming/AudioOptions.d.ts +39 -0
  400. package/dist/types/ts4.1/streaming/ContentStream.d.ts +4 -4
  401. package/dist/types/ts4.1/streaming/ContentStreamingOptions.d.ts +2 -2
  402. package/dist/types/ts4.1/streaming/LoadMetric.d.ts +58 -0
  403. package/dist/types/ts4.1/streaming/ManifestControllerImpl.d.ts +40 -0
  404. package/dist/types/ts4.1/streaming/MediaQualityMetadata.d.ts +2 -2
  405. package/dist/types/ts4.1/streaming/MediaTimeline.d.ts +6 -5
  406. package/dist/types/ts4.1/streaming/SegmentController.d.ts +2 -7
  407. package/dist/types/ts4.1/streaming/SegmentControllerImpl.d.ts +5 -6
  408. package/dist/types/ts4.1/streaming/SegmentReference.d.ts +1 -1
  409. package/dist/types/ts4.1/streaming/StreamingEventMap.d.ts +1 -1
  410. package/dist/types/ts4.1/streaming/abr/QualitySelector.d.ts +1 -1
  411. package/dist/types/ts4.1/streaming/abr/QualitySelectorImpl.d.ts +18 -3
  412. package/dist/types/ts4.1/streaming/buffering/BufferingController.d.ts +3 -13
  413. package/dist/types/ts4.1/streaming/buffering/MediaSourceController.d.ts +41 -15
  414. package/dist/types/ts4.1/streaming/buffering/SourceBufferController.d.ts +1 -1
  415. package/dist/types/ts4.1/streaming/buffering/codecDenylist.d.ts +23 -0
  416. package/dist/types/ts4.1/streaming/createAllowedContentTypesValue.d.ts +30 -0
  417. package/dist/types/ts4.1/streaming/createDefaultMediaTimelineTransformer.d.ts +1 -1
  418. package/dist/types/ts4.1/streaming/mediaTimelineAccessibilityFilter.d.ts +35 -0
  419. package/dist/types/ts4.1/streaming/mediaTimelineFilter.d.ts +3 -3
  420. package/dist/types/ts4.1/streaming/mediaTimelineLanguageFilter.d.ts +1 -1
  421. package/dist/types/ts4.1/streaming/util/segment.d.ts +1 -1
  422. package/dist/types/ts4.1/text/HtmlTextTrackRenderer.d.ts +60 -0
  423. package/dist/types/ts4.1/text/SidecarTextTrackController.d.ts +104 -0
  424. package/dist/types/ts4.1/text/SidecarTextTrackLoader.d.ts +65 -0
  425. package/dist/types/ts4.1/text/TextTrack.d.ts +183 -0
  426. package/dist/types/ts4.1/text/TextTrackRenderer.d.ts +24 -0
  427. package/dist/types/ts4.1/text/VttCueStyle.d.ts +41 -0
  428. package/dist/types/ts4.1/text/discoverDashTextTracks.d.ts +24 -0
  429. package/dist/types/ts4.1/text/discoverHlsTextTracks.d.ts +19 -0
  430. package/dist/types/ts4.1/text/mediaTextTrackProvider.d.ts +34 -0
  431. package/dist/types/ts4.1/text/parseWebVtt.d.ts +60 -0
  432. package/dist/types/ts4.1/text/pickPreferredTextTrack.d.ts +15 -0
  433. package/dist/types/ts4.1/track/AutoResetController.d.ts +37 -12
  434. package/dist/types/ts4.1/track/SeekRange.d.ts +9 -0
  435. package/dist/types/ts4.1/track/TrackController.d.ts +2 -2
  436. package/dist/types/ts4.1/track/TrackFactory.d.ts +1 -1
  437. package/dist/types/ts4.1/track/createVinylTrackFactories.d.ts +5 -5
  438. package/dist/types/ts4.1/track/dash/DashManifestController.d.ts +1 -1
  439. package/dist/types/ts4.1/track/dash/DashTrack.d.ts +4 -4
  440. package/dist/types/ts4.1/track/dash/buildDashMediaTimeline.d.ts +2 -2
  441. package/dist/types/ts4.1/track/dash/createDashContentTypesValue.d.ts +2 -2
  442. package/dist/types/ts4.1/track/dash/createDashFactories.d.ts +12 -12
  443. package/dist/types/ts4.1/track/dash/createDashManifestProvider.d.ts +1 -1
  444. package/dist/types/ts4.1/track/dash/createDefaultDashManifestTransformer.d.ts +1 -1
  445. package/dist/types/ts4.1/track/dash/manifestTransformUtils.d.ts +1 -1
  446. package/dist/types/ts4.1/track/dash/timeline/DashRepresentationSegmentProvider.d.ts +3 -3
  447. package/dist/types/ts4.1/track/dash/urlDashManifestProvider.d.ts +1 -1
  448. package/dist/types/ts4.1/track/dash/util/mpd.d.ts +3 -2
  449. package/dist/types/ts4.1/track/hls/HlsManifestData.d.ts +19 -0
  450. package/dist/types/ts4.1/track/hls/buildHlsMediaTimeline.d.ts +3 -3
  451. package/dist/types/ts4.1/track/hls/createDefaultHlsManifestTransformer.d.ts +1 -1
  452. package/dist/types/ts4.1/track/hls/createHlsManifestProvider.d.ts +6 -0
  453. package/dist/types/ts4.1/track/hls/util/hlsSegmentTime.d.ts +1 -1
  454. package/dist/types/ts4.1/track/inferLoadOptionsFromUri.d.ts +15 -0
  455. package/dist/types/ts4.1/track/mse/MseTrack.d.ts +3 -3
  456. package/dist/types/ts4.1/track/source/FixedPlaybackQuality.d.ts +1 -1
  457. package/dist/types/ts4.1/track/source/SourceObjectTrack.d.ts +5 -5
  458. package/dist/types/ts4.1/track/source/SourceTrack.d.ts +5 -5
  459. package/dist/types/ts4.1/track/source/SourceTrackBase.d.ts +3 -3
  460. package/dist/types/ts4.1/util/media/codecOverrides.d.ts +33 -0
  461. package/dist/types/ts4.1/util/media/codecSupport.d.ts +6 -0
  462. package/dist/types/ts4.1/util/media/mimeType.d.ts +8 -0
  463. package/dist/types/ts4.1/vinyl/VinylDeps.d.ts +1 -1
  464. package/dist/types/ts4.1/vinyl/VinylPlayer.d.ts +18 -2
  465. package/dist/types/ts4.1/vinyl/createVinylFactories.d.ts +9 -11
  466. package/dist/types/ts4.7/ad/AdBreakInfo.d.ts +160 -0
  467. package/dist/types/ts4.7/ad/AdController.d.ts +243 -0
  468. package/dist/types/ts4.7/ad/AdControllerImpl.d.ts +146 -0
  469. package/dist/types/ts4.7/ad/AdError.d.ts +6 -0
  470. package/dist/types/ts4.7/ad/AdsProvider.d.ts +28 -0
  471. package/dist/types/ts4.7/ad/defaultAdLoadOptionsResolver.d.ts +12 -0
  472. package/dist/types/ts4.7/ad/discoverHlsInterstitials.d.ts +22 -0
  473. package/dist/types/ts4.7/drm/DrmController.d.ts +2 -2
  474. package/dist/types/ts4.7/drm/DrmControllerImpl.d.ts +3 -3
  475. package/dist/types/ts4.7/drm/DrmKeySystemResolver.d.ts +1 -1
  476. package/dist/types/ts4.7/drm/DrmOptions.d.ts +1 -1
  477. package/dist/types/ts4.7/drm/commonEme/CommonEme.d.ts +2 -2
  478. package/dist/types/ts4.7/drm/commonEme/CommonEmeFactory.d.ts +1 -1
  479. package/dist/types/ts4.7/drm/commonEme/MsCommonEme.d.ts +1 -1
  480. package/dist/types/ts4.7/drm/commonEme/StandardCommonEme.d.ts +1 -1
  481. package/dist/types/ts4.7/drm/commonEme/WebKitCommonEme.d.ts +2 -2
  482. package/dist/types/ts4.7/drm/licenseProvider/LicenseProvider.d.ts +1 -1
  483. package/dist/types/ts4.7/global/environment.d.ts +6 -2
  484. package/dist/types/ts4.7/patch/media/patches/createPreventStallsPatch.d.ts +1 -1
  485. package/dist/types/ts4.7/patch/media/patches/createUnreliablePlaybackEventsPatch.d.ts +1 -1
  486. package/dist/types/ts4.7/playback/PlaybackControllerImpl.d.ts +2 -2
  487. package/dist/types/ts4.7/playback/logging/playbackStateLoggingHandler.d.ts +1 -1
  488. package/dist/types/ts4.7/playback/nextHasMetadata.d.ts +1 -1
  489. package/dist/types/ts4.7/streaming/AudioOptions.d.ts +39 -0
  490. package/dist/types/ts4.7/streaming/ContentStream.d.ts +4 -4
  491. package/dist/types/ts4.7/streaming/ContentStreamingOptions.d.ts +2 -2
  492. package/dist/types/ts4.7/streaming/LoadMetric.d.ts +58 -0
  493. package/dist/types/ts4.7/streaming/ManifestControllerImpl.d.ts +43 -0
  494. package/dist/types/ts4.7/streaming/MediaQualityMetadata.d.ts +2 -2
  495. package/dist/types/ts4.7/streaming/MediaTimeline.d.ts +6 -5
  496. package/dist/types/ts4.7/streaming/SegmentController.d.ts +2 -7
  497. package/dist/types/ts4.7/streaming/SegmentControllerImpl.d.ts +5 -6
  498. package/dist/types/ts4.7/streaming/SegmentReference.d.ts +1 -1
  499. package/dist/types/ts4.7/streaming/StreamingEventMap.d.ts +1 -1
  500. package/dist/types/ts4.7/streaming/abr/QualitySelector.d.ts +1 -1
  501. package/dist/types/ts4.7/streaming/abr/QualitySelectorImpl.d.ts +18 -3
  502. package/dist/types/ts4.7/streaming/buffering/BufferingController.d.ts +3 -13
  503. package/dist/types/ts4.7/streaming/buffering/MediaSourceController.d.ts +41 -15
  504. package/dist/types/ts4.7/streaming/buffering/SourceBufferController.d.ts +1 -1
  505. package/dist/types/ts4.7/streaming/buffering/codecDenylist.d.ts +23 -0
  506. package/dist/types/ts4.7/streaming/createAllowedContentTypesValue.d.ts +30 -0
  507. package/dist/types/ts4.7/streaming/createDefaultMediaTimelineTransformer.d.ts +1 -1
  508. package/dist/types/ts4.7/streaming/mediaTimelineAccessibilityFilter.d.ts +35 -0
  509. package/dist/types/ts4.7/streaming/mediaTimelineFilter.d.ts +3 -3
  510. package/dist/types/ts4.7/streaming/mediaTimelineLanguageFilter.d.ts +1 -1
  511. package/dist/types/ts4.7/streaming/util/segment.d.ts +1 -1
  512. package/dist/types/ts4.7/text/HtmlTextTrackRenderer.d.ts +60 -0
  513. package/dist/types/ts4.7/text/SidecarTextTrackController.d.ts +103 -0
  514. package/dist/types/ts4.7/text/SidecarTextTrackLoader.d.ts +65 -0
  515. package/dist/types/ts4.7/text/TextTrack.d.ts +183 -0
  516. package/dist/types/ts4.7/text/TextTrackRenderer.d.ts +24 -0
  517. package/dist/types/ts4.7/text/VttCueStyle.d.ts +41 -0
  518. package/dist/types/ts4.7/text/discoverDashTextTracks.d.ts +24 -0
  519. package/dist/types/ts4.7/text/discoverHlsTextTracks.d.ts +19 -0
  520. package/dist/types/ts4.7/text/mediaTextTrackProvider.d.ts +34 -0
  521. package/dist/types/ts4.7/text/parseWebVtt.d.ts +60 -0
  522. package/dist/types/ts4.7/text/pickPreferredTextTrack.d.ts +15 -0
  523. package/dist/types/ts4.7/track/AutoResetController.d.ts +37 -12
  524. package/dist/types/ts4.7/track/SeekRange.d.ts +9 -0
  525. package/dist/types/ts4.7/track/TrackController.d.ts +2 -2
  526. package/dist/types/ts4.7/track/TrackFactory.d.ts +1 -1
  527. package/dist/types/ts4.7/track/createVinylTrackFactories.d.ts +5 -5
  528. package/dist/types/ts4.7/track/dash/DashManifestController.d.ts +1 -1
  529. package/dist/types/ts4.7/track/dash/DashTrack.d.ts +4 -4
  530. package/dist/types/ts4.7/track/dash/buildDashMediaTimeline.d.ts +2 -2
  531. package/dist/types/ts4.7/track/dash/createDashContentTypesValue.d.ts +2 -2
  532. package/dist/types/ts4.7/track/dash/createDashFactories.d.ts +12 -12
  533. package/dist/types/ts4.7/track/dash/createDashManifestProvider.d.ts +1 -1
  534. package/dist/types/ts4.7/track/dash/createDefaultDashManifestTransformer.d.ts +1 -1
  535. package/dist/types/ts4.7/track/dash/manifestTransformUtils.d.ts +1 -1
  536. package/dist/types/ts4.7/track/dash/timeline/DashRepresentationSegmentProvider.d.ts +3 -3
  537. package/dist/types/ts4.7/track/dash/urlDashManifestProvider.d.ts +1 -1
  538. package/dist/types/ts4.7/track/dash/util/mpd.d.ts +3 -2
  539. package/dist/types/ts4.7/track/hls/HlsManifestData.d.ts +19 -0
  540. package/dist/types/ts4.7/track/hls/buildHlsMediaTimeline.d.ts +3 -3
  541. package/dist/types/ts4.7/track/hls/createDefaultHlsManifestTransformer.d.ts +1 -1
  542. package/dist/types/ts4.7/track/hls/createHlsManifestProvider.d.ts +6 -0
  543. package/dist/types/ts4.7/track/hls/util/hlsSegmentTime.d.ts +1 -1
  544. package/dist/types/ts4.7/track/inferLoadOptionsFromUri.d.ts +15 -0
  545. package/dist/types/ts4.7/track/mse/MseTrack.d.ts +2 -2
  546. package/dist/types/ts4.7/track/source/FixedPlaybackQuality.d.ts +1 -1
  547. package/dist/types/ts4.7/track/source/SourceObjectTrack.d.ts +4 -4
  548. package/dist/types/ts4.7/track/source/SourceTrack.d.ts +4 -4
  549. package/dist/types/ts4.7/track/source/SourceTrackBase.d.ts +2 -2
  550. package/dist/types/ts4.7/util/media/codecOverrides.d.ts +33 -0
  551. package/dist/types/ts4.7/util/media/codecSupport.d.ts +6 -0
  552. package/dist/types/ts4.7/util/media/mimeType.d.ts +8 -0
  553. package/dist/types/ts4.7/vinyl/VinylDeps.d.ts +1 -1
  554. package/dist/types/ts4.7/vinyl/VinylPlayer.d.ts +26 -2
  555. package/dist/types/ts4.7/vinyl/createVinylFactories.d.ts +9 -11
  556. package/dist/unit/types/current/ad/AdController.test.d.ts +2 -0
  557. package/dist/unit/types/current/ad/AdController.test.d.ts.map +1 -0
  558. package/dist/unit/types/current/ad/AdController.test.js +10 -0
  559. package/dist/unit/types/current/ad/AdControllerImpl.test.d.ts +2 -0
  560. package/dist/unit/types/current/ad/AdControllerImpl.test.d.ts.map +1 -0
  561. package/dist/unit/types/current/ad/AdControllerImpl.test.js +1456 -0
  562. package/dist/unit/types/current/ad/defaultAdLoadOptionsResolver.test.d.ts +2 -0
  563. package/dist/unit/types/current/ad/defaultAdLoadOptionsResolver.test.d.ts.map +1 -0
  564. package/dist/unit/types/current/ad/defaultAdLoadOptionsResolver.test.js +56 -0
  565. package/dist/unit/types/current/ad/discoverHlsInterstitials.test.d.ts +2 -0
  566. package/dist/unit/types/current/ad/discoverHlsInterstitials.test.d.ts.map +1 -0
  567. package/dist/unit/types/current/ad/discoverHlsInterstitials.test.js +756 -0
  568. package/dist/unit/types/current/drm/DrmControllerImpl.test.js +66 -1
  569. package/dist/unit/types/current/streaming/ManifestControllerImpl.test.d.ts +2 -0
  570. package/dist/unit/types/current/streaming/ManifestControllerImpl.test.d.ts.map +1 -0
  571. package/dist/unit/types/current/streaming/ManifestControllerImpl.test.js +197 -0
  572. package/dist/unit/types/current/streaming/MediaTimeline.test.js +6 -1
  573. package/dist/unit/types/current/streaming/MseTrack.test.js +4 -0
  574. package/dist/unit/types/current/streaming/SegmentControllerImpl.test.js +3 -33
  575. package/dist/unit/types/current/streaming/abr/QualitySelectorImpl.test.js +73 -0
  576. package/dist/unit/types/current/streaming/buffering/BufferingController.test.js +1 -41
  577. package/dist/unit/types/current/streaming/buffering/MediaSourceController.test.js +97 -17
  578. package/dist/unit/types/current/streaming/buffering/codecDenylist.test.d.ts +2 -0
  579. package/dist/unit/types/current/streaming/buffering/codecDenylist.test.d.ts.map +1 -0
  580. package/dist/unit/types/current/streaming/buffering/codecDenylist.test.js +56 -0
  581. package/dist/unit/types/current/streaming/createAllowedContentTypesValue.test.d.ts +2 -0
  582. package/dist/unit/types/current/streaming/createAllowedContentTypesValue.test.d.ts.map +1 -0
  583. package/dist/unit/types/current/streaming/createAllowedContentTypesValue.test.js +77 -0
  584. package/dist/unit/types/current/streaming/createDefaultMediaTimelineTransformer.test.js +6 -0
  585. package/dist/unit/types/current/streaming/mediaTimelineAccessibilityFilter.test.d.ts +2 -0
  586. package/dist/unit/types/current/streaming/mediaTimelineAccessibilityFilter.test.d.ts.map +1 -0
  587. package/dist/unit/types/current/streaming/mediaTimelineAccessibilityFilter.test.js +99 -0
  588. package/dist/unit/types/current/streaming/mediaTimelineFilter.test.js +2 -0
  589. package/dist/unit/types/current/streaming/mediaTimelineLanguageFilter.test.js +7 -0
  590. package/dist/unit/types/current/text/HtmlTextTrackRenderer.test.d.ts +2 -0
  591. package/dist/unit/types/current/text/HtmlTextTrackRenderer.test.d.ts.map +1 -0
  592. package/dist/unit/types/current/text/HtmlTextTrackRenderer.test.js +231 -0
  593. package/dist/unit/types/current/text/SidecarTextTrackController.test.d.ts +2 -0
  594. package/dist/unit/types/current/text/SidecarTextTrackController.test.d.ts.map +1 -0
  595. package/dist/unit/types/current/text/SidecarTextTrackController.test.js +686 -0
  596. package/dist/unit/types/current/text/SidecarTextTrackLoader.test.d.ts +2 -0
  597. package/dist/unit/types/current/text/SidecarTextTrackLoader.test.d.ts.map +1 -0
  598. package/dist/unit/types/current/text/SidecarTextTrackLoader.test.js +365 -0
  599. package/dist/unit/types/current/text/VttCueStyle.test.d.ts +2 -0
  600. package/dist/unit/types/current/text/VttCueStyle.test.d.ts.map +1 -0
  601. package/dist/unit/types/current/text/VttCueStyle.test.js +76 -0
  602. package/dist/unit/types/current/text/discoverDashTextTracks.test.d.ts +2 -0
  603. package/dist/unit/types/current/text/discoverDashTextTracks.test.d.ts.map +1 -0
  604. package/dist/unit/types/current/text/discoverDashTextTracks.test.js +199 -0
  605. package/dist/unit/types/current/text/discoverHlsTextTracks.test.d.ts +2 -0
  606. package/dist/unit/types/current/text/discoverHlsTextTracks.test.d.ts.map +1 -0
  607. package/dist/unit/types/current/text/discoverHlsTextTracks.test.js +177 -0
  608. package/dist/unit/types/current/text/mediaTextTrackProvider.test.d.ts +2 -0
  609. package/dist/unit/types/current/text/mediaTextTrackProvider.test.d.ts.map +1 -0
  610. package/dist/unit/types/current/text/mediaTextTrackProvider.test.js +86 -0
  611. package/dist/unit/types/current/text/parseWebVtt.test.d.ts +2 -0
  612. package/dist/unit/types/current/text/parseWebVtt.test.d.ts.map +1 -0
  613. package/dist/unit/types/current/text/parseWebVtt.test.js +393 -0
  614. package/dist/unit/types/current/text/pickPreferredTextTrack.test.d.ts +2 -0
  615. package/dist/unit/types/current/text/pickPreferredTextTrack.test.d.ts.map +1 -0
  616. package/dist/unit/types/current/text/pickPreferredTextTrack.test.js +78 -0
  617. package/dist/unit/types/current/track/AutoResetController.test.js +134 -22
  618. package/dist/unit/types/current/track/dash/createDashContentStreamFactories.test.js +5 -1
  619. package/dist/unit/types/current/track/dash/createSegmentControllerFactory.test.js +5 -1
  620. package/dist/unit/types/current/track/dash/util/mpd.test.js +29 -0
  621. package/dist/unit/types/current/track/hls/buildHlsMediaTimeline.test.js +16 -8
  622. package/dist/unit/types/current/track/hls/createHlsContentStreamFactories.test.js +5 -1
  623. package/dist/unit/types/current/track/inferLoadOptionsFromUri.test.d.ts +2 -0
  624. package/dist/unit/types/current/track/inferLoadOptionsFromUri.test.d.ts.map +1 -0
  625. package/dist/unit/types/current/track/inferLoadOptionsFromUri.test.js +165 -0
  626. package/dist/unit/types/current/tsconfig.tsbuildinfo +1 -1
  627. package/dist/unit/types/current/util/media/codecOverrides.test.d.ts +2 -0
  628. package/dist/unit/types/current/util/media/codecOverrides.test.d.ts.map +1 -0
  629. package/dist/unit/types/current/util/media/codecOverrides.test.js +42 -0
  630. package/dist/unit/types/current/util/media/codecSupport.test.d.ts +2 -0
  631. package/dist/unit/types/current/util/media/codecSupport.test.d.ts.map +1 -0
  632. package/dist/unit/types/current/util/media/codecSupport.test.js +26 -0
  633. package/dist/unit/types/current/util/media/mimeType.test.d.ts +2 -0
  634. package/dist/unit/types/current/util/media/mimeType.test.d.ts.map +1 -0
  635. package/dist/unit/types/current/util/media/mimeType.test.js +22 -0
  636. package/dist/unit/types/current/vinyl/VinylPlayer.test.js +35 -0
  637. package/dist/unit/types/current/vinyl/VinylPlayerAdBreaks.test.d.ts +2 -0
  638. package/dist/unit/types/current/vinyl/VinylPlayerAdBreaks.test.d.ts.map +1 -0
  639. package/dist/unit/types/current/vinyl/VinylPlayerAdBreaks.test.js +142 -0
  640. package/dist/unit/types/current/vinyl/VinylPlayerTextTracks.test.d.ts +2 -0
  641. package/dist/unit/types/current/vinyl/VinylPlayerTextTracks.test.d.ts.map +1 -0
  642. package/dist/unit/types/current/vinyl/VinylPlayerTextTracks.test.js +188 -0
  643. package/dist/vinylTestUtil/index.js +20 -14
  644. package/dist/vinylTestUtil/index.js.map +2 -2
  645. package/dist/vinylTestUtil/types/current/media/FrequencyAnalyzer.js +1 -1
  646. package/dist/vinylTestUtil/types/current/mediaSource/ControlledMediaSource.d.ts.map +1 -1
  647. package/dist/vinylTestUtil/types/current/mock/ad/MockAdController.d.ts +15 -0
  648. package/dist/vinylTestUtil/types/current/mock/ad/MockAdController.d.ts.map +1 -0
  649. package/dist/vinylTestUtil/types/current/mock/ad/MockAdController.js +26 -0
  650. package/dist/vinylTestUtil/types/current/mock/dash/mockDashManifest.d.ts +72 -72
  651. package/dist/vinylTestUtil/types/current/mock/dom/ms/MockMSMediaKeySession.d.ts +2 -2
  652. package/dist/vinylTestUtil/types/current/mock/dom/webkit/MockWebKitMediaKeySession.d.ts +2 -2
  653. package/dist/vinylTestUtil/types/current/mock/player/MockVinylPlayerDependencies.d.ts +6 -6
  654. package/dist/vinylTestUtil/types/current/mock/player/MockVinylPlayerDependencies.d.ts.map +1 -1
  655. package/dist/vinylTestUtil/types/current/mock/player/MockVinylPlayerDependencies.js +7 -7
  656. package/dist/vinylTestUtil/types/current/mock/streaming/MockSegmentController.d.ts +0 -1
  657. package/dist/vinylTestUtil/types/current/mock/streaming/MockSegmentController.d.ts.map +1 -1
  658. package/dist/vinylTestUtil/types/current/mock/streaming/MockSegmentController.js +0 -1
  659. package/dist/vinylTestUtil/types/current/mock/streaming/buffering/MockMediaSourceController.d.ts +0 -1
  660. package/dist/vinylTestUtil/types/current/mock/streaming/buffering/MockMediaSourceController.d.ts.map +1 -1
  661. package/dist/vinylTestUtil/types/current/mock/streaming/buffering/MockMediaSourceController.js +0 -1
  662. package/dist/vinylTestUtil/types/current/mock/text/MockTextTrackController.d.ts +10 -0
  663. package/dist/vinylTestUtil/types/current/mock/text/MockTextTrackController.d.ts.map +1 -0
  664. package/dist/vinylTestUtil/types/current/mock/text/MockTextTrackController.js +14 -0
  665. package/dist/vinylTestUtil/types/current/mock/track/MockAutoResetController.d.ts +1 -0
  666. package/dist/vinylTestUtil/types/current/mock/track/MockAutoResetController.d.ts.map +1 -1
  667. package/dist/vinylTestUtil/types/current/mock/track/MockAutoResetController.js +1 -0
  668. package/dist/vinylTestUtil/types/current/mock/track/dash/createMockDashDependencies.d.ts +5 -5
  669. package/dist/vinylTestUtil/types/current/mock/track/dash/createMockDashDependencies.d.ts.map +1 -1
  670. package/dist/vinylTestUtil/types/current/mock/track/dash/createMockDashDependencies.js +11 -7
  671. package/dist/vinylTestUtil/types/current/mock/track/hls/createMockHlsDependencies.d.ts +5 -5
  672. package/dist/vinylTestUtil/types/current/mock/track/hls/createMockHlsDependencies.d.ts.map +1 -1
  673. package/dist/vinylTestUtil/types/current/mock/track/hls/createMockHlsDependencies.js +11 -7
  674. package/dist/vinylTestUtil/types/current/player/createVinylSuite.js +1 -1
  675. package/dist/vinylTestUtil/types/current/tsconfig.tsbuildinfo +1 -1
  676. package/dist/vinylTestUtil/types/current/util/playback/expectTrackCanSeek.js +1 -1
  677. package/dist/vinylTestUtil/types/current/util/playback/expectTrackPlays.js +2 -2
  678. package/dist/vinylTestUtil/types/current/util/playback/expectTrackPlaysUntil.d.ts.map +1 -1
  679. package/dist/vinylTestUtil/types/current/util/playback/expectTrackPlaysUntil.js +1 -2
  680. package/dist/vinylTestUtil/types/ts3.7/mock/ad/MockAdController.d.ts +15 -0
  681. package/dist/vinylTestUtil/types/ts3.7/mock/dash/mockDashManifest.d.ts +72 -72
  682. package/dist/vinylTestUtil/types/ts3.7/mock/dom/ms/MockMSMediaKeySession.d.ts +2 -2
  683. package/dist/vinylTestUtil/types/ts3.7/mock/dom/webkit/MockWebKitMediaKeySession.d.ts +2 -2
  684. package/dist/vinylTestUtil/types/ts3.7/mock/player/MockVinylPlayerDependencies.d.ts +6 -6
  685. package/dist/vinylTestUtil/types/ts3.7/mock/streaming/MockSegmentController.d.ts +0 -1
  686. package/dist/vinylTestUtil/types/ts3.7/mock/streaming/buffering/MockMediaSourceController.d.ts +0 -1
  687. package/dist/vinylTestUtil/types/ts3.7/mock/text/MockTextTrackController.d.ts +10 -0
  688. package/dist/vinylTestUtil/types/ts3.7/mock/track/MockAutoResetController.d.ts +1 -0
  689. package/dist/vinylTestUtil/types/ts3.7/mock/track/dash/createMockDashDependencies.d.ts +5 -5
  690. package/dist/vinylTestUtil/types/ts3.7/mock/track/hls/createMockHlsDependencies.d.ts +5 -5
  691. package/dist/vinylTestUtil/types/ts4.1/mock/ad/MockAdController.d.ts +15 -0
  692. package/dist/vinylTestUtil/types/ts4.1/mock/dash/mockDashManifest.d.ts +72 -72
  693. package/dist/vinylTestUtil/types/ts4.1/mock/dom/ms/MockMSMediaKeySession.d.ts +2 -2
  694. package/dist/vinylTestUtil/types/ts4.1/mock/dom/webkit/MockWebKitMediaKeySession.d.ts +2 -2
  695. package/dist/vinylTestUtil/types/ts4.1/mock/player/MockVinylPlayerDependencies.d.ts +6 -6
  696. package/dist/vinylTestUtil/types/ts4.1/mock/streaming/MockSegmentController.d.ts +0 -1
  697. package/dist/vinylTestUtil/types/ts4.1/mock/streaming/buffering/MockMediaSourceController.d.ts +0 -1
  698. package/dist/vinylTestUtil/types/ts4.1/mock/text/MockTextTrackController.d.ts +10 -0
  699. package/dist/vinylTestUtil/types/ts4.1/mock/track/MockAutoResetController.d.ts +1 -0
  700. package/dist/vinylTestUtil/types/ts4.1/mock/track/dash/createMockDashDependencies.d.ts +5 -5
  701. package/dist/vinylTestUtil/types/ts4.1/mock/track/hls/createMockHlsDependencies.d.ts +5 -5
  702. package/dist/vinylTestUtil/types/ts4.7/mock/ad/MockAdController.d.ts +15 -0
  703. package/dist/vinylTestUtil/types/ts4.7/mock/dash/mockDashManifest.d.ts +72 -72
  704. package/dist/vinylTestUtil/types/ts4.7/mock/dom/ms/MockMSMediaKeySession.d.ts +2 -2
  705. package/dist/vinylTestUtil/types/ts4.7/mock/dom/webkit/MockWebKitMediaKeySession.d.ts +2 -2
  706. package/dist/vinylTestUtil/types/ts4.7/mock/player/MockVinylPlayerDependencies.d.ts +6 -6
  707. package/dist/vinylTestUtil/types/ts4.7/mock/streaming/MockSegmentController.d.ts +0 -1
  708. package/dist/vinylTestUtil/types/ts4.7/mock/streaming/buffering/MockMediaSourceController.d.ts +0 -1
  709. package/dist/vinylTestUtil/types/ts4.7/mock/text/MockTextTrackController.d.ts +10 -0
  710. package/dist/vinylTestUtil/types/ts4.7/mock/track/MockAutoResetController.d.ts +1 -0
  711. package/dist/vinylTestUtil/types/ts4.7/mock/track/dash/createMockDashDependencies.d.ts +5 -5
  712. package/dist/vinylTestUtil/types/ts4.7/mock/track/hls/createMockHlsDependencies.d.ts +5 -5
  713. package/docs/USAGE.md +33 -0
  714. package/package.json +13 -16
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=codecOverrides.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codecOverrides.test.d.ts","sourceRoot":"","sources":["../../../../../../test/unit/util/media/codecOverrides.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,42 @@
1
+ /*
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ import { resolveCodecOverride } from '@amazon/vinyl';
6
+ describe('codecOverrides', () => {
7
+ describe('resolveCodecOverride', () => {
8
+ it('returns undefined when overrides are undefined', () => {
9
+ expect(resolveCodecOverride('video/mp4; codecs="hvc1.1"', undefined)).toBeUndefined();
10
+ });
11
+ it('returns undefined when overrides are empty', () => {
12
+ expect(resolveCodecOverride('video/mp4; codecs="hvc1.1"', {})).toBeUndefined();
13
+ });
14
+ it('returns undefined when no key matches', () => {
15
+ expect(resolveCodecOverride('video/mp4; codecs="avc1.64001f"', {
16
+ hvc1: 'deny',
17
+ })).toBeUndefined();
18
+ });
19
+ it('matches a codec by prefix', () => {
20
+ expect(resolveCodecOverride('video/mp4; codecs="hvc1.2.20000000.L123.B0"', { hvc1: 'deny' })).toBe('deny');
21
+ });
22
+ it('resolves an allow', () => {
23
+ expect(resolveCodecOverride('video/mp4; codecs="av01.0.05M.08"', {
24
+ av01: 'allow',
25
+ })).toBe('allow');
26
+ });
27
+ it('is case-insensitive on the key', () => {
28
+ expect(resolveCodecOverride('video/mp4; codecs="HVC1.1"', {
29
+ hvc1: 'deny',
30
+ })).toBe('deny');
31
+ });
32
+ it('deny wins over allow across multiple codecs', () => {
33
+ expect(resolveCodecOverride('video/mp4; codecs="hvc1.1,mp4a.40.2"', {
34
+ mp4a: 'allow',
35
+ hvc1: 'deny',
36
+ })).toBe('deny');
37
+ });
38
+ it('returns undefined when the mimeType has no codecs', () => {
39
+ expect(resolveCodecOverride('video/mp4', { hvc1: 'deny' })).toBeUndefined();
40
+ });
41
+ });
42
+ });
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=codecSupport.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codecSupport.test.d.ts","sourceRoot":"","sources":["../../../../../../test/unit/util/media/codecSupport.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,26 @@
1
+ /*
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ import { extractCodecs } from '@amazon/vinyl';
6
+ describe('codecSupport', () => {
7
+ describe('extractCodecs', () => {
8
+ it('extracts a single codec from a mimeType', () => {
9
+ expect(extractCodecs('video/mp4; codecs="avc1.64001f"')).toEqual([
10
+ 'avc1.64001f',
11
+ ]);
12
+ });
13
+ it('extracts multiple comma-separated codecs', () => {
14
+ expect(extractCodecs('video/mp4; codecs="avc1.64001f,mp4a.40.2"')).toEqual(['avc1.64001f', 'mp4a.40.2']);
15
+ });
16
+ it('handles unquoted codecs', () => {
17
+ expect(extractCodecs('audio/mp4; codecs=ac-3')).toEqual(['ac-3']);
18
+ });
19
+ it('returns empty when no codecs parameter is present', () => {
20
+ expect(extractCodecs('video/mp4')).toEqual([]);
21
+ });
22
+ it('trims whitespace around codecs', () => {
23
+ expect(extractCodecs('video/mp4; codecs="hvc1.1 , mp4a.40.2"')).toEqual(['hvc1.1', 'mp4a.40.2']);
24
+ });
25
+ });
26
+ });
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=mimeType.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mimeType.test.d.ts","sourceRoot":"","sources":["../../../../../../test/unit/util/media/mimeType.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,22 @@
1
+ /*
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ import { mimeSubtype } from '@amazon/vinyl';
6
+ describe('mimeSubtype', () => {
7
+ it('returns the subtype after the slash', () => {
8
+ expect(mimeSubtype('audio/mp4')).toBe('mp4');
9
+ expect(mimeSubtype('video/webm')).toBe('webm');
10
+ });
11
+ it('ignores codec and other parameters', () => {
12
+ expect(mimeSubtype('video/webm; codecs="vp9"')).toBe('webm');
13
+ expect(mimeSubtype('audio/mp4;codecs="mp4a.40.2"')).toBe('mp4');
14
+ });
15
+ it('lowercases and trims', () => {
16
+ expect(mimeSubtype(' VIDEO/MP4 ; codecs="avc1"')).toBe('mp4');
17
+ });
18
+ it('returns an empty string when there is no subtype', () => {
19
+ expect(mimeSubtype('video')).toBe('');
20
+ expect(mimeSubtype('')).toBe('');
21
+ });
22
+ });
@@ -594,6 +594,41 @@ describe('VinylPlayer', () => {
594
594
  expect(deps.playbackController.reset).toHaveBeenCalledOnceWith();
595
595
  expect(deps.trackController.reset).toHaveBeenCalledOnceWith();
596
596
  });
597
+ it('clears auto reset controller on reset', () => {
598
+ const error = new DrmError('test error');
599
+ player.dispatch('error', { target: player, error });
600
+ player.reset();
601
+ expect(deps.autoResetController.clear).toHaveBeenCalledOnceWith();
602
+ });
603
+ describe('resetPending', () => {
604
+ it('delegates to the auto reset controller', () => {
605
+ expect(player.resetPending).toBeFalse();
606
+ deps.autoResetController.resetPending = true;
607
+ expect(player.resetPending).toBeTrue();
608
+ });
609
+ });
610
+ describe('resetPendingChange event', () => {
611
+ it('re-dispatches resetPendingChange events from the auto reset controller', () => {
612
+ const spy = createEventSpy(player, 'resetPendingChange');
613
+ deps.autoResetController.dispatch('resetPendingChange', {
614
+ previous: false,
615
+ current: true,
616
+ });
617
+ expect(spy).toHaveBeenCalledOnceWith({
618
+ previous: false,
619
+ current: true,
620
+ });
621
+ spy.calls.reset();
622
+ deps.autoResetController.dispatch('resetPendingChange', {
623
+ previous: true,
624
+ current: false,
625
+ });
626
+ expect(spy).toHaveBeenCalledOnceWith({
627
+ previous: true,
628
+ current: false,
629
+ });
630
+ });
631
+ });
597
632
  });
598
633
  describe('when drmController emits error event', () => {
599
634
  it('re-dispatches the error event', () => {
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=VinylPlayerAdBreaks.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VinylPlayerAdBreaks.test.d.ts","sourceRoot":"","sources":["../../../../../test/unit/vinyl/VinylPlayerAdBreaks.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,142 @@
1
+ /*
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ import { AdControllerImpl, createVinylPlayer, } from '@amazon/vinyl';
6
+ import { externalDependencies } from '@amazon/vinyl-di';
7
+ import { createMockVinylDependencies, MockTrack, } from '@amazon/vinyl/vinylTestUtil';
8
+ import { MockHTMLAudioElement } from '@amazon/vinyl-util/browserTestUtil';
9
+ import { createEventSpy } from '@amazon/vinyl-util/testUtil';
10
+ describe('VinylPlayer ad break API', () => {
11
+ let adController;
12
+ let base;
13
+ let depFactories;
14
+ let player;
15
+ beforeEach(() => {
16
+ base = createMockVinylDependencies();
17
+ // Use a real ad controller so setTrackAds drives state and events that the
18
+ // player getters and redispatch reflect.
19
+ adController = new AdControllerImpl({
20
+ playbackController: base.playbackController,
21
+ });
22
+ depFactories = externalDependencies({ ...base, adController });
23
+ player = createVinylPlayer({ media: new MockHTMLAudioElement() }, depFactories);
24
+ });
25
+ afterEach(() => {
26
+ player.dispose();
27
+ });
28
+ function makeBreak(overrides = {}) {
29
+ return {
30
+ id: 'b1',
31
+ startTime: 10,
32
+ duration: 5,
33
+ placement: 'midroll',
34
+ restrict: {},
35
+ once: false,
36
+ resumeOffset: null,
37
+ playoutLimit: null,
38
+ resolutionTimeOffset: null,
39
+ skipControl: () => null,
40
+ ads: () => Promise.resolve([
41
+ {
42
+ id: 'a1',
43
+ startTime: 10,
44
+ duration: 5,
45
+ uri: 'ad.m3u8',
46
+ },
47
+ ]),
48
+ ...overrides,
49
+ };
50
+ }
51
+ function trackAds(...adBreaks) {
52
+ return { trackUri: 't1', adBreaks };
53
+ }
54
+ function simulateTimeUpdate(time) {
55
+ base.playbackController.currentTime = time;
56
+ base.playbackController.dispatch('timeUpdate', {
57
+ previous: 0,
58
+ current: time,
59
+ });
60
+ }
61
+ /** Waits for pending microtasks (ad resolution) to settle. */
62
+ async function flush() {
63
+ await Promise.resolve();
64
+ await Promise.resolve();
65
+ }
66
+ /**
67
+ * Activates a content parent track whose getAds() resolves the given ads
68
+ * and marks playback playing — the state the ad controller requires before
69
+ * it scans for midroll ingress. Awaits the async ad resolution.
70
+ */
71
+ async function setContent(ads) {
72
+ const track = new MockTrack();
73
+ track.uri = ads.trackUri;
74
+ track.active = true;
75
+ track.ads = ads;
76
+ base.playbackController.playing = true;
77
+ adController.setAdsProvider(track);
78
+ await flush();
79
+ }
80
+ it('returns empty defaults when no ad breaks are set', () => {
81
+ expect(player.currentTrackAds).toBeNull();
82
+ expect(player.currentAdBreak).toBeNull();
83
+ });
84
+ it('returns ad breaks from the player-level ad controller', async () => {
85
+ await setContent(trackAds(makeBreak()));
86
+ expect(player.currentTrackAds?.adBreaks.map((b) => b.id)).toEqual([
87
+ 'b1',
88
+ ]);
89
+ });
90
+ it('redispatches currentTrackAdsChange from the ad controller', async () => {
91
+ const spy = createEventSpy(player, 'currentTrackAdsChange');
92
+ await setContent(trackAds(makeBreak()));
93
+ expect(spy).toHaveBeenCalled();
94
+ });
95
+ it('redispatches adBreakEntered and adBreakCompleted from the ad controller', async () => {
96
+ await setContent(trackAds(makeBreak({ startTime: 10, duration: 5 })));
97
+ const entered = createEventSpy(player, 'adBreakEntered');
98
+ const completed = createEventSpy(player, 'adBreakCompleted');
99
+ simulateTimeUpdate(11);
100
+ await flush();
101
+ expect(entered).toHaveBeenCalledTimes(1);
102
+ expect(entered.calls.mostRecent().args[0].adBreak.id).toBe('b1');
103
+ // Exit via skipAd (updateTime is blocked while an ad is active)
104
+ player.skipAd();
105
+ expect(completed).toHaveBeenCalledTimes(1);
106
+ expect(completed.calls.mostRecent().args[0].adBreak.id).toBe('b1');
107
+ });
108
+ it('reflects the current ad break through the player getter', async () => {
109
+ await setContent(trackAds(makeBreak({ startTime: 0, duration: 10 })));
110
+ simulateTimeUpdate(5);
111
+ await flush();
112
+ expect(player.currentAdBreak?.id).toBe('b1');
113
+ });
114
+ it('reflects the current ad through the player getter', async () => {
115
+ await setContent(trackAds(makeBreak({ startTime: 0, duration: 10 })));
116
+ expect(player.currentAd).toBeNull();
117
+ simulateTimeUpdate(5);
118
+ await flush();
119
+ expect(player.currentAd?.id).toBe('a1');
120
+ });
121
+ it('skipAd delegates to the ad controller', async () => {
122
+ await setContent(trackAds(makeBreak({ startTime: 0, duration: 10 })));
123
+ simulateTimeUpdate(5);
124
+ await flush();
125
+ expect(player.currentAdBreak).not.toBeNull();
126
+ player.skipAd();
127
+ expect(player.currentAdBreak).toBeNull();
128
+ });
129
+ it('skipAdBreak delegates to the ad controller', async () => {
130
+ await setContent(trackAds(makeBreak({ startTime: 0, duration: 10 })));
131
+ simulateTimeUpdate(5);
132
+ await flush();
133
+ player.skipAdBreak();
134
+ expect(player.currentAdBreak).toBeNull();
135
+ });
136
+ it('skipAd is a no-op without an active break', () => {
137
+ expect(() => player.skipAd()).not.toThrow();
138
+ });
139
+ it('skipAdBreak is a no-op without an active break', () => {
140
+ expect(() => player.skipAdBreak()).not.toThrow();
141
+ });
142
+ });
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=VinylPlayerTextTracks.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VinylPlayerTextTracks.test.d.ts","sourceRoot":"","sources":["../../../../../test/unit/vinyl/VinylPlayerTextTracks.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,188 @@
1
+ /*
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ import { createVinylPlayer, } from '@amazon/vinyl';
6
+ import { externalDependencies } from '@amazon/vinyl-di';
7
+ import { createMockVinylDependencies, MockTextTrackController, MockTrack, } from '@amazon/vinyl/vinylTestUtil';
8
+ import { MockHTMLAudioElement } from '@amazon/vinyl-util/browserTestUtil';
9
+ import { createEventSpy } from '@amazon/vinyl-util/testUtil';
10
+ /**
11
+ * These tests cover the player's read-through getters and event redispatch
12
+ * across track changes. Selection itself is declarative (driven by
13
+ * `VinylOptions.text`), so the tests drive a {@link MockTextTrackController}'s
14
+ * state and events directly rather than calling any imperative select API.
15
+ */
16
+ describe('VinylPlayer text track API', () => {
17
+ let deps;
18
+ let depFactories;
19
+ let player;
20
+ beforeEach(() => {
21
+ deps = createMockVinylDependencies();
22
+ depFactories = externalDependencies(deps);
23
+ player = createVinylPlayer({ media: new MockHTMLAudioElement() }, depFactories);
24
+ });
25
+ afterEach(() => {
26
+ player.dispose();
27
+ });
28
+ function info(overrides = {}) {
29
+ return {
30
+ id: 't1',
31
+ kind: 'subtitles',
32
+ language: 'en',
33
+ label: 'A',
34
+ default: false,
35
+ forced: false,
36
+ characteristics: [],
37
+ uri: 'a.vtt',
38
+ mimeType: 'text/vtt',
39
+ ...overrides,
40
+ };
41
+ }
42
+ function makeTrackWithController() {
43
+ const track = new MockTrack();
44
+ const controller = new MockTextTrackController();
45
+ track.textTrackController = controller;
46
+ return { track, controller };
47
+ }
48
+ /** Sets the controller's track list and emits the change (as the real one does). */
49
+ function setTracks(controller, tracks) {
50
+ const previous = controller.textTracks;
51
+ controller.textTracks = tracks;
52
+ controller.dispatch('textTracksChange', { previous, current: tracks });
53
+ }
54
+ /** Sets the controller's active selection and emits the change. */
55
+ function setActive(controller, current) {
56
+ const previous = controller.activeTextTrack;
57
+ controller.activeTextTrack = current;
58
+ controller.dispatch('activeTextTrackChange', { previous, current });
59
+ }
60
+ function activate(track) {
61
+ deps.trackController.activeTrack = track;
62
+ deps.trackController.dispatch('trackActivated', { track });
63
+ }
64
+ it('returns empty defaults when no current track', () => {
65
+ expect(player.textTracks).toEqual([]);
66
+ expect(player.activeTextTrack).toBeNull();
67
+ });
68
+ it('returns text tracks from the current track', () => {
69
+ const { track, controller } = makeTrackWithController();
70
+ controller.textTracks = [info()];
71
+ activate(track);
72
+ expect(player.textTracks.length).toBe(1);
73
+ });
74
+ it('reflects the current track controller active selection', () => {
75
+ const { track, controller } = makeTrackWithController();
76
+ controller.textTracks = [info()];
77
+ activate(track);
78
+ setActive(controller, info());
79
+ expect(player.activeTextTrack?.id).toBe('t1');
80
+ setActive(controller, null);
81
+ expect(player.activeTextTrack).toBeNull();
82
+ });
83
+ it('reports null active when the current track has no controller', () => {
84
+ const track = new MockTrack();
85
+ activate(track);
86
+ expect(player.activeTextTrack).toBeNull();
87
+ });
88
+ it('redispatches textTracksChange events from the active controller', () => {
89
+ const { track, controller } = makeTrackWithController();
90
+ activate(track);
91
+ const spy = createEventSpy(player, 'textTracksChange');
92
+ setTracks(controller, [info({ language: null })]);
93
+ expect(spy).toHaveBeenCalled();
94
+ });
95
+ it('fires textTracksChange when switching to a track with a different list', () => {
96
+ const a = makeTrackWithController();
97
+ const b = makeTrackWithController();
98
+ setTracks(a.controller, [info({ id: 't1', language: 'en' })]);
99
+ setTracks(b.controller, [
100
+ info({ id: 't2', language: 'fr', label: 'B' }),
101
+ ]);
102
+ activate(a.track);
103
+ const spy = createEventSpy(player, 'textTracksChange');
104
+ activate(b.track);
105
+ expect(spy).toHaveBeenCalled();
106
+ });
107
+ it('fires activeTextTrackChange when switching tracks', () => {
108
+ const a = makeTrackWithController();
109
+ const b = makeTrackWithController();
110
+ setTracks(a.controller, [info({ id: 't1' })]);
111
+ setActive(a.controller, info({ id: 't1' }));
112
+ activate(a.track);
113
+ const spy = createEventSpy(player, 'activeTextTrackChange');
114
+ activate(b.track);
115
+ expect(spy).toHaveBeenCalled();
116
+ });
117
+ it('re-announces the content caption after an ad break so it does not read as off', () => {
118
+ // Regression: enabling captions during an ad and then letting content
119
+ // resume left consumers that track state via activeTextTrackChange
120
+ // believing captions were off, because the outgoing ad controller emits
121
+ // a clearing activeTextTrackChange(null) while the content's preserved
122
+ // (here forced) selection is restored silently on activate().
123
+ const content = makeTrackWithController();
124
+ const contentForced = info({
125
+ id: 'c-forced',
126
+ label: 'English (Forced)',
127
+ default: true,
128
+ forced: true,
129
+ uri: 'c.vtt',
130
+ });
131
+ setTracks(content.controller, [contentForced]);
132
+ setActive(content.controller, contentForced);
133
+ const ad = makeTrackWithController();
134
+ const adCc = info({ id: 'ad-cc', label: 'English', uri: 'ad.vtt' });
135
+ setTracks(ad.controller, [adCc]);
136
+ // Content becomes current.
137
+ activate(content.track);
138
+ // Enter the ad break: the content selection is preserved (deactivate
139
+ // keeps the selection) rather than cleared.
140
+ deps.adController.currentAdBreak = { placement: 'midroll' };
141
+ content.controller.deactivate();
142
+ activate(ad.track);
143
+ // Viewer enables the ad's captions during the break.
144
+ setActive(ad.controller, adCc);
145
+ expect(player.activeTextTrack?.id).toBe('ad-cc');
146
+ // Ad ends, content resumes.
147
+ deps.adController.currentAdBreak = null;
148
+ const spy = createEventSpy(player, 'activeTextTrackChange');
149
+ content.controller.activate();
150
+ activate(content.track);
151
+ // The player reports the content's forced caption as active again and,
152
+ // crucially, the last active-change event announces it — not the ad's
153
+ // clearing null.
154
+ expect(player.activeTextTrack?.id).toBe('c-forced');
155
+ expect(spy).toHaveBeenCalled();
156
+ const lastCurrent = spy.calls.mostRecent().args[0].current;
157
+ expect(lastCurrent?.id).toBe('c-forced');
158
+ });
159
+ it('announces empty tracks and null active when the track is torn down', () => {
160
+ // Real teardown (unload) transitions to null: the player must emit the
161
+ // cleared list/selection so consumers see captions go away.
162
+ const a = makeTrackWithController();
163
+ const t = info({ id: 't1' });
164
+ setTracks(a.controller, [t]);
165
+ setActive(a.controller, t);
166
+ activate(a.track);
167
+ const tracksSpy = createEventSpy(player, 'textTracksChange');
168
+ const activeSpy = createEventSpy(player, 'activeTextTrackChange');
169
+ // trackDeactivated with no ad break tears the current track down to null.
170
+ deps.trackController.activeTrack = null;
171
+ deps.trackController.dispatch('trackDeactivated', { track: a.track });
172
+ expect(tracksSpy).toHaveBeenCalled();
173
+ expect(tracksSpy.calls.mostRecent().args[0].current).toEqual([]);
174
+ expect(activeSpy).toHaveBeenCalled();
175
+ expect(activeSpy.calls.mostRecent().args[0].current).toBeNull();
176
+ expect(player.activeTextTrack).toBeNull();
177
+ });
178
+ it('does not emit activeTextTrackChange when neither track has an active selection', () => {
179
+ // Both tracks are text-capable but nothing is active — the current
180
+ // track change should not manufacture a spurious active-change event.
181
+ const a = makeTrackWithController();
182
+ const b = makeTrackWithController();
183
+ activate(a.track);
184
+ const spy = createEventSpy(player, 'activeTextTrackChange');
185
+ activate(b.track);
186
+ expect(spy).not.toHaveBeenCalled();
187
+ });
188
+ });
@@ -219,8 +219,8 @@ var defaultFrequencyAnalyzerOptions = {
219
219
  };
220
220
  var FrequencyAnalyzer = class {
221
221
  constructor(audioContext, source, options) {
222
- this.audioContext = audioContext;
223
- this.source = source;
222
+ __publicField(this, "audioContext", audioContext);
223
+ __publicField(this, "source", source);
224
224
  __publicField(this, "data");
225
225
  __publicField(this, "analyser");
226
226
  __publicField(this, "options");
@@ -347,7 +347,6 @@ var affordanceBefore = 1;
347
347
  var affordanceAfter = 3;
348
348
  async function expectTrackPlaysUntil(player, endTime, timeout = 10) {
349
349
  await onPlaying(player);
350
- await onCanPlayThrough(player);
351
350
  await onTimeUpdate(player);
352
351
  expect(player.currentTime).withContext("currentTime must be less than endTime").toBeLessThan(endTime);
353
352
  await assertFrequency();
@@ -392,7 +391,7 @@ async function expectTrackPlays(player) {
392
391
  async function expectPlaylistPlays(player, playlist) {
393
392
  var _a2;
394
393
  const { dispose, add } = createDisposer();
395
- const trackTimeout = PLAYBACK_DURATION + 30;
394
+ const trackTimeout = PLAYBACK_DURATION + 60;
396
395
  const queueEnded = add(createEventSpy(player, "queueEnded"));
397
396
  const queueChange = add(createEventSpy(player, "queueChange"));
398
397
  const trackChange = add(createEventSpy(player, "currentTrackChange"));
@@ -472,8 +471,8 @@ import {
472
471
  import { setTestTimeout } from "@amazon/vinyl-util/browserTestUtil";
473
472
  var VinylSuite = class {
474
473
  constructor(playerFactory, options) {
475
- this.playerFactory = playerFactory;
476
- this.options = options;
474
+ __publicField(this, "playerFactory", playerFactory);
475
+ __publicField(this, "options", options);
477
476
  __publicField(this, "logPrefix", createLogPrefix2(this));
478
477
  __publicField(this, "_player", null);
479
478
  __publicField(this, "visibilityChangeHandler", () => {
@@ -623,6 +622,7 @@ var MockAutoResetController = class extends MockEventHost3 {
623
622
  super(...arguments);
624
623
  __publicField(this, "setError", spyFactory3("setError"));
625
624
  __publicField(this, "clear", spyFactory3("clear"));
625
+ __publicField(this, "resetPending", false);
626
626
  }
627
627
  };
628
628
 
@@ -739,7 +739,6 @@ var spyFactory5 = createSpyFactory6();
739
739
  var MockMediaSourceController = class extends MockEventHost4 {
740
740
  constructor() {
741
741
  super(...arguments);
742
- __publicField(this, "duration", 0);
743
742
  __publicField(this, "readyState", "closed");
744
743
  __publicField(this, "createSourceBuffer", spyFactory5("createSourceBuffer"));
745
744
  __publicField(this, "endOfStream", spyFactory5("endOfStream"));
@@ -846,7 +845,11 @@ var MockDrmController = class extends MockEventHost7 {
846
845
  import { createSpyFactory as createSpyFactory11 } from "@amazon/vinyl-util/browserTestUtil";
847
846
  import { data as data2 } from "@amazon/vinyl-observable";
848
847
  var createSpy = jasmine.createSpy;
849
- var emptyTimeline = { periods: [], minBufferTime: 0 };
848
+ var emptyTimeline = {
849
+ periods: [],
850
+ minBufferTime: 0,
851
+ getDuration: () => Promise.resolve(Infinity)
852
+ };
850
853
  var spyFactory10 = createSpyFactory11();
851
854
  function createMockHlsDependencies() {
852
855
  const playbackController = new MockPlaybackController();
@@ -938,7 +941,11 @@ var MockDashManifestController = class {
938
941
  import { createSpyFactory as createSpyFactory13 } from "@amazon/vinyl-util/browserTestUtil";
939
942
  import { data as data4 } from "@amazon/vinyl-observable";
940
943
  var createSpy2 = jasmine.createSpy;
941
- var emptyTimeline2 = { periods: [], minBufferTime: 0 };
944
+ var emptyTimeline2 = {
945
+ periods: [],
946
+ minBufferTime: 0,
947
+ getDuration: () => Promise.resolve(Infinity)
948
+ };
942
949
  var spyFactory12 = createSpyFactory13();
943
950
  function createMockDashDependencies() {
944
951
  const playbackController = new MockPlaybackController();
@@ -976,7 +983,6 @@ var MockSegmentController = class extends MockEventHost8 {
976
983
  constructor() {
977
984
  super(...arguments);
978
985
  __publicField(this, "error", null);
979
- __publicField(this, "getDuration", spyFactory13("getDuration"));
980
986
  __publicField(this, "configure", spyFactory13("configure"));
981
987
  __publicField(this, "fetchedRanges", emptyRanges);
982
988
  __publicField(this, "activate", spyFactory13("activate"));
@@ -1124,7 +1130,7 @@ import { createSpyFactory as createSpyFactory22 } from "@amazon/vinyl-util/brows
1124
1130
  var spyFactory21 = createSpyFactory22();
1125
1131
  var MockCommonMediaKeySystemAccess = class {
1126
1132
  constructor(keySystem) {
1127
- this.keySystem = keySystem;
1133
+ __publicField(this, "keySystem", keySystem);
1128
1134
  __publicField(this, "createMediaKeys", spyFactory21("createMediaKeys"));
1129
1135
  }
1130
1136
  };
@@ -1172,7 +1178,7 @@ import { createSpyFactory as createSpyFactory25 } from "@amazon/vinyl-util/brows
1172
1178
  var spyFactory24 = createSpyFactory25();
1173
1179
  var MockWebKitMediaKeys = class {
1174
1180
  constructor(keySystem) {
1175
- this.keySystem = keySystem;
1181
+ __publicField(this, "keySystem", keySystem);
1176
1182
  __publicField(this, "createSession", spyFactory24("createSession"));
1177
1183
  }
1178
1184
  };
@@ -1233,7 +1239,7 @@ import { createSpyFactory as createSpyFactory27 } from "@amazon/vinyl-util/brows
1233
1239
  var spyFactory26 = createSpyFactory27();
1234
1240
  var MockMSMediaKeys = class {
1235
1241
  constructor(keySystem) {
1236
- this.keySystem = keySystem;
1242
+ __publicField(this, "keySystem", keySystem);
1237
1243
  __publicField(this, "createSession", spyFactory26("createSession"));
1238
1244
  }
1239
1245
  };
@@ -1306,7 +1312,7 @@ import {
1306
1312
  var mimeCodec = 'audio/mp4;codecs="mp4a.40.5"';
1307
1313
  var ControlledMediaSource = class {
1308
1314
  constructor(sourceAsset = vinylTestAssets.segmentedStreaming.aac_60s_2ch_16bit_44100Hz_48kbps) {
1309
- this.sourceAsset = sourceAsset;
1315
+ __publicField(this, "sourceAsset", sourceAsset);
1310
1316
  __publicField(this, "length");
1311
1317
  __publicField(this, "_currentIndex", 0);
1312
1318
  __publicField(this, "mediaSource", createMediaSource());