shaka-player 3.1.2 → 3.1.6

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 (145) hide show
  1. package/.github/workflows/build_and_test.yaml +73 -0
  2. package/.github/workflows/release.yaml +53 -0
  3. package/AUTHORS +3 -0
  4. package/CHANGELOG.md +170 -1
  5. package/CONTRIBUTORS +3 -0
  6. package/build/checkversion.py +1 -1
  7. package/build/generateExterns.js +1 -1
  8. package/build/misspellings.txt +1 -0
  9. package/build/shakaBuildHelpers.py +6 -5
  10. package/build/subprocessWindowsPatch.py +103 -0
  11. package/build/test.py +6 -0
  12. package/demo/common/assets.js +1 -1
  13. package/dist/controls.css +2 -2
  14. package/dist/controls.css.map +1 -1
  15. package/dist/demo.compiled.debug.js +1 -1
  16. package/dist/demo.compiled.js +1 -1
  17. package/dist/deps.js +7 -7
  18. package/dist/locales.js +35 -35
  19. package/dist/receiver.compiled.debug.js +1 -1
  20. package/dist/receiver.compiled.js +1 -1
  21. package/dist/shaka-player.compiled.d.ts +172 -3
  22. package/dist/shaka-player.compiled.debug.d.ts +172 -3
  23. package/dist/shaka-player.compiled.debug.externs.js +184 -1
  24. package/dist/shaka-player.compiled.debug.js +390 -370
  25. package/dist/shaka-player.compiled.debug.map +3 -3
  26. package/dist/shaka-player.compiled.externs.js +184 -1
  27. package/dist/shaka-player.compiled.js +809 -805
  28. package/dist/shaka-player.compiled.map +3 -3
  29. package/dist/shaka-player.ui.d.ts +174 -14
  30. package/dist/shaka-player.ui.debug.d.ts +174 -14
  31. package/dist/shaka-player.ui.debug.externs.js +200 -26
  32. package/dist/shaka-player.ui.debug.js +431 -412
  33. package/dist/shaka-player.ui.debug.map +4 -4
  34. package/dist/shaka-player.ui.externs.js +200 -26
  35. package/dist/shaka-player.ui.js +934 -929
  36. package/dist/shaka-player.ui.map +4 -4
  37. package/docs/tutorials/fairplay.md +1 -1
  38. package/docs/tutorials/faq.md +14 -0
  39. package/externs/ima.js +4 -0
  40. package/externs/shaka/ads.js +2 -0
  41. package/externs/shaka/text.js +10 -0
  42. package/karma.conf.js +20 -15
  43. package/lib/ads/ad_manager.js +30 -11
  44. package/lib/ads/client_side_ad_manager.js +76 -86
  45. package/lib/ads/server_side_ad_manager.js +26 -11
  46. package/lib/cast/cast_proxy.js +6 -2
  47. package/lib/cast/cast_receiver.js +5 -1
  48. package/lib/cast/cast_sender.js +2 -2
  49. package/lib/cea/sei_processor.js +24 -17
  50. package/lib/dash/dash_parser.js +131 -24
  51. package/lib/dash/segment_list.js +1 -1
  52. package/lib/dash/segment_template.js +1 -1
  53. package/lib/hls/hls_parser.js +44 -17
  54. package/lib/hls/manifest_text_parser.js +1 -0
  55. package/lib/media/closed_caption_parser.js +3 -1
  56. package/lib/media/content_workarounds.js +12 -0
  57. package/lib/media/drm_engine.js +20 -1
  58. package/lib/media/gap_jumping_controller.js +8 -4
  59. package/lib/media/media_source_engine.js +1 -2
  60. package/lib/media/playhead.js +1 -1
  61. package/lib/media/region_observer.js +39 -33
  62. package/lib/media/region_timeline.js +17 -19
  63. package/lib/media/streaming_engine.js +8 -4
  64. package/lib/net/networking_engine.js +6 -1
  65. package/lib/offline/storage.js +10 -11
  66. package/lib/player.js +66 -30
  67. package/lib/polyfill/encryption_scheme.js +2 -0
  68. package/lib/polyfill/fullscreen.js +2 -0
  69. package/lib/polyfill/mathround.js +2 -0
  70. package/lib/polyfill/media_capabilities.js +73 -21
  71. package/lib/polyfill/mediasource.js +8 -0
  72. package/lib/polyfill/orientation.js +3 -1
  73. package/lib/polyfill/patchedmediakeys_apple.js +6 -4
  74. package/lib/polyfill/patchedmediakeys_ms.js +6 -4
  75. package/lib/polyfill/patchedmediakeys_nop.js +2 -0
  76. package/lib/polyfill/patchedmediakeys_webkit.js +6 -4
  77. package/lib/polyfill/pip_webkit.js +2 -0
  78. package/lib/polyfill/storage_estimate.js +2 -0
  79. package/lib/polyfill/video_play_promise.js +2 -0
  80. package/lib/polyfill/videoplaybackquality.js +2 -0
  81. package/lib/polyfill/vttcue.js +2 -0
  82. package/lib/text/cue.js +6 -0
  83. package/lib/text/mp4_ttml_parser.js +3 -0
  84. package/lib/text/text_engine.js +14 -2
  85. package/lib/text/ttml_text_parser.js +135 -87
  86. package/lib/text/ui_text_displayer.js +213 -80
  87. package/lib/text/vtt_text_parser.js +4 -2
  88. package/lib/util/fake_event.js +53 -7
  89. package/lib/util/fake_event_target.js +21 -1
  90. package/lib/util/mp4_box_parsers.js +1 -1
  91. package/lib/util/periods.js +4 -1
  92. package/lib/util/platform.js +13 -1
  93. package/lib/util/stream_utils.js +77 -10
  94. package/lib/util/xml_utils.js +19 -0
  95. package/package.json +3 -6
  96. package/test/cast/cast_proxy_unit.js +12 -6
  97. package/test/cast/cast_receiver_integration.js +1 -1
  98. package/test/cast/cast_utils_unit.js +1 -1
  99. package/test/cea/mp4_cea_parser_unit.js +26 -0
  100. package/test/dash/dash_parser_live_unit.js +43 -0
  101. package/test/dash/dash_parser_manifest_unit.js +222 -3
  102. package/test/hls/hls_parser_unit.js +79 -1
  103. package/test/media/closed_caption_parser_unit.js +20 -0
  104. package/test/media/drm_engine_unit.js +56 -0
  105. package/test/media/playhead_unit.js +27 -1
  106. package/test/media/region_observer_unit.js +40 -5
  107. package/test/media/region_timeline_unit.js +40 -22
  108. package/test/media/streaming_engine_integration.js +2 -1
  109. package/test/media/streaming_engine_unit.js +145 -0
  110. package/test/player_integration.js +38 -0
  111. package/test/test/assets/3675/chunk-stream0-00001.m4s +0 -0
  112. package/test/test/assets/3675/chunk-stream0-00002.m4s +0 -0
  113. package/test/test/assets/3675/chunk-stream0-00003.m4s +0 -0
  114. package/test/test/assets/3675/chunk-stream0-00004.m4s +0 -0
  115. package/test/test/assets/3675/chunk-stream0-00005.m4s +0 -0
  116. package/test/test/assets/3675/chunk-stream0-00006.m4s +0 -0
  117. package/test/test/assets/3675/chunk-stream0-00007.m4s +0 -0
  118. package/test/test/assets/3675/dash_0.mpd +30 -0
  119. package/test/test/assets/3675/dash_1.mpd +30 -0
  120. package/test/test/assets/3675/dash_2.mpd +30 -0
  121. package/test/test/assets/3675/dash_3.mpd +30 -0
  122. package/test/test/assets/3675/dash_4.mpd +30 -0
  123. package/test/test/assets/3675/dash_5.mpd +26 -0
  124. package/test/test/assets/3675/init-stream0.m4s +0 -0
  125. package/test/test/assets/empty_caption_video_init.mp4 +0 -0
  126. package/test/test/assets/empty_caption_video_segment.mp4 +0 -0
  127. package/test/test/util/fake_ad_manager.js +4 -1
  128. package/test/test/util/ttml_utils.js +81 -0
  129. package/test/test/util/util.js +10 -7
  130. package/test/text/mp4_ttml_parser_unit.js +11 -18
  131. package/test/text/ttml_text_parser_unit.js +542 -220
  132. package/test/text/ui_text_displayer_unit.js +93 -20
  133. package/test/text/vtt_text_parser_unit.js +17 -1
  134. package/test/ui/localization_unit.js +15 -14
  135. package/test/ui/text_displayer_layout_unit.js +21 -8
  136. package/test/util/mp4_box_parsers_unit.js +28 -0
  137. package/test/util/stream_utils_unit.js +59 -2
  138. package/ui/cast_button.js +2 -3
  139. package/ui/controls.js +11 -6
  140. package/ui/less/buttons.less +0 -4
  141. package/ui/less/containers.less +6 -7
  142. package/ui/locales/ru.json +6 -6
  143. package/ui/localization.js +40 -87
  144. package/ui/pip_button.js +2 -3
  145. package/ui/text_selection.js +1 -0
