@amazon/vinyl 3.0.1 → 3.2.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 (268) hide show
  1. package/dist/index.cjs +1103 -1042
  2. package/dist/index.cjs.map +4 -4
  3. package/dist/index.js +810 -739
  4. package/dist/index.js.map +4 -4
  5. package/dist/test/benchmark.js.map +2 -2
  6. package/dist/test/integ.es5.js +394 -388
  7. package/dist/test/integ.js +2626 -2032
  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 +19 -1
  18. package/dist/types/current/drm/DrmControllerImpl.d.ts.map +1 -1
  19. package/dist/types/current/drm/DrmControllerImpl.js +101 -58
  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 +15 -1
  44. package/dist/types/current/streaming/LoadMetric.d.ts.map +1 -1
  45. package/dist/types/current/streaming/StreamingEventMap.d.ts +1 -5
  46. package/dist/types/current/streaming/StreamingEventMap.d.ts.map +1 -1
  47. package/dist/types/current/streaming/StreamingEventMap.js +0 -1
  48. package/dist/types/current/streaming/buffering/BufferingController.d.ts +0 -11
  49. package/dist/types/current/streaming/buffering/BufferingController.d.ts.map +1 -1
  50. package/dist/types/current/streaming/buffering/BufferingController.js +0 -13
  51. package/dist/types/current/streaming/createDefaultMediaTimelineTransformer.d.ts.map +1 -1
  52. package/dist/types/current/streaming/createDefaultMediaTimelineTransformer.js +13 -4
  53. package/dist/types/current/streaming/mediaTimelineFilter.d.ts +4 -2
  54. package/dist/types/current/streaming/mediaTimelineFilter.d.ts.map +1 -1
  55. package/dist/types/current/streaming/mediaTimelineFilter.js +23 -8
  56. package/dist/types/current/text/SidecarTextTrackLoader.d.ts.map +1 -1
  57. package/dist/types/current/text/SidecarTextTrackLoader.js +4 -4
  58. package/dist/types/current/text/TextTrack.d.ts.map +1 -1
  59. package/dist/types/current/track/TrackController.d.ts.map +1 -1
  60. package/dist/types/current/track/TrackController.js +8 -2
  61. package/dist/types/current/track/createSegmentDataProvider.d.ts.map +1 -1
  62. package/dist/types/current/track/createSegmentDataProvider.js +6 -3
  63. package/dist/types/current/track/dash/DashMediaQualityMetadataResolver.d.ts +10 -6
  64. package/dist/types/current/track/dash/DashMediaQualityMetadataResolver.d.ts.map +1 -1
  65. package/dist/types/current/track/dash/DashMediaQualityMetadataResolver.js +13 -8
  66. package/dist/types/current/track/dash/createDashFactories.d.ts +1 -1
  67. package/dist/types/current/track/dash/timeline/DashRepresentationSegmentProvider.d.ts.map +1 -1
  68. package/dist/types/current/track/dash/timeline/DashRepresentationSegmentProvider.js +71 -3
  69. package/dist/types/current/track/dash/urlDashManifestProvider.js +2 -2
  70. package/dist/types/current/track/dash/util/mpd.d.ts +6 -0
  71. package/dist/types/current/track/dash/util/mpd.d.ts.map +1 -1
  72. package/dist/types/current/track/dash/util/mpd.js +24 -3
  73. package/dist/types/current/track/filters/resourceTypeFilter.d.ts +4 -0
  74. package/dist/types/current/track/filters/resourceTypeFilter.d.ts.map +1 -1
  75. package/dist/types/current/track/filters/resourceTypeFilter.js +4 -0
  76. package/dist/types/current/track/filters/sampleRateFilter.d.ts +25 -7
  77. package/dist/types/current/track/filters/sampleRateFilter.d.ts.map +1 -1
  78. package/dist/types/current/track/filters/sampleRateFilter.js +52 -24
  79. package/dist/types/current/track/hls/createHlsFactories.d.ts +1 -1
  80. package/dist/types/current/track/hls/createUrlHlsManifestProvider.d.ts.map +1 -1
  81. package/dist/types/current/track/hls/createUrlHlsManifestProvider.js +3 -3
  82. package/dist/types/current/track/mse/MseTrack.d.ts +0 -17
  83. package/dist/types/current/track/mse/MseTrack.d.ts.map +1 -1
  84. package/dist/types/current/track/mse/MseTrack.js +1 -45
  85. package/dist/types/current/tsconfig.tsbuildinfo +1 -1
  86. package/dist/types/current/util/media/mimeType.d.ts +8 -0
  87. package/dist/types/current/util/media/mimeType.d.ts.map +1 -0
  88. package/dist/types/current/util/media/mimeType.js +13 -0
  89. package/dist/types/current/vinyl/VinylPlayer.d.ts +5 -0
  90. package/dist/types/current/vinyl/VinylPlayer.d.ts.map +1 -1
  91. package/dist/types/current/vinyl/VinylPlayer.js +23 -1
  92. package/dist/types/current/vinyl/createVinylFactories.d.ts +7 -16
  93. package/dist/types/current/vinyl/createVinylFactories.d.ts.map +1 -1
  94. package/dist/types/current/vinyl/createVinylFactories.js +2 -12
  95. package/dist/types/ts3.7/drm/DrmControllerImpl.d.ts +19 -1
  96. package/dist/types/ts3.7/index.d.ts +3 -6
  97. package/dist/types/ts3.7/playback/PlaybackControllerImpl.d.ts +15 -0
  98. package/dist/types/ts3.7/playback/ReadonlyPlaybackController.d.ts +28 -0
  99. package/dist/types/ts3.7/playback/createStallDetector.d.ts +43 -0
  100. package/dist/types/ts3.7/playback/createStallMonitor.d.ts +45 -0
  101. package/dist/types/ts3.7/streaming/AudioOptions.d.ts +27 -0
  102. package/dist/types/ts3.7/streaming/ContentStream.d.ts +0 -5
  103. package/dist/types/ts3.7/streaming/LoadMetric.d.ts +15 -1
  104. package/dist/types/ts3.7/streaming/StreamingEventMap.d.ts +0 -5
  105. package/dist/types/ts3.7/streaming/buffering/BufferingController.d.ts +0 -11
  106. package/dist/types/ts3.7/streaming/mediaTimelineFilter.d.ts +4 -2
  107. package/dist/types/ts3.7/track/dash/DashMediaQualityMetadataResolver.d.ts +10 -6
  108. package/dist/types/ts3.7/track/dash/createDashFactories.d.ts +1 -1
  109. package/dist/types/ts3.7/track/dash/util/mpd.d.ts +6 -0
  110. package/dist/types/ts3.7/track/filters/resourceTypeFilter.d.ts +4 -0
  111. package/dist/types/ts3.7/track/filters/sampleRateFilter.d.ts +25 -7
  112. package/dist/types/ts3.7/track/hls/createHlsFactories.d.ts +1 -1
  113. package/dist/types/ts3.7/track/mse/MseTrack.d.ts +0 -17
  114. package/dist/types/ts3.7/util/media/mimeType.d.ts +8 -0
  115. package/dist/types/ts3.7/vinyl/VinylPlayer.d.ts +5 -0
  116. package/dist/types/ts3.7/vinyl/createVinylFactories.d.ts +7 -16
  117. package/dist/types/ts4.1/drm/DrmControllerImpl.d.ts +19 -1
  118. package/dist/types/ts4.1/index.d.ts +3 -6
  119. package/dist/types/ts4.1/playback/PlaybackControllerImpl.d.ts +15 -0
  120. package/dist/types/ts4.1/playback/ReadonlyPlaybackController.d.ts +28 -0
  121. package/dist/types/ts4.1/playback/createStallDetector.d.ts +43 -0
  122. package/dist/types/ts4.1/playback/createStallMonitor.d.ts +45 -0
  123. package/dist/types/ts4.1/streaming/AudioOptions.d.ts +27 -0
  124. package/dist/types/ts4.1/streaming/ContentStream.d.ts +0 -5
  125. package/dist/types/ts4.1/streaming/LoadMetric.d.ts +15 -1
  126. package/dist/types/ts4.1/streaming/StreamingEventMap.d.ts +0 -5
  127. package/dist/types/ts4.1/streaming/buffering/BufferingController.d.ts +0 -11
  128. package/dist/types/ts4.1/streaming/mediaTimelineFilter.d.ts +4 -2
  129. package/dist/types/ts4.1/track/dash/DashMediaQualityMetadataResolver.d.ts +10 -6
  130. package/dist/types/ts4.1/track/dash/createDashFactories.d.ts +1 -1
  131. package/dist/types/ts4.1/track/dash/util/mpd.d.ts +6 -0
  132. package/dist/types/ts4.1/track/filters/resourceTypeFilter.d.ts +4 -0
  133. package/dist/types/ts4.1/track/filters/sampleRateFilter.d.ts +25 -7
  134. package/dist/types/ts4.1/track/hls/createHlsFactories.d.ts +1 -1
  135. package/dist/types/ts4.1/track/mse/MseTrack.d.ts +0 -17
  136. package/dist/types/ts4.1/util/media/mimeType.d.ts +8 -0
  137. package/dist/types/ts4.1/vinyl/VinylPlayer.d.ts +5 -0
  138. package/dist/types/ts4.1/vinyl/createVinylFactories.d.ts +7 -16
  139. package/dist/types/ts4.7/drm/DrmControllerImpl.d.ts +19 -1
  140. package/dist/types/ts4.7/index.d.ts +3 -6
  141. package/dist/types/ts4.7/playback/PlaybackControllerImpl.d.ts +15 -0
  142. package/dist/types/ts4.7/playback/ReadonlyPlaybackController.d.ts +28 -0
  143. package/dist/types/ts4.7/playback/createStallDetector.d.ts +43 -0
  144. package/dist/types/ts4.7/playback/createStallMonitor.d.ts +45 -0
  145. package/dist/types/ts4.7/streaming/AudioOptions.d.ts +27 -0
  146. package/dist/types/ts4.7/streaming/ContentStream.d.ts +0 -5
  147. package/dist/types/ts4.7/streaming/LoadMetric.d.ts +15 -1
  148. package/dist/types/ts4.7/streaming/StreamingEventMap.d.ts +0 -5
  149. package/dist/types/ts4.7/streaming/buffering/BufferingController.d.ts +0 -11
  150. package/dist/types/ts4.7/streaming/mediaTimelineFilter.d.ts +4 -2
  151. package/dist/types/ts4.7/track/dash/DashMediaQualityMetadataResolver.d.ts +10 -6
  152. package/dist/types/ts4.7/track/dash/createDashFactories.d.ts +1 -1
  153. package/dist/types/ts4.7/track/dash/util/mpd.d.ts +6 -0
  154. package/dist/types/ts4.7/track/filters/resourceTypeFilter.d.ts +4 -0
  155. package/dist/types/ts4.7/track/filters/sampleRateFilter.d.ts +25 -7
  156. package/dist/types/ts4.7/track/hls/createHlsFactories.d.ts +1 -1
  157. package/dist/types/ts4.7/track/mse/MseTrack.d.ts +0 -17
  158. package/dist/types/ts4.7/util/media/mimeType.d.ts +8 -0
  159. package/dist/types/ts4.7/vinyl/VinylPlayer.d.ts +5 -0
  160. package/dist/types/ts4.7/vinyl/createVinylFactories.d.ts +7 -16
  161. package/dist/unit/types/current/ad/AdControllerImpl.test.js +27 -1
  162. package/dist/unit/types/current/drm/DrmControllerImpl.test.js +146 -9
  163. package/dist/unit/types/current/index.d.ts +3 -4
  164. package/dist/unit/types/current/index.d.ts.map +1 -1
  165. package/dist/unit/types/current/index.js +3 -4
  166. package/dist/unit/types/current/playback/PlaybackControllerImpl.test.js +165 -0
  167. package/dist/unit/types/current/playback/createStallDetector.test.d.ts +2 -0
  168. package/dist/unit/types/current/playback/createStallDetector.test.d.ts.map +1 -0
  169. package/dist/unit/types/current/playback/createStallDetector.test.js +163 -0
  170. package/dist/unit/types/current/playback/createStallMonitor.test.d.ts +2 -0
  171. package/dist/unit/types/current/playback/createStallMonitor.test.d.ts.map +1 -0
  172. package/dist/unit/types/current/playback/createStallMonitor.test.js +125 -0
  173. package/dist/unit/types/current/streaming/ContentStream.test.js +0 -11
  174. package/dist/unit/types/current/streaming/MseTrack.test.js +49 -73
  175. package/dist/unit/types/current/streaming/abr/QualitySelectorImpl.test.js +1 -1
  176. package/dist/unit/types/current/streaming/buffering/BufferingController.test.js +0 -21
  177. package/dist/unit/types/current/streaming/createDefaultMediaTimelineTransformer.test.js +133 -0
  178. package/dist/unit/types/current/streaming/mediaTimelineFilter.test.js +60 -54
  179. package/dist/unit/types/current/track/TrackController.test.js +61 -1
  180. package/dist/unit/types/current/track/createSegmentDataProvider.test.js +18 -0
  181. package/dist/unit/types/current/track/dash/DashMediaQualityMetadataResolver.test.js +46 -14
  182. package/dist/unit/types/current/track/dash/createSegmentControllerFactory.test.js +1 -0
  183. package/dist/unit/types/current/track/dash/timeline/DashRepresentationSegmentProvider.test.js +114 -0
  184. package/dist/unit/types/current/track/dash/util/mpd.test.js +37 -0
  185. package/dist/unit/types/current/track/filters/resourceTypeFilter.test.js +7 -0
  186. package/dist/unit/types/current/track/filters/sampleRateFilter.test.js +211 -34
  187. package/dist/unit/types/current/track/source/SourceObjectTrack.test.js +1 -1
  188. package/dist/unit/types/current/tsconfig.tsbuildinfo +1 -1
  189. package/dist/unit/types/current/util/media/mimeType.test.d.ts +2 -0
  190. package/dist/unit/types/current/util/media/mimeType.test.d.ts.map +1 -0
  191. package/dist/unit/types/current/util/media/mimeType.test.js +22 -0
  192. package/dist/unit/types/current/vinyl/VinylPlayer.test.js +33 -2
  193. package/dist/unit/types/current/vinyl/createVinylFactories.test.js +2 -36
  194. package/dist/vinylTestUtil/index.js +6 -4
  195. package/dist/vinylTestUtil/index.js.map +2 -2
  196. package/dist/vinylTestUtil/types/current/assets/vinylTestAssets.d.ts +1 -0
  197. package/dist/vinylTestUtil/types/current/assets/vinylTestAssets.d.ts.map +1 -1
  198. package/dist/vinylTestUtil/types/current/assets/vinylTestAssets.js +1 -0
  199. package/dist/vinylTestUtil/types/current/media/FrequencyAnalyzer.d.ts.map +1 -1
  200. package/dist/vinylTestUtil/types/current/mock/streaming/MockContentStream.d.ts +0 -1
  201. package/dist/vinylTestUtil/types/current/mock/streaming/MockContentStream.d.ts.map +1 -1
  202. package/dist/vinylTestUtil/types/current/mock/streaming/MockContentStream.js +0 -1
  203. package/dist/vinylTestUtil/types/current/mock/streaming/buffering/MockBufferingController.d.ts +0 -1
  204. package/dist/vinylTestUtil/types/current/mock/streaming/buffering/MockBufferingController.d.ts.map +1 -1
  205. package/dist/vinylTestUtil/types/current/mock/streaming/buffering/MockBufferingController.js +0 -1
  206. package/dist/vinylTestUtil/types/current/tsconfig.tsbuildinfo +1 -1
  207. package/dist/vinylTestUtil/types/current/util/playback/eventPromises.js +1 -1
  208. package/dist/vinylTestUtil/types/current/util/playback/expectTrackCanSeek.d.ts.map +1 -1
  209. package/dist/vinylTestUtil/types/current/util/playback/expectTrackCanSeek.js +9 -1
  210. package/dist/vinylTestUtil/types/ts3.7/assets/vinylTestAssets.d.ts +1 -0
  211. package/dist/vinylTestUtil/types/ts3.7/mock/streaming/MockContentStream.d.ts +0 -1
  212. package/dist/vinylTestUtil/types/ts3.7/mock/streaming/buffering/MockBufferingController.d.ts +0 -1
  213. package/dist/vinylTestUtil/types/ts4.1/assets/vinylTestAssets.d.ts +1 -0
  214. package/dist/vinylTestUtil/types/ts4.1/mock/streaming/MockContentStream.d.ts +0 -1
  215. package/dist/vinylTestUtil/types/ts4.1/mock/streaming/buffering/MockBufferingController.d.ts +0 -1
  216. package/dist/vinylTestUtil/types/ts4.7/assets/vinylTestAssets.d.ts +1 -0
  217. package/dist/vinylTestUtil/types/ts4.7/mock/streaming/MockContentStream.d.ts +0 -1
  218. package/dist/vinylTestUtil/types/ts4.7/mock/streaming/buffering/MockBufferingController.d.ts +0 -1
  219. package/docs/USAGE.md +29 -0
  220. package/package.json +11 -10
  221. package/dist/types/current/patch/media/HtmlMediaElementPatch.d.ts +0 -3
  222. package/dist/types/current/patch/media/HtmlMediaElementPatch.d.ts.map +0 -1
  223. package/dist/types/current/patch/media/HtmlMediaElementPatch.js +0 -5
  224. package/dist/types/current/patch/media/MediaElementPatchOptions.d.ts +0 -19
  225. package/dist/types/current/patch/media/MediaElementPatchOptions.d.ts.map +0 -1
  226. package/dist/types/current/patch/media/MediaElementPatchOptions.js +0 -16
  227. package/dist/types/current/patch/media/patchMediaElement.d.ts +0 -9
  228. package/dist/types/current/patch/media/patchMediaElement.d.ts.map +0 -1
  229. package/dist/types/current/patch/media/patchMediaElement.js +0 -15
  230. package/dist/types/current/patch/media/patches/createPreventStallsPatch.d.ts +0 -17
  231. package/dist/types/current/patch/media/patches/createPreventStallsPatch.d.ts.map +0 -1
  232. package/dist/types/current/patch/media/patches/createPreventStallsPatch.js +0 -55
  233. package/dist/types/current/patch/media/patches/createUnreliablePlaybackEventsPatch.d.ts +0 -26
  234. package/dist/types/current/patch/media/patches/createUnreliablePlaybackEventsPatch.d.ts.map +0 -1
  235. package/dist/types/current/patch/media/patches/createUnreliablePlaybackEventsPatch.js +0 -218
  236. package/dist/types/current/vinyl/VinylPatchOptions.d.ts +0 -10
  237. package/dist/types/current/vinyl/VinylPatchOptions.d.ts.map +0 -1
  238. package/dist/types/current/vinyl/VinylPatchOptions.js +0 -11
  239. package/dist/types/ts3.7/patch/media/HtmlMediaElementPatch.d.ts +0 -3
  240. package/dist/types/ts3.7/patch/media/MediaElementPatchOptions.d.ts +0 -19
  241. package/dist/types/ts3.7/patch/media/patchMediaElement.d.ts +0 -9
  242. package/dist/types/ts3.7/patch/media/patches/createPreventStallsPatch.d.ts +0 -17
  243. package/dist/types/ts3.7/patch/media/patches/createUnreliablePlaybackEventsPatch.d.ts +0 -26
  244. package/dist/types/ts3.7/vinyl/VinylPatchOptions.d.ts +0 -10
  245. package/dist/types/ts4.1/patch/media/HtmlMediaElementPatch.d.ts +0 -3
  246. package/dist/types/ts4.1/patch/media/MediaElementPatchOptions.d.ts +0 -19
  247. package/dist/types/ts4.1/patch/media/patchMediaElement.d.ts +0 -9
  248. package/dist/types/ts4.1/patch/media/patches/createPreventStallsPatch.d.ts +0 -17
  249. package/dist/types/ts4.1/patch/media/patches/createUnreliablePlaybackEventsPatch.d.ts +0 -26
  250. package/dist/types/ts4.1/vinyl/VinylPatchOptions.d.ts +0 -10
  251. package/dist/types/ts4.7/patch/media/HtmlMediaElementPatch.d.ts +0 -3
  252. package/dist/types/ts4.7/patch/media/MediaElementPatchOptions.d.ts +0 -19
  253. package/dist/types/ts4.7/patch/media/patchMediaElement.d.ts +0 -9
  254. package/dist/types/ts4.7/patch/media/patches/createPreventStallsPatch.d.ts +0 -17
  255. package/dist/types/ts4.7/patch/media/patches/createUnreliablePlaybackEventsPatch.d.ts +0 -26
  256. package/dist/types/ts4.7/vinyl/VinylPatchOptions.d.ts +0 -10
  257. package/dist/unit/types/current/patch/media/MediaElementPatchOptions.test.d.ts +0 -2
  258. package/dist/unit/types/current/patch/media/MediaElementPatchOptions.test.d.ts.map +0 -1
  259. package/dist/unit/types/current/patch/media/MediaElementPatchOptions.test.js +0 -17
  260. package/dist/unit/types/current/patch/media/patchMediaElement.test.d.ts +0 -2
  261. package/dist/unit/types/current/patch/media/patchMediaElement.test.d.ts.map +0 -1
  262. package/dist/unit/types/current/patch/media/patchMediaElement.test.js +0 -36
  263. package/dist/unit/types/current/patch/media/patches/createPreventStallsPatch.test.d.ts +0 -2
  264. package/dist/unit/types/current/patch/media/patches/createPreventStallsPatch.test.d.ts.map +0 -1
  265. package/dist/unit/types/current/patch/media/patches/createPreventStallsPatch.test.js +0 -93
  266. package/dist/unit/types/current/patch/media/patches/createUnreliablePlaybackEventsPatch.test.d.ts +0 -2
  267. package/dist/unit/types/current/patch/media/patches/createUnreliablePlaybackEventsPatch.test.d.ts.map +0 -1
  268. package/dist/unit/types/current/patch/media/patches/createUnreliablePlaybackEventsPatch.test.js +0 -423
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=mimeType.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mimeType.test.d.ts","sourceRoot":"","sources":["../../../../../../test/unit/util/media/mimeType.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,22 @@
1
+ /*
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ import { mimeSubtype } from '@amazon/vinyl';
6
+ describe('mimeSubtype', () => {
7
+ it('returns the subtype after the slash', () => {
8
+ expect(mimeSubtype('audio/mp4')).toBe('mp4');
9
+ expect(mimeSubtype('video/webm')).toBe('webm');
10
+ });
11
+ it('ignores codec and other parameters', () => {
12
+ expect(mimeSubtype('video/webm; codecs="vp9"')).toBe('webm');
13
+ expect(mimeSubtype('audio/mp4;codecs="mp4a.40.2"')).toBe('mp4');
14
+ });
15
+ it('lowercases and trims', () => {
16
+ expect(mimeSubtype(' VIDEO/MP4 ; codecs="avc1"')).toBe('mp4');
17
+ });
18
+ it('returns an empty string when there is no subtype', () => {
19
+ expect(mimeSubtype('video')).toBe('');
20
+ expect(mimeSubtype('')).toBe('');
21
+ });
22
+ });
@@ -4,10 +4,10 @@
4
4
  */
