shaka-player 3.0.11 → 3.0.15

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 (142) hide show
  1. package/AUTHORS +5 -0
  2. package/CHANGELOG.md +132 -0
  3. package/CONTRIBUTORS +5 -0
  4. package/README.md +3 -0
  5. package/build/apps.py +2 -2
  6. package/build/check.py +2 -2
  7. package/build/conformance.textproto +0 -9
  8. package/build/generateExterns.js +1 -1
  9. package/build/shakaBuildHelpers.py +6 -5
  10. package/build/subprocessWindowsPatch.py +103 -0
  11. package/demo/common/assets.js +1 -1
  12. package/demo/common/message_ids.js +1 -0
  13. package/demo/config.js +2 -1
  14. package/demo/demo.less +4 -0
  15. package/demo/demo_utils.js +1 -0
  16. package/demo/input_container.js +2 -1
  17. package/demo/locales/en.json +1 -0
  18. package/demo/locales/source.json +4 -0
  19. package/dist/controls.css +2 -2
  20. package/dist/controls.css.map +1 -1
  21. package/dist/demo.compiled.debug.js +63 -60
  22. package/dist/demo.compiled.debug.map +3 -3
  23. package/dist/demo.compiled.js +63 -60
  24. package/dist/demo.compiled.map +3 -3
  25. package/dist/demo.css +1 -1
  26. package/dist/demo.css.map +1 -1
  27. package/dist/deps.js +9 -9
  28. package/dist/locales.js +35 -33
  29. package/dist/receiver.compiled.debug.js +59 -56
  30. package/dist/receiver.compiled.debug.map +3 -3
  31. package/dist/receiver.compiled.js +59 -56
  32. package/dist/receiver.compiled.map +3 -3
  33. package/dist/shaka-player.compiled.d.ts +131 -5
  34. package/dist/shaka-player.compiled.debug.d.ts +131 -5
  35. package/dist/shaka-player.compiled.debug.externs.js +142 -8
  36. package/dist/shaka-player.compiled.debug.js +330 -312
  37. package/dist/shaka-player.compiled.debug.map +4 -4
  38. package/dist/shaka-player.compiled.externs.js +142 -8
  39. package/dist/shaka-player.compiled.js +707 -702
  40. package/dist/shaka-player.compiled.map +4 -4
  41. package/dist/shaka-player.ui.d.ts +131 -5
  42. package/dist/shaka-player.ui.debug.d.ts +131 -5
  43. package/dist/shaka-player.ui.debug.externs.js +144 -10
  44. package/dist/shaka-player.ui.debug.js +354 -333
  45. package/dist/shaka-player.ui.debug.map +4 -4
  46. package/dist/shaka-player.ui.externs.js +144 -10
  47. package/dist/shaka-player.ui.js +860 -855
  48. package/dist/shaka-player.ui.map +4 -4
  49. package/docs/tutorials/fairplay.md +1 -1
  50. package/docs/tutorials/faq.md +25 -0
  51. package/externs/aria.js +18 -0
  52. package/externs/ima.js +4 -0
  53. package/externs/shaka/ads.js +2 -0
  54. package/karma.conf.js +1 -0
  55. package/lib/ads/ad_manager.js +29 -11
  56. package/lib/ads/client_side_ad_manager.js +76 -86
  57. package/lib/ads/server_side_ad_manager.js +26 -11
  58. package/lib/cast/cast_proxy.js +3 -2
  59. package/lib/cast/cast_receiver.js +6 -2
  60. package/lib/cast/cast_sender.js +2 -2
  61. package/lib/dash/dash_parser.js +63 -1
  62. package/lib/dash/segment_list.js +1 -1
  63. package/lib/dash/segment_template.js +41 -14
  64. package/lib/hls/hls_parser.js +41 -11
  65. package/lib/media/content_workarounds.js +18 -0
  66. package/lib/media/drm_engine.js +8 -0
  67. package/lib/media/gap_jumping_controller.js +8 -4
  68. package/lib/media/media_source_engine.js +7 -0
  69. package/lib/media/playhead.js +1 -1
  70. package/lib/media/presentation_timeline.js +3 -2
  71. package/lib/media/segment_index.js +41 -11
  72. package/lib/media/streaming_engine.js +34 -21
  73. package/lib/net/networking_engine.js +2 -1
  74. package/lib/offline/download_manager.js +1 -2
  75. package/lib/player.js +99 -44
  76. package/lib/polyfill/encryption_scheme.js +2 -0
  77. package/lib/polyfill/fullscreen.js +2 -0
  78. package/lib/polyfill/mathround.js +2 -0
  79. package/lib/polyfill/mediasource.js +2 -0
  80. package/lib/polyfill/patchedmediakeys_apple.js +6 -4
  81. package/lib/polyfill/patchedmediakeys_ms.js +6 -4
  82. package/lib/polyfill/patchedmediakeys_nop.js +2 -0
  83. package/lib/polyfill/patchedmediakeys_webkit.js +6 -4
  84. package/lib/polyfill/pip_webkit.js +2 -0
  85. package/lib/polyfill/video_play_promise.js +2 -0
  86. package/lib/polyfill/videoplaybackquality.js +2 -0
  87. package/lib/polyfill/vttcue.js +2 -0
  88. package/lib/text/mp4_ttml_parser.js +3 -0
  89. package/lib/text/ttml_text_parser.js +5 -0
  90. package/lib/text/ui_text_displayer.js +37 -3
  91. package/lib/util/error.js +1 -4
  92. package/lib/util/fake_event.js +53 -7
  93. package/lib/util/mime_utils.js +33 -0
  94. package/lib/util/periods.js +25 -3
  95. package/lib/util/stream_utils.js +11 -0
  96. package/package.json +3 -3
  97. package/test/cast/cast_proxy_unit.js +12 -6
  98. package/test/cast/cast_receiver_integration.js +1 -1
  99. package/test/cast/cast_utils_unit.js +1 -1
  100. package/test/dash/dash_parser_manifest_unit.js +73 -0
  101. package/test/demo/demo_unit.js +0 -1
  102. package/test/hls/hls_parser_unit.js +45 -1
  103. package/test/media/drm_engine_unit.js +56 -0
  104. package/test/media/playhead_unit.js +27 -1
  105. package/test/media/presentation_timeline_unit.js +19 -0
  106. package/test/media/segment_index_unit.js +79 -6
  107. package/test/media/streaming_engine_unit.js +3 -3
  108. package/test/player_integration.js +38 -0
  109. package/test/player_unit.js +19 -1
  110. package/test/test/assets/3675/chunk-stream0-00001.m4s +0 -0
  111. package/test/test/assets/3675/chunk-stream0-00002.m4s +0 -0
  112. package/test/test/assets/3675/chunk-stream0-00003.m4s +0 -0
  113. package/test/test/assets/3675/chunk-stream0-00004.m4s +0 -0
  114. package/test/test/assets/3675/chunk-stream0-00005.m4s +0 -0
  115. package/test/test/assets/3675/chunk-stream0-00006.m4s +0 -0
  116. package/test/test/assets/3675/chunk-stream0-00007.m4s +0 -0
  117. package/test/test/assets/3675/dash_0.mpd +30 -0
  118. package/test/test/assets/3675/dash_1.mpd +30 -0
  119. package/test/test/assets/3675/dash_2.mpd +30 -0
  120. package/test/test/assets/3675/dash_3.mpd +30 -0
  121. package/test/test/assets/3675/dash_4.mpd +30 -0
  122. package/test/test/assets/3675/dash_5.mpd +26 -0
  123. package/test/test/assets/3675/init-stream0.m4s +0 -0
  124. package/test/test/util/fake_ad_manager.js +4 -1
  125. package/test/test/util/fake_media_source_engine.js +4 -0
  126. package/test/test/util/simple_fakes.js +5 -3
  127. package/test/test/util/waiter.js +36 -2
  128. package/test/text/ttml_text_parser_unit.js +9 -0
  129. package/test/text/ui_text_displayer_unit.js +19 -3
  130. package/test/ui/localization_unit.js +15 -14
  131. package/test/ui/ui_unit.js +4 -0
  132. package/ui/big_play_button.js +10 -0
  133. package/ui/cast_button.js +2 -3
  134. package/ui/controls.js +9 -7
  135. package/ui/less/containers.less +3 -0
  136. package/ui/locales/en.json +1 -0
  137. package/ui/locales/ru.json +6 -6
  138. package/ui/locales/source.json +4 -0
  139. package/ui/localization.js +28 -51
  140. package/ui/pip_button.js +2 -3
  141. package/ui/play_button.js +10 -10
  142. package/ui/small_play_button.js +12 -0
