shaka-player 3.2.3 → 3.2.6

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 (325) hide show
  1. package/.csslintrc +11 -1
  2. package/.github/ISSUE_TEMPLATE/bug_report.md +1 -1
  3. package/.github/workflows/build-and-test.yaml +130 -0
  4. package/.github/workflows/custom-actions/prep-for-appspot/action.yaml +56 -0
  5. package/.github/workflows/custom-actions/set-commit-status/action.yaml +41 -0
  6. package/.github/workflows/demo-version-index.yaml +29 -0
  7. package/.github/workflows/nightly-demo.yaml +42 -0
  8. package/.github/workflows/release-please.yaml +147 -0
  9. package/.github/workflows/safari-homedir-launcher.sh +18 -0
  10. package/.github/workflows/selenium-lab-tests.yaml +93 -0
  11. package/AUTHORS +2 -0
  12. package/CHANGELOG.md +1587 -1551
  13. package/CONTRIBUTING.md +2 -2
  14. package/CONTRIBUTORS +2 -0
  15. package/README.md +7 -7
  16. package/app-engine/README.md +9 -0
  17. package/app-engine/demo-version-index/README.md +14 -0
  18. package/app-engine/demo-version-index/app.yaml +2 -0
  19. package/app-engine/demo-version-index/main.py +162 -0
  20. package/app-engine/demo-version-index/requirements.txt +6 -0
  21. package/app-engine/demo-version-index/templates/index.html +114 -0
  22. package/app-engine/shaka-player-demo/README.md +18 -0
  23. package/app-engine/shaka-player-demo/app.yaml +61 -0
  24. package/app-engine/shaka-player-demo/main.py +95 -0
  25. package/app-engine/shaka-player-demo/posters/10yo.png +0 -0
  26. package/app-engine/shaka-player-demo/posters/10yo.xcf +0 -0
  27. package/app-engine/shaka-player-demo/posters/1yo.jpg +0 -0
  28. package/app-engine/shaka-player-demo/posters/2yo.png +0 -0
  29. package/app-engine/shaka-player-demo/posters/2yo.xcf +0 -0
  30. package/app-engine/shaka-player-demo/posters/3yo.png +0 -0
  31. package/app-engine/shaka-player-demo/posters/3yo.xcf +0 -0
  32. package/app-engine/shaka-player-demo/posters/4yo.png +0 -0
  33. package/app-engine/shaka-player-demo/posters/4yo.xcf +0 -0
  34. package/app-engine/shaka-player-demo/posters/5yo.png +0 -0
  35. package/app-engine/shaka-player-demo/posters/5yo.xcf +0 -0
  36. package/app-engine/shaka-player-demo/posters/6yo.png +0 -0
  37. package/app-engine/shaka-player-demo/posters/6yo.xcf +0 -0
  38. package/app-engine/shaka-player-demo/posters/7yo.png +0 -0
  39. package/app-engine/shaka-player-demo/posters/7yo.xcf +0 -0
  40. package/app-engine/shaka-player-demo/posters/8yo.png +0 -0
  41. package/app-engine/shaka-player-demo/posters/8yo.xcf +0 -0
  42. package/app-engine/shaka-player-demo/posters/9yo.png +0 -0
  43. package/app-engine/shaka-player-demo/posters/9yo.xcf +0 -0
  44. package/app-engine/shaka-player-demo/posters/audioOnly.gif +0 -0
  45. package/app-engine/shaka-player-demo/posters/audioRickRoll.gif +0 -0
  46. package/app-engine/shaka-player-demo/posters/colorbars.gif +0 -0
  47. package/app-engine/shaka-player-demo/posters/fireworks.jpg +0 -0
  48. package/app-engine/shaka-player-demo/posters/party-hat.png +0 -0
  49. package/app-engine/shaka-player-demo/posters/sources.txt +46 -0
  50. package/app-engine/shaka-player-demo/posters/standard.png +0 -0
  51. package/app-engine/shaka-player-demo/posters/trek.jpg +0 -0
  52. package/app-engine/shaka-player-demo/posters/valentines.png +0 -0
  53. package/app-engine/shaka-player-demo/posters/zombie.jpg +0 -0
  54. package/app-engine/shaka-player-demo/posters.py +110 -0
  55. package/app-engine/shaka-player-demo/requirements.txt +5 -0
  56. package/app-engine/shaka-player-demo/time.txt +1 -0
  57. package/build/README.md +1 -1
  58. package/build/checkversion.py +1 -1
  59. package/build/conformance.textproto +13 -0
  60. package/build/docker/Dockerfile +20 -0
  61. package/build/docker/docker-compose.yml +10 -0
  62. package/build/gendeps.py +18 -15
  63. package/build/generateTsDefs.py +2 -0
  64. package/build/shaka-lab.yaml +163 -0
  65. package/build/shakaBuildHelpers.py +4 -29
  66. package/build/test.py +93 -28
  67. package/build/wrapper.template.js +2 -2
  68. package/demo/TengwarTelcontar.woff2 +0 -0
  69. package/demo/asset_card.js +1 -2
  70. package/demo/cast_receiver/index.html +1 -1
  71. package/demo/cast_receiver/receiver_app.css +14 -14
  72. package/demo/common/assets.js +2 -0
  73. package/demo/config.js +0 -1
  74. package/demo/custom.js +0 -1
  75. package/demo/customWarning.txt +2 -2
  76. package/demo/demo.less +29 -18
  77. package/demo/demo_uncompiled.js +1 -13
  78. package/demo/index.html +1 -1
  79. package/demo/main.js +3 -3
  80. package/dist/controls.css +2 -2
  81. package/dist/controls.css.map +1 -1
  82. package/dist/demo.compiled.debug.js +191 -194
  83. package/dist/demo.compiled.debug.map +4 -4
  84. package/dist/demo.compiled.js +191 -194
  85. package/dist/demo.compiled.map +4 -4
  86. package/dist/demo.css +1 -1
  87. package/dist/demo.css.map +1 -1
  88. package/dist/deps.js +225 -219
  89. package/dist/locales.js +27 -27
  90. package/dist/receiver.compiled.debug.js +43 -45
  91. package/dist/receiver.compiled.debug.map +4 -4
  92. package/dist/receiver.compiled.js +43 -45
  93. package/dist/receiver.compiled.map +4 -4
  94. package/dist/shaka-player.compiled.d.ts +228 -225
  95. package/dist/shaka-player.compiled.debug.d.ts +228 -225
  96. package/dist/shaka-player.compiled.debug.externs.js +21 -15
  97. package/dist/shaka-player.compiled.debug.js +326 -333
  98. package/dist/shaka-player.compiled.debug.map +4 -4
  99. package/dist/shaka-player.compiled.externs.js +21 -15
  100. package/dist/shaka-player.compiled.js +818 -821
  101. package/dist/shaka-player.compiled.map +4 -4
  102. package/dist/shaka-player.ui.d.ts +272 -278
  103. package/dist/shaka-player.ui.debug.d.ts +272 -278
  104. package/dist/shaka-player.ui.debug.externs.js +23 -26
  105. package/dist/shaka-player.ui.debug.js +259 -267
  106. package/dist/shaka-player.ui.debug.map +4 -4
  107. package/dist/shaka-player.ui.externs.js +23 -26
  108. package/dist/shaka-player.ui.js +963 -968
  109. package/dist/shaka-player.ui.map +4 -4
  110. package/docs/design/REDESIGN.md +33 -33
  111. package/docs/design/codec_preferences.md +1 -1
  112. package/docs/design/dash-audio-channels.md +3 -3
  113. package/docs/design/dash-manifests.md +1 -1
  114. package/docs/design/gap-jumping.md +3 -3
  115. package/docs/design/preload.md +2 -2
  116. package/docs/tutorials/faq.md +8 -8
  117. package/docs/tutorials/index.json +1 -0
  118. package/docs/tutorials/plugins.md +3 -3
  119. package/docs/tutorials/selenium-grid-config.md +122 -0
  120. package/docs/tutorials/welcome.md +10 -2
  121. package/karma.conf.js +156 -45
  122. package/lib/abr/simple_abr_manager.js +12 -6
  123. package/lib/ads/ad_manager.js +1 -0
  124. package/lib/cast/cast_proxy.js +6 -4
  125. package/lib/cast/cast_receiver.js +3 -0
  126. package/lib/cea/cea608_data_channel.js +2 -2
  127. package/lib/cea/cea708_service.js +5 -4
  128. package/lib/cea/mp4_cea_parser.js +11 -5
  129. package/lib/cea/sei_processor.js +6 -3
  130. package/lib/dash/dash_parser.js +40 -30
  131. package/lib/dash/mpd_utils.js +4 -5
  132. package/lib/dash/segment_list.js +1 -2
  133. package/lib/dash/segment_template.js +3 -3
  134. package/lib/hls/hls_parser.js +11 -9
  135. package/lib/hls/manifest_text_parser.js +4 -3
  136. package/lib/media/adaptation_set.js +1 -2
  137. package/lib/media/content_workarounds.js +2 -2
  138. package/lib/media/drm_engine.js +3 -2
  139. package/lib/media/media_source_engine.js +3 -2
  140. package/lib/media/mp4_segment_index_parser.js +1 -4
  141. package/lib/media/playhead.js +2 -2
  142. package/lib/media/presentation_timeline.js +18 -8
  143. package/lib/media/region_observer.js +39 -33
  144. package/lib/media/region_timeline.js +17 -19
  145. package/lib/media/streaming_engine.js +7 -7
  146. package/lib/media/time_ranges_utils.js +1 -3
  147. package/lib/media/video_wrapper.js +1 -1
  148. package/lib/net/networking_engine.js +5 -1
  149. package/lib/offline/storage.js +12 -13
  150. package/lib/player.js +58 -24
  151. package/lib/polyfill/all.js +2 -3
  152. package/lib/polyfill/encryption_scheme.js +1 -1
  153. package/lib/polyfill/media_capabilities.js +3 -3
  154. package/lib/polyfill/mediasource.js +1 -1
  155. package/lib/text/cue.js +1 -1
  156. package/lib/text/simple_text_displayer.js +2 -1
  157. package/lib/text/ttml_text_parser.js +8 -5
  158. package/lib/text/ui_text_displayer.js +1 -1
  159. package/lib/util/buffer_utils.js +1 -3
  160. package/lib/util/ebml_parser.js +3 -3
  161. package/lib/util/error.js +1 -1
  162. package/lib/util/fake_event_target.js +21 -1
  163. package/lib/util/iterables.js +0 -46
  164. package/lib/util/mp4_box_parsers.js +1 -4
  165. package/lib/util/mp4_parser.js +5 -7
  166. package/lib/util/periods.js +8 -9
  167. package/lib/util/platform.js +3 -3
  168. package/lib/util/pssh.js +1 -4
  169. package/lib/util/stream_utils.js +4 -3
  170. package/lib/util/string_utils.js +3 -5
  171. package/lib/util/uint8array_utils.js +3 -5
  172. package/lib/util/xml_utils.js +15 -7
  173. package/package.json +62 -40
  174. package/roadmap.md +17 -17
  175. package/test/abr/simple_abr_manager_unit.js +3 -8
  176. package/test/ads/ad_manager_unit.js +0 -6
  177. package/test/cast/cast_proxy_unit.js +0 -8
  178. package/test/cast/cast_receiver_integration.js +1 -18
  179. package/test/cast/cast_receiver_unit.js +1 -9
  180. package/test/cast/cast_sender_unit.js +0 -6
  181. package/test/cast/cast_utils_unit.js +0 -13
  182. package/test/cea/cea608_memory_unit.js +0 -5
  183. package/test/cea/cea708_service_unit.js +0 -7
  184. package/test/cea/cea708_window_unit.js +0 -5
  185. package/test/cea/cea_decoder_unit.js +0 -6
  186. package/test/cea/dtvcc_packet_builder_unit.js +0 -3
  187. package/test/cea/dtvcc_packet_unit.js +0 -5
  188. package/test/cea/mp4_cea_parser_unit.js +0 -4
  189. package/test/dash/dash_parser_content_protection_unit.js +1 -10
  190. package/test/dash/dash_parser_live_unit.js +45 -15
  191. package/test/dash/dash_parser_manifest_unit.js +4 -17
  192. package/test/dash/dash_parser_segment_base_unit.js +1 -8
  193. package/test/dash/dash_parser_segment_list_unit.js +1 -7
  194. package/test/dash/dash_parser_segment_template_unit.js +0 -9
  195. package/test/dash/mpd_utils_unit.js +3 -11
  196. package/test/demo/demo_unit.js +0 -5
  197. package/test/deprecate/enforcer_unit.js +0 -4
  198. package/test/deprecate/version_unit.js +0 -2
  199. package/test/hls/hls_live_unit.js +2 -14
  200. package/test/hls/hls_parser_unit.js +76 -15
  201. package/test/hls/manifest_text_parser_unit.js +0 -10
  202. package/test/media/adaptation_set_criteria_unit.js +3 -7
  203. package/test/media/adaptation_set_unit.js +0 -2
  204. package/test/media/buffering_observer_unit.js +1 -4
  205. package/test/media/closed_caption_parser_unit.js +0 -3
  206. package/test/media/drm_engine_integration.js +2 -15
  207. package/test/media/drm_engine_unit.js +4 -24
  208. package/test/media/manifest_parser_unit.js +0 -4
  209. package/test/media/media_source_engine_integration.js +0 -7
  210. package/test/media/media_source_engine_unit.js +1 -14
  211. package/test/media/mp4_segment_index_parser_unit.js +0 -4
  212. package/test/media/play_rate_controller_unit.js +0 -4
  213. package/test/media/playhead_unit.js +8 -16
  214. package/test/media/presentation_timeline_unit.js +4 -7
  215. package/test/media/region_observer_unit.js +40 -10
  216. package/test/media/region_timeline_unit.js +40 -25
  217. package/test/media/segment_index_unit.js +0 -6
  218. package/test/media/segment_reference_unit.js +0 -3
  219. package/test/media/stall_detector_unit.js +0 -5
  220. package/test/media/streaming_engine_integration.js +9 -36
  221. package/test/media/streaming_engine_unit.js +11 -35
  222. package/test/media/time_ranges_utils_unit.js +0 -2
  223. package/test/media/transmuxer_integration.js +0 -6
  224. package/test/media/webm_segment_index_parser_unit.js +0 -4
  225. package/test/net/data_uri_plugin_unit.js +0 -7
  226. package/test/net/http_plugin_unit.js +0 -9
  227. package/test/net/networking_engine_unit.js +0 -11
  228. package/test/offline/download_progress_estimator_unit.js +0 -2
  229. package/test/offline/indexeddb_storage_unit.js +0 -6
  230. package/test/offline/manifest_convert_unit.js +0 -8
  231. package/test/offline/offline_integration.js +1 -10
  232. package/test/offline/offline_manifest_parser_unit.js +0 -6
  233. package/test/offline/offline_scheme_unit.js +0 -8
  234. package/test/offline/offline_uri_unit.js +0 -2
  235. package/test/offline/storage_compatibility_unit.js +1 -14
  236. package/test/offline/storage_integration.js +1 -25
  237. package/test/player_external.js +2 -10
  238. package/test/player_integration.js +21 -28
  239. package/test/player_load_graph_integration.js +1 -6
  240. package/test/player_src_equals_external.js +3 -9
  241. package/test/player_src_equals_integration.js +0 -7
  242. package/test/player_unit.js +52 -37
  243. package/test/routing/walker_unit.js +0 -8
  244. package/test/test/assets/large_file.mpd +1 -1
  245. package/test/test/boot.js +75 -22
  246. package/test/test/externs/jasmine.js +2 -2
  247. package/test/test/externs/karma.js +4 -0
  248. package/test/test/namespace.js +10 -0
  249. package/test/test/util/canned_idb.js +0 -8
  250. package/test/test/util/cea_utils.js +0 -6
  251. package/test/test/util/dash_parser_util.js +0 -13
  252. package/test/test/util/fake_ad.js +0 -3
  253. package/test/test/util/fake_ad_manager.js +0 -9
  254. package/test/test/util/fake_demo_main.js +0 -5
  255. package/test/test/util/fake_drm_engine.js +0 -6
  256. package/test/test/util/fake_media_source_engine.js +0 -7
  257. package/test/test/util/fake_networking_engine.js +0 -5
  258. package/test/test/util/fake_text_displayer.js +0 -5
  259. package/test/test/util/indexeddb_utils.js +1 -10
  260. package/test/test/util/jasmine_fetch.js +0 -1
  261. package/test/test/util/loader.js +0 -18
  262. package/test/test/util/manifest_generator.js +9 -14
  263. package/test/test/util/manifest_parser_util.js +0 -6
  264. package/test/test/util/offline_utils.js +0 -5
  265. package/test/test/util/simple_fakes.js +9 -26
  266. package/test/test/util/stream_generator.js +0 -14
  267. package/test/test/util/streaming_engine_util.js +0 -15
  268. package/test/test/util/test_scheme.js +1 -19
  269. package/test/test/util/ttml_utils.js +0 -2
  270. package/test/test/util/ui_utils.js +0 -9
  271. package/test/test/util/util.js +15 -26
  272. package/test/test/util/waiter.js +84 -43
  273. package/test/text/cue_integration.js +0 -4
  274. package/test/text/lrc_text_parser_unit.js +0 -4
  275. package/test/text/mp4_ttml_parser_unit.js +0 -6
  276. package/test/text/mp4_vtt_parser_unit.js +1 -7
  277. package/test/text/sbv_text_parser_unit.js +0 -4
  278. package/test/text/simple_text_displayer_unit.js +1 -8
  279. package/test/text/srt_text_parser_unit.js +0 -4
  280. package/test/text/ssa_text_parser_unit.js +0 -5
  281. package/test/text/text_engine_unit.js +2 -7
  282. package/test/text/text_track_integration.js +0 -2
  283. package/test/text/ttml_text_parser_unit.js +2 -11
  284. package/test/text/ui_text_displayer_unit.js +44 -41
  285. package/test/text/vtt_text_parser_unit.js +0 -9
  286. package/test/text/web_vtt_generator_unit.js +0 -3
  287. package/test/ui/ad_ui_unit.js +0 -11
  288. package/test/ui/localization_unit.js +0 -3
  289. package/test/ui/text_displayer_layout_unit.js +9 -19
  290. package/test/ui/ui_customization_unit.js +0 -6
  291. package/test/ui/ui_integration.js +0 -16
  292. package/test/ui/ui_unit.js +1 -17
  293. package/test/util/abortable_operation_unit.js +4 -9
  294. package/test/util/array_utils_unit.js +0 -2
  295. package/test/util/buffer_utils_unit.js +0 -2
  296. package/test/util/data_view_reader_unit.js +0 -4
  297. package/test/util/ebml_parser_unit.js +0 -4
  298. package/test/util/event_manager_unit.js +0 -3
  299. package/test/util/fake_event_target_unit.js +0 -5
  300. package/test/util/functional_unit.js +1 -1
  301. package/test/util/iterables_unit.js +0 -64
  302. package/test/util/language_utils_unit.js +0 -3
  303. package/test/util/manifest_parser_utils_unit.js +0 -2
  304. package/test/util/mp4_box_parsers_unit.js +0 -5
  305. package/test/util/mp4_parser_unit.js +0 -4
  306. package/test/util/multi_map_unit.js +0 -3
  307. package/test/util/object_utils_unit.js +0 -2
  308. package/test/util/periods_unit.js +14 -7
  309. package/test/util/pssh_unit.js +0 -5
  310. package/test/util/state_history_unit.js +0 -2
  311. package/test/util/stream_utils_unit.js +3 -8
  312. package/test/util/string_utils_unit.js +0 -6
  313. package/test/util/text_parser_unit.js +0 -2
  314. package/test/util/xml_utils_unit.js +0 -4
  315. package/ui/controls.js +3 -0
  316. package/ui/less/ad_controls.less +6 -6
  317. package/ui/less/buttons.less +6 -6
  318. package/ui/less/containers.less +9 -11
  319. package/ui/less/overflow_menu.less +4 -4
  320. package/ui/less/range_elements.less +7 -2
  321. package/ui/locales/sjn-translations.yaml +257 -0
  322. package/ui/locales/sjn.json +42 -0
  323. package/ui/localization.js +12 -36
  324. package/ui/seek_bar.js +2 -1
  325. package/externs/svgelement.js +0 -18
