shaka-player 4.2.2 → 4.2.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.
Files changed (68) hide show
  1. package/.github/workflows/build-and-test.yaml +11 -6
  2. package/.github/workflows/compute-incremental-coverage.py +14 -3
  3. package/.github/workflows/demo-version-index.yaml +1 -1
  4. package/.github/workflows/nightly-demo.yaml +1 -1
  5. package/.github/workflows/release-please.yaml +5 -5
  6. package/.github/workflows/report-incremental-coverage.yaml +1 -1
  7. package/.github/workflows/selenium-lab-tests.yaml +8 -6
  8. package/AUTHORS +2 -0
  9. package/CHANGELOG.md +32 -0
  10. package/CONTRIBUTORS +2 -0
  11. package/dist/deps.js +5 -5
  12. package/dist/locales.js +33 -33
  13. package/dist/shaka-player.compiled.d.ts +6 -1
  14. package/dist/shaka-player.compiled.debug.d.ts +6 -1
  15. package/dist/shaka-player.compiled.debug.externs.js +3 -1
  16. package/dist/shaka-player.compiled.debug.js +119 -115
  17. package/dist/shaka-player.compiled.debug.map +4 -4
  18. package/dist/shaka-player.compiled.externs.js +3 -1
  19. package/dist/shaka-player.compiled.js +719 -716
  20. package/dist/shaka-player.compiled.map +4 -4
  21. package/dist/shaka-player.ui.d.ts +6 -1
  22. package/dist/shaka-player.ui.debug.d.ts +6 -1
  23. package/dist/shaka-player.ui.debug.externs.js +3 -1
  24. package/dist/shaka-player.ui.debug.js +135 -132
  25. package/dist/shaka-player.ui.debug.map +4 -4
  26. package/dist/shaka-player.ui.externs.js +3 -1
  27. package/dist/shaka-player.ui.js +846 -843
  28. package/dist/shaka-player.ui.map +4 -4
  29. package/docs/tutorials/welcome.md +2 -2
  30. package/externs/mux.js +3 -0
  31. package/lib/ads/client_side_ad_manager.js +5 -2
  32. package/lib/cast/cast_proxy.js +2 -1
  33. package/lib/cast/cast_receiver.js +19 -5
  34. package/lib/cast/cast_sender.js +2 -1
  35. package/lib/cast/cast_utils.js +16 -6
  36. package/lib/hls/hls_parser.js +27 -9
  37. package/lib/media/drm_engine.js +7 -6
  38. package/lib/media/media_source_engine.js +6 -0
  39. package/lib/media/playhead.js +24 -2
  40. package/lib/media/streaming_engine.js +3 -12
  41. package/lib/media/transmuxer.js +6 -0
  42. package/lib/offline/indexeddb/storage_mechanism.js +24 -0
  43. package/lib/player.js +24 -11
  44. package/lib/polyfill/media_capabilities.js +7 -6
  45. package/lib/text/ttml_text_parser.js +69 -93
  46. package/lib/text/vtt_text_parser.js +1 -1
  47. package/lib/util/error.js +7 -0
  48. package/lib/util/manifest_parser_utils.js +4 -0
  49. package/lib/util/periods.js +9 -9
  50. package/lib/util/platform.js +0 -10
  51. package/lib/util/xml_utils.js +45 -6
  52. package/package.json +1 -1
  53. package/roadmap.md +24 -6
  54. package/test/cast/cast_receiver_integration.js +97 -16
  55. package/test/cast/cast_receiver_unit.js +17 -12
  56. package/test/cast/cast_utils_unit.js +1 -0
  57. package/test/media/media_source_engine_integration.js +31 -0
  58. package/test/media/playhead_unit.js +41 -0
  59. package/test/media/streaming_engine_integration.js +13 -0
  60. package/test/media/streaming_engine_unit.js +36 -23
  61. package/test/offline/storage_integration.js +30 -0
  62. package/test/player_unit.js +87 -0
  63. package/test/test/util/simple_fakes.js +3 -0
  64. package/test/text/vtt_text_parser_unit.js +23 -1
  65. package/test/util/periods_unit.js +149 -11
  66. package/test/util/xml_utils_unit.js +64 -0
  67. package/ui/controls.js +4 -1
  68. package/ui/settings_menu.js +11 -2
@@ -2,7 +2,7 @@ name: Build and Test PR
2
2
 
3
3
  on:
4
4
  pull_request: # Trigger for pull requests.
5
- types: [opened, synchronize, reopened]
5
+ types: [opened, synchronize, reopened, ready_for_review]
6
6
  branches:
7
7
  - main
8
8
  - v[0-9]*
@@ -25,7 +25,7 @@ jobs:
25
25
  runs-on: ubuntu-latest
26
26
  steps:
27
27
  - name: Checkout code
28
- uses: actions/checkout@v2
28
+ uses: actions/checkout@v3
29
29
  with:
30
30
  ref: ${{ github.event.inputs.ref || github.ref }}
31
31
 
@@ -49,6 +49,9 @@ jobs:
49
49
  - os: ubuntu-latest
50
50
  browser: Firefox
51
51
  extra_flags: "--use-xvfb"
52
+ - os: ubuntu-latest
53
+ browser: Edge
54
+ extra_flags: "--use-xvfb"
52
55
 