@@ -0,0 +1,73 @@
1
+ name: Build and Test PR
2
+
3
+ on:
4
+ pull_request: # Trigger for pull requests.
5
+ types: [opened, synchronize, reopened, edited, ready_for_review]
6
+ branches:
7
+ - master
8
+ - v[0-9]*
9
+ workflow_dispatch: # Allows for manual triggering.
10
+ inputs:
11
+ ref:
12
+ description: "The ref to build and test."
13
+ required: False
14
+
15
+ jobs:
16
+ lint:
17
+ name: Lint
18
+ runs-on: ubuntu-latest
19
+ steps:
20
+ - name: Checkout code
21
+ uses: actions/checkout@v2
22
+ with:
23
+ ref: ${{ github.event.inputs.ref || github.ref }}
24
+
25
+ - name: Lint
26
+ run: python build/check.py
27
+
28
+ build_and_test:
29
+ # Don't waste time doing a full matrix of test runs when there was an
30
+ # obvious linter error.
31
+ needs: lint
32
+ strategy:
33
+ matrix:
34
+ os: ["ubuntu-latest", "macos-latest", "windows-latest"]
35
+ browser: ["Chrome", "Firefox", "Edge", "Safari"]
36
+ exclude:
37
+ - os: ubuntu-latest
38
+ browser: Edge
39
+ - os: windows-latest
40
+ browser: Safari
41
+ - os: ubuntu-latest
42
+ browser: Safari
43
+ include:
44
+ # Run Linux browsers with xvfb, so they're in a headless X session.
45
+ - os: ubuntu-latest
46
+ extra_flags: "--use-xvfb"
47
+ # Disable fail-fast so that one matrix-job failing doesn't make the other
48
+ # ones end early.
49
+ fail-fast: false
50
+
51
+ name: Build and test ${{ matrix.os }} ${{ matrix.browser }}
52
+ runs-on: ${{ matrix.os }}
53
+
54
+ steps:
55
+ # Firefox on Ubuntu appears to not have the right things installed in
56
+ # the environment used by GitHub actions, so make sure that ffmpeg is
57
+ # installed. Otherwise, the browser might not support some codecs that the
58
+ # tests assume will be supported.
59
+ - name: Install FFmpeg
60
+ if: matrix.os == 'ubuntu-latest' && matrix.browser == 'Firefox'
61
+ run: sudo apt -y update && sudo apt -y install ffmpeg
62
+
63
+ - name: Checkout code
64
+ uses: actions/checkout@v2
65
+ with:
66
+ ref: ${{ github.event.inputs.ref || github.ref }}
67
+
68
+ - name: Build Player
69
+ run: python build/all.py
70
+
71
+ - name: Test Player
72
+ run: |
73
+ python build/test.py --browsers ${{ matrix.browser }} --reporters spec --spec-hide-passed --drm ${{ matrix.extra_flags }}
@@ -0,0 +1,53 @@
1
+ on:
2
+ push:
3
+ branches:
4
+ - master
5
+ - v[0-9]*
6
+
7
+ name: Release
8
+
9
+ jobs:
10
+ release:
11
+ runs-on: ubuntu-latest
12
+ outputs:
13
+ release_created: ${{ steps.release.outputs.release_created }}
14
+ tag_name: ${{ steps.release.outputs.tag_name }}
15
+ steps:
16
+ # Create/update release PR
17
+ - uses: google-github-actions/release-please-action@v3
18
+ id: release
19
+ with:
20
+ # Required input to specify the release type (node package).
21
+ release-type: node
22
+ # Make sure the player version gets updated.
23
+ extra-files: lib/player.js
24
+ # Make sure we create the PR against the correct branch.
25
+ default-branch: ${{ github.ref_name }}
26
+
27
+ # The jobs below are all conditional on a release having been created by
28
+ # someone merging the release PR. They all run in parallel.
29
+
30
+ npm:
31
+ runs-on: ubuntu-latest
32
+ needs: release
33
+ if: ${{ needs.release.outputs.release_created }}
34
+ steps:
35
+ - uses: actions/checkout@v2
36
+ - uses: actions/setup-node@v1
37
+ with:
38
+ node-version: 12
39
+ registry-url: 'https://registry.npmjs.org'
40
+ - run: npm ci
41
+ - run: npm publish
42
+ env:
43
+ NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
44
+ - run: npm pack
45
+ - uses: svenstaro/upload-release-action@483c1e56f95e88835747b1c7c60581215016cbf2
46
+ with:
47
+ repo_token: ${{ secrets.GITHUB_TOKEN }}
48
+ tag: ${{ needs.release.outputs.tag_name }}
49
+ file: shaka-player-*.tgz
50
+ file_glob: true
51
+ overwrite: true
52
+
53
+ # TODO: Publish to appspot
package/AUTHORS CHANGED
@@ -27,6 +27,8 @@ Code It <*@code-it.fr>
27
27
  Charter Communications Inc <*@charter.com>
