shaka-player 3.3.2 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (389) 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 +37 -0
  8. package/.github/workflows/nightly-demo.yaml +42 -0
  9. package/.github/workflows/release-please.yaml +168 -0
  10. package/.github/workflows/safari-homedir-launcher.sh +18 -0
  11. package/.github/workflows/selenium-lab-tests.yaml +92 -0
  12. package/.github/workflows/sync-labels.yaml +33 -0
  13. package/.github/workflows/update-issues.yaml +29 -0
  14. package/.github/workflows/validate-pr-title.yaml +35 -0
  15. package/AUTHORS +3 -0
  16. package/CHANGELOG.md +1866 -1675
  17. package/CONTRIBUTING.md +2 -2
  18. package/CONTRIBUTORS +3 -0
  19. package/README.md +16 -13
  20. package/app-engine/README.md +9 -0
  21. package/app-engine/demo-version-index/README.md +14 -0
  22. package/app-engine/demo-version-index/app.yaml +28 -0
  23. package/app-engine/demo-version-index/generate.py +164 -0
  24. package/app-engine/demo-version-index/main.py +11 -0
  25. package/app-engine/demo-version-index/requirements.txt +5 -0
  26. package/app-engine/demo-version-index/templates/index.html +114 -0
  27. package/app-engine/shaka-player-demo/README.md +18 -0
  28. package/app-engine/shaka-player-demo/app.yaml +61 -0
  29. package/app-engine/shaka-player-demo/main.py +95 -0
  30. package/app-engine/shaka-player-demo/posters/10yo.png +0 -0
  31. package/app-engine/shaka-player-demo/posters/10yo.xcf +0 -0
  32. package/app-engine/shaka-player-demo/posters/1yo.jpg +0 -0
  33. package/app-engine/shaka-player-demo/posters/2yo.png +0 -0
  34. package/app-engine/shaka-player-demo/posters/2yo.xcf +0 -0
  35. package/app-engine/shaka-player-demo/posters/3yo.png +0 -0
  36. package/app-engine/shaka-player-demo/posters/3yo.xcf +0 -0
  37. package/app-engine/shaka-player-demo/posters/4yo.png +0 -0
  38. package/app-engine/shaka-player-demo/posters/4yo.xcf +0 -0
  39. package/app-engine/shaka-player-demo/posters/5yo.png +0 -0
  40. package/app-engine/shaka-player-demo/posters/5yo.xcf +0 -0
  41. package/app-engine/shaka-player-demo/posters/6yo.png +0 -0
  42. package/app-engine/shaka-player-demo/posters/6yo.xcf +0 -0
  43. package/app-engine/shaka-player-demo/posters/7yo.png +0 -0
  44. package/app-engine/shaka-player-demo/posters/7yo.xcf +0 -0
  45. package/app-engine/shaka-player-demo/posters/8yo.png +0 -0
  46. package/app-engine/shaka-player-demo/posters/8yo.xcf +0 -0
  47. package/app-engine/shaka-player-demo/posters/9yo.png +0 -0
  48. package/app-engine/shaka-player-demo/posters/9yo.xcf +0 -0
  49. package/app-engine/shaka-player-demo/posters/audioOnly.gif +0 -0
  50. package/app-engine/shaka-player-demo/posters/audioRickRoll.gif +0 -0
  51. package/app-engine/shaka-player-demo/posters/colorbars.gif +0 -0
  52. package/app-engine/shaka-player-demo/posters/fireworks.jpg +0 -0
  53. package/app-engine/shaka-player-demo/posters/party-hat.png +0 -0
  54. package/app-engine/shaka-player-demo/posters/sources.txt +46 -0
  55. package/app-engine/shaka-player-demo/posters/standard.png +0 -0
  56. package/app-engine/shaka-player-demo/posters/trek.jpg +0 -0
  57. package/app-engine/shaka-player-demo/posters/valentines.png +0 -0
  58. package/app-engine/shaka-player-demo/posters/zombie.jpg +0 -0
  59. package/app-engine/shaka-player-demo/posters.py +110 -0
  60. package/app-engine/shaka-player-demo/requirements.txt +5 -0
  61. package/app-engine/shaka-player-demo/time.txt +1 -0
  62. package/build/README.md +3 -3
  63. package/build/checkversion.py +1 -1
  64. package/build/compiler.py +1 -1
  65. package/build/conformance.textproto +13 -0
  66. package/build/docker/Dockerfile +20 -0
  67. package/build/docker/docker-compose.yml +10 -0
  68. package/build/gendeps.py +18 -15
  69. package/build/shaka-lab.yaml +161 -0
  70. package/build/shakaBuildHelpers.py +4 -29
  71. package/build/test.py +94 -29
  72. package/build/types/core +0 -1
  73. package/build/types/polyfill +1 -3
  74. package/build/wrapper.template.js +2 -2
  75. package/demo/TengwarTelcontar.woff2 +0 -0
  76. package/demo/asset_card.js +1 -2
  77. package/demo/cast_receiver/index.html +1 -1
  78. package/demo/cast_receiver/receiver_app.css +14 -14
  79. package/demo/common/asset.js +17 -1
  80. package/demo/common/assets.js +31 -0
  81. package/demo/common/message_ids.js +6 -3
  82. package/demo/config.js +10 -12
  83. package/demo/custom.js +39 -1
  84. package/demo/customWarning.txt +2 -2
  85. package/demo/demo.less +29 -18
  86. package/demo/demo_uncompiled.js +1 -13
  87. package/demo/demo_utils.js +0 -1
  88. package/demo/index.html +1 -1
  89. package/demo/locales/en.json +6 -3
  90. package/demo/locales/source.json +22 -10
  91. package/demo/main.js +12 -9
  92. package/demo/search.js +2 -1
  93. package/dist/controls.css +3 -3
  94. package/dist/controls.css.map +1 -1
  95. package/dist/demo.compiled.debug.js +236 -232
  96. package/dist/demo.compiled.debug.map +4 -4
  97. package/dist/demo.compiled.js +236 -232
  98. package/dist/demo.compiled.map +4 -4
  99. package/dist/demo.css +1 -1
  100. package/dist/demo.css.map +1 -1
  101. package/dist/deps.js +229 -226
  102. package/dist/locales.js +34 -32
  103. package/dist/receiver.compiled.debug.js +75 -73
  104. package/dist/receiver.compiled.debug.map +4 -4
  105. package/dist/receiver.compiled.js +75 -73
  106. package/dist/receiver.compiled.map +4 -4
  107. package/dist/shaka-player.compiled.d.ts +321 -314
  108. package/dist/shaka-player.compiled.debug.d.ts +321 -314
  109. package/dist/shaka-player.compiled.debug.externs.js +140 -129
  110. package/dist/shaka-player.compiled.debug.js +527 -592
  111. package/dist/shaka-player.compiled.debug.map +4 -4
  112. package/dist/shaka-player.compiled.externs.js +140 -129
  113. package/dist/shaka-player.compiled.js +836 -860
  114. package/dist/shaka-player.compiled.map +4 -4
  115. package/dist/shaka-player.ui.d.ts +367 -358
  116. package/dist/shaka-player.ui.debug.d.ts +367 -358
  117. package/dist/shaka-player.ui.debug.externs.js +148 -129
  118. package/dist/shaka-player.ui.debug.js +586 -649
  119. package/dist/shaka-player.ui.debug.map +4 -4
  120. package/dist/shaka-player.ui.externs.js +148 -129
  121. package/dist/shaka-player.ui.js +1008 -1028
  122. package/dist/shaka-player.ui.map +4 -4
  123. package/docs/design/REDESIGN.md +33 -33
  124. package/docs/design/bg-fetch.md +2 -2
  125. package/docs/design/codec_preferences.md +1 -1
  126. package/docs/design/dash-audio-channels.md +3 -3
  127. package/docs/design/dash-manifests.md +1 -1
  128. package/docs/design/gap-jumping.md +3 -3
  129. package/docs/design/preload.md +2 -2
  130. package/docs/tutorials/config.md +0 -2
  131. package/docs/tutorials/drm-config.md +5 -0
  132. package/docs/tutorials/fairplay.md +7 -22
  133. package/docs/tutorials/faq.md +8 -19
  134. package/docs/tutorials/index.json +3 -8
  135. package/docs/tutorials/plugins.md +4 -6
  136. package/docs/tutorials/selenium-grid-config.md +122 -0
  137. package/docs/tutorials/upgrade.md +83 -11
  138. package/docs/tutorials/welcome.md +10 -2
  139. package/externs/cmcd.js +1 -1
  140. package/externs/polyfill.js +15 -0
  141. package/externs/shaka/manifest.js +5 -1
  142. package/externs/shaka/net.js +12 -0
  143. package/externs/shaka/offline.js +5 -1
  144. package/externs/shaka/player.js +39 -32
  145. package/externs/shaka/text.js +12 -12
  146. package/externs/sourcebuffer.js +15 -0
  147. package/karma.conf.js +137 -30
  148. package/lib/abr/simple_abr_manager.js +12 -6
  149. package/lib/ads/client_side_ad.js +13 -2
  150. package/lib/ads/client_side_ad_manager.js +22 -4
  151. package/lib/cast/cast_proxy.js +3 -4
  152. package/lib/cast/cast_utils.js +0 -1
  153. package/lib/cea/cea608_data_channel.js +2 -2
  154. package/lib/cea/cea708_service.js +5 -4
  155. package/lib/cea/mp4_cea_parser.js +11 -5
  156. package/lib/cea/sei_processor.js +6 -3
  157. package/lib/dash/content_protection.js +85 -5
  158. package/lib/dash/dash_parser.js +10 -12
  159. package/lib/dash/mpd_utils.js +4 -5
  160. package/lib/dash/segment_list.js +1 -2
  161. package/lib/dash/segment_template.js +3 -3
  162. package/lib/hls/hls_parser.js +386 -749
  163. package/lib/hls/manifest_text_parser.js +5 -6
  164. package/lib/media/adaptation_set.js +1 -2
  165. package/lib/media/content_workarounds.js +2 -2
  166. package/lib/media/drm_engine.js +105 -55
  167. package/lib/media/gap_jumping_controller.js +10 -45
  168. package/lib/media/media_source_engine.js +90 -17
  169. package/lib/media/mp4_segment_index_parser.js +1 -4
  170. package/lib/media/playhead.js +4 -7
  171. package/lib/media/presentation_timeline.js +19 -10
  172. package/lib/media/segment_index.js +13 -46
  173. package/lib/media/segment_reference.js +47 -1
  174. package/lib/media/streaming_engine.js +35 -17
  175. package/lib/media/time_ranges_utils.js +5 -12
  176. package/lib/media/video_wrapper.js +1 -1
  177. package/lib/net/networking_engine.js +4 -1
  178. package/lib/offline/indexeddb/v1_storage_cell.js +1 -0
  179. package/lib/offline/indexeddb/v2_storage_cell.js +1 -0
  180. package/lib/offline/manifest_converter.js +1 -0
  181. package/lib/offline/storage.js +104 -136
  182. package/lib/player.js +50 -216
  183. package/lib/polyfill/all.js +2 -3
  184. package/lib/polyfill/encryption_scheme.js +1 -1
  185. package/lib/polyfill/media_capabilities.js +15 -9
  186. package/lib/polyfill/mediasource.js +0 -28
  187. package/lib/polyfill/patchedmediakeys_nop.js +2 -0
  188. package/lib/polyfill/patchedmediakeys_webkit.js +2 -0
  189. package/lib/polyfill/symbol.js +46 -0
  190. package/lib/text/cue.js +1 -7
  191. package/lib/text/lrc_text_parser.js +8 -0
  192. package/lib/text/mp4_ttml_parser.js +8 -0
  193. package/lib/text/mp4_vtt_parser.js +8 -0
  194. package/lib/text/sbv_text_parser.js +8 -0
  195. package/lib/text/simple_text_displayer.js +3 -8
  196. package/lib/text/srt_text_parser.js +8 -0
  197. package/lib/text/ssa_text_parser.js +8 -0
  198. package/lib/text/text_engine.js +19 -3
  199. package/lib/text/ttml_text_parser.js +16 -5
  200. package/lib/text/ui_text_displayer.js +2 -8
  201. package/lib/text/vtt_text_parser.js +24 -2
  202. package/lib/text/web_vtt_generator.js +1 -7
  203. package/lib/util/buffer_utils.js +1 -3
  204. package/lib/util/ebml_parser.js +3 -3
  205. package/lib/util/error.js +10 -14
  206. package/lib/util/fairplay_utils.js +109 -0
  207. package/lib/util/functional.js +0 -42
  208. package/lib/util/iterables.js +0 -46
  209. package/lib/util/mime_utils.js +2 -0
  210. package/lib/util/mp4_box_parsers.js +1 -4
  211. package/lib/util/mp4_parser.js +5 -7
  212. package/lib/util/periods.js +10 -11
  213. package/lib/util/platform.js +48 -3
  214. package/lib/util/player_configuration.js +12 -6
  215. package/lib/util/pssh.js +24 -8
  216. package/lib/util/stream_utils.js +96 -25
  217. package/lib/util/string_utils.js +3 -5
  218. package/lib/util/uint8array_utils.js +3 -21
  219. package/lib/util/xml_utils.js +16 -8
  220. package/package.json +61 -36
  221. package/roadmap.md +27 -27
  222. package/shaka-player.uncompiled.js +1 -3
  223. package/test/abr/simple_abr_manager_unit.js +3 -8
  224. package/test/ads/ad_manager_unit.js +0 -6
  225. package/test/cast/cast_proxy_unit.js +0 -8
  226. package/test/cast/cast_receiver_integration.js +1 -18
  227. package/test/cast/cast_receiver_unit.js +1 -9
  228. package/test/cast/cast_sender_unit.js +0 -6
  229. package/test/cast/cast_utils_unit.js +1 -13
  230. package/test/cea/cea608_memory_unit.js +0 -5
  231. package/test/cea/cea708_service_unit.js +0 -7
  232. package/test/cea/cea708_window_unit.js +0 -5
  233. package/test/cea/cea_decoder_unit.js +0 -6
  234. package/test/cea/dtvcc_packet_builder_unit.js +0 -3
  235. package/test/cea/dtvcc_packet_unit.js +0 -5
  236. package/test/cea/mp4_cea_parser_unit.js +0 -4
  237. package/test/dash/dash_parser_content_protection_unit.js +45 -10
  238. package/test/dash/dash_parser_live_unit.js +2 -15
  239. package/test/dash/dash_parser_manifest_unit.js +2 -40
  240. package/test/dash/dash_parser_segment_base_unit.js +1 -8
  241. package/test/dash/dash_parser_segment_list_unit.js +1 -7
  242. package/test/dash/dash_parser_segment_template_unit.js +3 -13
  243. package/test/dash/mpd_utils_unit.js +3 -11
  244. package/test/demo/demo_unit.js +2 -6
  245. package/test/deprecate/enforcer_unit.js +0 -4
  246. package/test/deprecate/version_unit.js +0 -2
  247. package/test/hls/hls_live_unit.js +101 -234
  248. package/test/hls/hls_parser_unit.js +517 -447
  249. package/test/hls/manifest_text_parser_unit.js +0 -10
  250. package/test/media/adaptation_set_criteria_unit.js +3 -7
  251. package/test/media/adaptation_set_unit.js +0 -2
  252. package/test/media/buffering_observer_unit.js +1 -4
  253. package/test/media/closed_caption_parser_unit.js +0 -3
  254. package/test/media/drm_engine_integration.js +2 -15
  255. package/test/media/drm_engine_unit.js +90 -144
  256. package/test/media/manifest_parser_unit.js +0 -4
  257. package/test/media/media_source_engine_integration.js +26 -10
  258. package/test/media/media_source_engine_unit.js +8 -20
  259. package/test/media/mp4_segment_index_parser_unit.js +0 -4
  260. package/test/media/play_rate_controller_unit.js +0 -4
  261. package/test/media/playhead_unit.js +35 -207
  262. package/test/media/presentation_timeline_unit.js +4 -7
  263. package/test/media/quality_observer_unit.js +0 -4
  264. package/test/media/region_observer_unit.js +1 -6
  265. package/test/media/region_timeline_unit.js +0 -3
  266. package/test/media/segment_index_unit.js +15 -31
  267. package/test/media/segment_reference_unit.js +0 -3
  268. package/test/media/stall_detector_unit.js +0 -5
  269. package/test/media/streaming_engine_integration.js +13 -75
  270. package/test/media/streaming_engine_unit.js +14 -37
  271. package/test/media/time_ranges_utils_unit.js +0 -7
  272. package/test/media/transmuxer_integration.js +0 -6
  273. package/test/media/webm_segment_index_parser_unit.js +0 -4
  274. package/test/net/data_uri_plugin_unit.js +0 -7
  275. package/test/net/http_plugin_unit.js +0 -9
  276. package/test/net/networking_engine_unit.js +0 -11
  277. package/test/offline/download_progress_estimator_unit.js +0 -2
  278. package/test/offline/indexeddb_storage_unit.js +0 -6
  279. package/test/offline/manifest_convert_unit.js +34 -12
  280. package/test/offline/offline_integration.js +1 -10
  281. package/test/offline/offline_manifest_parser_unit.js +1 -6
  282. package/test/offline/offline_scheme_unit.js +0 -8
  283. package/test/offline/offline_uri_unit.js +0 -2
  284. package/test/offline/storage_compatibility_unit.js +1 -14
  285. package/test/offline/storage_integration.js +6 -31
  286. package/test/player_external.js +1 -15
  287. package/test/player_integration.js +38 -28
  288. package/test/player_load_graph_integration.js +1 -6
  289. package/test/player_src_equals_external.js +3 -9
  290. package/test/player_src_equals_integration.js +0 -7
  291. package/test/player_unit.js +78 -37
  292. package/test/routing/walker_unit.js +0 -8
  293. package/test/test/assets/large_file.mpd +1 -1
  294. package/test/test/boot.js +75 -22
  295. package/test/test/externs/jasmine.js +2 -2
  296. package/test/test/externs/karma.js +4 -0
  297. package/test/test/namespace.js +10 -0
  298. package/test/test/util/canned_idb.js +0 -8
  299. package/test/test/util/cea_utils.js +0 -6
  300. package/test/test/util/dash_parser_util.js +0 -13
  301. package/test/test/util/fake_ad.js +0 -3
  302. package/test/test/util/fake_ad_manager.js +0 -9
  303. package/test/test/util/fake_demo_main.js +0 -5
  304. package/test/test/util/fake_drm_engine.js +0 -6
  305. package/test/test/util/fake_media_source_engine.js +11 -11
  306. package/test/test/util/fake_networking_engine.js +0 -5
  307. package/test/test/util/fake_text_displayer.js +0 -5
  308. package/test/test/util/indexeddb_utils.js +1 -10
  309. package/test/test/util/jasmine_fetch.js +0 -1
  310. package/test/test/util/loader.js +0 -18
  311. package/test/test/util/manifest_generator.js +12 -15
  312. package/test/test/util/manifest_parser_util.js +4 -7
  313. package/test/test/util/offline_utils.js +1 -5
  314. package/test/test/util/simple_fakes.js +9 -26
  315. package/test/test/util/stream_generator.js +0 -14
  316. package/test/test/util/streaming_engine_util.js +1 -15
  317. package/test/test/util/test_scheme.js +25 -20
  318. package/test/test/util/ttml_utils.js +0 -2
  319. package/test/test/util/ui_utils.js +0 -9
  320. package/test/test/util/util.js +9 -23
  321. package/test/test/util/waiter.js +84 -43
  322. package/test/text/cue_integration.js +2 -6
  323. package/test/text/lrc_text_parser_unit.js +6 -11
  324. package/test/text/mp4_ttml_parser_unit.js +6 -10
  325. package/test/text/mp4_vtt_parser_unit.js +7 -12
  326. package/test/text/sbv_text_parser_unit.js +5 -10
  327. package/test/text/simple_text_displayer_unit.js +1 -8
  328. package/test/text/srt_text_parser_unit.js +5 -10
  329. package/test/text/ssa_text_parser_unit.js +17 -34
  330. package/test/text/text_engine_unit.js +47 -12
  331. package/test/text/text_track_integration.js +0 -2
  332. package/test/text/ttml_text_parser_unit.js +79 -88
  333. package/test/text/ui_text_displayer_unit.js +44 -41
  334. package/test/text/vtt_text_parser_unit.js +55 -66
  335. package/test/text/web_vtt_generator_unit.js +0 -3
  336. package/test/ui/ad_ui_unit.js +0 -11
  337. package/test/ui/localization_unit.js +0 -3
  338. package/test/ui/text_displayer_layout_unit.js +1 -12
  339. package/test/ui/ui_customization_unit.js +0 -6
  340. package/test/ui/ui_integration.js +0 -32
  341. package/test/ui/ui_unit.js +28 -17
  342. package/test/util/abortable_operation_unit.js +4 -9
  343. package/test/util/array_utils_unit.js +0 -2
  344. package/test/util/buffer_utils_unit.js +0 -2
  345. package/test/util/cmcd_manager_unit.js +3 -3
  346. package/test/util/data_view_reader_unit.js +0 -4
  347. package/test/util/ebml_parser_unit.js +0 -4
  348. package/test/util/event_manager_unit.js +0 -3
  349. package/test/util/fake_event_target_unit.js +0 -5
  350. package/test/util/iterables_unit.js +0 -64
  351. package/test/util/language_utils_unit.js +0 -3
  352. package/test/util/manifest_parser_utils_unit.js +0 -2
  353. package/test/util/mp4_box_parsers_unit.js +0 -5
  354. package/test/util/mp4_parser_unit.js +0 -4
  355. package/test/util/multi_map_unit.js +0 -3
  356. package/test/util/object_utils_unit.js +0 -2
  357. package/test/util/periods_unit.js +14 -7
  358. package/test/util/pssh_unit.js +0 -5
  359. package/test/util/state_history_unit.js +0 -2
  360. package/test/util/stream_utils_unit.js +26 -15
  361. package/test/util/string_utils_unit.js +0 -6
  362. package/test/util/text_parser_unit.js +0 -2
  363. package/test/util/xml_utils_unit.js +0 -4
  364. package/ui/controls.js +65 -40
  365. package/ui/fullscreen_button.js +26 -6
  366. package/ui/less/ad_controls.less +6 -6
  367. package/ui/less/buttons.less +6 -6
  368. package/ui/less/containers.less +10 -12
  369. package/ui/less/overflow_menu.less +4 -4
  370. package/ui/less/range_elements.less +7 -2
  371. package/ui/less/tooltip.less +4 -4
  372. package/ui/locales/en.json +1 -0
  373. package/ui/locales/sjn-translations.yaml +257 -0
  374. package/ui/locales/sjn.json +42 -0
  375. package/ui/locales/source.json +5 -0
  376. package/ui/resolution_selection.js +31 -33
  377. package/ui/seek_bar.js +2 -1
  378. package/ui/ui.js +0 -17
  379. package/.github/workflows/build_and_test.yaml +0 -73
  380. package/.github/workflows/release.yaml +0 -53
  381. package/docs/tutorials/upgrade-v2-5.md +0 -441
  382. package/docs/tutorials/upgrade-v3.md +0 -38
  383. package/externs/svgelement.js +0 -18
  384. package/externs/webcrypto.js +0 -18
  385. package/lib/polyfill/mathround.js +0 -49
  386. package/lib/polyfill/patchedmediakeys_apple.js +0 -744
  387. package/lib/polyfill/patchedmediakeys_ms.js +0 -698
  388. package/lib/util/mutex.js +0 -52
  389. package/test/util/functional_unit.js +0 -82
