@amazon/vinyl 3.0.1 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (250) hide show
  1. package/dist/index.cjs +972 -954
  2. package/dist/index.cjs.map +4 -4
  3. package/dist/index.js +646 -619
  4. package/dist/index.js.map +4 -4
  5. package/dist/test/benchmark.js.map +2 -2
  6. package/dist/test/integ.es5.js +357 -353
  7. package/dist/test/integ.js +2251 -1852
  8. package/dist/test/integ.js.map +4 -4
  9. package/dist/test/jasmine.css +50 -3
  10. package/dist/test/jasmineHtml.es5.js +195 -155
  11. package/dist/test/jasmineHtml.js +2938 -1833
  12. package/dist/test/jasmineHtml.js.map +3 -3
  13. package/dist/types/current/ad/AdControllerImpl.d.ts.map +1 -1
  14. package/dist/types/current/ad/AdControllerImpl.js +4 -1
  15. package/dist/types/current/ad/discoverHlsInterstitials.d.ts.map +1 -1
  16. package/dist/types/current/ad/discoverHlsInterstitials.js +2 -2
  17. package/dist/types/current/drm/DrmControllerImpl.d.ts +2 -0
  18. package/dist/types/current/drm/DrmControllerImpl.d.ts.map +1 -1
  19. package/dist/types/current/drm/DrmControllerImpl.js +56 -48
  20. package/dist/types/current/drm/licenseProvider/defaultLicenseProvider.d.ts.map +1 -1
  21. package/dist/types/current/drm/licenseProvider/defaultLicenseProvider.js +2 -2
  22. package/dist/types/current/index.d.ts +3 -6
  23. package/dist/types/current/index.d.ts.map +1 -1
  24. package/dist/types/current/index.js +3 -6
  25. package/dist/types/current/playback/PlaybackControllerImpl.d.ts +15 -0
  26. package/dist/types/current/playback/PlaybackControllerImpl.d.ts.map +1 -1
  27. package/dist/types/current/playback/PlaybackControllerImpl.js +100 -9
  28. package/dist/types/current/playback/ReadonlyPlaybackController.d.ts +27 -1
  29. package/dist/types/current/playback/ReadonlyPlaybackController.d.ts.map +1 -1
  30. package/dist/types/current/playback/ReadonlyPlaybackController.js +16 -0
  31. package/dist/types/current/playback/createStallDetector.d.ts +43 -0
  32. package/dist/types/current/playback/createStallDetector.d.ts.map +1 -0
  33. package/dist/types/current/playback/createStallDetector.js +101 -0
  34. package/dist/types/current/playback/createStallMonitor.d.ts +45 -0
  35. package/dist/types/current/playback/createStallMonitor.d.ts.map +1 -0
  36. package/dist/types/current/playback/createStallMonitor.js +94 -0
  37. package/dist/types/current/streaming/AudioOptions.d.ts +27 -0
  38. package/dist/types/current/streaming/AudioOptions.d.ts.map +1 -1
  39. package/dist/types/current/streaming/AudioOptions.js +5 -1
  40. package/dist/types/current/streaming/ContentStream.d.ts +0 -5
  41. package/dist/types/current/streaming/ContentStream.d.ts.map +1 -1
  42. package/dist/types/current/streaming/ContentStream.js +0 -4
  43. package/dist/types/current/streaming/LoadMetric.d.ts.map +1 -1
  44. package/dist/types/current/streaming/StreamingEventMap.d.ts +1 -5
  45. package/dist/types/current/streaming/StreamingEventMap.d.ts.map +1 -1
  46. package/dist/types/current/streaming/StreamingEventMap.js +0 -1
  47. package/dist/types/current/streaming/buffering/BufferingController.d.ts +0 -11
  48. package/dist/types/current/streaming/buffering/BufferingController.d.ts.map +1 -1
  49. package/dist/types/current/streaming/buffering/BufferingController.js +0 -13
  50. package/dist/types/current/streaming/createDefaultMediaTimelineTransformer.d.ts.map +1 -1
  51. package/dist/types/current/streaming/createDefaultMediaTimelineTransformer.js +13 -4
  52. package/dist/types/current/text/SidecarTextTrackLoader.d.ts.map +1 -1
  53. package/dist/types/current/text/SidecarTextTrackLoader.js +4 -4
  54. package/dist/types/current/text/TextTrack.d.ts.map +1 -1
  55. package/dist/types/current/track/TrackController.d.ts.map +1 -1
  56. package/dist/types/current/track/TrackController.js +8 -2
  57. package/dist/types/current/track/createSegmentDataProvider.d.ts.map +1 -1
  58. package/dist/types/current/track/createSegmentDataProvider.js +6 -3
  59. package/dist/types/current/track/dash/DashMediaQualityMetadataResolver.d.ts +10 -6
  60. package/dist/types/current/track/dash/DashMediaQualityMetadataResolver.d.ts.map +1 -1
  61. package/dist/types/current/track/dash/DashMediaQualityMetadataResolver.js +13 -8
  62. package/dist/types/current/track/dash/createDashFactories.d.ts +1 -1
  63. package/dist/types/current/track/dash/timeline/DashRepresentationSegmentProvider.d.ts.map +1 -1
  64. package/dist/types/current/track/dash/timeline/DashRepresentationSegmentProvider.js +71 -3
  65. package/dist/types/current/track/dash/urlDashManifestProvider.js +2 -2
  66. package/dist/types/current/track/dash/util/mpd.d.ts +6 -0
  67. package/dist/types/current/track/dash/util/mpd.d.ts.map +1 -1
  68. package/dist/types/current/track/dash/util/mpd.js +24 -3
  69. package/dist/types/current/track/filters/resourceTypeFilter.d.ts +4 -0
  70. package/dist/types/current/track/filters/resourceTypeFilter.d.ts.map +1 -1
  71. package/dist/types/current/track/filters/resourceTypeFilter.js +4 -0
  72. package/dist/types/current/track/filters/sampleRateFilter.d.ts +21 -7
  73. package/dist/types/current/track/filters/sampleRateFilter.d.ts.map +1 -1
  74. package/dist/types/current/track/filters/sampleRateFilter.js +42 -24
  75. package/dist/types/current/track/hls/createHlsFactories.d.ts +1 -1
  76. package/dist/types/current/track/hls/createUrlHlsManifestProvider.d.ts.map +1 -1
  77. package/dist/types/current/track/hls/createUrlHlsManifestProvider.js +3 -3
  78. package/dist/types/current/track/mse/MseTrack.d.ts +9 -17
  79. package/dist/types/current/track/mse/MseTrack.d.ts.map +1 -1
  80. package/dist/types/current/track/mse/MseTrack.js +29 -46
  81. package/dist/types/current/tsconfig.tsbuildinfo +1 -1
  82. package/dist/types/current/util/media/mimeType.d.ts +8 -0
  83. package/dist/types/current/util/media/mimeType.d.ts.map +1 -0
  84. package/dist/types/current/util/media/mimeType.js +13 -0
  85. package/dist/types/current/vinyl/createVinylFactories.d.ts +7 -16
  86. package/dist/types/current/vinyl/createVinylFactories.d.ts.map +1 -1
  87. package/dist/types/current/vinyl/createVinylFactories.js +2 -12
  88. package/dist/types/ts3.7/drm/DrmControllerImpl.d.ts +2 -0
  89. package/dist/types/ts3.7/index.d.ts +3 -6
  90. package/dist/types/ts3.7/playback/PlaybackControllerImpl.d.ts +15 -0
  91. package/dist/types/ts3.7/playback/ReadonlyPlaybackController.d.ts +28 -0
  92. package/dist/types/ts3.7/playback/createStallDetector.d.ts +43 -0
  93. package/dist/types/ts3.7/playback/createStallMonitor.d.ts +45 -0
  94. package/dist/types/ts3.7/streaming/AudioOptions.d.ts +27 -0
  95. package/dist/types/ts3.7/streaming/ContentStream.d.ts +0 -5
  96. package/dist/types/ts3.7/streaming/StreamingEventMap.d.ts +0 -5
  97. package/dist/types/ts3.7/streaming/buffering/BufferingController.d.ts +0 -11
  98. package/dist/types/ts3.7/track/dash/DashMediaQualityMetadataResolver.d.ts +10 -6
  99. package/dist/types/ts3.7/track/dash/createDashFactories.d.ts +1 -1
  100. package/dist/types/ts3.7/track/dash/util/mpd.d.ts +6 -0
  101. package/dist/types/ts3.7/track/filters/resourceTypeFilter.d.ts +4 -0
  102. package/dist/types/ts3.7/track/filters/sampleRateFilter.d.ts +21 -7
  103. package/dist/types/ts3.7/track/hls/createHlsFactories.d.ts +1 -1
  104. package/dist/types/ts3.7/track/mse/MseTrack.d.ts +9 -17
  105. package/dist/types/ts3.7/util/media/mimeType.d.ts +8 -0
  106. package/dist/types/ts3.7/vinyl/createVinylFactories.d.ts +7 -16
  107. package/dist/types/ts4.1/drm/DrmControllerImpl.d.ts +2 -0
  108. package/dist/types/ts4.1/index.d.ts +3 -6
  109. package/dist/types/ts4.1/playback/PlaybackControllerImpl.d.ts +15 -0
  110. package/dist/types/ts4.1/playback/ReadonlyPlaybackController.d.ts +28 -0
  111. package/dist/types/ts4.1/playback/createStallDetector.d.ts +43 -0
  112. package/dist/types/ts4.1/playback/createStallMonitor.d.ts +45 -0
  113. package/dist/types/ts4.1/streaming/AudioOptions.d.ts +27 -0
  114. package/dist/types/ts4.1/streaming/ContentStream.d.ts +0 -5
  115. package/dist/types/ts4.1/streaming/StreamingEventMap.d.ts +0 -5
  116. package/dist/types/ts4.1/streaming/buffering/BufferingController.d.ts +0 -11
  117. package/dist/types/ts4.1/track/dash/DashMediaQualityMetadataResolver.d.ts +10 -6
  118. package/dist/types/ts4.1/track/dash/createDashFactories.d.ts +1 -1
  119. package/dist/types/ts4.1/track/dash/util/mpd.d.ts +6 -0
  120. package/dist/types/ts4.1/track/filters/resourceTypeFilter.d.ts +4 -0
  121. package/dist/types/ts4.1/track/filters/sampleRateFilter.d.ts +21 -7
  122. package/dist/types/ts4.1/track/hls/createHlsFactories.d.ts +1 -1
  123. package/dist/types/ts4.1/track/mse/MseTrack.d.ts +9 -17
  124. package/dist/types/ts4.1/util/media/mimeType.d.ts +8 -0
  125. package/dist/types/ts4.1/vinyl/createVinylFactories.d.ts +7 -16
  126. package/dist/types/ts4.7/drm/DrmControllerImpl.d.ts +2 -0
  127. package/dist/types/ts4.7/index.d.ts +3 -6
  128. package/dist/types/ts4.7/playback/PlaybackControllerImpl.d.ts +15 -0
  129. package/dist/types/ts4.7/playback/ReadonlyPlaybackController.d.ts +28 -0
  130. package/dist/types/ts4.7/playback/createStallDetector.d.ts +43 -0
  131. package/dist/types/ts4.7/playback/createStallMonitor.d.ts +45 -0
  132. package/dist/types/ts4.7/streaming/AudioOptions.d.ts +27 -0
  133. package/dist/types/ts4.7/streaming/ContentStream.d.ts +0 -5
  134. package/dist/types/ts4.7/streaming/StreamingEventMap.d.ts +0 -5
  135. package/dist/types/ts4.7/streaming/buffering/BufferingController.d.ts +0 -11
  136. package/dist/types/ts4.7/track/dash/DashMediaQualityMetadataResolver.d.ts +10 -6
  137. package/dist/types/ts4.7/track/dash/createDashFactories.d.ts +1 -1
  138. package/dist/types/ts4.7/track/dash/util/mpd.d.ts +6 -0
  139. package/dist/types/ts4.7/track/filters/resourceTypeFilter.d.ts +4 -0
  140. package/dist/types/ts4.7/track/filters/sampleRateFilter.d.ts +21 -7
  141. package/dist/types/ts4.7/track/hls/createHlsFactories.d.ts +1 -1
  142. package/dist/types/ts4.7/track/mse/MseTrack.d.ts +9 -17
  143. package/dist/types/ts4.7/util/media/mimeType.d.ts +8 -0
  144. package/dist/types/ts4.7/vinyl/createVinylFactories.d.ts +7 -16
  145. package/dist/unit/types/current/ad/AdControllerImpl.test.js +27 -1
  146. package/dist/unit/types/current/drm/DrmControllerImpl.test.js +93 -0
  147. package/dist/unit/types/current/index.d.ts +3 -4
  148. package/dist/unit/types/current/index.d.ts.map +1 -1
  149. package/dist/unit/types/current/index.js +3 -4
  150. package/dist/unit/types/current/playback/PlaybackControllerImpl.test.js +165 -0
  151. package/dist/unit/types/current/playback/createStallDetector.test.d.ts +2 -0
  152. package/dist/unit/types/current/playback/createStallDetector.test.d.ts.map +1 -0
  153. package/dist/unit/types/current/playback/createStallDetector.test.js +163 -0
  154. package/dist/unit/types/current/playback/createStallMonitor.test.d.ts +2 -0
  155. package/dist/unit/types/current/playback/createStallMonitor.test.d.ts.map +1 -0
  156. package/dist/unit/types/current/playback/createStallMonitor.test.js +125 -0
  157. package/dist/unit/types/current/streaming/ContentStream.test.js +0 -11
  158. package/dist/unit/types/current/streaming/MseTrack.test.js +47 -74
  159. package/dist/unit/types/current/streaming/abr/QualitySelectorImpl.test.js +1 -1
  160. package/dist/unit/types/current/streaming/buffering/BufferingController.test.js +0 -21
  161. package/dist/unit/types/current/streaming/createDefaultMediaTimelineTransformer.test.js +133 -0
  162. package/dist/unit/types/current/track/TrackController.test.js +61 -1
  163. package/dist/unit/types/current/track/createSegmentDataProvider.test.js +18 -0
  164. package/dist/unit/types/current/track/dash/DashMediaQualityMetadataResolver.test.js +46 -14
  165. package/dist/unit/types/current/track/dash/createSegmentControllerFactory.test.js +1 -0
  166. package/dist/unit/types/current/track/dash/timeline/DashRepresentationSegmentProvider.test.js +114 -0
  167. package/dist/unit/types/current/track/dash/util/mpd.test.js +37 -0
  168. package/dist/unit/types/current/track/filters/resourceTypeFilter.test.js +7 -0
  169. package/dist/unit/types/current/track/filters/sampleRateFilter.test.js +136 -34
  170. package/dist/unit/types/current/track/source/SourceObjectTrack.test.js +1 -1
  171. package/dist/unit/types/current/tsconfig.tsbuildinfo +1 -1
  172. package/dist/unit/types/current/util/media/mimeType.test.d.ts +2 -0
  173. package/dist/unit/types/current/util/media/mimeType.test.d.ts.map +1 -0
  174. package/dist/unit/types/current/util/media/mimeType.test.js +22 -0
  175. package/dist/unit/types/current/vinyl/createVinylFactories.test.js +2 -36
  176. package/dist/vinylTestUtil/index.js +6 -4
  177. package/dist/vinylTestUtil/index.js.map +2 -2
  178. package/dist/vinylTestUtil/types/current/assets/vinylTestAssets.d.ts +1 -0
  179. package/dist/vinylTestUtil/types/current/assets/vinylTestAssets.d.ts.map +1 -1
  180. package/dist/vinylTestUtil/types/current/assets/vinylTestAssets.js +1 -0
  181. package/dist/vinylTestUtil/types/current/media/FrequencyAnalyzer.d.ts.map +1 -1
  182. package/dist/vinylTestUtil/types/current/mock/streaming/MockContentStream.d.ts +0 -1
  183. package/dist/vinylTestUtil/types/current/mock/streaming/MockContentStream.d.ts.map +1 -1
  184. package/dist/vinylTestUtil/types/current/mock/streaming/MockContentStream.js +0 -1
  185. package/dist/vinylTestUtil/types/current/mock/streaming/buffering/MockBufferingController.d.ts +0 -1
  186. package/dist/vinylTestUtil/types/current/mock/streaming/buffering/MockBufferingController.d.ts.map +1 -1
  187. package/dist/vinylTestUtil/types/current/mock/streaming/buffering/MockBufferingController.js +0 -1
  188. package/dist/vinylTestUtil/types/current/tsconfig.tsbuildinfo +1 -1
  189. package/dist/vinylTestUtil/types/current/util/playback/eventPromises.js +1 -1
  190. package/dist/vinylTestUtil/types/current/util/playback/expectTrackCanSeek.d.ts.map +1 -1
  191. package/dist/vinylTestUtil/types/current/util/playback/expectTrackCanSeek.js +9 -1
  192. package/dist/vinylTestUtil/types/ts3.7/assets/vinylTestAssets.d.ts +1 -0
  193. package/dist/vinylTestUtil/types/ts3.7/mock/streaming/MockContentStream.d.ts +0 -1
  194. package/dist/vinylTestUtil/types/ts3.7/mock/streaming/buffering/MockBufferingController.d.ts +0 -1
  195. package/dist/vinylTestUtil/types/ts4.1/assets/vinylTestAssets.d.ts +1 -0
  196. package/dist/vinylTestUtil/types/ts4.1/mock/streaming/MockContentStream.d.ts +0 -1
  197. package/dist/vinylTestUtil/types/ts4.1/mock/streaming/buffering/MockBufferingController.d.ts +0 -1
  198. package/dist/vinylTestUtil/types/ts4.7/assets/vinylTestAssets.d.ts +1 -0
  199. package/dist/vinylTestUtil/types/ts4.7/mock/streaming/MockContentStream.d.ts +0 -1
  200. package/dist/vinylTestUtil/types/ts4.7/mock/streaming/buffering/MockBufferingController.d.ts +0 -1
  201. package/docs/USAGE.md +29 -0
  202. package/package.json +11 -10
  203. package/dist/types/current/patch/media/HtmlMediaElementPatch.d.ts +0 -3
  204. package/dist/types/current/patch/media/HtmlMediaElementPatch.d.ts.map +0 -1
  205. package/dist/types/current/patch/media/HtmlMediaElementPatch.js +0 -5
  206. package/dist/types/current/patch/media/MediaElementPatchOptions.d.ts +0 -19
  207. package/dist/types/current/patch/media/MediaElementPatchOptions.d.ts.map +0 -1
  208. package/dist/types/current/patch/media/MediaElementPatchOptions.js +0 -16
  209. package/dist/types/current/patch/media/patchMediaElement.d.ts +0 -9
  210. package/dist/types/current/patch/media/patchMediaElement.d.ts.map +0 -1
  211. package/dist/types/current/patch/media/patchMediaElement.js +0 -15
  212. package/dist/types/current/patch/media/patches/createPreventStallsPatch.d.ts +0 -17
  213. package/dist/types/current/patch/media/patches/createPreventStallsPatch.d.ts.map +0 -1
  214. package/dist/types/current/patch/media/patches/createPreventStallsPatch.js +0 -55
  215. package/dist/types/current/patch/media/patches/createUnreliablePlaybackEventsPatch.d.ts +0 -26
  216. package/dist/types/current/patch/media/patches/createUnreliablePlaybackEventsPatch.d.ts.map +0 -1
  217. package/dist/types/current/patch/media/patches/createUnreliablePlaybackEventsPatch.js +0 -218
  218. package/dist/types/current/vinyl/VinylPatchOptions.d.ts +0 -10
  219. package/dist/types/current/vinyl/VinylPatchOptions.d.ts.map +0 -1
  220. package/dist/types/current/vinyl/VinylPatchOptions.js +0 -11
  221. package/dist/types/ts3.7/patch/media/HtmlMediaElementPatch.d.ts +0 -3
  222. package/dist/types/ts3.7/patch/media/MediaElementPatchOptions.d.ts +0 -19
  223. package/dist/types/ts3.7/patch/media/patchMediaElement.d.ts +0 -9
  224. package/dist/types/ts3.7/patch/media/patches/createPreventStallsPatch.d.ts +0 -17
  225. package/dist/types/ts3.7/patch/media/patches/createUnreliablePlaybackEventsPatch.d.ts +0 -26
  226. package/dist/types/ts3.7/vinyl/VinylPatchOptions.d.ts +0 -10
  227. package/dist/types/ts4.1/patch/media/HtmlMediaElementPatch.d.ts +0 -3
  228. package/dist/types/ts4.1/patch/media/MediaElementPatchOptions.d.ts +0 -19
  229. package/dist/types/ts4.1/patch/media/patchMediaElement.d.ts +0 -9
  230. package/dist/types/ts4.1/patch/media/patches/createPreventStallsPatch.d.ts +0 -17
  231. package/dist/types/ts4.1/patch/media/patches/createUnreliablePlaybackEventsPatch.d.ts +0 -26
  232. package/dist/types/ts4.1/vinyl/VinylPatchOptions.d.ts +0 -10
  233. package/dist/types/ts4.7/patch/media/HtmlMediaElementPatch.d.ts +0 -3
  234. package/dist/types/ts4.7/patch/media/MediaElementPatchOptions.d.ts +0 -19
  235. package/dist/types/ts4.7/patch/media/patchMediaElement.d.ts +0 -9
  236. package/dist/types/ts4.7/patch/media/patches/createPreventStallsPatch.d.ts +0 -17
  237. package/dist/types/ts4.7/patch/media/patches/createUnreliablePlaybackEventsPatch.d.ts +0 -26
  238. package/dist/types/ts4.7/vinyl/VinylPatchOptions.d.ts +0 -10
  239. package/dist/unit/types/current/patch/media/MediaElementPatchOptions.test.d.ts +0 -2
  240. package/dist/unit/types/current/patch/media/MediaElementPatchOptions.test.d.ts.map +0 -1
  241. package/dist/unit/types/current/patch/media/MediaElementPatchOptions.test.js +0 -17
  242. package/dist/unit/types/current/patch/media/patchMediaElement.test.d.ts +0 -2
  243. package/dist/unit/types/current/patch/media/patchMediaElement.test.d.ts.map +0 -1
  244. package/dist/unit/types/current/patch/media/patchMediaElement.test.js +0 -36
  245. package/dist/unit/types/current/patch/media/patches/createPreventStallsPatch.test.d.ts +0 -2
  246. package/dist/unit/types/current/patch/media/patches/createPreventStallsPatch.test.d.ts.map +0 -1
  247. package/dist/unit/types/current/patch/media/patches/createPreventStallsPatch.test.js +0 -93
  248. package/dist/unit/types/current/patch/media/patches/createUnreliablePlaybackEventsPatch.test.d.ts +0 -2
  249. package/dist/unit/types/current/patch/media/patches/createUnreliablePlaybackEventsPatch.test.d.ts.map +0 -1
  250. package/dist/unit/types/current/patch/media/patches/createUnreliablePlaybackEventsPatch.test.js +0 -423