5
5
  import { createEmptyMediaQualityMetadata, createSourceTrackFactory, createTrackFactory, createVinylPlayer, defaultQualitySelectorImplOptions, DrmError, PlaybackNetworkState, PlaybackReadyState, vinylGlobalRef, } from '@amazon/vinyl';
6
6
  import { externalDependencies } from '@amazon/vinyl-di';
7
- import { consoleLogHandler, createArrayLikeIterator, emptyRanges, historyLogHandler, noop, RangesImpl, } from '@amazon/vinyl-util';
7
+ import { consoleLogHandler, createArrayLikeIterator, emptyRanges, historyLogHandler, LogLevel, noop, RangesImpl, } from '@amazon/vinyl-util';
8
8
  import { expectIterableEquals, expectNothing, expectTypeStrictlyEquals, mockEvent, MockHTMLAudioElement, polyfillCustomEvent, } from '@amazon/vinyl-util/browserTestUtil';
9
9
  import { createMockVinylDependencies, MockCapabilities, MockPlaybackController, MockTrack, MockTrackController, MockTrackFactory, } from '@amazon/vinyl/vinylTestUtil';
10
- import { createEventSpy } from '@amazon/vinyl-util/testUtil';
10
+ import { createEventSpy, useMockLogger } from '@amazon/vinyl-util/testUtil';
11
11
  import { data } from '@amazon/vinyl-observable';
