shaka-player 3.3.7 → 3.3.8

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 (119) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/CONTRIBUTORS +2 -0
  3. package/README.md +20 -6
  4. package/demo/index.html +0 -2
  5. package/dist/controls.css +1 -1
  6. package/dist/deps.js +2 -2
  7. package/dist/locales.js +30 -30
  8. package/dist/shaka-player.compiled.d.ts +11 -0
  9. package/dist/shaka-player.compiled.debug.d.ts +11 -0
  10. package/dist/shaka-player.compiled.debug.externs.js +48 -37
  11. package/dist/shaka-player.compiled.debug.js +31 -26
  12. package/dist/shaka-player.compiled.debug.map +4 -4
  13. package/dist/shaka-player.compiled.externs.js +48 -37
  14. package/dist/shaka-player.compiled.js +761 -760
  15. package/dist/shaka-player.compiled.map +4 -4
  16. package/dist/shaka-player.ui.d.ts +11 -0
  17. package/dist/shaka-player.ui.debug.d.ts +11 -0
  18. package/dist/shaka-player.ui.debug.externs.js +48 -37
  19. package/dist/shaka-player.ui.debug.js +33 -28
  20. package/dist/shaka-player.ui.debug.map +4 -4
  21. package/dist/shaka-player.ui.externs.js +48 -37
  22. package/dist/shaka-player.ui.js +876 -875
  23. package/dist/shaka-player.ui.map +4 -4
  24. package/docs/tutorials/welcome.md +6 -3
  25. package/lib/dash/dash_parser.js +5 -0
  26. package/lib/hls/hls_parser.js +6 -2
  27. package/lib/media/presentation_timeline.js +24 -1
  28. package/lib/player.js +1 -1
  29. package/lib/polyfill/media_capabilities.js +1 -0
  30. package/lib/polyfill/videoplaybackquality.js +3 -1
  31. package/lib/util/platform.js +41 -1
  32. package/lib/util/string_utils.js +56 -14
  33. package/maintained-branches.md +15 -0
  34. package/package.json +2 -4
  35. package/app-engine/README.md +0 -9
  36. package/app-engine/demo-version-index/README.md +0 -14
  37. package/app-engine/demo-version-index/app.yaml +0 -2
  38. package/app-engine/demo-version-index/main.py +0 -162
  39. package/app-engine/demo-version-index/requirements.txt +0 -6
  40. package/app-engine/demo-version-index/templates/index.html +0 -114
  41. package/app-engine/shaka-player-demo/README.md +0 -18
  42. package/app-engine/shaka-player-demo/app.yaml +0 -61
  43. package/app-engine/shaka-player-demo/main.py +0 -95
  44. package/app-engine/shaka-player-demo/posters/10yo.png +0 -0
  45. package/app-engine/shaka-player-demo/posters/10yo.xcf +0 -0
  46. package/app-engine/shaka-player-demo/posters/1yo.jpg +0 -0
  47. package/app-engine/shaka-player-demo/posters/2yo.png +0 -0
  48. package/app-engine/shaka-player-demo/posters/2yo.xcf +0 -0
  49. package/app-engine/shaka-player-demo/posters/3yo.png +0 -0
  50. package/app-engine/shaka-player-demo/posters/3yo.xcf +0 -0
  51. package/app-engine/shaka-player-demo/posters/4yo.png +0 -0
  52. package/app-engine/shaka-player-demo/posters/4yo.xcf +0 -0
  53. package/app-engine/shaka-player-demo/posters/5yo.png +0 -0
  54. package/app-engine/shaka-player-demo/posters/5yo.xcf +0 -0
  55. package/app-engine/shaka-player-demo/posters/6yo.png +0 -0
  56. package/app-engine/shaka-player-demo/posters/6yo.xcf +0 -0
  57. package/app-engine/shaka-player-demo/posters/7yo.png +0 -0
  58. package/app-engine/shaka-player-demo/posters/7yo.xcf +0 -0
  59. package/app-engine/shaka-player-demo/posters/8yo.png +0 -0
  60. package/app-engine/shaka-player-demo/posters/8yo.xcf +0 -0
  61. package/app-engine/shaka-player-demo/posters/9yo.png +0 -0
  62. package/app-engine/shaka-player-demo/posters/9yo.xcf +0 -0
  63. package/app-engine/shaka-player-demo/posters/audioOnly.gif +0 -0
  64. package/app-engine/shaka-player-demo/posters/audioRickRoll.gif +0 -0
  65. package/app-engine/shaka-player-demo/posters/colorbars.gif +0 -0
  66. package/app-engine/shaka-player-demo/posters/fireworks.jpg +0 -0
  67. package/app-engine/shaka-player-demo/posters/party-hat.png +0 -0
  68. package/app-engine/shaka-player-demo/posters/sources.txt +0 -46
  69. package/app-engine/shaka-player-demo/posters/standard.png +0 -0
  70. package/app-engine/shaka-player-demo/posters/trek.jpg +0 -0
  71. package/app-engine/shaka-player-demo/posters/valentines.png +0 -0
  72. package/app-engine/shaka-player-demo/posters/zombie.jpg +0 -0
  73. package/app-engine/shaka-player-demo/posters.py +0 -110
  74. package/app-engine/shaka-player-demo/requirements.txt +0 -5
  75. package/app-engine/shaka-player-demo/time.txt +0 -1
  76. package/build/README.md +0 -127
  77. package/build/__init__.py +0 -0
  78. package/build/all.py +0 -150
  79. package/build/apps.py +0 -186
  80. package/build/build.py +0 -392
  81. package/build/check.py +0 -354
  82. package/build/checkversion.py +0 -84
  83. package/build/compiler.py +0 -513
  84. package/build/conformance.textproto +0 -335
  85. package/build/docker/Dockerfile +0 -20
  86. package/build/docker/docker-compose.yml +0 -10
  87. package/build/docs.py +0 -54
  88. package/build/eslint-plugin-shaka-rules/arg-comment-spacing.js +0 -72
  89. package/build/eslint-plugin-shaka-rules/index.js +0 -24
  90. package/build/eslint-plugin-shaka-rules/package.json +0 -7
  91. package/build/eslint-plugin-shaka-rules/private.js +0 -109
  92. package/build/gendeps.py +0 -71
  93. package/build/generateExterns.js +0 -867
  94. package/build/generateLocalizations.py +0 -262
  95. package/build/generateTsDefs.py +0 -137
  96. package/build/install-linux-prereqs.sh +0 -136
  97. package/build/license-header +0 -5
  98. package/build/misspellings.txt +0 -38
  99. package/build/pixelsChanged.js +0 -35
  100. package/build/shaka-lab.yaml +0 -163
  101. package/build/shakaBuildHelpers.py +0 -356
  102. package/build/stats.py +0 -816
  103. package/build/subprocessWindowsPatch.py +0 -103
  104. package/build/test.py +0 -541
  105. package/build/types/ads +0 -8
  106. package/build/types/cast +0 -6
  107. package/build/types/cea +0 -13
  108. package/build/types/complete +0 -9
  109. package/build/types/core +0 -108
  110. package/build/types/dash +0 -8
  111. package/build/types/hls +0 -9
  112. package/build/types/manifests +0 -5
  113. package/build/types/networking +0 -6
  114. package/build/types/offline +0 -22
  115. package/build/types/polyfill +0 -21
  116. package/build/types/text +0 -11
  117. package/build/types/ui +0 -39
  118. package/build/updateScreenshots.py +0 -85
  119. package/build/wrapper.template.js +0 -52
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # Changelog
2
2
 