28
28
  Damien Deis <developer.deis@gmail.com>
29
29
  Dany L'Hébreux <danylhebreux@gmail.com>
30
+ Dl Dador <dldador@gmail.com>
31
+ Enson Choy <enson.choy@harmonicinc.com>
30
32
  Esteban Dosztal <edosztal@gmail.com>
31
33
  Fadomire <fadomire@gmail.com>
32
34
  Google Inc. <*@google.com>
@@ -55,6 +57,7 @@ Peter Nycander <peter.nycander@gmail.com>
55
57
  Philo Inc. <*@philo.com>
56
58
  Prakash <duggaraju@gmail.com>
57
59
  Robert Colantuoni <rgc@colantuoni.com>
60
+ Robert Galluccio <robertnw5@gmail.com>
58
61
  Roi Lipman <roilipman@gmail.com>
59
62
  Roksolana Ivanyshyn <roksolana.ivanyshyn.pub@gmail.com>
60
63
  Rostislav Hejduk <Ross-cz@users.noreply.github.com>
package/CHANGELOG.md CHANGED
@@ -1,3 +1,173 @@
1
+ # Changelog
2
+
3
+ ## [3.1.6](https://github.com/google/shaka-player/compare/v3.1.5...v3.1.6) (2022-02-17)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * Add explicit release() for FakeEventTarget ([#3950](https://github.com/google/shaka-player/issues/3950)) ([9119535](https://github.com/google/shaka-player/commit/9119535fb37fd888f07ae24e4848c5f4262b2e6f))
9
+ * Fix download of some HLS assets ([#3934](https://github.com/google/shaka-player/issues/3934)) ([b20dadb](https://github.com/google/shaka-player/commit/b20dadb7f367f0dc446094b23870d44a3ddb2416))
10
+ * Fix exception in StreamingEngine for EMSG with HLS ([#3887](https://github.com/google/shaka-player/issues/3887)) ([02030bf](https://github.com/google/shaka-player/commit/02030bf4ba7e2b14bf61bbc8d1f79f4751d69551)), closes [#3886](https://github.com/google/shaka-player/issues/3886)
11
+ * Fix memory leak in DASH live streams with inband EventStream ([#3957](https://github.com/google/shaka-player/issues/3957)) ([4389aeb](https://github.com/google/shaka-player/commit/4389aeb5212a621651741629df6d457d37dbf075))
12
+ * **HLS:** skip whitespace in attributes ([#3884](https://github.com/google/shaka-player/issues/3884)) ([fda4b80](https://github.com/google/shaka-player/commit/fda4b8046e6ce5081c58c1be8150f095010df54c))
13
+
14
+ ## 3.1.5 (2022-01-28)
15
+
16
+ Bugfixes:
17
+ - Fix support for TTAF1 namespace (old version of TTML)
18
+ - https://github.com/google/shaka-player/issues/3009
19
+ - https://github.com/google/shaka-player/pull/3864
20
+ - https://github.com/google/shaka-player/pull/3906
21
+ - Fix misdetection of HEVC support on MS Edge
22
+ - https://github.com/google/shaka-player/pull/3897
23
+ - Fix caption overlap
24
+ - https://github.com/google/shaka-player/issues/3850
25
+ - https://github.com/google/shaka-player/issues/3741
26
+ - Fix text UI not updating when text is disabled
27
+ - https://github.com/google/shaka-player/issues/3728
28
+ - https://github.com/google/shaka-player/pull/3867
29
+ - Clear buffer on seek if mediaState is updating
30
+ - https://github.com/google/shaka-player/issues/3299
31
+ - https://github.com/google/shaka-player/pull/3795
32
+ - Made nested cues inherit region
33
+ - https://github.com/google/shaka-player/issues/3743
34
+ - https://github.com/google/shaka-player/pull/3837
35
+ - Fix MediaCapabilities polyfill on Safari
36
+ - https://github.com/google/shaka-player/issues/3696
37
+ - https://github.com/google/shaka-player/issues/3530
38
+ - Fix usage of Shaka without polyfills
39
+ - https://github.com/google/shaka-player/issues/3843
40
+ - Fix playback failure due to rounding errors
41
+ - https://github.com/google/shaka-player/issues/3717
42
+ - Remove caption wrapper bgColor
43
+ - https://github.com/google/shaka-player/issues/3745
44
+ - https://github.com/google/shaka-player/pull/3838
45
+ - Support "forced-subtitle" role
46
+ - https://github.com/google/shaka-player/issues/3767
47
+ - https://github.com/google/shaka-player/pull/3807
48
+ - Fix time element height on Safari
49
+ - https://github.com/google/shaka-player/issues/3739
50
+ - https://github.com/google/shaka-player/pull/3809
51
+
52
+
53
+ ## 3.1.4 (2022-01-06)
54
+
55
+ Bugfixes:
56
+ - Allow comments in the TTML parser
57
+ - https://github.com/google/shaka-player/issues/3766
58
+ - https://github.com/google/shaka-player/pull/3827
59
+ - Fix HDR signalling via essential or supplemental property
60
+ - https://github.com/google/shaka-player/issues/3726
61
+ - https://github.com/google/shaka-player/pull/3727
62
+ - Fix MediaCapabilities polyfill on Playstation 5
63
+ - https://github.com/google/shaka-player/issues/3582
64
+ - https://github.com/google/shaka-player/pull/3808
65
+ - Add DASH MIME type mapping for src= playback
66
+ - https://github.com/google/shaka-player/pull/3805
67
+ - Fix captions not working after a period transition on live DASH streams
68
+ - https://github.com/google/shaka-player/issues/3783
69
+ - https://github.com/google/shaka-player/pull/3801
70
+ - Fix timestamp offset of CEA-608 cues
71
+ - https://github.com/google/shaka-player/issues/3782
72
+ - Force caption update when removing cues
73
+ - Fixes parsing of HLS 'DEFAULT' attribute
74
+ - https://github.com/google/shaka-player/issues/3769
75
+ - https://github.com/google/shaka-player/pull/3771
76
+ - support stpp.ttml codec in Mp4TtmlParser
77
+ - https://github.com/google/shaka-player/pull/3754
78
+ - Fix Russian translation
79
+ - https://github.com/google/shaka-player/pull/3751
80
+ - Fix HLS VOD duration
81
+ - https://github.com/google/shaka-player/issues/3733
82
+ - Query HDR transfer function
83
+ - https://github.com/google/shaka-player/issues/3729
84
+ - https://github.com/google/shaka-player/pull/3730
85
+ - Fix styling of UI text cues
86
+ - https://github.com/google/shaka-player/issues/3521
87
+ - https://github.com/google/shaka-player/issues/3600
88
+ - https://github.com/google/shaka-player/issues/3713
89
+ - Fix seek range issues on transition from live to VOD
90
+ - https://github.com/google/shaka-player/issues/3675
91
+ - Enforce string-format of event data keys.
92
+ - https://github.com/google/shaka-player/issues/3710
93
+ - Fix vp09 playback on webOS
94
+ - https://github.com/google/shaka-player/pull/3566
95
+ - Dedupe DRM init data
96
+ - https://github.com/google/shaka-player/pull/3695
97
+ - Failover in geo-redundant streams
98
+ - https://github.com/google/shaka-player/pull/3587
99
+
100
+ Demo App:
101
+ - Fix 'Tears of Steel (live, DASH, Server Side ads)'
102
+ - https://github.com/google/shaka-player/pull/3758
103
+
104
+ Docs:
105
+ - Fix typo in Fairplay tutorial
106
+ - https://github.com/google/shaka-player/pull/3714
107
+
108
+
109
+ ## 3.1.3 (2021-10-13)
110
+
111
+ Bugfixes:
112
+ - Work around override of MediaCapabilities polyfill in Apple browsers
113
+ - https://github.com/google/shaka-player/issues/3530
114
+ - https://github.com/google/shaka-player/pull/3668
115
+ - Add support to file type in MediaCapabilities implementation
116
+ - https://github.com/google/shaka-player/pull/3570
117
+ - Fix video poster when autoplay is disabled
118
+ - https://github.com/google/shaka-player/pull/3645
119
+ - Fix tracking of active variant track in live streams
120
+ - Fixes updating of nested cues
121
+ - https://github.com/google/shaka-player/issues/3524
122
+ - https://github.com/google/shaka-player/issues/3643
123
+ - Fix ttml erroneously dismissing cues
124
+ - https://github.com/google/shaka-player/issues/3643
125
+ - Fix control panel alignment in UI
126
+ - https://github.com/google/shaka-player/pull/3650
127
+ - Export missing polyfill install methods
128
+ - https://github.com/google/shaka-player/pull/3660
129
+ - Dispose of ad manager on player detach
130
+ - https://github.com/google/shaka-player/pull/3665
131
+ - Add ResizeObserver to CS ad manager
132
+ - https://github.com/google/shaka-player/pull/3652
133
+ - Avoid seeking on src when start time is 0
134
+ - https://github.com/google/shaka-player/issues/3518
135
+ - https://github.com/google/shaka-player/pull/3644
136
+ - Tolerate misaligned TS files
137
+ - https://github.com/google/shaka-player/issues/3580
138
+ - Fix stopping of Server Side Ad manager
139
+ - https://github.com/google/shaka-player/pull/3611
140
+ - Fix DRM workaround for Tizen and Xbox with ac-3 boxes
141
+ - https://github.com/google/shaka-player/issues/3589
142
+ - https://github.com/google/shaka-player/pull/3631
143
+ - Fix DRM workaround for Tizen and Xbox with avc3 boxes
144
+ - https://github.com/google/shaka-player/pull/3625
145
+ - Fix `BUFFER_READ_OUT_OF_BOUNDS` error when CEA caption packets are empty
146
+ - https://github.com/google/shaka-player/issues/3608
147
+ - https://github.com/google/shaka-player/pull/3609
148
+ - Fix error when un-storing DRM asset
149
+ - https://github.com/google/shaka-player/issues/3534
150
+ - Fix CC parsing of EPB and v1 TKHD boxes
151
+ - https://github.com/google/shaka-player/issues/3502
152
+ - https://github.com/google/shaka-player/pull/3610
153
+ - Always polyfill MediaCapabilities for Apple browsers
154
+ - https://github.com/google/shaka-player/pull/3588
155
+ - Add Support to iOS 12 in MediaCapabilities polyfill
156
+ - https://github.com/google/shaka-player/pull/3573
157
+ - Display captions with forward slashes
158
+ - https://github.com/google/shaka-player/issues/3555
159
+ - https://github.com/google/shaka-player/pull/3556
160
+ - Add support to file type in MediaCapabilities polyfill
161
+ - https://github.com/google/shaka-player/pull/3569
162
+ - Use "undetermined" for missing CC language
163
+ - Exit PiP when destroying UI
164
+ - https://github.com/google/shaka-player/issues/3553
165
+
166
+ Docs:
167
+ - Add FAQ entry for common Vue problem
168
+ - https://github.com/google/shaka-player/issues/3155
169
+
170
+
1
171
  ## 3.1.2 (2021-07-14)
2
172
 
3
173
  Bugfixes:
@@ -4341,4 +4511,3 @@ Broken Compatibility:
4341
4511
  ## 0.1b (2014-11-21)
4342
4512
 
4343
4513
  Private beta release.
4344
-
package/CONTRIBUTORS CHANGED
@@ -41,8 +41,10 @@ Chris Fillmore <fillmore.chris@gmail.com>
41
41
  Costel Madalin Grecu <madalin.grecu@adswizz.com>
42
42
  Damien Deis <developer.deis@gmail.com>
43
43
  Dany L'Hébreux <danylhebreux@gmail.com>
44
+ Dl Dador <dldador@gmail.com>
44
45
  Donato Borrello <donato@jwplayer.com>
45
46
  Duc Pham <duc.pham@edgeware.tv>
47
+ Enson Choy <enson.choy@harmonicinc.com>
46
48
  Esteban Dosztal <edosztal@gmail.com>
47
49
  Fadomire <fadomire@gmail.com>
48
50
  François Beaufort <fbeaufort@google.com>
@@ -82,6 +84,7 @@ Percy Tse <percy.tse@gmail.com>
82
84
  Peter Nycander <peter.nycander@gmail.com>
83
85
  Prakash Duggaraju <duggaraju@gmail.com>
84
86
  Robert Colantuoni <rgc@colantuoni.com>
87
+ Robert Galluccio <robertnw5@gmail.com>
85
88
  Rohit Makasana <rohitbm@google.com>
86
89
  Roi Lipman <roilipman@gmail.com>
87
90
  Roksolana Ivanyshyn <roksolana.ivanyshyn.pub@gmail.com>
@@ -37,7 +37,7 @@ def changelog_version():
37
37
  """Gets the version of the library from the CHANGELOG."""
38
38
  path = os.path.join(shakaBuildHelpers.get_source_base(), 'CHANGELOG.md')
39
39
  with shakaBuildHelpers.open_file(path, 'r') as f:
40
- match = re.search(r'## (.*) \(', f.read())
40
+ match = re.search(r'^###? \[(.*?)\]\(', f.read(), re.MULTILINE)
41
41
  return match.group(1) if match else ''
42
42
 
43
43
 
@@ -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);
@@ -34,4 +34,5 @@
34
34
  r'(?i)@returns': '@return',
35
35
  r'(?i)varint': 'variant',
36
36
  r'(?i)asynchronus': 'asynchronous',
37
+ r'(?i)deafult': 'default',
37
38
  }
@@ -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__
package/build/test.py CHANGED
@@ -229,6 +229,11 @@ class Launcher:
229
229
  default=None,
230
230
  const=2,
231
231
  nargs='?')
232
+ running_commands.add_argument(
233
+ '--spec-hide-passed',
234
+ help='If provided, configure the spec reporter to hide passing tests.',
235
+ action='store_true',
236
+ default=False)
232
237
  running_commands.add_argument(
233
238
  '--test-custom-asset',
234
239
  help='Run asset playback tests on a custom manifest URI.',
@@ -358,6 +363,7 @@ class Launcher:
358
363
  'single_run',
359
364
  'uncompiled',
360
365
  'delay_tests',
366
+ 'spec_hide_passed',
361
367
  'test_custom_asset',
362
368
  'test_custom_license_server',
363
369
  'test_timeout',
@@ -490,7 +490,7 @@ shakaAssets.testAssets = [
490
490
  .addFeature(shakaAssets.Feature.MP4)
491
491
  .addFeature(shakaAssets.Feature.SUBTITLES)
492
492
  .addFeature(shakaAssets.Feature.LIVE)
493
- .setIMAAssetKey('_lDu24IaSYaYAMEfixipNQ'),
493
+ .setIMAAssetKey('PSzZMzAkSXCmlJOWDmRj8Q'),
494
494
  new ShakaDemoAssetInfo(
495
495
  /* name= */ 'Tears of Steel (multicodec, surround + stereo)',
496
496
  /* iconUri= */ 'https://storage.googleapis.com/shaka-asset-icons/tears_of_steel.png',
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-controls-button-panel .shaka-overflow-menu-only{display:none}.shaka-play-button-container{margin:0;width:100%;height:100%;flex-shrink:1;position:absolute;left:0;right:0;top:0;bottom:0;display:flex;justify-content:center;align-items:center}.shaka-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}.shaka-text-container span:not(.shaka-text-wrapper){display:inline;font-size:20px;line-height:1.4;background-color:rgba(0,0,0,.8);color:#fff}.shaka-text-container span.shaka-text-wrapper{display:inline;background:0 0}.shaka-controls-container[shown=true]~.shaka-text-container{bottom:15%;transition-delay:0s}.shaka-spinner-container{position:absolute;left:0;right:0;top:0;bottom:0;width:100%;height:100%;flex-shrink:1;display:flex;justify-content:center;align-items:center}.shaka-video-container:not([shaka-controls=true]) .shaka-spinner-container{display:none}.shaka-spinner{position:relative;top:0;left:0;margin:0;box-sizing:border-box;padding:7.8%;width:0;height:0;filter:drop-shadow(0 0 2px rgba(255, 255, 255, .5))}.shaka-play-button{box-sizing:border-box;padding:7.5%;width:0;height:0;margin:0;border-radius:50%;box-shadow:rgba(0,0,0,.1) 0 0 20px 0;border:none;background-size:50%;background-repeat:no-repeat;background-position:center center;background-color:rgba(255,255,255,.9);opacity:0;transition:opacity cubic-bezier(.4,0,.6,1) .6s}.shaka-controls-container[casting=true] .shaka-play-button,.shaka-controls-container[shown=true] .shaka-play-button{opacity:1}.shaka-play-button[icon=play]{background-image:url(data:image/svg+xml,%3Csvg%20fill%3D%22%23000000%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20width%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpath%20d%3D%22M8%205v14l11-7z%22%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%2F%3E%0A%3C%2Fsvg%3E)}.shaka-play-button[icon=pause]{background-image:url(data:image/svg+xml,%3Csvg%20fill%3D%22%23000000%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20width%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpath%20d%3D%22M6%2019h4V5H6v14zm8-14v14h4V5h-4z%22%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%2F%3E%0A%3C%2Fsvg%3E)}.shaka-current-time{font-size:14px;color:#fff;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-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-controls-button-panel .shaka-overflow-menu-only{display:none}.shaka-play-button-container{margin:0;width:100%;height:100%;flex-shrink:1;position:absolute;left:0;right:0;top:0;bottom:0;display:flex;justify-content:center;align-items:center}.shaka-scrim-container{margin:0;width:100%;height:100%;flex-shrink:1;position:absolute;left:0;right:0;top:0;bottom:0;opacity:0;transition:opacity cubic-bezier(.4,0,.6,1) .6s;background:linear-gradient(to top,#000 0,rgba(0,0,0,0) 15%)}.shaka-controls-container[casting=true] .shaka-scrim-container,.shaka-controls-container[shown=true] .shaka-scrim-container{opacity:1}.shaka-text-container{position:absolute;left:0;right:0;top:0;bottom:0;pointer-events:none;bottom:0;width:100%;min-width:48px;transition:bottom cubic-bezier(.4,0,.6,1) .1s;transition-delay:.5s;font-size:20px;line-height:1.4;color:#fff}.shaka-text-container span.shaka-text-wrapper{display:inline;background:0 0}.shaka-controls-container[shown=true]~.shaka-text-container{bottom:15%;transition-delay:0s}.shaka-spinner-container{position:absolute;left:0;right:0;top:0;bottom:0;width:100%;height:100%;flex-shrink:1;display:flex;justify-content:center;align-items:center}.shaka-video-container:not([shaka-controls=true]) .shaka-spinner-container{display:none}.shaka-spinner{position:relative;top:0;left:0;margin:0;box-sizing:border-box;padding:7.8%;width:0;height:0;filter:drop-shadow(0 0 2px rgba(255, 255, 255, .5))}.shaka-play-button{box-sizing:border-box;padding:7.5%;width:0;height:0;margin:0;border-radius:50%;box-shadow:rgba(0,0,0,.1) 0 0 20px 0;border:none;background-size:50%;background-repeat:no-repeat;background-position:center center;background-color:rgba(255,255,255,.9);opacity:0;transition:opacity cubic-bezier(.4,0,.6,1) .6s}.shaka-controls-container[casting=true] .shaka-play-button,.shaka-controls-container[shown=true] .shaka-play-button{opacity:1}.shaka-play-button[icon=play]{background-image:url(data:image/svg+xml,%3Csvg%20fill%3D%22%23000000%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20width%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpath%20d%3D%22M8%205v14l11-7z%22%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%2F%3E%0A%3C%2Fsvg%3E)}.shaka-play-button[icon=pause]{background-image:url(data:image/svg+xml,%3Csvg%20fill%3D%22%23000000%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20width%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpath%20d%3D%22M6%2019h4V5H6v14zm8-14v14h4V5h-4z%22%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%2F%3E%0A%3C%2Fsvg%3E)}.shaka-current-time{font-size:14px;color:#fff;cursor:pointer}.shaka-current-time[disabled]{background-color:transparent;color:#fff;cursor:default}.shaka-controls-container button:focus,.shaka-controls-container input:focus{outline:1px solid Highlight}.shaka-controls-container button:-moz-focus-inner,.shaka-controls-container input:-moz-focus-outer{outline:0;border:0}.shaka-controls-container:not(.shaka-keyboard-navigation) button:focus,.shaka-controls-container:not(.shaka-keyboard-navigation) input:focus{outline:0}.shaka-range-container{position:relative;top:0;left:0;margin:4px 6px;height:4px;border-radius:4px;background:#fff}.shaka-volume-bar-container{width:100px}.shaka-range-element{-webkit-appearance:none;background:0 0;position:absolute;top:0;left:0;right:0;bottom:0;margin:0;padding:0;width:100%;height:100%;height:12px;top:-4px;z-index:1}.shaka-range-element::-webkit-slider-runnable-track{width:100%;height:12px;background:0 0;color:transparent;border:none}.shaka-range-element::-webkit-slider-thumb{-webkit-appearance:none;border:none;border-radius:12px;height:12px;width:12px;background:#fff}.shaka-range-element::-moz-range-track{width:100%;height:12px;background:0 0;color:transparent;border:none}.shaka-range-element::-moz-range-thumb{-webkit-appearance:none;border:none;border-radius:12px;height:12px;width:12px;background:#fff}.shaka-seek-bar-container{opacity:0;transition:opacity cubic-bezier(.4,0,.6,1) .6s}.shaka-controls-container[casting=true] .shaka-seek-bar-container,.shaka-controls-container[shown=true] .shaka-seek-bar-container{opacity:1}.shaka-ad-markers{position:absolute;top:0;left:0;right:0;bottom:0;margin:0;padding:0;width:100%;height:100%}/*!
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 1s ease-in-out infinite;stroke-linecap:round}@keyframes rotate{100%{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px}}.shaka-spacer{cursor:default;flex-shrink:1;flex-grow:1;margin:0}.shaka-overflow-menu,.shaka-settings-menu{overflow-x:hidden;overflow-y:auto;white-space:nowrap;background:#fff;box-shadow:0 1px 9px 0 rgba(0,0,0,.4);border-radius:2px;max-height:250px;min-width:180px;opacity:0;transition:opacity cubic-bezier(.4,0,.6,1) .6s;display:flex;flex-direction:column;position:absolute;z-index:2;right:15px;bottom:30px}.shaka-controls-container[casting=true] .shaka-overflow-menu,.shaka-controls-container[casting=true] .shaka-settings-menu,.shaka-controls-container[shown=true] .shaka-overflow-menu,.shaka-controls-container[shown=true] .shaka-settings-menu{opacity:1}.shaka-overflow-menu button,.shaka-settings-menu button{font-size:14px;background:0 0;color:#000;border:none;min-height:30px;padding:3.5px 6px;display:flex;align-items:center;cursor:pointer}.shaka-overflow-menu button:hover,.shaka-settings-menu button:hover{background:#e0e0e0}.shaka-overflow-menu button label,.shaka-settings-menu button label{cursor:pointer}.shaka-keyboard-navigation .shaka-overflow-menu button:focus,.shaka-keyboard-navigation .shaka-settings-menu button:focus{background:#e0e0e0}.shaka-overflow-menu i,.shaka-settings-menu i{padding-left:10px;padding-right:10px}.shaka-overflow-menu.shaka-low-position,.shaka-settings-menu.shaka-low-position{bottom:15px}.shaka-overflow-menu span{text-align:left}.shaka-overflow-button-label{position:relative;display:flex;flex-direction:column}.shaka-current-selection-span{color:rgba(0,0,0,.54)}.shaka-settings-menu span{margin-left:54px}.shaka-back-to-overflow-button span{margin-left:0}.shaka-back-to-overflow-button i{padding-right:20px}.shaka-auto-span{left:17px}.shaka-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/v65/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 1s ease-in-out infinite;stroke-linecap:round}@keyframes rotate{100%{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px}}.shaka-spacer{cursor:default;flex-shrink:1;flex-grow:1;margin:0}.shaka-overflow-menu,.shaka-settings-menu{overflow-x:hidden;overflow-y:auto;white-space:nowrap;background:#fff;box-shadow:0 1px 9px 0 rgba(0,0,0,.4);border-radius:2px;max-height:250px;min-width:180px;opacity:0;transition:opacity cubic-bezier(.4,0,.6,1) .6s;display:flex;flex-direction:column;position:absolute;z-index:2;right:15px;bottom:30px}.shaka-controls-container[casting=true] .shaka-overflow-menu,.shaka-controls-container[casting=true] .shaka-settings-menu,.shaka-controls-container[shown=true] .shaka-overflow-menu,.shaka-controls-container[shown=true] .shaka-settings-menu{opacity:1}.shaka-overflow-menu button,.shaka-settings-menu button{font-size:14px;background:0 0;color:#000;border:none;min-height:30px;padding:3.5px 6px;display:flex;align-items:center;cursor:pointer}.shaka-overflow-menu button:hover,.shaka-settings-menu button:hover{background:#e0e0e0}.shaka-overflow-menu button label,.shaka-settings-menu button label{cursor:pointer}.shaka-keyboard-navigation .shaka-overflow-menu button:focus,.shaka-keyboard-navigation .shaka-settings-menu button:focus{background:#e0e0e0}.shaka-overflow-menu i,.shaka-settings-menu i{padding-left:10px;padding-right:10px}.shaka-overflow-menu.shaka-low-position,.shaka-settings-menu.shaka-low-position{bottom:15px}.shaka-overflow-menu span{text-align:left}.shaka-overflow-button-label{position:relative;display:flex;flex-direction:column}.shaka-current-selection-span{color:rgba(0,0,0,.54)}.shaka-settings-menu span{margin-left:54px}.shaka-back-to-overflow-button span{margin-left:0}.shaka-back-to-overflow-button i{padding-right:20px}.shaka-auto-span{left:17px}.shaka-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/v99/LDItaoyNOAY6Uewc665JcIzCKsKc_M9flwmM.otf) format('opentype')}.material-icons-round{font-family:'Material Icons Round';font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr}/*# sourceMappingURL=controls.css.map */
@@ -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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"}