package/AUTHORS CHANGED
@@ -23,8 +23,11 @@ Anthony Stansbridge <github@anthonystansbridge.co.uk>
23
23
  Benjamin Wallberg <me@bwallberg.com>
24
24
  Bonnier Broadcasting <*@bonnierbroadcasting.com>
25
25
  Bryan Huh <bhh1988@gmail.com>
26
+ Charter Communications Inc <*@charter.com>
26
27
  Damien Deis <developer.deis@gmail.com>
27
28
  Dany L'Hébreux <danylhebreux@gmail.com>
29
+ Dl Dador <dldador@gmail.com>
30
+ Enson Choy <enson.choy@harmonicinc.com>
28
31
  Esteban Dosztal <edosztal@gmail.com>
29
32
  Fadomire <fadomire@gmail.com>
30
33
  Google Inc. <*@google.com>
@@ -56,6 +59,7 @@ Rostislav Hejduk <Ross-cz@users.noreply.github.com>
56
59
  SameGoal Inc. <*@samegoal.com>
57
60
  Sanborn Hilland <sanbornh@rogers.com>
58
61
  Sander Saares <sander@saares.eu>
62
+ Swank Motion Pictures Inc. <*@swankmp.com>
59
63
  TalkTalk Plc <*@talktalkplc.com>
