shaka-player 3.3.2 → 3.3.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 (339) hide show
  1. package/.csslintrc +11 -1
  2. package/.github/ISSUE_TEMPLATE/bug_report.md +1 -1
  3. package/.github/pull_request_template.md +6 -34
  4. package/.github/workflows/build-and-test.yaml +129 -0
  5. package/.github/workflows/custom-actions/prep-for-appspot/action.yaml +56 -0
  6. package/.github/workflows/custom-actions/set-commit-status/action.yaml +41 -0
  7. package/.github/workflows/demo-version-index.yaml +29 -0
  8. package/.github/workflows/nightly-demo.yaml +42 -0
  9. package/.github/workflows/release-please.yaml +147 -0
  10. package/.github/workflows/safari-homedir-launcher.sh +18 -0
  11. package/.github/workflows/selenium-lab-tests.yaml +92 -0
  12. package/AUTHORS +2 -0
  13. package/CHANGELOG.md +1718 -1675
  14. package/CONTRIBUTING.md +2 -2
  15. package/CONTRIBUTORS +2 -0
  16. package/README.md +7 -7
  17. package/app-engine/README.md +9 -0
  18. package/app-engine/demo-version-index/README.md +14 -0
  19. package/app-engine/demo-version-index/app.yaml +2 -0
  20. package/app-engine/demo-version-index/main.py +162 -0
  21. package/app-engine/demo-version-index/requirements.txt +6 -0
  22. package/app-engine/demo-version-index/templates/index.html +114 -0
  23. package/app-engine/shaka-player-demo/README.md +18 -0
  24. package/app-engine/shaka-player-demo/app.yaml +61 -0
  25. package/app-engine/shaka-player-demo/main.py +95 -0
  26. package/app-engine/shaka-player-demo/posters/10yo.png +0 -0
  27. package/app-engine/shaka-player-demo/posters/10yo.xcf +0 -0
  28. package/app-engine/shaka-player-demo/posters/1yo.jpg +0 -0
  29. package/app-engine/shaka-player-demo/posters/2yo.png +0 -0
  30. package/app-engine/shaka-player-demo/posters/2yo.xcf +0 -0
  31. package/app-engine/shaka-player-demo/posters/3yo.png +0 -0
  32. package/app-engine/shaka-player-demo/posters/3yo.xcf +0 -0
  33. package/app-engine/shaka-player-demo/posters/4yo.png +0 -0
  34. package/app-engine/shaka-player-demo/posters/4yo.xcf +0 -0
  35. package/app-engine/shaka-player-demo/posters/5yo.png +0 -0
  36. package/app-engine/shaka-player-demo/posters/5yo.xcf +0 -0
  37. package/app-engine/shaka-player-demo/posters/6yo.png +0 -0
  38. package/app-engine/shaka-player-demo/posters/6yo.xcf +0 -0
  39. package/app-engine/shaka-player-demo/posters/7yo.png +0 -0
  40. package/app-engine/shaka-player-demo/posters/7yo.xcf +0 -0
  41. package/app-engine/shaka-player-demo/posters/8yo.png +0 -0
  42. package/app-engine/shaka-player-demo/posters/8yo.xcf +0 -0
  43. package/app-engine/shaka-player-demo/posters/9yo.png +0 -0
  44. package/app-engine/shaka-player-demo/posters/9yo.xcf +0 -0
  45. package/app-engine/shaka-player-demo/posters/audioOnly.gif +0 -0
  46. package/app-engine/shaka-player-demo/posters/audioRickRoll.gif +0 -0
  47. package/app-engine/shaka-player-demo/posters/colorbars.gif +0 -0
  48. package/app-engine/shaka-player-demo/posters/fireworks.jpg +0 -0
  49. package/app-engine/shaka-player-demo/posters/party-hat.png +0 -0
  50. package/app-engine/shaka-player-demo/posters/sources.txt +46 -0
  51. package/app-engine/shaka-player-demo/posters/standard.png +0 -0
  52. package/app-engine/shaka-player-demo/posters/trek.jpg +0 -0
  53. package/app-engine/shaka-player-demo/posters/valentines.png +0 -0
  54. package/app-engine/shaka-player-demo/posters/zombie.jpg +0 -0
  55. package/app-engine/shaka-player-demo/posters.py +110 -0
  56. package/app-engine/shaka-player-demo/requirements.txt +5 -0
  57. package/app-engine/shaka-player-demo/time.txt +1 -0
  58. package/build/README.md +3 -3
  59. package/build/checkversion.py +2 -2
  60. package/build/conformance.textproto +13 -0
  61. package/build/docker/Dockerfile +20 -0
  62. package/build/docker/docker-compose.yml +10 -0
  63. package/build/gendeps.py +18 -15
  64. package/build/shaka-lab.yaml +163 -0
  65. package/build/shakaBuildHelpers.py +4 -29
  66. package/build/test.py +94 -29
  67. package/build/types/core +0 -1
  68. package/build/types/polyfill +1 -0
  69. package/build/wrapper.template.js +2 -2
  70. package/demo/TengwarTelcontar.woff2 +0 -0
  71. package/demo/asset_card.js +1 -2
  72. package/demo/cast_receiver/index.html +1 -1
  73. package/demo/cast_receiver/receiver_app.css +14 -14
  74. package/demo/common/assets.js +2 -0
  75. package/demo/config.js +0 -1
  76. package/demo/custom.js +0 -1
  77. package/demo/customWarning.txt +2 -2
  78. package/demo/demo.less +29 -18
  79. package/demo/demo_uncompiled.js +1 -13
  80. package/demo/index.html +1 -1
  81. package/demo/main.js +3 -3
  82. package/dist/controls.css +3 -3
  83. package/dist/controls.css.map +1 -1
  84. package/dist/demo.compiled.debug.js +191 -194
  85. package/dist/demo.compiled.debug.map +4 -4
  86. package/dist/demo.compiled.js +191 -194
  87. package/dist/demo.compiled.map +4 -4
  88. package/dist/demo.css +1 -1
  89. package/dist/demo.css.map +1 -1
  90. package/dist/deps.js +232 -226
  91. package/dist/locales.js +30 -30
  92. package/dist/receiver.compiled.debug.js +43 -45
  93. package/dist/receiver.compiled.debug.map +4 -4
  94. package/dist/receiver.compiled.js +43 -45
  95. package/dist/receiver.compiled.map +4 -4
  96. package/dist/shaka-player.compiled.d.ts +247 -236
  97. package/dist/shaka-player.compiled.debug.d.ts +247 -236
  98. package/dist/shaka-player.compiled.debug.externs.js +15 -3
  99. package/dist/shaka-player.compiled.debug.js +284 -290
  100. package/dist/shaka-player.compiled.debug.map +4 -4
  101. package/dist/shaka-player.compiled.externs.js +15 -3
  102. package/dist/shaka-player.compiled.js +855 -859
  103. package/dist/shaka-player.compiled.map +4 -4
  104. package/dist/shaka-player.ui.d.ts +291 -280
  105. package/dist/shaka-player.ui.debug.d.ts +291 -280
  106. package/dist/shaka-player.ui.debug.externs.js +15 -3
  107. package/dist/shaka-player.ui.debug.js +296 -302
  108. package/dist/shaka-player.ui.debug.map +4 -4
  109. package/dist/shaka-player.ui.externs.js +15 -3
  110. package/dist/shaka-player.ui.js +1005 -1009
  111. package/dist/shaka-player.ui.map +4 -4
  112. package/docs/design/REDESIGN.md +33 -33
  113. package/docs/design/bg-fetch.md +2 -2
  114. package/docs/design/codec_preferences.md +1 -1
  115. package/docs/design/dash-audio-channels.md +3 -3
  116. package/docs/design/dash-manifests.md +1 -1
  117. package/docs/design/gap-jumping.md +3 -3
  118. package/docs/design/preload.md +2 -2
  119. package/docs/tutorials/faq.md +8 -8
  120. package/docs/tutorials/index.json +1 -0
  121. package/docs/tutorials/plugins.md +3 -3
  122. package/docs/tutorials/selenium-grid-config.md +122 -0
  123. package/docs/tutorials/welcome.md +10 -2
  124. package/externs/cmcd.js +1 -1
  125. package/karma.conf.js +141 -30
  126. package/lib/abr/simple_abr_manager.js +12 -6
  127. package/lib/cast/cast_proxy.js +3 -4
  128. package/lib/cea/cea608_data_channel.js +2 -2
  129. package/lib/cea/cea708_service.js +5 -4
  130. package/lib/cea/mp4_cea_parser.js +11 -5
  131. package/lib/cea/sei_processor.js +6 -3
  132. package/lib/dash/dash_parser.js +11 -14
  133. package/lib/dash/mpd_utils.js +4 -5
  134. package/lib/dash/segment_list.js +1 -2
  135. package/lib/dash/segment_template.js +3 -3
  136. package/lib/hls/hls_parser.js +34 -20
  137. package/lib/hls/manifest_text_parser.js +3 -3
  138. package/lib/media/adaptation_set.js +1 -2
  139. package/lib/media/content_workarounds.js +2 -2
  140. package/lib/media/drm_engine.js +3 -2
  141. package/lib/media/media_source_engine.js +10 -3
  142. package/lib/media/mp4_segment_index_parser.js +1 -4
  143. package/lib/media/playhead.js +2 -2
  144. package/lib/media/presentation_timeline.js +18 -8
  145. package/lib/media/streaming_engine.js +6 -6
  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 +1 -1
  149. package/lib/offline/indexeddb/storage_mechanism.js +4 -2
  150. package/lib/offline/storage.js +96 -95
  151. package/lib/player.js +190 -114
  152. package/lib/polyfill/all.js +2 -3
  153. package/lib/polyfill/encryption_scheme.js +1 -1
  154. package/lib/polyfill/media_capabilities.js +3 -3
  155. package/lib/polyfill/mediasource.js +1 -1
  156. package/lib/polyfill/symbol.js +46 -0
  157. package/lib/text/cue.js +1 -1
  158. package/lib/text/simple_text_displayer.js +2 -1
  159. package/lib/text/ttml_text_parser.js +8 -5
  160. package/lib/text/ui_text_displayer.js +1 -1
  161. package/lib/util/buffer_utils.js +1 -3
  162. package/lib/util/config_utils.js +25 -0
  163. package/lib/util/ebml_parser.js +3 -3
  164. package/lib/util/error.js +8 -1
  165. package/lib/util/iterables.js +0 -46
  166. package/lib/util/manifest_parser_utils.js +1 -1
  167. package/lib/util/mime_utils.js +48 -1
  168. package/lib/util/mp4_box_parsers.js +1 -4
  169. package/lib/util/mp4_parser.js +5 -7
  170. package/lib/util/periods.js +15 -15
  171. package/lib/util/platform.js +3 -3
  172. package/lib/util/player_configuration.js +9 -14
  173. package/lib/util/pssh.js +1 -4
  174. package/lib/util/stream_utils.js +8 -5
  175. package/lib/util/string_utils.js +3 -5
  176. package/lib/util/uint8array_utils.js +3 -5
  177. package/lib/util/xml_utils.js +15 -7
  178. package/package.json +61 -36
  179. package/roadmap.md +17 -17
  180. package/shaka-player.uncompiled.js +1 -0
  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 +1 -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 +2 -15
  197. package/test/dash/dash_parser_manifest_unit.js +2 -40
  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 +28 -14
  206. package/test/hls/hls_parser_unit.js +2 -15
  207. package/test/hls/manifest_text_parser_unit.js +19 -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 +2 -15
  213. package/test/media/drm_engine_unit.js +4 -24
  214. package/test/media/manifest_parser_unit.js +0 -4
  215. package/test/media/media_source_engine_integration.js +1 -7
  216. package/test/media/media_source_engine_unit.js +5 -18
  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/quality_observer_unit.js +0 -4
  222. package/test/media/region_observer_unit.js +1 -6
  223. package/test/media/region_timeline_unit.js +0 -3
  224. package/test/media/segment_index_unit.js +0 -6
  225. package/test/media/segment_reference_unit.js +0 -3
  226. package/test/media/stall_detector_unit.js +0 -5
  227. package/test/media/streaming_engine_integration.js +11 -36
  228. package/test/media/streaming_engine_unit.js +11 -35
  229. package/test/media/time_ranges_utils_unit.js +0 -2
  230. package/test/media/transmuxer_integration.js +0 -6
  231. package/test/media/webm_segment_index_parser_unit.js +0 -4
  232. package/test/net/data_uri_plugin_unit.js +0 -7
  233. package/test/net/http_plugin_unit.js +0 -9
  234. package/test/net/networking_engine_unit.js +0 -11
  235. package/test/offline/download_progress_estimator_unit.js +0 -2
  236. package/test/offline/indexeddb_storage_unit.js +1 -7
  237. package/test/offline/manifest_convert_unit.js +0 -8
  238. package/test/offline/offline_integration.js +1 -10
  239. package/test/offline/offline_manifest_parser_unit.js +0 -6
  240. package/test/offline/offline_scheme_unit.js +0 -8
  241. package/test/offline/offline_uri_unit.js +0 -2
  242. package/test/offline/storage_compatibility_unit.js +2 -15
  243. package/test/offline/storage_integration.js +1 -27
  244. package/test/player_external.js +9 -11
  245. package/test/player_integration.js +28 -38
  246. package/test/player_load_graph_integration.js +1 -6
  247. package/test/player_src_equals_external.js +3 -9
  248. package/test/player_src_equals_integration.js +81 -90
  249. package/test/player_unit.js +150 -38
  250. package/test/routing/walker_unit.js +0 -8
  251. package/test/test/assets/large_file.mpd +1 -1
  252. package/test/test/boot.js +84 -22
  253. package/test/test/externs/filters.js +4 -0
  254. package/test/test/externs/jasmine.js +2 -2
  255. package/test/test/externs/karma.js +4 -0
  256. package/test/test/namespace.js +10 -0
  257. package/test/test/util/canned_idb.js +0 -8
  258. package/test/test/util/cea_utils.js +0 -6
  259. package/test/test/util/dash_parser_util.js +0 -13
  260. package/test/test/util/fake_ad.js +0 -3
  261. package/test/test/util/fake_ad_manager.js +0 -9
  262. package/test/test/util/fake_demo_main.js +0 -5
  263. package/test/test/util/fake_drm_engine.js +0 -6
  264. package/test/test/util/fake_media_source_engine.js +0 -7
  265. package/test/test/util/fake_networking_engine.js +0 -5
  266. package/test/test/util/fake_text_displayer.js +0 -5
  267. package/test/test/util/indexeddb_utils.js +1 -10
  268. package/test/test/util/jasmine_fetch.js +0 -1
  269. package/test/test/util/loader.js +0 -18
  270. package/test/test/util/manifest_generator.js +9 -14
  271. package/test/test/util/manifest_parser_util.js +0 -6
  272. package/test/test/util/offline_utils.js +0 -5
  273. package/test/test/util/simple_fakes.js +40 -28
  274. package/test/test/util/stream_generator.js +0 -14
  275. package/test/test/util/streaming_engine_util.js +0 -15
  276. package/test/test/util/test_scheme.js +1 -19
  277. package/test/test/util/ttml_utils.js +0 -2
  278. package/test/test/util/ui_utils.js +0 -9
  279. package/test/test/util/util.js +5 -19
  280. package/test/test/util/waiter.js +84 -43
  281. package/test/text/cue_integration.js +0 -4
  282. package/test/text/lrc_text_parser_unit.js +0 -4
  283. package/test/text/mp4_ttml_parser_unit.js +0 -6
  284. package/test/text/mp4_vtt_parser_unit.js +1 -7
  285. package/test/text/sbv_text_parser_unit.js +0 -4
  286. package/test/text/simple_text_displayer_unit.js +1 -8
  287. package/test/text/srt_text_parser_unit.js +0 -4
  288. package/test/text/ssa_text_parser_unit.js +0 -5
  289. package/test/text/text_engine_unit.js +2 -7
  290. package/test/text/text_track_integration.js +0 -2
  291. package/test/text/ttml_text_parser_unit.js +2 -11
  292. package/test/text/ui_text_displayer_unit.js +44 -41
  293. package/test/text/vtt_text_parser_unit.js +0 -9
  294. package/test/text/web_vtt_generator_unit.js +0 -3
  295. package/test/ui/ad_ui_unit.js +0 -11
  296. package/test/ui/localization_unit.js +0 -3
  297. package/test/ui/text_displayer_layout_unit.js +1 -12
  298. package/test/ui/ui_customization_unit.js +0 -6
  299. package/test/ui/ui_integration.js +0 -16
  300. package/test/ui/ui_unit.js +1 -17
  301. package/test/util/abortable_operation_unit.js +4 -9
  302. package/test/util/array_utils_unit.js +0 -2
  303. package/test/util/buffer_utils_unit.js +0 -2
  304. package/test/util/cmcd_manager_unit.js +0 -3
  305. package/test/util/data_view_reader_unit.js +0 -4
  306. package/test/util/ebml_parser_unit.js +0 -4
  307. package/test/util/event_manager_unit.js +0 -3
  308. package/test/util/fake_event_target_unit.js +0 -5
  309. package/test/util/functional_unit.js +1 -1
  310. package/test/util/iterables_unit.js +0 -64
  311. package/test/util/language_utils_unit.js +0 -3
  312. package/test/util/manifest_parser_utils_unit.js +0 -2
  313. package/test/util/mime_utils_unit.js +54 -0
  314. package/test/util/mp4_box_parsers_unit.js +0 -5
  315. package/test/util/mp4_parser_unit.js +0 -4
  316. package/test/util/multi_map_unit.js +0 -3
  317. package/test/util/object_utils_unit.js +0 -2
  318. package/test/util/periods_unit.js +93 -7
  319. package/test/util/pssh_unit.js +0 -5
  320. package/test/util/state_history_unit.js +0 -2
  321. package/test/util/stream_utils_unit.js +3 -8
  322. package/test/util/string_utils_unit.js +0 -6
  323. package/test/util/text_parser_unit.js +0 -2
  324. package/test/util/xml_utils_unit.js +0 -4
  325. package/ui/less/ad_controls.less +6 -6
  326. package/ui/less/buttons.less +6 -6
  327. package/ui/less/containers.less +13 -15
  328. package/ui/less/overflow_menu.less +4 -4
  329. package/ui/less/range_elements.less +7 -2
  330. package/ui/less/tooltip.less +4 -4
  331. package/ui/locales/sjn-translations.yaml +257 -0
  332. package/ui/locales/sjn.json +42 -0
  333. package/ui/seek_bar.js +2 -1
  334. package/.github/workflows/build_and_test.yaml +0 -73
  335. package/.github/workflows/release.yaml +0 -53
  336. package/docs/tutorials/gsoc-ideas-list.md +0 -3
  337. package/externs/svgelement.js +0 -18
  338. package/externs/webcrypto.js +0 -18
  339. package/lib/util/mutex.js +0 -52
