shaka-player 3.3.15 → 3.3.17

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 (43) hide show
  1. package/.github/workflows/selenium-lab-tests.yaml +22 -0
  2. package/CHANGELOG.md +27 -0
  3. package/dist/locales.js +31 -31
  4. package/dist/shaka-player.compiled.d.ts +5 -0
  5. package/dist/shaka-player.compiled.debug.d.ts +5 -0
  6. package/dist/shaka-player.compiled.debug.externs.js +4 -0
  7. package/dist/shaka-player.compiled.debug.js +99 -92
  8. package/dist/shaka-player.compiled.debug.map +3 -3
  9. package/dist/shaka-player.compiled.externs.js +4 -0
  10. package/dist/shaka-player.compiled.js +353 -350
  11. package/dist/shaka-player.compiled.map +3 -3
  12. package/dist/shaka-player.ui.d.ts +5 -0
  13. package/dist/shaka-player.ui.debug.d.ts +5 -0
  14. package/dist/shaka-player.ui.debug.externs.js +4 -0
  15. package/dist/shaka-player.ui.debug.js +113 -106
  16. package/dist/shaka-player.ui.debug.map +3 -3
  17. package/dist/shaka-player.ui.externs.js +4 -0
  18. package/dist/shaka-player.ui.js +393 -389
  19. package/dist/shaka-player.ui.map +3 -3
  20. package/externs/shaka/text.js +7 -0
  21. package/lib/dash/segment_template.js +17 -5
  22. package/lib/hls/hls_parser.js +1 -1
  23. package/lib/player.js +7 -1
  24. package/lib/polyfill/media_capabilities.js +1 -0
  25. package/lib/text/cue.js +6 -0
  26. package/lib/text/ui_text_displayer.js +25 -9
  27. package/lib/text/vtt_text_parser.js +256 -91
  28. package/lib/text/web_vtt_generator.js +21 -9
  29. package/lib/util/dom_utils.js +3 -1
  30. package/lib/util/platform.js +8 -0
  31. package/lib/util/stream_utils.js +6 -0
  32. package/lib/util/timer.js +17 -0
  33. package/package.json +1 -1
  34. package/support.html +1 -0
  35. package/test/dash/dash_parser_manifest_unit.js +0 -36
  36. package/test/player_integration.js +27 -0
  37. package/test/player_unit.js +4 -2
  38. package/test/test/util/layout_tests.js +433 -0
  39. package/test/test/util/util.js +0 -120
  40. package/test/{ui → text}/text_displayer_layout_unit.js +59 -235
  41. package/test/text/ui_text_displayer_unit.js +72 -4
  42. package/test/text/vtt_text_parser_unit.js +127 -6
  43. 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,32 @@
1
1
  # Changelog
2
2
 
