shaka-player 3.1.4 → 3.1.7

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 (332) 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 +145 -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 +1540 -1474
  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/shaka-lab.yaml +163 -0
  64. package/build/shakaBuildHelpers.py +4 -29
  65. package/build/test.py +93 -28
  66. package/build/wrapper.template.js +2 -2
  67. package/demo/TengwarTelcontar.woff2 +0 -0
  68. package/demo/asset_card.js +1 -2
  69. package/demo/cast_receiver/index.html +1 -1
  70. package/demo/cast_receiver/receiver_app.css +14 -14
  71. package/demo/common/assets.js +2 -0
  72. package/demo/config.js +0 -1
  73. package/demo/custom.js +0 -1
  74. package/demo/customWarning.txt +2 -2
  75. package/demo/demo.less +29 -18
  76. package/demo/demo_uncompiled.js +1 -13
  77. package/demo/index.html +1 -1
  78. package/demo/main.js +3 -3
  79. package/dist/controls.css +2 -2
  80. package/dist/controls.css.map +1 -1
  81. package/dist/demo.compiled.debug.js +191 -194
  82. package/dist/demo.compiled.debug.map +4 -4
  83. package/dist/demo.compiled.js +191 -194
  84. package/dist/demo.compiled.map +4 -4
  85. package/dist/demo.css +1 -1
  86. package/dist/demo.css.map +1 -1
  87. package/dist/deps.js +224 -218
  88. package/dist/locales.js +30 -30
  89. package/dist/receiver.compiled.debug.js +43 -45
  90. package/dist/receiver.compiled.debug.map +4 -4
  91. package/dist/receiver.compiled.js +43 -45
  92. package/dist/receiver.compiled.map +4 -4
  93. package/dist/shaka-player.compiled.d.ts +237 -222
  94. package/dist/shaka-player.compiled.debug.d.ts +237 -222
  95. package/dist/shaka-player.compiled.debug.externs.js +20 -3
  96. package/dist/shaka-player.compiled.debug.js +361 -365
  97. package/dist/shaka-player.compiled.debug.map +4 -4
  98. package/dist/shaka-player.compiled.externs.js +20 -3
  99. package/dist/shaka-player.compiled.js +811 -815
  100. package/dist/shaka-player.compiled.map +4 -4
  101. package/dist/shaka-player.ui.d.ts +281 -275
  102. package/dist/shaka-player.ui.debug.d.ts +281 -275
  103. package/dist/shaka-player.ui.debug.externs.js +34 -26
  104. package/dist/shaka-player.ui.debug.js +384 -389
  105. package/dist/shaka-player.ui.debug.map +4 -4
  106. package/dist/shaka-player.ui.externs.js +34 -26
  107. package/dist/shaka-player.ui.js +945 -950
  108. package/dist/shaka-player.ui.map +4 -4
  109. package/docs/design/REDESIGN.md +33 -33
  110. package/docs/design/codec_preferences.md +1 -1
  111. package/docs/design/dash-audio-channels.md +3 -3
  112. package/docs/design/dash-manifests.md +1 -1
  113. package/docs/design/gap-jumping.md +3 -3
  114. package/docs/design/preload.md +2 -2
  115. package/docs/tutorials/faq.md +8 -8
  116. package/docs/tutorials/index.json +1 -0
  117. package/docs/tutorials/plugins.md +3 -3
  118. package/docs/tutorials/selenium-grid-config.md +122 -0
  119. package/docs/tutorials/welcome.md +10 -2
  120. package/externs/shaka/text.js +10 -0
  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 +3 -3
  127. package/lib/cea/cea608_memory.js +1 -1
  128. package/lib/cea/cea708_service.js +6 -5
  129. package/lib/cea/cea_decoder.js +1 -1
  130. package/lib/cea/i_caption_decoder.js +2 -3
  131. package/lib/cea/mp4_cea_parser.js +11 -5
  132. package/lib/cea/sei_processor.js +6 -3
  133. package/lib/dash/dash_parser.js +43 -31
  134. package/lib/dash/mpd_utils.js +4 -5
  135. package/lib/dash/segment_list.js +1 -2
  136. package/lib/dash/segment_template.js +3 -3
  137. package/lib/hls/hls_parser.js +11 -9
  138. package/lib/hls/manifest_text_parser.js +4 -3
  139. package/lib/media/adaptation_set.js +1 -2
  140. package/lib/media/closed_caption_parser.js +0 -1
  141. package/lib/media/content_workarounds.js +2 -2
  142. package/lib/media/drm_engine.js +3 -2
  143. package/lib/media/media_source_engine.js +3 -2
  144. package/lib/media/mp4_segment_index_parser.js +1 -4
  145. package/lib/media/playhead.js +2 -2
  146. package/lib/media/presentation_timeline.js +18 -8
  147. package/lib/media/region_observer.js +39 -33
  148. package/lib/media/region_timeline.js +17 -19
  149. package/lib/media/streaming_engine.js +12 -9
  150. package/lib/media/time_ranges_utils.js +1 -3
  151. package/lib/media/video_wrapper.js +1 -1
  152. package/lib/net/networking_engine.js +5 -1
  153. package/lib/offline/storage.js +14 -15
  154. package/lib/player.js +52 -22
  155. package/lib/polyfill/all.js +2 -3
  156. package/lib/polyfill/encryption_scheme.js +1 -1
  157. package/lib/polyfill/media_capabilities.js +32 -17
  158. package/lib/polyfill/mediasource.js +1 -1
  159. package/lib/routing/walker.js +2 -3
  160. package/lib/text/cue.js +7 -1
  161. package/lib/text/simple_text_displayer.js +2 -1
  162. package/lib/text/text_engine.js +1 -1
  163. package/lib/text/ttml_text_parser.js +92 -63
  164. package/lib/text/ui_text_displayer.js +18 -12
  165. package/lib/util/buffer_utils.js +1 -3
  166. package/lib/util/ebml_parser.js +3 -3
  167. package/lib/util/error.js +1 -1
  168. package/lib/util/fake_event_target.js +21 -1
  169. package/lib/util/iterables.js +0 -46
  170. package/lib/util/mp4_box_parsers.js +1 -4
  171. package/lib/util/mp4_parser.js +5 -7
  172. package/lib/util/periods.js +8 -9
  173. package/lib/util/platform.js +3 -3
  174. package/lib/util/pssh.js +1 -4
  175. package/lib/util/stream_utils.js +60 -8
  176. package/lib/util/string_utils.js +3 -5
  177. package/lib/util/uint8array_utils.js +3 -5
  178. package/lib/util/xml_utils.js +34 -7
  179. package/package.json +62 -40
  180. package/roadmap.md +17 -17
  181. package/test/abr/simple_abr_manager_unit.js +3 -8
  182. package/test/ads/ad_manager_unit.js +0 -6
  183. package/test/cast/cast_proxy_unit.js +0 -8
  184. package/test/cast/cast_receiver_integration.js +1 -18
  185. package/test/cast/cast_receiver_unit.js +1 -9
  186. package/test/cast/cast_sender_unit.js +0 -6
  187. package/test/cast/cast_utils_unit.js +0 -13
  188. package/test/cea/cea608_memory_unit.js +0 -5
  189. package/test/cea/cea708_service_unit.js +0 -7
  190. package/test/cea/cea708_window_unit.js +0 -5
  191. package/test/cea/cea_decoder_unit.js +0 -6
  192. package/test/cea/dtvcc_packet_builder_unit.js +0 -3
  193. package/test/cea/dtvcc_packet_unit.js +0 -5
  194. package/test/cea/mp4_cea_parser_unit.js +0 -4
  195. package/test/dash/dash_parser_content_protection_unit.js +1 -10
  196. package/test/dash/dash_parser_live_unit.js +45 -15
  197. package/test/dash/dash_parser_manifest_unit.js +37 -18
  198. package/test/dash/dash_parser_segment_base_unit.js +1 -8
  199. package/test/dash/dash_parser_segment_list_unit.js +1 -7
  200. package/test/dash/dash_parser_segment_template_unit.js +0 -9
  201. package/test/dash/mpd_utils_unit.js +3 -11
  202. package/test/demo/demo_unit.js +0 -5
  203. package/test/deprecate/enforcer_unit.js +0 -4
  204. package/test/deprecate/version_unit.js +0 -2
  205. package/test/hls/hls_live_unit.js +2 -14
  206. package/test/hls/hls_parser_unit.js +76 -15
  207. package/test/hls/manifest_text_parser_unit.js +0 -10
  208. package/test/media/adaptation_set_criteria_unit.js +3 -7
  209. package/test/media/adaptation_set_unit.js +0 -2
  210. package/test/media/buffering_observer_unit.js +1 -4
  211. package/test/media/closed_caption_parser_unit.js +0 -3
  212. package/test/media/drm_engine_integration.js +3 -17
  213. package/test/media/drm_engine_unit.js +7 -26
  214. package/test/media/manifest_parser_unit.js +0 -4
  215. package/test/media/media_source_engine_integration.js +0 -7
  216. package/test/media/media_source_engine_unit.js +1 -14
  217. package/test/media/mp4_segment_index_parser_unit.js +0 -4
  218. package/test/media/play_rate_controller_unit.js +0 -4
  219. package/test/media/playhead_unit.js +8 -16
  220. package/test/media/presentation_timeline_unit.js +4 -7
  221. package/test/media/region_observer_unit.js +40 -10
  222. package/test/media/region_timeline_unit.js +40 -25
  223. package/test/media/segment_index_unit.js +0 -6
  224. package/test/media/segment_reference_unit.js +0 -3
  225. package/test/media/stall_detector_unit.js +0 -5
  226. package/test/media/streaming_engine_integration.js +11 -37
  227. package/test/media/streaming_engine_unit.js +155 -34
  228. package/test/media/time_ranges_utils_unit.js +0 -2
  229. package/test/media/transmuxer_integration.js +0 -6
  230. package/test/media/webm_segment_index_parser_unit.js +0 -4
  231. package/test/net/data_uri_plugin_unit.js +0 -7
  232. package/test/net/http_plugin_unit.js +0 -9
  233. package/test/net/networking_engine_unit.js +0 -11
  234. package/test/offline/download_progress_estimator_unit.js +0 -2
  235. package/test/offline/indexeddb_storage_unit.js +0 -6
  236. package/test/offline/manifest_convert_unit.js +0 -8
  237. package/test/offline/offline_integration.js +1 -10
  238. package/test/offline/offline_manifest_parser_unit.js +0 -6
  239. package/test/offline/offline_scheme_unit.js +0 -8
  240. package/test/offline/offline_uri_unit.js +0 -2
  241. package/test/offline/storage_compatibility_unit.js +1 -14
  242. package/test/offline/storage_integration.js +1 -25
  243. package/test/player_external.js +2 -10
  244. package/test/player_integration.js +21 -28
  245. package/test/player_load_graph_integration.js +1 -6
  246. package/test/player_src_equals_external.js +3 -9
  247. package/test/player_src_equals_integration.js +0 -7
  248. package/test/player_unit.js +57 -42
  249. package/test/routing/walker_unit.js +0 -8
  250. package/test/test/assets/large_file.mpd +1 -1
  251. package/test/test/boot.js +75 -22
  252. package/test/test/externs/jasmine.js +2 -2
  253. package/test/test/externs/karma.js +4 -0
  254. package/test/test/namespace.js +10 -0
  255. package/test/test/util/canned_idb.js +0 -8
  256. package/test/test/util/cea_utils.js +0 -6
  257. package/test/test/util/dash_parser_util.js +0 -13
  258. package/test/test/util/fake_ad.js +0 -3
  259. package/test/test/util/fake_ad_manager.js +0 -9
  260. package/test/test/util/fake_demo_main.js +0 -5
  261. package/test/test/util/fake_drm_engine.js +0 -6
  262. package/test/test/util/fake_media_source_engine.js +0 -7
  263. package/test/test/util/fake_networking_engine.js +0 -5
  264. package/test/test/util/fake_text_displayer.js +0 -5
  265. package/test/test/util/indexeddb_utils.js +1 -10
  266. package/test/test/util/jasmine_fetch.js +0 -1
  267. package/test/test/util/loader.js +0 -18
  268. package/test/test/util/manifest_generator.js +9 -14
  269. package/test/test/util/manifest_parser_util.js +0 -6
  270. package/test/test/util/offline_utils.js +0 -5
  271. package/test/test/util/simple_fakes.js +9 -26
  272. package/test/test/util/stream_generator.js +0 -14
  273. package/test/test/util/streaming_engine_util.js +0 -15
  274. package/test/test/util/test_scheme.js +1 -19
  275. package/test/test/util/ttml_utils.js +79 -0
  276. package/test/test/util/ui_utils.js +0 -9
  277. package/test/test/util/util.js +15 -26
  278. package/test/test/util/waiter.js +84 -43
  279. package/test/text/cue_integration.js +0 -4
  280. package/test/text/lrc_text_parser_unit.js +0 -4
  281. package/test/text/mp4_ttml_parser_unit.js +10 -23
  282. package/test/text/mp4_vtt_parser_unit.js +1 -7
  283. package/test/text/sbv_text_parser_unit.js +0 -4
  284. package/test/text/simple_text_displayer_unit.js +1 -8
  285. package/test/text/srt_text_parser_unit.js +0 -4
  286. package/test/text/ssa_text_parser_unit.js +0 -5
  287. package/test/text/text_engine_unit.js +2 -7
  288. package/test/text/text_track_integration.js +0 -2
  289. package/test/text/ttml_text_parser_unit.js +495 -237
  290. package/test/text/ui_text_displayer_unit.js +44 -41
  291. package/test/text/vtt_text_parser_unit.js +0 -9
  292. package/test/text/web_vtt_generator_unit.js +0 -3
  293. package/test/ui/ad_ui_unit.js +0 -11
  294. package/test/ui/localization_unit.js +0 -3
  295. package/test/ui/text_displayer_layout_unit.js +9 -19
  296. package/test/ui/ui_customization_unit.js +0 -6
  297. package/test/ui/ui_integration.js +0 -16
  298. package/test/ui/ui_unit.js +1 -17
  299. package/test/util/abortable_operation_unit.js +4 -9
  300. package/test/util/array_utils_unit.js +0 -2
  301. package/test/util/buffer_utils_unit.js +0 -2
  302. package/test/util/data_view_reader_unit.js +0 -4
  303. package/test/util/ebml_parser_unit.js +0 -4
  304. package/test/util/event_manager_unit.js +0 -3
  305. package/test/util/fake_event_target_unit.js +0 -5
  306. package/test/util/functional_unit.js +1 -1
  307. package/test/util/iterables_unit.js +0 -64
  308. package/test/util/language_utils_unit.js +0 -3
  309. package/test/util/manifest_parser_utils_unit.js +0 -2
  310. package/test/util/mp4_box_parsers_unit.js +0 -5
  311. package/test/util/mp4_parser_unit.js +0 -4
  312. package/test/util/multi_map_unit.js +0 -3
  313. package/test/util/object_utils_unit.js +0 -2
  314. package/test/util/periods_unit.js +14 -7
  315. package/test/util/pssh_unit.js +0 -5
  316. package/test/util/state_history_unit.js +0 -2
  317. package/test/util/stream_utils_unit.js +38 -37
  318. package/test/util/string_utils_unit.js +0 -6
  319. package/test/util/text_parser_unit.js +0 -2
  320. package/test/util/xml_utils_unit.js +0 -4
  321. package/ui/controls.js +3 -0
  322. package/ui/less/ad_controls.less +4 -4
  323. package/ui/less/buttons.less +5 -9
  324. package/ui/less/containers.less +5 -7
  325. package/ui/less/overflow_menu.less +4 -4
  326. package/ui/less/range_elements.less +5 -0
  327. package/ui/locales/sjn-translations.yaml +257 -0
  328. package/ui/locales/sjn.json +42 -0
  329. package/ui/localization.js +12 -36
  330. package/ui/text_selection.js +1 -0
  331. package/externs/media_capabilities.js +0 -16
  332. package/externs/svgelement.js +0 -18
