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.
- package/AUTHORS +5 -0
- package/CHANGELOG.md +132 -0
- package/CONTRIBUTORS +5 -0
- package/README.md +3 -0
- package/build/apps.py +2 -2
- package/build/check.py +2 -2
- package/build/conformance.textproto +0 -9
- package/build/generateExterns.js +1 -1
- package/build/shakaBuildHelpers.py +6 -5
- package/build/subprocessWindowsPatch.py +103 -0
- package/demo/common/assets.js +1 -1
- package/demo/common/message_ids.js +1 -0
- package/demo/config.js +2 -1
- package/demo/demo.less +4 -0
- package/demo/demo_utils.js +1 -0
- package/demo/input_container.js +2 -1
- package/demo/locales/en.json +1 -0
- package/demo/locales/source.json +4 -0
- package/dist/controls.css +2 -2
- package/dist/controls.css.map +1 -1
- package/dist/demo.compiled.debug.js +63 -60
- package/dist/demo.compiled.debug.map +3 -3
- package/dist/demo.compiled.js +63 -60
- package/dist/demo.compiled.map +3 -3
- package/dist/demo.css +1 -1
- package/dist/demo.css.map +1 -1
- package/dist/deps.js +9 -9
- package/dist/locales.js +35 -33
- package/dist/receiver.compiled.debug.js +59 -56
- package/dist/receiver.compiled.debug.map +3 -3
- package/dist/receiver.compiled.js +59 -56
- package/dist/receiver.compiled.map +3 -3
- package/dist/shaka-player.compiled.d.ts +131 -5
- package/dist/shaka-player.compiled.debug.d.ts +131 -5
- package/dist/shaka-player.compiled.debug.externs.js +142 -8
- package/dist/shaka-player.compiled.debug.js +330 -312
- package/dist/shaka-player.compiled.debug.map +4 -4
- package/dist/shaka-player.compiled.externs.js +142 -8
- package/dist/shaka-player.compiled.js +707 -702
- package/dist/shaka-player.compiled.map +4 -4
- package/dist/shaka-player.ui.d.ts +131 -5
- package/dist/shaka-player.ui.debug.d.ts +131 -5
- package/dist/shaka-player.ui.debug.externs.js +144 -10
- package/dist/shaka-player.ui.debug.js +354 -333
- package/dist/shaka-player.ui.debug.map +4 -4
- package/dist/shaka-player.ui.externs.js +144 -10
- package/dist/shaka-player.ui.js +860 -855
- package/dist/shaka-player.ui.map +4 -4
- package/docs/tutorials/fairplay.md +1 -1
- package/docs/tutorials/faq.md +25 -0
- package/externs/aria.js +18 -0
- package/externs/ima.js +4 -0
- package/externs/shaka/ads.js +2 -0
- package/karma.conf.js +1 -0
- package/lib/ads/ad_manager.js +29 -11
- package/lib/ads/client_side_ad_manager.js +76 -86
- package/lib/ads/server_side_ad_manager.js +26 -11
- package/lib/cast/cast_proxy.js +3 -2
- package/lib/cast/cast_receiver.js +6 -2
- package/lib/cast/cast_sender.js +2 -2
- package/lib/dash/dash_parser.js +63 -1
- package/lib/dash/segment_list.js +1 -1
- package/lib/dash/segment_template.js +41 -14
- package/lib/hls/hls_parser.js +41 -11
- package/lib/media/content_workarounds.js +18 -0
- package/lib/media/drm_engine.js +8 -0
- package/lib/media/gap_jumping_controller.js +8 -4
- package/lib/media/media_source_engine.js +7 -0
- package/lib/media/playhead.js +1 -1
- package/lib/media/presentation_timeline.js +3 -2
- package/lib/media/segment_index.js +41 -11
- package/lib/media/streaming_engine.js +34 -21
- package/lib/net/networking_engine.js +2 -1
- package/lib/offline/download_manager.js +1 -2
- package/lib/player.js +99 -44
- package/lib/polyfill/encryption_scheme.js +2 -0
- package/lib/polyfill/fullscreen.js +2 -0
- package/lib/polyfill/mathround.js +2 -0
- package/lib/polyfill/mediasource.js +2 -0
- package/lib/polyfill/patchedmediakeys_apple.js +6 -4
- package/lib/polyfill/patchedmediakeys_ms.js +6 -4
- package/lib/polyfill/patchedmediakeys_nop.js +2 -0
- package/lib/polyfill/patchedmediakeys_webkit.js +6 -4
- package/lib/polyfill/pip_webkit.js +2 -0
- package/lib/polyfill/video_play_promise.js +2 -0
- package/lib/polyfill/videoplaybackquality.js +2 -0
- package/lib/polyfill/vttcue.js +2 -0
- package/lib/text/mp4_ttml_parser.js +3 -0
- package/lib/text/ttml_text_parser.js +5 -0
- package/lib/text/ui_text_displayer.js +37 -3
- package/lib/util/error.js +1 -4
- package/lib/util/fake_event.js +53 -7
- package/lib/util/mime_utils.js +33 -0
- package/lib/util/periods.js +25 -3
- package/lib/util/stream_utils.js +11 -0
- package/package.json +3 -3
- package/test/cast/cast_proxy_unit.js +12 -6
- package/test/cast/cast_receiver_integration.js +1 -1
- package/test/cast/cast_utils_unit.js +1 -1
- package/test/dash/dash_parser_manifest_unit.js +73 -0
- package/test/demo/demo_unit.js +0 -1
- package/test/hls/hls_parser_unit.js +45 -1
- package/test/media/drm_engine_unit.js +56 -0
- package/test/media/playhead_unit.js +27 -1
- package/test/media/presentation_timeline_unit.js +19 -0
- package/test/media/segment_index_unit.js +79 -6
- package/test/media/streaming_engine_unit.js +3 -3
- package/test/player_integration.js +38 -0
- package/test/player_unit.js +19 -1
- package/test/test/assets/3675/chunk-stream0-00001.m4s +0 -0
- package/test/test/assets/3675/chunk-stream0-00002.m4s +0 -0
- package/test/test/assets/3675/chunk-stream0-00003.m4s +0 -0
- package/test/test/assets/3675/chunk-stream0-00004.m4s +0 -0
- package/test/test/assets/3675/chunk-stream0-00005.m4s +0 -0
- package/test/test/assets/3675/chunk-stream0-00006.m4s +0 -0
- package/test/test/assets/3675/chunk-stream0-00007.m4s +0 -0
- package/test/test/assets/3675/dash_0.mpd +30 -0
- package/test/test/assets/3675/dash_1.mpd +30 -0
- package/test/test/assets/3675/dash_2.mpd +30 -0
- package/test/test/assets/3675/dash_3.mpd +30 -0
- package/test/test/assets/3675/dash_4.mpd +30 -0
- package/test/test/assets/3675/dash_5.mpd +26 -0
- package/test/test/assets/3675/init-stream0.m4s +0 -0
- package/test/test/util/fake_ad_manager.js +4 -1
- package/test/test/util/fake_media_source_engine.js +4 -0
- package/test/test/util/simple_fakes.js +5 -3
- package/test/test/util/waiter.js +36 -2
- package/test/text/ttml_text_parser_unit.js +9 -0
- package/test/text/ui_text_displayer_unit.js +19 -3
- package/test/ui/localization_unit.js +15 -14
- package/test/ui/ui_unit.js +4 -0
- package/ui/big_play_button.js +10 -0
- package/ui/cast_button.js +2 -3
- package/ui/controls.js +9 -7
- package/ui/less/containers.less +3 -0
- package/ui/locales/en.json +1 -0
- package/ui/locales/ru.json +6 -6
- package/ui/locales/source.json +4 -0
- package/ui/localization.js +28 -51
- package/ui/pip_button.js +2 -3
- package/ui/play_button.js +10 -10
- 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',
|
|
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',
|
|
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',
|
|
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
|
package/build/generateExterns.js
CHANGED
|
@@ -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
|
-
|
|
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([
|
|
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([
|
|
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__
|
package/demo/common/assets.js
CHANGED
|
@@ -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('
|
|
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
package/demo/demo_utils.js
CHANGED
|
@@ -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.
|
package/demo/input_container.js
CHANGED
|
@@ -117,7 +117,8 @@ shakaDemo.InputContainer = class {
|
|
|
117
117
|
}
|
|
118
118
|
});
|
|
119
119
|
} else {
|
|
120
|
-
this.header_ = document.createElement('
|
|
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_);
|
package/demo/locales/en.json
CHANGED
|
@@ -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).",
|
package/demo/locales/source.json
CHANGED
|
@@ -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/
|
|
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 */
|
package/dist/controls.css.map
CHANGED
|
@@ -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":"AAqBA,cCNE,QDSA,eEZF,uBDwBE,SDgBA,SCPA,IDYA,EACA,KAAA,ECRA,QCjCA,KAGA,6CACE,YAAA,uBACA,UAAA,KAIF,yBACE,YAAA,eAAA,OAAA,WAsBkB,kCFrBpB,MAAA,KACA,OAAA,KEWA,iBAAA,KAEA,wDDiCA,UC7BE,QAIkB,2CFtBpB,MAAA,KACA,OAAA,KEWA,iBAAA,KAEA,iED4CA,UCxCE,QAKkB,wCFvBpB,MAAA,KACA,OAAA,KEWA,iBAAA,KAEA,8DDuDA,UCnDE,QAMkB,sCFxBpB,MAAA,KACA,OAAA,KEWA,iBAAA,KAEA,4DDkEA,UC9DE,QAoBJ,0BD2DE,SDtDA,SAGA,IAAA,EACA,KAAA,EACA,MAAA,EACA,OAAA,EACA,OAAA,EACA,QAAA,EAnDA,MAAA,KACA,OAAA,KE2CA,WAAA,WAGA,QAAA,KAGA,eAAA,OAGA,gBAAA,SAGA,YAAA,ODsEA,QC9DA,EF+BoD,4EAzGpD,QAAA,KEsEA,4BFUA,YAAA,EEFE,iEF9EF,QAAA,KEsFF,uBACE,MAAA,IACA,QAAA,EACA,eAAA,KDsEA,QC/DA,EAMF,6BAEE,QAAA,EACA,OAAA,EAGA,QAAA,KACA,eAAA,IAGA,gBAAA,SAGA,YAAA,OAGA,SAAA,OACA,UAAA,KDgEA,UC5DA,KACA,YAAA,IACA,WAAA,OFpIA,YAAA,KACA,oBAAA,KACA,iBAAA,KACA,gBAAA,KA+FA,QAAA,EAGA,WAAA,QAAA,wBAAA,IAK0C,qEADF,mEAEtC,QAAA,EEkCA,+BAEA,MAAA,KAGA,OAAA,
|
|
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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"}
|