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
package/demo/demo.less CHANGED
@@ -4,6 +4,8 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
+ /* stylelint-disable selector-class-pattern -- MDL classes can't be changed */
8
+
7
9
  // Import the MDL styles with the desired color scheme.
8
10
  @import (css, inline) "../node_modules/material-design-lite/dist/material.indigo-blue.min.css";
9
11
  @import (css, inline) "../node_modules/dialog-polyfill/dialog-polyfill.css";
@@ -15,7 +17,7 @@
15
17
  @drawer-width: 550px;
16
18
 
17
19
  @mdl-footer-link-color: #9e9e9e; /* copied from MDL stylesheet */
18
- @mdl-button-color: rgb(63,81,181); /* copied from MDL stylesheet */
20
+ @mdl-button-color: rgb(63 81 181); /* copied from MDL stylesheet */
19
21
 
20
22
  @progress-circle-size: 45px;
21
23
  @progress-circle-thickness: 5px;
@@ -24,7 +26,7 @@
24
26
  * here we override the font family for the MDL class. Without this, the menu
25
27
  * on the left side of the screen has no icon. */
26
28
  .material-icons {
27
- font-family: 'Material Icons Round';
29
+ font-family: "Material Icons Round";
28
30
  }
29
31
 
30
32
  /* Conflicting styles between the icons font & the MDL buttons caused some
@@ -73,12 +75,21 @@ main.mdl-layout__content {
73
75
  border-radius: 50%;
74
76
  width: 32px;
75
77
  color: #000;
76
- background: rgba(255, 255, 255, 0.85);
78
+ background: rgba(255 255 255 / 85%);
77
79
  }
78
80
 
79
81
  html, body {
80
82
  /* Ensure everything has a consistent font. */
81
- font-family: "Roboto", "Helvetica", "Arial", sans-serif;
83
+ font-family: Roboto-Regular, Roboto, sans-serif, TengwarTelcontar;
84
+ }
85
+
86
+ // This font supports the Sindarin (sjn) translation.
87
+ @font-face {
88
+ font-family: TengwarTelcontar;
89
+ // This could be served from demo/ (uncompiled) or dist (compiled).
90
+ src: url("../demo/TengwarTelcontar.woff2") format("woff2");
91
+ font-weight: normal;
92
+ font-style: normal;
82
93
  }
83
94
 
84
95
  /* Change the default opacity of the ripple container, to get around an iOS bug.
@@ -171,7 +182,7 @@ html, body {
171
182
  background-color: @error-color;
172
183
  color: white;
173
184
  position: relative;
174
- padding: 0 0;
185
+ padding: 0;
175
186
  top: 0;
176
187
  right: 1em;
177
188
  float: right;
@@ -203,56 +214,56 @@ html, body {
203
214
 
204
215
  /* features */
205
216
  &[icon="high_definition"] {
206
- background-image: data-uri('icons/custom_high_definition.svg');
217
+ background-image: data-uri("icons/custom_high_definition.svg");
207
218
  }
208
219
 
209
220
  &[icon="ultra_high_definition"] {
210
- background-image: data-uri('icons/custom_ultra_high_definition.svg');
221
+ background-image: data-uri("icons/custom_ultra_high_definition.svg");
211
222
  }
212
223
 
213
224
  &[icon="subtitles"] {
214
- background-image: data-uri('icons/baseline-subtitles-24px.svg');
225
+ background-image: data-uri("icons/baseline-subtitles-24px.svg");
215
226
  }
216
227
 
217
228
  &[icon="closed_caption"] {
218
- background-image: data-uri('icons/baseline-closed_caption-24px.svg');
229
+ background-image: data-uri("icons/baseline-closed_caption-24px.svg");
219
230
  }
220
231
 
221
232
  &[icon="live"] {
222
- background-image: data-uri('icons/baseline-live_tv-24px.svg');
233
+ background-image: data-uri("icons/baseline-live_tv-24px.svg");
223
234
  }
224
235
 
225
236
  &[icon="trick_mode"] {
226
- background-image: data-uri('icons/baseline-fast_forward-24px.svg');
237
+ background-image: data-uri("icons/baseline-fast_forward-24px.svg");
227
238
  }
228
239
 
229
240
  &[icon="surround_sound"] {
230
- background-image: data-uri('icons/baseline-surround_sound-24px.svg');
241
+ background-image: data-uri("icons/baseline-surround_sound-24px.svg");
231
242
  }
232
243
 
233
244
  &[icon="multiple_languages"] {
234
- background-image: data-uri('icons/baseline-language-24px.svg');
245
+ background-image: data-uri("icons/baseline-language-24px.svg");
235
246
  }
236
247
 
237
248
  &[icon="ad"] {
238
- background-image: data-uri('icons/custom_ad.svg');
249
+ background-image: data-uri("icons/custom_ad.svg");
239
250
  }
240
251
 
241
252
  &[icon="audio_only"] {
242
- background-image: data-uri('icons/baseline-audiotrack-24px.svg');
253
+ background-image: data-uri("icons/baseline-audiotrack-24px.svg");
243
254
  }
244
255
 
245
256
  /* key systems */
246
257
  &[icon="widevine"] {
247
- background-image: data-uri('icons/custom_widevine.svg');
258
+ background-image: data-uri("icons/custom_widevine.svg");
248
259
  }
249
260
 
250
261
  &[icon="clear_key"] {
251
- background-image: data-uri('icons/custom_clear_key.svg');
262
+ background-image: data-uri("icons/custom_clear_key.svg");
252
263
  }
253
264
 
254
265
  &[icon="playready"] {
255
- background-image: data-uri('icons/custom_playready.svg');
266
+ background-image: data-uri("icons/custom_playready.svg");
256
267
  }
257
268
  }
258
269
 
@@ -4,20 +4,8 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- goog.require('shakaDemo.AssetCard');
8
- goog.require('shakaDemo.CloseButton');
9
7
  goog.require('shakaDemo.Config');
10
8
  goog.require('shakaDemo.Custom');
11
- goog.require('shakaDemo.Utils');
12
9
  goog.require('shakaDemo.Front');
13
- goog.require('shakaDemo.BoolInput');
14
- goog.require('shakaDemo.DatalistInput');
15
- goog.require('shakaDemo.Input');
16
- goog.require('shakaDemo.MessageIds');
17
- goog.require('shakaDemo.NumberInput');
18
- goog.require('shakaDemo.SelectInput');
19
- goog.require('shakaDemo.TextInput');
20
- goog.require('shakaDemo.InputContainer');
21
- goog.require('shakaDemo.Main');
22
10
  goog.require('shakaDemo.Search');