60
64
  Tatsiana Gelahova <tatsiana.gelahova@gmail.com>
61
65
  Tomas Tichy <mr.tichyt@gmail.com>
@@ -64,6 +68,7 @@ Toshihiro Suzuki <t.suzuki326@gmail.com>
64
68
  uStudio Inc. <*@ustudio.com>
65
69
  Verizon Digital Media Services <*@verizondigitalmedia.com>
66
70
  Vincent Valot <valot.vince@gmail.com>
71
+ Wayne Morgan <wayne.morgan.dev@gmail.com>
67
72
  Prakash <duggaraju@gmail.com>
68
73
 
69
74
 
package/CHANGELOG.md CHANGED
@@ -1,3 +1,135 @@
1
+ ## 3.0.15 (2022-01-06)
2
+
3
+ Bugfixes:
4
+ - Allow comments in the TTML parser
5
+ - https://github.com/google/shaka-player/issues/3766
6
+ - https://github.com/google/shaka-player/pull/3827
7
+ - Add DASH MIME type mapping for src= playback
8
+ - https://github.com/google/shaka-player/pull/3805
9
+ - Fix captions not working after a period transition on live DASH streams
10
+ - https://github.com/google/shaka-player/issues/3783
11
+ - https://github.com/google/shaka-player/pull/3801
12
+ - Force caption update when removing cues
13
+ - Fixes parsing of HLS 'DEFAULT' attribute
14
+ - https://github.com/google/shaka-player/issues/3769
15
+ - https://github.com/google/shaka-player/pull/3771
16
+ - support stpp.ttml codec in Mp4TtmlParser
17
+ - https://github.com/google/shaka-player/pull/3754
18
+ - Fix Russian translation
19
+ - https://github.com/google/shaka-player/pull/3751
20
+ - Made HLS notify segments after fit
21
+ - https://github.com/google/shaka-player/issues/3733
22
+ - Fix seek range issues on transition from live to VOD
23
+ - https://github.com/google/shaka-player/issues/3675
24
+ - Enforce string-format of event data keys
25
+ - https://github.com/google/shaka-player/issues/3710
26
+ - Dedupe DRM init data
27
+ - https://github.com/google/shaka-player/pull/3695
28
+ - Failover in geo-redundant streams
29
+ - https://github.com/google/shaka-player/pull/3587
30
+
31
+ Demo App:
32
+ - Fix 'Tears of Steel (live, DASH, Server Side ads)'
33
+ - https://github.com/google/shaka-player/pull/3758
34
+
35
+ Docs:
36
+ - Fix typo in Fairplay tutorial
37
+ - https://github.com/google/shaka-player/pull/3714
38
+
39
+
40
+ ## 3.0.14 (2021-10-13)
41
+
42
+ Bugfixes:
43
+ - Fix video poster when autoplay is disabled
44
+ - https://github.com/google/shaka-player/pull/3645
45
+ - Fix tracking of active variant track in live streams
46
+ - Fix control panel alignment in UI
47
+ - https://github.com/google/shaka-player/pull/3650
48
+ - Export missing polyfill install methods
49
+ - https://github.com/google/shaka-player/pull/3660
50
+ - Dispose of ad manager on player detach
51
+ - https://github.com/google/shaka-player/pull/3665
52
+ - Add ResizeObserver to CS ad manager
53
+ - https://github.com/google/shaka-player/pull/3652
54
+ - Avoid seeking on src when start time is 0
55
+ - https://github.com/google/shaka-player/issues/3518
56
+ - https://github.com/google/shaka-player/pull/3644
57
+ - Tolerate misaligned TS files
58
+ - https://github.com/google/shaka-player/issues/3580
59
+ - Fix stopping of Server Side Ad manager
60
+ - https://github.com/google/shaka-player/pull/3611
61
+ - Fix DRM workaround for Tizen and Xbox with ac-3 boxes
62
+ - https://github.com/google/shaka-player/issues/3589
63
+ - https://github.com/google/shaka-player/pull/3631
64
+ - Fix DRM workaround for Tizen and Xbox with avc3 boxes
65
+ - https://github.com/google/shaka-player/pull/3625
66
+ - Fix error when un-storing DRM asset
67
+ - https://github.com/google/shaka-player/issues/3534
68
+ - Exit PiP when destroying UI
69
+ - https://github.com/google/shaka-player/issues/3553
70
+
71
+ Docs:
72
+ - Add FAQ entry for common Vue problem
73
+ - https://github.com/google/shaka-player/issues/3155
74
+
75
+
76
+ ## 3.0.13 (2021-07-14)
77
+
78
+ Bugfixes:
79
+ - Fix choosing tracks from streaming event
80
+ - https://github.com/google/shaka-player/issues/3448
81
+ - https://github.com/google/shaka-player/pull/3459
82
+ - Update Play icon after seeking from end
83
+ - https://github.com/google/shaka-player/pull/3515
84
+ - Fix DASH transition from dynamic to static
85
+ - https://github.com/google/shaka-player/pull/3497
86
+ - Fix ARIA label on replay button
87
+ - https://github.com/google/shaka-player/pull/3513
88
+ - Fix audio language switching while using AirPlay
89
+ - https://github.com/google/shaka-player/issues/3125
90
+ - https://github.com/google/shaka-player/pull/3472
91
+ - Show captions with rapid seek when ignoreTextStreamFailures is true
92
+ - https://github.com/google/shaka-player/pull/3476
93
+ - Fix clearing buffer when requested for already-selected variant
94
+ - https://github.com/google/shaka-player/pull/3477
95
+ - Fix hung playback on rapid seek
96
+ - https://github.com/google/shaka-player/pull/3479
97
+
98
+
99
+ ## 3.0.12 (2021-06-17)
100
+
101
+ Bugfixes:
102
+ - Fix buffering due to re-fetch in multi-period DASH
103
+ - https://github.com/google/shaka-player/pull/3419
104
+ - https://github.com/google/shaka-player/issues/3354
105
+ - Prioritize AVERAGE-BANDWIDTH over BANDWIDTH in HLS
106
+ - https://github.com/google/shaka-player/pull/3428
107
+ - Fix EC-3 box support in DRM workaround on smart TVs
108
+ - https://github.com/google/shaka-player/pull/3427
109
+ - Fix exception in UI on devices that do not support fullscreen
110
+ - https://github.com/google/shaka-player/issues/3441
111
+ - Fix caption positioning and sizing when the container resizes
112
+ - https://github.com/google/shaka-player/pull/3426
113
+ - https://github.com/google/shaka-player/pull/3425
114
+ - https://github.com/google/shaka-player/pull/3414
115
+ - Fix exceptions thrown in content with trick-mode tracks
116
+ - https://github.com/google/shaka-player/issues/3423
117
+ - Filter unsupported H.264 streams in Xbox
118
+ - https://github.com/google/shaka-player/pull/3411
119
+ - Choose the configured preferred text role at start
120
+ - https://github.com/google/shaka-player/pull/3399
121
+ - Fix ClearKey+WebM+src= playback failure
122
+ - https://github.com/google/shaka-player/issues/3366
123
+ - Fix double-display of embedded and non-embedded captions
124
+ - https://github.com/google/shaka-player/issues/3199
125
+
126
+ Docs:
127
+ - Document disabling Range header requests in HLS
128
+ - https://github.com/google/shaka-player/pull/3442
129
+ - Add Angular integration link
130
+ - https://github.com/google/shaka-player/pull/3409
131
+
132
+
1
133
  ## 3.0.11 (2021-04-28)