@@ -4,10 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('shaka.test.Util');
8
- goog.require('shaka.text.Cue');
9
- goog.require('shaka.text.UITextDisplayer');
10
-
11
7
  describe('UITextDisplayer', () => {
12
8
  /** @type {!HTMLElement} */
13
9
  let videoContainer;
@@ -65,7 +61,18 @@ describe('UITextDisplayer', () => {
65
61
  document.body.removeChild(videoContainer);
66
62
  });
67
63
 
68
- it('correctly displays styles for cues', async () => {
64
+ /**
65
+ * @suppress {visibility}
66
+ * "suppress visibility" has function scope, so this is a mini-function that
67
+ * exists solely to suppress visibility rules for these actions.
68
+ */
69
+ function updateCaptions() {
70
+ // Rather than wait for a timer, which can be unreliable on Safari when the
71
+ // device is heavily loaded, trigger the update explicitly.
72
+ textDisplayer.updateCaptions_();
73
+ }
74
+
75
+ it('correctly displays styles for cues', () => {
69
76
  /** @type {!shaka.text.Cue} */
70
77
  const cue = new shaka.text.Cue(0, 100, 'Captain\'s log.');
71
78
  cue.color = 'green';
@@ -81,8 +88,7 @@ describe('UITextDisplayer', () => {
81
88
 
82
89
  textDisplayer.setTextVisibility(true);
83
90
  textDisplayer.append([cue]);
84
- // Wait until updateCaptions_() gets called.
85
- await shaka.test.Util.delay(0.5);
91
+ updateCaptions();
86
92
 
87
93
  const textContainer = videoContainer.querySelector('.shaka-text-container');
88
94
  const captions = textContainer.querySelector('div');
@@ -114,7 +120,7 @@ describe('UITextDisplayer', () => {
114
120
  .toEqual(jasmine.objectContaining({'background-color': 'black'}));
115
121
  });
116
122
 
117
- it('correctly displays styles for nested cues', async () => {
123
+ it('correctly displays styles for nested cues', () => {
118
124
  /** @type {!shaka.text.Cue} */
119
125
  const cue = new shaka.text.Cue(0, 100, '');
120
126
  const nestedCue = new shaka.text.Cue(0, 100, 'Captain\'s log.');
@@ -131,8 +137,7 @@ describe('UITextDisplayer', () => {
131
137
 
132
138
  textDisplayer.setTextVisibility(true);
133
139
  textDisplayer.append([cue]);
134
- // Wait until updateCaptions_() gets called.
135
- await shaka.test.Util.delay(0.5);
140
+ updateCaptions();
136
141
 
137
142
  // Verify styles applied to the nested cues.
138
143
  const textContainer = videoContainer.querySelector('.shaka-text-container');
@@ -165,7 +170,7 @@ describe('UITextDisplayer', () => {
165
170
  .toEqual(jasmine.objectContaining({'background-color': 'black'}));
166
171
  });
167
172
 
168
- it('correctly displays styles for cellResolution units', async () => {
173
+ it('correctly displays styles for cellResolution units', () => {
169
174
  /** @type {!shaka.text.Cue} */
170
175
  const cue = new shaka.text.Cue(0, 100, 'Captain\'s log.');
171
176
  cue.fontSize = '0.80c';
@@ -177,8 +182,7 @@ describe('UITextDisplayer', () => {
177
182
 
178
183
  textDisplayer.setTextVisibility(true);
179
184
  textDisplayer.append([cue]);
180
- // Wait until updateCaptions_() gets called.
181
- await shaka.test.Util.delay(0.5);
185
+ updateCaptions();
182
186
 
183
187
  // Expected value is calculated based on ttp:cellResolution="60 20"
184
188
  // videoContainerHeight=450px and tts:fontSize="0.80c" on the default style.
@@ -200,7 +204,7 @@ describe('UITextDisplayer', () => {
200
204
  }));
201
205
  });
202
206
 
203
- it('correctly displays styles for percentages units', async () => {
207
+ it('correctly displays styles for percentages units', () => {
204
208
  /** @type {!shaka.text.Cue} */
205
209
  const cue = new shaka.text.Cue(0, 100, 'Captain\'s log.');
206
210
  cue.fontSize = '90%';
@@ -211,8 +215,7 @@ describe('UITextDisplayer', () => {
211
215
 
212
216
  textDisplayer.setTextVisibility(true);
213
217
  textDisplayer.append([cue]);
214
- // Wait until updateCaptions_() gets called.
215
- await shaka.test.Util.delay(0.5);
218
+ updateCaptions();
216
219
 
217
220
  // Expected value is calculated based on ttp:cellResolution="32 15"
218
221
  // videoContainerHeight=450px and tts:fontSize="90%" on the default style.
@@ -225,15 +228,15 @@ describe('UITextDisplayer', () => {
225
228
  jasmine.objectContaining({'font-size': expectedFontSize}));
226
229
  });
227
230
 
228
- it('does not display duplicate cues', async () => {
231
+ it('does not display duplicate cues', () => {
229
232
  // These are identical.
230
233
  const cue1 = new shaka.text.Cue(0, 100, 'Captain\'s log.');
231
234
  const cue2 = new shaka.text.Cue(0, 100, 'Captain\'s log.');
232
235
 
233
236
  textDisplayer.setTextVisibility(true);
234
237
  textDisplayer.append([cue1]);
235
- // Wait until updateCaptions_() gets called.
236
- await shaka.test.Util.delay(0.5);
238
+ updateCaptions();
239
+
237
240
  /** @type {Element} */
238
241
  const textContainer = videoContainer.querySelector('.shaka-text-container');
239
242
  let captions = textContainer.querySelectorAll('div');
@@ -241,14 +244,14 @@ describe('UITextDisplayer', () => {
241
244
  expect(captions.length).toBe(1);
242
245
 
243
246
  textDisplayer.append([cue2]);
244
- // Wait until updateCaptions_() gets called.
245
- await shaka.test.Util.delay(0.5);
247
+ updateCaptions();
248
+
246
249
  captions = textContainer.querySelectorAll('div');
247
250
  // Expect textContainer to display one cue without duplication.
248
251
  expect(captions.length).toBe(1);
249
252
  });
250
253
 
251
- it('does not mistake cues with nested cues as duplicates', async () => {
254
+ it('does not mistake cues with nested cues as duplicates', () => {
252
255
  // These are not identical, but might look like it at the top level.
253
256
  const cue1 = new shaka.text.Cue(0, 100, '');
254
257
  cue1.nestedCues = [
@@ -265,8 +268,8 @@ describe('UITextDisplayer', () => {
265
268
 
266
269
  textDisplayer.setTextVisibility(true);
267
270
  textDisplayer.append([cue1]);
268
- // Wait until updateCaptions_() gets called.
269
- await shaka.test.Util.delay(0.5);
271
+ updateCaptions();
272
+
270
273
  /** @type {Element} */
271
274
  const textContainer = videoContainer.querySelector('.shaka-text-container');
272
275
  let captions = textContainer.querySelectorAll('div');
@@ -274,15 +277,15 @@ describe('UITextDisplayer', () => {
274
277
  expect(captions.length).toBe(1);
275
278
 
276
279
  textDisplayer.append([cue2, cue3]);
277
- // Wait until updateCaptions_() gets called.
278
- await shaka.test.Util.delay(0.5);
280
+ updateCaptions();
281
+
279
282
  captions = textContainer.querySelectorAll('div');
280
283
  // Expect textContainer to display all three cues, since they are not truly
281
284
  // duplicates.
282
285
  expect(captions.length).toBe(3);
283
286
  });
284
287
 
285
- it('does not mistake cues with different styles duplicates', async () => {
288
+ it('does not mistake cues with different styles duplicates', () => {
286
289
  // These all have the same text and timing, but different styles.
287
290
  const cue1 = new shaka.text.Cue(0, 100, 'Hello!');
288
291
  cue1.color = 'green';
@@ -296,8 +299,8 @@ describe('UITextDisplayer', () => {
296
299
 
297
300
  textDisplayer.setTextVisibility(true);
298
301
  textDisplayer.append([cue1]);
299
- // Wait until updateCaptions_() gets called.
300
- await shaka.test.Util.delay(0.5);
302
+ updateCaptions();
303
+
301
304
  /** @type {Element} */
302
305
  const textContainer = videoContainer.querySelector('.shaka-text-container');
303
306
  let captions = textContainer.querySelectorAll('div');
@@ -305,20 +308,20 @@ describe('UITextDisplayer', () => {
305
308
  expect(captions.length).toBe(1);
306
309
 
307
310
  textDisplayer.append([cue2, cue3]);
308
- // Wait until updateCaptions_() gets called.
309
- await shaka.test.Util.delay(0.5);
311
+ updateCaptions();
312
+
310
313
  captions = textContainer.querySelectorAll('div');
311
314
  // Expect textContainer to display all three cues, since they are not truly
312
315
  // duplicates.
313
316
  expect(captions.length).toBe(3);
314
317
  });
315
318
 
316
- it('hides currently displayed cue when removed', async () => {
319
+ it('hides currently displayed cue when removed', () => {
317
320
  const cue = new shaka.text.Cue(0, 50, 'One');
318
321
  textDisplayer.setTextVisibility(true);
319
322
  textDisplayer.append([cue]);
320
323
  video.currentTime = 10;
321
- await shaka.test.Util.delay(0.5);
324
+ updateCaptions();
322
325
  const textContainer = videoContainer.querySelector('.shaka-text-container');
323
326
 
324
327
  let cueElements = textContainer.querySelectorAll('div');
@@ -331,7 +334,7 @@ describe('UITextDisplayer', () => {
331
334
  expect(cueElements.length).toBe(0);
332
335
  });
333
336
 
334
- it('hides and shows nested cues at appropriate times', async () => {
337
+ it('hides and shows nested cues at appropriate times', () => {
335
338
  const parentCue1 = new shaka.text.Cue(0, 100, '');
336
339
  const cue1 = new shaka.text.Cue(0, 50, 'One');
337
340
  parentCue1.nestedCues.push(cue1);
@@ -348,7 +351,7 @@ describe('UITextDisplayer', () => {
348
351
  textDisplayer.append([parentCue1, parentCue2]);
349
352
 
350
353
  video.currentTime = 10;
351
- await shaka.test.Util.delay(0.5);
354
+ updateCaptions();
352
355
  /** @type {Element} */
353
356
  const textContainer = videoContainer.querySelector('.shaka-text-container');
354
357
  let parentCueElements = textContainer.querySelectorAll('div');
@@ -357,38 +360,38 @@ describe('UITextDisplayer', () => {
357
360
  expect(parentCueElements[0].textContent).toBe('One');
358
361
 
359
362
  video.currentTime = 35;
360
- await shaka.test.Util.delay(0.5);
363
+ updateCaptions();
361
364
  parentCueElements = textContainer.querySelectorAll('div');
362
365
  expect(parentCueElements.length).toBe(1);
363
366
  expect(parentCueElements[0].textContent).toBe('OneTwo');
364
367
 
365
368
  video.currentTime = 60;
366
- await shaka.test.Util.delay(0.5);
369
+ updateCaptions();
367
370
  parentCueElements = textContainer.querySelectorAll('div');
368
371
  expect(parentCueElements.length).toBe(1);
369
372
  expect(parentCueElements[0].textContent).toBe('TwoThree');
370
373
 
371
374
  video.currentTime = 85;
372
- await shaka.test.Util.delay(0.5);
375
+ updateCaptions();
373
376
  parentCueElements = textContainer.querySelectorAll('div');
374
377
  expect(parentCueElements.length).toBe(1);
375
378
  expect(parentCueElements[0].textContent).toBe('Three');
376
379
 
377
380
  video.currentTime = 95;
378
- await shaka.test.Util.delay(0.5);
381
+ updateCaptions();
379
382
  parentCueElements = textContainer.querySelectorAll('div');
380
383
  expect(parentCueElements.length).toBe(2);
381
384
  expect(parentCueElements[0].textContent).toBe('Three');
382
385
  expect(parentCueElements[1].textContent).toBe('Four');
383
386
 
384
387
  video.currentTime = 105;
385
- await shaka.test.Util.delay(0.5);
388
+ updateCaptions();
386
389
  parentCueElements = textContainer.querySelectorAll('div');
387
390
  expect(parentCueElements.length).toBe(1);
388
391
  expect(parentCueElements[0].textContent).toBe('Four');
389
392
 
390
393
  video.currentTime = 150;
391
- await shaka.test.Util.delay(0.5);
394
+ updateCaptions();
392
395
  parentCueElements = textContainer.querySelectorAll('div');
393
396
  expect(parentCueElements.length).toBe(1);
394
397
  expect(parentCueElements[0].textContent).toBe('');
@@ -4,15 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('shaka.log');
8
- goog.require('shaka.test.Util');
9
- goog.require('shaka.text.Cue');
10
- goog.require('shaka.text.CueRegion');
11
- goog.require('shaka.text.VttTextParser');
12
- goog.require('shaka.util.BufferUtils');
13
- goog.require('shaka.util.Error');
14
- goog.require('shaka.util.StringUtils');
15
-
16
7
  describe('VttTextParser', () => {
17
8
  const Cue = shaka.text.Cue;
18
9
  const CueRegion = shaka.text.CueRegion;
@@ -4,9 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('shaka.text.Cue');
8
- goog.require('shaka.text.WebVttGenerator');
9
-
10
7
  describe('WebVttGenerator', () => {
11
8
  it('supports no cues', () => {
12
9
  verifyHelper([], 'WEBVTT\n\n');
@@ -4,17 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('shaka.Player');
8
- goog.require('shaka.ads.AdManager');
9
- goog.require('shaka.test.FakeAd');
10
- goog.require('shaka.test.FakeAdManager');
11
- goog.require('shaka.test.UiUtils');
12
- goog.require('shaka.test.Util');
13
- goog.require('shaka.test.Waiter');
14
- goog.require('shaka.ui.Locales');
15
- goog.require('shaka.util.EventManager');
16
- goog.requireType('shaka.ui.Localization');
17
-
18
7
  describe('Ad UI', () => {
19
8
  const UiUtils = shaka.test.UiUtils;
20
9
  /** @type {!HTMLLinkElement} */
@@ -4,9 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('shaka.ui.Localization');
8
- goog.requireType('shaka.util.FakeEvent');
9
-
10
7
  describe('Localization', () => {
11
8
  const Localization = shaka.ui.Localization;
12
9
 
@@ -4,17 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('shaka.Player');
8
- goog.require('shaka.test.FakeVideo');
9
- goog.require('shaka.test.UiUtils');
10
- goog.require('shaka.test.Util');
11
- goog.require('shaka.test.Waiter');
12
- goog.require('shaka.text.Cue');
13
- goog.require('shaka.text.SimpleTextDisplayer');
14
- goog.require('shaka.text.UITextDisplayer');
15
- goog.require('shaka.ui.Overlay');
16
- goog.require('shaka.util.EventManager');
17
-
18
7
  // TODO: Move this suite to the text/ folder where it belongs
19
8
  const supportsScreenshots = () => shaka.test.Util.supportsScreenshots();
20
9
  filterDescribe('TextDisplayer layout', supportsScreenshots, () => {
@@ -34,11 +23,8 @@ filterDescribe('TextDisplayer layout', supportsScreenshots, () => {
34
23
  */
35
24
  let beforeScreenshot;
36
25
 
37
- // Legacy Edge seems to have inconsistent font kerning. A one-pixel offset in
38
- // the position of one character appears about 60% of the time, requiring us
39
- // to have this change tolerance in our tests. So far, all past bugs in our
40
- // implementation that we have tests for would exceed this threshold by a lot.
41
- const threshold = 160; // px
26
+ // A minimum similarity score for screenshots, between 0 and 1.
27
+ const minSimilarity = 0.95;
42
28
 
43
29
  const originalCast = window.chrome && window.chrome.cast;
44
30
 
@@ -196,6 +182,7 @@ filterDescribe('TextDisplayer layout', supportsScreenshots, () => {
196
182
 
197
183
  // The video must be played a little now, after the cues were appended,
198
184
  // but before the screenshot.
185
+ video.playbackRate = 1;
199
186
  video.play();
200
187
  await waiter.failOnTimeout(false).timeoutAfter(5)
201
188
  .waitForMovement(video);
@@ -203,10 +190,13 @@ filterDescribe('TextDisplayer layout', supportsScreenshots, () => {
203
190
 
204
191
  // Seek to a time when cues should be showing.
205
192
  video.currentTime = time;
193
+ // Get into a playing state, but without movement.
194
+ video.playbackRate = 0;
195
+ video.play();
206
196
 
207
197
  // Add a short delay to ensure that the system has caught up and that
208
198
  // native text displayers have been updated by the browser.
209
- await Util.shortDelay();
199
+ await Util.delay(0.1);
210
200
  };
211
201
  });
212
202
 
@@ -415,7 +405,7 @@ filterDescribe('TextDisplayer layout', supportsScreenshots, () => {
415
405
  await checkScreenshot(prefix, 'flat-cue-bg');
416
406
  });
417
407
 
418
- // https://github.com/google/shaka-player/issues/2761
408
+ // https://github.com/shaka-project/shaka-player/issues/2761
419
409
  it('deeply-nested cues', async () => {
420
410
  const makeCue = (text, fg = '', bg = '', nestedCues = []) => {
421
411
  const cue = new shaka.text.Cue(0, 1, text);
@@ -475,6 +465,6 @@ filterDescribe('TextDisplayer layout', supportsScreenshots, () => {
475
465
  return Util.checkScreenshot(
476
466
  /* element= */ videoContainer,
477
467
  prefix + '-' + baseName,
478
- threshold);
468
+ minSimilarity);
479
469
  }
480
470
  });
@@ -4,12 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('goog.asserts');
8
- goog.require('shaka.test.UiUtils');
9
- goog.require('shaka.test.Waiter');
10
- goog.require('shaka.util.EventManager');
11
- goog.requireType('shaka.ui.Overlay');
12
-
13
7
  describe('UI Customization', () => {
14
8
  const UiUtils = shaka.test.UiUtils;
15
9
  /** @type {!HTMLLinkElement} */
@@ -4,22 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('goog.asserts');
8
- goog.require('mozilla.LanguageMapping');
9
- goog.require('shaka.test.Loader');
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.ui.Element');
15
- goog.require('shaka.util.Dom');
16
- goog.require('shaka.util.EventManager');
17
- goog.require('shaka.util.Iterables');
18
- goog.requireType('shaka.Player');
19
- goog.requireType('shaka.ui.Controls');
20
- goog.requireType('shaka.ui.Overlay');
21
-
22
-
23
7
  describe('UI', () => {
24
8
  const Util = shaka.test.Util;
25
9
  const UiUtils = shaka.test.UiUtils;
@@ -4,21 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('goog.asserts');
8
- goog.require('shaka.media.ManifestParser');
9
- goog.require('shaka.test.FakeManifestParser');
10
- goog.require('shaka.test.ManifestGenerator');
11
- goog.require('shaka.test.UiUtils');
12
- goog.require('shaka.test.Util');
13
- goog.require('shaka.ui.OverflowMenu');
14
- goog.require('shaka.ui.ResolutionSelection');
15
- goog.require('shaka.util.Functional');
16
- goog.require('shaka.util.Iterables');
17
- goog.require('shaka.util.Platform');
18
- goog.requireType('shaka.Player');
19
- goog.requireType('shaka.ui.Controls');
20
- goog.requireType('shaka.ui.Overlay');
21
-
22
7
  describe('UI', () => {
23
8
  const UiUtils = shaka.test.UiUtils;
24
9
  const Util = shaka.test.Util;
@@ -137,8 +122,7 @@ describe('UI', () => {
137
122
  // Four is just a random number I (ismena) came up with to test a
138
123
  // multi-video use case. It could be replaces with any other
139
124
  // (reasonable) number.
140
- for (const _ of shaka.util.Iterables.range(4)) {
141
- shaka.util.Functional.ignored(_);
125
+ for (let i = 0; i < 4; i++) {
142
126
  const video = /** @type {!HTMLVideoElement} */
143
127
  (document.createElement('video'));
144
128
 
@@ -4,11 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('shaka.test.Util');
8
- goog.require('shaka.util.AbortableOperation');
9
- goog.require('shaka.util.Error');
10
- goog.require('shaka.util.PublicPromise');
11
-
12
7
  describe('AbortableOperation', () => {
13
8
  const Util = shaka.test.Util;
14
9
 
@@ -392,10 +387,10 @@ describe('AbortableOperation', () => {
392
387
  expect(value).toBe(500);
393
388
  }).finally((ok) => {
394
389
  expect(ok).toBe(true);
395
- // The bug https://github.com/google/shaka-player/issues/1260 makes this
396
- // expectation fail because some stages were skipped. Without this
397
- // check, the test would pass, even though the bug shows up first in the
398
- // basic functionality of 'chain'.
390
+ // The bug https://github.com/shaka-project/shaka-player/issues/1260
391
+ // makes this expectation fail because some stages were skipped.
392
+ // Without this check, the test would pass, even though the bug shows
393
+ // up first in the basic functionality of 'chain'.
399
394
  expect(values).toEqual([100, 200, 300, 400, 500]);
400
395
  });
401
396
  await op.promise;
@@ -4,8 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('shaka.util.ArrayUtils');
8
-
9
7
  describe('ArrayUtils', () => {
10
8
  const ArrayUtils = shaka.util.ArrayUtils;
11
9
 
@@ -4,8 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('shaka.util.BufferUtils');
8
-
9
7
  describe('BufferUtils', () => {
10
8
  const BufferUtils = shaka.util.BufferUtils;
11
9
 
@@ -4,10 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('shaka.test.Util');
8
- goog.require('shaka.util.DataViewReader');
9
- goog.require('shaka.util.Error');
10
-
11
7
  describe('DataViewReader', () => {
12
8
  const Util = shaka.test.Util;
13
9
 
@@ -4,10 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('shaka.test.Util');
8
- goog.require('shaka.util.EbmlParser');
9
- goog.require('shaka.util.Error');
10
-
11
7
  describe('EbmlParser', /** @suppress {accessControls} */ () => {
12
8
  const Util = shaka.test.Util;
13
9
 
@@ -4,9 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('shaka.test.Util');
8
- goog.require('shaka.util.EventManager');
9
-
10
7
  describe('EventManager', () => {
11
8
  const Util = shaka.test.Util;
12
9
 
@@ -4,11 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('shaka.log');
8
- goog.require('shaka.test.Util');
9
- goog.require('shaka.util.FakeEvent');
10
- goog.require('shaka.util.FakeEventTarget');
11
-
12
7
  describe('FakeEventTarget', () => {
13
8
  const Util = shaka.test.Util;
14
9
  const originalLogError = shaka.log.error;
@@ -73,7 +73,7 @@ describe('Functional', () => {
73
73
  expect(obj.val).toBe(1);
74
74
  });
75
75
 
76
- // Regression test for https://github.com/google/shaka-player/issues/2958
76
+ // Regression test for https://github.com/shaka-project/shaka-player/issues/2958
77
77
  it('supports ES6 classes', () => {
78
78
  const obj = Functional.callFactory(Es6Class);
79
79
  expect(obj.val).toBe(1);
@@ -4,8 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('shaka.util.Iterables');
8
-
9
7
  describe('Iterables', () => {
10
8
  const Iterables = shaka.util.Iterables;
11
9
 
@@ -67,66 +65,4 @@ describe('Iterables', () => {
67
65
  expect(Iterables.filter(input, (x) => x < 0)).toEqual([]);
68
66
  });
69
67
  });
70
-
71
- describe('enumerate', () => {
72
- function enumerate(it) {
73
- return Array.from(Iterables.enumerate(it));
74
- }
75
-
76
- it('works with no items', () => {
77
- expect(enumerate([])).toEqual([]);
78
- });
79
-
80
- it('works with one item', () => {
81
- expect(enumerate([999]))
82
- .toEqual([{i: 0, item: 999, prev: undefined, next: undefined}]);
83
- });
84
-
85
- it('works with special values', () => {
86
- expect(enumerate([[]]))
87
- .toEqual([{i: 0, item: [], prev: undefined, next: undefined}]);
88
- expect(enumerate([0]))
89
- .toEqual([{i: 0, item: 0, prev: undefined, next: undefined}]);
90
- expect(enumerate([null]))
91
- .toEqual([{i: 0, item: null, prev: undefined, next: undefined}]);
92
- expect(enumerate([undefined]))
93
- .toEqual([{i: 0, item: undefined, prev: undefined, next: undefined}]);
94
- });
95
-
96
- it('works with two items', () => {
97
- expect(enumerate([888, 999]))
98
- .toEqual([
99
- {i: 0, item: 888, prev: undefined, next: 999},
100
- {i: 1, item: 999, prev: 888, next: undefined},
101
- ]);
102
- });
103
-
104
- it('works with three items', () => {
105
- expect(enumerate([777, 888, 999]))
106
- .toEqual([
107
- {i: 0, item: 777, prev: undefined, next: 888},
108
- {i: 1, item: 888, prev: 777, next: 999},
109
- {i: 2, item: 999, prev: 888, next: undefined},
110
- ]);
111
- });
112
-
113
- it('keeps references', () => {
114
- const expected = [
115
- {a: 'x'},
116
- {b: 'y'},
117
- {c: 'z'},
118
- ];
119
- const actual = enumerate(expected);
120
-
121
- expect(actual[0].item).toBe(expected[0]);
122
- expect(actual[0].next).toBe(expected[1]);
123
-
124
- expect(actual[1].prev).toBe(expected[0]);
125
- expect(actual[1].item).toBe(expected[1]);
126
- expect(actual[1].next).toBe(expected[2]);
127
-
128
- expect(actual[2].prev).toBe(expected[1]);
129
- expect(actual[2].item).toBe(expected[2]);
130
- });
131
- });
132
68
  });
@@ -4,9 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('shaka.util.LanguageUtils');
8
- goog.require('shaka.util.ManifestParserUtils');
9
-
10
7
  describe('LanguageUtils', () => {
11
8
  const LanguageUtils = shaka.util.LanguageUtils;
12
9
 
@@ -4,8 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('shaka.util.ManifestParserUtils');
8
-
9
7
  describe('ManifestParserUtils', () => {
10
8
  const ManifestParserUtils = shaka.util.ManifestParserUtils;
11
9
 
@@ -4,11 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('goog.asserts');
8
- goog.require('shaka.test.Util');
9
- goog.require('shaka.util.Mp4BoxParsers');
10
- goog.require('shaka.util.Mp4Parser');
11
-
12
7
  describe('Mp4BoxParsers', () => {
13
8
  const videoInitSegmentUri = '/base/test/test/assets/sintel-video-init.mp4';
14
9
  const videoSegmentUri = '/base/test/test/assets/sintel-video-segment.mp4';