shaka-player 4.3.2 → 4.3.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 (52) hide show
  1. package/.github/workflows/selenium-lab-tests.yaml +22 -0
  2. package/CHANGELOG.md +37 -0
  3. package/dist/deps.js +4 -3
  4. package/dist/locales.js +33 -33
  5. package/dist/shaka-player.compiled.d.ts +10 -0
  6. package/dist/shaka-player.compiled.debug.d.ts +10 -0
  7. package/dist/shaka-player.compiled.debug.externs.js +12 -0
  8. package/dist/shaka-player.compiled.debug.js +152 -144
  9. package/dist/shaka-player.compiled.debug.map +4 -4
  10. package/dist/shaka-player.compiled.externs.js +12 -0
  11. package/dist/shaka-player.compiled.js +778 -772
  12. package/dist/shaka-player.compiled.map +4 -4
  13. package/dist/shaka-player.ui.d.ts +10 -0
  14. package/dist/shaka-player.ui.debug.d.ts +10 -0
  15. package/dist/shaka-player.ui.debug.externs.js +12 -0
  16. package/dist/shaka-player.ui.debug.js +164 -157
  17. package/dist/shaka-player.ui.debug.map +4 -4
  18. package/dist/shaka-player.ui.externs.js +12 -0
  19. package/dist/shaka-player.ui.js +851 -846
  20. package/dist/shaka-player.ui.map +4 -4
  21. package/lib/dash/segment_template.js +17 -5
  22. package/lib/hls/hls_parser.js +45 -16
  23. package/lib/media/media_source_engine.js +34 -4
  24. package/lib/media/segment_index.js +5 -10
  25. package/lib/media/segment_reference.js +39 -0
  26. package/lib/media/streaming_engine.js +15 -3
  27. package/lib/player.js +7 -1
  28. package/lib/polyfill/media_capabilities.js +4 -1
  29. package/lib/text/simple_text_displayer.js +2 -64
  30. package/lib/text/text_utils.js +88 -0
  31. package/lib/text/ui_text_displayer.js +24 -9
  32. package/lib/text/vtt_text_parser.js +224 -97
  33. package/lib/text/web_vtt_generator.js +2 -52
  34. package/lib/util/dom_utils.js +3 -1
  35. package/lib/util/platform.js +8 -0
  36. package/lib/util/stream_utils.js +6 -0
  37. package/lib/util/timer.js +17 -0
  38. package/package.json +1 -1
  39. package/support.html +1 -0
  40. package/test/dash/dash_parser_manifest_unit.js +0 -36
  41. package/test/hls/hls_live_unit.js +8 -30
  42. package/test/hls/hls_parser_unit.js +30 -0
  43. package/test/media/segment_index_unit.js +28 -0
  44. package/test/media/streaming_engine_unit.js +91 -119
  45. package/test/player_integration.js +27 -0
  46. package/test/player_unit.js +4 -2
  47. package/test/test/util/layout_tests.js +433 -0
  48. package/test/test/util/util.js +0 -120
  49. package/test/{ui → text}/text_displayer_layout_unit.js +59 -235
  50. package/test/text/ui_text_displayer_unit.js +72 -4
  51. package/test/text/vtt_text_parser_unit.js +114 -8
  52. package/test/text/web_vtt_layout_integration.js +528 -0
@@ -8,6 +8,9 @@ on:
8
8
  pr:
9
9
  description: "A PR number to build and test in the lab. If empty, will build and test from main."
10
10
  required: false
11
+ test_filter:
12
+ description: "A filter to run a subset of the tests. If empty, all tests will run."
13
+ required: false
11
14
  schedule:
12
15
  # Runs every night at 2am PST / 10am UTC, testing against the main branch.
13
16
  - cron: '0 10 * * *'
@@ -191,6 +194,11 @@ jobs:
191
194
  extra_flags=""
192
195
  fi
193
196
 
197
+ filter="${{ github.event.inputs.test_filter }}"
198
+ if [[ "$filter" != "" ]]; then
199
+ extra_flags="$extra_flags --filter $filter"
200
+ fi
201
+
194
202
  python3 build/test.py \
195
203
  --no-build \
196
204
  --reporters spec --spec-hide-passed \