53
56
  - os: macos-latest
54
57
  browser: Chrome
@@ -85,7 +88,7 @@ jobs:
85
88
  run: sudo apt -y update && sudo apt -y install ffmpeg
86
89
 
87
90
  - name: Checkout code
88
- uses: actions/checkout@v2
91
+ uses: actions/checkout@v3
89
92
  with:
90
93
  ref: ${{ github.event.inputs.ref || github.ref }}
91
94
 
@@ -147,7 +150,7 @@ jobs:
147
150
  cp "$coverage_folder"/coverage-details.json coverage/staging/
148
151
  echo "${{ github.event.number }}" > coverage/staging/pr-number.json
149
152
 
150
- echo "::set-output name=coverage_found::true"
153
+ echo "coverage_found=true" >> $GITHUB_OUTPUT
151
154
  echo "Coverage report staged."
152
155
  else
153
156
  echo "No coverage report generated."
@@ -188,9 +191,11 @@ jobs:
188
191
  runs-on: ubuntu-latest
189
192
  steps:
190
193
  - name: Checkout code
191
- uses: actions/checkout@v2
194
+ uses: actions/checkout@v3
192
195
  with:
193
196
  ref: ${{ github.event.inputs.ref || github.ref }}
194
197
 
195
198
  - name: Docker
196
- run: docker-compose -f build/docker/docker-compose.yml up
199
+ run: |
200
+ docker build -t shaka-player-build build/docker
201
+ docker run -v $(pwd):/usr/src --user $(id -u):$(id -g) shaka-player-build
@@ -17,6 +17,7 @@
17
17
  import argparse
18
18
  import io
19
19
  import json
20
+ import os
20
21
  import re
21
22
  import subprocess
22
23
  import zipfile
@@ -221,6 +222,16 @@ def IncrementalCoverage(pr, coverage_details):
221
222
  return None
222
223
  return num_covered / num_changed
223
224
 
225
+ def set_output(name, value):
226
+ path = os.environ.get("GITHUB_OUTPUT")
227
+ if path:
228
+ # Inside GitHub Actions, output the data to a special file GitHub provides.
229
+ with open(path, "a") as f:
230
+ f.write("{}={}\n".format(name, value))
231
+ else:
232
+ # Outside of GitHub Actions, just print the data.
233
+ print("OUTPUT {}={}".format(name, value))
234
+
224
235
  def main():
225
236
  parser = argparse.ArgumentParser(
226
237
  description="Compute incremental code coverage for a PR",
@@ -241,11 +252,11 @@ def main():
241
252
  pr = PullRequest(args.repo, pr_number)
242
253
  coverage = IncrementalCoverage(pr, coverage_details)
243
254
 
244
- print("::set-output name=pr_number::%d" % pr_number)
255
+ set_output("pr_number", str(pr_number))
245
256
  if coverage is None:
246
- print("::set-output name=coverage::No instrumented code was changed.")
257
+ set_output("coverage", "No instrumented code was changed.")
247
258
  else:
248
- print("::set-output name=coverage::%.2f%%" % (coverage * 100.0))
259
+ set_output("coverage", "%.2f%%" % (coverage * 100.0))
249
260
 
250
261
  if __name__ == "__main__":
251
262
  main()
@@ -16,7 +16,7 @@ jobs:
16
16
  appspot:
17
17
  runs-on: ubuntu-latest
18
18
  steps:
19
- - uses: actions/checkout@v2
19
+ - uses: actions/checkout@v3
20
20
  with:
21
21
  # We need a list of all tags for this, so fetch the entire history.
22
22
  fetch-depth: 0
@@ -11,7 +11,7 @@ jobs:
11
11
  appspot:
12
12
  runs-on: ubuntu-latest
13
13
  steps:
14
- - uses: actions/checkout@v2
14
+ - uses: actions/checkout@v3
15
15
  with:
16
16
  fetch-depth: 0
17
17
  persist-credentials: false
@@ -23,7 +23,7 @@ jobs:
23
23
  default-branch: ${{ github.ref_name }}
24
24
 
25
25
  # If we didn't create a release, we may have created or updated a PR.
26
- - uses: actions/checkout@v2
26
+ - uses: actions/checkout@v3
27
27
  if: steps.release.outputs.release_created == false
28
28
  - name: Custom update Player version
29
29
  if: steps.release.outputs.release_created == false
@@ -53,7 +53,7 @@ jobs:
53
53
  needs: release
54
54
  if: needs.release.outputs.release_created && endsWith(needs.release.outputs.tag_name, '.0') == false
55
55
  steps:
56
- - uses: actions/checkout@v2
56
+ - uses: actions/checkout@v3
57
57
  with:
58
58
  ref: main
59
59
  - name: Tag the main branch
@@ -70,7 +70,7 @@ jobs:
70
70
  needs: release
71
71
  if: needs.release.outputs.release_created
72
72
  steps:
73
- - uses: actions/checkout@v2
73
+ - uses: actions/checkout@v3
74
74
  with:
75
75
  fetch-depth: 0
76
76
  persist-credentials: false
@@ -99,7 +99,7 @@ jobs:
99
99
  needs: release
100
100
  if: needs.release.outputs.release_created
101
101
  steps:
102
- - uses: actions/checkout@v2
102
+ - uses: actions/checkout@v3
103
103
  with:
104
104
  fetch-depth: 0
105
105
  persist-credentials: false
@@ -152,7 +152,7 @@ jobs:
152
152
  needs: release
153
153
  if: needs.release.outputs.release_created && endsWith(needs.release.outputs.tag_name, '.0')
154
154
  steps:
155
- - uses: actions/checkout@v2
155
+ - uses: actions/checkout@v3
156
156
  with:
157
157
  fetch-depth: 0
158
158
 
@@ -15,7 +15,7 @@ jobs:
15
15
 
16
16
  steps:
17
17
  - name: Checkout code
18
- uses: actions/checkout@v2
18
+ uses: actions/checkout@v3
19
19
 
20
20
  - name: Compute incremental code coverage
21
21
  id: compute
@@ -32,7 +32,7 @@ jobs:
32
32
  else
33
33
  LAB_TEST_REF="main"
34
34
  fi
35
- echo "::set-output name=REF::$LAB_TEST_REF"
35
+ echo "REF=$LAB_TEST_REF" >> $GITHUB_OUTPUT
36
36
 
37
37
  # Configure the build matrix based on our grid's YAML config.
38
38
  # The matrix contents will be computed by this first job and deserialized
@@ -45,7 +45,7 @@ jobs:
45
45
  INCLUDE: ${{ steps.configure.outputs.INCLUDE }}
46
46
 
47
47
  steps:
48
- - uses: actions/checkout@v2
48
+ - uses: actions/checkout@v3
49
49
  with:
50
50
  ref: ${{ needs.compute-ref.outputs.REF }}
51
51
 
@@ -77,7 +77,9 @@ jobs:
77
77
  }
