shaka-player 3.2.4 → 3.2.5

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 (317) 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 +1571 -1556
  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/conformance.textproto +13 -0
  59. package/build/docker/Dockerfile +20 -0
  60. package/build/docker/docker-compose.yml +10 -0
  61. package/build/gendeps.py +18 -15
  62. package/build/shaka-lab.yaml +163 -0
  63. package/build/shakaBuildHelpers.py +4 -29
  64. package/build/test.py +87 -28
  65. package/build/wrapper.template.js +2 -2
  66. package/demo/TengwarTelcontar.woff2 +0 -0
  67. package/demo/asset_card.js +1 -2
  68. package/demo/cast_receiver/index.html +1 -1
  69. package/demo/cast_receiver/receiver_app.css +14 -14
  70. package/demo/common/assets.js +2 -0
  71. package/demo/config.js +0 -1
  72. package/demo/custom.js +0 -1
  73. package/demo/customWarning.txt +2 -2
  74. package/demo/demo.less +29 -18
  75. package/demo/demo_uncompiled.js +1 -13
  76. package/demo/index.html +1 -1
  77. package/demo/main.js +3 -3
  78. package/dist/controls.css +2 -2
  79. package/dist/controls.css.map +1 -1
  80. package/dist/demo.compiled.debug.js +191 -194
  81. package/dist/demo.compiled.debug.map +4 -4
  82. package/dist/demo.compiled.js +191 -194
  83. package/dist/demo.compiled.map +4 -4
  84. package/dist/demo.css +1 -1
  85. package/dist/demo.css.map +1 -1
  86. package/dist/deps.js +225 -219
  87. package/dist/locales.js +28 -28
  88. package/dist/receiver.compiled.debug.js +43 -45
  89. package/dist/receiver.compiled.debug.map +4 -4
  90. package/dist/receiver.compiled.js +43 -45
  91. package/dist/receiver.compiled.map +4 -4
  92. package/dist/shaka-player.compiled.d.ts +224 -224
  93. package/dist/shaka-player.compiled.debug.d.ts +224 -224
  94. package/dist/shaka-player.compiled.debug.externs.js +4 -3
  95. package/dist/shaka-player.compiled.debug.js +294 -303
  96. package/dist/shaka-player.compiled.debug.map +4 -4
  97. package/dist/shaka-player.compiled.externs.js +4 -3
  98. package/dist/shaka-player.compiled.js +817 -822
  99. package/dist/shaka-player.compiled.map +4 -4
  100. package/dist/shaka-player.ui.d.ts +266 -266
  101. package/dist/shaka-player.ui.debug.d.ts +266 -266
  102. package/dist/shaka-player.ui.debug.externs.js +4 -3
  103. package/dist/shaka-player.ui.debug.js +220 -229
  104. package/dist/shaka-player.ui.debug.map +4 -4
  105. package/dist/shaka-player.ui.externs.js +4 -3
  106. package/dist/shaka-player.ui.js +964 -970
  107. package/dist/shaka-player.ui.map +4 -4
  108. package/docs/design/REDESIGN.md +33 -33
  109. package/docs/design/codec_preferences.md +1 -1
  110. package/docs/design/dash-audio-channels.md +3 -3
  111. package/docs/design/dash-manifests.md +1 -1
  112. package/docs/design/gap-jumping.md +3 -3
  113. package/docs/design/preload.md +2 -2
  114. package/docs/tutorials/faq.md +8 -8
  115. package/docs/tutorials/index.json +1 -0
  116. package/docs/tutorials/plugins.md +3 -3
  117. package/docs/tutorials/selenium-grid-config.md +122 -0
  118. package/docs/tutorials/welcome.md +10 -2
  119. package/karma.conf.js +137 -30
  120. package/lib/abr/simple_abr_manager.js +12 -6
  121. package/lib/cast/cast_proxy.js +3 -4
  122. package/lib/cea/cea608_data_channel.js +2 -2
  123. package/lib/cea/cea708_service.js +5 -4
  124. package/lib/cea/mp4_cea_parser.js +11 -5
  125. package/lib/cea/sei_processor.js +6 -3
  126. package/lib/dash/dash_parser.js +9 -11
  127. package/lib/dash/mpd_utils.js +4 -5
  128. package/lib/dash/segment_list.js +1 -2
  129. package/lib/dash/segment_template.js +3 -3
  130. package/lib/hls/hls_parser.js +11 -9
  131. package/lib/hls/manifest_text_parser.js +3 -3
  132. package/lib/media/adaptation_set.js +1 -2
  133. package/lib/media/content_workarounds.js +2 -2
  134. package/lib/media/drm_engine.js +3 -2
  135. package/lib/media/media_source_engine.js +3 -2
  136. package/lib/media/mp4_segment_index_parser.js +1 -4
  137. package/lib/media/playhead.js +2 -2
  138. package/lib/media/presentation_timeline.js +18 -8
  139. package/lib/media/streaming_engine.js +6 -6
  140. package/lib/media/time_ranges_utils.js +1 -3
  141. package/lib/media/video_wrapper.js +1 -1
  142. package/lib/net/networking_engine.js +1 -1
  143. package/lib/offline/storage.js +4 -4
  144. package/lib/player.js +34 -16
  145. package/lib/polyfill/all.js +2 -3
  146. package/lib/polyfill/encryption_scheme.js +1 -1
  147. package/lib/polyfill/media_capabilities.js +3 -3
  148. package/lib/polyfill/mediasource.js +1 -1
  149. package/lib/text/cue.js +1 -1
  150. package/lib/text/simple_text_displayer.js +2 -1
  151. package/lib/text/ttml_text_parser.js +8 -5
  152. package/lib/text/ui_text_displayer.js +1 -1
  153. package/lib/util/buffer_utils.js +1 -3
  154. package/lib/util/ebml_parser.js +3 -3
  155. package/lib/util/error.js +1 -1
  156. package/lib/util/iterables.js +0 -46
  157. package/lib/util/mp4_box_parsers.js +1 -4
  158. package/lib/util/mp4_parser.js +5 -7
  159. package/lib/util/periods.js +8 -9
  160. package/lib/util/platform.js +3 -3
  161. package/lib/util/pssh.js +1 -4
  162. package/lib/util/stream_utils.js +4 -3
  163. package/lib/util/string_utils.js +3 -5
  164. package/lib/util/uint8array_utils.js +3 -5
  165. package/lib/util/xml_utils.js +15 -7
  166. package/package.json +61 -36
  167. package/roadmap.md +17 -17
  168. package/test/abr/simple_abr_manager_unit.js +3 -8
  169. package/test/ads/ad_manager_unit.js +0 -6
  170. package/test/cast/cast_proxy_unit.js +0 -8
  171. package/test/cast/cast_receiver_integration.js +1 -18
  172. package/test/cast/cast_receiver_unit.js +1 -9
  173. package/test/cast/cast_sender_unit.js +0 -6
  174. package/test/cast/cast_utils_unit.js +0 -13
  175. package/test/cea/cea608_memory_unit.js +0 -5
  176. package/test/cea/cea708_service_unit.js +0 -7
  177. package/test/cea/cea708_window_unit.js +0 -5
  178. package/test/cea/cea_decoder_unit.js +0 -6
  179. package/test/cea/dtvcc_packet_builder_unit.js +0 -3
  180. package/test/cea/dtvcc_packet_unit.js +0 -5
  181. package/test/cea/mp4_cea_parser_unit.js +0 -4
  182. package/test/dash/dash_parser_content_protection_unit.js +1 -10
  183. package/test/dash/dash_parser_live_unit.js +2 -15
  184. package/test/dash/dash_parser_manifest_unit.js +2 -16
  185. package/test/dash/dash_parser_segment_base_unit.js +1 -8
  186. package/test/dash/dash_parser_segment_list_unit.js +1 -7
  187. package/test/dash/dash_parser_segment_template_unit.js +0 -9
  188. package/test/dash/mpd_utils_unit.js +3 -11
  189. package/test/demo/demo_unit.js +0 -5
  190. package/test/deprecate/enforcer_unit.js +0 -4
  191. package/test/deprecate/version_unit.js +0 -2
  192. package/test/hls/hls_live_unit.js +2 -14
  193. package/test/hls/hls_parser_unit.js +2 -15
  194. package/test/hls/manifest_text_parser_unit.js +0 -10
  195. package/test/media/adaptation_set_criteria_unit.js +3 -7
  196. package/test/media/adaptation_set_unit.js +0 -2
  197. package/test/media/buffering_observer_unit.js +1 -4
  198. package/test/media/closed_caption_parser_unit.js +0 -3
  199. package/test/media/drm_engine_integration.js +2 -15
  200. package/test/media/drm_engine_unit.js +4 -24
  201. package/test/media/manifest_parser_unit.js +0 -4
  202. package/test/media/media_source_engine_integration.js +0 -7
  203. package/test/media/media_source_engine_unit.js +1 -14
  204. package/test/media/mp4_segment_index_parser_unit.js +0 -4
  205. package/test/media/play_rate_controller_unit.js +0 -4
  206. package/test/media/playhead_unit.js +8 -16
  207. package/test/media/presentation_timeline_unit.js +4 -7
  208. package/test/media/region_observer_unit.js +1 -6
  209. package/test/media/region_timeline_unit.js +0 -3
  210. package/test/media/segment_index_unit.js +0 -6
  211. package/test/media/segment_reference_unit.js +0 -3
  212. package/test/media/stall_detector_unit.js +0 -5
  213. package/test/media/streaming_engine_integration.js +9 -36
  214. package/test/media/streaming_engine_unit.js +11 -35
  215. package/test/media/time_ranges_utils_unit.js +0 -2
  216. package/test/media/transmuxer_integration.js +0 -6
  217. package/test/media/webm_segment_index_parser_unit.js +0 -4
  218. package/test/net/data_uri_plugin_unit.js +0 -7
  219. package/test/net/http_plugin_unit.js +0 -9
  220. package/test/net/networking_engine_unit.js +0 -11
  221. package/test/offline/download_progress_estimator_unit.js +0 -2
  222. package/test/offline/indexeddb_storage_unit.js +0 -6
  223. package/test/offline/manifest_convert_unit.js +0 -8
  224. package/test/offline/offline_integration.js +1 -10
  225. package/test/offline/offline_manifest_parser_unit.js +0 -6
  226. package/test/offline/offline_scheme_unit.js +0 -8
  227. package/test/offline/offline_uri_unit.js +0 -2
  228. package/test/offline/storage_compatibility_unit.js +1 -14
  229. package/test/offline/storage_integration.js +1 -25
  230. package/test/player_external.js +2 -10
  231. package/test/player_integration.js +21 -28
  232. package/test/player_load_graph_integration.js +1 -6
  233. package/test/player_src_equals_external.js +3 -9
  234. package/test/player_src_equals_integration.js +0 -7
  235. package/test/player_unit.js +52 -37
  236. package/test/routing/walker_unit.js +0 -8
  237. package/test/test/assets/large_file.mpd +1 -1
  238. package/test/test/boot.js +75 -22
  239. package/test/test/externs/jasmine.js +2 -2
  240. package/test/test/externs/karma.js +4 -0
  241. package/test/test/namespace.js +10 -0
  242. package/test/test/util/canned_idb.js +0 -8
  243. package/test/test/util/cea_utils.js +0 -6
  244. package/test/test/util/dash_parser_util.js +0 -13
  245. package/test/test/util/fake_ad.js +0 -3
  246. package/test/test/util/fake_ad_manager.js +0 -9
  247. package/test/test/util/fake_demo_main.js +0 -5
  248. package/test/test/util/fake_drm_engine.js +0 -6
  249. package/test/test/util/fake_media_source_engine.js +0 -7
  250. package/test/test/util/fake_networking_engine.js +0 -5
  251. package/test/test/util/fake_text_displayer.js +0 -5
  252. package/test/test/util/indexeddb_utils.js +1 -10
  253. package/test/test/util/jasmine_fetch.js +0 -1
  254. package/test/test/util/loader.js +0 -18
  255. package/test/test/util/manifest_generator.js +9 -14
  256. package/test/test/util/manifest_parser_util.js +0 -6
  257. package/test/test/util/offline_utils.js +0 -5
  258. package/test/test/util/simple_fakes.js +9 -26
  259. package/test/test/util/stream_generator.js +0 -14
  260. package/test/test/util/streaming_engine_util.js +0 -15
  261. package/test/test/util/test_scheme.js +1 -19
  262. package/test/test/util/ttml_utils.js +0 -2
  263. package/test/test/util/ui_utils.js +0 -9
  264. package/test/test/util/util.js +5 -19
  265. package/test/test/util/waiter.js +84 -43
  266. package/test/text/cue_integration.js +0 -4
  267. package/test/text/lrc_text_parser_unit.js +0 -4
  268. package/test/text/mp4_ttml_parser_unit.js +0 -6
  269. package/test/text/mp4_vtt_parser_unit.js +1 -7
  270. package/test/text/sbv_text_parser_unit.js +0 -4
  271. package/test/text/simple_text_displayer_unit.js +1 -8
  272. package/test/text/srt_text_parser_unit.js +0 -4
  273. package/test/text/ssa_text_parser_unit.js +0 -5
  274. package/test/text/text_engine_unit.js +2 -7
  275. package/test/text/text_track_integration.js +0 -2
  276. package/test/text/ttml_text_parser_unit.js +2 -11
  277. package/test/text/ui_text_displayer_unit.js +44 -41
  278. package/test/text/vtt_text_parser_unit.js +0 -9
  279. package/test/text/web_vtt_generator_unit.js +0 -3
  280. package/test/ui/ad_ui_unit.js +0 -11
  281. package/test/ui/localization_unit.js +0 -3
  282. package/test/ui/text_displayer_layout_unit.js +1 -12
  283. package/test/ui/ui_customization_unit.js +0 -6
  284. package/test/ui/ui_integration.js +0 -16
  285. package/test/ui/ui_unit.js +1 -17
  286. package/test/util/abortable_operation_unit.js +4 -9
  287. package/test/util/array_utils_unit.js +0 -2
  288. package/test/util/buffer_utils_unit.js +0 -2
  289. package/test/util/data_view_reader_unit.js +0 -4
  290. package/test/util/ebml_parser_unit.js +0 -4
  291. package/test/util/event_manager_unit.js +0 -3
  292. package/test/util/fake_event_target_unit.js +0 -5
  293. package/test/util/functional_unit.js +1 -1
  294. package/test/util/iterables_unit.js +0 -64
  295. package/test/util/language_utils_unit.js +0 -3
  296. package/test/util/manifest_parser_utils_unit.js +0 -2
  297. package/test/util/mp4_box_parsers_unit.js +0 -5
  298. package/test/util/mp4_parser_unit.js +0 -4
  299. package/test/util/multi_map_unit.js +0 -3
  300. package/test/util/object_utils_unit.js +0 -2
  301. package/test/util/periods_unit.js +14 -7
  302. package/test/util/pssh_unit.js +0 -5
  303. package/test/util/state_history_unit.js +0 -2
  304. package/test/util/stream_utils_unit.js +3 -8
  305. package/test/util/string_utils_unit.js +0 -6
  306. package/test/util/text_parser_unit.js +0 -2
  307. package/test/util/xml_utils_unit.js +0 -4
  308. package/ui/less/ad_controls.less +4 -4
  309. package/ui/less/buttons.less +5 -5
  310. package/ui/less/containers.less +5 -7
  311. package/ui/less/overflow_menu.less +4 -4
  312. package/ui/less/range_elements.less +5 -0
  313. package/ui/locales/sjn-translations.yaml +257 -0
  314. package/ui/locales/sjn.json +42 -0
  315. package/.github/workflows/build_and_test.yaml +0 -73
  316. package/.github/workflows/release.yaml +0 -53
  317. package/externs/svgelement.js +0 -18