12
12
  var any = jasmine.any;
13
13
  var createSpy = jasmine.createSpy;
@@ -16,6 +16,7 @@ describe('VinylPlayer', () => {
16
16
  let depFactories;
17
17
  let player;
18
18
  let mockOptions;
19
+ const loggerRef = useMockLogger();
19
20
  polyfillCustomEvent();
20
21
  beforeEach(() => {
21
22
  mockOptions = { media: new MockHTMLAudioElement() };
@@ -247,6 +248,36 @@ describe('VinylPlayer', () => {
247
248
  });
248
249
  expect(spy).not.toHaveBeenCalled();
249
250
  });
251
+ it('logs each republished span at the verbose level with formatted times', () => {
252
+ loggerRef.value.logLevel = LogLevel.VERBOSE;
253
+ deps.drmController.dispatch('loadSpanMeasured', {
254
+ kind: 'license',
255
+ startTime: 1000,
256
+ endTime: 3500,
257
+ trackUri: 'track-a',
258
+ mimeType: 'audio/mp4',
259
+ contentType: 'audio',
260
+ });
261
+ expect(loggerRef.value.verbose).toHaveBeenCalledOnceWith(player, 'loadSpan', {
262
+ kind: 'license',
263
+ trackUri: 'track-a',
264
+ mimeType: 'audio/mp4',
265
+ contentType: 'audio',
266
+ startTime: new Date(1000).toISOString(),
267
+ endTime: new Date(3500).toISOString(),
268
+ durationMs: '2500.00',
269
+ });
270
+ });
271
+ it('does not format or log a span when the verbose level is off', () => {
272
+ loggerRef.value.logLevel = LogLevel.DEBUG;
273
+ deps.drmController.dispatch('loadSpanMeasured', {
274
+ kind: 'license',
275
+ startTime: 1000,
276
+ endTime: 3500,
277
+ trackUri: 'track-a',
278
+ });
279
+ expect(loggerRef.value.verbose).not.toHaveBeenCalled();
280
+ });
250
281
  });
