@amazon/vinyl 1.2.0 → 2.0.4

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 (653) hide show
  1. package/dist/index.cjs +9225 -6633
  2. package/dist/index.cjs.map +4 -4
  3. package/dist/index.js +9080 -6435
  4. package/dist/index.js.map +4 -4
  5. package/dist/test/benchmark.es5.js +266 -253
  6. package/dist/test/benchmark.js +3256 -3190
  7. package/dist/test/benchmark.js.map +4 -4
  8. package/dist/test/integ.es5.js +1404 -1093
  9. package/dist/test/integ.js +45924 -33873
  10. package/dist/test/integ.js.map +4 -4
  11. package/dist/types/current/ad/AdBreakInfo.d.ts +160 -0
  12. package/dist/types/current/ad/AdBreakInfo.d.ts.map +1 -0
  13. package/dist/types/current/ad/AdController.d.ts +229 -0
  14. package/dist/types/current/ad/AdController.d.ts.map +1 -0
  15. package/dist/types/current/ad/AdController.js +19 -0
  16. package/dist/types/current/ad/AdControllerImpl.d.ts +146 -0
  17. package/dist/types/current/ad/AdControllerImpl.d.ts.map +1 -0
  18. package/dist/types/current/ad/AdControllerImpl.js +705 -0
  19. package/dist/types/current/ad/AdError.d.ts +6 -0
  20. package/dist/types/current/ad/AdError.d.ts.map +1 -0
  21. package/dist/types/current/ad/AdError.js +14 -0
  22. package/dist/types/current/ad/AdsProvider.d.ts +28 -0
  23. package/dist/types/current/ad/AdsProvider.d.ts.map +1 -0
  24. package/dist/types/current/ad/AdsProvider.js +5 -0
  25. package/dist/types/current/ad/defaultAdLoadOptionsResolver.d.ts +12 -0
  26. package/dist/types/current/ad/defaultAdLoadOptionsResolver.d.ts.map +1 -0
  27. package/dist/types/current/ad/defaultAdLoadOptionsResolver.js +26 -0
  28. package/dist/types/current/ad/discoverHlsInterstitials.d.ts +22 -0
  29. package/dist/types/current/ad/discoverHlsInterstitials.d.ts.map +1 -0
  30. package/dist/types/current/ad/discoverHlsInterstitials.js +246 -0
  31. package/dist/types/current/drm/DrmController.d.ts +29 -4
  32. package/dist/types/current/drm/DrmController.d.ts.map +1 -1
  33. package/dist/types/current/drm/DrmControllerImpl.d.ts +13 -4
  34. package/dist/types/current/drm/DrmControllerImpl.d.ts.map +1 -1
  35. package/dist/types/current/drm/DrmControllerImpl.js +85 -14
  36. package/dist/types/current/drm/util/unpackPlayReadyChallenge.d.ts +5 -0
  37. package/dist/types/current/drm/util/unpackPlayReadyChallenge.d.ts.map +1 -1
  38. package/dist/types/current/drm/util/unpackPlayReadyChallenge.js +5 -0
  39. package/dist/types/current/index.d.ts +151 -126
  40. package/dist/types/current/index.d.ts.map +1 -1
  41. package/dist/types/current/index.js +151 -126
  42. package/dist/types/current/playback/PlaybackControllerImpl.d.ts +1 -0
  43. package/dist/types/current/playback/PlaybackControllerImpl.d.ts.map +1 -1
  44. package/dist/types/current/playback/PlaybackControllerImpl.js +44 -5
  45. package/dist/types/current/playback/PlaybackSource.d.ts +1 -1
  46. package/dist/types/current/playback/ReadonlyPlaybackController.d.ts +6 -1
  47. package/dist/types/current/playback/ReadonlyPlaybackController.d.ts.map +1 -1
  48. package/dist/types/current/playback/ReadonlyPlaybackController.js +1 -0
  49. package/dist/types/current/streaming/ContentStream.d.ts +8 -1
  50. package/dist/types/current/streaming/ContentStream.d.ts.map +1 -1
  51. package/dist/types/current/streaming/ContentStream.js +19 -2
  52. package/dist/types/current/streaming/LoadMetric.d.ts +58 -0
  53. package/dist/types/current/streaming/LoadMetric.d.ts.map +1 -0
  54. package/dist/types/current/streaming/LoadMetric.js +5 -0
  55. package/dist/types/current/streaming/ManifestController.d.ts +16 -1
  56. package/dist/types/current/streaming/ManifestController.d.ts.map +1 -1
  57. package/dist/types/current/streaming/ManifestControllerImpl.d.ts +43 -0
  58. package/dist/types/current/streaming/ManifestControllerImpl.d.ts.map +1 -0
  59. package/dist/types/current/streaming/ManifestControllerImpl.js +104 -0
  60. package/dist/types/current/streaming/MediaQualityMetadata.d.ts +16 -0
  61. package/dist/types/current/streaming/MediaQualityMetadata.d.ts.map +1 -1
  62. package/dist/types/current/streaming/MediaQualityMetadata.js +6 -0
  63. package/dist/types/current/streaming/MediaTimeline.d.ts +6 -0
  64. package/dist/types/current/streaming/MediaTimeline.d.ts.map +1 -1
  65. package/dist/types/current/streaming/SegmentController.d.ts +5 -0
  66. package/dist/types/current/streaming/SegmentController.d.ts.map +1 -1
  67. package/dist/types/current/streaming/SegmentControllerImpl.d.ts +12 -0
  68. package/dist/types/current/streaming/SegmentControllerImpl.d.ts.map +1 -1
  69. package/dist/types/current/streaming/SegmentControllerImpl.js +67 -10
  70. package/dist/types/current/streaming/StreamingEventMap.d.ts +38 -1
  71. package/dist/types/current/streaming/StreamingEventMap.d.ts.map +1 -1
  72. package/dist/types/current/streaming/StreamingEventMap.js +4 -0
  73. package/dist/types/current/streaming/abr/QualitySelectorImpl.d.ts +28 -0
  74. package/dist/types/current/streaming/abr/QualitySelectorImpl.d.ts.map +1 -1
  75. package/dist/types/current/streaming/abr/QualitySelectorImpl.js +39 -4
  76. package/dist/types/current/streaming/buffering/BufferingController.d.ts +37 -0
  77. package/dist/types/current/streaming/buffering/BufferingController.d.ts.map +1 -1
  78. package/dist/types/current/streaming/buffering/BufferingController.js +79 -3
  79. package/dist/types/current/streaming/buffering/MediaSourceController.d.ts +16 -11
  80. package/dist/types/current/streaming/buffering/MediaSourceController.d.ts.map +1 -1
  81. package/dist/types/current/streaming/buffering/MediaSourceController.js +76 -51
  82. package/dist/types/current/streaming/buffering/SourceBufferController.d.ts.map +1 -1
  83. package/dist/types/current/streaming/buffering/SourceBufferController.js +5 -2
  84. package/dist/types/current/streaming/buffering/codecDenylist.d.ts +23 -0
  85. package/dist/types/current/streaming/buffering/codecDenylist.d.ts.map +1 -0
  86. package/dist/types/current/streaming/buffering/codecDenylist.js +62 -0
  87. package/dist/types/current/streaming/createAllowedContentTypesValue.d.ts +30 -0
  88. package/dist/types/current/streaming/createAllowedContentTypesValue.d.ts.map +1 -0
  89. package/dist/types/current/streaming/createAllowedContentTypesValue.js +43 -0
  90. package/dist/types/current/streaming/createDefaultMediaTimelineTransformer.d.ts +4 -1
  91. package/dist/types/current/streaming/createDefaultMediaTimelineTransformer.d.ts.map +1 -1
  92. package/dist/types/current/streaming/createDefaultMediaTimelineTransformer.js +32 -1
  93. package/dist/types/current/streaming/mediaTimelineAccessibilityFilter.d.ts +35 -0
  94. package/dist/types/current/streaming/mediaTimelineAccessibilityFilter.d.ts.map +1 -0
  95. package/dist/types/current/streaming/mediaTimelineAccessibilityFilter.js +75 -0
  96. package/dist/types/current/streaming/mediaTimelineLanguageFilter.d.ts +24 -6
  97. package/dist/types/current/streaming/mediaTimelineLanguageFilter.d.ts.map +1 -1
  98. package/dist/types/current/streaming/mediaTimelineLanguageFilter.js +61 -16
  99. package/dist/types/current/text/SidecarTextTrackController.d.ts +91 -0
  100. package/dist/types/current/text/SidecarTextTrackController.d.ts.map +1 -0
  101. package/dist/types/current/text/SidecarTextTrackController.js +237 -0
  102. package/dist/types/current/text/SidecarTextTrackLoader.d.ts +60 -0
  103. package/dist/types/current/text/SidecarTextTrackLoader.d.ts.map +1 -0
  104. package/dist/types/current/text/SidecarTextTrackLoader.js +144 -0
  105. package/dist/types/current/text/TextTrack.d.ts +125 -0
  106. package/dist/types/current/text/TextTrack.d.ts.map +1 -0
  107. package/dist/types/current/text/TextTrack.js +9 -0
  108. package/dist/types/current/text/VttCueStyle.d.ts +41 -0
  109. package/dist/types/current/text/VttCueStyle.d.ts.map +1 -0
  110. package/dist/types/current/text/VttCueStyle.js +45 -0
  111. package/dist/types/current/text/discoverDashTextTracks.d.ts +24 -0
  112. package/dist/types/current/text/discoverDashTextTracks.d.ts.map +1 -0
  113. package/dist/types/current/text/discoverDashTextTracks.js +109 -0
  114. package/dist/types/current/text/discoverHlsTextTracks.d.ts +19 -0
  115. package/dist/types/current/text/discoverHlsTextTracks.d.ts.map +1 -0
  116. package/dist/types/current/text/discoverHlsTextTracks.js +49 -0
  117. package/dist/types/current/text/parseWebVtt.d.ts +46 -0
  118. package/dist/types/current/text/parseWebVtt.d.ts.map +1 -0
  119. package/dist/types/current/text/parseWebVtt.js +120 -0
  120. package/dist/types/current/text/pickPreferredTextTrack.d.ts +14 -0
  121. package/dist/types/current/text/pickPreferredTextTrack.d.ts.map +1 -0
  122. package/dist/types/current/text/pickPreferredTextTrack.js +68 -0
  123. package/dist/types/current/track/SeekRange.d.ts +9 -0
  124. package/dist/types/current/track/SeekRange.d.ts.map +1 -0
  125. package/dist/types/current/track/SeekRange.js +5 -0
  126. package/dist/types/current/track/Track.d.ts +50 -7
  127. package/dist/types/current/track/Track.d.ts.map +1 -1
  128. package/dist/types/current/track/TrackBase.d.ts +30 -29
  129. package/dist/types/current/track/TrackBase.d.ts.map +1 -1
  130. package/dist/types/current/track/TrackBase.js +68 -16
  131. package/dist/types/current/track/TrackController.d.ts +100 -36
  132. package/dist/types/current/track/TrackController.d.ts.map +1 -1
  133. package/dist/types/current/track/TrackController.js +368 -115
  134. package/dist/types/current/track/TrackFactory.d.ts +23 -3
  135. package/dist/types/current/track/TrackFactory.d.ts.map +1 -1
  136. package/dist/types/current/track/TrackFactory.js +9 -3
  137. package/dist/types/current/track/dash/DashManifestController.d.ts +1 -40
  138. package/dist/types/current/track/dash/DashManifestController.d.ts.map +1 -1
  139. package/dist/types/current/track/dash/DashManifestController.js +1 -79
  140. package/dist/types/current/track/dash/DashMediaQualityMetadataResolver.d.ts.map +1 -1
  141. package/dist/types/current/track/dash/DashMediaQualityMetadataResolver.js +13 -0
  142. package/dist/types/current/track/dash/DashTrack.d.ts +4 -5
  143. package/dist/types/current/track/dash/DashTrack.d.ts.map +1 -1
  144. package/dist/types/current/track/dash/DashTrack.js +3 -5
  145. package/dist/types/current/track/dash/buildDashMediaTimeline.d.ts.map +1 -1
  146. package/dist/types/current/track/dash/buildDashMediaTimeline.js +3 -2
  147. package/dist/types/current/track/dash/createDashContentTypesValue.js +2 -2
  148. package/dist/types/current/track/dash/createDashFactories.d.ts +39 -12
  149. package/dist/types/current/track/dash/createDashFactories.d.ts.map +1 -1
  150. package/dist/types/current/track/dash/createDashFactories.js +33 -5
  151. package/dist/types/current/track/dash/createSegmentControllerFactory.d.ts +0 -5
  152. package/dist/types/current/track/dash/createSegmentControllerFactory.d.ts.map +1 -1
  153. package/dist/types/current/track/dash/timeline/DashRepresentationSegmentProvider.d.ts.map +1 -1
  154. package/dist/types/current/track/dash/timeline/DashRepresentationSegmentProvider.js +2 -1
  155. package/dist/types/current/track/dash/util/mpd.d.ts +10 -0
  156. package/dist/types/current/track/dash/util/mpd.d.ts.map +1 -1
  157. package/dist/types/current/track/dash/util/mpd.js +16 -0
  158. package/dist/types/current/track/hls/HlsManifestController.d.ts +1 -25
  159. package/dist/types/current/track/hls/HlsManifestController.d.ts.map +1 -1
  160. package/dist/types/current/track/hls/HlsManifestController.js +1 -68
  161. package/dist/types/{ts3.7/track/hls/HlsManifestProvider.d.ts → current/track/hls/HlsManifestData.d.ts} +4 -6
  162. package/dist/types/current/track/hls/HlsManifestData.d.ts.map +1 -0
  163. package/dist/types/current/track/hls/HlsManifestData.js +5 -0
  164. package/dist/types/current/track/hls/HlsMediaQualityMetadataResolver.js +9 -6
  165. package/dist/types/current/track/hls/HlsTrack.d.ts +5 -6
  166. package/dist/types/current/track/hls/HlsTrack.d.ts.map +1 -1
  167. package/dist/types/current/track/hls/HlsTrack.js +3 -5
  168. package/dist/types/current/track/hls/buildHlsMediaTimeline.d.ts +8 -1
  169. package/dist/types/current/track/hls/buildHlsMediaTimeline.d.ts.map +1 -1
  170. package/dist/types/current/track/hls/buildHlsMediaTimeline.js +134 -67
  171. package/dist/types/current/track/hls/createDefaultHlsManifestTransformer.d.ts +1 -1
  172. package/dist/types/current/track/hls/createDefaultHlsManifestTransformer.d.ts.map +1 -1
  173. package/dist/types/current/track/hls/createHlsContentTypesValue.d.ts +1 -1
  174. package/dist/types/current/track/hls/createHlsContentTypesValue.d.ts.map +1 -1
  175. package/dist/types/current/track/hls/createHlsFactories.d.ts +40 -13
  176. package/dist/types/current/track/hls/createHlsFactories.d.ts.map +1 -1
  177. package/dist/types/current/track/hls/createHlsFactories.js +35 -6
  178. package/dist/types/current/track/hls/createHlsManifestProvider.d.ts +6 -0
  179. package/dist/types/current/track/hls/createHlsManifestProvider.d.ts.map +1 -0
  180. package/dist/types/current/track/hls/createHlsManifestProvider.js +9 -0
  181. package/dist/types/current/track/hls/createUrlHlsManifestProvider.d.ts +4 -4
  182. package/dist/types/current/track/hls/createUrlHlsManifestProvider.d.ts.map +1 -1
  183. package/dist/types/current/track/hls/createUrlHlsManifestProvider.js +22 -3
  184. package/dist/types/current/track/hls/index.d.ts +1 -1
  185. package/dist/types/current/track/hls/index.d.ts.map +1 -1
  186. package/dist/types/current/track/hls/index.js +1 -1
  187. package/dist/types/current/track/inferLoadOptionsFromUri.d.ts +15 -0
  188. package/dist/types/current/track/inferLoadOptionsFromUri.d.ts.map +1 -0
  189. package/dist/types/current/track/inferLoadOptionsFromUri.js +55 -0
  190. package/dist/types/current/track/mse/MseTrack.d.ts +66 -8
  191. package/dist/types/current/track/mse/MseTrack.d.ts.map +1 -1
  192. package/dist/types/current/track/mse/MseTrack.js +216 -52
  193. package/dist/types/current/track/source/SourceObjectTrack.d.ts +2 -2
  194. package/dist/types/current/track/source/SourceObjectTrack.d.ts.map +1 -1
  195. package/dist/types/current/track/source/SourceTrack.d.ts +2 -2
  196. package/dist/types/current/track/source/SourceTrack.d.ts.map +1 -1
  197. package/dist/types/current/track/source/SourceTrack.js +1 -2
  198. package/dist/types/current/track/source/SourceTrackBase.d.ts +7 -5
  199. package/dist/types/current/track/source/SourceTrackBase.d.ts.map +1 -1
  200. package/dist/types/current/track/source/SourceTrackBase.js +26 -9
  201. package/dist/types/current/tsconfig.tsbuildinfo +1 -1
  202. package/dist/types/current/util/media/codecOverrides.d.ts +33 -0
  203. package/dist/types/current/util/media/codecOverrides.d.ts.map +1 -0
  204. package/dist/types/current/util/media/codecOverrides.js +37 -0
  205. package/dist/types/current/util/media/codecSupport.d.ts +6 -0
  206. package/dist/types/current/util/media/codecSupport.d.ts.map +1 -0
  207. package/dist/types/current/util/media/codecSupport.js +17 -0
  208. package/dist/types/current/util/media/mediaSource.d.ts +5 -0
  209. package/dist/types/current/util/media/mediaSource.d.ts.map +1 -1
  210. package/dist/types/current/util/media/mediaSource.js +6 -1
  211. package/dist/types/current/vinyl/ReadonlyPlaybackStreamingState.d.ts +9 -2
  212. package/dist/types/current/vinyl/ReadonlyPlaybackStreamingState.d.ts.map +1 -1
  213. package/dist/types/current/vinyl/VinylDeps.d.ts +5 -0
  214. package/dist/types/current/vinyl/VinylDeps.d.ts.map +1 -1
  215. package/dist/types/current/vinyl/VinylOptions.d.ts +68 -4
  216. package/dist/types/current/vinyl/VinylOptions.d.ts.map +1 -1
  217. package/dist/types/current/vinyl/VinylOptions.js +17 -2
  218. package/dist/types/current/vinyl/VinylPlayer.d.ts +63 -4
  219. package/dist/types/current/vinyl/VinylPlayer.d.ts.map +1 -1
  220. package/dist/types/current/vinyl/VinylPlayer.js +216 -36
  221. package/dist/types/current/vinyl/createVinylFactories.d.ts +55 -12
  222. package/dist/types/current/vinyl/createVinylFactories.d.ts.map +1 -1
  223. package/dist/types/current/vinyl/createVinylFactories.js +4 -0
  224. package/dist/types/ts3.7/ad/AdBreakInfo.d.ts +160 -0
  225. package/dist/types/ts3.7/ad/AdController.d.ts +243 -0
  226. package/dist/types/ts3.7/ad/AdControllerImpl.d.ts +146 -0
  227. package/dist/types/ts3.7/ad/AdError.d.ts +6 -0
  228. package/dist/types/ts3.7/ad/AdsProvider.d.ts +28 -0
  229. package/dist/types/ts3.7/ad/defaultAdLoadOptionsResolver.d.ts +12 -0
  230. package/dist/types/ts3.7/ad/discoverHlsInterstitials.d.ts +22 -0
  231. package/dist/types/ts3.7/drm/DrmController.d.ts +29 -4
  232. package/dist/types/ts3.7/drm/DrmControllerImpl.d.ts +13 -4
  233. package/dist/types/ts3.7/drm/util/unpackPlayReadyChallenge.d.ts +5 -0
  234. package/dist/types/ts3.7/index.d.ts +151 -126
  235. package/dist/types/ts3.7/playback/PlaybackControllerImpl.d.ts +1 -0
  236. package/dist/types/ts3.7/playback/PlaybackSource.d.ts +1 -1
  237. package/dist/types/ts3.7/playback/ReadonlyPlaybackController.d.ts +6 -0
  238. package/dist/types/ts3.7/streaming/ContentStream.d.ts +8 -1
  239. package/dist/types/ts3.7/streaming/LoadMetric.d.ts +58 -0
  240. package/dist/types/ts3.7/streaming/ManifestController.d.ts +16 -1
  241. package/dist/types/ts3.7/streaming/ManifestControllerImpl.d.ts +40 -0
  242. package/dist/types/ts3.7/streaming/MediaQualityMetadata.d.ts +19 -0
  243. package/dist/types/ts3.7/streaming/MediaTimeline.d.ts +6 -0
  244. package/dist/types/ts3.7/streaming/SegmentController.d.ts +5 -0
  245. package/dist/types/ts3.7/streaming/SegmentControllerImpl.d.ts +12 -0
  246. package/dist/types/ts3.7/streaming/StreamingEventMap.d.ts +42 -1
  247. package/dist/types/ts3.7/streaming/abr/QualitySelectorImpl.d.ts +28 -0
  248. package/dist/types/ts3.7/streaming/buffering/BufferingController.d.ts +37 -0
  249. package/dist/types/ts3.7/streaming/buffering/MediaSourceController.d.ts +16 -11
  250. package/dist/types/ts3.7/streaming/buffering/codecDenylist.d.ts +23 -0
  251. package/dist/types/ts3.7/streaming/createAllowedContentTypesValue.d.ts +30 -0
  252. package/dist/types/ts3.7/streaming/createDefaultMediaTimelineTransformer.d.ts +4 -1
  253. package/dist/types/ts3.7/streaming/mediaTimelineAccessibilityFilter.d.ts +35 -0
  254. package/dist/types/ts3.7/streaming/mediaTimelineLanguageFilter.d.ts +24 -6
  255. package/dist/types/ts3.7/text/SidecarTextTrackController.d.ts +91 -0
  256. package/dist/types/ts3.7/text/SidecarTextTrackLoader.d.ts +60 -0
  257. package/dist/types/ts3.7/text/TextTrack.d.ts +129 -0
  258. package/dist/types/ts3.7/text/VttCueStyle.d.ts +41 -0
  259. package/dist/types/ts3.7/text/discoverDashTextTracks.d.ts +24 -0
  260. package/dist/types/ts3.7/text/discoverHlsTextTracks.d.ts +19 -0
  261. package/dist/types/ts3.7/text/parseWebVtt.d.ts +46 -0
  262. package/dist/types/ts3.7/text/pickPreferredTextTrack.d.ts +14 -0
  263. package/dist/types/ts3.7/track/SeekRange.d.ts +9 -0
  264. package/dist/types/ts3.7/track/Track.d.ts +50 -7
  265. package/dist/types/ts3.7/track/TrackBase.d.ts +21 -29
  266. package/dist/types/ts3.7/track/TrackController.d.ts +102 -37
  267. package/dist/types/ts3.7/track/TrackFactory.d.ts +22 -2
  268. package/dist/types/ts3.7/track/dash/DashManifestController.d.ts +1 -36
  269. package/dist/types/ts3.7/track/dash/DashTrack.d.ts +4 -5
  270. package/dist/types/ts3.7/track/dash/createDashFactories.d.ts +39 -12
  271. package/dist/types/ts3.7/track/dash/createSegmentControllerFactory.d.ts +0 -5
  272. package/dist/types/ts3.7/track/dash/util/mpd.d.ts +10 -0
  273. package/dist/types/ts3.7/track/hls/HlsManifestController.d.ts +1 -22
  274. package/dist/types/{current/track/hls/HlsManifestProvider.d.ts → ts3.7/track/hls/HlsManifestData.d.ts} +4 -6
  275. package/dist/types/ts3.7/track/hls/HlsTrack.d.ts +5 -6
  276. package/dist/types/ts3.7/track/hls/buildHlsMediaTimeline.d.ts +8 -1
  277. package/dist/types/ts3.7/track/hls/createDefaultHlsManifestTransformer.d.ts +1 -1
  278. package/dist/types/ts3.7/track/hls/createHlsContentTypesValue.d.ts +1 -1
  279. package/dist/types/ts3.7/track/hls/createHlsFactories.d.ts +40 -13
  280. package/dist/types/ts3.7/track/hls/createHlsManifestProvider.d.ts +6 -0
  281. package/dist/types/ts3.7/track/hls/createUrlHlsManifestProvider.d.ts +4 -4
  282. package/dist/types/ts3.7/track/hls/index.d.ts +1 -1
  283. package/dist/types/ts3.7/track/inferLoadOptionsFromUri.d.ts +15 -0
  284. package/dist/types/ts3.7/track/mse/MseTrack.d.ts +65 -7
  285. package/dist/types/ts3.7/track/source/SourceObjectTrack.d.ts +2 -2
  286. package/dist/types/ts3.7/track/source/SourceTrack.d.ts +2 -2
  287. package/dist/types/ts3.7/track/source/SourceTrackBase.d.ts +7 -5
  288. package/dist/types/ts3.7/util/media/codecOverrides.d.ts +33 -0
  289. package/dist/types/ts3.7/util/media/codecSupport.d.ts +6 -0
  290. package/dist/types/ts3.7/util/media/mediaSource.d.ts +5 -0
  291. package/dist/types/ts3.7/vinyl/ReadonlyPlaybackStreamingState.d.ts +9 -2
  292. package/dist/types/ts3.7/vinyl/VinylDeps.d.ts +5 -0
  293. package/dist/types/ts3.7/vinyl/VinylOptions.d.ts +68 -4
  294. package/dist/types/ts3.7/vinyl/VinylPlayer.d.ts +33 -4
  295. package/dist/types/ts3.7/vinyl/createVinylFactories.d.ts +55 -12
  296. package/dist/types/ts4.1/ad/AdBreakInfo.d.ts +160 -0
  297. package/dist/types/ts4.1/ad/AdController.d.ts +243 -0
  298. package/dist/types/ts4.1/ad/AdControllerImpl.d.ts +146 -0
  299. package/dist/types/ts4.1/ad/AdError.d.ts +6 -0
  300. package/dist/types/ts4.1/ad/AdsProvider.d.ts +28 -0
  301. package/dist/types/ts4.1/ad/defaultAdLoadOptionsResolver.d.ts +12 -0
  302. package/dist/types/ts4.1/ad/discoverHlsInterstitials.d.ts +22 -0
  303. package/dist/types/ts4.1/drm/DrmController.d.ts +29 -4
  304. package/dist/types/ts4.1/drm/DrmControllerImpl.d.ts +13 -4
  305. package/dist/types/ts4.1/drm/util/unpackPlayReadyChallenge.d.ts +5 -0
  306. package/dist/types/ts4.1/index.d.ts +151 -126
  307. package/dist/types/ts4.1/playback/PlaybackControllerImpl.d.ts +1 -0
  308. package/dist/types/ts4.1/playback/PlaybackSource.d.ts +1 -1
  309. package/dist/types/ts4.1/playback/ReadonlyPlaybackController.d.ts +6 -0
  310. package/dist/types/ts4.1/streaming/ContentStream.d.ts +8 -1
  311. package/dist/types/ts4.1/streaming/LoadMetric.d.ts +58 -0
  312. package/dist/types/ts4.1/streaming/ManifestController.d.ts +16 -1
  313. package/dist/types/ts4.1/streaming/ManifestControllerImpl.d.ts +40 -0
  314. package/dist/types/ts4.1/streaming/MediaQualityMetadata.d.ts +19 -0
  315. package/dist/types/ts4.1/streaming/MediaTimeline.d.ts +6 -0
  316. package/dist/types/ts4.1/streaming/SegmentController.d.ts +5 -0
  317. package/dist/types/ts4.1/streaming/SegmentControllerImpl.d.ts +12 -0
  318. package/dist/types/ts4.1/streaming/StreamingEventMap.d.ts +42 -1
  319. package/dist/types/ts4.1/streaming/abr/QualitySelectorImpl.d.ts +28 -0
  320. package/dist/types/ts4.1/streaming/buffering/BufferingController.d.ts +37 -0
  321. package/dist/types/ts4.1/streaming/buffering/MediaSourceController.d.ts +16 -11
  322. package/dist/types/ts4.1/streaming/buffering/codecDenylist.d.ts +23 -0
  323. package/dist/types/ts4.1/streaming/createAllowedContentTypesValue.d.ts +30 -0
  324. package/dist/types/ts4.1/streaming/createDefaultMediaTimelineTransformer.d.ts +4 -1
  325. package/dist/types/ts4.1/streaming/mediaTimelineAccessibilityFilter.d.ts +35 -0
  326. package/dist/types/ts4.1/streaming/mediaTimelineLanguageFilter.d.ts +24 -6
  327. package/dist/types/ts4.1/text/SidecarTextTrackController.d.ts +92 -0
  328. package/dist/types/ts4.1/text/SidecarTextTrackLoader.d.ts +60 -0
  329. package/dist/types/ts4.1/text/TextTrack.d.ts +129 -0
  330. package/dist/types/ts4.1/text/VttCueStyle.d.ts +41 -0
  331. package/dist/types/ts4.1/text/discoverDashTextTracks.d.ts +24 -0
  332. package/dist/types/ts4.1/text/discoverHlsTextTracks.d.ts +19 -0
  333. package/dist/types/ts4.1/text/parseWebVtt.d.ts +46 -0
  334. package/dist/types/ts4.1/text/pickPreferredTextTrack.d.ts +14 -0
  335. package/dist/types/ts4.1/track/SeekRange.d.ts +9 -0
  336. package/dist/types/ts4.1/track/Track.d.ts +50 -7
  337. package/dist/types/ts4.1/track/TrackBase.d.ts +21 -29
  338. package/dist/types/ts4.1/track/TrackController.d.ts +102 -37
  339. package/dist/types/ts4.1/track/TrackFactory.d.ts +22 -2
  340. package/dist/types/ts4.1/track/dash/DashManifestController.d.ts +1 -36
  341. package/dist/types/ts4.1/track/dash/DashTrack.d.ts +4 -5
  342. package/dist/types/ts4.1/track/dash/createDashFactories.d.ts +39 -12
  343. package/dist/types/ts4.1/track/dash/createSegmentControllerFactory.d.ts +0 -5
  344. package/dist/types/ts4.1/track/dash/util/mpd.d.ts +10 -0
  345. package/dist/types/ts4.1/track/hls/HlsManifestController.d.ts +1 -22
  346. package/dist/types/ts4.1/track/hls/{HlsManifestProvider.d.ts → HlsManifestData.d.ts} +4 -6
  347. package/dist/types/ts4.1/track/hls/HlsTrack.d.ts +5 -6
  348. package/dist/types/ts4.1/track/hls/buildHlsMediaTimeline.d.ts +8 -1
  349. package/dist/types/ts4.1/track/hls/createDefaultHlsManifestTransformer.d.ts +1 -1
  350. package/dist/types/ts4.1/track/hls/createHlsContentTypesValue.d.ts +1 -1
  351. package/dist/types/ts4.1/track/hls/createHlsFactories.d.ts +41 -13
  352. package/dist/types/ts4.1/track/hls/createHlsManifestProvider.d.ts +6 -0
  353. package/dist/types/ts4.1/track/hls/createUrlHlsManifestProvider.d.ts +4 -4
  354. package/dist/types/ts4.1/track/hls/index.d.ts +1 -1
  355. package/dist/types/ts4.1/track/inferLoadOptionsFromUri.d.ts +15 -0
  356. package/dist/types/ts4.1/track/mse/MseTrack.d.ts +65 -7
  357. package/dist/types/ts4.1/track/source/SourceObjectTrack.d.ts +2 -2
  358. package/dist/types/ts4.1/track/source/SourceTrack.d.ts +2 -2
  359. package/dist/types/ts4.1/track/source/SourceTrackBase.d.ts +7 -5
  360. package/dist/types/ts4.1/util/media/codecOverrides.d.ts +33 -0
  361. package/dist/types/ts4.1/util/media/codecSupport.d.ts +6 -0
  362. package/dist/types/ts4.1/util/media/mediaSource.d.ts +5 -0
  363. package/dist/types/ts4.1/vinyl/ReadonlyPlaybackStreamingState.d.ts +9 -2
  364. package/dist/types/ts4.1/vinyl/VinylDeps.d.ts +5 -0
  365. package/dist/types/ts4.1/vinyl/VinylOptions.d.ts +68 -4
  366. package/dist/types/ts4.1/vinyl/VinylPlayer.d.ts +33 -4
  367. package/dist/types/ts4.1/vinyl/createVinylFactories.d.ts +56 -12
  368. package/dist/types/ts4.7/ad/AdBreakInfo.d.ts +160 -0
  369. package/dist/types/ts4.7/ad/AdController.d.ts +243 -0
  370. package/dist/types/ts4.7/ad/AdControllerImpl.d.ts +146 -0
  371. package/dist/types/ts4.7/ad/AdError.d.ts +6 -0
  372. package/dist/types/ts4.7/ad/AdsProvider.d.ts +28 -0
  373. package/dist/types/ts4.7/ad/defaultAdLoadOptionsResolver.d.ts +12 -0
  374. package/dist/types/ts4.7/ad/discoverHlsInterstitials.d.ts +22 -0
  375. package/dist/types/ts4.7/drm/DrmController.d.ts +29 -4
  376. package/dist/types/ts4.7/drm/DrmControllerImpl.d.ts +13 -4
  377. package/dist/types/ts4.7/drm/util/unpackPlayReadyChallenge.d.ts +5 -0
  378. package/dist/types/ts4.7/index.d.ts +151 -126
  379. package/dist/types/ts4.7/playback/PlaybackControllerImpl.d.ts +1 -0
  380. package/dist/types/ts4.7/playback/PlaybackSource.d.ts +1 -1
  381. package/dist/types/ts4.7/playback/ReadonlyPlaybackController.d.ts +6 -0
  382. package/dist/types/ts4.7/streaming/ContentStream.d.ts +8 -1
  383. package/dist/types/ts4.7/streaming/LoadMetric.d.ts +58 -0
  384. package/dist/types/ts4.7/streaming/ManifestController.d.ts +16 -1
  385. package/dist/types/ts4.7/streaming/ManifestControllerImpl.d.ts +43 -0
  386. package/dist/types/ts4.7/streaming/MediaQualityMetadata.d.ts +19 -0
  387. package/dist/types/ts4.7/streaming/MediaTimeline.d.ts +6 -0
  388. package/dist/types/ts4.7/streaming/SegmentController.d.ts +5 -0
  389. package/dist/types/ts4.7/streaming/SegmentControllerImpl.d.ts +12 -0
  390. package/dist/types/ts4.7/streaming/StreamingEventMap.d.ts +42 -1
  391. package/dist/types/ts4.7/streaming/abr/QualitySelectorImpl.d.ts +28 -0
  392. package/dist/types/ts4.7/streaming/buffering/BufferingController.d.ts +37 -0
  393. package/dist/types/ts4.7/streaming/buffering/MediaSourceController.d.ts +16 -11
  394. package/dist/types/ts4.7/streaming/buffering/codecDenylist.d.ts +23 -0
  395. package/dist/types/ts4.7/streaming/createAllowedContentTypesValue.d.ts +30 -0
  396. package/dist/types/ts4.7/streaming/createDefaultMediaTimelineTransformer.d.ts +4 -1
  397. package/dist/types/ts4.7/streaming/mediaTimelineAccessibilityFilter.d.ts +35 -0
  398. package/dist/types/ts4.7/streaming/mediaTimelineLanguageFilter.d.ts +24 -6
  399. package/dist/types/ts4.7/text/SidecarTextTrackController.d.ts +91 -0
  400. package/dist/types/ts4.7/text/SidecarTextTrackLoader.d.ts +60 -0
  401. package/dist/types/ts4.7/text/TextTrack.d.ts +129 -0
  402. package/dist/types/ts4.7/text/VttCueStyle.d.ts +41 -0
  403. package/dist/types/ts4.7/text/discoverDashTextTracks.d.ts +24 -0
  404. package/dist/types/ts4.7/text/discoverHlsTextTracks.d.ts +19 -0
  405. package/dist/types/ts4.7/text/parseWebVtt.d.ts +46 -0
  406. package/dist/types/ts4.7/text/pickPreferredTextTrack.d.ts +14 -0
  407. package/dist/types/ts4.7/track/SeekRange.d.ts +9 -0
  408. package/dist/types/ts4.7/track/Track.d.ts +50 -7
  409. package/dist/types/ts4.7/track/TrackBase.d.ts +30 -29
  410. package/dist/types/ts4.7/track/TrackController.d.ts +102 -37
  411. package/dist/types/ts4.7/track/TrackFactory.d.ts +23 -3
  412. package/dist/types/ts4.7/track/dash/DashManifestController.d.ts +1 -40
  413. package/dist/types/ts4.7/track/dash/DashTrack.d.ts +4 -5
  414. package/dist/types/ts4.7/track/dash/createDashFactories.d.ts +39 -12
  415. package/dist/types/ts4.7/track/dash/createSegmentControllerFactory.d.ts +0 -5
  416. package/dist/types/ts4.7/track/dash/util/mpd.d.ts +10 -0
  417. package/dist/types/ts4.7/track/hls/HlsManifestController.d.ts +1 -25
  418. package/dist/types/ts4.7/track/hls/{HlsManifestProvider.d.ts → HlsManifestData.d.ts} +4 -6
  419. package/dist/types/ts4.7/track/hls/HlsTrack.d.ts +5 -6
  420. package/dist/types/ts4.7/track/hls/buildHlsMediaTimeline.d.ts +8 -1
  421. package/dist/types/ts4.7/track/hls/createDefaultHlsManifestTransformer.d.ts +1 -1
  422. package/dist/types/ts4.7/track/hls/createHlsContentTypesValue.d.ts +1 -1
  423. package/dist/types/ts4.7/track/hls/createHlsFactories.d.ts +40 -13
  424. package/dist/types/ts4.7/track/hls/createHlsManifestProvider.d.ts +6 -0
  425. package/dist/types/ts4.7/track/hls/createUrlHlsManifestProvider.d.ts +4 -4
  426. package/dist/types/ts4.7/track/hls/index.d.ts +1 -1
  427. package/dist/types/ts4.7/track/inferLoadOptionsFromUri.d.ts +15 -0
  428. package/dist/types/ts4.7/track/mse/MseTrack.d.ts +66 -8
  429. package/dist/types/ts4.7/track/source/SourceObjectTrack.d.ts +2 -2
  430. package/dist/types/ts4.7/track/source/SourceTrack.d.ts +2 -2
  431. package/dist/types/ts4.7/track/source/SourceTrackBase.d.ts +7 -5
  432. package/dist/types/ts4.7/util/media/codecOverrides.d.ts +33 -0
  433. package/dist/types/ts4.7/util/media/codecSupport.d.ts +6 -0
  434. package/dist/types/ts4.7/util/media/mediaSource.d.ts +5 -0
  435. package/dist/types/ts4.7/vinyl/ReadonlyPlaybackStreamingState.d.ts +9 -2
  436. package/dist/types/ts4.7/vinyl/VinylDeps.d.ts +5 -0
  437. package/dist/types/ts4.7/vinyl/VinylOptions.d.ts +68 -4
  438. package/dist/types/ts4.7/vinyl/VinylPlayer.d.ts +63 -4
  439. package/dist/types/ts4.7/vinyl/createVinylFactories.d.ts +55 -12
  440. package/dist/unit/types/current/ad/AdController.test.d.ts +2 -0
  441. package/dist/unit/types/current/ad/AdController.test.d.ts.map +1 -0
  442. package/dist/unit/types/current/ad/AdController.test.js +10 -0
  443. package/dist/unit/types/current/ad/AdControllerImpl.test.d.ts +2 -0
  444. package/dist/unit/types/current/ad/AdControllerImpl.test.d.ts.map +1 -0
  445. package/dist/unit/types/current/ad/AdControllerImpl.test.js +1456 -0
  446. package/dist/unit/types/current/ad/defaultAdLoadOptionsResolver.test.d.ts +2 -0
  447. package/dist/unit/types/current/ad/defaultAdLoadOptionsResolver.test.d.ts.map +1 -0
  448. package/dist/unit/types/current/ad/defaultAdLoadOptionsResolver.test.js +56 -0
  449. package/dist/unit/types/current/ad/discoverHlsInterstitials.test.d.ts +2 -0
  450. package/dist/unit/types/current/ad/discoverHlsInterstitials.test.d.ts.map +1 -0
  451. package/dist/unit/types/current/ad/discoverHlsInterstitials.test.js +756 -0
  452. package/dist/unit/types/current/drm/DrmControllerImpl.test.js +205 -4
  453. package/dist/unit/types/current/index.d.ts +117 -98
  454. package/dist/unit/types/current/index.d.ts.map +1 -1
  455. package/dist/unit/types/current/index.js +117 -98
  456. package/dist/unit/types/current/playback/PlaybackControllerImpl.test.js +92 -3
  457. package/dist/unit/types/current/streaming/ContentStream.test.js +11 -0
  458. package/dist/unit/types/current/streaming/ManifestControllerImpl.test.d.ts +2 -0
  459. package/dist/unit/types/current/streaming/ManifestControllerImpl.test.d.ts.map +1 -0
  460. package/dist/unit/types/current/streaming/ManifestControllerImpl.test.js +197 -0
  461. package/dist/unit/types/current/streaming/MediaTimeline.test.js +2 -0
  462. package/dist/unit/types/current/streaming/MseTrack.test.js +478 -14
  463. package/dist/unit/types/current/streaming/SegmentControllerImpl.test.js +66 -0
  464. package/dist/unit/types/current/streaming/StreamingEventMap.test.js +2 -2
  465. package/dist/unit/types/current/streaming/abr/QualitySelectorImpl.test.js +110 -0
  466. package/dist/unit/types/current/streaming/buffering/BufferingController.test.js +123 -21
  467. package/dist/unit/types/current/streaming/buffering/MediaSourceController.test.js +37 -10
  468. package/dist/unit/types/current/streaming/buffering/SourceBufferController.test.js +4 -0
  469. package/dist/unit/types/current/streaming/buffering/codecDenylist.test.d.ts +2 -0
  470. package/dist/unit/types/current/streaming/buffering/codecDenylist.test.d.ts.map +1 -0
  471. package/dist/unit/types/current/streaming/buffering/codecDenylist.test.js +56 -0
  472. package/dist/unit/types/current/streaming/createAllowedContentTypesValue.test.d.ts +2 -0
  473. package/dist/unit/types/current/streaming/createAllowedContentTypesValue.test.d.ts.map +1 -0
  474. package/dist/unit/types/current/streaming/createAllowedContentTypesValue.test.js +77 -0
  475. package/dist/unit/types/current/streaming/createDefaultMediaTimelineTransformer.test.js +144 -2
  476. package/dist/unit/types/current/streaming/mediaTimelineAccessibilityFilter.test.d.ts +2 -0
  477. package/dist/unit/types/current/streaming/mediaTimelineAccessibilityFilter.test.d.ts.map +1 -0
  478. package/dist/unit/types/current/streaming/mediaTimelineAccessibilityFilter.test.js +99 -0
  479. package/dist/unit/types/current/streaming/mediaTimelineFilter.test.js +9 -0
  480. package/dist/unit/types/current/streaming/mediaTimelineLanguageFilter.test.js +92 -3
  481. package/dist/unit/types/current/text/SidecarTextTrackController.test.d.ts +2 -0
  482. package/dist/unit/types/current/text/SidecarTextTrackController.test.d.ts.map +1 -0
  483. package/dist/unit/types/current/text/SidecarTextTrackController.test.js +587 -0
  484. package/dist/unit/types/current/text/SidecarTextTrackLoader.test.d.ts +2 -0
  485. package/dist/unit/types/current/text/SidecarTextTrackLoader.test.d.ts.map +1 -0
  486. package/dist/unit/types/current/text/SidecarTextTrackLoader.test.js +336 -0
  487. package/dist/unit/types/current/text/VttCueStyle.test.d.ts +2 -0
  488. package/dist/unit/types/current/text/VttCueStyle.test.d.ts.map +1 -0
  489. package/dist/unit/types/current/text/VttCueStyle.test.js +76 -0
  490. package/dist/unit/types/current/text/discoverDashTextTracks.test.d.ts +2 -0
  491. package/dist/unit/types/current/text/discoverDashTextTracks.test.d.ts.map +1 -0
  492. package/dist/unit/types/current/text/discoverDashTextTracks.test.js +199 -0
  493. package/dist/unit/types/current/text/discoverHlsTextTracks.test.d.ts +2 -0
  494. package/dist/unit/types/current/text/discoverHlsTextTracks.test.d.ts.map +1 -0
  495. package/dist/unit/types/current/text/discoverHlsTextTracks.test.js +177 -0
  496. package/dist/unit/types/current/text/parseWebVtt.test.d.ts +2 -0
  497. package/dist/unit/types/current/text/parseWebVtt.test.d.ts.map +1 -0
  498. package/dist/unit/types/current/text/parseWebVtt.test.js +212 -0
  499. package/dist/unit/types/current/text/pickPreferredTextTrack.test.d.ts +2 -0
  500. package/dist/unit/types/current/text/pickPreferredTextTrack.test.d.ts.map +1 -0
  501. package/dist/unit/types/current/text/pickPreferredTextTrack.test.js +67 -0
  502. package/dist/unit/types/current/track/TrackBase.test.js +50 -5
  503. package/dist/unit/types/current/track/TrackController.test.js +712 -109
  504. package/dist/unit/types/current/track/TrackFactory.test.js +13 -25
  505. package/dist/unit/types/current/track/dash/createDashContentStreamFactories.test.js +1 -0
  506. package/dist/unit/types/current/track/dash/createDashFactories.test.js +63 -2
  507. package/dist/unit/types/current/track/dash/createSegmentControllerFactory.test.js +1 -0
  508. package/dist/unit/types/current/track/dash/util/mpd.test.js +24 -1
  509. package/dist/unit/types/current/track/hls/HlsManifestController.test.js +4 -4
  510. package/dist/unit/types/current/track/hls/HlsMediaQualityMetadataResolver.test.js +4 -2
  511. package/dist/unit/types/current/track/hls/buildHlsMediaTimeline.test.js +260 -14
  512. package/dist/unit/types/current/track/hls/createHlsContentStreamFactories.test.js +1 -0
  513. package/dist/unit/types/current/track/hls/createHlsFactories.test.js +182 -4
  514. package/dist/unit/types/current/track/hls/createUrlHlsManifestProvider.test.js +19 -0
  515. package/dist/unit/types/current/track/inferLoadOptionsFromUri.test.d.ts +2 -0
  516. package/dist/unit/types/current/track/inferLoadOptionsFromUri.test.d.ts.map +1 -0
  517. package/dist/unit/types/current/track/inferLoadOptionsFromUri.test.js +165 -0
  518. package/dist/unit/types/current/track/source/SourceTrack.test.js +5 -0
  519. package/dist/unit/types/current/track/source/SourceTrackBase.test.js +24 -3
  520. package/dist/unit/types/current/tsconfig.tsbuildinfo +1 -1
  521. package/dist/unit/types/current/util/media/codecOverrides.test.d.ts +2 -0
  522. package/dist/unit/types/current/util/media/codecOverrides.test.d.ts.map +1 -0
  523. package/dist/unit/types/current/util/media/codecOverrides.test.js +42 -0
  524. package/dist/unit/types/current/util/media/codecSupport.test.d.ts +2 -0
  525. package/dist/unit/types/current/util/media/codecSupport.test.d.ts.map +1 -0
  526. package/dist/unit/types/current/util/media/codecSupport.test.js +26 -0
  527. package/dist/unit/types/current/util/media/mediaSource.test.js +6 -0
  528. package/dist/unit/types/current/vinyl/VinylPlayer.test.js +177 -75
  529. package/dist/unit/types/current/vinyl/VinylPlayerAdBreaks.test.d.ts +2 -0
  530. package/dist/unit/types/current/vinyl/VinylPlayerAdBreaks.test.d.ts.map +1 -0
  531. package/dist/unit/types/current/vinyl/VinylPlayerAdBreaks.test.js +142 -0
  532. package/dist/unit/types/current/vinyl/VinylPlayerTextTracks.test.d.ts +2 -0
  533. package/dist/unit/types/current/vinyl/VinylPlayerTextTracks.test.d.ts.map +1 -0
  534. package/dist/unit/types/current/vinyl/VinylPlayerTextTracks.test.js +263 -0
  535. package/dist/vinylTestUtil/index.js +2393 -2232
  536. package/dist/vinylTestUtil/index.js.map +4 -4
  537. package/dist/vinylTestUtil/types/current/assets/vinylTestAssets.d.ts +14 -0
  538. package/dist/vinylTestUtil/types/current/assets/vinylTestAssets.d.ts.map +1 -1
  539. package/dist/vinylTestUtil/types/current/assets/vinylTestAssets.js +49 -30
  540. package/dist/vinylTestUtil/types/current/index.d.ts +53 -51
  541. package/dist/vinylTestUtil/types/current/index.d.ts.map +1 -1
  542. package/dist/vinylTestUtil/types/current/index.js +53 -51
  543. package/dist/vinylTestUtil/types/current/mock/ad/MockAdController.d.ts +15 -0
  544. package/dist/vinylTestUtil/types/current/mock/ad/MockAdController.d.ts.map +1 -0
  545. package/dist/vinylTestUtil/types/current/mock/ad/MockAdController.js +26 -0
  546. package/dist/vinylTestUtil/types/current/mock/dash/MockDashManifestController.d.ts +8 -1
  547. package/dist/vinylTestUtil/types/current/mock/dash/MockDashManifestController.d.ts.map +1 -1
  548. package/dist/vinylTestUtil/types/current/mock/dash/MockDashManifestController.js +15 -0
  549. package/dist/vinylTestUtil/types/current/mock/dash/mockDashManifest.d.ts +12 -12
  550. package/dist/vinylTestUtil/types/current/mock/drm/MockDrmController.d.ts +2 -2
  551. package/dist/vinylTestUtil/types/current/mock/drm/MockDrmController.d.ts.map +1 -1
  552. package/dist/vinylTestUtil/types/current/mock/hls/MockHlsManifestController.d.ts +7 -1
  553. package/dist/vinylTestUtil/types/current/mock/hls/MockHlsManifestController.d.ts.map +1 -1
  554. package/dist/vinylTestUtil/types/current/mock/hls/MockHlsManifestController.js +12 -0
  555. package/dist/vinylTestUtil/types/current/mock/hls/mockHlsManifest.d.ts +3 -3
  556. package/dist/vinylTestUtil/types/current/mock/hls/mockHlsManifest.d.ts.map +1 -1
  557. package/dist/vinylTestUtil/types/current/mock/hls/mockHlsManifest.js +1 -0
  558. package/dist/vinylTestUtil/types/current/mock/player/MockVinylPlayerDependencies.d.ts +8 -0
  559. package/dist/vinylTestUtil/types/current/mock/player/MockVinylPlayerDependencies.d.ts.map +1 -1
  560. package/dist/vinylTestUtil/types/current/mock/player/MockVinylPlayerDependencies.js +17 -1
  561. package/dist/vinylTestUtil/types/current/mock/streaming/MockContentStream.d.ts +2 -1
  562. package/dist/vinylTestUtil/types/current/mock/streaming/MockContentStream.d.ts.map +1 -1
  563. package/dist/vinylTestUtil/types/current/mock/streaming/MockContentStream.js +1 -0
  564. package/dist/vinylTestUtil/types/current/mock/streaming/buffering/MockBufferingController.d.ts +1 -0
  565. package/dist/vinylTestUtil/types/current/mock/streaming/buffering/MockBufferingController.d.ts.map +1 -1
  566. package/dist/vinylTestUtil/types/current/mock/streaming/buffering/MockBufferingController.js +1 -0
  567. package/dist/vinylTestUtil/types/current/mock/streaming/buffering/MockMediaSourceController.d.ts +2 -1
  568. package/dist/vinylTestUtil/types/current/mock/streaming/buffering/MockMediaSourceController.d.ts.map +1 -1
  569. package/dist/vinylTestUtil/types/current/mock/streaming/buffering/MockMediaSourceController.js +2 -1
  570. package/dist/vinylTestUtil/types/current/mock/text/MockTextTrackController.d.ts +10 -0
  571. package/dist/vinylTestUtil/types/current/mock/text/MockTextTrackController.d.ts.map +1 -0
  572. package/dist/vinylTestUtil/types/current/mock/text/MockTextTrackController.js +14 -0
  573. package/dist/vinylTestUtil/types/current/mock/track/MockTrack.d.ts +13 -4
  574. package/dist/vinylTestUtil/types/current/mock/track/MockTrack.d.ts.map +1 -1
  575. package/dist/vinylTestUtil/types/current/mock/track/MockTrack.js +11 -0
  576. package/dist/vinylTestUtil/types/current/mock/track/MockTrackController.d.ts +3 -2
  577. package/dist/vinylTestUtil/types/current/mock/track/MockTrackController.d.ts.map +1 -1
  578. package/dist/vinylTestUtil/types/current/mock/track/MockTrackController.js +2 -1
  579. package/dist/vinylTestUtil/types/current/mock/track/dash/createMockDashDependencies.d.ts +6 -0
  580. package/dist/vinylTestUtil/types/current/mock/track/dash/createMockDashDependencies.d.ts.map +1 -1
  581. package/dist/vinylTestUtil/types/current/mock/track/dash/createMockDashDependencies.js +8 -1
  582. package/dist/vinylTestUtil/types/current/mock/track/hls/createMockHlsDependencies.d.ts +4 -0
  583. package/dist/vinylTestUtil/types/current/mock/track/hls/createMockHlsDependencies.d.ts.map +1 -1
  584. package/dist/vinylTestUtil/types/current/mock/track/hls/createMockHlsDependencies.js +6 -1
  585. package/dist/vinylTestUtil/types/current/player/createVinylSuite.d.ts.map +1 -1
  586. package/dist/vinylTestUtil/types/current/player/createVinylSuite.js +18 -7
  587. package/dist/vinylTestUtil/types/current/tsconfig.tsbuildinfo +1 -1
  588. package/dist/vinylTestUtil/types/current/util/playback/eventPromises.d.ts.map +1 -1
  589. package/dist/vinylTestUtil/types/current/util/playback/eventPromises.js +1 -1
  590. package/dist/vinylTestUtil/types/current/util/playback/expectTrackCanSeek.d.ts.map +1 -1
  591. package/dist/vinylTestUtil/types/current/util/playback/expectTrackCanSeek.js +5 -2
  592. package/dist/vinylTestUtil/types/current/util/playback/expectTrackPlays.js +3 -3
  593. package/dist/vinylTestUtil/types/current/util/playback/expectTrackPlaysUntil.d.ts.map +1 -1
  594. package/dist/vinylTestUtil/types/current/util/playback/expectTrackPlaysUntil.js +11 -7
  595. package/dist/vinylTestUtil/types/ts3.7/assets/vinylTestAssets.d.ts +14 -0
  596. package/dist/vinylTestUtil/types/ts3.7/index.d.ts +53 -51
  597. package/dist/vinylTestUtil/types/ts3.7/mock/ad/MockAdController.d.ts +15 -0
  598. package/dist/vinylTestUtil/types/ts3.7/mock/dash/MockDashManifestController.d.ts +8 -1
  599. package/dist/vinylTestUtil/types/ts3.7/mock/dash/mockDashManifest.d.ts +12 -12
  600. package/dist/vinylTestUtil/types/ts3.7/mock/drm/MockDrmController.d.ts +2 -2
  601. package/dist/vinylTestUtil/types/ts3.7/mock/hls/MockHlsManifestController.d.ts +7 -1
  602. package/dist/vinylTestUtil/types/ts3.7/mock/hls/mockHlsManifest.d.ts +3 -3
  603. package/dist/vinylTestUtil/types/ts3.7/mock/player/MockVinylPlayerDependencies.d.ts +8 -0
  604. package/dist/vinylTestUtil/types/ts3.7/mock/streaming/MockContentStream.d.ts +2 -1
  605. package/dist/vinylTestUtil/types/ts3.7/mock/streaming/buffering/MockBufferingController.d.ts +1 -0
  606. package/dist/vinylTestUtil/types/ts3.7/mock/streaming/buffering/MockMediaSourceController.d.ts +2 -1
  607. package/dist/vinylTestUtil/types/ts3.7/mock/text/MockTextTrackController.d.ts +10 -0
  608. package/dist/vinylTestUtil/types/ts3.7/mock/track/MockTrack.d.ts +13 -4
  609. package/dist/vinylTestUtil/types/ts3.7/mock/track/MockTrackController.d.ts +3 -2
  610. package/dist/vinylTestUtil/types/ts3.7/mock/track/dash/createMockDashDependencies.d.ts +6 -0
  611. package/dist/vinylTestUtil/types/ts3.7/mock/track/hls/createMockHlsDependencies.d.ts +4 -0
  612. package/dist/vinylTestUtil/types/ts4.1/assets/vinylTestAssets.d.ts +14 -0
  613. package/dist/vinylTestUtil/types/ts4.1/index.d.ts +53 -51
  614. package/dist/vinylTestUtil/types/ts4.1/mock/ad/MockAdController.d.ts +15 -0
  615. package/dist/vinylTestUtil/types/ts4.1/mock/dash/MockDashManifestController.d.ts +8 -1
  616. package/dist/vinylTestUtil/types/ts4.1/mock/dash/mockDashManifest.d.ts +12 -12
  617. package/dist/vinylTestUtil/types/ts4.1/mock/drm/MockDrmController.d.ts +2 -2
  618. package/dist/vinylTestUtil/types/ts4.1/mock/hls/MockHlsManifestController.d.ts +7 -1
  619. package/dist/vinylTestUtil/types/ts4.1/mock/hls/mockHlsManifest.d.ts +3 -3
  620. package/dist/vinylTestUtil/types/ts4.1/mock/player/MockVinylPlayerDependencies.d.ts +8 -0
  621. package/dist/vinylTestUtil/types/ts4.1/mock/streaming/MockContentStream.d.ts +2 -1
  622. package/dist/vinylTestUtil/types/ts4.1/mock/streaming/buffering/MockBufferingController.d.ts +1 -0
  623. package/dist/vinylTestUtil/types/ts4.1/mock/streaming/buffering/MockMediaSourceController.d.ts +2 -1
  624. package/dist/vinylTestUtil/types/ts4.1/mock/text/MockTextTrackController.d.ts +10 -0
  625. package/dist/vinylTestUtil/types/ts4.1/mock/track/MockTrack.d.ts +13 -4
  626. package/dist/vinylTestUtil/types/ts4.1/mock/track/MockTrackController.d.ts +3 -2
  627. package/dist/vinylTestUtil/types/ts4.1/mock/track/dash/createMockDashDependencies.d.ts +6 -0
  628. package/dist/vinylTestUtil/types/ts4.1/mock/track/hls/createMockHlsDependencies.d.ts +4 -0
  629. package/dist/vinylTestUtil/types/ts4.7/assets/vinylTestAssets.d.ts +14 -0
  630. package/dist/vinylTestUtil/types/ts4.7/index.d.ts +53 -51
  631. package/dist/vinylTestUtil/types/ts4.7/mock/ad/MockAdController.d.ts +15 -0
  632. package/dist/vinylTestUtil/types/ts4.7/mock/dash/MockDashManifestController.d.ts +8 -1
  633. package/dist/vinylTestUtil/types/ts4.7/mock/dash/mockDashManifest.d.ts +12 -12
  634. package/dist/vinylTestUtil/types/ts4.7/mock/drm/MockDrmController.d.ts +2 -2
  635. package/dist/vinylTestUtil/types/ts4.7/mock/hls/MockHlsManifestController.d.ts +7 -1
  636. package/dist/vinylTestUtil/types/ts4.7/mock/hls/mockHlsManifest.d.ts +3 -3
  637. package/dist/vinylTestUtil/types/ts4.7/mock/player/MockVinylPlayerDependencies.d.ts +8 -0
  638. package/dist/vinylTestUtil/types/ts4.7/mock/streaming/MockContentStream.d.ts +2 -1
  639. package/dist/vinylTestUtil/types/ts4.7/mock/streaming/buffering/MockBufferingController.d.ts +1 -0
  640. package/dist/vinylTestUtil/types/ts4.7/mock/streaming/buffering/MockMediaSourceController.d.ts +2 -1
  641. package/dist/vinylTestUtil/types/ts4.7/mock/text/MockTextTrackController.d.ts +10 -0
  642. package/dist/vinylTestUtil/types/ts4.7/mock/track/MockTrack.d.ts +13 -4
  643. package/dist/vinylTestUtil/types/ts4.7/mock/track/MockTrackController.d.ts +3 -2
  644. package/dist/vinylTestUtil/types/ts4.7/mock/track/dash/createMockDashDependencies.d.ts +6 -0
  645. package/dist/vinylTestUtil/types/ts4.7/mock/track/hls/createMockHlsDependencies.d.ts +4 -0
  646. package/docs/ADS.md +264 -0
  647. package/docs/USAGE.md +142 -9
  648. package/package.json +18 -18
  649. package/dist/types/current/track/hls/HlsManifestProvider.d.ts.map +0 -1
  650. package/dist/unit/types/current/track/dash/DashManifestController.test.d.ts +0 -2
  651. package/dist/unit/types/current/track/dash/DashManifestController.test.d.ts.map +0 -1
  652. package/dist/unit/types/current/track/dash/DashManifestController.test.js +0 -186
  653. /package/dist/types/current/{track/hls/HlsManifestProvider.js → ad/AdBreakInfo.js} +0 -0