@@ -4,13 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('goog.asserts');
8
- goog.require('shaka.test.Dash');
9
- goog.require('shaka.test.FakeNetworkingEngine');
10
- goog.require('shaka.test.Util');
11
- goog.require('shaka.util.Error');
12
- goog.requireType('shaka.dash.DashParser');
13
-
14
7
  describe('DashParser SegmentBase', () => {
15
8
  const Dash = shaka.test.Dash;
16
9
 
@@ -308,7 +301,7 @@ describe('DashParser SegmentBase', () => {
308
301
  expect(reference.endTime).toBe(10); // would be 12 without PTO
309
302
  });
310
303
 
311
- // https://github.com/google/shaka-player/issues/3230
304
+ // https://github.com/shaka-project/shaka-player/issues/3230
312
305
  it('works with multi-Period with eviction', async () => {
313
306
  const source = [
314
307
  '<MPD mediaPresentationDuration="PT75S">',
@@ -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.Dash');
9
- goog.require('shaka.test.FakeNetworkingEngine');
10
- goog.require('shaka.test.ManifestParser');
11
- goog.require('shaka.util.Error');
12
-
13
7
  describe('DashParser SegmentList', () => {
14
8
  const Dash = shaka.test.Dash;
15
9
  const ManifestParser = shaka.test.ManifestParser;
@@ -308,7 +302,7 @@ describe('DashParser SegmentList', () => {
308
302
  });
309
303
  });
310
304
 
311
- // https://github.com/google/shaka-player/issues/3230
305
+ // https://github.com/shaka-project/shaka-player/issues/3230
312
306
  it('works with multi-Period with eviction', async () => {
313
307
  const setFormat = [
314
308
  ' <AdaptationSet mimeType="video/mp4">',
@@ -4,15 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('goog.asserts');
8
- goog.require('shaka.test.Dash');
9
- goog.require('shaka.test.FakeNetworkingEngine');
10
- goog.require('shaka.test.ManifestParser');
11
- goog.require('shaka.test.Util');
12
- goog.require('shaka.util.Error');
13
- goog.require('shaka.util.PlayerConfiguration');
14
- goog.requireType('shaka.dash.DashParser');
15
-
16
7
  describe('DashParser SegmentTemplate', () => {
17
8
  const Dash = shaka.test.Dash;
18
9
  const ManifestParser = shaka.test.ManifestParser;
@@ -4,14 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('shaka.dash.MpdUtils');
8
- goog.require('shaka.net.NetworkingEngine');
9
- goog.require('shaka.test.FakeNetworkingEngine');
10
- goog.require('shaka.test.Util');
11
- goog.require('shaka.util.Error');
12
- goog.require('shaka.util.Iterables');
13
- goog.requireType('shaka.util.PublicPromise');
14
-
15
7
  describe('MpdUtils', () => {
16
8
  const MpdUtils = shaka.dash.MpdUtils;
17
9
 
@@ -384,7 +376,7 @@ describe('MpdUtils', () => {
384
376
 
385
377
  it('adjust start time w/ t missing', () => {
386
378
  // No S@t is equivalent to t=0, which should use PTO to make negative.
387
- // See https://github.com/google/shaka-player/issues/2590
379
+ // See https://github.com/shaka-project/shaka-player/issues/2590
388
380
  const timePoints = [
389
381
  createTimePoint(null, 10, 0),
390
382
  createTimePoint(10, 10, 0),
@@ -536,7 +528,7 @@ describe('MpdUtils', () => {
536
528
  '<ToReplace xlink:href="https://xlink0" xlink:actuate="onLoad" />');
537
529
  // Create a large but finite number of links, so this won't
538
530
  // infinitely recurse if there isn't a depth limit.
539
- for (const i of shaka.util.Iterables.range(20)) {
531
+ for (let i = 0; i < 20; i++) {
540
532
  const key = 'https://xlink' + i;
541
533
  const value = makeRecursiveXMLString(0, 'https://xlink' + (i + 1));
542
534
 
@@ -659,7 +651,7 @@ describe('MpdUtils', () => {
659
651
  '<ToReplace xlink:href="https://xlink0" xlink:actuate="onLoad" />');
660
652
  // Create a few links. This is few enough that it would succeed if we
661
653
  // didn't abort it.
662
- for (const i of shaka.util.Iterables.range(4)) {
654
+ for (let i = 0; i < 4; i++) {
663
655
  const key = 'https://xlink' + i;
664
656
  const value = makeRecursiveXMLString(0, 'https://xlink' + (i + 1));
665
657
 
@@ -4,11 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('shaka.test.FakeDemoMain');
8
- goog.require('shaka.test.Util');
9
- goog.require('shaka.util.StringUtils');
10
- goog.require('shakaDemo.MessageIds');
11
-
12
7
  describe('Demo', () => {
13
8
  beforeEach(() => {
14
9
  // Make mock versions of misc third-party libraries.
@@ -4,10 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('shaka.deprecate.Enforcer');
8
- goog.require('shaka.deprecate.Version');
9
- goog.require('shaka.test.Util');
10
-
11
7
  describe('Enforcer', () => {
12
8
  const Enforcer = shaka.deprecate.Enforcer;
13
9
  const Version = shaka.deprecate.Version;
@@ -4,8 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('shaka.deprecate.Version');
8
-
9
7
  describe('Version', () => {
10
8
  const Version = shaka.deprecate.Version;
11
9
 
@@ -4,18 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('goog.asserts');
8
- goog.require('shaka.hls.HlsParser');
9
- goog.require('shaka.net.NetworkingEngine');
10
- goog.require('shaka.test.FakeNetworkingEngine');
11
- goog.require('shaka.test.ManifestParser');
12
- goog.require('shaka.test.Util');
13
- goog.require('shaka.util.Functional');
14
- goog.require('shaka.util.Iterables');
15
- goog.require('shaka.util.PlayerConfiguration');
16
- goog.require('shaka.util.Uint8ArrayUtils');
17
- goog.requireType('shaka.util.PublicPromise');
18
-
19
7
  describe('HlsParser live', () => {
20
8
  const ManifestParser = shaka.test.ManifestParser;
21
9
 
@@ -437,8 +425,8 @@ describe('HlsParser live', () => {
437
425
  '#EXT-X-MAP:URI="init.mp4",BYTERANGE="616@0"\n',
438
426
  '#EXT-X-MEDIA-SEQUENCE:0\n',
439
427
  ].join('');
440
- for (const _ of shaka.util.Iterables.range(1000)) {
441
- shaka.util.Functional.ignored(_);
428
+
429
+ for (let i = 0; i < 1000; i++) {
442
430
  mediaWithManySegments += '#EXTINF:2,\n';
443
431
  mediaWithManySegments += 'main.mp4\n';
444
432
  }
@@ -711,6 +699,32 @@ describe('HlsParser live', () => {
711
699
  ManifestParser.verifySegmentIndex(video, [ref, ref2]);
712
700
  });
713
701
 
702
+ // Test for https://github.com/shaka-project/shaka-player/issues/4185
703
+ it('does not fail on preload hints with LL mode off', async () => {
704
+ // LL mode must be off for this test!
705
+ playerInterface.isLowLatencyMode = () => false;
706
+
707
+ const mediaWithPartialSegments = [
708
+ '#EXTM3U\n',
709
+ '#EXT-X-TARGETDURATION:5\n',
710
+ '#EXT-X-MAP:URI="init.mp4",BYTERANGE="616@0"\n',
711
+ '#EXTINF:4,\n',
712
+ 'main.mp4\n',
713
+ '#EXT-X-PART:DURATION=2,URI="partial.mp4",BYTERANGE=210@0\n',
714
+ '#EXT-X-PRELOAD-HINT:TYPE=PART,URI="partial.mp4",BYTERANGE-START=210\n',
715
+ ].join('');
716
+
717
+ fakeNetEngine
718
+ .setResponseText('test:/master', master)
719
+ .setResponseText('test:/video', mediaWithPartialSegments)
720
+ .setResponseValue('test:/init.mp4', initSegmentData)
721
+ .setResponseValue('test:/main.mp4', segmentData)
722
+ .setResponseValue('test:/partial.mp4', segmentData);
723
+
724
+ // If this throws, the test fails. Otherwise, it passes.
725
+ await parser.start('test:/master', playerInterface);
726
+ });
727
+
714
728
  describe('update', () => {
715
729
  it('adds new segments when they appear', async () => {
716
730
  const ref1 = ManifestParser.makeReference('test:/main.mp4', 2, 4);
@@ -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.hls.HlsParser');
9
- goog.require('shaka.log');
10
- goog.require('shaka.net.NetworkingEngine');
11
- goog.require('shaka.test.FakeNetworkingEngine');
12
- goog.require('shaka.test.ManifestGenerator');
13
- goog.require('shaka.test.ManifestParser');
14
- goog.require('shaka.test.Util');
15
- goog.require('shaka.util.Error');
16
- goog.require('shaka.util.ManifestParserUtils');
17
- goog.require('shaka.util.PlayerConfiguration');
18
- goog.require('shaka.util.Uint8ArrayUtils');
19
-
20
7
  describe('HlsParser', () => {
21
8
  const ContentType = shaka.util.ManifestParserUtils.ContentType;
22
9
  const ManifestParser = shaka.test.ManifestParser;
@@ -2944,7 +2931,7 @@ describe('HlsParser', () => {
2944
2931
  expect(audio0).toBe(audio1);
2945
2932
  });
2946
2933
 
2947
- // https://github.com/google/shaka-player/issues/1664
2934
+ // https://github.com/shaka-project/shaka-player/issues/1664
2948
2935
  it('correctly resolves relative playlist URIs', async () => {
2949
2936
  const master = [
2950
2937
  '#EXTM3U\n',
@@ -2987,7 +2974,7 @@ describe('HlsParser', () => {
2987
2974
  expect(manifest.variants.length).toBe(1);
2988
2975
  });
2989
2976
 
2990
- // https://github.com/google/shaka-player/issues/1908
2977
+ // https://github.com/shaka-project/shaka-player/issues/1908
2991
2978
  it('correctly pairs variants with multiple video and audio', async () => {
2992
2979
  const master = [
2993
2980
  '#EXTM3U\n',
@@ -4,16 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
-
8
- goog.require('shaka.hls.Attribute');
9
- goog.require('shaka.hls.ManifestTextParser');
10
- goog.require('shaka.hls.PlaylistType');
11
- goog.require('shaka.hls.Segment');
12
- goog.require('shaka.hls.Tag');
13
- goog.require('shaka.test.Util');
14
- goog.require('shaka.util.Error');
15
- goog.require('shaka.util.StringUtils');
16
-
17
7
  describe('ManifestTextParser', () => {
18
8
  /** @type {!shaka.hls.ManifestTextParser} */
19
9
  let parser;
@@ -248,6 +238,25 @@ describe('ManifestTextParser', () => {
248
238
  '#EXTM3U\n' +
249
239
  '#EXT-X-MEDIA:CODECS="avc1.64002a,mp4a.40.2",AUDIO="a1,a2"',
250
240
 
241
+ // manifest URI:
242
+ 'https://test/manifest.m3u8');
243
+
244
+ verifyPlaylist(
245
+ {
246
+ type: shaka.hls.PlaylistType.MASTER,
247
+ tags: [
248
+ new shaka.hls.Tag(/* id= */ 3, 'EXT-X-MEDIA',
249
+ [
250
+ new shaka.hls.Attribute('CODECS',
251
+ 'av01.0.08M.08,mp4a.40.2'),
252
+ ]),
253
+ ],
254
+ },
255
+
256
+ // playlist text:
257
+ '#EXTM3U\n' +
258
+ '#EXT-X-MEDIA:CODECS="av01.0.08M.08,mp4a.40.2"',
259
+
251
260
  // manifest URI:
252
261
  'https://test/manifest.m3u8');
253
262
  });
@@ -4,10 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('shaka.media.PreferenceBasedCriteria');
8
- goog.require('shaka.test.ManifestGenerator');
9
- goog.requireType('shaka.media.AdaptationSet');
10
-
11
7
  describe('AdaptationSetCriteria', () => {
12
8
  describe('preference based selection', () => {
13
9
  it('chooses variants in user\'s preferred language', () => {
@@ -84,7 +80,7 @@ describe('AdaptationSetCriteria', () => {
84
80
  });
85
81
 
86
82
  it('chooses only one role, even if none is preferred', () => {
87
- // Regression test for https://github.com/google/shaka-player/issues/949
83
+ // Regression test for https://github.com/shaka-project/shaka-player/issues/949
88
84
  const manifest = shaka.test.ManifestGenerator.generate((manifest) => {
89
85
  manifest.addVariant(1, (variant) => {
90
86
  variant.language = 'en';
@@ -136,7 +132,7 @@ describe('AdaptationSetCriteria', () => {
136
132
  });
137
133
 
138
134
  it('chooses only one role, even if all are primary', () => {
139
- // Regression test for https://github.com/google/shaka-player/issues/949
135
+ // Regression test for https://github.com/shaka-project/shaka-player/issues/949
140
136
  const manifest = shaka.test.ManifestGenerator.generate((manifest) => {
141
137
  manifest.addVariant(1, (variant) => {
142
138
  variant.language = 'en';
@@ -194,7 +190,7 @@ describe('AdaptationSetCriteria', () => {
194
190
  });
195
191
 
196
192
  it('chooses only one language, even if all are primary', () => {
197
- // Regression test for https://github.com/google/shaka-player/issues/918
193
+ // Regression test for https://github.com/shaka-project/shaka-player/issues/918
198
194
  const manifest = shaka.test.ManifestGenerator.generate((manifest) => {
199
195
  manifest.addVariant(1, (variant) => {
200
196
  variant.language = 'en';
@@ -4,8 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('shaka.media.AdaptationSet');
8
-
9
7
  describe('AdaptationSet', () => {
10
8
  describe('roles', () => {
11
9
  const mimeType = 'mime-type';
@@ -4,9 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('shaka.media.BufferingObserver');
8
- goog.require('shaka.util.Iterables');
9
-
10
7
  describe('BufferingObserver', () => {
11
8
  const BufferingObserver = shaka.media.BufferingObserver;
12
9
  const State = shaka.media.BufferingObserver.State;
@@ -115,7 +112,7 @@ describe('BufferingObserver', () => {
115
112
  /** @type {boolean} */
116
113
  let changed;
117
114
 
118
- for (const lead of shaka.util.Iterables.range(5)) {
115
+ for (let lead = 0; lead < 5; lead++) {
119
116
  changed = controller.update(lead, /* toEnd= */ false);
120
117
  expect(changed).toBeFalsy();
121
118
  }
@@ -4,9 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('shaka.media.ClosedCaptionParser');
8
- goog.require('shaka.test.Util');
9
-
10
7
  describe('ClosedCaptionParser', () => {
11
8
  it('can handle empty caption packets', async () => {
12
9
  const initSegment = await shaka.test.Util.fetch(
@@ -4,21 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('shaka.media.DrmEngine');
8
- goog.require('shaka.media.MediaSourceEngine');
9
- goog.require('shaka.net.NetworkingEngine');
10
- goog.require('shaka.test.FakeClosedCaptionParser');
11
- goog.require('shaka.test.FakeTextDisplayer');
12
- goog.require('shaka.test.ManifestGenerator');
13
- goog.require('shaka.test.UiUtils');
14
- goog.require('shaka.test.Util');
15
- goog.require('shaka.test.Waiter');
16
- goog.require('shaka.util.EventManager');
17
- goog.require('shaka.util.ManifestParserUtils');
18
- goog.require('shaka.util.Platform');
19
- goog.require('shaka.util.PlayerConfiguration');
20
- goog.require('shaka.util.PublicPromise');
21
-
22
7
  describe('DrmEngine', () => {
23
8
  const ContentType = shaka.util.ManifestParserUtils.ContentType;
24
9
 
@@ -271,6 +256,7 @@ describe('DrmEngine', () => {
271
256
  video.play();
272
257
 
273
258
  const waiter = new shaka.test.Waiter(eventManager).timeoutAfter(15);
259
+ waiter.setMediaSourceEngine(mediaSourceEngine);
274
260
  await waiter.waitForMovement(video);
275
261
 
276
262
  // Something should have played by now.
@@ -351,6 +337,7 @@ describe('DrmEngine', () => {
351
337
  video.play();
352
338
 
353
339
  const waiter = new shaka.test.Waiter(eventManager).timeoutAfter(15);
340
+ waiter.setMediaSourceEngine(mediaSourceEngine);
354
341
  await waiter.waitForMovement(video);
355
342
 
356
343
  // Something should have played by now.
@@ -4,26 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('shaka.log');
8
- goog.require('shaka.media.DrmEngine');
9
- goog.require('shaka.media.Transmuxer');
10
- goog.require('shaka.net.DataUriPlugin');
11
- goog.require('shaka.net.NetworkingEngine');
12
- goog.require('shaka.test.FakeNetworkingEngine');
13
- goog.require('shaka.test.FakeVideo');
14
- goog.require('shaka.test.ManifestGenerator');
15
- goog.require('shaka.test.Util');
16
- goog.require('shaka.util.AbortableOperation');
17
- goog.require('shaka.util.BufferUtils');
18
- goog.require('shaka.util.Error');
19
- goog.require('shaka.util.Platform');
20
- goog.require('shaka.util.PlayerConfiguration');
21
- goog.require('shaka.util.Platform');
22
- goog.require('shaka.util.PublicPromise');
23
- goog.require('shaka.util.StringUtils');
24
- goog.require('shaka.util.Uint8ArrayUtils');
25
-
26
-
27
7
  describe('DrmEngine', () => {
28
8
  const Util = shaka.test.Util;
29
9
 
@@ -925,7 +905,7 @@ describe('DrmEngine', () => {
925
905
  .toHaveBeenCalledWith('cenc', initData1);
926
906
  });
927
907
 
928
- // https://github.com/google/shaka-player/issues/2754
908
+ // https://github.com/shaka-project/shaka-player/issues/2754
929
909
  it('ignores duplicate init data from newInitData', async () => {
930
910
  /** @type {!Uint8Array} */
931
911
  const initData = new Uint8Array(1);
@@ -1311,7 +1291,7 @@ describe('DrmEngine', () => {
1311
1291
  expect(onKeyStatusSpy).toHaveBeenCalled();
1312
1292
  });
1313
1293
 
1314
- // See https://github.com/google/shaka-player/issues/1541
1294
+ // See https://github.com/shaka-project/shaka-player/issues/1541
1315
1295
  it('does not update public key statuses before callback', async () => {
1316
1296
  await initAndAttach();
1317
1297
 
@@ -1349,7 +1329,7 @@ describe('DrmEngine', () => {
1349
1329
  expect(keyIds.length).toBe(2);
1350
1330
  });
1351
1331
 
1352
- // See https://github.com/google/shaka-player/issues/1541
1332
+ // See https://github.com/shaka-project/shaka-player/issues/1541
1353
1333
  it('does not invoke callback until all sessions are loaded', async () => {
1354
1334
  // Set up init data overrides in the manifest so that we get multiple
1355
1335
  // sessions.
@@ -1962,7 +1942,7 @@ describe('DrmEngine', () => {
1962
1942
  // this doesn't work if the session is not callable (no license request
1963
1943
  // sent). So |session.closed| should never resolve and |session.close()|
1964
1944
  // should be rejected and destroy() should still succeed.
1965
- // https://github.com/google/shaka-player/issues/664
1945
+ // https://github.com/shaka-project/shaka-player/issues/664
1966
1946
  await initAndAttach();
1967
1947
  session1.closed = new shaka.util.PublicPromise();
1968
1948
  session2.closed = new shaka.util.PublicPromise();
@@ -4,10 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('shaka.media.ManifestParser');
8
- goog.require('shaka.net.NetworkingEngine');
9
- goog.require('shaka.test.FakeNetworkingEngine');
10
-
11
7
  const testGetMimeType = async (expertedMimeType, contentType) => {
12
8
  const netEngine = new shaka.test.FakeNetworkingEngine()
13
9
  .setHeaders('dummy://foo', {'content-type': contentType});
@@ -4,13 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('shaka.media.ClosedCaptionParser');
8
- goog.require('shaka.media.MediaSourceEngine');
9
- goog.require('shaka.test.FakeTextDisplayer');
10
- goog.require('shaka.test.TestScheme');
11
- goog.require('shaka.test.UiUtils');
12
- goog.require('shaka.util.ManifestParserUtils');
13
-
14
7
  describe('MediaSourceEngine', () => {
15
8
  const ContentType = shaka.util.ManifestParserUtils.ContentType;
16
9
  const presentationDuration = 840;
@@ -110,6 +103,7 @@ describe('MediaSourceEngine', () => {
110
103
  return {
111
104
  mimeType: streamMetadata.mimeType,
112
105
  codecs: streamMetadata.codecs,
106
+ drmInfos: [],
113
107
  };
114
108
  }
115
109
 
@@ -4,19 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
-
8
- goog.require('goog.asserts');
9
- goog.require('shaka.media.MediaSourceEngine');
10
- goog.require('shaka.media.Transmuxer');
11
- goog.require('shaka.test.FakeClosedCaptionParser');
12
- goog.require('shaka.test.FakeTextDisplayer');
13
- goog.require('shaka.test.FakeTransmuxer');
14
- goog.require('shaka.test.StatusPromise');
15
- goog.require('shaka.test.Util');
16
- goog.require('shaka.text.TextEngine');
17
- goog.require('shaka.util.Error');
18
- goog.require('shaka.util.ManifestParserUtils');
19
-
20
7
  /**
21
8
  * @typedef {{
22
9
  * length: number,
@@ -62,10 +49,10 @@ describe('MediaSourceEngine', () => {
62
49
  const buffer2 = /** @type {!ArrayBuffer} */ (/** @type {?} */ (2));
63
50
  const buffer3 = /** @type {!ArrayBuffer} */ (/** @type {?} */ (3));
64
51
 
65
- const fakeVideoStream = {mimeType: 'video/foo'};
66
- const fakeAudioStream = {mimeType: 'audio/foo'};
67
- const fakeTextStream = {mimeType: 'text/foo'};
68
- const fakeTransportStream = {mimeType: 'tsMimetype'};
52
+ const fakeVideoStream = {mimeType: 'video/foo', drmInfos: []};
53
+ const fakeAudioStream = {mimeType: 'audio/foo', drmInfos: []};
54
+ const fakeTextStream = {mimeType: 'text/foo', drmInfos: []};
55
+ const fakeTransportStream = {mimeType: 'tsMimetype', drmInfos: []};
69
56
 
70
57
  let audioSourceBuffer;
71
58
  let videoSourceBuffer;
@@ -1127,7 +1114,7 @@ describe('MediaSourceEngine', () => {
1127
1114
  expect(mockTextEngine.destroy).toHaveBeenCalled();
1128
1115
  });
1129
1116
 
1130
- // Regression test for https://github.com/google/shaka-player/issues/984
1117
+ // Regression test for https://github.com/shaka-project/shaka-player/issues/984
1131
1118
  it('destroys TextDisplayer on destroy', async () => {
1132
1119
  await mediaSourceEngine.destroy();
1133
1120
  expect(mockTextDisplayer.destroySpy).toHaveBeenCalled();
@@ -4,10 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('shaka.media.Mp4SegmentIndexParser');
8
- goog.require('shaka.test.Util');
9
- goog.require('shaka.util.Error');
10
-
11
7
  describe('Mp4SegmentIndexParser', () => {
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
-
8
- goog.require('shaka.media.PlayRateController');
9
- goog.require('shaka.test.Util');
10
-
11
7
  describe('PlayRateController', () => {
12
8
  /** @type {!jasmine.Spy} */
13
9
  let getPlayRateSpy;
@@ -4,14 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
-
8
- goog.require('shaka.media.MediaSourcePlayhead');
9
- goog.require('shaka.test.FakePresentationTimeline');
10
- goog.require('shaka.test.FakeVideo');
11
- goog.require('shaka.test.Util');
12
- goog.require('shaka.util.PlayerConfiguration');
13
- goog.requireType('shaka.media.Playhead');
14
-
15
7
  /**
16
8
  * @typedef {{start: number, end: number}}
17
9
  *
@@ -332,8 +324,8 @@ describe('Playhead', () => {
332
324
  });
333
325
 
334
326
  // This is important for recovering from drift.
335
- // See: https://github.com/google/shaka-player/issues/1105
336
- // TODO: Re-evaluate after https://github.com/google/shaka-player/issues/999
327
+ // See: https://github.com/shaka-project/shaka-player/issues/1105
328
+ // TODO: Re-evaluate after https://github.com/shaka-project/shaka-player/issues/999
337
329
  it('does not change once the initial position is set', () => {
338
330
  timeline.isLive.and.returnValue(true);
339
331
  timeline.getDuration.and.returnValue(Infinity);
@@ -781,9 +773,9 @@ describe('Playhead', () => {
781
773
  }); // clamps playhead even before seeking completes
782
774
 
783
775
  // Regression test for:
784
- // - https://github.com/google/shaka-player/pull/2849
785
- // - https://github.com/google/shaka-player/issues/2748
786
- // - https://github.com/google/shaka-player/issues/2848
776
+ // - https://github.com/shaka-project/shaka-player/pull/2849
777
+ // - https://github.com/shaka-project/shaka-player/issues/2748
778
+ // - https://github.com/shaka-project/shaka-player/issues/2848
787
779
  it('does not apply seek range before initial seek has completed', () => {
788
780
  // These attributes allow the seek range callback to do its thing.
789
781
  video.readyState = HTMLMediaElement.HAVE_METADATA;
@@ -1236,7 +1228,7 @@ describe('Playhead', () => {
1236
1228
  it('works with rounding errors when seeking', () => {
1237
1229
  // If the browser sets the time to slightly before where we seek to, we
1238
1230
  // shouldn't get stuck in an infinite loop trying to jump the tiny gap.
1239
- // https://github.com/google/shaka-player/issues/1309
1231
+ // https://github.com/shaka-project/shaka-player/issues/1309
1240
1232
  const buffered = [{start: 10, end: 20}];
1241
1233
  video.buffered = createFakeBuffered(buffered);
1242
1234
  video.readyState = HTMLMediaElement.HAVE_METADATA;
@@ -1295,7 +1287,7 @@ describe('Playhead', () => {
1295
1287
  expect(video.currentTime).toBe(5);
1296
1288
  });
1297
1289
 
1298
- // Regression test for https://github.com/google/shaka-player/issues/2987
1290
+ // Regression test for https://github.com/shaka-project/shaka-player/issues/2987
1299
1291
  it('does gap jump if paused at 0 and has autoplay', () => {
1300
1292
  const buffered = [{start: 10, end: 20}];
1301
1293
  video.buffered = createFakeBuffered(buffered);
@@ -1320,7 +1312,7 @@ describe('Playhead', () => {
1320
1312
  expect(video.currentTime).toBe(10);
1321
1313
  });
1322
1314
 
1323
- // Regression test for https://github.com/google/shaka-player/issues/3451
1315
+ // Regression test for https://github.com/shaka-project/shaka-player/issues/3451
1324
1316
  it('doesn\'t gap jump if paused at 0 and hasn\'t autoplay', () => {
1325
1317
  const buffered = [{start: 10, end: 20}];
1326
1318
  video.buffered = createFakeBuffered(buffered);