@@ -241,6 +249,20 @@ jobs:
241
249
  # there.
242
250
  if-no-files-found: error
243
251
 
252
+ # Upload new screenshots and diffs on failure; ignore if missing
253
+ - name: Upload screenshots
254
+ uses: actions/upload-artifact@v3
255
+ if: ${{ failure() }}
256
+ with:
257
+ # In this workflow, "browser" is the selenium node name, which can
258
+ # contain both browser and OS, such as "ChromeLinux".
259
+ name: screenshots-${{ matrix.browser }}
260
+ path: |
261
+ test/test/assets/screenshots/*/*.png-new
262
+ test/test/assets/screenshots/*/*.png-diff
263
+ if-no-files-found: ignore
264
+ retention-days: 5
265
+
244
266
  - name: Report final commit status
245
267
  # Will run on success or failure, but not if the workflow is cancelled.
246
268
  if: ${{ success() || failure() }}
package/CHANGELOG.md CHANGED
@@ -1,5 +1,42 @@
1
1
  # Changelog
2
2
 
3
+ ## [4.3.4](https://github.com/shaka-project/shaka-player/compare/v4.3.3...v4.3.4) (2023-01-31)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * Add mux.js to support.html ([#4923](https://github.com/shaka-project/shaka-player/issues/4923)) ([fde895e](https://github.com/shaka-project/shaka-player/commit/fde895e13c4a935b39aa9bf2bc0c5dce77add0b0))
9
+ * **DASH:** Fix dynamic manifests from edgeware ([#4914](https://github.com/shaka-project/shaka-player/issues/4914)) ([983dea3](https://github.com/shaka-project/shaka-player/commit/983dea3c87796384d9b7f876e73c47545d97e980))
10
+ * Fix MediaCapabilities polyfill on Hisense ([#4927](https://github.com/shaka-project/shaka-player/issues/4927)) ([d36677f](https://github.com/shaka-project/shaka-player/commit/d36677f0db52bff2fef967e787954e8f25889d2f))
11
+ * Fix WebVTT parser failure on REGION blocks ([#4915](https://github.com/shaka-project/shaka-player/issues/4915)) ([f57a954](https://github.com/shaka-project/shaka-player/commit/f57a9541cdff50de63f41247e258673fbed0cf78))
12
+ * **HLS:** Fix detection of WebVTT subtitles in HLS by extension ([#4928](https://github.com/shaka-project/shaka-player/issues/4928)) ([86c58ee](https://github.com/shaka-project/shaka-player/commit/86c58ee1d4f6e0fe56a5aaebf9771024193a9efe)), closes [#4929](https://github.com/shaka-project/shaka-player/issues/4929)
13
+ * **HLS:** IMSC1 subtitles not working in a HLS stream ([#4942](https://github.com/shaka-project/shaka-player/issues/4942)) ([8a9156f](https://github.com/shaka-project/shaka-player/commit/8a9156fa14cd6646900bdf534714ead775fccb15))
14
+ * **VTT:** Fix combining style selectors ([#4934](https://github.com/shaka-project/shaka-player/issues/4934)) ([bd04cf1](https://github.com/shaka-project/shaka-player/commit/bd04cf15223d026bb880ab0cca2a3e6332e8f485))
15
+ * **WebVTT:** Add support to  , ‎ and ‏ ([#4920](https://github.com/shaka-project/shaka-player/issues/4920)) ([d2e2d49](https://github.com/shaka-project/shaka-player/commit/d2e2d49da0593d2ee2e0e4da7e2ce9acae0798af))
16
+ * **WebVTT:** Add support to voice tag styles ([#4845](https://github.com/shaka-project/shaka-player/issues/4845)) ([4fb19fb](https://github.com/shaka-project/shaka-player/commit/4fb19fb075a89ae6a401c236b65c82d899a069d8))
17
+ * **WebVTT:** Fix horizontal positioning with cue box size ([#4949](https://github.com/shaka-project/shaka-player/issues/4949)) ([cefbe08](https://github.com/shaka-project/shaka-player/commit/cefbe083b684fc1295483e938a8576d9de81a359))
18
+ * **WebVTT:** Fix voices with styles and support to multiple styles ([#4922](https://github.com/shaka-project/shaka-player/issues/4922)) ([981bceb](https://github.com/shaka-project/shaka-player/commit/981bceb233b029b6e77499439627455913a1784d))
19
+
20
+ ## [4.3.3](https://github.com/shaka-project/shaka-player/compare/v4.3.2...v4.3.3) (2023-01-13)
21
+
22
+
23
+ ### Bug Fixes
24
+
25
+ * Fix exception enabling captions on HLS ([#4894](https://github.com/shaka-project/shaka-player/issues/4894)) ([1d0ad52](https://github.com/shaka-project/shaka-player/commit/1d0ad529e7e38be07df2ed08fb14a2b88098b7fc)), closes [#4889](https://github.com/shaka-project/shaka-player/issues/4889)
26
+ * Fix flattenedCues in WebVttGenerator ([#4867](https://github.com/shaka-project/shaka-player/issues/4867)) ([e062175](https://github.com/shaka-project/shaka-player/commit/e0621753a5b1342df34a87db462cc4dd18657c3b))
27
+ * Fix legacy codec support by rewriting codec metadata ([#4858](https://github.com/shaka-project/shaka-player/issues/4858)) ([92abfbc](https://github.com/shaka-project/shaka-player/commit/92abfbcca3e0288c4d2a31ef0771a4c0ed2d4405))
28
+ * Fix media source duration when using sequence mode ([#4848](https://github.com/shaka-project/shaka-player/issues/4848)) ([c9db2a0](https://github.com/shaka-project/shaka-player/commit/c9db2a073c096a7a97afc99fb10301aedbc96a87))
29
+ * Fix parsing error on Chromecast when resyncing HLS ([#4869](https://github.com/shaka-project/shaka-player/issues/4869)) ([6dfa6d7](https://github.com/shaka-project/shaka-player/commit/6dfa6d7abbc98c1d1bc18cf70cb6cf1ad80a83f4)), closes [#4589](https://github.com/shaka-project/shaka-player/issues/4589)
30
+ * Fix potential AV sync issues after seek or adaptation ([#4886](https://github.com/shaka-project/shaka-player/issues/4886)) ([72396b0](https://github.com/shaka-project/shaka-player/commit/72396b019dfe69a50526361be7bc5273786424c0)), closes [#4589](https://github.com/shaka-project/shaka-player/issues/4589)
31
+ * Fix potential duplicate segments, AV sync issues ([#4884](https://github.com/shaka-project/shaka-player/issues/4884)) ([0ac5d7e](https://github.com/shaka-project/shaka-player/commit/0ac5d7ef2ad50bbd61d183566888227e4a1dca78)), closes [#4589](https://github.com/shaka-project/shaka-player/issues/4589)
32
+ * **HLS:** Fix discontinuity tracking ([#4881](https://github.com/shaka-project/shaka-player/issues/4881)) ([2a0ab01](https://github.com/shaka-project/shaka-player/commit/2a0ab012ee11778b9e666014afd92dda2343a780)), closes [#4589](https://github.com/shaka-project/shaka-player/issues/4589)
33
+ * **HLS:** Fix support for mixed AES-128/NONE decryption ([#4847](https://github.com/shaka-project/shaka-player/issues/4847)) ([d495255](https://github.com/shaka-project/shaka-player/commit/d495255523aef39b3f6abd1aa3e5196e976c338f))
34
+ * Make encoding problem detection more robust ([#4885](https://github.com/shaka-project/shaka-player/issues/4885)) ([b1f5c9a](https://github.com/shaka-project/shaka-player/commit/b1f5c9af69dba7ba7eac352e444bd75a0d4f2ae6)), closes [#4589](https://github.com/shaka-project/shaka-player/issues/4589)
35
+ * Release region timeline when unloading ([#4871](https://github.com/shaka-project/shaka-player/issues/4871)) ([8795a66](https://github.com/shaka-project/shaka-player/commit/8795a66edaa5b9c26b687cb28dc194db56e63a9f)), closes [#4850](https://github.com/shaka-project/shaka-player/issues/4850)
36
+ * Sync each segment against EXT-X-PROGRAM-DATE-TIME ([#4870](https://github.com/shaka-project/shaka-player/issues/4870)) ([8f9162f](https://github.com/shaka-project/shaka-player/commit/8f9162f154cd63404bbe95667396a9b12fe73ca6)), closes [#4589](https://github.com/shaka-project/shaka-player/issues/4589)
37
+ * Treat regions uniquely ([#4841](https://github.com/shaka-project/shaka-player/issues/4841)) ([36a3a44](https://github.com/shaka-project/shaka-player/commit/36a3a442cffd2067a48759ad03d05d76efc5accf)), closes [#4839](https://github.com/shaka-project/shaka-player/issues/4839)
38
+ * **ui:** Avoid submitting form if player is inside form ([#4866](https://github.com/shaka-project/shaka-player/issues/4866)) ([fc98e1d](https://github.com/shaka-project/shaka-player/commit/fc98e1d90643ead45632e8a0fb43e5c18aa0a267)), closes [#4861](https://github.com/shaka-project/shaka-player/issues/4861)
39
+
3
40
  ## [4.3.2](https://github.com/shaka-project/shaka-player/compare/v4.3.1...v4.3.2) (2022-12-14)
4
41
 
5
42
 
package/dist/deps.js CHANGED
@@ -81,7 +81,7 @@ goog.addDependency('../../../../lib/media/quality_observer.js', ['shaka.media.Qu
81
81
  goog.addDependency('../../../../lib/media/region_observer.js', ['shaka.media.RegionObserver'], ['shaka.media.IPlayheadObserver', 'shaka.media.RegionTimeline', 'shaka.util.EventManager', 'shaka.util.FakeEvent', 'shaka.util.FakeEventTarget'], {'lang': 'es6'});
82
82
  goog.addDependency('../../../../lib/media/region_timeline.js', ['shaka.media.RegionTimeline'], ['shaka.util.FakeEvent', 'shaka.util.FakeEventTarget', 'shaka.util.IReleasable', 'shaka.util.Timer'], {'lang': 'es6'});
83
83
  goog.addDependency('../../../../lib/media/segment_index.js', ['shaka.media.MetaSegmentIndex', 'shaka.media.SegmentIndex', 'shaka.media.SegmentIterator'], ['goog.asserts', 'shaka.media.SegmentReference', 'shaka.util.IReleasable', 'shaka.util.Timer'], {'lang': 'es8'});
84
- goog.addDependency('../../../../lib/media/segment_reference.js', ['shaka.media.InitSegmentReference', 'shaka.media.SegmentReference'], ['goog.asserts', 'shaka.util.ArrayUtils'], {'lang': 'es6'});
84
+ goog.addDependency('../../../../lib/media/segment_reference.js', ['shaka.media.InitSegmentReference', 'shaka.media.SegmentReference'], ['goog.asserts', 'shaka.log', 'shaka.util.ArrayUtils'], {'lang': 'es6'});
85
85
  goog.addDependency('../../../../lib/media/stall_detector.js', ['shaka.media.StallDetector', 'shaka.media.StallDetector.Implementation', 'shaka.media.StallDetector.MediaElementImplementation'], ['shaka.media.TimeRangesUtils', 'shaka.util.FakeEvent', 'shaka.util.IReleasable'], {'lang': 'es6'});
86
86
  goog.addDependency('../../../../lib/media/streaming_engine.js', ['shaka.media.StreamingEngine'], ['goog.asserts', 'shaka.log', 'shaka.media.InitSegmentReference', 'shaka.media.MediaSourceEngine', 'shaka.media.SegmentIterator', 'shaka.media.SegmentReference', 'shaka.net.Backoff', 'shaka.net.NetworkingEngine', 'shaka.util.DelayedTick', 'shaka.util.Destroyer', 'shaka.util.Error', 'shaka.util.FakeEvent', 'shaka.util.IDestroyable', 'shaka.util.Id3Utils', 'shaka.util.ManifestParserUtils', 'shaka.util.MimeUtils', 'shaka.util.Mp4Parser', 'shaka.util.Networking'], {'lang': 'es8'});
87
87
  goog.addDependency('../../../../lib/media/time_ranges_utils.js', ['shaka.media.TimeRangesUtils'], [], {'lang': 'es6'});
@@ -141,14 +141,15 @@ goog.addDependency('../../../../lib/text/lrc_text_parser.js', ['shaka.text.LrcTe
141
141
  goog.addDependency('../../../../lib/text/mp4_ttml_parser.js', ['shaka.text.Mp4TtmlParser'], ['shaka.text.TextEngine', 'shaka.text.TtmlTextParser', 'shaka.util.Error', 'shaka.util.Mp4Parser'], {'lang': 'es6'});
142
142
  goog.addDependency('../../../../lib/text/mp4_vtt_parser.js', ['shaka.text.Mp4VttParser'], ['goog.asserts', 'shaka.log', 'shaka.text.Cue', 'shaka.text.TextEngine', 'shaka.text.VttTextParser', 'shaka.util.DataViewReader', 'shaka.util.Error', 'shaka.util.Functional', 'shaka.util.Mp4BoxParsers', 'shaka.util.Mp4Parser', 'shaka.util.StringUtils', 'shaka.util.TextParser'], {'lang': 'es6'});
143
143
  goog.addDependency('../../../../lib/text/sbv_text_parser.js', ['shaka.text.SbvTextParser'], ['goog.asserts', 'shaka.text.Cue', 'shaka.text.TextEngine', 'shaka.util.Error', 'shaka.util.StringUtils', 'shaka.util.TextParser'], {'lang': 'es6'});
144
- goog.addDependency('../../../../lib/text/simple_text_displayer.js', ['shaka.text.SimpleTextDisplayer'], ['goog.asserts', 'shaka.log', 'shaka.text.Cue'], {'lang': 'es6'});
144
+ goog.addDependency('../../../../lib/text/simple_text_displayer.js', ['shaka.text.SimpleTextDisplayer'], ['goog.asserts', 'shaka.log', 'shaka.text.Cue', 'shaka.text.Utils'], {'lang': 'es6'});
145
145
  goog.addDependency('../../../../lib/text/srt_text_parser.js', ['shaka.text.SrtTextParser'], ['goog.asserts', 'shaka.text.TextEngine', 'shaka.text.VttTextParser', 'shaka.util.BufferUtils', 'shaka.util.StringUtils'], {'lang': 'es6'});
146
146
  goog.addDependency('../../../../lib/text/ssa_text_parser.js', ['shaka.text.SsaTextParser'], ['goog.asserts', 'shaka.log', 'shaka.text.Cue', 'shaka.text.TextEngine', 'shaka.util.StringUtils'], {'lang': 'es6'});
147
147
  goog.addDependency('../../../../lib/text/text_engine.js', ['shaka.text.TextEngine'], ['goog.asserts', 'shaka.log', 'shaka.text.Cue', 'shaka.util.BufferUtils', 'shaka.util.IDestroyable', 'shaka.util.MimeUtils'], {'lang': 'es8'});
148
+ goog.addDependency('../../../../lib/text/text_utils.js', ['shaka.text.Utils'], ['shaka.text.Cue'], {'lang': 'es6'});
148
149
  goog.addDependency('../../../../lib/text/ttml_text_parser.js', ['shaka.text.TtmlTextParser'], ['goog.asserts', 'shaka.log', 'shaka.text.Cue', 'shaka.text.CueRegion', 'shaka.text.TextEngine', 'shaka.util.ArrayUtils', 'shaka.util.Error', 'shaka.util.StringUtils', 'shaka.util.XmlUtils'], {'lang': 'es8'});
149
150
  goog.addDependency('../../../../lib/text/ui_text_displayer.js', ['shaka.text.UITextDisplayer'], ['goog.asserts', 'shaka.text.Cue', 'shaka.text.CueRegion', 'shaka.util.Dom', 'shaka.util.EventManager', 'shaka.util.Timer'], {'lang': 'es6'});
150
151
  goog.addDependency('../../../../lib/text/vtt_text_parser.js', ['shaka.text.VttTextParser'], ['goog.asserts', 'shaka.log', 'shaka.text.Cue', 'shaka.text.CueRegion', 'shaka.text.TextEngine', 'shaka.util.Error', 'shaka.util.StringUtils', 'shaka.util.TextParser', 'shaka.util.XmlUtils'], {'lang': 'es6'});
151
- goog.addDependency('../../../../lib/text/web_vtt_generator.js', ['shaka.text.WebVttGenerator'], ['shaka.text.Cue'], {'lang': 'es6'});
152
+ goog.addDependency('../../../../lib/text/web_vtt_generator.js', ['shaka.text.WebVttGenerator'], ['shaka.text.Cue', 'shaka.text.Utils'], {'lang': 'es6'});
152
153
  goog.addDependency('../../../../lib/util/abortable_operation.js', ['shaka.util.AbortableOperation'], ['shaka.util.Error', 'shaka.util.PublicPromise'], {'lang': 'es6'});
153
154
  goog.addDependency('../../../../lib/util/array_utils.js', ['shaka.util.ArrayUtils'], [], {'lang': 'es6'});
154
155
  goog.addDependency('../../../../lib/util/buffer_utils.js', ['shaka.util.BufferUtils'], [], {'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
- REWIND: 'REWIND',
725
- AD_DURATION: 'AD_DURATION',
726
- PLAYBACK_RATE: 'PLAYBACK_RATE',
727
- VOLUME: 'VOLUME',
728
- SKIP_TO_LIVE: 'SKIP_TO_LIVE',
729
- SKIP_AD: 'SKIP_AD',
730
724
  AUTO_QUALITY: 'AUTO_QUALITY',
731
- LANGUAGE: 'LANGUAGE',
732
- OFF: 'OFF',
733
- FULL_SCREEN: 'FULL_SCREEN',
734
- UNMUTE: 'UNMUTE',
735
- RESOLUTION: 'RESOLUTION',
736
- FAST_FORWARD: 'FAST_FORWARD',
737
- LIVE: 'LIVE',
738
- ENTER_LOOP_MODE: 'ENTER_LOOP_MODE',
739
- MORE_SETTINGS: 'MORE_SETTINGS',
740
- ENTER_PICTURE_IN_PICTURE: 'ENTER_PICTURE_IN_PICTURE',
741
- SUBTITLE_FORCED: 'SUBTITLE_FORCED',
742
- STATISTICS: 'STATISTICS',
743
- MUTE: 'MUTE',
744
- EXIT_FULL_SCREEN: 'EXIT_FULL_SCREEN',
745
725
  UNRECOGNIZED_LANGUAGE: 'UNRECOGNIZED_LANGUAGE',
746
- BACK: 'BACK',
747
- CAPTIONS: 'CAPTIONS',
748
- EXIT_LOOP_MODE: 'EXIT_LOOP_MODE',
749
- AIRPLAY: 'AIRPLAY',
750
- REPLAY: 'REPLAY',
726
+ VOLUME: 'VOLUME',
727
+ STATISTICS: 'STATISTICS',
751
728
  LOOP: 'LOOP',
752
- EXIT_PICTURE_IN_PICTURE: 'EXIT_PICTURE_IN_PICTURE',
753
- QUALITY: 'QUALITY',
754
729
  NOT_APPLICABLE: 'NOT_APPLICABLE',
755
- PAUSE: 'PAUSE',
756
- PLAY: 'PLAY',
730
+ UNDETERMINED_LANGUAGE: 'UNDETERMINED_LANGUAGE',
731
+ CAPTIONS: 'CAPTIONS',
732
+ MUTE: 'MUTE',
733
+ EXIT_PICTURE_IN_PICTURE: 'EXIT_PICTURE_IN_PICTURE',
734
+ SEEK: 'SEEK',
757
735
  CAST: 'CAST',
758
- MULTIPLE_LANGUAGES: 'MULTIPLE_LANGUAGES',
736
+ PAUSE: 'PAUSE',
737
+ FAST_FORWARD: 'FAST_FORWARD',
738
+ LANGUAGE: 'LANGUAGE',
739
+ SUBTITLE_FORCED: 'SUBTITLE_FORCED',
740
+ FULL_SCREEN: 'FULL_SCREEN',
741
+ AD_TIME: 'AD_TIME',
742
+ OFF: 'OFF',
743
+ AD_DURATION: 'AD_DURATION',
744
+ ENTER_LOOP_MODE: 'ENTER_LOOP_MODE',
745
+ REPLAY: 'REPLAY',
759
746
  AD_PROGRESS: 'AD_PROGRESS',
747
+ SKIP_AD: 'SKIP_AD',
748
+ AIRPLAY: 'AIRPLAY',
749
+ MORE_SETTINGS: 'MORE_SETTINGS',
750
+ MULTIPLE_LANGUAGES: 'MULTIPLE_LANGUAGES',
751
+ QUALITY: 'QUALITY',
760
752
  PICTURE_IN_PICTURE: 'PICTURE_IN_PICTURE',
761
- SEEK: 'SEEK',
762
- AD_TIME: 'AD_TIME',
763
- UNDETERMINED_LANGUAGE: 'UNDETERMINED_LANGUAGE',
753
+ PLAY: 'PLAY',
754
+ BACK: 'BACK',
755
+ SKIP_TO_LIVE: 'SKIP_TO_LIVE',
756
+ REWIND: 'REWIND',
757
+ UNMUTE: 'UNMUTE',
758
+ PLAYBACK_RATE: 'PLAYBACK_RATE',
759
+ LIVE: 'LIVE',
760
+ RESOLUTION: 'RESOLUTION',
761
+ EXIT_FULL_SCREEN: 'EXIT_FULL_SCREEN',
762
+ ENTER_PICTURE_IN_PICTURE: 'ENTER_PICTURE_IN_PICTURE',
764
763
  ON: 'ON',
764
+ EXIT_LOOP_MODE: 'EXIT_LOOP_MODE',
765
765
  };
@@ -1202,10 +1202,20 @@ declare namespace shaka.media {
1202
1202
  * Mark the reference as unavailable.
1203
1203
  */
1204
1204
  markAsUnavailable ( ) : any ;
1205
+ /**
1206
+ * Offset the segment reference by a fixed amount.
1207
+ * @param offset The amount to add to the segment's start and end times.
1208
+ */
1209
+ offset (offset : number ) : any ;
1205
1210
  /**
1206
1211
  * Set the segment's thumbnail sprite.
1207
1212
  */
1208
1213
  setThumbnailSprite (thumbnailSprite : shaka.media.SegmentReference.ThumbnailSprite ) : any ;
1214
+ /**
1215
+ * Sync this segment against a particular sync time that will serve as "0" in
1216
+ * the presentation timeline.
1217
+ */
1218
+ syncAgainst (lowestSyncTime : number ) : any ;
1209
1219
  }
1210
1220
  }
1211
1221
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
@@ -1202,10 +1202,20 @@ declare namespace shaka.media {
1202
1202
  * Mark the reference as unavailable.
1203
1203
  */
1204
1204
  markAsUnavailable ( ) : any ;
1205
+ /**
1206
+ * Offset the segment reference by a fixed amount.
1207
+ * @param offset The amount to add to the segment's start and end times.
1208
+ */
1209
+ offset (offset : number ) : any ;
1205
1210
  /**
1206
1211
  * Set the segment's thumbnail sprite.
1207
1212
  */
1208
1213
  setThumbnailSprite (thumbnailSprite : shaka.media.SegmentReference.ThumbnailSprite ) : any ;
1214
+ /**
1215
+ * Sync this segment against a particular sync time that will serve as "0" in
1216
+ * the presentation timeline.
1217
+ */
1218
+ syncAgainst (lowestSyncTime : number ) : any ;
1209
1219
  }
1210
1220
  }
1211
1221
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.debug.externs.js
@@ -1797,6 +1797,18 @@ shaka.media.SegmentReference = class {
1797
1797
  * @return {?shaka.media.SegmentReference.ThumbnailSprite}
1798
1798
  */
1799
1799
  getThumbnailSprite() {}
1800
+ /**
1801
+ * Offset the segment reference by a fixed amount.
1802
+ * @param {number} offset The amount to add to the segment's start and end
1803
+ * times.
1804
+ */
1805
+ offset(offset) {}
1806
+ /**
1807
+ * Sync this segment against a particular sync time that will serve as "0" in
1808
+ * the presentation timeline.
1809
+ * @param {number} lowestSyncTime
1810
+ */
1811
+ syncAgainst(lowestSyncTime) {}
1800
1812
  };
1801
1813
  /**
1802
1814
  * Rather than using booleans to communicate what the state of the reference,