251
282
  it('reloads the current track on a codecUnsupported event', () => {
252
283
  const trackController = deps.trackController;
@@ -2,17 +2,12 @@
2
2
  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
- import { CapabilitiesImpl, createVinylFactories, defaultMediaElementPatchOptions, defaultPatchOptions, DrmKeySystem, LoudnessNormalizationControllerImpl, PlaybackControllerImpl, PlaybackSourceImpl, TrackControllerImpl, } from '@amazon/vinyl';
5
+ import { CapabilitiesImpl, createVinylFactories, DrmKeySystem, LoudnessNormalizationControllerImpl, PlaybackControllerImpl, PlaybackSourceImpl, TrackControllerImpl, } from '@amazon/vinyl';
6
6
  import { createContainer, } from '@amazon/vinyl-di';
7
- import { expectTypeExtends, expectTypeStrictlyEquals, MockHTMLAudioElement, polyfillCustomEvent, } from '@amazon/vinyl-util/browserTestUtil';
8
- import { useMockLogger } from '@amazon/vinyl-util/testUtil';
7
+ import { expectTypeExtends, expectTypeStrictlyEquals, MockHTMLAudioElement, } from '@amazon/vinyl-util/browserTestUtil';
9
8
  var any = jasmine.any;
10
9
  var objectContaining = jasmine.objectContaining;
11
10
  describe('createVinylFactories', () => {
12
- const loggerRef = useMockLogger();
13
- afterEach(() => {
14
- defaultMediaElementPatchOptions.clear();
15
- });
16
11
  it('delivers all essential dependency providers', () => {
17
12
  const playerDependencies = createVinylFactories({
18
13
  media: new MockHTMLAudioElement(),
@@ -41,34 +36,6 @@ describe('createVinylFactories', () => {
41
36
  }));
42
37
  container.dispose();
43
38
  });
44
- describe('when patch override flags are provided', () => {
45
- polyfillCustomEvent();
46
- beforeEach(() => {
47
- defaultPatchOptions.value = {
48
- media: {
49
- unreliablePlaybackEvents: true,
50
- preventStalls: false,
51
- },
52
- };
53
- });
54
- afterEach(() => {
55
- defaultPatchOptions.clear();
56
- });
57
- it('merges those flags with the defaults', () => {
58
- const playerDependencies = createVinylFactories({
59
- media: new MockHTMLAudioElement(),
60
- patches: {
61
- media: {
62
- preventStalls: true,
63
- },
64
- },
65
- });
66
- const patched = playerDependencies.patchedMedia();
67
- expect(loggerRef.value.debug).toHaveBeenCalledWith(any(Object), `Applying 'preventStalls' patch`);
68
- expect(loggerRef.value.debug).toHaveBeenCalledWith(any(Object), `Applying 'unreliablePlaybackEvents' patch`);
69
- patched.dispose();
70
- });
71
- });
72
39
  it('can be used in a dependency container', () => {
73
40
  const container = createContainer(createVinylFactories({
74
41
  media: new MockHTMLAudioElement(),
@@ -79,7 +46,6 @@ describe('createVinylFactories', () => {
79
46
  },
80
47
  }));
81
48
  expect(container.dependencies).toEqual(objectContaining({
82
- patchedMedia: any(Object),
83
49
  media: any(Object),
84
50
  textTrackProvider: any(Object),
85
51
  textTrackRenderer: null,
@@ -1552,6 +1552,7 @@ var vinylTestAssets = {
1552
1552
  dash: {
1553
1553
  live_static_aac_opus_flac_60s_segmentTemplate: `https://assets.dev.vinyl.music.amazon.dev/dash/live_static_aac_opus_flac_60s_segmentTemplate/manifest.mpd`,
1554
1554
  live_static_aac_opus_flac_60s_segmentBase: `https://assets.dev.vinyl.music.amazon.dev/dash/live_static_aac_opus_flac_60s_segmentBase/manifest.mpd`,
1555
+ live_static_webm_vp9_opus_60s_segmentBase: `https://assets.dev.vinyl.music.amazon.dev/dash/live_static_webm_vp9_opus_60s_segmentBase/manifest.mpd`,
1555
1556
  live_static_video_audio_60s_2s_segmentTemplate: `https://assets.dev.vinyl.music.amazon.dev/dash/live_static_video_audio_60s_2s_segmentTemplate/manifest.mpd`,
1556
1557
  live_static_video_audio_60s_4s_segmentTemplate: `https://assets.dev.vinyl.music.amazon.dev/dash/live_static_video_audio_60s_4s_segmentTemplate/manifest.mpd`,
1557
1558
  live_static_video_audio_60s_2s_segmentTemplate_widevine_cl10: `https://assets.dev.vinyl.music.amazon.dev/dash/live_static_video_audio_60s_2s_segmentTemplate_widevine_cl10/manifest.mpd`,
@@ -2474,7 +2475,6 @@ var MockContentStream = class extends MockEventHost8 {
2474
2475
  __publicField(this, "playbackQuality", null);
2475
2476
  __publicField(this, "streamingQuality", null);
2476
2477
  __publicField(this, "bufferingEnded", false);
2477
- __publicField(this, "hasData", false);
2478
2478
  __publicField(this, "clearPrefetch", spyFactory20("clearPrefetch"));
2479
2479
  __publicField(this, "activate", spyFactory20("activate"));
2480
2480
  __publicField(this, "deactivate", spyFactory20("deactivate"));
@@ -2617,7 +2617,6 @@ var MockBufferingController = class extends MockEventHost11 {
2617
2617
  __publicField(this, "error", null);
2618
2618
  __publicField(this, "active", false);
2619
2619
  __publicField(this, "bufferingEnded", false);
2620
- __publicField(this, "hasData", false);
2621
2620
  __publicField(this, "playbackQuality", null);
2622
2621
  __publicField(this, "bufferingQuality", null);
2623
2622
  __publicField(this, "activate", spyFactory25("activate"));
@@ -2882,7 +2881,7 @@ import {
2882
2881
  nextHasMetadata
2883
2882
  } from "@amazon/vinyl";
2884
2883
  import { nextEventAsPromise } from "@amazon/vinyl-util";
2885
- async function onPlaying(playbackController, timeout = 10) {
2884
+ async function onPlaying(playbackController, timeout = 30) {
2886
2885
  if (playbackController.playing) return Promise.resolve();
2887
2886
  return nextEventAsPromise(playbackController, "playing", {
2888
2887
  timeout,
@@ -2973,6 +2972,9 @@ async function expectTrackCanSeekTo(player, time) {
2973
2972
  const playedSpy = add(createEventSpy(player, "played"));
2974
2973
  const seekingSpy = add(createEventSpy(player, "seeking"));
2975
2974
  const seekedSpy = add(createEventSpy(player, "seeked"));
2975
+ const eventOrder = [];
2976
+ add(player.on("seeking", () => eventOrder.push("seeking")));
2977
+ add(player.on("seeked", () => eventOrder.push("seeked")));
2976
2978
  const wasPaused = player.paused;
2977
2979
  if (player.playing) {
2978
2980
  seekingSpy.next().then(() => {
@@ -2991,7 +2993,7 @@ async function expectTrackCanSeekTo(player, time) {
2991
2993
  expect(seekingSpy).not.toHaveBeenCalled();
2992
2994
  expect(seekedSpy).not.toHaveBeenCalled();
2993
2995
  } else {
2994
- expect(seekingSpy).toHaveBeenCalledBefore(seekedSpy);
2996
+ expect(eventOrder[0]).withContext("first seek event").toBe("seeking");
2995
2997
  expect(player.paused).withContext("paused").toBe(wasPaused);
2996
2998
  if (wasPaused) {
2997
2999
  expectPausedState(player);