@@ -4,14 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('shaka.media.InitSegmentReference');
8
- goog.require('shaka.media.PresentationTimeline');
9
- goog.require('shaka.media.SegmentIndex');
10
- goog.require('shaka.offline.ManifestConverter');
11
- goog.require('shaka.offline.OfflineUri');
12
- goog.require('shaka.util.ManifestParserUtils');
13
- goog.requireType('shaka.media.SegmentReference');
14
-
15
7
  describe('ManifestConverter', () => {
16
8
  describe('createVariants', () => {
17
9
  const audioType = 'audio';
@@ -115,6 +107,7 @@ describe('ManifestConverter', () => {
115
107
  },
116
108
  appMetadata: null,
117
109
  creationTime: 0,
110
+ sequenceMode: false,
118
111
  };
119
112
 
120
113
  const manifest = createConverter().fromManifestDB(manifestDb);
@@ -151,6 +144,7 @@ describe('ManifestConverter', () => {
151
144
  createVideoStreamDB(1, [0]),
152
145
  createVideoStreamDB(2, [1]),
153
146
  ],
147
+ sequenceMode: false,
154
148
  };
155
149
 
156
150
  const manifest = createConverter().fromManifestDB(manifestDb);
@@ -178,6 +172,7 @@ describe('ManifestConverter', () => {
178
172
  createAudioStreamDB(1, [0]),
179
173
  createAudioStreamDB(2, [1]),
180
174
  ],
175
+ sequenceMode: false,
181
176
  };
182
177
 
183
178
  const manifest = createConverter().fromManifestDB(manifestDb);
@@ -190,6 +185,29 @@ describe('ManifestConverter', () => {
190
185
  expect(manifest.variants[1].video).toBe(null);
191
186
  });
192
187
 
188
+ it('supports containerless content', () => {
189
+ /** @type {shaka.extern.ManifestDB} */
190
+ const manifestDb = {
191
+ originalManifestUri: 'http://example.com/foo',
192
+ duration: 60,
193
+ size: 1234,
194
+ expiration: Infinity,
195
+ sessionIds: [],
196
+ drmInfo: null,
197
+ appMetadata: null,
198
+ creationTime: 0,
199
+ streams: [
200
+ createVideoStreamDB(1, [0]),
201
+ createAudioStreamDB(2, [0]),
202
+ ],
203
+ sequenceMode: true,
204
+ };
205
+
206
+ const manifest = createConverter().fromManifestDB(manifestDb);
207
+ expect(manifest.sequenceMode).toBe(true);
208
+ expect(manifest.variants.length).toBe(1);
209
+ });
210
+
193
211
  it('supports text streams', () => {
194
212
  /** @type {shaka.extern.ManifestDB} */
195
213
  const manifestDb = {
@@ -205,6 +223,7 @@ describe('ManifestConverter', () => {
205
223
  createVideoStreamDB(1, [0]),
206
224
  createTextStreamDB(2),
207
225
  ],
226
+ sequenceMode: false,
208
227
  };
209
228
 
210
229
  const manifest = createConverter().fromManifestDB(manifestDb);
@@ -243,6 +262,7 @@ describe('ManifestConverter', () => {
243
262
  createVideoStreamDB(video1, [variant1]),
244
263
  createVideoStreamDB(video2, [variant2, variant3]),
245
264
  ],
265
+ sequenceMode: false,
246
266
  };
247
267
 
248
268
  const manifest = createConverter().fromManifestDB(manifestDb);
@@ -517,8 +537,6 @@ describe('ManifestConverter', () => {
517
537
 
518
538
  // Assume that we don't have to call createSegmentIndex.
519
539
 
520
- const iterator = stream.segmentIndex[Symbol.iterator]();
521
-
522
540
  streamDb.segments.forEach((segmentDb, i) => {
523
541
  const uri = shaka.offline.OfflineUri.segment(
524
542
  'mechanism', 'cell', segmentDb.dataKey);
@@ -528,10 +546,14 @@ describe('ManifestConverter', () => {
528
546
  null;
529
547
 
530
548
  /** @type {shaka.media.SegmentReference} */
531
- const segment = iterator.seek(segmentDb.startTime);
549
+ const segment =
550
+ stream.segmentIndex
551
+ .getIteratorForTime(segmentDb.startTime).next().value;
532
552
 
533
553
  /** @type {shaka.media.SegmentReference} */
534
- const sameSegment = iterator.seek(segmentDb.endTime - 0.1);
554
+ const sameSegment =
555
+ stream.segmentIndex
556
+ .getIteratorForTime(segmentDb.endTime - 0.1).next().value;
535
557
 
536
558
  expect(segment).toBe(sameSegment);
537
559
  expect(segment.startTime).toBe(segmentDb.startTime);
@@ -4,16 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('goog.asserts');
8
- goog.require('shaka.Player');
9
- goog.require('shaka.offline.Storage');
10
- goog.require('shaka.test.TestScheme');
11
- goog.require('shaka.test.UiUtils');
12
- goog.require('shaka.test.Util');
13
- goog.require('shaka.test.Waiter');
14
- goog.require('shaka.util.EventManager');
15
- goog.require('shaka.util.Platform');
16
-
17
7
  /** @return {boolean} */
18
8
  const supportsStorage = () => shaka.offline.Storage.support();
19
9
 
@@ -45,6 +35,7 @@ filterDescribe('Offline', supportsStorage, () => {
45
35
 
46
36
  eventManager = new shaka.util.EventManager();
47
37
  waiter = new shaka.test.Waiter(eventManager);
38
+ waiter.setPlayer(player);
48
39
 
49
40
  // Make sure we are starting with a blank slate.
50
41
  await shaka.offline.Storage.deleteAll();
@@ -4,12 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('shaka.offline.OfflineManifestParser');
8
- goog.require('shaka.offline.OfflineUri');
9
- goog.require('shaka.offline.StorageMuxer');
10
- goog.require('shaka.test.Util');
11
- goog.require('shaka.util.Error');
12
-
13
7
  /** @return {boolean} */
14
8
  const offlineManifestParserSupport = () => shaka.offline.StorageMuxer.support();
15
9
  filterDescribe('OfflineManifestParser', offlineManifestParserSupport, () => {
@@ -216,6 +210,7 @@ filterDescribe('OfflineManifestParser', offlineManifestParserSupport, () => {
216
210
  sessionIds: [sessionId],
217
211
  drmInfo: null,
218
212
  appMetadata: {},
213
+ sequenceMode: false,
219
214
  };
220
215
 
221
216
  return manifest;
@@ -4,14 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('shaka.net.NetworkingEngine');
8
- goog.require('shaka.net.NetworkingEngine.RequestType');
9
- goog.require('shaka.offline.OfflineScheme');
10
- goog.require('shaka.offline.OfflineUri');
11
- goog.require('shaka.offline.StorageMuxer');
12
- goog.require('shaka.test.Util');
13
- goog.require('shaka.util.Error');
14
-
15
7
  /** @return {boolean} */
16
8
  const offlineSchemeSupport = () => shaka.offline.StorageMuxer.support();
17
9
  filterDescribe('OfflineScheme', offlineSchemeSupport, () => {
@@ -4,8 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('shaka.offline.OfflineUri');
8
-
9
7
  describe('OfflineUri', () => {
10
8
  const OfflineUri = shaka.offline.OfflineUri;
11
9
 
@@ -4,19 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('goog.asserts');
8
- goog.require('shaka.offline.ManifestConverter');
9
- goog.require('shaka.offline.indexeddb.V1StorageCell');
10
- goog.require('shaka.offline.indexeddb.V2StorageCell');
11
- goog.require('shaka.offline.indexeddb.V5StorageCell');
12
- goog.require('shaka.test.CannedIDB');
13
- goog.require('shaka.test.IndexedDBUtils');
14
- goog.require('shaka.test.ManifestGenerator');
15
- goog.require('shaka.test.Util');
16
- goog.require('shaka.util.Error');
17
- goog.require('shaka.util.ManifestParserUtils');
18
- goog.require('shaka.util.StringUtils');
19
-
20
7
  // All of the database dumps referenced below were originally made from the
21
8
  // "Heliocentrism" content in our demo app.
22
9
  // https://storage.googleapis.com/shaka-demo-assets/heliocentrism/heliocentrism.mpd
@@ -80,7 +67,7 @@ const compatibilityTestsMetadata = [
80
67
  // This is the v4 version of the database as written by v2.5.0 - v2.5.9. A
81
68
  // bug in v2.5 caused the stream metadata from all periods to be written to
82
69
  // each period. This was corrected in v2.5.10.
83
- // See https://github.com/google/shaka-player/issues/2389
70
+ // See https://github.com/shaka-project/shaka-player/issues/2389
84
71
  name: 'v4-broken',
85
72
  dbImagePath: '/base/test/test/assets/db-dump-v4-broken.json',
86
73
  manifestKey: 1,
@@ -4,32 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('goog.asserts');
8
- goog.require('shaka.Player');
9
- goog.require('shaka.media.DrmEngine');
10
- goog.require('shaka.media.ManifestParser');
11
- goog.require('shaka.media.SegmentIndex');
12
- goog.require('shaka.net.NetworkingEngine.RequestType');
13
- goog.require('shaka.offline.ManifestConverter');
14
- goog.require('shaka.offline.OfflineUri');
15
- goog.require('shaka.offline.Storage');
16
- goog.require('shaka.offline.StorageMuxer');
17
- goog.require('shaka.test.FakeDrmEngine');
18
- goog.require('shaka.test.FakeManifestParser');
19
- goog.require('shaka.test.FakeNetworkingEngine');
20
- goog.require('shaka.test.Loader');
21
- goog.require('shaka.test.ManifestGenerator');
22
- goog.require('shaka.test.TestScheme');
23
- goog.require('shaka.test.Util');
24
- goog.require('shaka.util.AbortableOperation');
25
- goog.require('shaka.util.BufferUtils');
26
- goog.require('shaka.util.Error');
27
- goog.require('shaka.util.EventManager');
28
- goog.require('shaka.util.PlayerConfiguration');
29
- goog.require('shaka.util.PublicPromise');
30
- goog.require('shaka.util.Uint8ArrayUtils');
31
- goog.requireType('shaka.media.SegmentReference');
32
-
33
7
  /** @return {boolean} */
34
8
  function storageSupport() {
35
9
  return shaka.offline.Storage.support();
@@ -1136,10 +1110,7 @@ filterDescribe('Storage', storageSupport, () => {
1136
1110
  aRequestIsStarted.resolve();
1137
1111
  await promise;
1138
1112
 
1139
- // All downloads for a given stream are in the same "download group",
1140
- // and will be downloaded sequentially. Thus, we expect only the first
1141
- // download to be aborted.
1142
- expect(abortCheck()).toBe(i == 0 ? true : false);
1113
+ expect(abortCheck()).toBe(true);
1143
1114
 
1144
1115
  return new ArrayBuffer(16);
1145
1116
  });
@@ -1323,7 +1294,7 @@ filterDescribe('Storage', storageSupport, () => {
1323
1294
  const testSchemeMimeType = 'application/x-test-manifest';
1324
1295
  const manifestUri = 'test:sintel';
1325
1296
 
1326
- // Regression test for https://github.com/google/shaka-player/issues/2781
1297
+ // Regression test for https://github.com/shaka-project/shaka-player/issues/2781
1327
1298
  it('does not cache failures or cancellations', async () => {
1328
1299
  /** @type {shaka.offline.Storage} */
1329
1300
  const storage = new shaka.offline.Storage();
@@ -1381,6 +1352,8 @@ filterDescribe('Storage', storageSupport, () => {
1381
1352
  pixelAspectRatio: '59:54',
1382
1353
  hdr: null,
1383
1354
  mimeType: 'video/mp4,audio/mp4',
1355
+ audioMimeType: 'audio/mp4',
1356
+ videoMimeType: 'video/mp4',
1384
1357
  codecs: 'mp4,mp4',
1385
1358
  audioCodec: 'mp4',
1386
1359
  videoCodec: 'mp4',
@@ -1423,6 +1396,8 @@ filterDescribe('Storage', storageSupport, () => {
1423
1396
  pixelAspectRatio: null,
1424
1397
  hdr: null,
1425
1398
  mimeType: 'text/vtt',
1399
+ audioMimeType: null,
1400
+ videoMimeType: null,
1426
1401
  codecs: 'vtt',
1427
1402
  audioCodec: null,
1428
1403
  videoCodec: null,
@@ -4,15 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('ShakaDemoAssetInfo');
8
- goog.require('shaka.test.Loader');
9
- goog.require('shaka.test.UiUtils');
10
- goog.require('shaka.test.Util');
11
- goog.require('shaka.test.Waiter');
12
- goog.require('shaka.util.EventManager');
13
- goog.requireType('shaka.Player');
14
- goog.requireType('shaka.net.NetworkingEngine.RequestType');
15
-
16
7
  describe('Player', () => {
17
8
  const Util = shaka.test.Util;
18
9
  const Feature = shakaAssets.Feature;
@@ -48,6 +39,7 @@ describe('Player', () => {
48
39
  // Grab event manager from the uncompiled library:
49
40
  eventManager = new shaka.util.EventManager();
50
41
  waiter = new shaka.test.Waiter(eventManager);
42
+ waiter.setPlayer(player);
51
43
 
52
44
  onErrorSpy = jasmine.createSpy('onError');
53
45
  onErrorSpy.and.callFake((event) => fail(event.detail));
@@ -115,12 +107,6 @@ describe('Player', () => {
115
107
  player.configure('manifest.dash.clockSyncUri',
116
108
  'https://shaka-player-demo.appspot.com/time.txt');
117
109
 
118
- // Make sure we don't get stuck on gaps that only appear in some
119
- // browsers (Safari, Firefox).
120
- // TODO(https://github.com/google/shaka-player/issues/1702):
121
- // Is this necessary because of a bug in Shaka Player?
122
- player.configure('streaming.jumpLargeGaps', true);
123
-
124
110
  // Add asset-specific configuration.
125
111
  player.configure(asset.getConfiguration());
126
112
 
@@ -4,22 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('goog.Uri');
8
- goog.require('shaka.Player');
9
- goog.require('shaka.log');
10
- goog.require('shaka.media.DrmEngine');
11
- goog.require('shaka.media.TimeRangesUtils');
12
- goog.require('shaka.test.FakeAbrManager');
13
- goog.require('shaka.test.FakeTextDisplayer');
14
- goog.require('shaka.test.Loader');
15
- goog.require('shaka.test.TestScheme');
16
- goog.require('shaka.test.UiUtils');
17
- goog.require('shaka.test.Util');
18
- goog.require('shaka.test.Waiter');
19
- goog.require('shaka.util.EventManager');
20
- goog.require('shaka.util.Functional');
21
- goog.require('shaka.util.Iterables');
22
-
23
7
  describe('Player', () => {
24
8
  /** @type {!jasmine.Spy} */
25
9
  let onErrorSpy;
@@ -53,6 +37,7 @@ describe('Player', () => {
53
37
  // Grab event manager from the uncompiled library:
54
38
  eventManager = new shaka.util.EventManager();
55
39
  waiter = new shaka.test.Waiter(eventManager);
40
+ waiter.setPlayer(player);
56
41
 
57
42
  onErrorSpy = jasmine.createSpy('onError');
58
43
  onErrorSpy.and.callFake((event) => {
@@ -299,7 +284,7 @@ describe('Player', () => {
299
284
  expect(variantTrack.language).toBe(textTrack.language);
300
285
  });
301
286
 
302
- // Repro for https://github.com/google/shaka-player/issues/1879.
287
+ // Repro for https://github.com/shaka-project/shaka-player/issues/1879.
303
288
  it('appends cues when enabled initially', async () => {
304
289
  let cues = [];
305
290
  /** @const {!shaka.test.FakeTextDisplayer} */
@@ -356,7 +341,7 @@ describe('Player', () => {
356
341
  expect(cues.length).toBeGreaterThan(0);
357
342
  });
358
343
 
359
- // https://github.com/google/shaka-player/issues/2553
344
+ // https://github.com/shaka-project/shaka-player/issues/2553
360
345
  it('does not change the selected track', async () => {
361
346
  player.configure('streaming.alwaysStreamText', false);
362
347
  await player.load('test:forced_subs_simulation_compiled');
@@ -433,6 +418,22 @@ describe('Player', () => {
433
418
  expect(video.playbackRate).toBe(1);
434
419
  });
435
420
 
421
+ it('in sequence mode', async () => {
422
+ const testSchemeMimeType = 'application/x-test-manifest';
423
+ player = new compiledShaka.Player(video);
424
+ await player.load('test:sintel_sequence_compiled', 0, testSchemeMimeType);
425
+ expect(player.getManifest().sequenceMode).toBe(true);
426
+
427
+ // Ensure the video plays.
428
+ video.play();
429
+ await waiter.waitUntilPlayheadReachesOrFailOnTimeout(video, 5, 10);
430
+
431
+ // Seek the video, and see if it can continue playing from that point.
432
+ video.currentTime = 20;
433
+ // Expect that we can then reach the end of the video.
434
+ await waiter.timeoutAfter(20).waitForEnd(video);
435
+ });
436
+
436
437
  // Regression test for #2326.
437
438
  //
438
439
  // 1. Construct an instance with a video element.
@@ -482,7 +483,7 @@ describe('Player', () => {
482
483
  expect(configuredTextDisplayer).toBe(textDisplayer);
483
484
  });
484
485
 
485
- // Regression test for https://github.com/google/shaka-player/issues/1187
486
+ // Regression test for https://github.com/shaka-project/shaka-player/issues/1187
486
487
  it('does not throw on destroy', async () => {
487
488
  await player.load('test:sintel_compiled');
488
489
  video.play();
@@ -513,7 +514,7 @@ describe('Player', () => {
513
514
  // and the track selection was ignored. Because this bug involved
514
515
  // interactions between Player and StreamingEngine, it is an integration
515
516
  // test and not a unit test.
516
- // https://github.com/google/shaka-player/issues/1119
517
+ // https://github.com/shaka-project/shaka-player/issues/1119
517
518
  it('allows early selection of specific tracks', async () => {
518
519
  /** @type {!jasmine.Spy} */
519
520
  const streamingListener = jasmine.createSpy('listener');
@@ -548,7 +549,7 @@ describe('Player', () => {
548
549
  // switchingPeriods_ in Player. Because this bug involved interactions
549
550
  // between Player and StreamingEngine, it is an integration test and not a
550
551
  // unit test.
551
- // https://github.com/google/shaka-player/issues/1119
552
+ // https://github.com/shaka-project/shaka-player/issues/1119
552
553
  it('allows selection of tracks in subsequent loads', async () => {
553
554
  /** @type {!jasmine.Spy} */
554
555
  const streamingListener = jasmine.createSpy('listener');
@@ -646,7 +647,9 @@ describe('Player', () => {
646
647
  eventManager.listen(video, 'waiting', checkOnEvent);
647
648
  eventManager.listen(player, 'trackschanged', checkOnEvent);
648
649
 
649
- const waiter = (new shaka.test.Waiter(eventManager)).timeoutAfter(10);
650
+ const waiter = new shaka.test.Waiter(eventManager)
651
+ .setPlayer(player)
652
+ .timeoutAfter(10);
650
653
  const canPlayThrough = waiter.waitForEvent(video, 'canplaythrough');
651
654
 
652
655
  await player.load('test:sintel_compiled', 5);
@@ -720,6 +723,7 @@ describe('Player', () => {
720
723
  player.addEventListener('mediaqualitychanged',
721
724
  Util.spyFunc(onQualityChange));
722
725
  waiter = new shaka.test.Waiter(eventManager)
726
+ .setPlayer(player)
723
727
  .timeoutAfter(10)
724
728
  .failOnTimeout(true);
725
729
  });
@@ -777,7 +781,9 @@ describe('Player', () => {
777
781
  eventManager.listen(player, 'error', Util.spyFunc(onErrorSpy));
778
782
  /** @type {shaka.test.Waiter} */
779
783
  const waiter = new shaka.test.Waiter(eventManager)
780
- .timeoutAfter(20).failOnTimeout(true);
784
+ .setPlayer(player)
785
+ .timeoutAfter(20)
786
+ .failOnTimeout(true);
781
787
  await waiter.waitForEnd(video);
782
788
 
783
789
  // The stream should have transitioned to VOD by now.
@@ -785,7 +791,7 @@ describe('Player', () => {
785
791
 
786
792
  // Check that the final seek range is as expected.
787
793
  const seekRange = player.seekRange();
788
- expect(seekRange.end).toBe(14);
794
+ expect(seekRange.end).toBeCloseTo(14);
789
795
  });
790
796
  });
791
797
 
@@ -802,6 +808,7 @@ describe('Player', () => {
802
808
  player.addEventListener('buffering', Util.spyFunc(onBuffering));
803
809
 
804
810
  waiter = new shaka.test.Waiter(eventManager)
811
+ .setPlayer(player)
805
812
  .timeoutAfter(10)
806
813
  .failOnTimeout(true);
807
814
  });
@@ -915,8 +922,7 @@ describe('Player', () => {
915
922
  }
916
923
 
917
924
  async function waitUntilBuffered(amount) {
918
- for (const _ of shaka.util.Iterables.range(25)) {
919
- shaka.util.Functional.ignored(_);
925
+ for (let i = 0; i < 25; i++) {
920
926
  // We buffer from an internal segment, so this shouldn't take long to
921
927
  // buffer.
922
928
  await Util.delay(0.1); // eslint-disable-line no-await-in-loop
@@ -993,7 +999,9 @@ describe('Player', () => {
993
999
 
994
1000
  /** @type {shaka.test.Waiter} */
995
1001
  const waiter = new shaka.test.Waiter(eventManager)
996
- .timeoutAfter(1).failOnTimeout(true);
1002
+ .setPlayer(player)
1003
+ .timeoutAfter(1)
1004
+ .failOnTimeout(true);
997
1005
 
998
1006
  await waiter.waitForPromise(abrEnabled, 'AbrManager enabled');
999
1007
 
@@ -1013,7 +1021,9 @@ describe('Player', () => {
1013
1021
 
1014
1022
  /** @type {shaka.test.Waiter} */
1015
1023
  const waiter = new shaka.test.Waiter(eventManager)
1016
- .timeoutAfter(1).failOnTimeout(true);
1024
+ .setPlayer(player)
1025
+ .timeoutAfter(1)
1026
+ .failOnTimeout(true);
1017
1027
 
1018
1028
  await waiter.waitForPromise(abrEnabled, 'AbrManager enabled');
1019
1029
 
@@ -4,11 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('shaka.Player');
8
- goog.require('shaka.test.UiUtils');
9
- goog.require('shaka.test.Util');
10
- goog.require('shaka.util.Error');
11
-
12
7
  describe('Player Load Graph', () => {
13
8
  const SMALL_MP4_CONTENT_URI = '/base/test/test/assets/small.mp4';
14
9
 
@@ -124,7 +119,7 @@ describe('Player Load Graph', () => {
124
119
 
125
120
  // There was a bug when calling unload before calling load would cause
126
121
  // the load to continue before the (first) unload was complete.
127
- // https://github.com/google/shaka-player/issues/612
122
+ // https://github.com/shaka-project/shaka-player/issues/612
128
123
  it('load will wait for unload to finish', async () => {
129
124
  createPlayer(/* attachedTo= */ null);
130
125
 
@@ -4,12 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('shaka.Player');
8
- goog.require('shaka.test.UiUtils');
9
- goog.require('shaka.test.Util');
10
- goog.require('shaka.test.Waiter');
11
- goog.require('shaka.util.EventManager');
12
-
13
7
  describe('Player Src Equals', () => {
14
8
  // This asset needs to be (1) long and (2) high bitrate so that we can
15
9
  // invoke unbuffered seeks.
@@ -88,7 +82,7 @@ describe('Player Src Equals', () => {
88
82
  expect(player.isBuffering()).toBeTruthy();
89
83
  });
90
84
 
91
- // A regression test for https://github.com/google/shaka-player/issues/2523
85
+ // A regression test for https://github.com/shaka-project/shaka-player/issues/2523
92
86
  it('detects subtitles in native HLS', async () => {
93
87
  const supportsNativeHls =
94
88
  video.canPlayType('application/vnd.apple.mpegurl') != '';
@@ -103,8 +97,8 @@ describe('Player Src Equals', () => {
103
97
  });
104
98
 
105
99
  // A regression test for
106
- // https://github.com/google/shaka-player/issues/2483#issuecomment-633412527
107
- // and https://github.com/google/shaka-player/issues/2593
100
+ // https://github.com/shaka-project/shaka-player/issues/2483#issuecomment-633412527
101
+ // and https://github.com/shaka-project/shaka-player/issues/2593
108
102
  it('honors preferred audio and text languages', async () => {
109
103
  const supportsNativeHls =
110
104
  video.canPlayType('application/vnd.apple.mpegurl') != '';
@@ -4,13 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('goog.Uri');
8
- goog.require('shaka.Player');
9
- goog.require('shaka.test.UiUtils');
10
- goog.require('shaka.test.Util');
11
- goog.require('shaka.test.Waiter');
12
- goog.require('shaka.util.EventManager');
13
-
14
7
  // These tests are for testing Shaka Player's integration with
15
8
  // |HTMLMediaElement.src=|. These tests are to verify that all |shaka.Player|
16
9
  // public methods behaviour correctly when playing content video |src=|.