78
78
 
79
79
  // Output JSON object consumed by the build matrix below.
80
- console.log(`::set-output name=INCLUDE::${ JSON.stringify(include) }`);
80
+ fs.appendFileSync(
81
+ process.env['GITHUB_OUTPUT'],
82
+ `INCLUDE=${ JSON.stringify(include) }\n`);
81
83
 
82
84
  // Log the output, for the sake of debugging this script.
83
85
  console.log({include});
@@ -90,7 +92,7 @@ jobs:
90
92
  needs: compute-ref
91
93
  runs-on: ubuntu-latest
92
94
  steps:
93
- - uses: actions/checkout@v2
95
+ - uses: actions/checkout@v3
94
96
  with:
95
97
  ref: ${{ needs.compute-ref.outputs.REF }}
96
98
 
@@ -132,7 +134,7 @@ jobs:
132
134
  name: ${{ matrix.browser }}
133
135
 
134
136
  steps:
135
- - uses: actions/checkout@v2
137
+ - uses: actions/checkout@v3
136
138
  with:
137
139
  ref: ${{ needs.compute-ref.outputs.REF }}
138
140
 
@@ -218,7 +220,7 @@ jobs:
218
220
 
219
221
  if [ -f "$coverage_report" ]; then
220
222
  echo "Found coverage report: $coverage_report"
221
- echo "::set-output name=coverage_report::$coverage_report"
223
+ echo "coverage_report=$coverage_report" >> $GITHUB_OUTPUT
222
224
  else
223
225
  echo "Could not locate coverage report!"
224
226
  exit 1
package/AUTHORS CHANGED
@@ -32,6 +32,7 @@ Edgeware AB <*@edgeware.tv>
32
32
  Enson Choy <enson.choy@harmonicinc.com>
33
33
  Esteban Dosztal <edosztal@gmail.com>
34
34
  Fadomire <fadomire@gmail.com>
35
+ Gerardo Meola <meola.gerardo@gmail.com>
35
36
  Gil Gonen <gil.gonen@gmail.com>
36
37
  Giorgio Gamberoni <giorgio.gamberoni@gmail.com>
37
38
  Giuseppe Samela <giuseppe.samela@gmail.com>
@@ -84,3 +85,4 @@ Vincent Valot <valot.vince@gmail.com>
84
85
  Wayne Morgan <wayne.morgan.dev@gmail.com>
85
86
  Raymond Cheng <raycheng100@gmail.com>
86
87
  Blue Billywig <*@bluebillywig.com>
88
+ Koen Romers <koenromers@gmail.com>
package/CHANGELOG.md CHANGED
@@ -1,5 +1,37 @@
1
1
  # Changelog
2
2
 
