shaka-player 4.0.3 → 4.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -0
- package/CONTRIBUTORS +2 -0
- package/README.md +20 -6
- package/demo/index.html +0 -2
- package/dist/controls.css +1 -1
- package/dist/deps.js +3 -3
- package/dist/locales.js +33 -33
- package/dist/shaka-player.compiled.d.ts +11 -0
- package/dist/shaka-player.compiled.debug.d.ts +11 -0
- package/dist/shaka-player.compiled.debug.externs.js +48 -37
- package/dist/shaka-player.compiled.debug.js +141 -137
- package/dist/shaka-player.compiled.debug.map +4 -4
- package/dist/shaka-player.compiled.externs.js +48 -37
- package/dist/shaka-player.compiled.js +774 -772
- package/dist/shaka-player.compiled.map +4 -4
- package/dist/shaka-player.ui.d.ts +11 -0
- package/dist/shaka-player.ui.debug.d.ts +11 -0
- package/dist/shaka-player.ui.debug.externs.js +48 -37
- package/dist/shaka-player.ui.debug.js +153 -149
- package/dist/shaka-player.ui.debug.map +4 -4
- package/dist/shaka-player.ui.externs.js +48 -37
- package/dist/shaka-player.ui.js +892 -890
- package/dist/shaka-player.ui.map +4 -4
- package/docs/tutorials/upgrade.md +1 -0
- package/docs/tutorials/welcome.md +6 -3
- package/lib/dash/dash_parser.js +5 -0
- package/lib/hls/hls_parser.js +6 -2
- package/lib/media/media_source_engine.js +57 -24
- package/lib/media/presentation_timeline.js +24 -1
- package/lib/media/streaming_engine.js +3 -4
- package/lib/media/time_ranges_utils.js +46 -0
- package/lib/player.js +1 -1
- package/lib/polyfill/media_capabilities.js +3 -0
- package/lib/polyfill/videoplaybackquality.js +3 -1
- package/lib/util/platform.js +19 -1
- package/lib/util/string_utils.js +56 -14
- package/maintained-branches.md +15 -0
- package/package.json +2 -4
- package/test/media/drm_engine_integration.js +24 -8
- package/test/media/media_source_engine_integration.js +24 -10
- package/test/media/media_source_engine_unit.js +53 -38
- package/test/media/streaming_engine_unit.js +28 -27
- package/test/test/util/fake_media_source_engine.js +10 -9
- package/app-engine/README.md +0 -9
- package/app-engine/demo-version-index/README.md +0 -14
- package/app-engine/demo-version-index/app.yaml +0 -28
- package/app-engine/demo-version-index/generate.py +0 -164
- package/app-engine/demo-version-index/main.py +0 -11
- package/app-engine/demo-version-index/requirements.txt +0 -5
- package/app-engine/demo-version-index/templates/index.html +0 -114
- package/app-engine/shaka-player-demo/README.md +0 -18
- package/app-engine/shaka-player-demo/app.yaml +0 -61
- package/app-engine/shaka-player-demo/main.py +0 -95
- package/app-engine/shaka-player-demo/posters/10yo.png +0 -0
- package/app-engine/shaka-player-demo/posters/10yo.xcf +0 -0
- package/app-engine/shaka-player-demo/posters/1yo.jpg +0 -0
- package/app-engine/shaka-player-demo/posters/2yo.png +0 -0
- package/app-engine/shaka-player-demo/posters/2yo.xcf +0 -0
- package/app-engine/shaka-player-demo/posters/3yo.png +0 -0
- package/app-engine/shaka-player-demo/posters/3yo.xcf +0 -0
- package/app-engine/shaka-player-demo/posters/4yo.png +0 -0
- package/app-engine/shaka-player-demo/posters/4yo.xcf +0 -0
- package/app-engine/shaka-player-demo/posters/5yo.png +0 -0
- package/app-engine/shaka-player-demo/posters/5yo.xcf +0 -0
- package/app-engine/shaka-player-demo/posters/6yo.png +0 -0
- package/app-engine/shaka-player-demo/posters/6yo.xcf +0 -0
- package/app-engine/shaka-player-demo/posters/7yo.png +0 -0
- package/app-engine/shaka-player-demo/posters/7yo.xcf +0 -0
- package/app-engine/shaka-player-demo/posters/8yo.png +0 -0
- package/app-engine/shaka-player-demo/posters/8yo.xcf +0 -0
- package/app-engine/shaka-player-demo/posters/9yo.png +0 -0
- package/app-engine/shaka-player-demo/posters/9yo.xcf +0 -0
- package/app-engine/shaka-player-demo/posters/audioOnly.gif +0 -0
- package/app-engine/shaka-player-demo/posters/audioRickRoll.gif +0 -0
- package/app-engine/shaka-player-demo/posters/colorbars.gif +0 -0
- package/app-engine/shaka-player-demo/posters/fireworks.jpg +0 -0
- package/app-engine/shaka-player-demo/posters/party-hat.png +0 -0
- package/app-engine/shaka-player-demo/posters/sources.txt +0 -46
- package/app-engine/shaka-player-demo/posters/standard.png +0 -0
- package/app-engine/shaka-player-demo/posters/trek.jpg +0 -0
- package/app-engine/shaka-player-demo/posters/valentines.png +0 -0
- package/app-engine/shaka-player-demo/posters/zombie.jpg +0 -0
- package/app-engine/shaka-player-demo/posters.py +0 -110
- package/app-engine/shaka-player-demo/requirements.txt +0 -5
- package/app-engine/shaka-player-demo/time.txt +0 -1
- package/build/README.md +0 -127
- package/build/__init__.py +0 -0
- package/build/all.py +0 -150
- package/build/apps.py +0 -186
- package/build/build.py +0 -392
- package/build/check.py +0 -354
- package/build/checkversion.py +0 -84
- package/build/compiler.py +0 -513
- package/build/conformance.textproto +0 -335
- package/build/docker/Dockerfile +0 -20
- package/build/docker/docker-compose.yml +0 -10
- package/build/docs.py +0 -54
- package/build/eslint-plugin-shaka-rules/arg-comment-spacing.js +0 -72
- package/build/eslint-plugin-shaka-rules/index.js +0 -24
- package/build/eslint-plugin-shaka-rules/package.json +0 -7
- package/build/eslint-plugin-shaka-rules/private.js +0 -109
- package/build/gendeps.py +0 -71
- package/build/generateExterns.js +0 -867
- package/build/generateLocalizations.py +0 -262
- package/build/generateTsDefs.py +0 -137
- package/build/install-linux-prereqs.sh +0 -136
- package/build/license-header +0 -5
- package/build/misspellings.txt +0 -39
- package/build/pixelsChanged.js +0 -35
- package/build/shaka-lab.yaml +0 -161
- package/build/shakaBuildHelpers.py +0 -356
- package/build/stats.py +0 -816
- package/build/subprocessWindowsPatch.py +0 -103
- package/build/test.py +0 -541
- package/build/types/ads +0 -8
- package/build/types/cast +0 -6
- package/build/types/cea +0 -13
- package/build/types/complete +0 -9
- package/build/types/core +0 -108
- package/build/types/dash +0 -8
- package/build/types/hls +0 -9
- package/build/types/manifests +0 -5
- package/build/types/networking +0 -6
- package/build/types/offline +0 -22
- package/build/types/polyfill +0 -18
- package/build/types/text +0 -11
- package/build/types/ui +0 -39
- package/build/updateScreenshots.py +0 -85
- package/build/wrapper.template.js +0 -52
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [4.0.4](https://github.com/shaka-project/shaka-player/compare/v4.0.3...v4.0.4) (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)) ([92f9190](https://github.com/shaka-project/shaka-player/commit/92f91904b08a09a56558d91818924287d35a4cb0))
|
|
9
|
+
* Debug buffer placement ([9f8520c](https://github.com/shaka-project/shaka-player/commit/9f8520c0e5c67a4404b03a7b96cbc3163db0844c))
|
|
10
|
+
* Fix EOS set-top box being identified as Apple. ([#4310](https://github.com/shaka-project/shaka-player/issues/4310)) ([1d642e5](https://github.com/shaka-project/shaka-player/commit/1d642e5fb101d985c05e68c7bcabab471ef122dd))
|
|
11
|
+
* Fix getVideoPlaybackQuality in WebOS 3 ([#4316](https://github.com/shaka-project/shaka-player/issues/4316)) ([a1af9dd](https://github.com/shaka-project/shaka-player/commit/a1af9dd5b9ebe6b671f5fe7daa97f713f66f8cfa))
|
|
12
|
+
* Fix MediaCapabilities polyfill on Playstation 4 ([#4320](https://github.com/shaka-project/shaka-player/issues/4320)) ([0f20944](https://github.com/shaka-project/shaka-player/commit/0f20944f34fef2dbb7dad62cdb3129729dfefcb5))
|
|
13
|
+
* Fix segment index assertions with DAI ([9a8bf42](https://github.com/shaka-project/shaka-player/commit/9a8bf42928e82818909e33b056644fd740636c94))
|
|
14
|
+
* VTT Cue Parsing On PlayStation 4 ([#4340](https://github.com/shaka-project/shaka-player/issues/4340)) ([37dc855](https://github.com/shaka-project/shaka-player/commit/37dc855d3613b8bb8a68c1f7da1ff2e76e948ed7)), closes [#4321](https://github.com/shaka-project/shaka-player/issues/4321)
|
|
15
|
+
|
|
3
16
|
## [4.0.3](https://github.com/shaka-project/shaka-player/compare/v4.0.2...v4.0.3) (2022-06-14)
|
|
4
17
|
|
|
5
18
|
|
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 >= 13 |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 13+ is supported. On iOS, only iOS 13+ 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 13+ 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.
|
|
@@ -119,7 +129,7 @@ HLS features supported:
|
|
|
119
129
|
- Low-latency streaming with partial segments, preload hints, and delta updates
|
|
120
130
|
- Discontinuity
|
|
121
131
|
- ISO-BMFF / MP4 / CMAF support
|
|
122
|
-
- MPEG-2 TS support (transmuxing provided by [mux.js][] v6.
|
|
132
|
+
- MPEG-2 TS support (transmuxing provided by [mux.js][] v6.2.0+, must be
|
|
123
133
|
separately included)
|
|
124
134
|
- WebVTT and TTML
|
|
125
135
|
- CEA-608/708 captions
|
|
@@ -149,6 +159,8 @@ HLS features **not** supported:
|
|
|
149
159
|
|Tizen TV |**Y** |**Y** | - |untested⁵ |
|
|
150
160
|
|WebOS⁷ |untested⁷ |untested⁷| - |untested⁷ |
|
|
151
161
|
|Xbox One | - |**Y** | - | - |
|
|
162
|
+
|Playstation 4⁷| - |untested⁷| - |untested⁷ |
|
|
163
|
+
|Playstation 5⁷| - |untested⁷| - |untested⁷ |
|
|
152
164
|
|
|
153
165
|
Other DRM systems should work out of the box if they are interoperable and
|
|
154
166
|
compliant to the EME spec.
|
|
@@ -191,7 +203,7 @@ Shaka Player supports:
|
|
|
191
203
|
SegmentTemplate@index
|
|
192
204
|
- Not supported in HLS
|
|
193
205
|
- MPEG-2 TS
|
|
194
|
-
- With help from [mux.js][] v6.
|
|
206
|
+
- With help from [mux.js][] v6.2.0+, can be played on any browser which
|
|
195
207
|
supports MP4
|
|
196
208
|
- Can find and parse timestamps to find segment start time in HLS
|
|
197
209
|
- WebVTT
|
|
@@ -200,10 +212,10 @@ Shaka Player supports:
|
|
|
200
212
|
- Supported in both XML form and embedded in MP4
|
|
201
213
|
- CEA-608
|
|
202
214
|
- Supported embedded in MP4
|
|
203
|
-
- With help from [mux.js][] v6.
|
|
215
|
+
- With help from [mux.js][] v6.2.0+, supported embedded in TS
|
|
204
216
|
- CEA-708
|
|
205
217
|
- Supported embedded in MP4
|
|
206
|
-
- With help from [mux.js][] v6.
|
|
218
|
+
- With help from [mux.js][] v6.2.0+, supported embedded in TS
|
|
207
219
|
- SubRip (SRT)
|
|
208
220
|
- UTF-8 encoding only
|
|
209
221
|
- LyRiCs (LRC)
|
|
@@ -231,8 +243,10 @@ attributes.
|
|
|
231
243
|
* [Hosted builds on jsDelivr](https://www.jsdelivr.com/package/npm/shaka-player)
|
|
232
244
|
* [Development roadmap](roadmap.md)
|
|
233
245
|
* [Announcement list](https://groups.google.com/forum/#!forum/shaka-player-users)
|
|
234
|
-
([join](docs/announcement-list-join-group.png) for
|
|
235
|
-
announcements)
|
|
246
|
+
([join](docs/announcement-list-join-group.png) for infrequent
|
|
247
|
+
announcements and surveys)
|
|
248
|
+
* Subscribe to releases by following
|
|
249
|
+
[instructions from this blog](https://www.jessesquires.com/blog/2020/07/30/github-tip-watching-releases/)
|
|
236
250
|
|
|
237
251
|
|
|
238
252
|
## 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/
|
|
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
|
@@ -65,7 +65,7 @@ goog.addDependency('../../../../lib/media/content_workarounds.js', ['shaka.media
|
|
|
65
65
|
goog.addDependency('../../../../lib/media/drm_engine.js', ['shaka.media.DrmEngine'], ['goog.asserts', 'shaka.log', 'shaka.media.Transmuxer', 'shaka.net.NetworkingEngine', 'shaka.util.BufferUtils', 'shaka.util.Destroyer', 'shaka.util.Error', 'shaka.util.EventManager', 'shaka.util.FakeEvent', 'shaka.util.IDestroyable', 'shaka.util.Iterables', 'shaka.util.Lazy', 'shaka.util.MapUtils', 'shaka.util.MimeUtils', 'shaka.util.Platform', 'shaka.util.PublicPromise', 'shaka.util.StreamUtils', 'shaka.util.StringUtils', 'shaka.util.Timer', 'shaka.util.Uint8ArrayUtils'], {'lang': 'es8'});
|
|
66
66
|
goog.addDependency('../../../../lib/media/gap_jumping_controller.js', ['shaka.media.GapJumpingController'], ['shaka.log', 'shaka.media.PresentationTimeline', 'shaka.media.StallDetector', 'shaka.media.TimeRangesUtils', 'shaka.util.EventManager', 'shaka.util.IReleasable', 'shaka.util.Timer'], {'lang': 'es6'});
|
|
67
67
|
goog.addDependency('../../../../lib/media/manifest_parser.js', ['shaka.media.ManifestParser'], ['goog.Uri', 'shaka.log', 'shaka.net.NetworkingEngine', 'shaka.util.Error', 'shaka.util.Platform'], {'lang': 'es8'});
|
|
68
|
-
goog.addDependency('../../../../lib/media/media_source_engine.js', ['shaka.media.MediaSourceEngine'], ['goog.asserts', 'shaka.log', 'shaka.media.ContentWorkarounds', 'shaka.media.IClosedCaptionParser', 'shaka.media.TimeRangesUtils', 'shaka.media.Transmuxer', 'shaka.text.TextEngine', 'shaka.util.Destroyer', 'shaka.util.Error', 'shaka.util.EventManager', 'shaka.util.Functional', 'shaka.util.IDestroyable', 'shaka.util.ManifestParserUtils', 'shaka.util.MimeUtils', 'shaka.util.Platform', 'shaka.util.PublicPromise'], {'lang': 'es8'});
|
|
68
|
+
goog.addDependency('../../../../lib/media/media_source_engine.js', ['shaka.media.MediaSourceEngine'], ['goog.asserts', 'shaka.log', 'shaka.media.ContentWorkarounds', 'shaka.media.IClosedCaptionParser', 'shaka.media.SegmentReference', 'shaka.media.TimeRangesUtils', 'shaka.media.Transmuxer', 'shaka.text.TextEngine', 'shaka.util.Destroyer', 'shaka.util.Error', 'shaka.util.EventManager', 'shaka.util.Functional', 'shaka.util.IDestroyable', 'shaka.util.ManifestParserUtils', 'shaka.util.MimeUtils', 'shaka.util.Platform', 'shaka.util.PublicPromise'], {'lang': 'es8'});
|
|
69
69
|
goog.addDependency('../../../../lib/media/mp4_segment_index_parser.js', ['shaka.media.Mp4SegmentIndexParser'], ['goog.asserts', 'shaka.log', 'shaka.media.InitSegmentReference', 'shaka.media.SegmentReference', 'shaka.util.Error', 'shaka.util.Mp4Parser'], {'lang': 'es6'});
|
|
70
70
|
goog.addDependency('../../../../lib/media/play_rate_controller.js', ['shaka.media.PlayRateController'], ['goog.asserts', 'shaka.log', 'shaka.util.IReleasable', 'shaka.util.Timer'], {'lang': 'es6'});
|
|
71
71
|
goog.addDependency('../../../../lib/media/playhead.js', ['shaka.media.MediaSourcePlayhead', 'shaka.media.Playhead', 'shaka.media.SrcEqualsPlayhead'], ['goog.asserts', 'shaka.log', 'shaka.media.GapJumpingController', 'shaka.media.StallDetector', 'shaka.media.StallDetector.MediaElementImplementation', 'shaka.media.TimeRangesUtils', 'shaka.media.VideoWrapper', 'shaka.util.EventManager', 'shaka.util.IReleasable', 'shaka.util.MediaReadyState', 'shaka.util.Timer'], {'lang': 'es6'});
|
|
@@ -123,7 +123,7 @@ goog.addDependency('../../../../lib/polyfill/random_uuid.js', ['shaka.polyfill.R
|
|
|
123
123
|
goog.addDependency('../../../../lib/polyfill/storage_estimate.js', ['shaka.polyfill.StorageEstimate'], ['shaka.polyfill'], {'lang': 'es8'});
|
|
124
124
|
goog.addDependency('../../../../lib/polyfill/symbol.js', ['shaka.polyfill.Symbol'], ['shaka.log', 'shaka.polyfill'], {'lang': 'es6'});
|
|
125
125
|
goog.addDependency('../../../../lib/polyfill/video_play_promise.js', ['shaka.polyfill.VideoPlayPromise'], ['shaka.log', 'shaka.polyfill'], {'lang': 'es6'});
|
|
126
|
-
goog.addDependency('../../../../lib/polyfill/videoplaybackquality.js', ['shaka.polyfill.VideoPlaybackQuality'], ['shaka.polyfill'], {'lang': 'es6'});
|
|
126
|
+
goog.addDependency('../../../../lib/polyfill/videoplaybackquality.js', ['shaka.polyfill.VideoPlaybackQuality'], ['shaka.polyfill', 'shaka.util.Platform'], {'lang': 'es6'});
|
|
127
127
|
goog.addDependency('../../../../lib/polyfill/vttcue.js', ['shaka.polyfill.VTTCue'], ['shaka.log', 'shaka.polyfill'], {'lang': 'es6'});
|
|
128
128
|
goog.addDependency('../../../../lib/routing/node.js', ['shaka.routing.Node'], []);
|
|
129
129
|
goog.addDependency('../../../../lib/routing/payload.js', ['shaka.routing.Payload'], []);
|
|
@@ -180,7 +180,7 @@ goog.addDependency('../../../../lib/util/public_promise.js', ['shaka.util.Public
|
|
|
180
180
|
goog.addDependency('../../../../lib/util/state_history.js', ['shaka.util.StateHistory'], ['goog.asserts', 'shaka.log'], {'lang': 'es6'});
|
|
181
181
|
goog.addDependency('../../../../lib/util/stats.js', ['shaka.util.Stats'], ['shaka.util.StateHistory', 'shaka.util.SwitchHistory'], {'lang': 'es6'});
|
|
182
182
|
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'});
|
|
183
|
-
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'});
|
|
183
|
+
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'});
|
|
184
184
|
goog.addDependency('../../../../lib/util/switch_history.js', ['shaka.util.SwitchHistory'], [], {'lang': 'es6'});
|
|
185
185
|
goog.addDependency('../../../../lib/util/text_parser.js', ['shaka.util.TextParser'], ['goog.asserts'], {'lang': 'es6'});
|
|
186
186
|
goog.addDependency('../../../../lib/util/timer.js', ['shaka.util.Timer'], ['shaka.util.DelayedTick'], {'lang': 'es6'});
|
package/dist/locales.js
CHANGED
|
@@ -721,45 +721,45 @@ shaka.ui.Locales.addTo = function(localization) {
|
|
|
721
721
|
* @const
|
|
722
722
|
*/
|
|
723
723
|
shaka.ui.Locales.Ids = {
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
PLAY: 'PLAY',
|
|
729
|
-
ENTER_PICTURE_IN_PICTURE: 'ENTER_PICTURE_IN_PICTURE',
|
|
730
|
-
OFF: 'OFF',
|
|
731
|
-
RESOLUTION: 'RESOLUTION',
|
|
732
|
-
UNMUTE: 'UNMUTE',
|
|
733
|
-
AD_DURATION: 'AD_DURATION',
|
|
734
|
-
STATISTICS: 'STATISTICS',
|
|
735
|
-
CAPTIONS: 'CAPTIONS',
|
|
736
|
-
UNDETERMINED_LANGUAGE: 'UNDETERMINED_LANGUAGE',
|
|
737
|
-
REPLAY: 'REPLAY',
|
|
738
|
-
FULL_SCREEN: 'FULL_SCREEN',
|
|
724
|
+
UNRECOGNIZED_LANGUAGE: 'UNRECOGNIZED_LANGUAGE',
|
|
725
|
+
PICTURE_IN_PICTURE: 'PICTURE_IN_PICTURE',
|
|
726
|
+
EXIT_LOOP_MODE: 'EXIT_LOOP_MODE',
|
|
727
|
+
LIVE: 'LIVE',
|
|
739
728
|
EXIT_FULL_SCREEN: 'EXIT_FULL_SCREEN',
|
|
740
|
-
|
|
729
|
+
ENTER_PICTURE_IN_PICTURE: 'ENTER_PICTURE_IN_PICTURE',
|
|
741
730
|
VOLUME: 'VOLUME',
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
MUTE: 'MUTE',
|
|
731
|
+
SEEK: 'SEEK',
|
|
732
|
+
CAST: 'CAST',
|
|
733
|
+
MORE_SETTINGS: 'MORE_SETTINGS',
|
|
746
734
|
LOOP: 'LOOP',
|
|
747
735
|
ON: 'ON',
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
ENTER_LOOP_MODE: 'ENTER_LOOP_MODE',
|
|
751
|
-
PICTURE_IN_PICTURE: 'PICTURE_IN_PICTURE',
|
|
752
|
-
AD_TIME: 'AD_TIME',
|
|
753
|
-
AD_PROGRESS: 'AD_PROGRESS',
|
|
754
|
-
AUTO_QUALITY: 'AUTO_QUALITY',
|
|
736
|
+
REPLAY: 'REPLAY',
|
|
737
|
+
SKIP_AD: 'SKIP_AD',
|
|
755
738
|
AIRPLAY: 'AIRPLAY',
|
|
739
|
+
LANGUAGE: 'LANGUAGE',
|
|
740
|
+
NOT_APPLICABLE: 'NOT_APPLICABLE',
|
|
756
741
|
SUBTITLE_FORCED: 'SUBTITLE_FORCED',
|
|
742
|
+
AD_TIME: 'AD_TIME',
|
|
743
|
+
REWIND: 'REWIND',
|
|
744
|
+
MUTE: 'MUTE',
|
|
745
|
+
AUTO_QUALITY: 'AUTO_QUALITY',
|
|
757
746
|
PAUSE: 'PAUSE',
|
|
747
|
+
OFF: 'OFF',
|
|
748
|
+
PLAYBACK_RATE: 'PLAYBACK_RATE',
|
|
749
|
+
MULTIPLE_LANGUAGES: 'MULTIPLE_LANGUAGES',
|
|
750
|
+
PLAY: 'PLAY',
|
|
751
|
+
UNMUTE: 'UNMUTE',
|
|
752
|
+
STATISTICS: 'STATISTICS',
|
|
753
|
+
ENTER_LOOP_MODE: 'ENTER_LOOP_MODE',
|
|
754
|
+
CAPTIONS: 'CAPTIONS',
|
|
755
|
+
FAST_FORWARD: 'FAST_FORWARD',
|
|
758
756
|
EXIT_PICTURE_IN_PICTURE: 'EXIT_PICTURE_IN_PICTURE',
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
757
|
+
FULL_SCREEN: 'FULL_SCREEN',
|
|
758
|
+
BACK: 'BACK',
|
|
759
|
+
RESOLUTION: 'RESOLUTION',
|
|
760
|
+
AD_DURATION: 'AD_DURATION',
|
|
761
|
+
AD_PROGRESS: 'AD_PROGRESS',
|
|
762
|
+
UNDETERMINED_LANGUAGE: 'UNDETERMINED_LANGUAGE',
|
|
763
|
+
QUALITY: 'QUALITY',
|
|
764
|
+
SKIP_TO_LIVE: 'SKIP_TO_LIVE',
|
|
765
765
|
};
|
|
@@ -923,6 +923,17 @@ declare namespace shaka.media {
|
|
|
923
923
|
getSegmentAvailabilityStart ( ) : number ;
|
|
924
924
|
isInProgress ( ) : boolean ;
|
|
925
925
|
isLive ( ) : boolean ;
|
|
926
|
+
/**
|
|
927
|
+
* Lock the presentation timeline's start time. After this is called, no
|
|
928
|
+
* further adjustments to presentationStartTime_ will be permitted.
|
|
929
|
+
* This should be called after all Periods have been parsed, and all calls to
|
|
930
|
+
* notifySegments() from the initial manifest parse have been made.
|
|
931
|
+
* Without this, we can get assertion failures in SegmentIndex for certain
|
|
932
|
+
* DAI content. If DAI adds ad segments to the manifest faster than
|
|
933
|
+
* real-time, adjustments to presentationStartTime_ can cause availability
|
|
934
|
+
* windows to jump around on updates.
|
|
935
|
+
*/
|
|
936
|
+
lockStartTime ( ) : any ;
|
|
926
937
|
/**
|
|
927
938
|
* Gives PresentationTimeline a Stream's maximum segment duration so it can
|
|
928
939
|
* size and position the segment availability window. This function should be
|
|
@@ -923,6 +923,17 @@ declare namespace shaka.media {
|
|
|
923
923
|
getSegmentAvailabilityStart ( ) : number ;
|
|
924
924
|
isInProgress ( ) : boolean ;
|
|
925
925
|
isLive ( ) : boolean ;
|
|
926
|
+
/**
|
|
927
|
+
* Lock the presentation timeline's start time. After this is called, no
|
|
928
|
+
* further adjustments to presentationStartTime_ will be permitted.
|
|
929
|
+
* This should be called after all Periods have been parsed, and all calls to
|
|
930
|
+
* notifySegments() from the initial manifest parse have been made.
|
|
931
|
+
* Without this, we can get assertion failures in SegmentIndex for certain
|
|
932
|
+
* DAI content. If DAI adds ad segments to the manifest faster than
|
|
933
|
+
* real-time, adjustments to presentationStartTime_ can cause availability
|
|
934
|
+
* windows to jump around on updates.
|
|
935
|
+
*/
|
|
936
|
+
lockStartTime ( ) : any ;
|
|
926
937
|
/**
|
|
927
938
|
* Gives PresentationTimeline a Stream's maximum segment duration so it can
|
|
928
939
|
* size and position the segment availability window. This function should be
|
|
@@ -648,6 +648,43 @@ shaka.util.Error.Code = {
|
|
|
648
648
|
'SS_AD_MANAGER_NOT_INITIALIZED': 10003,
|
|
649
649
|
'CURRENT_DAI_REQUEST_NOT_FINISHED': 10004
|
|
650
650
|
};
|
|
651
|
+
/**
|
|
652
|
+
* A timer allows a single function to be executed at a later time or at
|
|
653
|
+
* regular intervals.
|
|
654
|
+
* @final
|
|
655
|
+
*/
|
|
656
|
+
shaka.util.Timer = class {
|
|
657
|
+
/**
|
|
658
|
+
* Create a new timer. A timer is committed to a single callback function.
|
|
659
|
+
* While there is no technical reason to do this, it is far easier to
|
|
660
|
+
* understand and use timers when they are connected to one functional idea.
|
|
661
|
+
* @param {function()} onTick
|
|
662
|
+
*/
|
|
663
|
+
constructor(onTick) {}
|
|
664
|
+
/**
|
|
665
|
+
* Have the timer call |onTick| now.
|
|
666
|
+
* @return {!shaka.util.Timer}
|
|
667
|
+
*/
|
|
668
|
+
tickNow() {}
|
|
669
|
+
/**
|
|
670
|
+
* Have the timer call |onTick| after |seconds| has elapsed unless |stop| is
|
|
671
|
+
* called first.
|
|
672
|
+
* @param {number} seconds
|
|
673
|
+
* @return {!shaka.util.Timer}
|
|
674
|
+
*/
|
|
675
|
+
tickAfter(seconds) {}
|
|
676
|
+
/**
|
|
677
|
+
* Have the timer call |onTick| every |seconds| until |stop| is called.
|
|
678
|
+
* @param {number} seconds
|
|
679
|
+
* @return {!shaka.util.Timer}
|
|
680
|
+
*/
|
|
681
|
+
tickEvery(seconds) {}
|
|
682
|
+
/**
|
|
683
|
+
* Stop the timer and clear the previous behaviour. The timer is still usable
|
|
684
|
+
* after calling |stop|.
|
|
685
|
+
*/
|
|
686
|
+
stop() {}
|
|
687
|
+
};
|
|
651
688
|
/**
|
|
652
689
|
* @namespace shaka.util.StringUtils
|
|
653
690
|
* @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>
|
|
@@ -1830,6 +1830,17 @@ shaka.media.PresentationTimeline = class {
|
|
|
1830
1830
|
* @param {!Array.<!shaka.media.SegmentReference>} references
|
|
1831
1831
|
*/
|
|
1832
1832
|
notifySegments(references) {}
|
|
1833
|
+
/**
|
|
1834
|
+
* Lock the presentation timeline's start time. After this is called, no
|
|
1835
|
+
* further adjustments to presentationStartTime_ will be permitted.
|
|
1836
|
+
* This should be called after all Periods have been parsed, and all calls to
|
|
1837
|
+
* notifySegments() from the initial manifest parse have been made.
|
|
1838
|
+
* Without this, we can get assertion failures in SegmentIndex for certain
|
|
1839
|
+
* DAI content. If DAI adds ad segments to the manifest faster than
|
|
1840
|
+
* real-time, adjustments to presentationStartTime_ can cause availability
|
|
1841
|
+
* windows to jump around on updates.
|
|
1842
|
+
*/
|
|
1843
|
+
lockStartTime() {}
|
|
1833
1844
|
/**
|
|
1834
1845
|
* Gives PresentationTimeline a Stream's minimum segment start time.
|
|
1835
1846
|
* @param {number} startTime
|