shaka-player 3.3.7 → 3.3.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (142) hide show
  1. package/.github/workflows/build-and-test.yaml +67 -15
  2. package/.github/workflows/compute-incremental-coverage.py +251 -0
  3. package/.github/workflows/report-incremental-coverage.yaml +39 -0
  4. package/.github/workflows/selenium-lab-tests.yaml +179 -31
  5. package/AUTHORS +1 -0
  6. package/CHANGELOG.md +36 -0
  7. package/CONTRIBUTORS +3 -0
  8. package/README.md +20 -6
  9. package/demo/index.html +0 -2
  10. package/dist/controls.css +2 -2
  11. package/dist/controls.css.map +1 -1
  12. package/dist/deps.js +2 -2
  13. package/dist/locales.js +31 -31
  14. package/dist/shaka-player.compiled.d.ts +12 -1
  15. package/dist/shaka-player.compiled.debug.d.ts +12 -1
  16. package/dist/shaka-player.compiled.debug.externs.js +49 -38
  17. package/dist/shaka-player.compiled.debug.js +116 -105
  18. package/dist/shaka-player.compiled.debug.map +4 -4
  19. package/dist/shaka-player.compiled.externs.js +49 -38
  20. package/dist/shaka-player.compiled.js +778 -773
  21. package/dist/shaka-player.compiled.map +4 -4
  22. package/dist/shaka-player.ui.d.ts +12 -1
  23. package/dist/shaka-player.ui.debug.d.ts +12 -1
  24. package/dist/shaka-player.ui.debug.externs.js +49 -38
  25. package/dist/shaka-player.ui.debug.js +131 -120
  26. package/dist/shaka-player.ui.debug.map +4 -4
  27. package/dist/shaka-player.ui.externs.js +49 -38
  28. package/dist/shaka-player.ui.js +905 -901
  29. package/dist/shaka-player.ui.map +4 -4
  30. package/docs/tutorials/welcome.md +6 -3
  31. package/karma.conf.js +3 -11
  32. package/lib/ads/client_side_ad_manager.js +1 -1
  33. package/lib/dash/dash_parser.js +5 -0
  34. package/lib/hls/hls_parser.js +6 -2
  35. package/lib/media/drm_engine.js +1 -1
  36. package/lib/media/presentation_timeline.js +24 -1
  37. package/lib/media/streaming_engine.js +1 -0
  38. package/lib/player.js +7 -6
  39. package/lib/polyfill/media_capabilities.js +3 -0
  40. package/lib/polyfill/videoplaybackquality.js +3 -1
  41. package/lib/text/cue.js +0 -5
  42. package/lib/text/simple_text_displayer.js +21 -9
  43. package/lib/text/ui_text_displayer.js +91 -19
  44. package/lib/util/buffer_utils.js +3 -0
  45. package/lib/util/object_utils.js +1 -0
  46. package/lib/util/platform.js +41 -1
  47. package/lib/util/stream_utils.js +23 -3
  48. package/lib/util/string_utils.js +102 -13
  49. package/maintained-branches.md +15 -0
  50. package/package.json +6 -5
  51. package/test/player_src_equals_integration.js +2 -0
  52. package/test/test/assets/small.mp4 +0 -0
  53. package/test/text/simple_text_displayer_unit.js +27 -0
  54. package/test/text/ui_text_displayer_unit.js +65 -0
  55. package/test/util/string_utils_unit.js +46 -8
  56. package/ui/less/ad_controls.less +4 -0
  57. package/ui/text_selection.js +2 -2
  58. package/app-engine/README.md +0 -9
  59. package/app-engine/demo-version-index/README.md +0 -14
  60. package/app-engine/demo-version-index/app.yaml +0 -2
  61. package/app-engine/demo-version-index/main.py +0 -162
  62. package/app-engine/demo-version-index/requirements.txt +0 -6
  63. package/app-engine/demo-version-index/templates/index.html +0 -114
  64. package/app-engine/shaka-player-demo/README.md +0 -18
  65. package/app-engine/shaka-player-demo/app.yaml +0 -61
  66. package/app-engine/shaka-player-demo/main.py +0 -95
  67. package/app-engine/shaka-player-demo/posters/10yo.png +0 -0
  68. package/app-engine/shaka-player-demo/posters/10yo.xcf +0 -0
  69. package/app-engine/shaka-player-demo/posters/1yo.jpg +0 -0
  70. package/app-engine/shaka-player-demo/posters/2yo.png +0 -0
  71. package/app-engine/shaka-player-demo/posters/2yo.xcf +0 -0
  72. package/app-engine/shaka-player-demo/posters/3yo.png +0 -0
  73. package/app-engine/shaka-player-demo/posters/3yo.xcf +0 -0
  74. package/app-engine/shaka-player-demo/posters/4yo.png +0 -0
  75. package/app-engine/shaka-player-demo/posters/4yo.xcf +0 -0
  76. package/app-engine/shaka-player-demo/posters/5yo.png +0 -0
  77. package/app-engine/shaka-player-demo/posters/5yo.xcf +0 -0
  78. package/app-engine/shaka-player-demo/posters/6yo.png +0 -0
  79. package/app-engine/shaka-player-demo/posters/6yo.xcf +0 -0
  80. package/app-engine/shaka-player-demo/posters/7yo.png +0 -0
  81. package/app-engine/shaka-player-demo/posters/7yo.xcf +0 -0
  82. package/app-engine/shaka-player-demo/posters/8yo.png +0 -0
  83. package/app-engine/shaka-player-demo/posters/8yo.xcf +0 -0
  84. package/app-engine/shaka-player-demo/posters/9yo.png +0 -0
  85. package/app-engine/shaka-player-demo/posters/9yo.xcf +0 -0
  86. package/app-engine/shaka-player-demo/posters/audioOnly.gif +0 -0
  87. package/app-engine/shaka-player-demo/posters/audioRickRoll.gif +0 -0
  88. package/app-engine/shaka-player-demo/posters/colorbars.gif +0 -0
  89. package/app-engine/shaka-player-demo/posters/fireworks.jpg +0 -0
  90. package/app-engine/shaka-player-demo/posters/party-hat.png +0 -0
  91. package/app-engine/shaka-player-demo/posters/sources.txt +0 -46
  92. package/app-engine/shaka-player-demo/posters/standard.png +0 -0
  93. package/app-engine/shaka-player-demo/posters/trek.jpg +0 -0
  94. package/app-engine/shaka-player-demo/posters/valentines.png +0 -0
  95. package/app-engine/shaka-player-demo/posters/zombie.jpg +0 -0
  96. package/app-engine/shaka-player-demo/posters.py +0 -110
  97. package/app-engine/shaka-player-demo/requirements.txt +0 -5
  98. package/app-engine/shaka-player-demo/time.txt +0 -1
  99. package/build/README.md +0 -127
  100. package/build/__init__.py +0 -0
  101. package/build/all.py +0 -150
  102. package/build/apps.py +0 -186
  103. package/build/build.py +0 -392
  104. package/build/check.py +0 -354
  105. package/build/checkversion.py +0 -84
  106. package/build/compiler.py +0 -513
  107. package/build/conformance.textproto +0 -335
  108. package/build/docker/Dockerfile +0 -20
  109. package/build/docker/docker-compose.yml +0 -10
  110. package/build/docs.py +0 -54
  111. package/build/eslint-plugin-shaka-rules/arg-comment-spacing.js +0 -72
  112. package/build/eslint-plugin-shaka-rules/index.js +0 -24
  113. package/build/eslint-plugin-shaka-rules/package.json +0 -7
  114. package/build/eslint-plugin-shaka-rules/private.js +0 -109
  115. package/build/gendeps.py +0 -71
  116. package/build/generateExterns.js +0 -867
  117. package/build/generateLocalizations.py +0 -262
  118. package/build/generateTsDefs.py +0 -137
  119. package/build/install-linux-prereqs.sh +0 -136
  120. package/build/license-header +0 -5
  121. package/build/misspellings.txt +0 -38
  122. package/build/pixelsChanged.js +0 -35
  123. package/build/shaka-lab.yaml +0 -163
  124. package/build/shakaBuildHelpers.py +0 -356
  125. package/build/stats.py +0 -816
  126. package/build/subprocessWindowsPatch.py +0 -103
  127. package/build/test.py +0 -541
  128. package/build/types/ads +0 -8
  129. package/build/types/cast +0 -6
  130. package/build/types/cea +0 -13
  131. package/build/types/complete +0 -9
  132. package/build/types/core +0 -108
  133. package/build/types/dash +0 -8
  134. package/build/types/hls +0 -9
  135. package/build/types/manifests +0 -5
  136. package/build/types/networking +0 -6
  137. package/build/types/offline +0 -22
  138. package/build/types/polyfill +0 -21
  139. package/build/types/text +0 -11
  140. package/build/types/ui +0 -39
  141. package/build/updateScreenshots.py +0 -85
  142. package/build/wrapper.template.js +0 -52