@@ -1 +1 @@
1
- {"version":3,"file":"ReadonlyPlaybackController.d.ts","sourceRoot":"","sources":["../../../../src/playback/ReadonlyPlaybackController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ReadonlyPlaybackController.d.ts","sourceRoot":"","sources":["../../../../src/playback/ReadonlyPlaybackController.ts"],"names":[],"mappings":"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"}
@@ -48,6 +48,20 @@ export const waitedReasons = [
48
48
  WaitedReason.EMPTIED,
49
49
  WaitedReason.SEEKING,
50
50
  ];
51
+ /**
52
+ * Reasons a stall (see {@link PlaybackControllerEventMap.stallEntered}) has ended.
53
+ */
54
+ export var StallEndedReason;
55
+ (function (StallEndedReason) {
56
+ /** The play head advanced again — playback resumed. */
57
+ StallEndedReason["PLAYING"] = "playing";
58
+ /** Playback was paused. */
59
+ StallEndedReason["PAUSE"] = "pause";
60
+ /** A seek started. */
61
+ StallEndedReason["SEEKING"] = "seeking";
62
+ /** The media was emptied (e.g. unloaded/reloaded). */
63
+ StallEndedReason["EMPTIED"] = "emptied";
64
+ })(StallEndedReason || (StallEndedReason = {}));
51
65
  export const ALL_PLAYBACK_STATE_EVENTS = [
52
66
  'abort',
53
67
  'canPlay',
@@ -74,6 +88,8 @@ export const ALL_PLAYBACK_STATE_EVENTS = [
74
88
  'resize',
75
89
  'seeked',
76
90
  'seeking',
91
+ 'stallEntered',
92
+ 'stallEnded',
77
93
  'timeUpdate',
78
94
  'volumeChange',
79
95
  'waited',
@@ -0,0 +1,43 @@
1
+ export interface StallDetectorOptions {
2
+ /**
3
+ * Called when playback resumes without emitting a `playing` event (or after the detector
4
+ * revived it), so the caller can announce playback.
5
+ */
6
+ readonly fabricatePlaying: () => void;
7
+ /** Poll interval in seconds. Default: 0.25 */
8
+ readonly pollInterval?: number;
9
+ /** Seconds the play head must be frozen before recovering. Default: 0.75 */
10
+ readonly stallThreshold?: number;
11
+ /**
12
+ * Don't nudge this close to the end of buffered data; a freeze there is a
13
+ * legitimate wait for more data. Seconds. Default: 0.5
14
+ */
15
+ readonly bufferEndMargin?: number;
16
+ /** Seconds to nudge the play head forward to prod a resume. Default: 0.1 */
17
+ readonly stallSkip?: number;
18
+ /** Max recovery attempts before giving up. Default: 3 */
19
+ readonly maxAttempts?: number;
20
+ /**
21
+ * Nudge even when the playhead isn't inside a buffered range. Some WebKit versions leave a
22
+ * seek perpetually pending (no `seeked`) with a stale empty `buffered` even though data is
23
+ * appended; re-issuing the seek via a nudge can complete it. Off by default (only nudge over
24
+ * genuinely buffered data). Default: false
25
+ */
26
+ readonly nudgeUnbuffered?: boolean;
27
+ }
28
+ /**
29
+ * Watches a media element after a seek/play and drives it back into a playing state. Some WebKit
30
+ * versions stall: the play head freezes inside buffered data and playback never resumes (often with
31
+ * a stale low readyState). This polls the play head and, while the element should be advancing:
32
+ *
33
+ * - if it's frozen inside buffered data, nudges currentTime forward to prod a resume;
34
+ * - if there's no data at the playhead, waits (it's legitimately buffering, or between sources).
35
+ *
36
+ * When the play head progresses it calls {@link StallDetectorOptions.fabricatePlaying} if playback
37
+ * resumed without a `playing` event (or after the detector revived it), then stops. It also stops
38
+ * on pause/ended/emptied or after {@link StallDetectorOptions.maxAttempts}.
39
+ *
40
+ * Start it after a seek or play only when playback is intended — a paused element won't advance.
41
+ */
42
+ export declare function createStallDetector(media: HTMLMediaElement, options: StallDetectorOptions): () => void;
43
+ //# sourceMappingURL=createStallDetector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createStallDetector.d.ts","sourceRoot":"","sources":["../../../../src/playback/createStallDetector.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,oBAAoB;IACjC;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,EAAE,MAAM,IAAI,CAAA;IACrC,8CAA8C;IAC9C,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,4EAA4E;IAC5E,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;IAChC;;;OAGG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAA;IACjC,4EAA4E;IAC5E,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,yDAAyD;IACzD,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B;;;;;OAKG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAA;CACrC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CAC/B,KAAK,EAAE,gBAAgB,EACvB,OAAO,EAAE,oBAAoB,GAC9B,MAAM,IAAI,CAgEZ"}
@@ -0,0 +1,101 @@
1
+ /*
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ /**
6
+ * Watches a media element after a seek/play and drives it back into a playing state. Some WebKit
7
+ * versions stall: the play head freezes inside buffered data and playback never resumes (often with
8
+ * a stale low readyState). This polls the play head and, while the element should be advancing:
9
+ *
10
+ * - if it's frozen inside buffered data, nudges currentTime forward to prod a resume;
11
+ * - if there's no data at the playhead, waits (it's legitimately buffering, or between sources).
12
+ *
13
+ * When the play head progresses it calls {@link StallDetectorOptions.fabricatePlaying} if playback
14
+ * resumed without a `playing` event (or after the detector revived it), then stops. It also stops
15
+ * on pause/ended/emptied or after {@link StallDetectorOptions.maxAttempts}.
16
+ *
17
+ * Start it after a seek or play only when playback is intended — a paused element won't advance.
18
+ */
19
+ export function createStallDetector(media, options) {
20
+ const { fabricatePlaying } = options;
21
+ const pollInterval = options.pollInterval ?? 0.25;
22
+ const stallThreshold = options.stallThreshold ?? 0.75;
23
+ const bufferEndMargin = options.bufferEndMargin ?? 0.5;
24
+ const stallSkip = options.stallSkip ?? 0.1;
25
+ const maxAttempts = options.maxAttempts ?? 3;
26
+ const nudgeUnbuffered = options.nudgeUnbuffered ?? false;
27
+ let lastTime = media.currentTime;
28
+ let stalledFor = 0;
29
+ let attempts = 0;
30
+ let sawPlaying = false;
31
+ let recovered = false;
32
+ const onPlaying = () => {
33
+ sawPlaying = true;
34
+ };
35
+ // A cleared source (track unload) means there's nothing to recover.
36
+ const onEmptied = () => stop();
37
+ media.addEventListener('playing', onPlaying);
38
+ media.addEventListener('emptied', onEmptied);
39
+ const stop = () => {
40
+ clearInterval(id);
41
+ media.removeEventListener('playing', onPlaying);
42
+ media.removeEventListener('emptied', onEmptied);
43
+ };
44
+ const id = setInterval(() => {
45
+ // Only a playing element is expected to advance.
46
+ if (media.paused || media.ended)
47
+ return stop();
48
+ if (media.currentTime !== lastTime) {
49
+ lastTime = media.currentTime;
50
+ // Progressing. Announce playback if it resumed without a `playing`
51
+ // event, or if the detector had to revive it (a prior `playing` was
52
+ // cleared by the intervening stall).
53
+ if (!sawPlaying || recovered)
54
+ fabricatePlaying();
55
+ return stop();
56
+ }
57
+ // Frozen. Recover only over buffered data; otherwise it's legitimately
58
+ // waiting to buffer (or between sources) and nudging can disrupt
59
+ // loading — except on platforms whose `buffered` is unreliable here
60
+ // ({@link nudgeUnbuffered}), where re-issuing the seek is the recovery.
61
+ if (!nudgeUnbuffered && !withinBufferedData(media, bufferEndMargin)) {
62
+ stalledFor = 0;
63
+ return;
64
+ }
65
+ stalledFor += pollInterval;
66
+ if (stalledFor < stallThreshold)
67
+ return;
68
+ stalledFor = 0;
69
+ if (attempts++ >= maxAttempts)
70
+ return stop();
71
+ recovered = true;
72
+ // Data is buffered at the playhead — a small nudge prods a resume.
73
+ // (iOS can sit here reporting a stale low readyState even though the
74
+ // range around the playhead is buffered.)
75
+ media.currentTime += stallSkip;
76
+ lastTime = media.currentTime;
77
+ }, pollInterval * 1000);
78
+ return stop;
79
+ }
80
+ /**
81
+ * True when the play head sits inside a buffered range, clear of its end by
82
+ * {@link endMargin} — i.e. there is data to keep playing.
83
+ *
84
+ * A range that ends at the end of the media is treated as nudgeable up to its
85
+ * end: no more data is coming, so a freeze there is a stuck end-of-track (seen
86
+ * on progressive `src` tracks), and a nudge pushes the element to `ended`.
87
+ */
88
+ function withinBufferedData(media, endMargin) {
89
+ const t = media.currentTime;
90
+ const duration = media.duration;
91
+ const buffered = media.buffered;
92
+ for (let i = 0; i < buffered.length; i++) {
93
+ const end = buffered.end(i);
94
+ const isEndOfMedia = Number.isFinite(duration) &&
95
+ duration > 0 &&
96
+ end >= duration - endMargin;
97
+ if (t >= buffered.start(i) && (t < end - endMargin || isEndOfMedia))
98
+ return true;
99
+ }
100
+ return false;
101
+ }
@@ -0,0 +1,45 @@
1
+ import { type Timestamp } from '@amazon/vinyl-util';
2
+ import type { ReadonlyPlaybackController } from './ReadonlyPlaybackController';
3
+ import { StallEndedReason } from './ReadonlyPlaybackController';
4
+ export interface StallMonitorOptions {
5
+ /**
6
+ * Seconds the play head must be frozen (no `timeUpdate`) while playing before a stall is
7
+ * reported. Default: 1
8
+ */
9
+ readonly stallThreshold?: number;
10
+ /**
11
+ * How often (seconds) the play head freeze is checked. Default: 0.25
12
+ */
13
+ readonly pollInterval?: number;
14
+ }
15
+ export interface StallEndedInfo {
16
+ /** Time of the last `timeUpdate` observed before the play head froze. */
17
+ readonly started: Timestamp;
18
+ /** Time the stall ended. */
19
+ readonly ended: Timestamp;
20
+ /** Total seconds the play head was frozen. */
21
+ readonly duration: number;
22
+ /** Why the stall ended. */
23
+ readonly reason: StallEndedReason;
24
+ }
25
+ export interface StallMonitorCallbacks {
26
+ /** Called when a stall is first detected. */
27
+ readonly onStallEntered: () => void;
28
+ /** Called when a detected stall ends. */
29
+ readonly onStallEnded: (info: StallEndedInfo) => void;
30
+ }
31
+ /**
32
+ * Watches a {@link ReadonlyPlaybackController} for stalls while playing: the play head freezing
33
+ * (no `timeUpdate`) for longer than {@link StallMonitorOptions.stallThreshold} seconds.
34
+ *
35
+ * Detection only runs once playback has actually been observed (a `playing` event) and is
36
+ * suspended on `pause`/`seeking`/`emptied` until playback is observed again — so a stall is never
37
+ * reported during initial loading or while awaiting a seek. A detected stall ends when the play
38
+ * head advances again (`playing`) or playback stops for another reason (`pause`/`seeking`/
39
+ * `emptied`); {@link StallEndedInfo.duration} is measured from the last `timeUpdate` before the
40
+ * freeze, so it reflects the full frozen time rather than only the time past the threshold.
41
+ *
42
+ * Returns a function that stops the monitor.
43
+ */
44
+ export declare function createStallMonitor(controller: ReadonlyPlaybackController, callbacks: StallMonitorCallbacks, options?: StallMonitorOptions): () => void;
45
+ //# sourceMappingURL=createStallMonitor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createStallMonitor.d.ts","sourceRoot":"","sources":["../../../../src/playback/createStallMonitor.ts"],"names":[],"mappings":"AAKA,OAAO,EAAkB,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAA;AACnE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAA;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAE/D,MAAM,WAAW,mBAAmB;IAChC;;;OAGG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;IAEhC;;OAEG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CACjC;AAED,MAAM,WAAW,cAAc;IAC3B,yEAAyE;IACzE,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAA;IAC3B,4BAA4B;IAC5B,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAA;IACzB,8CAA8C;IAC9C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,2BAA2B;IAC3B,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAA;CACpC;AAED,MAAM,WAAW,qBAAqB;IAClC,6CAA6C;IAC7C,QAAQ,CAAC,cAAc,EAAE,MAAM,IAAI,CAAA;IACnC,yCAAyC;IACzC,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,CAAA;CACxD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAC9B,UAAU,EAAE,0BAA0B,EACtC,SAAS,EAAE,qBAAqB,EAChC,OAAO,GAAE,mBAAwB,GAClC,MAAM,IAAI,CA8EZ"}
@@ -0,0 +1,94 @@
1
+ /*
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ import { createDisposer } from '@amazon/vinyl-util';
6
+ import { StallEndedReason } from './ReadonlyPlaybackController';
7
+ /**
8
+ * Watches a {@link ReadonlyPlaybackController} for stalls while playing: the play head freezing
9
+ * (no `timeUpdate`) for longer than {@link StallMonitorOptions.stallThreshold} seconds.
10
+ *
11
+ * Detection only runs once playback has actually been observed (a `playing` event) and is
12
+ * suspended on `pause`/`seeking`/`emptied` until playback is observed again — so a stall is never
13
+ * reported during initial loading or while awaiting a seek. A detected stall ends when the play
14
+ * head advances again (`playing`) or playback stops for another reason (`pause`/`seeking`/
15
+ * `emptied`); {@link StallEndedInfo.duration} is measured from the last `timeUpdate` before the
16
+ * freeze, so it reflects the full frozen time rather than only the time past the threshold.
17
+ *
18
+ * Returns a function that stops the monitor.
19
+ */
20
+ export function createStallMonitor(controller, callbacks, options = {}) {
21
+ const stallThresholdMs = (options.stallThreshold ?? 1) * 1000;
22
+ const pollIntervalMs = (options.pollInterval ?? 0.25) * 1000;
23
+ // Only detect once playback has been observed; gates out initial load and post-seek buffering.
24
+ let observedPlaying = false;
25
+ // Wall-clock time of the last `timeUpdate` — the reference start of any freeze.
26
+ let lastProgressAt = Date.now();
27
+ let inStall = false;
28
+ let pollId = null;
29
+ const endStall = (reason) => {
30
+ if (!inStall)
31
+ return;
32
+ inStall = false;
33
+ const ended = Date.now();
34
+ callbacks.onStallEnded({
35
+ started: lastProgressAt,
36
+ ended,
37
+ duration: (ended - lastProgressAt) / 1000,
38
+ reason,
39
+ });
40
+ };
41
+ const stopPoll = () => {
42
+ if (pollId == null)
43
+ return;
44
+ clearInterval(pollId);
45
+ pollId = null;
46
+ };
47
+ const startPoll = () => {
48
+ if (pollId != null)
49
+ return;
50
+ pollId = setInterval(() => {
51
+ if (inStall || !observedPlaying)
52
+ return;
53
+ if (Date.now() - lastProgressAt >= stallThresholdMs) {
54
+ inStall = true;
55
+ callbacks.onStallEntered();
56
+ }
57
+ }, pollIntervalMs);
58
+ };
59
+ // Playback stopped for a non-resume reason: close any open stall and suspend detection until
60
+ // playback is observed again.
61
+ const suspend = (reason) => {
62
+ endStall(reason);
63
+ observedPlaying = false;
64
+ stopPoll();
65
+ };
66
+ const { add, dispose } = createDisposer();
67
+ add(controller.on('playing', () => {
68
+ // Resuming from a stall closes it; otherwise this is a fresh start of playback, so
69
+ // begin the freeze clock now (no `timeUpdate` has necessarily arrived yet).
70
+ if (inStall)
71
+ endStall(StallEndedReason.PLAYING);
72
+ else
73
+ lastProgressAt = Date.now();
74
+ observedPlaying = true;
75
+ startPoll();
76
+ }));
77
+ add(controller.on('timeUpdate', () => {
78
+ // The play head advanced: close any open stall, then reset the freeze clock.
79
+ if (inStall)
80
+ endStall(StallEndedReason.PLAYING);
81
+ lastProgressAt = Date.now();
82
+ }));
83
+ add(controller.on('pause', () => suspend(StallEndedReason.PAUSE)));
84
+ add(controller.on('seeking', () => suspend(StallEndedReason.SEEKING)));
85
+ add(controller.on('emptied', () => suspend(StallEndedReason.EMPTIED)));
86
+ let stopped = false;
87
+ return () => {
88
+ if (stopped)
89
+ return;
90
+ stopped = true;
91
+ stopPoll();
92
+ dispose();
93
+ };
94
+ }
@@ -1,4 +1,5 @@
1
1
  import type { ObjectSchema } from '@amazon/vinyl-validation';
2
+ import type { Maybe } from '@amazon/vinyl-util';
2
3
  /**
3
4
  * Criteria used to pick which audio rendition to play.
4
5
  */
@@ -33,6 +34,32 @@ export interface AudioOptions {
33
34
  * The audio selection criteria (language / descriptive).
34
35
  */
35
36
  readonly selection?: AudioSelection;
37
+ /**
38
+ * When `true`, disables the audio sampling-rate support filter, so audio
39
+ * renditions whose sampling rate exceeds what the platform reports (via the
40
+ * `AudioContext` output rate) are kept and offered to playback anyway.
41
+ * `false` (the default) applies the filter. Changing this re-filters the
42
+ * timeline immediately.
43
+ */
44
+ readonly disableSampleRateFilter?: boolean;
45
+ /**
46
+ * The maximum audio sampling rate (Hz) the sampling-rate filter treats as
47
+ * supported. When set, it takes precedence over the platform's
48
+ * `AudioContext`-reported output rate. Ignored when
49
+ * {@link disableSampleRateFilter} is `true`. Changing this re-filters the
50
+ * timeline immediately. `null`/`undefined` falls back to the reported rate.
51
+ */
52
+ readonly maxSampleRate?: Maybe<number>;
53
+ /**
54
+ * The minimum audio sampling rate (Hz) the sampling-rate filter treats as
55
+ * supported. When set, renditions below it are filtered out as a soft floor
56
+ * (if every audio rendition is below it, the highest is kept so playback is
57
+ * never stranded). Applied alongside the max cap whenever the filter runs,
58
+ * regardless of how the max was determined; ignored when
59
+ * {@link disableSampleRateFilter} is `true`. Changing this re-filters the
60
+ * timeline immediately.
61
+ */
62
+ readonly minSampleRate?: Maybe<number>;
36
63
  }
37
64
  export declare const defaultAudioOptions: AudioOptions;
38
65
  export declare const audioOptionsValidator: ObjectSchema<AudioOptions>;
@@ -1 +1 @@
1
- {"version":3,"file":"AudioOptions.d.ts","sourceRoot":"","sources":["../../../../src/streaming/AudioOptions.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAG5D;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B;;;;;;;;OAQG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,IAAI,CAAA;IAErD;;;;;;;OAOG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CACjC;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IACzB;;OAEG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,cAAc,CAAA;CACtC;AAED,eAAO,MAAM,mBAAmB,EAAE,YAEjC,CAAA;AAOD,eAAO,MAAM,qBAAqB,EAAE,YAAY,CAAC,YAAY,CAE3D,CAAA"}
1
+ {"version":3,"file":"AudioOptions.d.ts","sourceRoot":"","sources":["../../../../src/streaming/AudioOptions.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAQ5D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAE/C;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B;;;;;;;;OAQG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,IAAI,CAAA;IAErD;;;;;;;OAOG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CACjC;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IACzB;;OAEG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,cAAc,CAAA;IAEnC;;;;;;OAMG;IACH,QAAQ,CAAC,uBAAuB,CAAC,EAAE,OAAO,CAAA;IAE1C;;;;;;OAMG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IAEtC;;;;;;;;OAQG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;CACzC;AAED,eAAO,MAAM,mBAAmB,EAAE,YAGjC,CAAA;AAOD,eAAO,MAAM,qBAAqB,EAAE,YAAY,CAAC,YAAY,CAK3D,CAAA"}
@@ -2,9 +2,10 @@
2
2
  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
- import { array, boolean, object, string } from '@amazon/vinyl-validation';
5
+ import { array, boolean, number, object, string, } from '@amazon/vinyl-validation';
6
6
  export const defaultAudioOptions = {
7
7
  selection: { language: null, descriptive: false },
8
+ disableSampleRateFilter: false,
8
9
  };
9
10
  const audioSelectionValidator = object({
10
11
  language: string().or(array(string()).readonly()).orNull().optional(),
@@ -12,4 +13,7 @@ const audioSelectionValidator = object({
12
13
  });
13
14
  export const audioOptionsValidator = object({
14
15
  selection: audioSelectionValidator.optional(),
16
+ disableSampleRateFilter: boolean().optional(),
17
+ maxSampleRate: number().maybe().optional(),
18
+ minSampleRate: number().maybe().optional(),
15
19
  });
@@ -38,10 +38,6 @@ export interface ContentStream extends ReadonlyEventHost<StreamingEventMap>, Dis
38
38
  * True if the last segment has been appended.
39
39
  */
40
40
  readonly bufferingEnded: boolean;
41
- /**
42
- * True while this stream's buffer holds any data.
43
- */
44
- readonly hasData: boolean;
45
41
  /**
46
42
  * Starts prefetching with the given priority and prefetch start time.
47
43
  * @param options
@@ -96,7 +92,6 @@ export declare class ContentStreamImpl extends EventHostImpl<StreamingEventMap>
96
92
  get streamingQuality(): MediaQualityMetadata | null;
97
93
  get bufferingQuality(): MediaQualityMetadata | null;
98
94
  get playbackQuality(): MediaQualityMetadata | null;
99
- get hasData(): boolean;
100
95
  get bufferingEnded(): boolean;
101
96
  get error(): Error | null;
102
97
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ContentStream.d.ts","sourceRoot":"","sources":["../../../../src/streaming/ContentStream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ContentStream.d.ts","sourceRoot":"","sources":["../../../../src/streaming/ContentStream.ts"],"names":[],"mappings":"AAKA,OAAO,EAGH,KAAK,UAAU,EACf,aAAa,EAEb,KAAK,KAAK,EACV,KAAK,iBAAiB,EACtB,KAAK,cAAc,EAEtB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAA;AAC1E,OAAO,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC/E,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAElE;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,WAAW,EAAE,WAAW,KAAK,aAAa,CAAA;AAE9E,MAAM,WAAW,aACb,SAAQ,iBAAiB,CAAC,iBAAiB,CAAC,EAAE,UAAU;IACxD;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAA;IAEjC;;OAEG;IACH,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAA;IAEtC;;OAEG;IACH,QAAQ,CAAC,gBAAgB,EAAE,oBAAoB,GAAG,IAAI,CAAA;IAEtD;;OAEG;IACH,QAAQ,CAAC,gBAAgB,EAAE,oBAAoB,GAAG,IAAI,CAAA;IAEtD;;OAEG;IACH,QAAQ,CAAC,eAAe,EAAE,oBAAoB,GAAG,IAAI,CAAA;IAErD;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;IAE5B;;OAEG;IACH,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAA;IAEhC;;;OAGG;IACH,OAAO,CAAC,OAAO,EAAE,2BAA2B,GAAG,IAAI,CAAA;IAEnD,aAAa,IAAI,IAAI,CAAA;IAErB;;;OAGG;IACH,KAAK,IAAI,IAAI,CAAA;IAEb;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,4BAA4B,CAAC,GAAG,IAAI,CAAA;IAE5D;;OAEG;IACH,UAAU,IAAI,IAAI,CAAA;CACrB;AAED,MAAM,WAAW,2BAA2B;IACxC;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;IAEjC;;OAEG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;CACrC;AAED,MAAM,WAAW,4BAA4B;IACzC;;OAEG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;CACrC;AAED,MAAM,WAAW,qBAAqB;IAClC,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,CAAA;IACjD,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAA;CAChD;AAED,qBAAa,iBACT,SAAQ,aAAa,CAAC,iBAAiB,CACvC,YAAW,aAAa;IAgBpB,QAAQ,CAAC,WAAW,EAAE,WAAW;IAdrC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAEjC;IAID,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAE1B,OAAO,CAAC,QAAQ,CAAmB;IACnC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAmB;IACrD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAqB;gBAGrD,mBAAmB,EAAE,SAAS,CAAC,qBAAqB,CAAC,EAC5C,WAAW,EAAE,WAAW;IA0BrC,OAAO,CAAC,OAAO,EAAE,2BAA2B;IAO5C,IAAI,aAAa,IAAI,cAAc,CAElC;IAED,IAAI,gBAAgB,IAAI,oBAAoB,GAAG,IAAI,CAElD;IAED,IAAI,gBAAgB,IAAI,oBAAoB,GAAG,IAAI,CAElD;IAED,IAAI,eAAe,IAAI,oBAAoB,GAAG,IAAI,CAEjD;IAED,IAAI,cAAc,IAAI,OAAO,CAE5B;IAED,IAAI,KAAK,IAAI,KAAK,GAAG,IAAI,CAExB;IAED;;;;OAIG;IACH,aAAa;IAMb;;;OAGG;IACH,KAAK,IAAI,IAAI;IAKb,QAAQ,CAAC,OAAO,EAAE,4BAA4B,GAAG,IAAI;IASrD,UAAU,IAAI,IAAI;IAKlB,OAAO,IAAI,IAAI;CAIlB;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE;IAC7C,QAAQ,CAAC,4BAA4B,EAAE,CACnC,WAAW,EAAE,WAAW,KACvB,SAAS,CAAC,qBAAqB,CAAC,CAAA;CACxC,iBACyB,WAAW,uBAMpC"}
@@ -34,7 +34,6 @@ export class ContentStreamImpl extends EventHostImpl {
34
34
  'bufferingQualityChange',
35
35
  'playbackQualityChange',
36
36
  'bufferingEnded',
37
- 'hasDataChange',
38
37
  'error',
39
38
  'codecUnsupported',
40
39
  ]);
@@ -57,9 +56,6 @@ export class ContentStreamImpl extends EventHostImpl {
57
56
  get playbackQuality() {
58
57
  return this.bufferingController.playbackQuality ?? null;
59
58
  }
60
- get hasData() {
61
- return this.bufferingController.hasData;
62
- }
63
59
  get bufferingEnded() {
64
60
  return this.bufferingController.bufferingEnded;
65
61
  }
@@ -1 +1 @@
1
- {"version":3,"file":"LoadMetric.d.ts","sourceRoot":"","sources":["../../../../src/streaming/LoadMetric.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAE9C;;;;;;;GAOG;AACH,MAAM,MAAM,YAAY,GAClB,UAAU,GACV,SAAS,GACT,aAAa,GACb,cAAc,CAAA;AAEpB;;;;;;;;GAQG;AACH,MAAM,WAAW,mBAAmB;IAChC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAA;IAE3B;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAE7B;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAA;IAE3B;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAA;CAC/B;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAc,SAAQ,mBAAmB;IACtD,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAA;CACnC"}
1
+ {"version":3,"file":"LoadMetric.d.ts","sourceRoot":"","sources":["../../../../src/streaming/LoadMetric.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAE9C;;;;;;;GAOG;AACH,MAAM,MAAM,YAAY,GACpB,UAAU,GAAG,SAAS,GAAG,aAAa,GAAG,cAAc,CAAA;AAE3D;;;;;;;;GAQG;AACH,MAAM,WAAW,mBAAmB;IAChC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAA;IAE3B;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAE7B;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAA;IAE3B;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAA;CAC/B;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAc,SAAQ,mBAAmB;IACtD,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAA;CACnC"}
@@ -34,10 +34,6 @@ export interface StreamingEventMap {
34
34
  * The last segment has finished appending.
35
35
  */
36
36
  readonly bufferingEnded: AnyRecord;
37
- /**
38
- * The buffer went from empty to holding data, or back to empty.
39
- */
40
- readonly hasDataChange: ChangeEvent<boolean>;
41
37
  /**
42
38
  * Dispatched when a streaming error occurs.
43
39
  */
@@ -90,5 +86,5 @@ export interface CodecUnsupportedEvent {
90
86
  * All streaming-related events a track may emit.
91
87
  * These will be bubbled by the player.
92
88
  */
93
- export declare const ALL_STREAMING_EVENTS: readonly ["contentTypesChange", "fetchedRangesChange", "streamingQualityChange", "bufferingQualityChange", "playbackQualityChange", "bufferingEnded", "hasDataChange", "error", "reset", "qualitiesChange", "qualitiesUnfilteredChange", "codecUnsupported", "seekRangeChange", "loadSpanMeasured"];
89
+ export declare const ALL_STREAMING_EVENTS: readonly ["contentTypesChange", "fetchedRangesChange", "streamingQualityChange", "bufferingQualityChange", "playbackQualityChange", "bufferingEnded", "error", "reset", "qualitiesChange", "qualitiesUnfilteredChange", "codecUnsupported", "seekRangeChange", "loadSpanMeasured"];
94
90
  //# sourceMappingURL=StreamingEventMap.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"StreamingEventMap.d.ts","sourceRoot":"","sources":["../../../../src/streaming/StreamingEventMap.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAEvD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B;;OAEG;IACH,QAAQ,CAAC,kBAAkB,EAAE,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAA;IAElE;;OAEG;IACH,QAAQ,CAAC,mBAAmB,EAAE,SAAS,CAAA;IAEvC;;;OAGG;IACH,QAAQ,CAAC,sBAAsB,EAAE,WAAW,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAA;IAEzE;;;OAGG;IACH,QAAQ,CAAC,sBAAsB,EAAE,WAAW,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAA;IAEzE;;OAEG;IACH,QAAQ,CAAC,qBAAqB,EAAE,WAAW,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAA;IAExE;;OAEG;IACH,QAAQ,CAAC,cAAc,EAAE,SAAS,CAAA;IAElC;;OAEG;IACH,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IAE5C;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAA;IAE/B;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAA;IAEzB;;OAEG;IACH,QAAQ,CAAC,eAAe,EAAE,WAAW,CAAC,SAAS,oBAAoB,EAAE,CAAC,CAAA;IAEtE;;OAEG;IACH,QAAQ,CAAC,yBAAyB,EAAE,WAAW,CAC3C,SAAS,oBAAoB,EAAE,CAClC,CAAA;IAED;;;;;;OAMG;IACH,QAAQ,CAAC,gBAAgB,EAAE,qBAAqB,CAAA;IAEhD;;OAEG;IACH,QAAQ,CAAC,eAAe,EAAE,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC,CAAA;IAEvD;;;;OAIG;IACH,QAAQ,CAAC,gBAAgB,EAAE,mBAAmB,CAAA;CACjD;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IAClC;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IAEzB;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAA;CACpC;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB,qSAewB,CAAA"}
1
+ {"version":3,"file":"StreamingEventMap.d.ts","sourceRoot":"","sources":["../../../../src/streaming/StreamingEventMap.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAEvD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B;;OAEG;IACH,QAAQ,CAAC,kBAAkB,EAAE,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAA;IAElE;;OAEG;IACH,QAAQ,CAAC,mBAAmB,EAAE,SAAS,CAAA;IAEvC;;;OAGG;IACH,QAAQ,CAAC,sBAAsB,EAAE,WAAW,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAA;IAEzE;;;OAGG;IACH,QAAQ,CAAC,sBAAsB,EAAE,WAAW,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAA;IAEzE;;OAEG;IACH,QAAQ,CAAC,qBAAqB,EAAE,WAAW,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAA;IAExE;;OAEG;IACH,QAAQ,CAAC,cAAc,EAAE,SAAS,CAAA;IAElC;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAA;IAE/B;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAA;IAEzB;;OAEG;IACH,QAAQ,CAAC,eAAe,EAAE,WAAW,CAAC,SAAS,oBAAoB,EAAE,CAAC,CAAA;IAEtE;;OAEG;IACH,QAAQ,CAAC,yBAAyB,EAAE,WAAW,CAC3C,SAAS,oBAAoB,EAAE,CAClC,CAAA;IAED;;;;;;OAMG;IACH,QAAQ,CAAC,gBAAgB,EAAE,qBAAqB,CAAA;IAEhD;;OAEG;IACH,QAAQ,CAAC,eAAe,EAAE,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC,CAAA;IAEvD;;;;OAIG;IACH,QAAQ,CAAC,gBAAgB,EAAE,mBAAmB,CAAA;CACjD;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IAClC;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IAEzB;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAA;CACpC;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB,oRAcwB,CAAA"}
@@ -13,7 +13,6 @@ export const ALL_STREAMING_EVENTS = [
13
13
  'bufferingQualityChange',
14
14
  'playbackQualityChange',
15
15
  'bufferingEnded',
16
- 'hasDataChange',
17
16
  'error',
18
17
  'reset',
19
18
  'qualitiesChange',
@@ -44,10 +44,6 @@ export interface BufferingControllerEventMap {
44
44
  * The last segment has finished appending.
45
45
  */
46
46
  readonly bufferingEnded: AnyRecord;
47
- /**
48
- * The buffer went from empty to holding data, or back to empty.
49
- */
50
- readonly hasDataChange: ChangeEvent<boolean>;
51
47
  /**
52
48
  * A codec the browser reported as supported failed to decode on append and
53
49
  * has been denylisted. Dispatched instead of `error` so the media can be
@@ -83,10 +79,6 @@ export interface BufferingController extends ReadonlyEventHost<BufferingControll
83
79
  * True if the stream has buffered the last segment.
84
80
  */
85
81
  readonly bufferingEnded: boolean;
86
- /**
87
- * True while the buffer holds any data (false when empty or cleared).
88
- */
89
- readonly hasData: boolean;
90
82
  /**
91
83
  * Begins buffering.
92
84
  */
@@ -163,7 +155,6 @@ export declare class BufferingControllerImpl extends EventHostImpl<BufferingCont
163
155
  private reopen;
164
156
  private _error;
165
157
  private _bufferingEnded;
166
- private _hasData;
167
158
  private readonly queue;
168
159
  private disposer;
169
160
  private _active;
@@ -238,8 +229,6 @@ export declare class BufferingControllerImpl extends EventHostImpl<BufferingCont
238
229
  * Returns true if the last segment has been appended.
239
230
  */
240
231
  get bufferingEnded(): boolean;
241
- get hasData(): boolean;
242
- private setHasData;
243
232
  private readonly handleError;
244
233
  /**
245
234
  * Attempts to recover from a SourceBuffer decode/append failure caused by a
@@ -1 +1 @@
1
- {"version":3,"file":"BufferingController.d.ts","sourceRoot":"","sources":["../../../../../src/streaming/buffering/BufferingController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BufferingController.d.ts","sourceRoot":"","sources":["../../../../../src/streaming/buffering/BufferingController.ts"],"names":[],"mappings":"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"}
@@ -88,7 +88,6 @@ export class BufferingControllerImpl extends EventHostImpl {
88
88
  reopen = false;
89
89
  _error = null;
90
90
  _bufferingEnded = false;
91
- _hasData = false;
92
91
  queue = createTaskQueue();
93
92
  disposer = createDisposer();
94
93
  _active = false;
@@ -295,7 +294,6 @@ export class BufferingControllerImpl extends EventHostImpl {
295
294
  }
296
295
  if (!tail)
297
296
  this.refreshHead(); // Update quality immediately if buffer was empty
298
- this.setHasData(true);
299
297
  }
300
298
  abortCurrentSegment() {
301
299
  this.segmentAbort.abort();
@@ -383,16 +381,6 @@ export class BufferingControllerImpl extends EventHostImpl {
383
381
  get bufferingEnded() {
384
382
  return this._bufferingEnded;
385
383
  }
386
- get hasData() {
387
- return this._hasData;
388
- }
389
- setHasData(value) {
390
- if (this._hasData === value)
391
- return;
392
- const previous = this._hasData;
393
- this._hasData = value;
394
- this.dispatch('hasDataChange', { previous, current: value });
395
- }
396
384
  handleError = (error) => {
397
385
  if ('name' in error && error.name === 'QuotaExceededError') {
398
386
  const contentType = this.bufferingQuality?.contentType;
@@ -512,7 +500,6 @@ export class BufferingControllerImpl extends EventHostImpl {
512
500
  this._bufferingEnded = false;
513
501
  this.bufferingQuality = null;
514
502
  this.playbackQuality = null;
515
- this.setHasData(false);
516
503
  }
517
504
  /**
518
505
  * Finish any partial appends and clear the source buffer.
@@ -1 +1 @@
1
- {"version":3,"file":"createDefaultMediaTimelineTransformer.d.ts","sourceRoot":"","sources":["../../../../src/streaming/createDefaultMediaTimelineTransformer.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAE/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAuBpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAElE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAElD,MAAM,WAAW,mCAAmC;IAChD,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAA;IACnC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAA;IACrC,QAAQ,CAAC,aAAa,EAAE,eAAe,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAA;IAC/D,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;QAC9B,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAA;QAC5B,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,CAAA;KAC3C,CAAC,CAAA;CACL;AAED;;;GAGG;AACH,wBAAgB,qCAAqC,CACjD,IAAI,EAAE,mCAAmC,GAC1C,eAAe,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAwEzC"}
1
+ {"version":3,"file":"createDefaultMediaTimelineTransformer.d.ts","sourceRoot":"","sources":["../../../../src/streaming/createDefaultMediaTimelineTransformer.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAE/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAuBpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAElE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAElD,MAAM,WAAW,mCAAmC;IAChD,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAA;IACnC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAA;IACrC,QAAQ,CAAC,aAAa,EAAE,eAAe,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAA;IAC/D,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;QAC9B,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAA;QAC5B,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,CAAA;KAC3C,CAAC,CAAA;CACL;AAED;;;GAGG;AACH,wBAAgB,qCAAqC,CACjD,IAAI,EAAE,mCAAmC,GAC1C,eAAe,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAsFzC"}