@@ -4,31 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('shaka.media.InitSegmentReference');
8
- goog.require('shaka.media.MediaSourceEngine');
9
- goog.require('shaka.media.MediaSourcePlayhead');
10
- goog.require('shaka.media.SegmentIndex');
11
- goog.require('shaka.media.SegmentReference');
12
- goog.require('shaka.media.StreamingEngine');
13
- goog.require('shaka.net.NetworkingEngine');
14
- goog.require('shaka.test.FakeClosedCaptionParser');
15
- goog.require('shaka.test.FakeTextDisplayer');
16
- goog.require('shaka.test.Mp4LiveStreamGenerator');
17
- goog.require('shaka.test.Mp4VodStreamGenerator');
18
- goog.require('shaka.test.StreamingEngineUtil');
19
- goog.require('shaka.test.TestScheme');
20
- goog.require('shaka.test.UiUtils');
21
- goog.require('shaka.test.Util');
22
- goog.require('shaka.test.Waiter');
23
- goog.require('shaka.util.EventManager');
24
- goog.require('shaka.util.ManifestParserUtils');
25
- goog.require('shaka.util.Platform');
26
- goog.require('shaka.util.PlayerConfiguration');
27
- goog.requireType('shaka.media.Playhead');
28
- goog.requireType('shaka.media.PresentationTimeline');
29
- goog.requireType('shaka.test.FakeNetworkingEngine');
30
- goog.requireType('shaka.test.FakePresentationTimeline');
31
-
32
7
  describe('StreamingEngine', () => {
33
8
  const ContentType = shaka.util.ManifestParserUtils.ContentType;
34
9
  const Util = shaka.test.Util;
@@ -94,6 +69,7 @@ describe('StreamingEngine', () => {
94
69
  video,
95
70
  new shaka.test.FakeClosedCaptionParser(),
96
71
  new shaka.test.FakeTextDisplayer());
72
+ waiter.setMediaSourceEngine(mediaSourceEngine);
97
73
  });
98
74
 
99
75
  afterEach(async () => {
@@ -286,7 +262,11 @@ describe('StreamingEngine', () => {
286
262
  streamingEngine.switchVariant(variant);
287
263
  await streamingEngine.start();
288
264
  video.play();
289
- await waiter.timeoutAfter(90).waitForEnd(video);
265
+ // The overall test timeout is 120 seconds, and the content is 60
266
+ // seconds. It should be possible to complete this test in 100 seconds,
267
+ // and if not, we want the error thrown to be within the overall test's
268
+ // timeout window.
269
+ await waiter.timeoutAfter(100).waitForEnd(video);
290
270
  });
291
271
 
292
272
  it('plays at high playback rates', async () => {
@@ -307,14 +287,7 @@ describe('StreamingEngine', () => {
307
287
  await waiter.timeoutAfter(10).waitForMovement(video);
308
288
  video.playbackRate = 10;
309
289
 
310
- // Something weird happens on some platforms (variously Chromecast, legacy
311
- // Edge, and Safari) where the playhead can go past duration.
312
- // To cope with this, don't fail on timeout. If the video never got
313
- // flagged as "ended", check for the playhead to be near or past the end.
314
- await waiter.timeoutAfter(30).failOnTimeout(false).waitForEnd(video);
315
- if (!video.ended) {
316
- expect(video.currentTime).toBeGreaterThan(video.duration - 0.1);
317
- }
290
+ await waiter.timeoutAfter(30).waitForEnd(video);
318
291
  });
319
292
 
320
293
  it('can handle buffered seeks', async () => {
@@ -324,9 +297,9 @@ describe('StreamingEngine', () => {
324
297
  video.play();
325
298
 
326
299
  // After 35 seconds seek back 10 seconds into the first Period.
327
- await waiter.timeoutAfter(60).waitUntilPlayheadReaches(video, 35);
300
+ await waiter.timeoutAfter(80).waitUntilPlayheadReaches(video, 35);
328
301
  video.currentTime = 25;
329
- await waiter.timeoutAfter(60).waitForEnd(video);
302
+ await waiter.timeoutAfter(80).waitForEnd(video);
330
303
  });
331
304
 
332
305
  it('can handle unbuffered seeks', async () => {
@@ -4,30 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('goog.asserts');
8
- goog.require('shaka.log');
9
- goog.require('shaka.media.InitSegmentReference');
10
- goog.require('shaka.media.SegmentReference');
11
- goog.require('shaka.media.StreamingEngine');
12
- goog.require('shaka.net.NetworkingEngine');
13
- goog.require('shaka.net.NetworkingEngine.PendingRequest');
14
- goog.require('shaka.test.FakeNetworkingEngine');
15
- goog.require('shaka.test.FakeMediaSourceEngine');
16
- goog.require('shaka.test.ManifestGenerator');
17
- goog.require('shaka.test.StreamingEngineUtil');
18
- goog.require('shaka.test.Util');
19
- goog.require('shaka.util.AbortableOperation');
20
- goog.require('shaka.util.Error');
21
- goog.require('shaka.util.Iterables');
22
- goog.require('shaka.util.ManifestParserUtils');
23
- goog.require('shaka.util.MimeUtils');
24
- goog.require('shaka.util.PlayerConfiguration');
25
- goog.require('shaka.util.PublicPromise');
26
- goog.require('shaka.util.Uint8ArrayUtils');
27
- goog.requireType('shaka.media.PresentationTimeline');
28
- goog.requireType('shaka.test.FakeNetworkingEngine');
29
- goog.requireType('shaka.test.FakePresentationTimeline');
30
-
31
7
  describe('StreamingEngine', () => {
32
8
  const Util = shaka.test.Util;
33
9
  const ContentType = shaka.util.ManifestParserUtils.ContentType;
@@ -284,7 +260,7 @@ describe('StreamingEngine', () => {
284
260
  };
285
261
 
286
262
  const segmentsInFirstPeriod = 12;
287
- for (const i of shaka.util.Iterables.range(segmentsInFirstPeriod)) {
263
+ for (let i = 0; i < segmentsInFirstPeriod; i++) {
288
264
  segmentData[ContentType.AUDIO].segments.push(
289
265
  makeBuffer(segmentSizes[ContentType.AUDIO]));
290
266
  segmentData[ContentType.VIDEO].segments.push(
@@ -298,7 +274,7 @@ describe('StreamingEngine', () => {
298
274
  }
299
275
 
300
276
  const segmentsInSecondPeriod = 2;
301
- for (const i of shaka.util.Iterables.range(segmentsInSecondPeriod)) {
277
+ for (let i = 0; i < segmentsInSecondPeriod; i++) {
302
278
  segmentData[ContentType.AUDIO].segments.push(
303
279
  makeBuffer(segmentSizes[ContentType.AUDIO]));
304
280
  segmentData[ContentType.VIDEO].segments.push(
@@ -649,7 +625,7 @@ describe('StreamingEngine', () => {
649
625
  // should be buffered. Those segment numbers are 1-based, and this array
650
626
  // is 0-based, so we expect i >= 9 to be downloaded.
651
627
  const segments = mediaSourceEngine.segments;
652
- for (const i of shaka.util.Iterables.range(14)) {
628
+ for (let i = 0; i < 14; i++) {
653
629
  expect(segments[ContentType.AUDIO][i]).withContext(i).toBe(i >= 9);
654
630
  expect(segments[ContentType.VIDEO][i]).withContext(i).toBe(i >= 9);
655
631
  expect(segments[ContentType.TEXT][i]).withContext(i).toBe(i >= 9);
@@ -755,7 +731,7 @@ describe('StreamingEngine', () => {
755
731
  expect(timeline.setDuration).toHaveBeenCalledWith(35);
756
732
  });
757
733
 
758
- // https://github.com/google/shaka-player/issues/979
734
+ // https://github.com/shaka-project/shaka-player/issues/979
759
735
  it('does not expand the timeline duration', async () => {
760
736
  setupVod();
761
737
  mediaSourceEngine = new shaka.test.FakeMediaSourceEngine(segmentData);
@@ -781,7 +757,7 @@ describe('StreamingEngine', () => {
781
757
  expect(timeline.setDuration).not.toHaveBeenCalled();
782
758
  });
783
759
 
784
- // https://github.com/google/shaka-player/issues/1967
760
+ // https://github.com/shaka-project/shaka-player/issues/1967
785
761
  it('does not change duration when 0', async () => {
786
762
  setupVod();
787
763
  mediaSourceEngine = new shaka.test.FakeMediaSourceEngine(segmentData);
@@ -826,7 +802,7 @@ describe('StreamingEngine', () => {
826
802
  .toHaveBeenCalledWith('video', 0, lt20, gt40);
827
803
  });
828
804
 
829
- // Regression test for https://github.com/google/shaka-player/issues/3717
805
+ // Regression test for https://github.com/shaka-project/shaka-player/issues/3717
830
806
  it('applies fudge factors for the duration', async () => {
831
807
  setupVod();
832
808
 
@@ -929,7 +905,7 @@ describe('StreamingEngine', () => {
929
905
  expect(mediaSourceEngine.appendBuffer).toHaveBeenCalled();
930
906
  });
931
907
 
932
- // https://github.com/google/shaka-player/issues/2957
908
+ // https://github.com/shaka-project/shaka-player/issues/2957
933
909
  it('plays with fewer text segments', async () => {
934
910
  setupVod();
935
911
 
@@ -1091,7 +1067,7 @@ describe('StreamingEngine', () => {
1091
1067
  expect(mediaSourceEngine.resetCaptionParser).not.toHaveBeenCalled();
1092
1068
  });
1093
1069
 
1094
- // See https://github.com/google/shaka-player/issues/2956
1070
+ // See https://github.com/shaka-project/shaka-player/issues/2956
1095
1071
  it('works with fast variant switches during update', async () => {
1096
1072
  // Delay the appendBuffer call until later so we are waiting for this to
1097
1073
  // finish when we switch.
@@ -1659,7 +1635,7 @@ describe('StreamingEngine', () => {
1659
1635
  });
1660
1636
  });
1661
1637
 
1662
- // https://github.com/google/shaka-player/issues/2670
1638
+ // https://github.com/shaka-project/shaka-player/issues/2670
1663
1639
  it('rapid unbuffered seeks', async () => {
1664
1640
  // This test simulates rapid dragging of the seek bar, as in #2670.
1665
1641
  // In that issue, we would buffer the wrong segments due to a race
@@ -1798,7 +1774,7 @@ describe('StreamingEngine', () => {
1798
1774
 
1799
1775
  // Since we performed an unbuffered seek into the second Period, the
1800
1776
  // first 12 segments should not be buffered.
1801
- for (const i of shaka.util.Iterables.range(14)) {
1777
+ for (let i = 0; i < 14; i++) {
1802
1778
  expect(mediaSourceEngine.segments[ContentType.AUDIO][i]).toBe(i >= 12);
1803
1779
  expect(mediaSourceEngine.segments[ContentType.VIDEO][i]).toBe(i >= 12);
1804
1780
  expect(mediaSourceEngine.segments[ContentType.TEXT][i]).toBe(i >= 12);
@@ -2600,7 +2576,7 @@ describe('StreamingEngine', () => {
2600
2576
  // should be buffered. Those segment numbers are 1-based, and this array
2601
2577
  // is 0-based, so we expect i >= 9 to be downloaded.
2602
2578
  const segments = mediaSourceEngine.segments;
2603
- for (const i of shaka.util.Iterables.range(14)) {
2579
+ for (let i = 0; i < 14; i++) {
2604
2580
  expect(segments[ContentType.AUDIO][i]).withContext(i).toBe(i >= 9);
2605
2581
  expect(segments[ContentType.VIDEO][i]).withContext(i).toBe(i >= 9);
2606
2582
  expect(segments[ContentType.TEXT][i]).withContext(i).toBe(i >= 9);
@@ -4,8 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('shaka.media.TimeRangesUtils');
8
-
9
7
  describe('TimeRangesUtils', () => {
10
8
  const TimeRangesUtils = shaka.media.TimeRangesUtils;
11
9
 
@@ -3,12 +3,6 @@
3
3
  * Copyright 2016 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- goog.require('goog.asserts');
7
- goog.require('shaka.media.Transmuxer');
8
- goog.require('shaka.test.Util');
9
- goog.require('shaka.util.ManifestParserUtils');
10
- goog.require('shaka.util.Mp4BoxParsers');
11
- goog.require('shaka.util.Mp4Parser');
12
6
 
13
7
  describe('Transmuxer', () => {
14
8
  const ContentType = shaka.util.ManifestParserUtils.ContentType;
@@ -4,10 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('shaka.media.WebmSegmentIndexParser');
8
- goog.require('shaka.test.Util');
9
- goog.require('shaka.util.Error');
10
-
11
7
  describe('WebmSegmentIndexParser', () => {
12
8
  const indexSegmentUri = '/base/test/test/assets/index-segment.webm';
13
9
  const initSegmentUri = '/base/test/test/assets/init-segment.webm';
@@ -4,13 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('shaka.net.DataUriPlugin');
8
- goog.require('shaka.net.NetworkingEngine');
9
- goog.require('shaka.net.NetworkingEngine.RequestType');
10
- goog.require('shaka.test.Util');
11
- goog.require('shaka.util.Error');
12
- goog.require('shaka.util.StringUtils');
13
-
14
7
  describe('DataUriPlugin', () => {
15
8
  const retryParameters = shaka.net.NetworkingEngine.defaultRetryParameters();
16
9
 
@@ -4,15 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
-
8
- goog.require('shaka.net.HttpFetchPlugin');
9
- goog.require('shaka.net.HttpXHRPlugin');
10
- goog.require('shaka.net.NetworkingEngine');
11
- goog.require('shaka.net.NetworkingEngine.RequestType');
12
- goog.require('shaka.test.Util');
13
- goog.require('shaka.util.BufferUtils');
14
- goog.require('shaka.util.Error');
15
-
16
7
  /**
17
8
  * Add a set of http plugin tests, for the given scheme plugin.
18
9
  *
@@ -4,17 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('shaka.net.Backoff');
8
- goog.require('shaka.net.NetworkingEngine');
9
- goog.require('shaka.net.NetworkingEngine.RequestType');
10
- goog.require('shaka.test.StatusPromise');
11
- goog.require('shaka.test.Util');
12
- goog.require('shaka.util.AbortableOperation');
13
- goog.require('shaka.util.Error');
14
- goog.require('shaka.util.Networking');
15
- goog.require('shaka.util.PublicPromise');
16
- goog.requireType('shaka.net.NetworkingEngine.PendingRequest');
17
-
18
7
  describe('NetworkingEngine', /** @suppress {accessControls} */ () => {
19
8
  const StatusPromise = shaka.test.StatusPromise;
20
9
  const Util = shaka.test.Util;
@@ -4,8 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('shaka.offline.DownloadProgressEstimator');
8
-
9
7
  describe('DownloadProgressEstimator', () => {
10
8
  /** @type {!shaka.offline.DownloadProgressEstimator} */
11
9
  let estimator;
@@ -4,12 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('shaka.offline.indexeddb.V5StorageCell');
8
- goog.require('shaka.test.IndexedDBUtils');
9
- goog.require('shaka.test.OfflineUtils');
10
- goog.require('shaka.test.Util');
11
- goog.require('shaka.util.Error');
12
-
13
7
  filterDescribe('IndexeddbStorageCell', () => window.indexedDB, () => {
14
8
  const IndexedDBUtils = shaka.test.IndexedDBUtils;
15
9
  const OfflineUtils = shaka.test.OfflineUtils;
@@ -4,14 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('shaka.media.InitSegmentReference');
8
- goog.require('shaka.media.PresentationTimeline');
9
- goog.require('shaka.media.SegmentIndex');
10
- goog.require('shaka.offline.ManifestConverter');
11
- goog.require('shaka.offline.OfflineUri');
12
- goog.require('shaka.util.ManifestParserUtils');
13
- goog.requireType('shaka.media.SegmentReference');
14
-
15
7
  describe('ManifestConverter', () => {
16
8
  describe('createVariants', () => {
17
9
  const audioType = 'audio';
@@ -4,16 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('goog.asserts');
8
- goog.require('shaka.Player');
9
- goog.require('shaka.offline.Storage');
10
- goog.require('shaka.test.TestScheme');
11
- goog.require('shaka.test.UiUtils');
12
- goog.require('shaka.test.Util');
13
- goog.require('shaka.test.Waiter');
14
- goog.require('shaka.util.EventManager');
15
- goog.require('shaka.util.Platform');
16
-
17
7
  /** @return {boolean} */
18
8
  const supportsStorage = () => shaka.offline.Storage.support();
19
9
 
@@ -45,6 +35,7 @@ filterDescribe('Offline', supportsStorage, () => {
45
35
 
46
36
  eventManager = new shaka.util.EventManager();
47
37
  waiter = new shaka.test.Waiter(eventManager);
38
+ waiter.setPlayer(player);
48
39
 
49
40
  // Make sure we are starting with a blank slate.
50
41
  await shaka.offline.Storage.deleteAll();
@@ -4,12 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('shaka.offline.OfflineManifestParser');
8
- goog.require('shaka.offline.OfflineUri');
9
- goog.require('shaka.offline.StorageMuxer');
10
- goog.require('shaka.test.Util');
11
- goog.require('shaka.util.Error');
12
-
13
7
  /** @return {boolean} */
14
8
  const offlineManifestParserSupport = () => shaka.offline.StorageMuxer.support();
15
9
  filterDescribe('OfflineManifestParser', offlineManifestParserSupport, () => {
@@ -4,14 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('shaka.net.NetworkingEngine');
8
- goog.require('shaka.net.NetworkingEngine.RequestType');
9
- goog.require('shaka.offline.OfflineScheme');
10
- goog.require('shaka.offline.OfflineUri');
11
- goog.require('shaka.offline.StorageMuxer');
12
- goog.require('shaka.test.Util');
13
- goog.require('shaka.util.Error');
14
-
15
7
  /** @return {boolean} */
16
8
  const offlineSchemeSupport = () => shaka.offline.StorageMuxer.support();
17
9
  filterDescribe('OfflineScheme', offlineSchemeSupport, () => {
@@ -4,8 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('shaka.offline.OfflineUri');
8
-
9
7
  describe('OfflineUri', () => {
10
8
  const OfflineUri = shaka.offline.OfflineUri;
11
9
 
@@ -4,19 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('goog.asserts');
8
- goog.require('shaka.offline.ManifestConverter');
9
- goog.require('shaka.offline.indexeddb.V1StorageCell');
10
- goog.require('shaka.offline.indexeddb.V2StorageCell');
11
- goog.require('shaka.offline.indexeddb.V5StorageCell');
12
- goog.require('shaka.test.CannedIDB');
13
- goog.require('shaka.test.IndexedDBUtils');
14
- goog.require('shaka.test.ManifestGenerator');
15
- goog.require('shaka.test.Util');
16
- goog.require('shaka.util.Error');
17
- goog.require('shaka.util.ManifestParserUtils');
18
- goog.require('shaka.util.StringUtils');
19
-
20
7
  // All of the database dumps referenced below were originally made from the
21
8
  // "Heliocentrism" content in our demo app.
22
9
  // https://storage.googleapis.com/shaka-demo-assets/heliocentrism/heliocentrism.mpd
@@ -80,7 +67,7 @@ const compatibilityTestsMetadata = [
80
67
  // This is the v4 version of the database as written by v2.5.0 - v2.5.9. A
81
68
  // bug in v2.5 caused the stream metadata from all periods to be written to
82
69
  // each period. This was corrected in v2.5.10.
83
- // See https://github.com/google/shaka-player/issues/2389
70
+ // See https://github.com/shaka-project/shaka-player/issues/2389
84
71
  name: 'v4-broken',
85
72
  dbImagePath: '/base/test/test/assets/db-dump-v4-broken.json',
86
73
  manifestKey: 1,
@@ -4,30 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('goog.asserts');
8
- goog.require('shaka.Player');
9
- goog.require('shaka.media.DrmEngine');
10
- goog.require('shaka.media.ManifestParser');
11
- goog.require('shaka.media.SegmentIndex');
12
- goog.require('shaka.net.NetworkingEngine.RequestType');
13
- goog.require('shaka.offline.ManifestConverter');
14
- goog.require('shaka.offline.OfflineUri');
15
- goog.require('shaka.offline.Storage');
16
- goog.require('shaka.offline.StorageMuxer');
17
- goog.require('shaka.test.FakeDrmEngine');
18
- goog.require('shaka.test.FakeManifestParser');
19
- goog.require('shaka.test.FakeNetworkingEngine');
20
- goog.require('shaka.test.Loader');
21
- goog.require('shaka.test.ManifestGenerator');
22
- goog.require('shaka.test.TestScheme');
23
- goog.require('shaka.test.Util');
24
- goog.require('shaka.util.AbortableOperation');
25
- goog.require('shaka.util.Error');
26
- goog.require('shaka.util.EventManager');
27
- goog.require('shaka.util.PlayerConfiguration');
28
- goog.require('shaka.util.PublicPromise');
29
- goog.requireType('shaka.media.SegmentReference');
30
-
31
7
  /** @return {boolean} */
32
8
  function storageSupport() {
33
9
  return shaka.offline.Storage.support();
@@ -1277,7 +1253,7 @@ filterDescribe('Storage', storageSupport, () => {
1277
1253
  const testSchemeMimeType = 'application/x-test-manifest';
1278
1254
  const manifestUri = 'test:sintel';
1279
1255
 
1280
- // Regression test for https://github.com/google/shaka-player/issues/2781
1256
+ // Regression test for https://github.com/shaka-project/shaka-player/issues/2781
1281
1257
  it('does not cache failures or cancellations', async () => {
1282
1258
  /** @type {shaka.offline.Storage} */
1283
1259
  const storage = new shaka.offline.Storage();
@@ -4,15 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('ShakaDemoAssetInfo');
8
- goog.require('shaka.test.Loader');
9
- goog.require('shaka.test.UiUtils');
10
- goog.require('shaka.test.Util');
11
- goog.require('shaka.test.Waiter');
12
- goog.require('shaka.util.EventManager');
13
- goog.requireType('shaka.Player');
14
- goog.requireType('shaka.net.NetworkingEngine.RequestType');
15
-
16
7
  describe('Player', () => {
17
8
  const Util = shaka.test.Util;
18
9
  const Feature = shakaAssets.Feature;
@@ -48,6 +39,7 @@ describe('Player', () => {
48
39
  // Grab event manager from the uncompiled library:
49
40
  eventManager = new shaka.util.EventManager();
50
41
  waiter = new shaka.test.Waiter(eventManager);
42
+ waiter.setPlayer(player);
51
43
 
52
44
  onErrorSpy = jasmine.createSpy('onError');
53
45
  onErrorSpy.and.callFake((event) => fail(event.detail));
@@ -117,7 +109,7 @@ describe('Player', () => {
117
109
 
118
110
  // Make sure we don't get stuck on gaps that only appear in some
119
111
  // browsers (Safari, Firefox).
120
- // TODO(https://github.com/google/shaka-player/issues/1702):
112
+ // TODO(https://github.com/shaka-project/shaka-player/issues/1702):
121
113
  // Is this necessary because of a bug in Shaka Player?
122
114
  player.configure('streaming.jumpLargeGaps', true);
123
115
 
@@ -4,22 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('goog.Uri');
8
- goog.require('shaka.Player');
9
- goog.require('shaka.log');
10
- goog.require('shaka.media.DrmEngine');
11
- goog.require('shaka.media.TimeRangesUtils');
12
- goog.require('shaka.test.FakeAbrManager');
13
- goog.require('shaka.test.FakeTextDisplayer');
14
- goog.require('shaka.test.Loader');
15
- goog.require('shaka.test.TestScheme');
16
- goog.require('shaka.test.UiUtils');
17
- goog.require('shaka.test.Util');
18
- goog.require('shaka.test.Waiter');
19
- goog.require('shaka.util.EventManager');
20
- goog.require('shaka.util.Functional');
21
- goog.require('shaka.util.Iterables');
22
-
23
7
  describe('Player', () => {
24
8
  /** @type {!jasmine.Spy} */
25
9
  let onErrorSpy;
@@ -53,6 +37,7 @@ describe('Player', () => {
53
37
  // Grab event manager from the uncompiled library:
54
38
  eventManager = new shaka.util.EventManager();
55
39
  waiter = new shaka.test.Waiter(eventManager);
40
+ waiter.setPlayer(player);
56
41
 
57
42
  onErrorSpy = jasmine.createSpy('onError');
58
43
  onErrorSpy.and.callFake((event) => {
@@ -264,7 +249,7 @@ describe('Player', () => {
264
249
  expect(variantTrack.language).toBe(textTrack.language);
265
250
  });
266
251
 
267
- // Repro for https://github.com/google/shaka-player/issues/1879.
252
+ // Repro for https://github.com/shaka-project/shaka-player/issues/1879.
268
253
  it('appends cues when enabled initially', async () => {
269
254
  let cues = [];
270
255
  /** @const {!shaka.test.FakeTextDisplayer} */
@@ -321,7 +306,7 @@ describe('Player', () => {
321
306
  expect(cues.length).toBeGreaterThan(0);
322
307
  });
323
308
 
324
- // https://github.com/google/shaka-player/issues/2553
309
+ // https://github.com/shaka-project/shaka-player/issues/2553
325
310
  it('does not change the selected track', async () => {
326
311
  player.configure('streaming.alwaysStreamText', false);
327
312
  await player.load('test:forced_subs_simulation_compiled');
@@ -447,7 +432,7 @@ describe('Player', () => {
447
432
  expect(configuredTextDisplayer).toBe(textDisplayer);
448
433
  });
449
434
 
450
- // Regression test for https://github.com/google/shaka-player/issues/1187
435
+ // Regression test for https://github.com/shaka-project/shaka-player/issues/1187
451
436
  it('does not throw on destroy', async () => {
452
437
  await player.load('test:sintel_compiled');
453
438
  video.play();
@@ -478,7 +463,7 @@ describe('Player', () => {
478
463
  // and the track selection was ignored. Because this bug involved
479
464
  // interactions between Player and StreamingEngine, it is an integration
480
465
  // test and not a unit test.
481
- // https://github.com/google/shaka-player/issues/1119
466
+ // https://github.com/shaka-project/shaka-player/issues/1119
482
467
  it('allows early selection of specific tracks', async () => {
483
468
  /** @type {!jasmine.Spy} */
484
469
  const streamingListener = jasmine.createSpy('listener');
@@ -513,7 +498,7 @@ describe('Player', () => {
513
498
  // switchingPeriods_ in Player. Because this bug involved interactions
514
499
  // between Player and StreamingEngine, it is an integration test and not a
515
500
  // unit test.
516
- // https://github.com/google/shaka-player/issues/1119
501
+ // https://github.com/shaka-project/shaka-player/issues/1119
517
502
  it('allows selection of tracks in subsequent loads', async () => {
518
503
  /** @type {!jasmine.Spy} */
519
504
  const streamingListener = jasmine.createSpy('listener');
@@ -611,7 +596,9 @@ describe('Player', () => {
611
596
  eventManager.listen(video, 'waiting', checkOnEvent);
612
597
  eventManager.listen(player, 'trackschanged', checkOnEvent);
613
598
 
614
- const waiter = (new shaka.test.Waiter(eventManager)).timeoutAfter(10);
599
+ const waiter = new shaka.test.Waiter(eventManager)
600
+ .setPlayer(player)
601
+ .timeoutAfter(10);
615
602
  const canPlayThrough = waiter.waitForEvent(video, 'canplaythrough');
616
603
 
617
604
  await player.load('test:sintel_compiled', 5);
@@ -678,7 +665,9 @@ describe('Player', () => {
678
665
  eventManager.listen(player, 'error', Util.spyFunc(onErrorSpy));
679
666
  /** @type {shaka.test.Waiter} */
680
667
  const waiter = new shaka.test.Waiter(eventManager)
681
- .timeoutAfter(20).failOnTimeout(true);
668
+ .setPlayer(player)
669
+ .timeoutAfter(20)
670
+ .failOnTimeout(true);
682
671
  await waiter.waitForEnd(video);
683
672
 
684
673
  // The stream should have transitioned to VOD by now.
@@ -686,7 +675,7 @@ describe('Player', () => {
686
675
 
687
676
  // Check that the final seek range is as expected.
688
677
  const seekRange = player.seekRange();
689
- expect(seekRange.end).toBe(14);
678
+ expect(seekRange.end).toBeCloseTo(14);
690
679
  });
691
680
  });
692
681
 
@@ -703,6 +692,7 @@ describe('Player', () => {
703
692
  player.addEventListener('buffering', Util.spyFunc(onBuffering));
704
693
 
705
694
  waiter = new shaka.test.Waiter(eventManager)
695
+ .setPlayer(player)
706
696
  .timeoutAfter(10)
707
697
  .failOnTimeout(true);
708
698
  });
@@ -816,8 +806,7 @@ describe('Player', () => {
816
806
  }
817
807
 
818
808
  async function waitUntilBuffered(amount) {
819
- for (const _ of shaka.util.Iterables.range(25)) {
820
- shaka.util.Functional.ignored(_);
809
+ for (let i = 0; i < 25; i++) {
821
810
  // We buffer from an internal segment, so this shouldn't take long to
822
811
  // buffer.
823
812
  await Util.delay(0.1); // eslint-disable-line no-await-in-loop
@@ -894,7 +883,9 @@ describe('Player', () => {
894
883
 
895
884
  /** @type {shaka.test.Waiter} */
896
885
  const waiter = new shaka.test.Waiter(eventManager)
897
- .timeoutAfter(1).failOnTimeout(true);
886
+ .setPlayer(player)
887
+ .timeoutAfter(1)
888
+ .failOnTimeout(true);
898
889
 
899
890
  await waiter.waitForPromise(abrEnabled, 'AbrManager enabled');
900
891
 
@@ -914,7 +905,9 @@ describe('Player', () => {
914
905
 
915
906
  /** @type {shaka.test.Waiter} */
916
907
  const waiter = new shaka.test.Waiter(eventManager)
917
- .timeoutAfter(1).failOnTimeout(true);
908
+ .setPlayer(player)
909
+ .timeoutAfter(1)
910
+ .failOnTimeout(true);
918
911
 
919
912
  await waiter.waitForPromise(abrEnabled, 'AbrManager enabled');
920
913