3
+ ## [3.3.8](https://github.com/shaka-project/shaka-player/compare/v3.3.7...v3.3.8) (2022-07-14)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * 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))
9
+ * 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))
10
+ * 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))
11
+ * 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))
12
+ * Fix segment index assertions with DAI ([ccc9d1e](https://github.com/shaka-project/shaka-player/commit/ccc9d1ee790a24f5d65d728ab326fcc615edbf66))
13
+ * 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)
14
+
3
15
  ## [3.3.7](https://github.com/shaka-project/shaka-player/compare/v3.3.6...v3.3.7) (2022-06-14)
4
16
 
5
17
 
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>
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
@@ -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/v105/LDItaoyNOAY6Uewc665JcIzCKsKc_M9flwmM.otf) format('opentype')}.material-icons-round{font-family:'Material Icons Round';font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr}/*# sourceMappingURL=controls.css.map */
package/dist/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
- AD_PROGRESS: 'AD_PROGRESS',
724
- RESOLUTION: 'RESOLUTION',
723
+ EXIT_PICTURE_IN_PICTURE: 'EXIT_PICTURE_IN_PICTURE',
724
+ MUTE: 'MUTE',
725
725
  AIRPLAY: 'AIRPLAY',
726
- EXIT_FULL_SCREEN: 'EXIT_FULL_SCREEN',
727
- SUBTITLE_FORCED: 'SUBTITLE_FORCED',
728
- LIVE: 'LIVE',
729
- MORE_SETTINGS: 'MORE_SETTINGS',
730
- PAUSE: 'PAUSE',
731
- SEEK: 'SEEK',
732
- REWIND: 'REWIND',
733
- REPLAY: 'REPLAY',
734
- ENTER_PICTURE_IN_PICTURE: 'ENTER_PICTURE_IN_PICTURE',
735
- AD_TIME: 'AD_TIME',
736
726
  UNDETERMINED_LANGUAGE: 'UNDETERMINED_LANGUAGE',