3
+ ## [3.3.17](https://github.com/shaka-project/shaka-player/compare/v3.3.16...v3.3.17) (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)) ([166d7cd](https://github.com/shaka-project/shaka-player/commit/166d7cddb24d6710410fa582b3328a409e3968af))
9
+ * **DASH:** Fix dynamic manifests from edgeware ([#4914](https://github.com/shaka-project/shaka-player/issues/4914)) ([06bfd10](https://github.com/shaka-project/shaka-player/commit/06bfd10af14773440495992f481073589fb908e6))
10
+ * Fix MediaCapabilities polyfill on Hisense ([#4927](https://github.com/shaka-project/shaka-player/issues/4927)) ([5317329](https://github.com/shaka-project/shaka-player/commit/531732923d5118ecbd555531c46862b238b16b50))
11
+ * Fix WebVTT parser failure on REGION blocks ([#4915](https://github.com/shaka-project/shaka-player/issues/4915)) ([c534602](https://github.com/shaka-project/shaka-player/commit/c5346026ad006eeb01f7619c5fa54f2fd88d0f8b))
12
+ * **HLS:** Fix detection of WebVTT subtitles in HLS by extension ([#4928](https://github.com/shaka-project/shaka-player/issues/4928)) ([ae0f615](https://github.com/shaka-project/shaka-player/commit/ae0f615d7df35873135fbc8953e11383395dc25e)), closes [#4929](https://github.com/shaka-project/shaka-player/issues/4929)
13
+ * **VTT:** Fix combining style selectors ([#4934](https://github.com/shaka-project/shaka-player/issues/4934)) ([dfa5dc7](https://github.com/shaka-project/shaka-player/commit/dfa5dc7e137be1a2984280dbddb5c6363b71ed1a))
14
+ * **WebVTT:** Add support to  , ‎ and ‏ ([#4920](https://github.com/shaka-project/shaka-player/issues/4920)) ([b9ddf6a](https://github.com/shaka-project/shaka-player/commit/b9ddf6ac1db9aab186ddf3e2fb794f8875993e10))
15
+ * **WebVTT:** Add support to voice tag styles ([#4845](https://github.com/shaka-project/shaka-player/issues/4845)) ([acbfca1](https://github.com/shaka-project/shaka-player/commit/acbfca15593e972a41215e7f81cba1b9a06edd52))
16
+ * **WebVTT:** Fix horizontal positioning with cue box size ([#4949](https://github.com/shaka-project/shaka-player/issues/4949)) ([a16de64](https://github.com/shaka-project/shaka-player/commit/a16de6474dade1ace63a8a6738de8e86cd89eff7))
17
+ * **WebVTT:** Fix voices with styles and support to multiple styles ([#4922](https://github.com/shaka-project/shaka-player/issues/4922)) ([aee669e](https://github.com/shaka-project/shaka-player/commit/aee669ecd284c6aa49467be4ac5ff6efd9cba5a5))
18
+
19
+ ## [3.3.16](https://github.com/shaka-project/shaka-player/compare/v3.3.15...v3.3.16) (2023-01-13)
20
+
21
+
22
+ ### Bug Fixes
23
+
24
+ * Fix flattenedCues in WebVttGenerator ([#4867](https://github.com/shaka-project/shaka-player/issues/4867)) ([45af59e](https://github.com/shaka-project/shaka-player/commit/45af59e90fe8df66ec48bb32d8db4973181a48bf))
25
+ * Fix legacy codec support by rewriting codec metadata ([#4858](https://github.com/shaka-project/shaka-player/issues/4858)) ([bec765c](https://github.com/shaka-project/shaka-player/commit/bec765c467ceffa9c60bc3be657f92ab298a30c1))
26
+ * Release region timeline when unloading ([#4871](https://github.com/shaka-project/shaka-player/issues/4871)) ([4b2c945](https://github.com/shaka-project/shaka-player/commit/4b2c945419f142525b4662385674957e43e1a2d5)), closes [#4850](https://github.com/shaka-project/shaka-player/issues/4850)
27
+ * Treat regions uniquely ([#4841](https://github.com/shaka-project/shaka-player/issues/4841)) ([1c63ab0](https://github.com/shaka-project/shaka-player/commit/1c63ab0d46d10af4cba49e78a095986d309fce3d)), closes [#4839](https://github.com/shaka-project/shaka-player/issues/4839)
28
+ * **ui:** Avoid submitting form if player is inside form ([#4866](https://github.com/shaka-project/shaka-player/issues/4866)) ([37c7cf9](https://github.com/shaka-project/shaka-player/commit/37c7cf99cd5f7293ee0ff20c17551b10c2294266)), closes [#4861](https://github.com/shaka-project/shaka-player/issues/4861)
29
+
3
30
  ## [3.3.15](https://github.com/shaka-project/shaka-player/compare/v3.3.14...v3.3.15) (2022-12-14)
4
31
 
5
32
 
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
- ENTER_PICTURE_IN_PICTURE: 'ENTER_PICTURE_IN_PICTURE',
724
- AD_PROGRESS: 'AD_PROGRESS',
725
- PLAYBACK_RATE: 'PLAYBACK_RATE',
726
- LANGUAGE: 'LANGUAGE',
727
- ON: 'ON',
728
- CAST: 'CAST',
729
- ENTER_LOOP_MODE: 'ENTER_LOOP_MODE',
723
+ OFF: 'OFF',
724
+ UNMUTE: 'UNMUTE',
725
+ FULL_SCREEN: 'FULL_SCREEN',
730
726
  PLAY: 'PLAY',
727
+ SKIP_TO_LIVE: 'SKIP_TO_LIVE',
728
+ AD_PROGRESS: 'AD_PROGRESS',
729
+ SUBTITLE_FORCED: 'SUBTITLE_FORCED',
731
730
  EXIT_LOOP_MODE: 'EXIT_LOOP_MODE',
732
731
  EXIT_FULL_SCREEN: 'EXIT_FULL_SCREEN',
732
+ NOT_APPLICABLE: 'NOT_APPLICABLE',
733
+ FAST_FORWARD: 'FAST_FORWARD',
734
+ BACK: 'BACK',
733
735
  AD_DURATION: 'AD_DURATION',
734
- REWIND: 'REWIND',
735
- CAPTIONS: 'CAPTIONS',
736
+ AUTO_QUALITY: 'AUTO_QUALITY',
737
+ UNDETERMINED_LANGUAGE: 'UNDETERMINED_LANGUAGE',
738
+ PICTURE_IN_PICTURE: 'PICTURE_IN_PICTURE',
739
+ VOLUME: 'VOLUME',
740
+ LOOP: 'LOOP',
741
+ SKIP_AD: 'SKIP_AD',
742
+ REPLAY: 'REPLAY',
743
+ SEEK: 'SEEK',
744
+ MORE_SETTINGS: 'MORE_SETTINGS',
745
+ MULTIPLE_LANGUAGES: 'MULTIPLE_LANGUAGES',
736
746
  LIVE: 'LIVE',
747
+ ON: 'ON',
748
+ ENTER_PICTURE_IN_PICTURE: 'ENTER_PICTURE_IN_PICTURE',
749
+ RESOLUTION: 'RESOLUTION',
750
+ MUTE: 'MUTE',
751
+ REWIND: 'REWIND',
737
752
  PAUSE: 'PAUSE',
738
753
  UNRECOGNIZED_LANGUAGE: 'UNRECOGNIZED_LANGUAGE',
739
- EXIT_PICTURE_IN_PICTURE: 'EXIT_PICTURE_IN_PICTURE',
740
- VOLUME: 'VOLUME',
741
- SUBTITLE_FORCED: 'SUBTITLE_FORCED',
742
- PICTURE_IN_PICTURE: 'PICTURE_IN_PICTURE',
754
+ AD_TIME: 'AD_TIME',
755
+ ENTER_LOOP_MODE: 'ENTER_LOOP_MODE',
756
+ LANGUAGE: 'LANGUAGE',
757
+ CAST: 'CAST',
758
+ CAPTIONS: 'CAPTIONS',
743
759
  AIRPLAY: 'AIRPLAY',
744
- REPLAY: 'REPLAY',
745
- MUTE: 'MUTE',
746
- BACK: 'BACK',
747
- NOT_APPLICABLE: 'NOT_APPLICABLE',
760
+ EXIT_PICTURE_IN_PICTURE: 'EXIT_PICTURE_IN_PICTURE',
748
761
  STATISTICS: 'STATISTICS',
749
- AUTO_QUALITY: 'AUTO_QUALITY',
750
- MULTIPLE_LANGUAGES: 'MULTIPLE_LANGUAGES',
751
- MORE_SETTINGS: 'MORE_SETTINGS',
752
- SKIP_AD: 'SKIP_AD',
753
- UNMUTE: 'UNMUTE',
754
- OFF: 'OFF',
755
- FULL_SCREEN: 'FULL_SCREEN',
756
- FAST_FORWARD: 'FAST_FORWARD',
757
- SKIP_TO_LIVE: 'SKIP_TO_LIVE',
758
- UNDETERMINED_LANGUAGE: 'UNDETERMINED_LANGUAGE',
759
- AD_TIME: 'AD_TIME',
760
- SEEK: 'SEEK',
761
- RESOLUTION: 'RESOLUTION',
762
- LOOP: 'LOOP',
762
+ PLAYBACK_RATE: 'PLAYBACK_RATE',
763
763
  };
@@ -1700,6 +1700,7 @@ declare namespace shaka.text {
1700
1700
  startTime : any ;
1701
1701
  textAlign : any ;
1702
1702
  textDecoration : any ;
1703
+ textShadow : any ;
1703
1704
  textStrokeColor : any ;
1704
1705
  textStrokeWidth : any ;
1705
1706
  wrapLine : any ;
@@ -4055,6 +4056,10 @@ declare namespace shaka.extern {
4055
4056
  * and line through. Empty array means no decoration.
4056
4057
  */
4057
4058
  textDecoration : shaka.text.Cue.textDecoration [] ;
4059
+ /**
4060
+ * Text shadow color as a CSS text-shadow value.
4061
+ */
4062
+ textShadow : string ;
4058
4063
  /**
4059
4064
  * Text stroke color as a CSS color, e.g. "#FFFFFF" or "white".
4060
4065
  */
@@ -1700,6 +1700,7 @@ declare namespace shaka.text {
1700
1700
  startTime : any ;
1701
1701
  textAlign : any ;
1702
1702
  textDecoration : any ;
1703
+ textShadow : any ;
1703
1704
  textStrokeColor : any ;
1704
1705
  textStrokeWidth : any ;
1705
1706
  wrapLine : any ;
@@ -4055,6 +4056,10 @@ declare namespace shaka.extern {
4055
4056
  * and line through. Empty array means no decoration.
4056
4057
  */
4057
4058
  textDecoration : shaka.text.Cue.textDecoration [] ;
4059
+ /**
4060
+ * Text shadow color as a CSS text-shadow value.
4061
+ */
4062
+ textShadow : string ;
4058
4063
  /**
4059
4064
  * Text stroke color as a CSS color, e.g. "#FFFFFF" or "white".
4060
4065
  */
@@ -125,6 +125,10 @@ shaka.text.Cue.prototype.backgroundImage;
125
125
  * @override
126
126
  */
127
127
  shaka.text.Cue.prototype.border;
128
+ /**
129
+ * @override
130
+ */
131
+ shaka.text.Cue.prototype.textShadow;
128
132
  /**
129
133
  * @override
130
134
  */