@@ -1,43 +1,4 @@
1
- import type { DashManifestData, DashManifestProvider } from './DashManifestProvider';
2
1
  import type { ManifestController } from '../../streaming/ManifestController';
2
+ import type { DashManifestData } from './DashManifestProvider';
3
3
  export type DashManifestController = ManifestController<Promise<DashManifestData>>;
4
- export interface DashManifestControllerImplDeps {
5
- /**
6
- * Resolves the untransformed manifest.
7
- */
8
- readonly manifestProvider: DashManifestProvider;
9
- }
10
- export declare class DashManifestControllerImpl implements DashManifestController {
11
- readonly deps: DashManifestControllerImplDeps;
12
- get [Symbol.toStringTag](): string;
13
- get logPrefix(): string;
14
- private readonly _data;
15
- private _error;
16
- private readonly abortSlot;
17
- private readonly disposer;
18
- constructor(deps: DashManifestControllerImplDeps);
19
- /**
20
- * The most recent error from the manifest provider, or null.
21
- * This may be a silent error, such as an AbortError.
22
- */
23
- get error(): Error | null;
24
- /**
25
- * Reloads the manifest. Aborts any in-flight request and clears any
26
- * previous error before starting a new fetch.
27
- */
28
- refresh(): void;
29
- /**
30
- * If the manifest is in an error state, triggers a refresh.
31
- */
32
- reset(): void;
33
- get value(): Promise<DashManifestData>;
34
- get changeId(): number;
35
- getValue(): Promise<DashManifestData>;
36
- onData(callback: (value: Promise<DashManifestData>, previous: Promise<DashManifestData> | undefined) => void): import("@amazon/vinyl-util").Unsubscribe;
37
- map<U>(transform: (value: Promise<DashManifestData>) => U): import("@amazon/vinyl-observable").MutableValue<U>;
38
- pick<K extends keyof NonNullable<Promise<DashManifestData>>>(prop: K): import("@amazon/vinyl-observable").MutableValue<Promise<DashManifestData>[K]>;
39
- private abort;
40
- get disposed(): boolean;
41
- dispose(): void;
42
- }
43
4
  //# sourceMappingURL=DashManifestController.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DashManifestController.d.ts","sourceRoot":"","sources":["../../../../../src/track/dash/DashManifestController.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACR,gBAAgB,EAChB,oBAAoB,EACvB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAA;AAE5E,MAAM,MAAM,sBAAsB,GAAG,kBAAkB,CACnD,OAAO,CAAC,gBAAgB,CAAC,CAC5B,CAAA;AAED,MAAM,WAAW,8BAA8B;IAC3C;;OAEG;IACH,QAAQ,CAAC,gBAAgB,EAAE,oBAAoB,CAAA;CAClD;AAED,qBAAa,0BAA2B,YAAW,sBAAsB;IAgBzD,QAAQ,CAAC,IAAI,EAAE,8BAA8B;IAfzD,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAEjC;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,OAAO,CAAC,QAAQ,CAAC,KAAK,CAErB;IACD,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoB;IAC9C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;gBAEvB,IAAI,EAAE,8BAA8B;IAMzD;;;OAGG;IACH,IAAI,KAAK,IAAI,KAAK,GAAG,IAAI,CAExB;IAED;;;OAGG;IACH,OAAO;IAWP;;OAEG;IACH,KAAK;IAOL,IAAI,KAAK,8BAER;IAED,IAAI,QAAQ,WAEX;IAED,QAAQ;IAIR,MAAM,CACF,QAAQ,EAAE,CACN,KAAK,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAChC,QAAQ,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,SAAS,KAC9C,IAAI;IAKb,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC;IAIzD,IAAI,CAAC,CAAC,SAAS,MAAM,WAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;IAIpE,OAAO,CAAC,KAAK;IAIb,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,OAAO;CAIV"}