@@ -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, () => {
@@ -416,7 +405,7 @@ filterDescribe('TextDisplayer layout', supportsScreenshots, () => {
416
405
  await checkScreenshot(prefix, 'flat-cue-bg');
417
406
  });
418
407
 
419
- // https://github.com/google/shaka-player/issues/2761
408
+ // https://github.com/shaka-project/shaka-player/issues/2761
420
409
  it('deeply-nested cues', async () => {
421
410
  const makeCue = (text, fg = '', bg = '', nestedCues = []) => {
422
411
  const cue = new shaka.text.Cue(0, 1, text);
@@ -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';
@@ -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.Error');
9
- goog.require('shaka.util.Mp4Parser');
10
-
11
7
  describe('Mp4Parser', () => {
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.MultiMap');
9
-
10
7
  describe('MultiMap', () => {
11
8
  /** @type {shaka.util.MultiMap<number>} */
12
9
  let map;
@@ -4,8 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('shaka.util.ObjectUtils');
8
-
9
7
  describe('ObjectUtils', () => {
10
8
  const ObjectUtils = shaka.util.ObjectUtils;
11
9
 
@@ -4,10 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('shaka.test.ManifestGenerator');
8
- goog.require('shaka.util.ManifestParserUtils');
9
- goog.require('shaka.util.PeriodCombiner');
10
-
11
7
  describe('PeriodCombiner', () => {
12
8
  // These test cases don't really read well as "it" statements. Phrasing them
13
9
  // that way would make the names very long, so here we break with that
@@ -477,7 +473,7 @@ describe('PeriodCombiner', () => {
477
473
  a3.originalId = 'a3';
478
474
  a3.bandwidth = 97065;
479
475
  a3.roles = ['role1', 'role2'];
480
- a2.codecs = 'mp4a.40.2';
476
+ a3.codecs = 'mp4a.40.2';
481
477
 
482
478
  // a4 has a different label from a3, and should not
483
479
  // be filtered out.
@@ -500,14 +496,24 @@ describe('PeriodCombiner', () => {
500
496
  const t1 = makeTextStream('en');
501
497
  t1.originalId = 't1';
502
498
  t1.roles = ['role1'];
499
+ t1.bandwidth = 1158;
503
500
 
504
501
  const t2 = makeTextStream('en');
505
502
  t2.originalId = 't2';
506
503
  t2.roles = ['role1', 'role2'];
504
+ t2.bandwidth = 1172;
507
505
 
508
506
  const t3 = makeTextStream('en');
509
507
  t3.originalId = 't3';
510
508
  t3.roles = ['role1'];
509
+ t3.bandwidth = 1158;
510
+
511
+ // t4 has a different bandwidth from t3, and should not
512
+ // be filtered out.
513
+ const t4 = makeTextStream('en');
514
+ t4.originalId = 't4';
515
+ t4.roles = ['role1'];
516
+ t4.bandwidth = 1186;
511
517
 
512
518
  // i1 and i3 are duplicates.
513
519
  const i1 = makeImageStream(240);
@@ -539,6 +545,7 @@ describe('PeriodCombiner', () => {
539
545
  t1,
540
546
  t2,
541
547
  t3,
548
+ t4,
542
549
  ],
543
550
  imageStreams: [
544
551
  i1,
@@ -565,7 +572,7 @@ describe('PeriodCombiner', () => {
565
572
  }
566
573
 
567
574
  const textStreams = combiner.getTextStreams();
568
- expect(textStreams.length).toBe(2);
575
+ expect(textStreams.length).toBe(3);
569
576
 
570
577
  // t3 should've been filtered out
571
578
  const textIds = textStreams.map((t) => t.originalId);
@@ -1059,7 +1066,7 @@ describe('PeriodCombiner', () => {
1059
1066
  it('The number of variants stays stable after many periods ' +
1060
1067
  'when going between similar content and varying ads', async () => {
1061
1068
  // This test is based on the content from
1062
- // https://github.com/google/shaka-player/issues/2716
1069
+ // https://github.com/shaka-project/shaka-player/issues/2716
1063
1070
  // that used to cause our period flattening logic to keep
1064
1071
  // creating new variants for every new period added.
1065
1072
  // It's ok to create a few additional varinats/streams,
@@ -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.Error');
9
- goog.require('shaka.util.Pssh');
10
- goog.require('shaka.util.Uint8ArrayUtils');
11
-
12
7
  describe('Pssh', () => {
13
8
  const Uint8ArrayUtils = shaka.util.Uint8ArrayUtils;
14
9
 
@@ -4,8 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('shaka.util.StateHistory');
8
-
9
7
  describe('StateHistory', () => {
10
8
  const oldDateNow = Date.now;
11
9
 
@@ -4,11 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('shaka.test.FakeDrmEngine');
8
- goog.require('shaka.test.ManifestGenerator');
9
- goog.require('shaka.test.Util');
10
- goog.require('shaka.util.StreamUtils');
11
-
12
7
  describe('StreamUtils', () => {
13
8
  const StreamUtils = shaka.util.StreamUtils;
14
9
 
@@ -184,7 +179,7 @@ describe('StreamUtils', () => {
184
179
  });
185
180
 
186
181
  it('chooses only one role, even if none is preferred', () => {
187
- // Regression test for https://github.com/google/shaka-player/issues/949
182
+ // Regression test for https://github.com/shaka-project/shaka-player/issues/949
188
183
  manifest = shaka.test.ManifestGenerator.generate((manifest) => {
189
184
  manifest.addTextStream(0, (stream) => {
190
185
  stream.language = 'en';
@@ -223,7 +218,7 @@ describe('StreamUtils', () => {
223
218
  });
224
219
 
225
220
  it('chooses only one role, even if all are primary', () => {
226
- // Regression test for https://github.com/google/shaka-player/issues/949
221
+ // Regression test for https://github.com/shaka-project/shaka-player/issues/949
227
222
  manifest = shaka.test.ManifestGenerator.generate((manifest) => {
228
223
  manifest.addTextStream(0, (stream) => {
229
224
  stream.language = 'en';
@@ -269,7 +264,7 @@ describe('StreamUtils', () => {
269
264
  });
270
265
 
271
266
  it('chooses only one language, even if all are primary', () => {
272
- // Regression test for https://github.com/google/shaka-player/issues/918
267
+ // Regression test for https://github.com/shaka-project/shaka-player/issues/918
273
268
  manifest = shaka.test.ManifestGenerator.generate((manifest) => {
274
269
  manifest.addTextStream(0, (stream) => {
275
270
  stream.language = 'en';
@@ -4,12 +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.BufferUtils');
9
- goog.require('shaka.util.Error');
10
- goog.require('shaka.util.ManifestParserUtils');
11
- goog.require('shaka.util.StringUtils');
12
-
13
7
  describe('StringUtils', () => {
14
8
  const StringUtils = shaka.util.StringUtils;
15
9
 
@@ -4,8 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('shaka.util.TextParser');
8
-
9
7
  describe('TextParser', () => {
10
8
  const TextParser = shaka.util.TextParser;
11
9
 
@@ -4,10 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('goog.asserts');
8
- goog.require('shaka.util.XmlUtils');
9
-
10
-
11
7
  describe('XmlUtils', () => {
12
8
  // A number that cannot be represented as a Javascript number.
13
9
  const HUGE_NUMBER_STRING = new Array(500).join('7');
@@ -90,18 +90,18 @@
90
90
 
91
91
  .shaka-skip-ad-button {
92
92
  padding: 5px 15px;
93
- background: rgba(0, 0, 0, 0.7);
93
+ background: rgba(0 0 0 / 70%);
94
94
  border: none;
95
95
 
96
96
  &:disabled {
97
- background: rgba(0, 0, 0, 0.3);
97
+ background: rgba(0 0 0 / 30%);
98
98
  }
99
99
 
100
100
  cursor: pointer;
101
101
  }
102
102
 
103
103
  .shaka-skip-ad-counter {
104
- padding: 5px 5px;
105
- background: rgba(0, 0, 0, 0.7);
104
+ padding: 5px;
105
+ background: rgba(0 0 0 / 70%);
106
106
  margin: 0;
107
107
  }
@@ -38,7 +38,7 @@
38
38
  border-radius: 50%;
39
39
 
40
40
  /* A small drop shadow below the button. */
41
- box-shadow: rgba(0, 0, 0, 0.1) 0 0 20px 0;
41
+ box-shadow: rgba(0 0 0 / 10%) 0 0 20px 0;
42
42
 
43
43
  /* No border. */
44
44
  border: none;
@@ -51,7 +51,7 @@
51
51
  background-position: center center;
52
52
 
53
53
  /* A background color behind the play arrow. */
54
- background-color: rgba(255, 255, 255, 0.9);
54
+ background-color: rgba(255 255 255 / 90%);
55
55
 
56
56
  .show-when-controls-shown();
57
57
 
@@ -60,11 +60,11 @@
60
60
  * deployed separately from the compiled CSS.
61
61
  * Note that these URIs should relative to ui/controls.less, not this file. */
62
62
  &[icon="play"] {
63
- background-image: data-uri('images/play_arrow.svg');
63
+ background-image: data-uri("images/play_arrow.svg");
64
64
  }
65
65
 
66
66
  &[icon="pause"] {
67
- background-image: data-uri('images/pause.svg');
67
+ background-image: data-uri("images/pause.svg");
68
68
  }
69
69
  }
70
70
 
@@ -74,7 +74,7 @@
74
74
  */
75
75
  .shaka-current-time {
76
76
  font-size: 14px;
77
- color: rgb(255, 255, 255);
77
+ color: white;
78
78
  cursor: pointer;
79
79
 
80
80
  &[disabled] {
@@ -6,8 +6,6 @@
6
6
 
7
7
  /* All of the top-level containers into which various visible features go. */
8
8
 
9
- @transparent: rgba(0, 0, 0, 0);
10
-
11
9
  /* A container for the entire video + controls combo. This is the auto-setup
12
10
  * div which we populate. */
13
11
  .shaka-video-container {
@@ -19,13 +17,13 @@
19
17
 
20
18
  /* Set a special font for material design icons. */
21
19
  .material-icons-round {
22
- font-family: 'Material Icons Round';
20
+ font-family: "Material Icons Round";
23
21
  font-size: 24px;
24
22
  }
25
23
 
26
24
  /* Set the fonts for all other content. */
27
25
  * {
28
- font-family: Roboto-Regular, Roboto, sans-serif;
26
+ font-family: Roboto-Regular, Roboto, sans-serif, TengwarTelcontar;
29
27
  }
30
28
  }
31
29
 
@@ -203,7 +201,7 @@
203
201
  .show-when-controls-shown();
204
202
 
205
203
  /* A black gradient at the bottom, behind the controls, but only so high. */
206
- background: linear-gradient(to top, rgba(0, 0, 0, 1) 0, @transparent 15%);
204
+ background: linear-gradient(to top, black 0, transparent 15%);
207
205
  }
208
206
 
209
207
  .shaka-text-container {
@@ -231,7 +229,7 @@
231
229
  /* These are defaults which are overridden by JS or cue styles. */
232
230
  font-size: 20px;
233
231
  line-height: 1.4; // relative to font size.
234
- color: rgb(255, 255, 255);
232
+ color: white;
235
233
 
236
234
  span.shaka-text-wrapper {
237
235
  display: inline;
@@ -280,5 +278,5 @@
280
278
 
281
279
  /* Add a bit of a white shadow to keep our black spinner visible
282
280
  on a black background. */
283
- filter: drop-shadow(0 0 2px rgba(255, 255, 255, 0.5));
281
+ filter: drop-shadow(0 0 2px rgba(255 255 255 / 50%));
284
282
  }