2
134
 
3
135
  Bugfixes:
package/CONTRIBUTORS CHANGED
@@ -23,6 +23,7 @@
23
23
  # Please keep the list sorted.
24
24
 
25
25
  Aaron Vaage <vaage@google.com>
26
+ Aidan Ridley <aidan.ridley@charter.com>
26
27
  Alex Jones <alexedwardjones@gmail.com>
27
28
  Alvaro Velad Galvan <alvaro.velad@mirada.tv>
28
29
  Amila Sampath <lucksy@gmail.com>
@@ -32,14 +33,17 @@ Ashutosh Kumar Mukhiya <ashukm4@gmail.com>
32
33
  Benjamin Wallberg <me@bwallberg.com>
33
34
  Benjamin Wallberg <benjamin.wallberg@bonnierbroadcasting.com>
34
35
  Boris Cupac <borisrt2309@gmail.com>
36
+ Brad Nadler <bnadler@swankmp.com>
35
37
  Bryan Huh <bhh1988@gmail.com>
36
38
  Chad Assareh <assareh@google.com>
37
39
  Chris Fillmore <fillmore.chris@gmail.com>
38
40
  Costel Madalin Grecu <madalin.grecu@adswizz.com>
39
41
  Damien Deis <developer.deis@gmail.com>