1
+ {"version":3,"file":"DashManifestController.d.ts","sourceRoot":"","sources":["../../../../../src/track/dash/DashManifestController.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAA;AAC5E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAE9D,MAAM,MAAM,sBAAsB,GAAG,kBAAkB,CACnD,OAAO,CAAC,gBAAgB,CAAC,CAC5B,CAAA"}
@@ -2,82 +2,4 @@
2
2
  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
- import { data } from '@amazon/vinyl-observable';
6
- import { createAbortSlot, createDisposer, logDebug } from '@amazon/vinyl-util';
7
- export class DashManifestControllerImpl {
8
- deps;
9
- get [Symbol.toStringTag]() {
10
- return 'DashManifestControllerImpl';
11
- }
12
- get logPrefix() {
13
- return 'DashManifestControllerImpl';
14
- }
15
- _data = data(Promise.reject(new Error('manifest not loaded')));
16
- _error = null;
17
- abortSlot = createAbortSlot();
18
- disposer = createDisposer();
19
- constructor(deps) {
20
- this.deps = deps;
21
- // Suppress unhandled rejection on the initial placeholder.
22
- this._data.value.catch(() => { });
23
- this.refresh();
24
- }
25
- /**
26
- * The most recent error from the manifest provider, or null.
27
- * This may be a silent error, such as an AbortError.
28
- */
29
- get error() {
30
- return this._error;
31
- }
32
- /**
33
- * Reloads the manifest. Aborts any in-flight request and clears any
34
- * previous error before starting a new fetch.
35
- */
36
- refresh() {
37
- logDebug(this, 'refresh');
38
- this.abort();
39
- this._error = null;
40
- const promise = this.deps.manifestProvider(this.abortSlot.value);
41
- promise.catch((error) => {
42
- this._error = error;
43
- });
44
- this._data.value = promise;
45
- }
46
- /**
47
- * If the manifest is in an error state, triggers a refresh.
48
- */
49
- reset() {
50
- logDebug(this, 'reset');
51
- if (this._error) {
52
- this.refresh();
53
- }
54
- }
55
- get value() {
56
- return this._data.value;
57
- }
58
- get changeId() {
59
- return this._data.changeId;
60
- }
61
- getValue() {
62
- return this._data.getValue();
63
- }
64
- onData(callback) {
65
- return this._data.onData(callback);
66
- }
67
- map(transform) {
68
- return this._data.map(transform);
69
- }
70
- pick(prop) {
71
- return this._data.pick(prop);
72
- }
73
- abort() {
74
- this.abortSlot.abort();
75
- }
76
- get disposed() {
77
- return this.disposer.disposed;
78
- }
79
- dispose() {
80
- this.abort();
81
- this.disposer.dispose();
82
- }
83
- }
5
+ export {};
@@ -1 +1 @@
1
- {"version":3,"file":"DashMediaQualityMetadataResolver.d.ts","sourceRoot":"","sources":["../../../../../src/track/dash/DashMediaQualityMetadataResolver.ts"],"names":[],"mappings":"AAeA,OAAO,EAEH,KAAK,iBAAiB,EAGtB,KAAK,UAAU,EAEf,KAAK,kBAAkB,EAC1B,MAAM,0BAA0B,CAAA;AACjC,OAAO,KAAK,EACR,WAAW,EACX,aAAa,EACb,oBAAoB,EACvB,MAAM,sCAAsC,CAAA;AAC7C,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,gCAAgC,CAAA;AAS1E;;;GAGG;AACH,eAAO,MAAM,+BAA+B,gDACK,CAAA;AAEjD;;GAEG;AACH,MAAM,MAAM,gCAAgC,GAAG,CAC3C,cAAc,EAAE,kBAAkB,KACjC,oBAAoB,CAAA;AAEzB;;;GAGG;AACH,wBAAgB,6CAA6C,CACzD,IAAI,EAAE,oCAAoC,GAC3C,gCAAgC,CAUlC;AAED,MAAM,WAAW,oCAAoC;IACjD,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,CAAA;CACtD;AAED,wBAAgB,gDAAgD,CAC5D,cAAc,EAAE,kBAAkB,EAClC,IAAI,EAAE,oCAAoC,GAC3C,oBAAoB,CA0FtB;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACjC,cAAc,EAAE,kBAAkB,EAClC,WAAW,EAAE,WAAW,GACzB,MAAM,CAqBR;AAED;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,4DACzB,UAAU,KAAG,WAAW,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC,CA0BpE,CAAA;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACvC,iBAAiB,EAAE,iBAAiB,EACpC,IAAI,EAAE,oCAAoC,GAC3C,SAAS,aAAa,EAAE,CAS1B"}
1
+ {"version":3,"file":"DashMediaQualityMetadataResolver.d.ts","sourceRoot":"","sources":["../../../../../src/track/dash/DashMediaQualityMetadataResolver.ts"],"names":[],"mappings":"AAeA,OAAO,EAEH,KAAK,iBAAiB,EAGtB,KAAK,UAAU,EAEf,KAAK,kBAAkB,EAC1B,MAAM,0BAA0B,CAAA;AACjC,OAAO,KAAK,EACR,WAAW,EACX,aAAa,EACb,oBAAoB,EACvB,MAAM,sCAAsC,CAAA;AAC7C,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,gCAAgC,CAAA;AAS1E;;;GAGG;AACH,eAAO,MAAM,+BAA+B,gDACK,CAAA;AAEjD;;GAEG;AACH,MAAM,MAAM,gCAAgC,GAAG,CAC3C,cAAc,EAAE,kBAAkB,KACjC,oBAAoB,CAAA;AAEzB;;;GAGG;AACH,wBAAgB,6CAA6C,CACzD,IAAI,EAAE,oCAAoC,GAC3C,gCAAgC,CAUlC;AAED,MAAM,WAAW,oCAAoC;IACjD,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,CAAA;CACtD;AAED,wBAAgB,gDAAgD,CAC5D,cAAc,EAAE,kBAAkB,EAClC,IAAI,EAAE,oCAAoC,GAC3C,oBAAoB,CAwGtB;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACjC,cAAc,EAAE,kBAAkB,EAClC,WAAW,EAAE,WAAW,GACzB,MAAM,CAqBR;AAED;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,4DACzB,UAAU,KAAG,WAAW,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC,CA0BpE,CAAA;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACvC,iBAAiB,EAAE,iBAAiB,EACpC,IAAI,EAAE,oCAAoC,GAC3C,SAAS,aAAa,EAAE,CAS1B"}
@@ -48,6 +48,18 @@ export function createMediaQualityMetadataFromDashRepresentation(representation,
48
48
  const arr2 = representation[key] ?? [];
49
49
  return mapDescriptors([...arr1, ...arr2]);
50
50
  }
51
+ // Role / Accessibility descriptor values describe the rendition's purpose
52
+ // (e.g. `description` for audio description). Surfaced as characteristics so
53
+ // accessibility renditions aren't auto-selected by default. Mirrors the
54
+ // derivation in discoverDashTextTracks.
55
+ const roleValues = (adaptationSet.Role ?? [])
56
+ .filter((d) => d.schemeIdUri === 'urn:mpeg:dash:role:2011')
57
+ .map((d) => d.value)
58
+ .filter((v) => v != null);
59
+ const accessibilityValues = (adaptationSet.Accessibility ?? [])
60
+ .map((d) => d.value)
61
+ .filter((v) => v != null);
62
+ const characteristics = [...roleValues, ...accessibilityValues];
51
63
  const contentProtections = [
52
64
  ...(adaptationSet.ContentProtection ?? []),
53
65
  ...(representation.ContentProtection ?? []),
@@ -79,6 +91,7 @@ export function createMediaQualityMetadataFromDashRepresentation(representation,
79
91
  width: pick('width'),
80
92
  height: pick('height'),
81
93
  lang: adaptationSet.lang ?? null,
94
+ characteristics,
82
95
  contentProtections: contentProtections.flatMap((cP) => contentProtectionToMetadata(cP, deps)),
83
96
  encryptionScheme,
84
97
  initDataType,
@@ -1,13 +1,12 @@
1
- import { type TrackBaseOptions } from '../TrackBase';
2
- import { type DashManifestProvider, type DashManifestData } from './DashManifestProvider';
3
- import type { DashManifestController } from './DashManifestController';
4
- import type { TrackFactory, TrackLoadOptions } from '../TrackFactory';
1
+ import { type DashManifestData, type DashManifestProvider } from './DashManifestProvider';
2
+ import { type TrackConfigOptions, type TrackFactory, type TrackLoadOptions } from '../TrackFactory';
5
3
  import type { ObservableValue } from '@amazon/vinyl-observable';
6
4
  import { type Maybe, type RequestInitOptions } from '@amazon/vinyl-util';
7
5
  import { type Factories } from '@amazon/vinyl-di';
8
6
  import type { DashMediaQualityMetadataResolver } from './DashMediaQualityMetadataResolver';
9
7
  import { type MseTrackDeps } from '../mse/MseTrack';
10
8
  import type { MediaTimeline } from '../../streaming/MediaTimeline';
9
+ import type { DashManifestController } from './DashManifestController';
11
10
  export interface DashTrackLoadOptions extends TrackLoadOptions {
12
11
  readonly type: 'dash';
13
12
  /**
@@ -30,7 +29,7 @@ export interface DashTrackLoadOptions extends TrackLoadOptions {
30
29
  * Configuration options for the DashTrack.
31
30
  * Will be set before the track is activated.
32
31
  */
33
- readonly config?: Maybe<TrackBaseOptions>;
32
+ readonly config?: Maybe<TrackConfigOptions>;
34
33
  }
35
34
  export type DashTrackFactoryDeps = {
36
35
  readonly createDashFactories: (loadOptions: DashTrackLoadOptions) => Factories<DashTrackDeps>;
@@ -1 +1 @@
1
- {"version":3,"file":"DashTrack.d.ts","sourceRoot":"","sources":["../../../../../src/track/dash/DashTrack.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,gBAAgB,EAA6B,MAAM,cAAc,CAAA;AAC/E,OAAO,EACH,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACxB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AACtE,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AACrE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,EAEH,KAAK,KAAK,EACV,KAAK,kBAAkB,EAC1B,MAAM,oBAAoB,CAAA;AAS3B,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAA;AAC1F,OAAO,EAAY,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAElE,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB;IAC1D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IAErB;;;;OAIG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,KAAK,CAAC,oBAAoB,CAAC,CAAA;IAEvD;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAA;IAEhD;;;OAGG;IACH,QAAQ,CAAC,kBAAkB,CAAC,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAA;IAEvD;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAA;CAC5C;AAcD,MAAM,MAAM,oBAAoB,GAAG;IAC/B,QAAQ,CAAC,mBAAmB,EAAE,CAC1B,WAAW,EAAE,oBAAoB,KAChC,SAAS,CAAC,aAAa,CAAC,CAAA;CAChC,CAAA;AAED,wBAAgB,sBAAsB,CAClC,IAAI,EAAE,oBAAoB,GAC3B,YAAY,CAAC,oBAAoB,CAAC,CAcpC;AAED,MAAM,WAAW,aAAc,SAAQ,YAAY;IAC/C,QAAQ,CAAC,kBAAkB,EAAE,sBAAsB,CAAA;IACnD,QAAQ,CAAC,4BAA4B,EAAE,gCAAgC,CAAA;IACvE,QAAQ,CAAC,mBAAmB,EAAE,eAAe,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAA;IACxE,QAAQ,CAAC,aAAa,EAAE,eAAe,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAA;IAC/D,QAAQ,CAAC,wBAAwB,EAAE,eAAe,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAA;CAC7E"}
1
+ {"version":3,"file":"DashTrack.d.ts","sourceRoot":"","sources":["../../../../../src/track/dash/DashTrack.ts"],"names":[],"mappings":"AAKA,OAAO,EACH,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EAC5B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EACH,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EAExB,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,EAEH,KAAK,KAAK,EACV,KAAK,kBAAkB,EAC1B,MAAM,oBAAoB,CAAA;AAQ3B,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAA;AAC1F,OAAO,EAAY,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAClE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AAEtE,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB;IAC1D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IAErB;;;;OAIG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,KAAK,CAAC,oBAAoB,CAAC,CAAA;IAEvD;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAA;IAEhD;;;OAGG;IACH,QAAQ,CAAC,kBAAkB,CAAC,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAA;IAEvD;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAA;CAC9C;AAaD,MAAM,MAAM,oBAAoB,GAAG;IAC/B,QAAQ,CAAC,mBAAmB,EAAE,CAC1B,WAAW,EAAE,oBAAoB,KAChC,SAAS,CAAC,aAAa,CAAC,CAAA;CAChC,CAAA;AAED,wBAAgB,sBAAsB,CAClC,IAAI,EAAE,oBAAoB,GAC3B,YAAY,CAAC,oBAAoB,CAAC,CAcpC;AAED,MAAM,WAAW,aAAc,SAAQ,YAAY;IAC/C,QAAQ,CAAC,kBAAkB,EAAE,sBAAsB,CAAA;IACnD,QAAQ,CAAC,4BAA4B,EAAE,gCAAgC,CAAA;IACvE,QAAQ,CAAC,mBAAmB,EAAE,eAAe,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAA;IACxE,QAAQ,CAAC,aAAa,EAAE,eAAe,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAA;IAC/D,QAAQ,CAAC,wBAAwB,EAAE,eAAe,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAA;CAC7E"}
@@ -2,12 +2,11 @@
2
2
  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
- import { trackBaseOptionsValidator } from '../TrackBase';
5
+ import { trackLoadOptionsValidator, } from '../TrackFactory';
6
6
  import { ErrorOrigin, } from '@amazon/vinyl-util';
7
- import { func, isOneOf, object, string, } from '@amazon/vinyl-validation';
7
+ import { func, isOneOf, object, } from '@amazon/vinyl-validation';
8
8
  import { MseTrack } from '../mse/MseTrack';
9
- const loadOptionsValidator = object({
10
- config: trackBaseOptionsValidator.maybe().optional(),
9
+ const loadOptionsValidator = trackLoadOptionsValidator.extend({
11
10
  manifestProvider: func().maybe().optional(),
12
11
  requestInit: object({}).cast().maybe().optional(),
13
12
  segmentRequestInit: object({})
@@ -15,7 +14,6 @@ const loadOptionsValidator = object({
15
14
  .maybe()
16
15
  .optional(),
17
16
  type: isOneOf('dash'),
18
- uri: string().notEmpty(),
19
17
  });
20
18
  export function createDashTrackFactory(deps) {
21
19
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"buildDashMediaTimeline.d.ts","sourceRoot":"","sources":["../../../../../src/track/dash/buildDashMediaTimeline.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,KAAK,EAGR,aAAa,EAChB,MAAM,+BAA+B,CAAA;AAQtC,OAAO,EAEH,KAAK,uBAAuB,EAC/B,MAAM,8CAA8C,CAAA;AAErD,MAAM,MAAM,0BAA0B,GAAG,uBAAuB,CAAA;AAEhE;;GAEG;AACH,wBAAgB,sBAAsB,CAClC,IAAI,EAAE,0BAA0B,EAChC,IAAI,EAAE,gBAAgB,GACvB,aAAa,CA8Bf"}
1
+ {"version":3,"file":"buildDashMediaTimeline.d.ts","sourceRoot":"","sources":["../../../../../src/track/dash/buildDashMediaTimeline.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,KAAK,EAGR,aAAa,EAChB,MAAM,+BAA+B,CAAA;AAQtC,OAAO,EAEH,KAAK,uBAAuB,EAC/B,MAAM,8CAA8C,CAAA;AAErD,MAAM,MAAM,0BAA0B,GAAG,uBAAuB,CAAA;AAEhE;;GAEG;AACH,wBAAgB,sBAAsB,CAClC,IAAI,EAAE,0BAA0B,EAChC,IAAI,EAAE,gBAAgB,GACvB,aAAa,CA+Bf"}
@@ -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 { calculateDuration, calculatePeriodEnd, calculatePeriodStart, flattenRepresentations, } from './util/mpd';
5
+ import { calculateDuration, calculatePeriodEnd, calculatePeriodStart, flattenMediaRepresentations, } from './util/mpd';
6
6
  import { createDashRepresentationSegmentProvider, } from './timeline/DashRepresentationSegmentProvider';
7
7
  /**
8
8
  * Builds a MediaTimeline from a Dash manifest.
@@ -12,7 +12,7 @@ export function buildDashMediaTimeline(deps, data) {
12
12
  const periods = manifest.MPD.Period.map((period) => {
13
13
  const startTime = calculatePeriodStart(period);
14
14
  const endTime = calculatePeriodEnd(period) ?? Infinity;
15
- const representations = flattenRepresentations(period);
15
+ const representations = flattenMediaRepresentations(period);
16
16
  const qualities = representations.map((representation) => {
17
17
  const metadata = deps.mediaQualityMetadataResolver(representation);
18
18
  const segmentProvider = createDashRepresentationSegmentProvider(deps, baseUrl, representation);
@@ -27,6 +27,7 @@ export function buildDashMediaTimeline(deps, data) {
27
27
  return {
28
28
  periods,
29
29
  minBufferTime: manifest.MPD.minBufferTime,
30
+ getAdBreaks: () => Promise.resolve([]), // Dash ads are not yet supported
30
31
  getDuration: () => Promise.resolve(duration),
31
32
  };
32
33
  }
@@ -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 { flattenRepresentations } from './util/mpd';
5
+ import { flattenMediaRepresentations } from './util/mpd';
6
6
  /**
7
7
  * Creates an ObservableValue for the types of streams that are available in the
8
8
  * filtered dash manifest.
@@ -23,7 +23,7 @@ function getContentTypes(deps, manifest) {
23
23
  for (const period of manifest.MPD.Period) {
24
24
  if (!period.AdaptationSet)
25
25
  continue;
26
- const mediaMetadata = flattenRepresentations(period).map(deps.mediaQualityMetadataResolver);
26
+ const mediaMetadata = flattenMediaRepresentations(period).map(deps.mediaQualityMetadataResolver);
27
27
  for (const { contentType } of mediaMetadata) {
28
28
  if (contentType)
29
29
  contentTypes.add(contentType);
@@ -5,34 +5,44 @@ import { createMediaSource } from '../../util/media/mediaSource';
5
5
  import { type DashMediaQualityMetadataResolverDeps } from './DashMediaQualityMetadataResolver';
6
6
  import { MediaSourceControllerImpl, type MediaSourceControllerImplDeps } from '../../streaming/buffering/MediaSourceController';
7
7
  import type { PlaybackController } from '../../playback/PlaybackController';
8
- import { type DashManifestController, type DashManifestControllerImplDeps } from './DashManifestController';
9
8
  import type { DrmKeySystemResolver } from '../../drm/DrmKeySystemResolver';
10
9
  import type { DrmController } from '../../drm/DrmController';
11
10
  import type { Capabilities } from '../../client/Capabilities';
12
- import { QualitySelectorImpl, type QualitySelectorImplOptions } from '../../streaming/abr/QualitySelectorImpl';
11
+ import { QualitySelectorImpl } from '../../streaming/abr/QualitySelectorImpl';
13
12
  import type { PlaybackSource } from '../../playback/PlaybackSource';
14
13
  import { createContentStreamFactory } from '../../streaming/ContentStream';
15
14
  import type { ContentStreamingOptions } from '../../streaming/ContentStreamingOptions';
16
15
  import { createDashContentTypesValue } from './createDashContentTypesValue';
16
+ import { createAllowedContentTypesValue } from '../../streaming/createAllowedContentTypesValue';
17
17
  import type { ObservableValue } from '@amazon/vinyl-observable';
18
18
  import type { VinylOptions } from '../../vinyl/VinylOptions';
19
19
  import { type BuildDashMediaTimelineDeps } from './buildDashMediaTimeline';
20
20
  import { createDefaultMediaTimelineTransformer } from '../../streaming/createDefaultMediaTimelineTransformer';
21
21
  import type { DashManifestData } from './DashManifestProvider';
22
+ import { SidecarTextTrackController } from '../../text/SidecarTextTrackController';
23
+ import type { AdController } from '../../ad/AdController';
24
+ import { ManifestControllerImpl, type ManifestControllerImplDeps } from '../../streaming/ManifestControllerImpl';
22
25
  /**
23
26
  * Player-level dependencies needed for the Dash-specific factories.
24
27
  */
25
28
  export interface DashFactoryDeps {
26
- readonly options: ObservableValue<{
27
- readonly abr: QualitySelectorImplOptions;
28
- readonly preferredAudioLanguage: string | null;
29
- }>;
29
+ readonly options: ObservableValue<Pick<VinylOptions, 'abr' | 'preferredAudioLanguage' | 'allowedContentTypes' | 'preferDescriptiveAudio' | 'preferredTextLanguage' | 'textCueStyle'>>;
30
30
  readonly playbackController: PlaybackController;
31
31
  readonly playbackSource: PlaybackSource;
32
32
  readonly drmKeySystemResolver: DrmKeySystemResolver;
33
33
  readonly requestInterceptor: RequestInterceptor;
34
34
  readonly drmController: DrmController;
35
35
  readonly capabilities: Capabilities;
36
+ /**
37
+ * The HTML media element. Required to attach sidecar text tracks via
38
+ * `media.addTextTrack`.
39
+ */
40
+ readonly media: HTMLMediaElement;
41
+ /**
42
+ * The player-level ad controller. MseTrack sets discovered ad breaks on it
43
+ * when the media timeline resolves.
44
+ */
45
+ readonly adController: AdController;
36
46
  }
37
47
  export type DashInitOptions = {
38
48
  readonly streaming?: Maybe<ContentStreamingOptions>;
@@ -42,13 +52,14 @@ export type DashInitOptions = {
42
52
  * a new DashTrack.
43
53
  */
44
54
  export declare function createDashFactories(options: Maybe<DashInitOptions>): (deps: DashFactoryDeps) => (loadOptions: DashTrackLoadOptions) => NoInfer<{
45
- contentTypesValue: typeof createDashContentTypesValue;
55
+ baseContentTypesValue: typeof createDashContentTypesValue;
56
+ contentTypesValue: typeof createAllowedContentTypesValue;
46
57
  baseUrlSelector: () => import("./util/uriResolution").BaseUrlSelector;
47
58
  segmentRequestInit: () => Maybe<Readonly<Omit<RequestInit, "signal">>>;
48
59
  manifestProvider: (deps: {
49
60
  readonly requestInterceptor: RequestInterceptor;
50
61
  }) => import("./DashManifestProvider").DashManifestProvider;
51
- manifestController: (deps: DashManifestControllerImplDeps) => DashManifestController;
62
+ manifestController: (deps: ManifestControllerImplDeps<DashManifestData>) => ManifestControllerImpl<DashManifestData>;
52
63
  mediaSourceFactory: () => typeof createMediaSource;
53
64
  mediaQualityMetadataResolver: (deps: DashMediaQualityMetadataResolverDeps) => import("./DashMediaQualityMetadataResolver").DashMediaQualityMetadataResolver;
54
65
  mediaSourceController: (deps: MediaSourceControllerImplDeps) => MediaSourceControllerImpl;
@@ -65,20 +76,36 @@ export declare function createDashFactories(options: Maybe<DashInitOptions>): (d
65
76
  qualitySelector: (deps: {
66
77
  options: ObservableValue<Pick<VinylOptions, "abr">>;
67
78
  }) => QualitySelectorImpl;
79
+ preferredAudioLanguage: (deps: {
80
+ options: ObservableValue<Pick<VinylOptions, "preferredAudioLanguage">>;
81
+ }) => ObservableValue<string | readonly string[] | null>;
82
+ allowedContentTypes: (deps: {
83
+ options: ObservableValue<Pick<VinylOptions, "allowedContentTypes">>;
84
+ }) => ObservableValue<readonly import("../..").RestrictableContentType[] | null>;
85
+ preferDescriptiveAudio: (deps: {
86
+ options: ObservableValue<Pick<VinylOptions, "preferDescriptiveAudio">>;
87
+ }) => ObservableValue<boolean>;
88
+ abr: (deps: {
89
+ options: ObservableValue<Pick<VinylOptions, "abr">>;
90
+ }) => ObservableValue<import("../..").QualitySelectorImplOptions>;
68
91
  manifestTransformed: typeof createDefaultDashManifestTransformer;
69
92
  mediaTimeline: (deps: BuildDashMediaTimelineDeps & {
70
93
  readonly manifestTransformed: ObservableValue<Promise<DashManifestData>>;
71
94
  }) => ObservableValue<Promise<import("../..").MediaTimeline>>;
72
95
  mediaTimelineTransformed: typeof createDefaultMediaTimelineTransformer;
73
- options: import("@amazon/vinyl-di").Factory<ObservableValue<{
74
- readonly abr: QualitySelectorImplOptions;
75
- readonly preferredAudioLanguage: string | null;
76
- }>>;
96
+ textTrackController: (deps: {
97
+ readonly media: HTMLMediaElement;
98
+ readonly manifestTransformed: ObservableValue<Promise<DashManifestData>>;
99
+ readonly options: ObservableValue<Pick<VinylOptions, "preferredTextLanguage" | "textCueStyle">>;
100
+ }) => SidecarTextTrackController;
101
+ options: import("@amazon/vinyl-di").Factory<ObservableValue<Pick<VinylOptions, "abr" | "preferredAudioLanguage" | "preferredTextLanguage" | "preferDescriptiveAudio" | "allowedContentTypes" | "textCueStyle">>>;
77
102
  playbackController: import("@amazon/vinyl-di").Factory<PlaybackController>;
78
103
  playbackSource: import("@amazon/vinyl-di").Factory<PlaybackSource>;
79
104
  drmKeySystemResolver: import("@amazon/vinyl-di").Factory<DrmKeySystemResolver>;
80
105
  requestInterceptor: import("@amazon/vinyl-di").Factory<RequestInterceptor>;
81
106
  drmController: import("@amazon/vinyl-di").Factory<DrmController>;
82
107
  capabilities: import("@amazon/vinyl-di").Factory<Capabilities>;
108
+ media: import("@amazon/vinyl-di").Factory<HTMLMediaElement>;
109
+ adController: import("@amazon/vinyl-di").Factory<AdController>;
83
110
  }>;
84
111
  //# sourceMappingURL=createDashFactories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createDashFactories.d.ts","sourceRoot":"","sources":["../../../../../src/track/dash/createDashFactories.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAiB,oBAAoB,EAAE,MAAM,aAAa,CAAA;AACtE,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAExE,OAAO,EAAE,oCAAoC,EAAE,MAAM,wCAAwC,CAAA;AAC7F,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAChE,OAAO,EAEH,KAAK,oCAAoC,EAC5C,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EACH,yBAAyB,EACzB,KAAK,6BAA6B,EACrC,MAAM,iDAAiD,CAAA;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AAC3E,OAAO,EACH,KAAK,sBAAsB,EAE3B,KAAK,8BAA8B,EACtC,MAAM,0BAA0B,CAAA;AAEjC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAA;AAC1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,EACH,mBAAmB,EACnB,KAAK,0BAA0B,EAClC,MAAM,yCAAyC,CAAA;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAOnE,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAA;AAC1E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAA;AACtF,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAA;AAC3E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAEH,KAAK,0BAA0B,EAClC,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,qCAAqC,EAAE,MAAM,uDAAuD,CAAA;AAC7G,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAE9D;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;QAC9B,QAAQ,CAAC,GAAG,EAAE,0BAA0B,CAAA;QACxC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAA;KACjD,CAAC,CAAA;IACF,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAA;IAC/C,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAA;IACvC,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,CAAA;IACnD,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAA;IAC/C,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAA;IACrC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAA;CACtC;AAED,MAAM,MAAM,eAAe,GAAG;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,uBAAuB,CAAC,CAAA;CACtD,CAAA;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,eAAe,CAAC,IAG3D,MAAM,eAAe,MAEb,aAAa,oBAAoB;;;;;;;+BAUvB,8BAA8B,KACrC,sBAAsB;;yCAIf,oCAAoC;kCAEhB,6BAA6B;;;;;;;;;;;4BAQnC;QACpB,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,CAAA;KACtD;;0BAMS,0BAA0B,GAAG;QAC/B,QAAQ,CAAC,mBAAmB,EAAE,eAAe,CACzC,OAAO,CAAC,gBAAgB,CAAC,CAC5B,CAAA;KACJ;;;sBA7DC,0BAA0B;yCACP,MAAM,GAAG,IAAI;;;;;;;;GAqErD"}
1
+ {"version":3,"file":"createDashFactories.d.ts","sourceRoot":"","sources":["../../../../../src/track/dash/createDashFactories.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAiB,oBAAoB,EAAE,MAAM,aAAa,CAAA;AACtE,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAExE,OAAO,EAAE,oCAAoC,EAAE,MAAM,wCAAwC,CAAA;AAC7F,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAChE,OAAO,EAEH,KAAK,oCAAoC,EAC5C,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EACH,yBAAyB,EACzB,KAAK,6BAA6B,EACrC,MAAM,iDAAiD,CAAA;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AAE3E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAA;AAC1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAA;AAC7E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAOnE,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAA;AAC1E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAA;AACtF,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAA;AAC3E,OAAO,EAAE,8BAA8B,EAAE,MAAM,gDAAgD,CAAA;AAC/F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAEH,KAAK,0BAA0B,EAClC,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,qCAAqC,EAAE,MAAM,uDAAuD,CAAA;AAC7G,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,EAAE,0BAA0B,EAAE,MAAM,uCAAuC,CAAA;AAElF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EACH,sBAAsB,EACtB,KAAK,0BAA0B,EAClC,MAAM,wCAAwC,CAAA;AAE/C;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B,QAAQ,CAAC,OAAO,EAAE,eAAe,CAC7B,IAAI,CACA,YAAY,EACV,KAAK,GACL,wBAAwB,GACxB,qBAAqB,GACrB,wBAAwB,GACxB,uBAAuB,GACvB,cAAc,CACnB,CACJ,CAAA;IACD,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAA;IAC/C,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAA;IACvC,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,CAAA;IACnD,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAA;IAC/C,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAA;IACrC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAA;IACnC;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAA;IAEhC;;;OAGG;IACH,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAA;CACtC;AAED,MAAM,MAAM,eAAe,GAAG;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,uBAAuB,CAAC,CAAA;CACtD,CAAA;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,eAAe,CAAC,IAG3D,MAAM,eAAe,MAEb,aAAa,oBAAoB;;;;;;;;+BAYvB,0BAA0B,CAAC,gBAAgB,CAAC;;yCAI5C,oCAAoC;kCAEhB,6BAA6B;;;;;;;;;;;4BAQnC;QACpB,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,CAAA;KACtD;mCAI8B;QAC3B,OAAO,EAAE,eAAe,CACpB,IAAI,CAAC,YAAY,EAAE,wBAAwB,CAAC,CAC/C,CAAA;KACJ;gCAC2B;QACxB,OAAO,EAAE,eAAe,CACpB,IAAI,CAAC,YAAY,EAAE,qBAAqB,CAAC,CAC5C,CAAA;KACJ;mCAC8B;QAC3B,OAAO,EAAE,eAAe,CACpB,IAAI,CAAC,YAAY,EAAE,wBAAwB,CAAC,CAC/C,CAAA;KACJ;gBACW;QACR,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,CAAA;KACtD;;0BAGS,0BAA0B,GAAG;QAC/B,QAAQ,CAAC,mBAAmB,EAAE,eAAe,CACzC,OAAO,CAAC,gBAAgB,CAAC,CAC5B,CAAA;KACJ;;gCAOuB;QACxB,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAA;QAChC,QAAQ,CAAC,mBAAmB,EAAE,eAAe,CACzC,OAAO,CAAC,gBAAgB,CAAC,CAC5B,CAAA;QACD,QAAQ,CAAC,OAAO,EAAE,eAAe,CAC7B,IAAI,CACA,YAAY,EACZ,uBAAuB,GAAG,cAAc,CAC3C,CACJ,CAAA;KACJ;;;;;;;;;;GA4BhB"}
@@ -7,15 +7,18 @@ import { createDefaultDashManifestTransformer } from './createDefaultDashManifes
7
7
  import { createMediaSource } from '../../util/media/mediaSource';
8
8
  import { createDefaultDashMediaQualityMetadataResolver, } from './DashMediaQualityMetadataResolver';
9
9
  import { MediaSourceControllerImpl, } from '../../streaming/buffering/MediaSourceController';
10
- import { DashManifestControllerImpl, } from './DashManifestController';
11
10
  import { createDashContentStreamFactories } from './createDashContentStreamFactories';
12
- import { QualitySelectorImpl, } from '../../streaming/abr/QualitySelectorImpl';
11
+ import { QualitySelectorImpl } from '../../streaming/abr/QualitySelectorImpl';
13
12
  import { externalDependencies, validateFactories, } from '@amazon/vinyl-di';
14
13
  import { createDashManifestProvider } from './createDashManifestProvider';
15
14
  import { createContentStreamFactory } from '../../streaming/ContentStream';
16
15
  import { createDashContentTypesValue } from './createDashContentTypesValue';
16
+ import { createAllowedContentTypesValue } from '../../streaming/createAllowedContentTypesValue';
17
17
  import { buildDashMediaTimeline, } from './buildDashMediaTimeline';
18
18
  import { createDefaultMediaTimelineTransformer } from '../../streaming/createDefaultMediaTimelineTransformer';
19
+ import { SidecarTextTrackController } from '../../text/SidecarTextTrackController';
20
+ import { discoverDashTextTracks } from '../../text/discoverDashTextTracks';
21
+ import { ManifestControllerImpl, } from '../../streaming/ManifestControllerImpl';
19
22
  /**
20
23
  * Returns a function that provides default dependency factories required for
21
24
  * a new DashTrack.
@@ -25,13 +28,15 @@ export function createDashFactories(options) {
25
28
  // Player-level dependencies
26
29
  deps) => {
27
30
  return (loadOptions) => validateFactories({
28
- // Track-level dependencies
31
+ // Spreads all player-level deps so disposing this track's
32
+ // container never disposes the shared player-level controllers.
29
33
  ...externalDependencies(deps),
30
- contentTypesValue: createDashContentTypesValue,
34
+ baseContentTypesValue: createDashContentTypesValue,
35
+ contentTypesValue: createAllowedContentTypesValue,
31
36
  baseUrlSelector: () => pickFirstBaseUrlSelector,
32
37
  segmentRequestInit: () => loadOptions.segmentRequestInit,
33
38
  manifestProvider: createDashManifestProvider(loadOptions),
34
- manifestController: (deps) => new DashManifestControllerImpl(deps),
39
+ manifestController: (deps) => new ManifestControllerImpl(deps),
35
40
  mediaSourceFactory: () => createMediaSource,
36
41
  mediaQualityMetadataResolver: (deps) => createDefaultDashMediaQualityMetadataResolver(deps),
37
42
  mediaSourceController: (deps) => new MediaSourceControllerImpl(deps),
@@ -40,12 +45,35 @@ export function createDashFactories(options) {
40
45
  qualitySelector: (deps) => new QualitySelectorImpl({
41
46
  options: deps.options.pick('abr'),
42
47
  }),
48
+ preferredAudioLanguage: (deps) => deps.options.pick('preferredAudioLanguage'),
49
+ allowedContentTypes: (deps) => deps.options.pick('allowedContentTypes'),
50
+ preferDescriptiveAudio: (deps) => deps.options.pick('preferDescriptiveAudio'),
51
+ abr: (deps) => deps.options.pick('abr'),
43
52
  manifestTransformed: createDefaultDashManifestTransformer,
44
53
  mediaTimeline: (deps) => deps.manifestTransformed.map(async (manifestPromise) => {
45
54
  const data = await manifestPromise;
46
55
  return buildDashMediaTimeline(deps, data);
47
56
  }),
48
57
  mediaTimelineTransformed: createDefaultMediaTimelineTransformer,
58
+ textTrackController: (deps) => {
59
+ const controller = new SidecarTextTrackController({
60
+ media: deps.media,
61
+ requestInit: loadOptions.requestInit ?? undefined,
62
+ preferredTextLanguage: deps.options.pick('preferredTextLanguage'),
63
+ cueStyle: deps.options.pick('textCueStyle'),
64
+ });
65
+ deps.manifestTransformed.onData((manifestPromise) => {
66
+ manifestPromise
67
+ .then((data) => {
68
+ controller.setTextTracks(discoverDashTextTracks(data.manifest, data.baseUrl));
69
+ })
70
+ .catch(() => {
71
+ // Manifest errors are surfaced through the
72
+ // manifest controller. Don't double-report.
73
+ });
74
+ });
75
+ return controller;
76
+ },
49
77
  });
50
78
  };
51
79
  }
@@ -1,14 +1,9 @@
1
1
  import type { ReadonlyPlaybackController } from '../../playback/ReadonlyPlaybackController';
2
2
  import { SegmentControllerImpl, type SegmentControllerImplOptions } from '../../streaming/SegmentControllerImpl';
3
3
  import type { ContentType } from '../../streaming/MediaQualityMetadata';
4
- import type { SegmentController } from '../../streaming/SegmentController';
5
4
  import type { ObservableValue } from '@amazon/vinyl-observable';
6
5
  import type { MediaTimeline } from '../../streaming/MediaTimeline';
7
6
  import type { QualitySelector } from '../../streaming/abr/QualitySelector';
8
- export type SegmentControllerFactory = (deps: {
9
- readonly mediaTimelineTransformed: ObservableValue<Promise<MediaTimeline>>;
10
- readonly qualitySelector: QualitySelector;
11
- }) => SegmentController;
12
7
  export interface SegmentControllerFactoryDeps {
13
8
  readonly playbackController: ReadonlyPlaybackController;
14
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"createSegmentControllerFactory.d.ts","sourceRoot":"","sources":["../../../../../src/track/dash/createSegmentControllerFactory.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAA;AAC3F,OAAO,EACH,qBAAqB,EACrB,KAAK,4BAA4B,EACpC,MAAM,uCAAuC,CAAA;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAA;AACvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AAC1E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAA;AAE1E,MAAM,MAAM,wBAAwB,GAAG,CAAC,IAAI,EAAE;IAC1C,QAAQ,CAAC,wBAAwB,EAAE,eAAe,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAA;IAC1E,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAA;CAC5C,KAAK,iBAAiB,CAAA;AAEvB,MAAM,WAAW,4BAA4B;IACzC,QAAQ,CAAC,kBAAkB,EAAE,0BAA0B,CAAA;CAC1D;AAED,wBAAgB,8BAA8B,CAC1C,UAAU,EAAE,4BAA4B,EACxC,WAAW,EAAE,WAAW,EACxB,OAAO,CAAC,EAAE,OAAO,CAAC,4BAA4B,CAAC,IAEvC,WAAW;IACf,QAAQ,CAAC,wBAAwB,EAAE,eAAe,CAC9C,OAAO,CAAC,aAAa,CAAC,CACzB,CAAA;IACD,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAA;CAC5C,2BAUJ"}
1
+ {"version":3,"file":"createSegmentControllerFactory.d.ts","sourceRoot":"","sources":["../../../../../src/track/dash/createSegmentControllerFactory.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAA;AAC3F,OAAO,EACH,qBAAqB,EACrB,KAAK,4BAA4B,EACpC,MAAM,uCAAuC,CAAA;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAA;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAA;AAE1E,MAAM,WAAW,4BAA4B;IACzC,QAAQ,CAAC,kBAAkB,EAAE,0BAA0B,CAAA;CAC1D;AAED,wBAAgB,8BAA8B,CAC1C,UAAU,EAAE,4BAA4B,EACxC,WAAW,EAAE,WAAW,EACxB,OAAO,CAAC,EAAE,OAAO,CAAC,4BAA4B,CAAC,IAEvC,WAAW;IACf,QAAQ,CAAC,wBAAwB,EAAE,eAAe,CAC9C,OAAO,CAAC,aAAa,CAAC,CACzB,CAAA;IACD,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAA;CAC5C,2BAUJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"DashRepresentationSegmentProvider.d.ts","sourceRoot":"","sources":["../../../../../../src/track/dash/timeline/DashRepresentationSegmentProvider.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAGR,kBAAkB,EAKrB,MAAM,0BAA0B,CAAA;AASjC,OAAO,EACH,KAAK,kBAAkB,EAG1B,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAEH,KAAK,6BAA6B,EACrC,MAAM,iCAAiC,CAAA;AAExC,OAAO,KAAK,EAER,gBAAgB,EACnB,MAAM,qCAAqC,CAAA;AAC5C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAA;AAE7E,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,qCAAqC,CAAA;AAE3F,MAAM,WAAW,uBACb,SAAQ,kBAAkB,EAAE,6BAA6B;IACzD;;OAEG;IACH,QAAQ,CAAC,4BAA4B,EAAE,gCAAgC,CAAA;CAC1E;AAED,MAAM,WAAW,iCAAiC;IAC9C;;;;;;OAMG;IACH,UAAU,CACN,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,CAAA;CAC3D;AAaD;;GAEG;AACH,wBAAgB,uCAAuC,CACnD,IAAI,EAAE,uBAAuB,EAC7B,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,kBAAkB,GACnC,iCAAiC,CA+GnC"}
1
+ {"version":3,"file":"DashRepresentationSegmentProvider.d.ts","sourceRoot":"","sources":["../../../../../../src/track/dash/timeline/DashRepresentationSegmentProvider.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAGR,kBAAkB,EAKrB,MAAM,0BAA0B,CAAA;AASjC,OAAO,EACH,KAAK,kBAAkB,EAG1B,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAEH,KAAK,6BAA6B,EACrC,MAAM,iCAAiC,CAAA;AAExC,OAAO,KAAK,EAER,gBAAgB,EACnB,MAAM,qCAAqC,CAAA;AAC5C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAA;AAE7E,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,qCAAqC,CAAA;AAE3F,MAAM,WAAW,uBACb,SAAQ,kBAAkB,EAAE,6BAA6B;IACzD;;OAEG;IACH,QAAQ,CAAC,4BAA4B,EAAE,gCAAgC,CAAA;CAC1E;AAED,MAAM,WAAW,iCAAiC;IAC9C;;;;;;OAMG;IACH,UAAU,CACN,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,CAAA;CAC3D;AAaD;;GAEG;AACH,wBAAgB,uCAAuC,CACnD,IAAI,EAAE,uBAAuB,EAC7B,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,kBAAkB,GACnC,iCAAiC,CAgHnC"}
@@ -35,8 +35,9 @@ export function createDashRepresentationSegmentProvider(deps, baseUrl, represent
35
35
  });
36
36
  }
37
37
  const commonSegmentBase = segmentTemplate ?? segmentList ?? segmentBase;
38
- if (!commonSegmentBase)
38
+ if (!commonSegmentBase) {
39
39
  throw new ValidationError('Manifest must have one of SegmentList, SegmentTemplate, or SegmentBase', ErrorOrigin.MEDIA);
40
+ }
40
41
  if (commonSegmentBase.Initialization) {
41
42
  initUri = commonSegmentBase.Initialization.sourceURL;
42
43
  initRange = commonSegmentBase.Initialization.range;
@@ -64,6 +64,16 @@ export declare function getPeriodAtTime(manifest: DashManifest, time: number): P
64
64
  * Flattens representations across all adaptation sets for the given Period.
65
65
  */
66
66
  export declare function flattenRepresentations(period: PeriodType): RepresentationType[];
67
+ /**
68
+ * Flattens the representations across all adaptation sets for the given Period
69
+ * that the MSE media pipeline can play, i.e. `audio` and `video`.
70
+ *
71
+ * Text adaptation sets (e.g. `contentType="text"` WebVTT sidecar subtitles) are
72
+ * excluded: they are surfaced through the sidecar text-track pipeline
73
+ * (`discoverDashTextTracks`), not buffered through MSE, so including them here
74
+ * would create an unplayable text SourceBuffer and stall playback.
75
+ */
76
+ export declare function flattenMediaRepresentations(period: PeriodType): RepresentationType[];
67
77
  /**
68
78
  * Calculates the manifest duration, either from the mediaPresentationDuration or the last period end time.
69
79
  * Returns `Infinity` for live (dynamic) presentations.
@@ -1 +1 @@
1
- {"version":3,"file":"mpd.d.ts","sourceRoot":"","sources":["../../../../../../src/track/dash/util/mpd.ts"],"names":[],"mappings":"AAOA,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,OAAO,EACZ,KAAK,UAAU,EACf,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,mBAAmB,EAC3B,MAAM,0BAA0B,CAAA;AAIjC;;;GAGG;AACH,wBAAgB,cAAc,CAC1B,cAAc,EAAE,kBAAkB,GACnC,eAAe,GAAG,SAAS,CAM7B;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAC9B,cAAc,EAAE,kBAAkB,GACnC,mBAAmB,GAAG,SAAS,CAMjC;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC1B,cAAc,EAAE,kBAAkB,GACnC,eAAe,GAAG,SAAS,CAM7B;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACrC,cAAc,EAAE,kBAAkB,GACnC,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,kBAAkB,CAAC,CAKvE;AAYD,MAAM,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAA;AAE1D;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,UAAU,GAAG,WAAW,CAExE;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAE/D;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CASpE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAC3B,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,sBAAsB,EAAE,MAAM,EAC9B,SAAS,EAAE,MAAM,GAClB,MAAM,CAER;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC3B,QAAQ,EAAE,YAAY,EACtB,IAAI,EAAE,MAAM,GACb,UAAU,GAAG,IAAI,CASnB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAClC,MAAM,EAAE,UAAU,GACnB,kBAAkB,EAAE,CAQtB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAahE"}
1
+ {"version":3,"file":"mpd.d.ts","sourceRoot":"","sources":["../../../../../../src/track/dash/util/mpd.ts"],"names":[],"mappings":"AAOA,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,OAAO,EACZ,KAAK,UAAU,EACf,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,mBAAmB,EAC3B,MAAM,0BAA0B,CAAA;AAKjC;;;GAGG;AACH,wBAAgB,cAAc,CAC1B,cAAc,EAAE,kBAAkB,GACnC,eAAe,GAAG,SAAS,CAM7B;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAC9B,cAAc,EAAE,kBAAkB,GACnC,mBAAmB,GAAG,SAAS,CAMjC;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC1B,cAAc,EAAE,kBAAkB,GACnC,eAAe,GAAG,SAAS,CAM7B;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACrC,cAAc,EAAE,kBAAkB,GACnC,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,kBAAkB,CAAC,CAKvE;AAYD,MAAM,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAA;AAE1D;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,UAAU,GAAG,WAAW,CAExE;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAE/D;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CASpE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAC3B,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,sBAAsB,EAAE,MAAM,EAC9B,SAAS,EAAE,MAAM,GAClB,MAAM,CAER;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC3B,QAAQ,EAAE,YAAY,EACtB,IAAI,EAAE,MAAM,GACb,UAAU,GAAG,IAAI,CASnB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAClC,MAAM,EAAE,UAAU,GACnB,kBAAkB,EAAE,CAQtB;AAED;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CACvC,MAAM,EAAE,UAAU,GACnB,kBAAkB,EAAE,CAKtB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAahE"}
@@ -3,6 +3,7 @@
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
5
  import { last, merge, sortedInsertionIndex } from '@amazon/vinyl-util';
6
+ import { getRepresentationMimeInfo } from './mimeType';
6
7
  // TODO: For dynamic MPDs, availability time offsets should be summed.
7
8
  /**
8
9
  * Calculates the inherited SegmentList for the given representation. Or returns undefined if no SegmentList is
@@ -121,6 +122,21 @@ export function flattenRepresentations(period) {
121
122
  });
122
123
  return out;
123
124
  }
125
+ /**
126
+ * Flattens the representations across all adaptation sets for the given Period
127
+ * that the MSE media pipeline can play, i.e. `audio` and `video`.
128
+ *
129
+ * Text adaptation sets (e.g. `contentType="text"` WebVTT sidecar subtitles) are
130
+ * excluded: they are surfaced through the sidecar text-track pipeline
131
+ * (`discoverDashTextTracks`), not buffered through MSE, so including them here
132
+ * would create an unplayable text SourceBuffer and stall playback.
133
+ */
134
+ export function flattenMediaRepresentations(period) {
135
+ return flattenRepresentations(period).filter((representation) => {
136
+ const { contentType } = getRepresentationMimeInfo(representation);
137
+ return contentType === 'audio' || contentType === 'video';
138
+ });
139
+ }
124
140
  /**
125
141
  * Calculates the manifest duration, either from the mediaPresentationDuration or the last period end time.
126
142
  * Returns `Infinity` for live (dynamic) presentations.
@@ -1,28 +1,4 @@
1
1
  import type { ManifestController } from '../../streaming/ManifestController';
2
- import type { HlsManifestData, HlsManifestProvider } from './HlsManifestProvider';
2
+ import type { HlsManifestData } from './HlsManifestData';
3
3
  export type HlsManifestController = ManifestController<Promise<HlsManifestData>>;
4
- export declare class HlsManifestControllerImpl implements HlsManifestController {
5
- private readonly manifestProvider;
6
- get [Symbol.toStringTag](): string;
7
- get logPrefix(): string;
8
- private readonly _data;
9
- private _error;
10
- private readonly abortSlot;
11
- private readonly disposer;
12
- constructor(manifestProvider: HlsManifestProvider);
13
- /**
14
- * The most recent error from the manifest provider, or null.
15
- */
16
- get error(): Error | null;
17
- refresh(): void;
18
- reset(): void;
19
- get value(): Promise<HlsManifestData>;
20
- get changeId(): number;
21
- getValue(): Promise<HlsManifestData>;
22
- onData(callback: (value: Promise<HlsManifestData>, previous?: Promise<HlsManifestData>) => void): () => void;
23
- map<U>(fn: (value: Promise<HlsManifestData>) => U): import("@amazon/vinyl-observable").MutableValue<U>;
24
- pick<K extends keyof NonNullable<Promise<HlsManifestData>>>(key: K): import("@amazon/vinyl-observable").MutableValue<Promise<HlsManifestData>[K]>;
25
- get disposed(): boolean;
26
- dispose(): void;
27
- }
28
4
  //# sourceMappingURL=HlsManifestController.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HlsManifestController.d.ts","sourceRoot":"","sources":["../../../../../src/track/hls/HlsManifestController.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAA;AAC5E,OAAO,KAAK,EACR,eAAe,EACf,mBAAmB,EACtB,MAAM,uBAAuB,CAAA;AAE9B,MAAM,MAAM,qBAAqB,GAAG,kBAAkB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAA;AAEhF,qBAAa,yBAA0B,YAAW,qBAAqB;IAgBvD,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAf7C,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAEjC;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,OAAO,CAAC,QAAQ,CAAC,KAAK,CAErB;IACD,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoB;IAC9C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;gBAEf,gBAAgB,EAAE,mBAAmB;IAMlE;;OAEG;IACH,IAAI,KAAK,IAAI,KAAK,GAAG,IAAI,CAExB;IAED,OAAO,IAAI,IAAI;IAWf,KAAK,IAAI,IAAI;IAOb,IAAI,KAAK,IAAI,OAAO,CAAC,eAAe,CAAC,CAEpC;IAED,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,QAAQ,IAAI,OAAO,CAAC,eAAe,CAAC;IAIpC,MAAM,CACF,QAAQ,EAAE,CACN,KAAK,EAAE,OAAO,CAAC,eAAe,CAAC,EAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,KAClC,IAAI,GACV,MAAM,IAAI;IAIb,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC;IAIjD,IAAI,CAAC,CAAC,SAAS,MAAM,WAAW,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC;IAIlE,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,OAAO,IAAI,IAAI;CAIlB"}
1
+ {"version":3,"file":"HlsManifestController.d.ts","sourceRoot":"","sources":["../../../../../src/track/hls/HlsManifestController.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAA;AAC5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAExD,MAAM,MAAM,qBAAqB,GAAG,kBAAkB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAA"}