package/CHANGELOG.md CHANGED
@@ -1,5 +1,41 @@
1
1
  # Changelog
2
2
 
3
+ ## [3.3.10](https://github.com/shaka-project/shaka-player/compare/v3.3.9...v3.3.10) (2022-08-31)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * Fix bitmap-based cue size ([#4453](https://github.com/shaka-project/shaka-player/issues/4453)) ([ad52a97](https://github.com/shaka-project/shaka-player/commit/ad52a97c61be96c4022ff42939bdb766a358db69))
9
+ * return width and height in the stats when we are using src= ([#4435](https://github.com/shaka-project/shaka-player/issues/4435)) ([b6ca090](https://github.com/shaka-project/shaka-player/commit/b6ca090bda9d94781e4b7673cd2aaa443dfab7d0))
10
+ * **UI:** Ad position and ad counter are too close to each other ([#4416](https://github.com/shaka-project/shaka-player/issues/4416)) ([ed5af4a](https://github.com/shaka-project/shaka-player/commit/ed5af4a50d5557419c18b075a4b5f684bf415837))
11
+
12
+ ## [3.3.9](https://github.com/shaka-project/shaka-player/compare/v3.3.8...v3.3.9) (2022-08-17)
13
+
14
+
15
+ ### Bug Fixes
16
+
17
+ * add strictMissingProperties suppressions to unblock strict missing properties on union types. ([#4371](https://github.com/shaka-project/shaka-player/issues/4371)) ([6225452](https://github.com/shaka-project/shaka-player/commit/62254528e6087eac2e62b07e146a55fcd565494e))
18
+ * exception if on early adError ([#4362](https://github.com/shaka-project/shaka-player/issues/4362)) ([c6339d2](https://github.com/shaka-project/shaka-player/commit/c6339d2e38a22ec7646f167622c2470023af10c6)), closes [#4004](https://github.com/shaka-project/shaka-player/issues/4004)
19
+ * Fix key ID byteswapping for PlayReady on PS4 ([#4377](https://github.com/shaka-project/shaka-player/issues/4377)) ([fa8f5fc](https://github.com/shaka-project/shaka-player/commit/fa8f5fc57949c44470aa908a4e8866cd4e05141a))
20
+ * Fix MediaCapabilities polyfill on Tizen and WebOS ([#4396](https://github.com/shaka-project/shaka-player/issues/4396)) ([89fef08](https://github.com/shaka-project/shaka-player/commit/89fef085634830c40353df06ca5f8ca3e398ef6e)), closes [#4383](https://github.com/shaka-project/shaka-player/issues/4383) [#4357](https://github.com/shaka-project/shaka-player/issues/4357)
21
+ * Fix TextDecoder fallback and browser support check ([#4403](https://github.com/shaka-project/shaka-player/issues/4403)) ([f4c2d32](https://github.com/shaka-project/shaka-player/commit/f4c2d322dffa03a52c4108cd7670df36e5e60d75))
22
+ * Fix UI captions icon state ([#4384](https://github.com/shaka-project/shaka-player/issues/4384)) ([e6465e4](https://github.com/shaka-project/shaka-player/commit/e6465e4f1f146fdb0ff7529ee8a369fda914a5d3)), closes [#4358](https://github.com/shaka-project/shaka-player/issues/4358)
23
+ * Fix VP9 codec checks on Mac Firefox ([#4391](https://github.com/shaka-project/shaka-player/issues/4391)) ([86cae65](https://github.com/shaka-project/shaka-player/commit/86cae652955ca333e24dd13d52c0020935da2adc))
24
+ * **text:** Fix cue region rendering in UI ([#4412](https://github.com/shaka-project/shaka-player/issues/4412)) ([afbc3b6](https://github.com/shaka-project/shaka-player/commit/afbc3b69e5361fa07d60f27b72a11f9e68068f80)), closes [#4381](https://github.com/shaka-project/shaka-player/issues/4381)
25
+ * **text:** Fix TTML render timing and line break issues ([#4407](https://github.com/shaka-project/shaka-player/issues/4407)) ([1e68c6e](https://github.com/shaka-project/shaka-player/commit/1e68c6e1555b169e8e29b311f54826a661cf4b42)), closes [#4381](https://github.com/shaka-project/shaka-player/issues/4381)
26
+
27
+ ## [3.3.8](https://github.com/shaka-project/shaka-player/compare/v3.3.7...v3.3.8) (2022-07-14)
28
+
29
+
30
+ ### Bug Fixes
31
+
32
+ * Add fallback to TextDecoder and TextEncoder ([#4324](https://github.com/shaka-project/shaka-player/issues/4324)) ([2be2af9](https://github.com/shaka-project/shaka-player/commit/2be2af9a112cc093c317356b0ec2d7a090fee1f7))
33
+ * Fix EOS set-top box being identified as Apple. ([#4310](https://github.com/shaka-project/shaka-player/issues/4310)) ([621cda5](https://github.com/shaka-project/shaka-player/commit/621cda57b1a88f85dd69aa70f1f05d01f8582a15))
34
+ * Fix getVideoPlaybackQuality in WebOS 3 ([#4316](https://github.com/shaka-project/shaka-player/issues/4316)) ([d0c4c04](https://github.com/shaka-project/shaka-player/commit/d0c4c04115269d638319c0ab310eaa83e176263e))
35
+ * Fix MediaCapabilities polyfill on Playstation 4 ([#4320](https://github.com/shaka-project/shaka-player/issues/4320)) ([68fc5c4](https://github.com/shaka-project/shaka-player/commit/68fc5c4e3571681569d99cb4887b7bddeb539472))
36
+ * Fix segment index assertions with DAI ([ccc9d1e](https://github.com/shaka-project/shaka-player/commit/ccc9d1ee790a24f5d65d728ab326fcc615edbf66))
37
+ * VTT Cue Parsing On PlayStation 4 ([#4340](https://github.com/shaka-project/shaka-player/issues/4340)) ([e637006](https://github.com/shaka-project/shaka-player/commit/e63700668d71c3b24c71e0c27446ab5c373c9384)), closes [#4321](https://github.com/shaka-project/shaka-player/issues/4321)
38
+
3
39
  ## [3.3.7](https://github.com/shaka-project/shaka-player/compare/v3.3.6...v3.3.7) (2022-06-14)
4
40
 
5
41
 
package/CONTRIBUTORS CHANGED
@@ -24,6 +24,7 @@
24
24
 
25
25
  Aaron Vaage <vaage@google.com>
26
26
  Adrián Gómez Llorente <adgllorente@gmail.com>
27
+ Agajan Jumakuliyev <agajan.tm@gmail.com>
27
28
  Aidan Ridley <aidan.ridley@charter.com>
28
29
  Alex Jones <alexedwardjones@gmail.com>
29
30
  Alvaro Velad Galvan <alvaro.velad@mirada.tv>
@@ -54,6 +55,7 @@ Giorgio Gamberoni <giorgio.gamberoni@gmail.com>
54
55
  Giuseppe Samela <giuseppe.samela@gmail.com>
55
56
  Hichem Taoufik <hichem@code-it.fr>
56
57
  Itay Kinnrot <itay.kinnrot@kaltura.com>
58
+ Isaac Ramirez <isaac.ramirez.herrera@gmail.com>
57
59
  Jacob Trimble <modmaker@google.com>
58
60
  Jason Palmer <jason@jason-palmer.com>
59
61
  Jeffrey Swan <jeffdswan@gmail.com>
@@ -67,6 +69,7 @@ Jonas Birmé <jonas.birme@eyevinn.se>
67
69
  Jono Ward <jonoward@gmail.com>
68
70
  Jozef Chúťka <jozefchutka@gmail.com>
69
71
  Jun Hong Chong <chongjunhong@gmail.com>
72
+ Jürgen Kartnaller <kartnaller@lovelysystems.com>
70
73
  Leandro Ribeiro Moreira <leandro.ribeiro.moreira@gmail.com>
71
74
  Lucas Gabriel Sánchez <unkiwii@gmail.com>
72
75
  Matias Russitto <russitto@gmail.com>
package/README.md CHANGED
@@ -24,6 +24,12 @@ For details on what's coming next, see our [development roadmap](roadmap.md).
24
24
  [offline storage and playback]: https://shaka-player-demo.appspot.com/docs/api/tutorial-offline.html
25
25
 
26
26
 
27
+ ## Maintained branches
28
+
29
+ See [maintained-branches.md](https://github.com/shaka-project/shaka-player/blob/main/maintained-branches.md)
30
+ for the up-to-date list of maintained branches of Shaka Player.
31
+
32
+
27
33
  ## Platform and browser support matrix
28
34
 
29
35
  |Browser |Windows |Mac |Linux |Android |iOS >= 12 |ChromeOS|Other|
@@ -39,6 +45,8 @@ For details on what's coming next, see our [development roadmap](roadmap.md).
39
45
  |Tizen TV³ | - | - | - | - | - | - |**Y**|
40
46
  |WebOS⁶ | - | - | - | - | - | - |**Y**|
41
47
  |Xbox One | - | - | - | - | - | - |**Y**|
48
+ |Playstation 4⁷| - | - | - | - | - | - |**Y**|
49
+ |Playstation 5⁷| - | - | - | - | - | - |**Y**|
42
50
 
43
51
  NOTES:
44
52
  - ¹: On macOS, only Safari 12+ is supported. On iOS, only iOS 12+ is
@@ -53,6 +61,8 @@ NOTES:
53
61
  us.
54
62
  - Official support for LG WebOS TV:
55
63
  https://github.com/shaka-project/shaka-player/issues/1330
64
+ - ⁷: These are expected to work, but are community-supported and untested by
65
+ us.
56
66
 
57
67
  We support iOS 12+ through Apple's native HLS player. We provide the same
58
68
  top-level API, but we just set the video's `src` element to the manifest/media.
@@ -117,7 +127,7 @@ HLS features supported:
117
127
  - Low-latency streaming with partial segments, preload hints, and delta updates
118
128
  - Discontinuity
119
129
  - ISO-BMFF / MP4 / CMAF support
120
- - MPEG-2 TS support (transmuxing provided by [mux.js][] v6.1.0+, must be
130
+ - MPEG-2 TS support (transmuxing provided by [mux.js][] v6.2.0+, must be
121
131
  separately included)
122
132
  - WebVTT and TTML
123
133
  - CEA-608/708 captions
@@ -148,6 +158,8 @@ HLS features **not** supported:
148
158
  |Tizen TV |**Y** |**Y** | - |untested⁵ |
149
159
  |WebOS⁷ |untested⁷ |untested⁷| - |untested⁷ |
150
160
  |Xbox One | - |**Y** | - | - |
161
+ |Playstation 4⁷| - |untested⁷| - |untested⁷ |
162
+ |Playstation 5⁷| - |untested⁷| - |untested⁷ |
151
163
 
152
164
  Other DRM systems should work out of the box if they are interoperable and
153
165
  compliant to the EME spec.
@@ -188,7 +200,7 @@ Shaka Player supports:
188
200
  SegmentTemplate@index
189
201
  - Not supported in HLS
190
202
  - MPEG-2 TS
191
- - With help from [mux.js][] v6.1.0+, can be played on any browser which
203
+ - With help from [mux.js][] v6.2.0+, can be played on any browser which
192
204
  supports MP4
193
205
  - Can find and parse timestamps to find segment start time in HLS
194
206
  - WebVTT
@@ -197,10 +209,10 @@ Shaka Player supports:
197
209
  - Supported in both XML form and embedded in MP4
198
210
  - CEA-608
199
211
  - Supported embedded in MP4
200
- - With help from [mux.js][] v6.1.0+, supported embedded in TS
212
+ - With help from [mux.js][] v6.2.0+, supported embedded in TS
201
213
  - CEA-708
202
214
  - Supported embedded in MP4
203
- - With help from [mux.js][] v6.1.0+, supported embedded in TS
215
+ - With help from [mux.js][] v6.2.0+, supported embedded in TS
204
216
  - SubRip (SRT)
205
217
  - UTF-8 encoding only
206
218
  - LyRiCs (LRC)
@@ -228,8 +240,10 @@ attributes.
228
240
  * [Hosted builds on jsDelivr](https://www.jsdelivr.com/package/npm/shaka-player)
229
241
  * [Development roadmap](roadmap.md)
230
242
  * [Announcement list](https://groups.google.com/forum/#!forum/shaka-player-users)
231
- ([join](docs/announcement-list-join-group.png) for release and survey
232
- announcements)
243
+ ([join](docs/announcement-list-join-group.png) for infrequent
244
+ announcements and surveys)
245
+ * Subscribe to releases by following
246
+ [instructions from this blog](https://www.jessesquires.com/blog/2020/07/30/github-tip-watching-releases/)
233
247
 
234
248
 
235
249
  ## FAQ ##
package/demo/index.html CHANGED
@@ -50,8 +50,6 @@
50
50
  <script defer src="../node_modules/tippy.js/umd/index.min.js"></script>
51
51
  <!-- Improved PWA capability on mobile Safari is enabled by loading pwacompat: -->
52
52
  <script defer src="../node_modules/pwacompat/pwacompat.min.js"></script>
53
- <!-- TextDecoder polyfill, required for legacy Edge. -->
54
- <script defer src="../node_modules/fastestsmallesttextencoderdecoder/EncoderDecoderTogether.min.js"></script>
55
53
 
56
54
  <!-- Include IMA SDK to enable client-side ad insertion: -->
57
55
  <script type="text/javascript" src="https://imasdk.googleapis.com/js/sdkloader/ima3.js"></script>
package/dist/controls.css CHANGED
@@ -27,7 +27,7 @@
27
27
  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
28
28
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
29
29
  * SOFTWARE.
30
- */.shaka-spinner-svg{position:absolute;top:0;left:0;right:0;bottom:0;animation:rotate 2s linear infinite;transform-origin:center center;width:100%;height:100%;margin:0;padding:0}.shaka-spinner-path{stroke:#202124;stroke-dasharray:20,200;stroke-dashoffset:0;animation:dash 1s ease-in-out infinite;stroke-linecap:round}@keyframes rotate{100%{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px}}.shaka-spacer{cursor:default;flex-shrink:1;flex-grow:1;margin:0}.shaka-overflow-menu,.shaka-settings-menu{overflow-x:hidden;overflow-y:auto;white-space:nowrap;background:#fff;box-shadow:0 1px 9px 0 rgba(0 0 0 / 40%);border-radius:2px;max-height:250px;min-width:180px;opacity:0;transition:opacity cubic-bezier(.4, 0, .6, 1) .6s;display:flex;flex-direction:column;position:absolute;z-index:2;right:15px;bottom:30px}.shaka-controls-container[casting=true] .shaka-overflow-menu,.shaka-controls-container[casting=true] .shaka-settings-menu,.shaka-controls-container[shown=true] .shaka-overflow-menu,.shaka-controls-container[shown=true] .shaka-settings-menu{opacity:1}.shaka-overflow-menu button,.shaka-settings-menu button{font-size:14px;background:0 0;color:#000;border:none;min-height:30px;padding:3.5px 6px;display:flex;align-items:center;cursor:pointer}.shaka-overflow-menu button:hover,.shaka-settings-menu button:hover{background:#e0e0e0}.shaka-overflow-menu button label,.shaka-settings-menu button label{cursor:pointer}.shaka-keyboard-navigation .shaka-overflow-menu button:focus,.shaka-keyboard-navigation .shaka-settings-menu button:focus{background:#e0e0e0}.shaka-overflow-menu i,.shaka-settings-menu i{padding-left:10px;padding-right:10px}.shaka-overflow-menu.shaka-low-position,.shaka-settings-menu.shaka-low-position{bottom:15px}.shaka-overflow-menu span{text-align:left}.shaka-overflow-button-label{position:relative;display:flex;flex-direction:column}.shaka-current-selection-span{color:rgba(0 0 0 / 54%)}.shaka-settings-menu span{margin-left:54px}.shaka-back-to-overflow-button span{margin-left:0}.shaka-back-to-overflow-button i{padding-right:20px}.shaka-auto-span{left:17px}.shaka-controls-container[ad-active=true]{pointer-events:none}.shaka-controls-container[ad-active=true] .shaka-bottom-controls{pointer-events:auto}.shaka-client-side-ad-container,.shaka-server-side-ad-container{position:absolute;left:0;right:0;top:0;bottom:0}.shaka-video-container[shaka-controls=true] .shaka-client-side-ad-container iframe,.shaka-video-container[shaka-controls=true] .shaka-server-side-ad-container iframe{height:90%}.shaka-server-side-ad-container{width:100%;height:100%;flex-shrink:1}.shaka-server-side-ad-container:not([ad-active=true]){pointer-events:none}.shaka-ad-controls{display:flex;flex-direction:row;z-index:1;padding-bottom:1%}.shaka-video-container:not([shaka-controls=true]) .shaka-ad-controls{display:none}.shaka-ad-controls button,.shaka-ad-controls div{color:#fff;font-size:initial}.shaka-ad-controls div:not(.shaka-skip-ad-counter){margin:1px}.shaka-ad-counter,.shaka-ad-position{display:flex;justify-content:flex-end;flex-direction:column;text-shadow:1px 1px 4px #000}.shaka-skip-ad-container{position:relative;right:calc((100% - 96%)/ 2 * -1);display:flex;flex-direction:row;margin:0}.shaka-skip-ad-button{padding:5px 15px;background:rgba(0 0 0 / 70%);border:none;cursor:pointer}.shaka-skip-ad-button:disabled{background:rgba(0 0 0 / 30%)}.shaka-skip-ad-counter{padding:5px;background:rgba(0 0 0 / 70%);margin:0}/*!
30
+ */.shaka-spinner-svg{position:absolute;top:0;left:0;right:0;bottom:0;animation:rotate 2s linear infinite;transform-origin:center center;width:100%;height:100%;margin:0;padding:0}.shaka-spinner-path{stroke:#202124;stroke-dasharray:20,200;stroke-dashoffset:0;animation:dash 1s ease-in-out infinite;stroke-linecap:round}@keyframes rotate{100%{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px}}.shaka-spacer{cursor:default;flex-shrink:1;flex-grow:1;margin:0}.shaka-overflow-menu,.shaka-settings-menu{overflow-x:hidden;overflow-y:auto;white-space:nowrap;background:#fff;box-shadow:0 1px 9px 0 rgba(0 0 0 / 40%);border-radius:2px;max-height:250px;min-width:180px;opacity:0;transition:opacity cubic-bezier(.4, 0, .6, 1) .6s;display:flex;flex-direction:column;position:absolute;z-index:2;right:15px;bottom:30px}.shaka-controls-container[casting=true] .shaka-overflow-menu,.shaka-controls-container[casting=true] .shaka-settings-menu,.shaka-controls-container[shown=true] .shaka-overflow-menu,.shaka-controls-container[shown=true] .shaka-settings-menu{opacity:1}.shaka-overflow-menu button,.shaka-settings-menu button{font-size:14px;background:0 0;color:#000;border:none;min-height:30px;padding:3.5px 6px;display:flex;align-items:center;cursor:pointer}.shaka-overflow-menu button:hover,.shaka-settings-menu button:hover{background:#e0e0e0}.shaka-overflow-menu button label,.shaka-settings-menu button label{cursor:pointer}.shaka-keyboard-navigation .shaka-overflow-menu button:focus,.shaka-keyboard-navigation .shaka-settings-menu button:focus{background:#e0e0e0}.shaka-overflow-menu i,.shaka-settings-menu i{padding-left:10px;padding-right:10px}.shaka-overflow-menu.shaka-low-position,.shaka-settings-menu.shaka-low-position{bottom:15px}.shaka-overflow-menu span{text-align:left}.shaka-overflow-button-label{position:relative;display:flex;flex-direction:column}.shaka-current-selection-span{color:rgba(0 0 0 / 54%)}.shaka-settings-menu span{margin-left:54px}.shaka-back-to-overflow-button span{margin-left:0}.shaka-back-to-overflow-button i{padding-right:20px}.shaka-auto-span{left:17px}.shaka-controls-container[ad-active=true]{pointer-events:none}.shaka-controls-container[ad-active=true] .shaka-bottom-controls{pointer-events:auto}.shaka-client-side-ad-container,.shaka-server-side-ad-container{position:absolute;left:0;right:0;top:0;bottom:0}.shaka-video-container[shaka-controls=true] .shaka-client-side-ad-container iframe,.shaka-video-container[shaka-controls=true] .shaka-server-side-ad-container iframe{height:90%}.shaka-server-side-ad-container{width:100%;height:100%;flex-shrink:1}.shaka-server-side-ad-container:not([ad-active=true]){pointer-events:none}.shaka-ad-controls{display:flex;flex-direction:row;z-index:1;padding-bottom:1%}.shaka-video-container:not([shaka-controls=true]) .shaka-ad-controls{display:none}.shaka-ad-controls button,.shaka-ad-controls div{color:#fff;font-size:initial}.shaka-ad-controls div:not(.shaka-skip-ad-counter){margin:1px}.shaka-ad-counter,.shaka-ad-position{display:flex;justify-content:flex-end;flex-direction:column;text-shadow:1px 1px 4px #000}.shaka-ad-controls .shaka-ad-position:not(.shaka-hidden)+.shaka-ad-counter{margin-left:.75em}.shaka-skip-ad-container{position:relative;right:calc((100% - 96%)/ 2 * -1);display:flex;flex-direction:row;margin:0}.shaka-skip-ad-button{padding:5px 15px;background:rgba(0 0 0 / 70%);border:none;cursor:pointer}.shaka-skip-ad-button:disabled{background:rgba(0 0 0 / 30%)}.shaka-skip-ad-counter{padding:5px;background:rgba(0 0 0 / 70%);margin:0}/*!
31
31
  * @license
32
32
  * The tooltip is based on https://github.com/felipefialho/css-components/
33
33
  * Local modifications have been performed.
@@ -51,4 +51,4 @@
51
51
  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
52
52
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
53
53
  * SOFTWARE.
54
- */.shaka-tooltips-on{overflow:visible}.shaka-tooltips-on>[class*=shaka-tooltip]{position:relative}.shaka-tooltips-on>[class*=shaka-tooltip]:active:after,.shaka-tooltips-on>[class*=shaka-tooltip]:focus-visible:after,.shaka-tooltips-on>[class*=shaka-tooltip]:hover:after{content:attr(aria-label);font-family:Roboto-Regular,Roboto,sans-serif;line-height:calc(32px / 2);white-space:nowrap;font-size:13px;background:rgba(35 35 35 / 90%);color:#fff;border-radius:3px;padding:5px 10px;position:absolute;bottom:calc(32px + 5px);left:calc(32px / 2);-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);-ms-transform:translateX(-50%);-o-transform:translateX(-50%);transform:translateX(-50%)}.shaka-tooltips-on>.shaka-tooltip-status:active:after,.shaka-tooltips-on>.shaka-tooltip-status:focus-visible:after,.shaka-tooltips-on>.shaka-tooltip-status:hover:after{content:attr(aria-label) " (" attr(shaka-status) ")"}.shaka-tooltips-on button:first-child:active:after,.shaka-tooltips-on button:first-child:focus-visible:after,.shaka-tooltips-on button:first-child:hover:after{left:0;-webkit-transform:translateX(0);-moz-transform:translateX(0);-ms-transform:translateX(0);-o-transform:translateX(0);transform:translateX(0)}.shaka-tooltips-on button:last-child:active:after,.shaka-tooltips-on button:last-child:focus-visible:after,.shaka-tooltips-on button:last-child:hover:after{left:32px;-webkit-transform:translateX(-100%);-moz-transform:translateX(-100%);-ms-transform:translateX(-100%);-o-transform:translateX(-100%);transform:translateX(-100%)}@font-face{font-family:Roboto;font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/roboto/v30/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/v104/LDItaoyNOAY6Uewc665JcIzCKsKc_M9flwmM.otf) format('opentype')}.material-icons-round{font-family:'Material Icons Round';font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr}/*# sourceMappingURL=controls.css.map */
54
+ */.shaka-tooltips-on{overflow:visible}.shaka-tooltips-on>[class*=shaka-tooltip]{position:relative}.shaka-tooltips-on>[class*=shaka-tooltip]:active:after,.shaka-tooltips-on>[class*=shaka-tooltip]:focus-visible:after,.shaka-tooltips-on>[class*=shaka-tooltip]:hover:after{content:attr(aria-label);font-family:Roboto-Regular,Roboto,sans-serif;line-height:calc(32px / 2);white-space:nowrap;font-size:13px;background:rgba(35 35 35 / 90%);color:#fff;border-radius:3px;padding:5px 10px;position:absolute;bottom:calc(32px + 5px);left:calc(32px / 2);-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);-ms-transform:translateX(-50%);-o-transform:translateX(-50%);transform:translateX(-50%)}.shaka-tooltips-on>.shaka-tooltip-status:active:after,.shaka-tooltips-on>.shaka-tooltip-status:focus-visible:after,.shaka-tooltips-on>.shaka-tooltip-status:hover:after{content:attr(aria-label) " (" attr(shaka-status) ")"}.shaka-tooltips-on button:first-child:active:after,.shaka-tooltips-on button:first-child:focus-visible:after,.shaka-tooltips-on button:first-child:hover:after{left:0;-webkit-transform:translateX(0);-moz-transform:translateX(0);-ms-transform:translateX(0);-o-transform:translateX(0);transform:translateX(0)}.shaka-tooltips-on button:last-child:active:after,.shaka-tooltips-on button:last-child:focus-visible:after,.shaka-tooltips-on button:last-child:hover:after{left:32px;-webkit-transform:translateX(-100%);-moz-transform:translateX(-100%);-ms-transform:translateX(-100%);-o-transform:translateX(-100%);transform:translateX(-100%)}@font-face{font-family:Roboto;font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/roboto/v30/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/v107/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":["$stdin"],"names":[],"mappings":"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"}
1
+ {"version":3,"sources":["$stdin"],"names":[],"mappings":"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"}
package/dist/deps.js CHANGED
@@ -126,7 +126,7 @@ goog.addDependency('../../../../lib/polyfill/random_uuid.js', ['shaka.polyfill.R
126
126
  goog.addDependency('../../../../lib/polyfill/storage_estimate.js', ['shaka.polyfill.StorageEstimate'], ['shaka.polyfill'], {'lang': 'es8'});
127
127
  goog.addDependency('../../../../lib/polyfill/symbol.js', ['shaka.polyfill.Symbol'], ['shaka.log', 'shaka.polyfill'], {'lang': 'es6'});
128
128
  goog.addDependency('../../../../lib/polyfill/video_play_promise.js', ['shaka.polyfill.VideoPlayPromise'], ['shaka.log', 'shaka.polyfill'], {'lang': 'es6'});
129
- goog.addDependency('../../../../lib/polyfill/videoplaybackquality.js', ['shaka.polyfill.VideoPlaybackQuality'], ['shaka.polyfill'], {'lang': 'es6'});
129
+ goog.addDependency('../../../../lib/polyfill/videoplaybackquality.js', ['shaka.polyfill.VideoPlaybackQuality'], ['shaka.polyfill', 'shaka.util.Platform'], {'lang': 'es6'});
130
130
  goog.addDependency('../../../../lib/polyfill/vttcue.js', ['shaka.polyfill.VTTCue'], ['shaka.log', 'shaka.polyfill'], {'lang': 'es6'});
131
131
  goog.addDependency('../../../../lib/routing/node.js', ['shaka.routing.Node'], []);
132
132
  goog.addDependency('../../../../lib/routing/payload.js', ['shaka.routing.Payload'], []);
@@ -183,7 +183,7 @@ goog.addDependency('../../../../lib/util/public_promise.js', ['shaka.util.Public
183
183
  goog.addDependency('../../../../lib/util/state_history.js', ['shaka.util.StateHistory'], ['goog.asserts', 'shaka.log'], {'lang': 'es6'});
184
184
  goog.addDependency('../../../../lib/util/stats.js', ['shaka.util.Stats'], ['shaka.util.StateHistory', 'shaka.util.SwitchHistory'], {'lang': 'es6'});
185
185
  goog.addDependency('../../../../lib/util/stream_utils.js', ['shaka.util.StreamUtils'], ['goog.asserts', 'shaka.log', 'shaka.text.TextEngine', 'shaka.util.Functional', 'shaka.util.LanguageUtils', 'shaka.util.ManifestParserUtils', 'shaka.util.MimeUtils', 'shaka.util.MultiMap', 'shaka.util.Platform'], {'lang': 'es8'});
186
- goog.addDependency('../../../../lib/util/string_utils.js', ['shaka.util.StringUtils'], ['goog.asserts', 'shaka.log', 'shaka.util.BufferUtils', 'shaka.util.Error', 'shaka.util.Lazy'], {'lang': 'es6'});
186
+ goog.addDependency('../../../../lib/util/string_utils.js', ['shaka.util.StringUtils'], ['goog.asserts', 'shaka.log', 'shaka.util.BufferUtils', 'shaka.util.Error', 'shaka.util.Lazy', 'shaka.util.Platform'], {'lang': 'es6'});
187
187
  goog.addDependency('../../../../lib/util/switch_history.js', ['shaka.util.SwitchHistory'], [], {'lang': 'es6'});
188
188
  goog.addDependency('../../../../lib/util/text_parser.js', ['shaka.util.TextParser'], ['goog.asserts'], {'lang': 'es6'});
189
189
  goog.addDependency('../../../../lib/util/timer.js', ['shaka.util.Timer'], ['shaka.util.DelayedTick'], {'lang': 'es6'});
package/dist/locales.js CHANGED
@@ -720,44 +720,44 @@ shaka.ui.Locales.addTo = function(localization) {
720
720
  * @const
721
721
  */
722
722
  shaka.ui.Locales.Ids = {
723
+ PLAYBACK_RATE: 'PLAYBACK_RATE',
724
+ CAPTIONS: 'CAPTIONS',
725
+ FULL_SCREEN: 'FULL_SCREEN',
726
+ UNDETERMINED_LANGUAGE: 'UNDETERMINED_LANGUAGE',
727
+ CAST: 'CAST',
728
+ OFF: 'OFF',
729
+ EXIT_FULL_SCREEN: 'EXIT_FULL_SCREEN',
730
+ FAST_FORWARD: 'FAST_FORWARD',
731
+ AD_TIME: 'AD_TIME',
732
+ PLAY: 'PLAY',
733
+ EXIT_LOOP_MODE: 'EXIT_LOOP_MODE',
734
+ ENTER_PICTURE_IN_PICTURE: 'ENTER_PICTURE_IN_PICTURE',
735
+ STATISTICS: 'STATISTICS',
736
+ SKIP_AD: 'SKIP_AD',
737
+ UNMUTE: 'UNMUTE',
738
+ SEEK: 'SEEK',
723
739
  AD_PROGRESS: 'AD_PROGRESS',
740
+ UNRECOGNIZED_LANGUAGE: 'UNRECOGNIZED_LANGUAGE',
724
741
  RESOLUTION: 'RESOLUTION',
725
- AIRPLAY: 'AIRPLAY',
726
- EXIT_FULL_SCREEN: 'EXIT_FULL_SCREEN',
727
- SUBTITLE_FORCED: 'SUBTITLE_FORCED',
728
- LIVE: 'LIVE',
729
742
  MORE_SETTINGS: 'MORE_SETTINGS',
730
743
  PAUSE: 'PAUSE',
731
- SEEK: 'SEEK',
744
+ AUTO_QUALITY: 'AUTO_QUALITY',
745
+ MULTIPLE_LANGUAGES: 'MULTIPLE_LANGUAGES',
746
+ NOT_APPLICABLE: 'NOT_APPLICABLE',
732
747
  REWIND: 'REWIND',
733
- REPLAY: 'REPLAY',
734
- ENTER_PICTURE_IN_PICTURE: 'ENTER_PICTURE_IN_PICTURE',
735
- AD_TIME: 'AD_TIME',
736
- UNDETERMINED_LANGUAGE: 'UNDETERMINED_LANGUAGE',
748
+ VOLUME: 'VOLUME',
749
+ AIRPLAY: 'AIRPLAY',
750
+ SUBTITLE_FORCED: 'SUBTITLE_FORCED',
751
+ EXIT_PICTURE_IN_PICTURE: 'EXIT_PICTURE_IN_PICTURE',
752
+ SKIP_TO_LIVE: 'SKIP_TO_LIVE',
737
753
  AD_DURATION: 'AD_DURATION',
738
- FAST_FORWARD: 'FAST_FORWARD',
739
- OFF: 'OFF',
740
- ON: 'ON',
754
+ LOOP: 'LOOP',
741
755
  PICTURE_IN_PICTURE: 'PICTURE_IN_PICTURE',
742
- MULTIPLE_LANGUAGES: 'MULTIPLE_LANGUAGES',
756
+ ON: 'ON',
757
+ LANGUAGE: 'LANGUAGE',
743
758
  MUTE: 'MUTE',
744
- UNMUTE: 'UNMUTE',
745
- EXIT_PICTURE_IN_PICTURE: 'EXIT_PICTURE_IN_PICTURE',
746
- AUTO_QUALITY: 'AUTO_QUALITY',
747
- UNRECOGNIZED_LANGUAGE: 'UNRECOGNIZED_LANGUAGE',
748
- PLAY: 'PLAY',
749
- LOOP: 'LOOP',
750
- NOT_APPLICABLE: 'NOT_APPLICABLE',
751
- BACK: 'BACK',
752
- PLAYBACK_RATE: 'PLAYBACK_RATE',
753
- EXIT_LOOP_MODE: 'EXIT_LOOP_MODE',
754
- SKIP_TO_LIVE: 'SKIP_TO_LIVE',
755
- STATISTICS: 'STATISTICS',
759
+ REPLAY: 'REPLAY',
760
+ LIVE: 'LIVE',
756
761
  ENTER_LOOP_MODE: 'ENTER_LOOP_MODE',
757
- FULL_SCREEN: 'FULL_SCREEN',
758
- VOLUME: 'VOLUME',
759
- LANGUAGE: 'LANGUAGE',
760
- CAPTIONS: 'CAPTIONS',
761
- CAST: 'CAST',
762
- SKIP_AD: 'SKIP_AD',
762
+ BACK: 'BACK',
763
763
  };
@@ -930,6 +930,17 @@ declare namespace shaka.media {
930
930
  getSegmentAvailabilityStart ( ) : number ;
931
931
  isInProgress ( ) : boolean ;
932
932
  isLive ( ) : boolean ;
933
+ /**
934
+ * Lock the presentation timeline's start time. After this is called, no
935
+ * further adjustments to presentationStartTime_ will be permitted.
936
+ * This should be called after all Periods have been parsed, and all calls to
937
+ * notifySegments() from the initial manifest parse have been made.
938
+ * Without this, we can get assertion failures in SegmentIndex for certain
939
+ * DAI content. If DAI adds ad segments to the manifest faster than
940
+ * real-time, adjustments to presentationStartTime_ can cause availability
941
+ * windows to jump around on updates.
942
+ */
943
+ lockStartTime ( ) : any ;
933
944
  /**
934
945
  * Gives PresentationTimeline a Stream's maximum segment duration so it can
935
946
  * size and position the segment availability window. This function should be
@@ -1680,7 +1691,7 @@ declare namespace shaka.text {
1680
1691
  linePadding : any ;
1681
1692
  nestedCues : any ;
1682
1693
  opacity : any ;
1683
- payload : string ;
1694
+ payload : any ;
1684
1695
  position : any ;
1685
1696
  positionAlign : any ;
1686
1697
  region : any ;
@@ -930,6 +930,17 @@ declare namespace shaka.media {
930
930
  getSegmentAvailabilityStart ( ) : number ;
931
931
  isInProgress ( ) : boolean ;
932
932
  isLive ( ) : boolean ;
933
+ /**
934
+ * Lock the presentation timeline's start time. After this is called, no
935
+ * further adjustments to presentationStartTime_ will be permitted.
936
+ * This should be called after all Periods have been parsed, and all calls to
937
+ * notifySegments() from the initial manifest parse have been made.
938
+ * Without this, we can get assertion failures in SegmentIndex for certain
939
+ * DAI content. If DAI adds ad segments to the manifest faster than
940
+ * real-time, adjustments to presentationStartTime_ can cause availability
941
+ * windows to jump around on updates.
942
+ */
943
+ lockStartTime ( ) : any ;
933
944
  /**
934
945
  * Gives PresentationTimeline a Stream's maximum segment duration so it can
935
946
  * size and position the segment availability window. This function should be
@@ -1680,7 +1691,7 @@ declare namespace shaka.text {
1680
1691
  linePadding : any ;
1681
1692
  nestedCues : any ;
1682
1693
  opacity : any ;
1683
- payload : string ;
1694
+ payload : any ;
1684
1695
  position : any ;
1685
1696
  positionAlign : any ;
1686
1697
  region : any ;
@@ -61,7 +61,6 @@ shaka.text.Cue.prototype.direction;
61
61
  shaka.text.Cue.prototype.endTime;
62
62
  /**
63
63
  * @override
64
- * @type {string}
65
64
  */
66
65
  shaka.text.Cue.prototype.payload;
67
66
  /**
@@ -386,6 +385,7 @@ shaka.util.BufferUtils = class {
386
385
  * @param {?BufferSource} arr1
387
386
  * @param {?BufferSource} arr2
388
387
  * @return {boolean}
388
+ * @suppress {strictMissingProperties}
389
389
  */
390
390
  static equal(arr1, arr2) {}
391
391
  /**
@@ -653,6 +653,43 @@ shaka.util.Error.Code = {
653
653
  'SS_AD_MANAGER_NOT_INITIALIZED': 10003,
654
654
  'CURRENT_DAI_REQUEST_NOT_FINISHED': 10004
655
655
  };
656
+ /**
657
+ * A timer allows a single function to be executed at a later time or at
658
+ * regular intervals.
659
+ * @final
660
+ */
661
+ shaka.util.Timer = class {
662
+ /**
663
+ * Create a new timer. A timer is committed to a single callback function.
664
+ * While there is no technical reason to do this, it is far easier to
665
+ * understand and use timers when they are connected to one functional idea.
666
+ * @param {function()} onTick
667
+ */
668
+ constructor(onTick) {}
669
+ /**
670
+ * Have the timer call |onTick| now.
671
+ * @return {!shaka.util.Timer}
672
+ */
673
+ tickNow() {}
674
+ /**
675
+ * Have the timer call |onTick| after |seconds| has elapsed unless |stop| is
676
+ * called first.
677
+ * @param {number} seconds
678
+ * @return {!shaka.util.Timer}
679
+ */
680
+ tickAfter(seconds) {}
681
+ /**
682
+ * Have the timer call |onTick| every |seconds| until |stop| is called.
683
+ * @param {number} seconds
684
+ * @return {!shaka.util.Timer}
685
+ */
686
+ tickEvery(seconds) {}
687
+ /**
688
+ * Stop the timer and clear the previous behaviour. The timer is still usable
689
+ * after calling |stop|.
690
+ */
691
+ stop() {}
692
+ };
656
693
  /**
657
694
  * @namespace shaka.util.StringUtils
658
695
  * @summary A set of string utility functions.
@@ -923,43 +960,6 @@ shaka.util.LanguageUtils = class {
923
960
  */
924
961
  static findClosestLocale(target, searchSpace) {}
925
962
  };
926
- /**
927
- * A timer allows a single function to be executed at a later time or at
928
- * regular intervals.
929
- * @final
930
- */
931
- shaka.util.Timer = class {
932
- /**
933
- * Create a new timer. A timer is committed to a single callback function.
934
- * While there is no technical reason to do this, it is far easier to
935
- * understand and use timers when they are connected to one functional idea.
936
- * @param {function()} onTick
937
- */
938
- constructor(onTick) {}
939
- /**
940
- * Have the timer call |onTick| now.
941
- * @return {!shaka.util.Timer}
942
- */
943
- tickNow() {}
944
- /**
945
- * Have the timer call |onTick| after |seconds| has elapsed unless |stop| is
946
- * called first.
947
- * @param {number} seconds
948
- * @return {!shaka.util.Timer}
949
- */
950
- tickAfter(seconds) {}
951
- /**
952
- * Have the timer call |onTick| every |seconds| until |stop| is called.
953
- * @param {number} seconds
954
- * @return {!shaka.util.Timer}
955
- */
956
- tickEvery(seconds) {}
957
- /**
958
- * Stop the timer and clear the previous behaviour. The timer is still usable
959
- * after calling |stop|.
960
- */
961
- stop() {}
962
- };
963
963
  /**
964
964
  * @summary
965
965
  * <p>
@@ -1833,6 +1833,17 @@ shaka.media.PresentationTimeline = class {
1833
1833
  * @param {!Array.<!shaka.media.SegmentReference>} references
1834
1834
  */
1835
1835
  notifySegments(references) {}
1836
+ /**
1837
+ * Lock the presentation timeline's start time. After this is called, no
1838
+ * further adjustments to presentationStartTime_ will be permitted.
1839
+ * This should be called after all Periods have been parsed, and all calls to
1840
+ * notifySegments() from the initial manifest parse have been made.
1841
+ * Without this, we can get assertion failures in SegmentIndex for certain
1842
+ * DAI content. If DAI adds ad segments to the manifest faster than
1843
+ * real-time, adjustments to presentationStartTime_ can cause availability
1844
+ * windows to jump around on updates.
1845
+ */
1846
+ lockStartTime() {}
1836
1847
  /**
1837
1848
  * Gives PresentationTimeline a Stream's minimum segment start time.
1838
1849
  * @param {number} startTime