40
42
  Dany L'Hébreux <danylhebreux@gmail.com>
43
+ Dl Dador <dldador@gmail.com>
41
44
  Donato Borrello <donato@jwplayer.com>
42
45
  Duc Pham <duc.pham@edgeware.tv>
46
+ Enson Choy <enson.choy@harmonicinc.com>
43
47
  Esteban Dosztal <edosztal@gmail.com>
44
48
  Fadomire <fadomire@gmail.com>
45
49
  François Beaufort <fbeaufort@google.com>
@@ -98,6 +102,7 @@ Toshihiro Suzuki <t.suzuki326@gmail.com>
98
102
  Vasanth Polipelli <vasanthap@google.com>
99
103
  Vignesh Venkatasubramanian <vigneshv@google.com>
100
104
  Vincent Valot <valot.vince@gmail.com>
105
+ Wayne Morgan <wayne.morgan.dev@gmail.com>
101
106
  Yohann Connell <robinconnell@google.com>
102
107
  Adrián Gómez Llorente <adgllorente@gmail.com>
103
108
  Prakash Duggaraju <duggaraju@gmail.com>
package/README.md CHANGED
@@ -266,5 +266,8 @@ Shaka + Nuxt.js integration:
266
266
  Shaka + video.js integration:
267
267
  - https://github.com/davidjamesherzog/videojs-shaka
268
268
 
269
+ Shaka + Angular integration:
270
+ - https://github.com/PatrickKalkman/shaka-player-angular
271
+
269
272
  If you have published Shaka Integration code/tutorials, please feel free to submit PRs
270
273
  to add them to this list, we will gladly approve!
package/build/apps.py CHANGED
@@ -74,7 +74,7 @@ def compile_demo(force, is_debug):
74
74
  closure_opts += [
75
75
  # Ignore missing goog.require since we assume the whole library is
76
76
  # already included.
77
- '--jscomp_off=missingRequire', '--jscomp_off=strictMissingRequire',
77
+ '--jscomp_off=missingRequire',
78
78
  '-D', 'COMPILED=true',
79
79
  ]
80
80
 
@@ -125,7 +125,7 @@ def compile_receiver(force, is_debug):
125
125
  closure_opts += [
126
126
  # Ignore missing goog.require since we assume the whole library is
127
127
  # already included.
128
- '--jscomp_off=missingRequire', '--jscomp_off=strictMissingRequire',
128
+ '--jscomp_off=missingRequire',
129
129
  '-D', 'COMPILED=true',
130
130
  ]
131
131
 
package/build/check.py CHANGED
@@ -295,8 +295,8 @@ def check_tests(args):
295
295
  # Ignore missing goog.require since we assume the whole library is
296
296
  # already included.
297
297
  closure_opts += [
298
- '--jscomp_off=missingRequire', '--jscomp_off=strictMissingRequire',
299
- '--checks-only', '-O', 'SIMPLE'
298
+ '--jscomp_off=missingRequire',
299
+ '--checks-only', '-O', 'SIMPLE',
300
300
  ]
301
301
 
302
302
  # Set up a build with the build name of "dummy". With output_compiled_bundle
@@ -58,15 +58,6 @@ requirement {
58
58
  }
59
59
 
60
60
 
61
- # Ban the use of @expose annotations.
62
- requirement {
63
- type: CUSTOM
64
- java_class: 'com.google.javascript.jscomp.ConformanceRules$BanExpose'
65
- error_message: '@expose is not allowed; please use externs instead. '
66
- 'See docs/design/export.md for details.'
67
- }
68
-
69
-
70
61
  # Reject unresolved types.