3
+ ## [4.2.4](https://github.com/shaka-project/shaka-player/compare/v4.2.3...v4.2.4) (2022-11-09)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * Allow overriding special handling of 404s ([#4635](https://github.com/shaka-project/shaka-player/issues/4635)) ([bf3e4e8](https://github.com/shaka-project/shaka-player/commit/bf3e4e8967ab938c95861d3f02eb1bcf76722a5c)), closes [#4548](https://github.com/shaka-project/shaka-player/issues/4548)
9
+ * **cast:** Reduce size of Cast update messages ([#4644](https://github.com/shaka-project/shaka-player/issues/4644)) ([2ee9803](https://github.com/shaka-project/shaka-player/commit/2ee9803f295bbdf7911740c4b5f35b81e8a7488c))
10
+ * Content reload starttime with HLS on iOS ([#4575](https://github.com/shaka-project/shaka-player/issues/4575)) ([f02e25a](https://github.com/shaka-project/shaka-player/commit/f02e25af91eeb18939f16460702b8f9ec226b54c)), closes [#4244](https://github.com/shaka-project/shaka-player/issues/4244)
11
+ * embed cc not shown when seeking back ([#4643](https://github.com/shaka-project/shaka-player/issues/4643)) ([3743fe8](https://github.com/shaka-project/shaka-player/commit/3743fe8ab70ce8bebd46ff4a667ddce188ec49c6)), closes [#4641](https://github.com/shaka-project/shaka-player/issues/4641)
12
+ * Fix detection of ac4, dts, and dolby h265 ([#4657](https://github.com/shaka-project/shaka-player/issues/4657)) ([9da2b47](https://github.com/shaka-project/shaka-player/commit/9da2b47deba36f4c50fed10c859f46a432e20576))
13
+ * focus on first element when back to the settings menu ([#4653](https://github.com/shaka-project/shaka-player/issues/4653)) ([f507c89](https://github.com/shaka-project/shaka-player/commit/f507c89bf63b0ec5b7802cd31ac3f3cca05ff237)), closes [#4652](https://github.com/shaka-project/shaka-player/issues/4652)
14
+ * **HLS:** Fix detection of WebVTT subtitles in HLS by extension ([#4663](https://github.com/shaka-project/shaka-player/issues/4663)) ([731bd96](https://github.com/shaka-project/shaka-player/commit/731bd96644cbbd3fa39992fd62a4ae6de8389e74))
15
+ * **HLS:** Infer missing codecs from config ([#4656](https://github.com/shaka-project/shaka-player/issues/4656)) ([507d96e](https://github.com/shaka-project/shaka-player/commit/507d96e74239973fb904d6ade4615ac8888a9d57))
16
+ * **ui:** Fix exception on screen rotation if fullscreen is not supported ([#4669](https://github.com/shaka-project/shaka-player/issues/4669)) ([6c54db9](https://github.com/shaka-project/shaka-player/commit/6c54db91e03c4ff4a2c073b45dcb05e8591295d0))
17
+
18
+ ## [4.2.3](https://github.com/shaka-project/shaka-player/compare/v4.2.2...v4.2.3) (2022-10-29)
19
+
20
+
21
+ ### Bug Fixes
22
+
23
+ * **ads:** Fix IMA crash when autoplay is rejected ([#4518](https://github.com/shaka-project/shaka-player/issues/4518)) ([871a3c0](https://github.com/shaka-project/shaka-player/commit/871a3c0315a2965c91ebdde9815c7f6c5e0a59de)), closes [#4179](https://github.com/shaka-project/shaka-player/issues/4179)
24
+ * Fix HLS live stream subtitle offsets ([#4586](https://github.com/shaka-project/shaka-player/issues/4586)) ([ec0b4dc](https://github.com/shaka-project/shaka-player/commit/ec0b4dcb0e288ceb1a01874db99063ef54fb3e47))
25
+ * Fix multi-period DASH with descriptive audio ([#4629](https://github.com/shaka-project/shaka-player/issues/4629)) ([0e70b87](https://github.com/shaka-project/shaka-player/commit/0e70b874cf8558207b0620516c5608c6a201018d)), closes [#4500](https://github.com/shaka-project/shaka-player/issues/4500)
26
+ * fix support clear and encrypted periods ([#4606](https://github.com/shaka-project/shaka-player/issues/4606)) ([8ece8ea](https://github.com/shaka-project/shaka-player/commit/8ece8ea225fb8b9ec9027dacef0865cceb3fd93b))
27
+ * Force using mcap polyfill on EOS browsers ([#4630](https://github.com/shaka-project/shaka-player/issues/4630)) ([6b9f806](https://github.com/shaka-project/shaka-player/commit/6b9f806df54cc7b8761ef1683cefe5ed8d576a03))
28
+ * **hls:** Fix raw format detection when the main playlist hasn't type ([#4583](https://github.com/shaka-project/shaka-player/issues/4583)) ([4053088](https://github.com/shaka-project/shaka-player/commit/4053088847eff6d7ddb7a969701fa881f6e90e8a))
29
+ * Limit key ids to 32 characters ([#4614](https://github.com/shaka-project/shaka-player/issues/4614)) ([6fc1455](https://github.com/shaka-project/shaka-player/commit/6fc145584ffc0798a6e97c5672409b1e1613f164))
30
+ * Make XML parsing secure ([#4598](https://github.com/shaka-project/shaka-player/issues/4598)) ([2e45696](https://github.com/shaka-project/shaka-player/commit/2e45696c10f3c2199a372a7a5f311579e627cd8e))
31
+ * **offline:** Add storage muxer init timeout ([#4566](https://github.com/shaka-project/shaka-player/issues/4566)) ([6022907](https://github.com/shaka-project/shaka-player/commit/6022907df5e3a18b552a49e537d2c1daeebbc2c6))
32
+ * **playhead:** Safeguard getStallsDetected as stallDetector can be null ([#4581](https://github.com/shaka-project/shaka-player/issues/4581)) ([c4ee14f](https://github.com/shaka-project/shaka-player/commit/c4ee14f2abcdd83b21e64230b67ab121c1db037e))
33
+ * Resolve load failures for TS-based content on Android-based Cast devices ([#4569](https://github.com/shaka-project/shaka-player/issues/4569)). ([#4570](https://github.com/shaka-project/shaka-player/issues/4570)) ([4a4f48d](https://github.com/shaka-project/shaka-player/commit/4a4f48d2cac726e2a5a1d4e51e89f0b854e281ef))
34
+
3
35
  ## [4.2.2](https://github.com/shaka-project/shaka-player/compare/v4.2.1...v4.2.2) (2022-10-07)
4
36
 
5
37
 
package/CONTRIBUTORS CHANGED
@@ -50,6 +50,7 @@ Enson Choy <enson.choy@harmonicinc.com>
50
50
  Esteban Dosztal <edosztal@gmail.com>
51
51
  Fadomire <fadomire@gmail.com>
52
52
  François Beaufort <fbeaufort@google.com>
53
+ Gerardo Meola <meola.gerardo@gmail.com>
53
54
  Gil Gonen <gil.gonen@gmail.com>
54
55
  Giorgio Gamberoni <giorgio.gamberoni@gmail.com>
55
56
  Giuseppe Samela <giuseppe.samela@gmail.com>
@@ -124,3 +125,4 @@ Wayne Morgan <wayne.morgan.dev@gmail.com>
124
125
  Yohann Connell <robinconnell@google.com>
125
126
  Raymond Cheng <raycheng100@gmail.com>
126
127
  Janroel Koppen <j.koppen@bluebillywig.com>
128
+ Koen Romers <koenromers@gmail.com>
package/dist/deps.js CHANGED
@@ -62,13 +62,13 @@ goog.addDependency('../../../../lib/media/adaptation_set_criteria.js', ['shaka.m
62
62
  goog.addDependency('../../../../lib/media/buffering_observer.js', ['shaka.media.BufferingObserver'], [], {'lang': 'es6'});
63
63
  goog.addDependency('../../../../lib/media/closed_caption_parser.js', ['shaka.media.ClosedCaptionParser', 'shaka.media.IClosedCaptionParser'], ['shaka.cea.CeaDecoder', 'shaka.cea.Mp4CeaParser', 'shaka.util.BufferUtils'], {'lang': 'es6'});
64
64
  goog.addDependency('../../../../lib/media/content_workarounds.js', ['shaka.media.ContentWorkarounds'], ['goog.asserts', 'shaka.log', 'shaka.util.BufferUtils', 'shaka.util.Error', 'shaka.util.Lazy', 'shaka.util.Mp4Parser', 'shaka.util.Platform', 'shaka.util.Uint8ArrayUtils'], {'lang': 'es6'});
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.ManifestParserUtils', 'shaka.util.MapUtils', 'shaka.util.MimeUtils', 'shaka.util.Platform', 'shaka.util.Pssh', 'shaka.util.PublicPromise', 'shaka.util.StreamUtils', 'shaka.util.StringUtils', 'shaka.util.Timer', 'shaka.util.Uint8ArrayUtils'], {'lang': 'es8'});
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.ManifestParserUtils', 'shaka.util.MapUtils', 'shaka.util.MimeUtils', 'shaka.util.Platform', 'shaka.util.Pssh', 'shaka.util.PublicPromise', 'shaka.util.StreamUtils', 'shaka.util.StringUtils', 'shaka.util.Timer', 'shaka.util.Uint8ArrayUtils', 'shaka.util.XmlUtils'], {'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.FakeEvent', '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
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
- 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'});
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': 'es8'});
72
72
  goog.addDependency('../../../../lib/media/playhead_observer.js', ['shaka.media.IPlayheadObserver', 'shaka.media.PlayheadObserverManager'], ['shaka.util.IReleasable', 'shaka.util.Timer'], {'lang': 'es6'});
73
73
  goog.addDependency('../../../../lib/media/presentation_timeline.js', ['shaka.media.PresentationTimeline'], ['goog.asserts', 'shaka.log', 'shaka.media.SegmentReference'], {'lang': 'es6'});
74
74
  goog.addDependency('../../../../lib/media/quality_observer.js', ['shaka.media.QualityObserver'], ['shaka.log', 'shaka.media.IPlayheadObserver', 'shaka.util.FakeEvent', 'shaka.util.FakeEventTarget'], {'lang': 'es6'});
@@ -95,7 +95,7 @@ goog.addDependency('../../../../lib/offline/indexeddb/base_storage_cell.js', ['s
95
95
  goog.addDependency('../../../../lib/offline/indexeddb/db_connection.js', ['shaka.offline.indexeddb.DBConnection'], ['shaka.offline.indexeddb.DBOperation', 'shaka.util.ArrayUtils'], {'lang': 'es6'});
96
96
  goog.addDependency('../../../../lib/offline/indexeddb/db_operation.js', ['shaka.offline.indexeddb.DBOperation'], ['shaka.util.PublicPromise'], {'lang': 'es8'});
97
97
  goog.addDependency('../../../../lib/offline/indexeddb/eme_session_storage_cell.js', ['shaka.offline.indexeddb.EmeSessionStorageCell'], ['shaka.offline.indexeddb.DBConnection'], {'lang': 'es8'});
98
- goog.addDependency('../../../../lib/offline/indexeddb/storage_mechanism.js', ['shaka.offline.indexeddb.StorageMechanism'], ['goog.asserts', 'shaka.log', 'shaka.offline.StorageMuxer', 'shaka.offline.indexeddb.EmeSessionStorageCell', 'shaka.offline.indexeddb.V1StorageCell', 'shaka.offline.indexeddb.V2StorageCell', 'shaka.offline.indexeddb.V5StorageCell', 'shaka.util.Error', 'shaka.util.Platform', 'shaka.util.PublicPromise'], {'lang': 'es8'});
98
+ goog.addDependency('../../../../lib/offline/indexeddb/storage_mechanism.js', ['shaka.offline.indexeddb.StorageMechanism'], ['goog.asserts', 'shaka.log', 'shaka.offline.StorageMuxer', 'shaka.offline.indexeddb.EmeSessionStorageCell', 'shaka.offline.indexeddb.V1StorageCell', 'shaka.offline.indexeddb.V2StorageCell', 'shaka.offline.indexeddb.V5StorageCell', 'shaka.util.Error', 'shaka.util.Platform', 'shaka.util.PublicPromise', 'shaka.util.Timer'], {'lang': 'es8'});
99
99
  goog.addDependency('../../../../lib/offline/indexeddb/v1_storage_cell.js', ['shaka.offline.indexeddb.V1StorageCell'], ['goog.asserts', 'shaka.log', 'shaka.offline.indexeddb.BaseStorageCell', 'shaka.util.Error', 'shaka.util.ManifestParserUtils', 'shaka.util.PeriodCombiner', 'shaka.util.PublicPromise'], {'lang': 'es8'});
100
100
  goog.addDependency('../../../../lib/offline/indexeddb/v2_storage_cell.js', ['shaka.offline.indexeddb.V2StorageCell'], ['shaka.offline.indexeddb.BaseStorageCell', 'shaka.util.PeriodCombiner'], {'lang': 'es8'});
101
101
  goog.addDependency('../../../../lib/offline/indexeddb/v5_storage_cell.js', ['shaka.offline.indexeddb.V5StorageCell'], ['shaka.offline.indexeddb.BaseStorageCell'], {'lang': 'es6'});
@@ -186,7 +186,7 @@ goog.addDependency('../../../../lib/util/switch_history.js', ['shaka.util.Switch
186
186
  goog.addDependency('../../../../lib/util/text_parser.js', ['shaka.util.TextParser'], ['goog.asserts'], {'lang': 'es6'});
187
187
  goog.addDependency('../../../../lib/util/timer.js', ['shaka.util.Timer'], ['shaka.util.DelayedTick'], {'lang': 'es6'});
188
188
  goog.addDependency('../../../../lib/util/uint8array_utils.js', ['shaka.util.Uint8ArrayUtils'], ['shaka.util.BufferUtils', 'shaka.util.StringUtils'], {'lang': 'es6'});
189
- goog.addDependency('../../../../lib/util/xml_utils.js', ['shaka.util.XmlUtils'], ['goog.asserts', 'shaka.log', 'shaka.util.StringUtils'], {'lang': 'es6'});
189
+ goog.addDependency('../../../../lib/util/xml_utils.js', ['shaka.util.XmlUtils'], ['goog.asserts', 'shaka.log', 'shaka.util.Lazy', 'shaka.util.StringUtils'], {'lang': 'es8'});
190
190
  goog.addDependency('../../../../third_party/closure-uri/uri.js', ['goog.Uri', 'goog.Uri.QueryData'], ['goog.asserts', 'goog.uri.utils', 'goog.uri.utils.ComponentIndex']);
191
191
  goog.addDependency('../../../../third_party/closure-uri/utils.js', ['goog.uri.utils', 'goog.uri.utils.ComponentIndex'], []);
192
192
  goog.addDependency('../../../../third_party/language-mapping-list/language-mapping-list.js', ['mozilla.LanguageMapping'], [], {'lang': 'es6'});
@@ -217,7 +217,7 @@ goog.addDependency('../../../../ui/range_element.js', ['shaka.ui.RangeElement'],
217
217
  goog.addDependency('../../../../ui/resolution_selection.js', ['shaka.ui.ResolutionSelection'], ['goog.asserts', 'shaka.ui.Controls', 'shaka.ui.Enums', 'shaka.ui.Locales', 'shaka.ui.Localization', 'shaka.ui.OverflowMenu', 'shaka.ui.SettingsMenu', 'shaka.ui.Utils', 'shaka.util.Dom', 'shaka.util.FakeEvent'], {'lang': 'es6'});
218
218
  goog.addDependency('../../../../ui/rewind_button.js', ['shaka.ui.RewindButton'], ['shaka.ui.Controls', 'shaka.ui.Element', 'shaka.ui.Enums', 'shaka.ui.Locales', 'shaka.ui.Localization', 'shaka.util.Dom'], {'lang': 'es6'});
219
219
  goog.addDependency('../../../../ui/seek_bar.js', ['shaka.ui.SeekBar'], ['shaka.ads.AdManager', 'shaka.ui.Constants', 'shaka.ui.Locales', 'shaka.ui.Localization', 'shaka.ui.RangeElement', 'shaka.ui.Utils', 'shaka.util.Dom', 'shaka.util.Timer'], {'lang': 'es6'});
220
- goog.addDependency('../../../../ui/settings_menu.js', ['shaka.ui.SettingsMenu'], ['shaka.ui.Element', 'shaka.ui.Enums', 'shaka.ui.Utils', 'shaka.util.Dom', 'shaka.util.FakeEvent'], {'lang': 'es6'});
220
+ goog.addDependency('../../../../ui/settings_menu.js', ['shaka.ui.SettingsMenu'], ['shaka.ui.Element', 'shaka.ui.Enums', 'shaka.ui.Utils', 'shaka.util.Dom', 'shaka.util.FakeEvent', 'shaka.util.Iterables'], {'lang': 'es6'});
221
221
  goog.addDependency('../../../../ui/skip_ad_button.js', ['shaka.ui.SkipAdButton'], ['goog.asserts', 'shaka.ads.AdManager', 'shaka.ui.Element', 'shaka.ui.Locales', 'shaka.ui.Localization', 'shaka.ui.Utils', 'shaka.util.Dom', 'shaka.util.Timer'], {'lang': 'es6'});
222
222
  goog.addDependency('../../../../ui/small_play_button.js', ['shaka.ui.SmallPlayButton'], ['shaka.ui.Controls', 'shaka.ui.Enums', 'shaka.ui.Locales', 'shaka.ui.PlayButton'], {'lang': 'es6'});
223
223
  goog.addDependency('../../../../ui/spacer.js', ['shaka.ui.Spacer'], ['shaka.ui.Controls', 'shaka.ui.Element', 'shaka.util.Dom'], {'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
- VOLUME: 'VOLUME',
725
- FAST_FORWARD: 'FAST_FORWARD',
726
- AD_DURATION: 'AD_DURATION',
727
- SUBTITLE_FORCED: 'SUBTITLE_FORCED',
724
+ PAUSE: 'PAUSE',
725
+ UNRECOGNIZED_LANGUAGE: 'UNRECOGNIZED_LANGUAGE',
726
+ EXIT_LOOP_MODE: 'EXIT_LOOP_MODE',
727
+ REWIND: 'REWIND',
728
+ PICTURE_IN_PICTURE: 'PICTURE_IN_PICTURE',
729
+ LIVE: 'LIVE',
728
730
  ENTER_PICTURE_IN_PICTURE: 'ENTER_PICTURE_IN_PICTURE',
729
- QUALITY: 'QUALITY',
730
- LANGUAGE: 'LANGUAGE',
731
+ MUTE: 'MUTE',
732
+ SKIP_AD: 'SKIP_AD',
733
+ SEEK: 'SEEK',
734
+ LOOP: 'LOOP',
731
735
  EXIT_PICTURE_IN_PICTURE: 'EXIT_PICTURE_IN_PICTURE',
732
- SKIP_TO_LIVE: 'SKIP_TO_LIVE',
733
- NOT_APPLICABLE: 'NOT_APPLICABLE',
736
+ FULL_SCREEN: 'FULL_SCREEN',
737
+ BACK: 'BACK',
738
+ SUBTITLE_FORCED: 'SUBTITLE_FORCED',
739
+ EXIT_FULL_SCREEN: 'EXIT_FULL_SCREEN',
740
+ AD_TIME: 'AD_TIME',
741
+ OFF: 'OFF',
734
742
  REPLAY: 'REPLAY',
735
743
  UNMUTE: 'UNMUTE',
736
- MUTE: 'MUTE',
737
- ENTER_LOOP_MODE: 'ENTER_LOOP_MODE',
738
- RESOLUTION: 'RESOLUTION',
739
- CAST: 'CAST',
740
- AD_TIME: 'AD_TIME',
741
- PLAY: 'PLAY',
742
- CAPTIONS: 'CAPTIONS',
743
- BACK: 'BACK',
744
- UNRECOGNIZED_LANGUAGE: 'UNRECOGNIZED_LANGUAGE',
745
- ON: 'ON',
746
- AUTO_QUALITY: 'AUTO_QUALITY',
744
+ FAST_FORWARD: 'FAST_FORWARD',
745
+ VOLUME: 'VOLUME',
747
746
  MULTIPLE_LANGUAGES: 'MULTIPLE_LANGUAGES',
747
+ AUTO_QUALITY: 'AUTO_QUALITY',
748
+ AD_DURATION: 'AD_DURATION',
749
+ AIRPLAY: 'AIRPLAY',
750
+ ENTER_LOOP_MODE: 'ENTER_LOOP_MODE',
751
+ UNDETERMINED_LANGUAGE: 'UNDETERMINED_LANGUAGE',
752
+ LANGUAGE: 'LANGUAGE',
753
+ STATISTICS: 'STATISTICS',
754
+ QUALITY: 'QUALITY',
748
755
  MORE_SETTINGS: 'MORE_SETTINGS',
749
- PICTURE_IN_PICTURE: 'PICTURE_IN_PICTURE',
756
+ NOT_APPLICABLE: 'NOT_APPLICABLE',
757
+ ON: 'ON',
758
+ PLAY: 'PLAY',
759
+ CAST: 'CAST',
750
760
  AD_PROGRESS: 'AD_PROGRESS',
751
- FULL_SCREEN: 'FULL_SCREEN',
752
- EXIT_LOOP_MODE: 'EXIT_LOOP_MODE',
753
- SKIP_AD: 'SKIP_AD',
754
- STATISTICS: 'STATISTICS',
755
- LIVE: 'LIVE',
756
- UNDETERMINED_LANGUAGE: 'UNDETERMINED_LANGUAGE',
757
- AIRPLAY: 'AIRPLAY',
758
- EXIT_FULL_SCREEN: 'EXIT_FULL_SCREEN',
759
- OFF: 'OFF',
760
761
  PLAYBACK_RATE: 'PLAYBACK_RATE',
761
- PAUSE: 'PAUSE',
762
- LOOP: 'LOOP',
763
- REWIND: 'REWIND',
764
- SEEK: 'SEEK',
762
+ CAPTIONS: 'CAPTIONS',
763
+ RESOLUTION: 'RESOLUTION',
764
+ SKIP_TO_LIVE: 'SKIP_TO_LIVE',
765
765
  };
@@ -294,7 +294,7 @@ declare namespace shaka {
294
294
  * If the player has loaded content, and streaming seen an error, but the
295
295
  * could not resume streaming, this will return <code>false</code>.
296
296
  */
297
- retryStreaming ( ) : boolean ;
297
+ retryStreaming (retryDelaySeconds ? : number ) : boolean ;
298
298
  /**
299
299
  * Get the range of time (in seconds) that seeking is allowed. If the player
300
300
  * has not loaded content, this will return a range from 0 to 0.
@@ -2250,6 +2250,7 @@ declare namespace shaka.util.Error {
2250
2250
  HTTP_ERROR = 1002.0 ,
2251
2251
  INCONSISTENT_DRM_ACROSS_PERIODS = 4038.0 ,
2252
2252
  INDEXED_DB_ERROR = 9001.0 ,
2253
+ INDEXED_DB_INIT_TIMED_OUT = 9017.0 ,
2253
2254
  INIT_DATA_TRANSFORM_ERROR = 6016.0 ,
2254
2255
  INVALID_HLS_TAG = 4016.0 ,
2255
2256
  INVALID_MP4_CEA = 2010.0 ,
@@ -3217,6 +3218,10 @@ declare namespace muxjs.mp4 {
3217
3218
  */
3218
3219
  on (type : string , listener : Function | null ) : any ;
3219
3220
  push (data : Uint8Array ) : any ;
3221
+ /**
3222
+ * Reset captions.
3223
+ */
3224
+ resetCaptions ( ) : any ;
3220
3225
  setBaseMediaDecodeTime (time : number ) : any ;
3221
3226
  }
3222
3227
  }
@@ -294,7 +294,7 @@ declare namespace shaka {
294
294
  * If the player has loaded content, and streaming seen an error, but the
295
295
  * could not resume streaming, this will return <code>false</code>.
296
296
  */
297
- retryStreaming ( ) : boolean ;
297
+ retryStreaming (retryDelaySeconds ? : number ) : boolean ;
298
298
  /**
299
299
  * Get the range of time (in seconds) that seeking is allowed. If the player
300
300
  * has not loaded content, this will return a range from 0 to 0.
@@ -2250,6 +2250,7 @@ declare namespace shaka.util.Error {
2250
2250
  HTTP_ERROR = 1002.0 ,
2251
2251
  INCONSISTENT_DRM_ACROSS_PERIODS = 4038.0 ,
2252
2252
  INDEXED_DB_ERROR = 9001.0 ,
2253
+ INDEXED_DB_INIT_TIMED_OUT = 9017.0 ,
2253
2254
  INIT_DATA_TRANSFORM_ERROR = 6016.0 ,
2254
2255
  INVALID_HLS_TAG = 4016.0 ,
2255
2256
  INVALID_MP4_CEA = 2010.0 ,
@@ -3217,6 +3218,10 @@ declare namespace muxjs.mp4 {
3217
3218
  */
3218
3219
  on (type : string , listener : Function | null ) : any ;
3219
3220
  push (data : Uint8Array ) : any ;
3221
+ /**
3222
+ * Reset captions.
3223
+ */
3224
+ resetCaptions ( ) : any ;
3220
3225
  setBaseMediaDecodeTime (time : number ) : any ;
3221
3226
  }
3222
3227
  }
@@ -649,6 +649,7 @@ shaka.util.Error.Code = {
649
649
  'STORAGE_LIMIT_REACHED': 9014,
650
650
  'DOWNLOAD_SIZE_CALLBACK_ERROR': 9015,
651
651
  'MODIFY_OPERATION_NOT_SUPPORTED': 9016,
652
+ 'INDEXED_DB_INIT_TIMED_OUT': 9017,
652
653
  'CS_IMA_SDK_MISSING': 10000,
653
654
  'CS_AD_MANAGER_NOT_INITIALIZED': 10001,
654
655
  'SS_IMA_SDK_MISSING': 10002,
@@ -2771,9 +2772,10 @@ shaka.Player = class extends shaka.util.FakeEventTarget {
2771
2772
  * <p>
2772
2773
  * If the player has loaded content, and streaming seen an error, but the
2773
2774
  * could not resume streaming, this will return <code>false</code>.
2775
+ * @param {number=} retryDelaySeconds
2774
2776
  * @return {boolean}
2775
2777
  */
2776
- retryStreaming() {}
2778
+ retryStreaming(retryDelaySeconds) {}
2777
2779
  /**
2778
2780
  * Get the manifest that the player has loaded. If the player has not loaded
2779
2781
  * any content, this will return <code>null</code>.