727
+ VOLUME: 'VOLUME',
728
+ AUTO_QUALITY: 'AUTO_QUALITY',
737
729
  AD_DURATION: 'AD_DURATION',
730
+ FULL_SCREEN: 'FULL_SCREEN',
731
+ REPLAY: 'REPLAY',
732
+ STATISTICS: 'STATISTICS',
733
+ AD_PROGRESS: 'AD_PROGRESS',
734
+ SUBTITLE_FORCED: 'SUBTITLE_FORCED',
738
735
  FAST_FORWARD: 'FAST_FORWARD',
739
- OFF: 'OFF',
740
- ON: 'ON',
736
+ SKIP_AD: 'SKIP_AD',
737
+ BACK: 'BACK',
738
+ PLAY: 'PLAY',
739
+ PAUSE: 'PAUSE',
741
740
  PICTURE_IN_PICTURE: 'PICTURE_IN_PICTURE',
742
741
  MULTIPLE_LANGUAGES: 'MULTIPLE_LANGUAGES',
743
- 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',
742
+ ON: 'ON',
743
+ RESOLUTION: 'RESOLUTION',
750
744
  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',
756
- ENTER_LOOP_MODE: 'ENTER_LOOP_MODE',
757
- FULL_SCREEN: 'FULL_SCREEN',
758
- VOLUME: 'VOLUME',
759
745
  LANGUAGE: 'LANGUAGE',
746
+ ENTER_LOOP_MODE: 'ENTER_LOOP_MODE',
747
+ REWIND: 'REWIND',
748
+ UNMUTE: 'UNMUTE',
749
+ SKIP_TO_LIVE: 'SKIP_TO_LIVE',
760
750
  CAPTIONS: 'CAPTIONS',
751
+ SEEK: 'SEEK',
752
+ LIVE: 'LIVE',
753
+ PLAYBACK_RATE: 'PLAYBACK_RATE',
761
754
  CAST: 'CAST',
762
- SKIP_AD: 'SKIP_AD',
755
+ EXIT_LOOP_MODE: 'EXIT_LOOP_MODE',
756
+ ENTER_PICTURE_IN_PICTURE: 'ENTER_PICTURE_IN_PICTURE',
757
+ LOOP: 'LOOP',
758
+ AD_TIME: 'AD_TIME',
759
+ EXIT_FULL_SCREEN: 'EXIT_FULL_SCREEN',
760
+ OFF: 'OFF',
761
+ UNRECOGNIZED_LANGUAGE: 'UNRECOGNIZED_LANGUAGE',
762
+ MORE_SETTINGS: 'MORE_SETTINGS',
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
@@ -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
@@ -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