23
- goog.require('shakaDemo.Tooltips');
11
+ goog.require('shakaDemo.Main');
@@ -43,7 +43,6 @@ shakaDemo.Utils = class {
43
43
 
44
44
  // Override config values that are handled manually.
45
45
  overridden.push('abr.enabled');
46
- overridden.push('streaming.jumpLargeGaps');
47
46
  overridden.push('drm.advanced');
48
47
  overridden.push('drm.servers');
49
48
 
package/demo/index.html CHANGED
@@ -141,7 +141,7 @@ UNCOMPILED_JS = [
141
141
  <ul class="mdl-mega-footer__link-list">
142
142
  <li><a rel="noopener" target="_blank" href="../docs/api/index.html" localized-string="DOCUMENTATION"></a></li>
143
143
  <li><a rel="noopener" target="_blank" href="https://www.apache.org/licenses/LICENSE-2.0" localized-string="LICENSE"></a></li>
144
- <li><a rel="noopener" target="_blank" href="https://github.com/google/shaka-player" localized-string="SOURCE"></a></li>
144
+ <li><a rel="noopener" target="_blank" href="https://github.com/shaka-project/shaka-player" localized-string="SOURCE"></a></li>
145
145
  <li><a rel="noopener" target="_blank" href="https://www.npmjs.com/package/shaka-player" localized-string="NPM"></a></li>
146
146
  <li><a rel="noopener" target="_blank" href="../support.html" localized-string="SUPPORT"></a></li>
147
147
  </ul>
@@ -39,6 +39,7 @@
39
39
  "DEMO_CONNECTION_TIMEOUT": "Connection timeout",
40
40
  "DEMO_CONFIG": "Shaka Player Demo Config",
41
41
  "DEMO_CONTAINER_SEARCH": "Container",
42
+ "DEMO_CONTAINERLESS": "Containerless",
42
43
  "DEMO_CONTENT_ID": "Content ID",
43
44
  "DEMO_CUSTOM": "Custom",
44
45
  "DEMO_CUSTOM_CONTENT": "CUSTOM CONTENT",
@@ -87,6 +88,7 @@
87
88
  "DEMO_HIGH_DEFINITION": "High definition",
88
89
  "DEMO_HIGH_DEFINITION_SEARCH": "Filters for assets with at least one high-definition video stream.",
89
90
  "DEMO_HLS": "HLS",
91
+ "DEMO_HLS_TAB": "HLS",
90
92
  "DEMO_HOME": "HOME",
91
93
  "DEMO_ICON_URL": "Icon URL",
92
94
  "DEMO_IGNORE_DASH_DRM": "Ignore DASH DRM Info",
@@ -98,6 +100,7 @@
98
100
  "DEMO_IMA_ASSET_KEY": "Asset key (for LIVE DAI Content)",
99
101
  "DEMO_IMA_CONTENT_SRC_ID": "Content source ID (for VOD DAI Content)",
100
102
  "DEMO_IMA_VIDEO_ID": "Video ID (for VOD DAI Content)",
103
+ "DEMO_IGNORE_MANIFEST_PROGRAM_DATE_TIME": "Ignore Program Date Time from manifest",
101
104
  "DEMO_IGNORE_MIN_BUFFER_TIME": "Ignore Min Buffer Time",
102
105
  "DEMO_IGNORE_TEXT_FAILURES": "Ignore Text Stream Failures",
103
106
  "DEMO_INACCURATE_MANIFEST_TOLERANCE": "Inaccurate Manifest Tolerance",
@@ -105,7 +108,6 @@
105
108
  "DEMO_INVALID_JSON_CONFIG_ERROR": "Invalid JSON configuration",
106
109
  "DEMO_IRT": "IRT",
107
110
  "DEMO_JSDELIVR": "jsDelivr",
108
- "DEMO_JUMP_LARGE_GAPS": "Jump Large Gaps",
109
111
  "DEMO_LANGUAGE_SECTION_HEADER": "Language",
110
112
  "DEMO_LIBRARIES": "Google Hosted Libraries",
111
113
  "DEMO_LICENSE": "Apache License",
@@ -134,7 +136,6 @@
134
136
  "DEMO_MAX_FRAMERATE": "Max Framerate",
135
137
  "DEMO_MAX_HEIGHT": "Max Height",
136
138
  "DEMO_MAX_PIXELS": "Max Pixels",
137
- "DEMO_MAX_SMALL_GAP_SIZE": "Maximum Small Gap Size",
138
139
  "DEMO_MAX_WIDTH": "Max Width",
139
140
  "DEMO_METACDN": "MetaCDN",
140
141
  "DEMO_MICROSOFT": "Microsoft",
@@ -158,12 +159,14 @@
158
159
  "DEMO_NUMBER_INTEGER_WARNING": "Must be a positive integer.",
159
160
  "DEMO_NUMBER_NONZERO_DECIMAL_WARNING": "Must be a positive, nonzero number.",
160
161
  "DEMO_NUMBER_NONZERO_INTEGER_WARNING": "Must be a positive, nonzero integer.",
162
+ "DEMO_NUMBER_OF_PARALLEL_DOWNLOADS": "Number of parallel downloads",
161
163
  "DEMO_OBSERVE_QUALITY_CHANGES": "Observe media quality changes",
162
164
  "DEMO_OFFLINE": "Downloadable",
163
165
  "DEMO_OFFLINE_SEARCH": "Filters for assets that can be stored offline.",
164
166
  "DEMO_OFFLINE_SECTION_HEADER": "Offline",
165
167
  "DEMO_FAILURE_MISC": "Shaka Player failed to load! If you are using an ad blocker, try switching to compiled mode at the bottom of the page.",
166
168
  "DEMO_FAILURE_NO_BROWSER_SUPPORT": "Your browser is not supported!",
169
+ "DEMO_HLS_FULL_MIME_TYPE": "Full Mime Type for Playing Media Playlists Directly",
167
170
  "DEMO_PLAY": "Play",
168
171
  "DEMO_PLAYREADY": "PlayReady DRM",
169
172
  "DEMO_PREFER_FORCED_SUBS": "Prefer Forced Subs",
@@ -176,6 +179,7 @@
176
179
  "DEMO_RESTRICTIONS_SECTION_HEADER": "Restrictions",
177
180
  "DEMO_SAFE_SEEK_OFFSET": "Safe Seek Offset",
178
181
  "DEMO_SAFE_SKIP_DISTANCE": "Safe Skip Distance",
182
+ "DEMO_SEGMENT_RELATIVE_VTT_TIMING": "Enable segment-relative VTT Timing",
179
183
  "DEMO_SESSION_ID": "Session ID",
180
184
  "DEMO_SAVE_BUTTON": "Save",
181
185
  "DEMO_SHAKA": "Shaka",
@@ -221,7 +225,6 @@
221
225
  "DEMO_UPDATE_EXPIRATION_TIME": "Update expiration time",
222
226
  "DEMO_UPDATE_INTERVAL_SECONDS": "Update interval seconds",
223
227
  "DEMO_UPLYNK": "Verizon Digital Media Services",
224
- "DEMO_USE_FULL_SEGMENTS_FOR_START_TIME": "Use Full Segments For Start Time",
225
228
  "DEMO_USE_HEADERS": "Use Headers",
226
229
  "DEMO_USE_NATIVE_HLS_SAFARI": "Use native HLS on Safari",
227
230
  "DEMO_USE_PERSISTENT_LICENSES": "Use Persistent Licenses",
@@ -159,6 +159,10 @@
159
159
  "description": "A header on a search field that filters by container type.",
160
160
  "message": "Container"
161
161
  },
162
+ "DEMO_CONTAINERLESS": {
163
+ "description": "Text that describes an asset that has a stream with audio data not contained in a container.",
164
+ "message": "Containerless"
165
+ },
162
166
  "DEMO_CONTENT_ID": {
163
167
  "description": "The name of a configuration value.",
164
168
  "message": "Content ID"
@@ -351,6 +355,10 @@
351
355
  "description": "Text that describes an asset that is packaged in an HLS manifest.",
352
356
  "message": "[PROPER_NAME:HLS]"
353
357
  },
358
+ "DEMO_HLS_TAB": {
359
+ "description": "The header for a tab within the custom asset creation dialog.",
360
+ "message": "[PROPER_NAME:HLS]"
361
+ },
354
362
  "DEMO_HOME": {
355
363
  "description": "A link in the header, that switches to a page configuration for viewing the curated set of front-page content.",
356
364
  "message": "HOME"
@@ -395,9 +403,9 @@
395
403
  "description": "The label on a field that allows users to provide a video id for a custom asset.",
396
404
  "message": "Video ID (for VOD DAI Content)"
397
405
  },
398
- "DEMO_USE_FULL_SEGMENTS_FOR_START_TIME": {
406
+ "DEMO_IGNORE_MANIFEST_PROGRAM_DATE_TIME": {
399
407
  "description": "The name of a configuration value.",
400
- "message": "Use Full Segments For Start Time"
408
+ "message": "Ignore Program Date Time from manifest"
401
409
  },
402
410
  "DEMO_IGNORE_MIN_BUFFER_TIME": {
403
411
  "description": "The name of a configuration value.",
@@ -427,10 +435,6 @@
427
435
  "description": "A link in the footer, to Shaka Player in the jsDelivr CDN.",
428
436
  "message": "[PROPER_NAME:jsDelivr]"
429
437
  },
430
- "DEMO_JUMP_LARGE_GAPS": {
431
- "description": "The name of a configuration value.",
432
- "message": "Jump Large Gaps"
433
- },
434
438
  "DEMO_LANGUAGE_SECTION_HEADER": {
435
439
  "description": "The header for a section of configuration values.",
436
440
  "message": "Language"
@@ -543,10 +547,6 @@
543
547
  "description": "The name of a configuration value.",
544
548
  "message": "Max Pixels"
545
549
  },
546
- "DEMO_MAX_SMALL_GAP_SIZE": {
547
- "description": "The name of a configuration value.",
548
- "message": "Maximum Small Gap Size"
549
- },
550
550
  "DEMO_MAX_WIDTH": {
551
551
  "description": "The name of a configuration value.",
552
552
  "message": "Max Width"
@@ -639,6 +639,10 @@
639
639
  "description": "A warning on number inputs, telling the user what the expected input format is.",
640
640
  "message": "Must be a positive, nonzero integer."
641
641
  },
642
+ "DEMO_NUMBER_OF_PARALLEL_DOWNLOADS": {
643
+ "description": "The name of a configuration value.",
644
+ "message": "Number of parallel downloads."
645
+ },
642
646
  "DEMO_OBSERVE_QUALITY_CHANGES": {
643
647
  "description": "The name of a configuration value.",
644
648
  "message": "Observe media quality changes"
@@ -663,6 +667,10 @@
663
667
  "description": "An error displayed if Shaka Player is unable to load due to lack of browser support.",
664
668
  "message": "Your browser is not supported!"
665
669
  },
670
+ "DEMO_HLS_FULL_MIME_TYPE": {
671
+ "description": "The label on a field that allows users to provide a full mime type for a custom asset.",
672
+ "message": "Full Mime Type for Playing Media Playlists Directly"
673
+ },
666
674
  "DEMO_PLAY": {
667
675
  "description": "A button to play the attached asset.",
668
676
  "message": "Play"
@@ -715,6 +723,10 @@
715
723
  "description": "A button to save a custom asset.",
716
724
  "message": "Save"
717
725
  },
726
+ "DEMO_SEGMENT_RELATIVE_VTT_TIMING": {
727
+ "description": "The name of a configuration value.",
728
+ "message": "Enable segment-relative VTT Timing"
729
+ },
718
730
  "DEMO_SESSION_ID": {
719
731
  "description": "The name of a configuration value.",
720
732
  "message": "Session ID"
package/demo/main.js CHANGED
@@ -164,7 +164,7 @@ shakaDemo.Main = class {
164
164
  case shaka.ui.Overlay.FailReasonCode.NO_BROWSER_SUPPORT:
165
165
  message = this.getLocalizedString(
166
166
  shakaDemo.MessageIds.FAILURE_NO_BROWSER_SUPPORT);
167
- href = 'https://github.com/google/shaka-player#' +
167
+ href = 'https://github.com/shaka-project/shaka-player#' +
168
168
  'platform-and-browser-support-matrix';
169
169
  break;
170
170
  case shaka.ui.Overlay.FailReasonCode.PLAYER_FAILED_TO_LOAD:
@@ -289,7 +289,7 @@ shakaDemo.Main = class {
289
289
 
290
290
  // Navigate to the github issue opening interface, with the
291
291
  // partially-filled template as a preset body.
292
- let url = 'https://github.com/google/shaka-player/issues/new?';
292
+ let url = 'https://github.com/shaka-project/shaka-player/issues/new?';
293
293
  url += 'body=' + encodeURIComponent(text);
294
294
  // Open in another tab.
295
295
  window.open(url, '_blank');
@@ -582,7 +582,10 @@ shakaDemo.Main = class {
582
582
  };
583
583
  asset.storedProgress = 0;
584
584
  this.dispatchEventWithName_('shaka-main-offline-progress');
585
+ const start = Date.now();
585
586
  const stored = await storage.store(asset.manifestUri, metadata).promise;
587
+ const end = Date.now();
588
+ console.log('Download time:', end - start);
586
589
  asset.storedContent = stored;
587
590
  } catch (error) {
588
591
  this.onError_(/** @type {!shaka.util.Error} */ (error));
@@ -726,6 +729,9 @@ shakaDemo.Main = class {
726
729
  if (asset.features.includes(shakaAssets.Feature.MP2TS)) {
727
730
  mimeTypes.push('video/mp2t');
728
731
  }
732
+ if (asset.features.includes(shakaAssets.Feature.CONTAINERLESS)) {
733
+ mimeTypes.push('audio/aac');
734
+ }
729
735
  const hasSupportedMimeType = mimeTypes.some((type) => {
730
736
  return this.support_.media[type];
731
737
  });
@@ -941,9 +947,6 @@ shakaDemo.Main = class {
941
947
  if ('noadaptation' in params) {
942
948
  this.configure('abr.enabled', false);
943
949
  }
944
- if ('jumpLargeGaps' in params) {
945
- this.configure('streaming.jumpLargeGaps', true);
946
- }
947
950
 
948
951
  // Add compiled/uncompiled links.
949
952
  this.makeVersionLinks_();
@@ -1124,6 +1127,9 @@ shakaDemo.Main = class {
1124
1127
  if (document.fullscreenElement) {
1125
1128
  document.exitFullscreen();
1126
1129
  }
1130
+ if (this.video_.webkitDisplayingFullscreen) {
1131
+ this.video_.webkitExitFullscreen();
1132
+ }
1127
1133
  if (document.pictureInPictureElement) {
1128
1134
  document.exitPictureInPicture();
1129
1135
  }
@@ -1351,9 +1357,6 @@ shakaDemo.Main = class {
1351
1357
  if (!this.getCurrentConfigValue('abr.enabled')) {
1352
1358
  params.push('noadaptation');
1353
1359
  }
1354
- if (this.getCurrentConfigValue('streaming.jumpLargeGaps')) {
1355
- params.push('jumpLargeGaps');
1356
- }
1357
1360
  params.push('uilang=' + this.getUILocale());
1358
1361
 
1359
1362
  if (this.selectedAsset) {
@@ -1608,7 +1611,7 @@ shakaDemo.Main = class {
1608
1611
 
1609
1612
  /**
1610
1613
  * Sets the "version-string" divs to a version string.
1611
- * For example, "v2.5.4-master (uncompiled)".
1614
+ * For example, "v2.5.4-main (uncompiled)".
1612
1615
  * @private
1613
1616
  */
1614
1617
  setUpVersionStrings_() {
package/demo/search.js CHANGED
@@ -362,7 +362,8 @@ shakaDemo.Search = class {
362
362
  [Feature.DASH, Feature.HLS], FEATURE);
363
363
  this.makeSelectInput_(coreContainer,
364
364
  shakaDemo.MessageIds.CONTAINER_SEARCH,
365
- [Feature.MP4, Feature.MP2TS, Feature.WEBM], FEATURE);
365
+ [Feature.MP4, Feature.MP2TS, Feature.WEBM, Feature.CONTAINERLESS],
366
+ FEATURE);
366
367
  this.makeSelectInput_(coreContainer,
367
368
  shakaDemo.MessageIds.DRM_SEARCH,
368
369
  Object.values(shakaAssets.KeySystem), DRM);
package/dist/controls.css CHANGED
@@ -3,7 +3,7 @@
3
3
  * Copyright 2016 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- .shaka-hidden{display:none!important}.shaka-video-container{position:relative;top:0;left:0;display:flex}.shaka-video-container .material-icons-round{font-family:'Material Icons Round';font-size:24px}.shaka-video-container *{font-family:Roboto-Regular,Roboto,sans-serif}.shaka-video-container:fullscreen{width:100%;height:100%;background-color:#000}.shaka-video-container:fullscreen .shaka-text-container{font-size:4.4vmin}.shaka-video-container:-webkit-full-screen{width:100%;height:100%;background-color:#000}.shaka-video-container:-webkit-full-screen .shaka-text-container{font-size:4.4vmin}.shaka-video-container:-moz-full-screen{width:100%;height:100%;background-color:#000}.shaka-video-container:-moz-full-screen .shaka-text-container{font-size:4.4vmin}.shaka-video-container:-ms-fullscreen{width:100%;height:100%;background-color:#000}.shaka-video-container:-ms-fullscreen .shaka-text-container{font-size:4.4vmin}.shaka-controls-container{position:absolute;top:0;left:0;right:0;bottom:0;margin:0;padding:0;width:100%;height:100%;box-sizing:border-box;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;z-index:1}.shaka-video-container:not([shaka-controls=true]) .shaka-controls-container{display:none}.shaka-controls-container *{flex-shrink:0}.shaka-controls-container[casting=true] .shaka-fullscreen-button{display:none}.shaka-bottom-controls{width:96%;padding:0;padding-bottom:2.5%;z-index:1}.shaka-controls-button-panel{padding:0;margin:0;display:flex;flex-direction:row;justify-content:flex-end;align-items:center;overflow:hidden;min-width:48px;font-size:12px;font-weight:400;font-style:normal;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;opacity:0;transition:opacity cubic-bezier(.4,0,.6,1) .6s}.shaka-controls-container[casting=true] .shaka-controls-button-panel,.shaka-controls-container[shown=true] .shaka-controls-button-panel{opacity:1}.shaka-controls-button-panel>*{color:#fff;height:32px;line-height:.5;margin:1px 6px;padding:0;background:0 0;border:0;cursor:pointer}.shaka-controls-button-panel .shaka-overflow-menu-only{display:none}.shaka-play-button-container{margin:0;width:100%;height:100%;flex-shrink:1;position:absolute;left:0;right:0;top:0;bottom:0;display:flex;justify-content:center;align-items:center}.shaka-statistics-container{overflow-x:hidden;overflow-y:auto;min-width:300px;color:#fff;background-color:rgba(35,35,35,.9);font-size:14px;padding:5px 10px;border-radius:2px;position:absolute;z-index:2;left:15px;top:15px;opacity:0;transition:opacity cubic-bezier(.4,0,.6,1) .6s}.shaka-controls-container[casting=true] .shaka-statistics-container,.shaka-controls-container[shown=true] .shaka-statistics-container{opacity:1}.shaka-statistics-container div{display:flex;justify-content:space-between}.shaka-statistics-container span{color:#969696}.shaka-context-menu{background-color:rgba(35,35,35,.9);border-radius:2px;position:absolute;z-index:3}.shaka-context-menu button{padding:5px 10px;width:100%;display:flex;align-items:center;color:#fff;background:0 0;border:0;cursor:pointer}.shaka-context-menu button:hover{background-color:rgba(50,50,50,.9)}.shaka-context-menu label{padding:0 20px;align-items:flex-start;color:#fff;cursor:pointer}.shaka-context-menu .shaka-current-selection-span{align-items:flex-start;color:#fff;cursor:pointer}.shaka-scrim-container{margin:0;width:100%;height:100%;flex-shrink:1;position:absolute;left:0;right:0;top:0;bottom:0;opacity:0;transition:opacity cubic-bezier(.4,0,.6,1) .6s;background:linear-gradient(to top,#000 0,rgba(0,0,0,0) 15%)}.shaka-controls-container[casting=true] .shaka-scrim-container,.shaka-controls-container[shown=true] .shaka-scrim-container{opacity:1}.shaka-text-container{position:absolute;left:0;right:0;top:0;bottom:0;pointer-events:none;bottom:0;width:100%;min-width:48px;transition:bottom cubic-bezier(.4,0,.6,1) .1s;transition-delay:.5s;font-size:20px;line-height:1.4;color:#fff}.shaka-text-container span.shaka-text-wrapper{display:inline;background:0 0}.shaka-controls-container[shown=true]~.shaka-text-container{bottom:15%;transition-delay:0s}.shaka-spinner-container{position:absolute;left:0;right:0;top:0;bottom:0;width:100%;height:100%;flex-shrink:1;display:flex;justify-content:center;align-items:center}.shaka-video-container:not([shaka-controls=true]) .shaka-spinner-container{display:none}.shaka-spinner{position:relative;top:0;left:0;margin:0;box-sizing:border-box;padding:7.8%;width:0;height:0;filter:drop-shadow(0 0 2px rgba(255, 255, 255, .5))}.shaka-play-button{box-sizing:border-box;padding:7.5%;width:0;height:0;margin:0;border-radius:50%;box-shadow:rgba(0,0,0,.1) 0 0 20px 0;border:none;background-size:50%;background-repeat:no-repeat;background-position:center center;background-color:rgba(255,255,255,.9);opacity:0;transition:opacity cubic-bezier(.4,0,.6,1) .6s}.shaka-controls-container[casting=true] .shaka-play-button,.shaka-controls-container[shown=true] .shaka-play-button{opacity:1}.shaka-play-button[icon=play]{background-image:url(data:image/svg+xml,%3Csvg%20fill%3D%22%23000000%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20width%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpath%20d%3D%22M8%205v14l11-7z%22%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%2F%3E%0A%3C%2Fsvg%3E)}.shaka-play-button[icon=pause]{background-image:url(data:image/svg+xml,%3Csvg%20fill%3D%22%23000000%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20width%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpath%20d%3D%22M6%2019h4V5H6v14zm8-14v14h4V5h-4z%22%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%2F%3E%0A%3C%2Fsvg%3E)}.shaka-current-time{font-size:14px;color:#fff;cursor:pointer}.shaka-current-time[disabled]{background-color:transparent;color:#fff;cursor:default}.shaka-controls-container button:focus,.shaka-controls-container input:focus{outline:1px solid Highlight}.shaka-controls-container button:-moz-focus-inner,.shaka-controls-container input:-moz-focus-outer{outline:0;border:0}.shaka-controls-container:not(.shaka-keyboard-navigation) button:focus,.shaka-controls-container:not(.shaka-keyboard-navigation) input:focus{outline:0}.shaka-range-container{position:relative;top:0;left:0;margin:4px 6px;height:4px;border-radius:4px;background:#fff}.shaka-volume-bar-container{width:100px}.shaka-range-element{-webkit-appearance:none;background:0 0;position:absolute;top:0;left:0;right:0;bottom:0;margin:0;padding:0;width:100%;height:100%;height:12px;top:-4px;z-index:1}.shaka-range-element::-webkit-slider-runnable-track{width:100%;height:12px;background:0 0;color:transparent;border:none}.shaka-range-element::-webkit-slider-thumb{-webkit-appearance:none;border:none;border-radius:12px;height:12px;width:12px;background:#fff}.shaka-range-element::-moz-range-track{width:100%;height:12px;background:0 0;color:transparent;border:none}.shaka-range-element::-moz-range-thumb{-webkit-appearance:none;border:none;border-radius:12px;height:12px;width:12px;background:#fff}.shaka-seek-bar-container{opacity:0;transition:opacity cubic-bezier(.4,0,.6,1) .6s}.shaka-controls-container[casting=true] .shaka-seek-bar-container,.shaka-controls-container[shown=true] .shaka-seek-bar-container{opacity:1}.shaka-ad-markers{position:absolute;top:0;left:0;right:0;bottom:0;margin:0;padding:0;width:100%;height:100%}/*!
6
+ .shaka-hidden{display:none!important}.shaka-video-container{position:relative;top:0;left:0;display:flex}.shaka-video-container .material-icons-round{font-family:"Material Icons Round";font-size:24px}.shaka-video-container *{font-family:Roboto-Regular,Roboto,sans-serif,TengwarTelcontar}.shaka-video-container:fullscreen{width:100%;height:100%;background-color:#000}.shaka-video-container:fullscreen .shaka-text-container{font-size:4.4vmin}.shaka-video-container:-webkit-full-screen{width:100%;height:100%;background-color:#000}.shaka-video-container:-webkit-full-screen .shaka-text-container{font-size:4.4vmin}.shaka-video-container:-moz-full-screen{width:100%;height:100%;background-color:#000}.shaka-video-container:-moz-full-screen .shaka-text-container{font-size:4.4vmin}.shaka-video-container:-ms-fullscreen{width:100%;height:100%;background-color:#000}.shaka-video-container:-ms-fullscreen .shaka-text-container{font-size:4.4vmin}.shaka-controls-container{position:absolute;top:0;left:0;right:0;bottom:0;margin:0;padding:0;width:100%;height:100%;box-sizing:border-box;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;z-index:1}.shaka-video-container:not([shaka-controls=true]) .shaka-controls-container{display:none}.shaka-controls-container *{flex-shrink:0}.shaka-controls-container[casting=true] .shaka-fullscreen-button{display:none}.shaka-bottom-controls{width:96%;padding:0;padding-bottom:2.5%;z-index:1}.shaka-controls-button-panel{padding:0;margin:0;display:flex;flex-direction:row;justify-content:flex-end;align-items:center;overflow:hidden;min-width:48px;font-size:12px;font-weight:400;font-style:normal;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;opacity:0;transition:opacity cubic-bezier(.4, 0, .6, 1) .6s}.shaka-controls-container[casting=true] .shaka-controls-button-panel,.shaka-controls-container[shown=true] .shaka-controls-button-panel{opacity:1}.shaka-controls-button-panel>*{color:#fff;height:32px;line-height:.5;margin:1px 6px;padding:0;background:0 0;border:0;cursor:pointer}.shaka-controls-button-panel .shaka-overflow-menu-only{display:none}.shaka-play-button-container{margin:0;width:100%;height:100%;flex-shrink:1;position:absolute;left:0;right:0;top:0;bottom:0;display:flex;justify-content:center;align-items:center}.shaka-statistics-container{overflow-x:hidden;overflow-y:auto;min-width:300px;color:#fff;background-color:rgba(35 35 35 / 90%);font-size:14px;padding:5px 10px;border-radius:2px;position:absolute;z-index:2;left:15px;top:15px;opacity:0;transition:opacity cubic-bezier(.4, 0, .6, 1) .6s}.shaka-controls-container[casting=true] .shaka-statistics-container,.shaka-controls-container[shown=true] .shaka-statistics-container{opacity:1}.shaka-statistics-container div{display:flex;justify-content:space-between}.shaka-statistics-container span{color:#969696}.shaka-context-menu{background-color:rgba(35 35 35 / 90%);border-radius:2px;position:absolute;z-index:3}.shaka-context-menu button{padding:5px 10px;width:100%;display:flex;align-items:center;color:#fff;background:0 0;border:0;cursor:pointer}.shaka-context-menu button:hover{background-color:rgba(50 50 50 / 90%)}.shaka-context-menu label{padding:0 20px;align-items:flex-start;color:#fff;cursor:pointer}.shaka-context-menu .shaka-current-selection-span{align-items:flex-start;color:#fff;cursor:pointer}.shaka-scrim-container{margin:0;width:100%;height:100%;flex-shrink:1;position:absolute;left:0;right:0;top:0;bottom:0;opacity:0;transition:opacity cubic-bezier(.4, 0, .6, 1) .6s;background:linear-gradient(to top,#000 0,transparent 15%)}.shaka-controls-container[casting=true] .shaka-scrim-container,.shaka-controls-container[shown=true] .shaka-scrim-container{opacity:1}.shaka-text-container{position:absolute;left:0;right:0;top:0;bottom:0;pointer-events:none;bottom:0;width:100%;min-width:48px;transition:bottom cubic-bezier(.4, 0, .6, 1) .1s;transition-delay:0.5s;font-size:20px;line-height:1.4;color:#fff}.shaka-text-container span.shaka-text-wrapper{display:inline;background:0 0}.shaka-controls-container[shown=true]~.shaka-text-container{bottom:15%;transition-delay:0s}.shaka-spinner-container{position:absolute;left:0;right:0;top:0;bottom:0;width:100%;height:100%;flex-shrink:1;display:flex;justify-content:center;align-items:center}.shaka-video-container:not([shaka-controls=true]) .shaka-spinner-container{display:none}.shaka-spinner{position:relative;top:0;left:0;margin:0;box-sizing:border-box;padding:calc(15.6% / 2);width:0;height:0;filter:drop-shadow(0 0 2px rgba(255 255 255 / 50%))}.shaka-play-button{box-sizing:border-box;padding:calc(15% / 2);width:0;height:0;margin:0;border-radius:50%;box-shadow:rgba(0 0 0 / 10%) 0 0 20px 0;border:none;background-size:50%;background-repeat:no-repeat;background-position:center center;background-color:rgba(255 255 255 / 90%);opacity:0;transition:opacity cubic-bezier(.4, 0, .6, 1) .6s}.shaka-controls-container[casting=true] .shaka-play-button,.shaka-controls-container[shown=true] .shaka-play-button{opacity:1}.shaka-play-button[icon=play]{background-image:url("data:image/svg+xml,%3Csvg%20fill%3D%22%23000000%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20width%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpath%20d%3D%22M8%205v14l11-7z%22%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%2F%3E%0A%3C%2Fsvg%3E")}.shaka-play-button[icon=pause]{background-image:url("data:image/svg+xml,%3Csvg%20fill%3D%22%23000000%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20width%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpath%20d%3D%22M6%2019h4V5H6v14zm8-14v14h4V5h-4z%22%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%2F%3E%0A%3C%2Fsvg%3E")}.shaka-current-time{font-size:14px;color:#fff;cursor:pointer}.shaka-current-time[disabled]{background-color:transparent;color:#fff;cursor:default}.shaka-controls-container button:focus,.shaka-controls-container input:focus{outline:1px solid Highlight}.shaka-controls-container button:-moz-focus-inner,.shaka-controls-container input:-moz-focus-outer{outline:0;border:0}.shaka-controls-container:not(.shaka-keyboard-navigation) button:focus,.shaka-controls-container:not(.shaka-keyboard-navigation) input:focus{outline:0}.shaka-range-container{position:relative;top:0;left:0;margin:calc((12px - 4px)/ 2) 6px;height:4px;border-radius:4px;background:#fff}.shaka-volume-bar-container{width:100px}.shaka-range-element{-webkit-appearance:none;background:0 0;position:absolute;top:0;left:0;right:0;bottom:0;margin:0;padding:0;width:100%;height:100%;height:12px;top:calc((4px - 12px)/ 2);z-index:1}.shaka-range-element::-webkit-slider-runnable-track{width:100%;cursor:pointer;height:12px;background:0 0;color:transparent;border:none}.shaka-range-element::-webkit-slider-thumb{-webkit-appearance:none;border:none;border-radius:12px;height:12px;width:12px;background:#fff}.shaka-range-element::-moz-range-track{width:100%;cursor:pointer;height:12px;background:0 0;color:transparent;border:none}.shaka-range-element::-moz-range-thumb{-webkit-appearance:none;border:none;border-radius:12px;height:12px;width:12px;background:#fff}.shaka-seek-bar-container{opacity:0;transition:opacity cubic-bezier(.4, 0, .6, 1) .6s}.shaka-controls-container[casting=true] .shaka-seek-bar-container,.shaka-controls-container[shown=true] .shaka-seek-bar-container{opacity:1}.shaka-ad-markers{position:absolute;top:0;left:0;right:0;bottom:0;margin:0;padding:0;width:100%;height:100%}/*!
7
7
  * @license
8
8
  * The SVG/CSS buffering spinner is based on http://codepen.io/jczimm/pen/vEBpoL
9
9
  * Some local modifications have been made.
@@ -27,7 +27,7 @@
27
27
  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
28
28
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
29
29
  * SOFTWARE.
30
- */.shaka-spinner-svg{position:absolute;top:0;left:0;right:0;bottom:0;animation:rotate 2s linear infinite;transform-origin:center center;width:100%;height:100%;margin:0;padding:0}.shaka-spinner-path{stroke:#202124;stroke-dasharray:20,200;stroke-dashoffset:0;animation:dash 1s ease-in-out infinite;stroke-linecap:round}@keyframes rotate{100%{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px}}.shaka-spacer{cursor:default;flex-shrink:1;flex-grow:1;margin:0}.shaka-overflow-menu,.shaka-settings-menu{overflow-x:hidden;overflow-y:auto;white-space:nowrap;background:#fff;box-shadow:0 1px 9px 0 rgba(0,0,0,.4);border-radius:2px;max-height:250px;min-width:180px;opacity:0;transition:opacity cubic-bezier(.4,0,.6,1) .6s;display:flex;flex-direction:column;position:absolute;z-index:2;right:15px;bottom:30px}.shaka-controls-container[casting=true] .shaka-overflow-menu,.shaka-controls-container[casting=true] .shaka-settings-menu,.shaka-controls-container[shown=true] .shaka-overflow-menu,.shaka-controls-container[shown=true] .shaka-settings-menu{opacity:1}.shaka-overflow-menu button,.shaka-settings-menu button{font-size:14px;background:0 0;color:#000;border:none;min-height:30px;padding:3.5px 6px;display:flex;align-items:center;cursor:pointer}.shaka-overflow-menu button:hover,.shaka-settings-menu button:hover{background:#e0e0e0}.shaka-overflow-menu button label,.shaka-settings-menu button label{cursor:pointer}.shaka-keyboard-navigation .shaka-overflow-menu button:focus,.shaka-keyboard-navigation .shaka-settings-menu button:focus{background:#e0e0e0}.shaka-overflow-menu i,.shaka-settings-menu i{padding-left:10px;padding-right:10px}.shaka-overflow-menu.shaka-low-position,.shaka-settings-menu.shaka-low-position{bottom:15px}.shaka-overflow-menu span{text-align:left}.shaka-overflow-button-label{position:relative;display:flex;flex-direction:column}.shaka-current-selection-span{color:rgba(0,0,0,.54)}.shaka-settings-menu span{margin-left:54px}.shaka-back-to-overflow-button span{margin-left:0}.shaka-back-to-overflow-button i{padding-right:20px}.shaka-auto-span{left:17px}.shaka-controls-container[ad-active=true]{pointer-events:none}.shaka-controls-container[ad-active=true] .shaka-bottom-controls{pointer-events:auto}.shaka-client-side-ad-container,.shaka-server-side-ad-container{position:absolute;left:0;right:0;top:0;bottom:0}.shaka-video-container[shaka-controls=true] .shaka-client-side-ad-container iframe,.shaka-video-container[shaka-controls=true] .shaka-server-side-ad-container iframe{height:90%}.shaka-server-side-ad-container{width:100%;height:100%;flex-shrink:1}.shaka-server-side-ad-container:not([ad-active=true]){pointer-events:none}.shaka-ad-controls{display:flex;flex-direction:row;z-index:1;padding-bottom:1%}.shaka-video-container:not([shaka-controls=true]) .shaka-ad-controls{display:none}.shaka-ad-controls button,.shaka-ad-controls div{color:#fff;font-size:initial}.shaka-ad-controls div:not(.shaka-skip-ad-counter){margin:1px 6px}.shaka-ad-counter,.shaka-ad-position{display:flex;justify-content:flex-end;flex-direction:column;text-shadow:1px 1px 4px #000}.shaka-skip-ad-container{position:relative;right:-2%;display:flex;flex-direction:row;margin:0}.shaka-skip-ad-button{padding:5px 15px;background:rgba(0,0,0,.7);border:none;cursor:pointer}.shaka-skip-ad-button:disabled{background:rgba(0,0,0,.3)}.shaka-skip-ad-counter{padding:5px 5px;background:rgba(0,0,0,.7);margin:0}/*!
30
+ */.shaka-spinner-svg{position:absolute;top:0;left:0;right:0;bottom:0;animation:rotate 2s linear infinite;transform-origin:center center;width:100%;height:100%;margin:0;padding:0}.shaka-spinner-path{stroke:#202124;stroke-dasharray:20,200;stroke-dashoffset:0;animation:dash 1s ease-in-out infinite;stroke-linecap:round}@keyframes rotate{100%{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px}}.shaka-spacer{cursor:default;flex-shrink:1;flex-grow:1;margin:0}.shaka-overflow-menu,.shaka-settings-menu{overflow-x:hidden;overflow-y:auto;white-space:nowrap;background:#fff;box-shadow:0 1px 9px 0 rgba(0 0 0 / 40%);border-radius:2px;max-height:250px;min-width:180px;opacity:0;transition:opacity cubic-bezier(.4, 0, .6, 1) .6s;display:flex;flex-direction:column;position:absolute;z-index:2;right:15px;bottom:30px}.shaka-controls-container[casting=true] .shaka-overflow-menu,.shaka-controls-container[casting=true] .shaka-settings-menu,.shaka-controls-container[shown=true] .shaka-overflow-menu,.shaka-controls-container[shown=true] .shaka-settings-menu{opacity:1}.shaka-overflow-menu button,.shaka-settings-menu button{font-size:14px;background:0 0;color:#000;border:none;min-height:30px;padding:3.5px 6px;display:flex;align-items:center;cursor:pointer}.shaka-overflow-menu button:hover,.shaka-settings-menu button:hover{background:#e0e0e0}.shaka-overflow-menu button label,.shaka-settings-menu button label{cursor:pointer}.shaka-keyboard-navigation .shaka-overflow-menu button:focus,.shaka-keyboard-navigation .shaka-settings-menu button:focus{background:#e0e0e0}.shaka-overflow-menu i,.shaka-settings-menu i{padding-left:10px;padding-right:10px}.shaka-overflow-menu.shaka-low-position,.shaka-settings-menu.shaka-low-position{bottom:15px}.shaka-overflow-menu span{text-align:left}.shaka-overflow-button-label{position:relative;display:flex;flex-direction:column}.shaka-current-selection-span{color:rgba(0 0 0 / 54%)}.shaka-settings-menu span{margin-left:54px}.shaka-back-to-overflow-button span{margin-left:0}.shaka-back-to-overflow-button i{padding-right:20px}.shaka-auto-span{left:17px}.shaka-controls-container[ad-active=true]{pointer-events:none}.shaka-controls-container[ad-active=true] .shaka-bottom-controls{pointer-events:auto}.shaka-client-side-ad-container,.shaka-server-side-ad-container{position:absolute;left:0;right:0;top:0;bottom:0}.shaka-video-container[shaka-controls=true] .shaka-client-side-ad-container iframe,.shaka-video-container[shaka-controls=true] .shaka-server-side-ad-container iframe{height:90%}.shaka-server-side-ad-container{width:100%;height:100%;flex-shrink:1}.shaka-server-side-ad-container:not([ad-active=true]){pointer-events:none}.shaka-ad-controls{display:flex;flex-direction:row;z-index:1;padding-bottom:1%}.shaka-video-container:not([shaka-controls=true]) .shaka-ad-controls{display:none}.shaka-ad-controls button,.shaka-ad-controls div{color:#fff;font-size:initial}.shaka-ad-controls div:not(.shaka-skip-ad-counter){margin:1px 6px}.shaka-ad-counter,.shaka-ad-position{display:flex;justify-content:flex-end;flex-direction:column;text-shadow:1px 1px 4px #000}.shaka-skip-ad-container{position:relative;right:calc((100% - 96%)/ 2 * -1);display:flex;flex-direction:row;margin:0}.shaka-skip-ad-button{padding:5px 15px;background:rgba(0 0 0 / 70%);border:none;cursor:pointer}.shaka-skip-ad-button:disabled{background:rgba(0 0 0 / 30%)}.shaka-skip-ad-counter{padding:5px;background:rgba(0 0 0 / 70%);margin:0}/*!
31
31
  * @license
32
32
  * The tooltip is based on https://github.com/felipefialho/css-components/
33
33
  * Local modifications have been performed.
@@ -51,4 +51,4 @@
51
51
  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
52
52
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
53
53
  * SOFTWARE.
54
- */.shaka-tooltips-on{overflow:visible}.shaka-tooltips-on>[class*=shaka-tooltip]{position:relative}.shaka-tooltips-on>[class*=shaka-tooltip]:active:after,.shaka-tooltips-on>[class*=shaka-tooltip]:focus-visible:after,.shaka-tooltips-on>[class*=shaka-tooltip]:hover:after{content:attr(aria-label);font-family:Roboto-Regular,Roboto,sans-serif;line-height:16px;white-space:nowrap;font-size:13px;background:rgba(35,35,35,.9);color:#fff;border-radius:3px;padding:5px 10px;position:absolute;bottom:37px;left:16px;-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);-ms-transform:translateX(-50%);-o-transform:translateX(-50%);transform:translateX(-50%)}.shaka-tooltips-on>.shaka-tooltip-status:active:after,.shaka-tooltips-on>.shaka-tooltip-status:focus-visible:after,.shaka-tooltips-on>.shaka-tooltip-status:hover:after{content:attr(aria-label) " (" attr(shaka-status) ")"}.shaka-tooltips-on button:first-child:active:after,.shaka-tooltips-on button:first-child:focus-visible:after,.shaka-tooltips-on button:first-child:hover:after{left:0;-webkit-transform:translateX(0);-moz-transform:translateX(0);-ms-transform:translateX(0);-o-transform:translateX(0);transform:translateX(0)}.shaka-tooltips-on button:last-child:active:after,.shaka-tooltips-on button:last-child:focus-visible:after,.shaka-tooltips-on button:last-child:hover:after{left:32px;-webkit-transform:translateX(-100%);-moz-transform:translateX(-100%);-ms-transform:translateX(-100%);-o-transform:translateX(-100%);transform:translateX(-100%)}@font-face{font-family:Roboto;font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/roboto/v29/KFOmCnqEu92Fr1Mu4mxP.ttf) format('truetype')}@font-face{font-family:'Material Icons Round';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/materialiconsround/v99/LDItaoyNOAY6Uewc665JcIzCKsKc_M9flwmM.otf) format('opentype')}.material-icons-round{font-family:'Material Icons Round';font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr}/*# sourceMappingURL=controls.css.map */
54
+ */.shaka-tooltips-on{overflow:visible}.shaka-tooltips-on>[class*=shaka-tooltip]{position:relative}.shaka-tooltips-on>[class*=shaka-tooltip]:active:after,.shaka-tooltips-on>[class*=shaka-tooltip]:focus-visible:after,.shaka-tooltips-on>[class*=shaka-tooltip]:hover:after{content:attr(aria-label);font-family:Roboto-Regular,Roboto,sans-serif;line-height:calc(32px / 2);white-space:nowrap;font-size:13px;background:rgba(35 35 35 / 90%);color:#fff;border-radius:3px;padding:5px 10px;position:absolute;bottom:calc(32px + 5px);left:calc(32px / 2);-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);-ms-transform:translateX(-50%);-o-transform:translateX(-50%);transform:translateX(-50%)}.shaka-tooltips-on>.shaka-tooltip-status:active:after,.shaka-tooltips-on>.shaka-tooltip-status:focus-visible:after,.shaka-tooltips-on>.shaka-tooltip-status:hover:after{content:attr(aria-label) " (" attr(shaka-status) ")"}.shaka-tooltips-on button:first-child:active:after,.shaka-tooltips-on button:first-child:focus-visible:after,.shaka-tooltips-on button:first-child:hover:after{left:0;-webkit-transform:translateX(0);-moz-transform:translateX(0);-ms-transform:translateX(0);-o-transform:translateX(0);transform:translateX(0)}.shaka-tooltips-on button:last-child:active:after,.shaka-tooltips-on button:last-child:focus-visible:after,.shaka-tooltips-on button:last-child:hover:after{left:32px;-webkit-transform:translateX(-100%);-moz-transform:translateX(-100%);-ms-transform:translateX(-100%);-o-transform:translateX(-100%);transform:translateX(-100%)}@font-face{font-family:Roboto;font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/roboto/v29/KFOmCnqEu92Fr1Mu4mxP.ttf) format('truetype')}@font-face{font-family:'Material Icons Round';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/materialiconsround/v102/LDItaoyNOAY6Uewc665JcIzCKsKc_M9flwmM.otf) format('opentype')}.material-icons-round{font-family:'Material Icons Round';font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr}/*# sourceMappingURL=controls.css.map */
@@ -1 +1 @@
1
- {"version":3,"sources":["../ui/less/general.less","$stdin","../ui/less/containers.less","../ui/less/buttons.less","../ui/less/range_elements.less","../ui/less/spinner.less","../ui/less/other_elements.less","../ui/less/overflow_menu.less","../ui/less/ad_controls.less","../ui/less/tooltip.less","../ui/https:/fonts.googleapis.com/css?family=Roboto","../ui/https:/fonts.googleapis.com/icon?family=Material+Icons+Round"],"names":[],"mappings":"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"}
1
+ {"version":3,"sources":["$stdin"],"names":[],"mappings":"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"}