71
62
  requirement {
72
63
  type: CUSTOM
@@ -818,7 +818,7 @@ function main(args) {
818
818
  // foo.bar.baz, foo and foo.bar will both need to be declared first.
819
819
  const namespaces = new Set();
820
820
  const namespaceDeclarations = [];
821
- for (const name of names) {
821
+ for (const name of Array.from(names).sort()) {
822
822
  // Add the full name "foo.bar.baz" and its prototype ahead of time. We
823
823
  // should never generate these as namespaces.
824
824
  namespaces.add(name);
@@ -32,6 +32,9 @@ import subprocess
32
32
  import sys
33
33
  import time
34
34
 
35
+ import subprocessWindowsPatch
36
+
37
+
35
38
  # Python 3 no longer has a separate unicode type. For type-checking done in
36
39
  # get_node_binary, create an alias to the str type.
37
40
  if sys.version_info[0] == 3:
@@ -212,8 +215,7 @@ def npm_version(is_dirty=False):
212
215
  """Gets the version of the library from NPM."""
213
216
  try:
214
217
  base = cygwin_safe_path(get_source_base())
215
- cmd = 'npm.cmd' if is_windows() else 'npm'
216
- cmd_line = [cmd, '--prefix', base, 'ls', 'shaka-player']
218
+ cmd_line = ['npm', '--prefix', base, 'ls', 'shaka-player']
217
219
  text = execute_get_output(cmd_line).decode('utf8')
218
220
  except subprocess.CalledProcessError as e:
219
221
  text = e.output.decode('utf8')
@@ -335,10 +337,9 @@ def update_node_modules():
335
337
  return True
336
338
 
337
339
  base = cygwin_safe_path(get_source_base())
338
- cmd = 'npm.cmd' if is_windows() else 'npm'
339
340
 
340
341
  # Check the version of npm.
341
- version = execute_get_output([cmd, '-v']).decode('utf8')
342
+ version = execute_get_output(['npm', '-v']).decode('utf8')
342
343
 
343
344
  if _parse_version(version) < _parse_version('5.0.0'):
344
345
  logging.error('npm version is too old, please upgrade. e.g.:')
@@ -351,7 +352,7 @@ def update_node_modules():
351
352
  with InDir(base):
352
353
  # npm update seems to be the wrong thing in npm v5, so use install.
353
354
  # See google/shaka-player#854 for more details.
354
- execute_get_output([cmd, 'install'])
355
+ execute_get_output(['npm', 'install'])
355
356
 
356
357
  # Update the timestamp of the file that tracks when we last updated.
357
358
  open(_node_modules_last_update_path(), 'wb').close()
@@ -0,0 +1,103 @@
1
+ # Copyright 2021 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ """Monkeypatch subprocess on Windows to find .CMD scripts.
16
+
17
+ Without this patch, subprocess fails to find .CMD scripts on Windows, even
18
+ though these are executables and should be treated as such according to the
19
+ PATHEXT environment variable.
20
+
21
+ Many people "work around" this issue on Windows with subprocess's shell=True
22
+ argument, but this comes with a risk of shell injection vulnerabilities.
23
+
24
+ Another solution is to explicitly add ".CMD" to the end of some commands on
25
+ Windows, but this breaks portability and requires "if windows" to be scattered
26
+ around a codebase.
27
+
28
+ This monkeypatch allows the caller of subprocess to stop worrying about Windows
29
+ nuances and to go back to the security best practice of shell=False. Any .CMD
30
+ script that would be found by the Windows shell will now be found by
31
+ subprocess. And because we're using the standard Windows PATHEXT environment
32
+ variable, this can be extended to other types of executable scripts, as well.
33
+ """
34
+
35
+ import os
36
+ import subprocess
37
+ import sys
38
+
39
+
40
+ # NOTE: All of the higher-level methods eventually delegate to Popen, so we
41
+ # only patch that one method.
42
+ # run => Popen
43
+ # call => Popen
44
+ # check_call => call => Popen
45
+ # check_output => run => Popen
46
+
47
+ # These environment variables should almost certainly exist, but these are
48
+ # defaults in case they are missing.
49
+ DEFAULT_PATHEXT = '.COM;.EXE;.BAT;.CMD'
50
+ DEFAULT_PATH = r'C:\WINDOWS\system32;C:\WINDOWS'
51
+
52
+
53
+ def resolve(exe):
54
+ """Resolve a command name into a full path to the executable."""
55
+
56
+ if '/' in exe or '\\' in exe or ':' in exe:
57
+ # This is a path, so don't modify it.
58
+ return exe
59
+
60
+ if '.' in exe:
61
+ # This has an extension already. Don't search for an extension.
62
+ exe_names = [exe]
63
+ else:
64
+ # This is a command name without an extension, so check for every extension
65
+ # in PATHEXT.
66
+ extensions = os.environ.get('PATHEXT', DEFAULT_PATHEXT).split(';')
67
+ exe_names = [exe + ext for ext in extensions]
68
+
69
+ exe_paths = os.environ.get('PATH', DEFAULT_PATH).split(';')
70
+
71
+ for path in exe_paths:
72
+ for name in exe_names:
73
+ candidate = os.path.join(path, name)
74
+ if os.access(candidate, os.X_OK): # If executable
75
+ return candidate
76
+
77
+ # Failed to resolve, so return the original name and let Popen fail with a
78
+ # natural-looking error complaining that this command cannot be found.
79
+ return exe
80
+
81
+
82
+ real_Popen = subprocess.Popen
83
+
84
+
85
+ def Popen(args, *more_args, **kwargs):
86
+ """A patch to install over subprocess.Popen."""
87
+
88
+ # If the first argument is a list, resolve the command name, which is the
89
+ # first item in the list.
90
+ if isinstance(args, list):
91
+ args[0] = resolve(args[0])
92
+
93
+ # Delegate to the real Popen implementation.
94
+ return real_Popen(args, *more_args, **kwargs)
95
+
96
+
97
+ # Only patch win32, but not cygwin. Cygwin works correctly already.
98
+ if sys.platform == 'win32':
99
+ # Patch over Popen.
100
+ subprocess.Popen = Popen
101
+ # Copy the docstring from the real Popen into the patch, so that
102
+ # help(subprocess.Popen) is still relatively sane with this patch installed.
103
+ Popen.__doc__ = real_Popen.__doc__
@@ -485,7 +485,7 @@ shakaAssets.testAssets = [
485
485
  .addFeature(shakaAssets.Feature.MP4)
486
486
  .addFeature(shakaAssets.Feature.SUBTITLES)
487
487
  .addFeature(shakaAssets.Feature.LIVE)
488
- .setIMAAssetKey('_lDu24IaSYaYAMEfixipNQ'),
488
+ .setIMAAssetKey('PSzZMzAkSXCmlJOWDmRj8Q'),
489
489
  new ShakaDemoAssetInfo(
490
490
  /* name= */ 'Tears of Steel (multicodec, surround + stereo)',
491
491
  /* iconUri= */ 'https://storage.googleapis.com/shaka-asset-icons/tears_of_steel.png',
@@ -208,6 +208,7 @@ shakaDemo.MessageIds = {
208
208
  STREAMING_SECTION_HEADER: 'DEMO_STREAMING_SECTION_HEADER',
209
209
  SWITCH_INTERVAL: 'DEMO_SWITCH_INTERVAL',
210
210
  TEXT_LANGUAGE: 'DEMO_TEXT_LANGUAGE',
211
+ TEXT_ROLE: 'DEMO_TEXT_ROLE',
211
212
  TIMEOUT: 'DEMO_TIMEOUT',
212
213
  TRICK_PLAY_CONTROLS: 'DEMO_TRICK_PLAY_CONTROLS',
213
214
  TRICK_PLAY_CONTROLS_WARNING: 'DEMO_TRICK_PLAY_CONTROLS_WARNING',
package/demo/config.js CHANGED
@@ -351,7 +351,8 @@ shakaDemo.Config = class {
351
351
  const docLink = this.resolveExternLink_('.PlayerConfiguration');
352
352
  this.addSection_(MessageIds.LANGUAGE_SECTION_HEADER, docLink)
353
353
  .addTextInput_(MessageIds.AUDIO_LANGUAGE, 'preferredAudioLanguage')
354
- .addTextInput_(MessageIds.TEXT_LANGUAGE, 'preferredTextLanguage');
354
+ .addTextInput_(MessageIds.TEXT_LANGUAGE, 'preferredTextLanguage')
355
+ .addTextInput_(MessageIds.TEXT_ROLE, 'preferredTextRole');
355
356
  const onChange = (input) => {
356
357
  shakaDemoMain.setUILocale(input.value);
357
358
  shakaDemoMain.remakeHash();
package/demo/demo.less CHANGED
@@ -560,3 +560,7 @@ footer .mdl-mega-footer__link-list {
560
560
  * So give it a fixed maximum instead. */
561
561
  max-height: 1000px;
562
562
  }
563
+
564
+ .input-header {
565
+ font-size: 125%;
566
+ }
@@ -38,6 +38,7 @@ shakaDemo.Utils = class {
38
38
  // Override config values with custom names.
39
39
  configOverride('audiolang', 'preferredAudioLanguage');
40
40
  configOverride('textlang', 'preferredTextLanguage');
41
+ configOverride('textrole', 'preferredTextRole');
41
42
  configOverride('channels', 'preferredAudioChannelCount');
42
43
 
43
44
  // Override config values that are handled manually.
@@ -117,7 +117,8 @@ shakaDemo.InputContainer = class {
117
117
  }
118
118
  });
119
119
  } else {
120
- this.header_ = document.createElement('h3');
120
+ this.header_ = document.createElement('div');
121
+ this.header_.classList.add('input-header');
121
122
  }
122
123
  this.header_.textContent = shakaDemoMain.getLocalizedString(headerText);
123
124
  parentDiv.appendChild(this.header_);
@@ -168,6 +168,7 @@
168
168
  "DEMO_SURROUND_SEARCH": "Filters for assets with at least one surround sound audio track.",
169
169
  "DEMO_SWITCH_INTERVAL": "Switch Interval",
170
170
  "DEMO_TEXT_LANGUAGE": "Preferred Text Language",
171
+ "DEMO_TEXT_ROLE": "Preferred Text Role",
171
172
  "DEMO_TIMEOUT": "Timeout Factor",
172
173
  "DEMO_TRICK_MODE": "Special trick mode track",
173
174
  "DEMO_TRICK_MODE_SEARCH": "Filters for assets that have special video tracks to be used in trick mode playback (aka fast-forward).",
@@ -675,6 +675,10 @@
675
675
  "description": "The name of a configuration value.",
676
676
  "message": "Preferred Text Language"
677
677
  },
678
+ "DEMO_TEXT_ROLE": {
679
+ "description": "The name of a configuration value.",
680
+ "message": "Preferred Text Role"
681
+ },
678
682
  "DEMO_TIMEOUT": {
679
683
  "description": "The name of a configuration value.",
680
684
  "message": "Timeout Factor"
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;margin:1px 6px;padding:0;background:0 0;border:0;cursor:pointer}.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-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}.shaka-text-container *{font-size:20px;line-height:1.4}.shaka-text-container span{background-color:rgba(0,0,0,.8);color:#fff;display:inline-block}.shaka-text-container .shaka-nested-cue:not(:last-of-type):after{content:" ";white-space:pre}.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;height:auto;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-range-element::-ms-track{width:100%;height:12px;background:0 0;color:transparent;border:none}.shaka-range-element::-ms-thumb{-webkit-appearance:none;border:none;border-radius:12px;height:12px;width:12px;background:#fff}.shaka-range-element::-ms-tooltip{display:none}.shaka-range-element::-ms-fill-lower{display:none}.shaka-range-element::-ms-fill-upper{display:none}.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}.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-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-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}.shaka-text-container *{font-size:20px;line-height:1.4}.shaka-text-container span{background-color:rgba(0,0,0,.8);color:#fff;display:inline-block}.shaka-text-container .shaka-nested-cue:not(:last-of-type):after{content:" ";white-space:pre}.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;height:auto;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-range-element::-ms-track{width:100%;height:12px;background:0 0;color:transparent;border:none}.shaka-range-element::-ms-thumb{-webkit-appearance:none;border:none;border-radius:12px;height:12px;width:12px;background:#fff}.shaka-range-element::-ms-tooltip{display:none}.shaka-range-element::-ms-fill-lower{display:none}.shaka-range-element::-ms-fill-upper{display:none}.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,4 +27,4 @@
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 1.5s 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-captions-on{color:#000}.shaka-captions-off{color:grey}.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}@font-face{font-family:Roboto;font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/roboto/v27/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/v55/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 */
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 1.5s 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-captions-on{color:#000}.shaka-captions-off{color:grey}.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}@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/v93/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/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":["../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/https:/fonts.googleapis.com/css?family=Roboto","../ui/https:/fonts.googleapis.com/icon?family=Material+Icons+Round"],"names":[],"mappings":"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"}