shaka-player 3.2.17 → 3.2.19

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 (41) hide show
  1. package/.github/workflows/selenium-lab-tests.yaml +22 -0
  2. package/CHANGELOG.md +27 -0
  3. package/dist/locales.js +28 -28
  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 +93 -87
  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 +258 -255
  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 +107 -101
  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 +271 -267
  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/package.json +1 -1
  33. package/support.html +1 -0
  34. package/test/dash/dash_parser_manifest_unit.js +0 -36
  35. package/test/player_unit.js +4 -2
  36. package/test/test/util/layout_tests.js +433 -0
  37. package/test/test/util/util.js +0 -120
  38. package/test/{ui → text}/text_displayer_layout_unit.js +59 -235
  39. package/test/text/ui_text_displayer_unit.js +72 -4
  40. package/test/text/vtt_text_parser_unit.js +127 -6
  41. 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.2.19](https://github.com/shaka-project/shaka-player/compare/v3.2.18...v3.2.19) (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)) ([cec295a](https://github.com/shaka-project/shaka-player/commit/cec295a56b1682f742b834a2836df41d4cda62c9))
9
+ * **DASH:** Fix dynamic manifests from edgeware ([#4914](https://github.com/shaka-project/shaka-player/issues/4914)) ([03c95ee](https://github.com/shaka-project/shaka-player/commit/03c95ee93427a42111123f8b8a195dd336e95691))
10
+ * Fix MediaCapabilities polyfill on Hisense ([#4927](https://github.com/shaka-project/shaka-player/issues/4927)) ([c217de0](https://github.com/shaka-project/shaka-player/commit/c217de08bac79d63e4d32ab9eac099f14f057046))
11
+ * Fix WebVTT parser failure on REGION blocks ([#4915](https://github.com/shaka-project/shaka-player/issues/4915)) ([f4e8518](https://github.com/shaka-project/shaka-player/commit/f4e85183e80eca9fe8f7e76c365ebe6fc62af860))
12
+ * **HLS:** Fix detection of WebVTT subtitles in HLS by extension ([#4928](https://github.com/shaka-project/shaka-player/issues/4928)) ([245234c](https://github.com/shaka-project/shaka-player/commit/245234cde32d0e532e369d3a1f7f20a71f109587)), 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)) ([2625fdf](https://github.com/shaka-project/shaka-player/commit/2625fdf6687ff1d1a51a35ad98d8a5779df9a895))
14
+ * **WebVTT:** Add support to  , ‎ and ‏ ([#4920](https://github.com/shaka-project/shaka-player/issues/4920)) ([ff36a0a](https://github.com/shaka-project/shaka-player/commit/ff36a0a170c36de0b963e068900946630bd4c290))
15
+ * **WebVTT:** Add support to voice tag styles ([#4845](https://github.com/shaka-project/shaka-player/issues/4845)) ([88602be](https://github.com/shaka-project/shaka-player/commit/88602be60b3d82f6d6603d5729524e8c39d4c08c))
16
+ * **WebVTT:** Fix horizontal positioning with cue box size ([#4949](https://github.com/shaka-project/shaka-player/issues/4949)) ([cb26238](https://github.com/shaka-project/shaka-player/commit/cb26238ae09a5c1479d08f0caa011e244a1e2cd7))
17
+ * **WebVTT:** Fix voices with styles and support to multiple styles ([#4922](https://github.com/shaka-project/shaka-player/issues/4922)) ([8624759](https://github.com/shaka-project/shaka-player/commit/86247596f217bc4faa0a834d4f487044a8a97afb))
18
+
19
+ ## [3.2.18](https://github.com/shaka-project/shaka-player/compare/v3.2.17...v3.2.18) (2023-01-13)
20
+
21
+
22
+ ### Bug Fixes
23
+
24
+ * Fix flattenedCues in WebVttGenerator ([#4867](https://github.com/shaka-project/shaka-player/issues/4867)) ([1a69a22](https://github.com/shaka-project/shaka-player/commit/1a69a22b2fb0d825e8cb23b71f40ad4a8aaccb5b))
25
+ * Fix legacy codec support by rewriting codec metadata ([#4858](https://github.com/shaka-project/shaka-player/issues/4858)) ([5f33fea](https://github.com/shaka-project/shaka-player/commit/5f33feacbf44976a9a63b285e9cb635d5a44194d))
26
+ * Release region timeline when unloading ([#4871](https://github.com/shaka-project/shaka-player/issues/4871)) ([c1172cf](https://github.com/shaka-project/shaka-player/commit/c1172cf792de01a1f6ebe4c6035aa74fc8dcd2b3)), 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)) ([f893e78](https://github.com/shaka-project/shaka-player/commit/f893e78d4130663b6591fd4ef8f195403116e520)), 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)) ([9980d24](https://github.com/shaka-project/shaka-player/commit/9980d24db86bc01193d2f3e54099c6541141199d)), closes [#4861](https://github.com/shaka-project/shaka-player/issues/4861)
29
+
3
30
  ## [3.2.17](https://github.com/shaka-project/shaka-player/compare/v3.2.16...v3.2.17) (2022-12-14)
4
31
 
5
32
 
package/dist/locales.js CHANGED
@@ -719,43 +719,43 @@ shaka.ui.Locales.addTo = function(localization) {
719
719
  * @const
720
720
  */
721
721
  shaka.ui.Locales.Ids = {
722
- UNDETERMINED_LANGUAGE: 'UNDETERMINED_LANGUAGE',
723
722
  REPLAY: 'REPLAY',
724
- EXIT_FULL_SCREEN: 'EXIT_FULL_SCREEN',
723
+ NOT_APPLICABLE: 'NOT_APPLICABLE',
724
+ FAST_FORWARD: 'FAST_FORWARD',
725
725
  CAPTIONS: 'CAPTIONS',
726
726
  SKIP_TO_LIVE: 'SKIP_TO_LIVE',
727
- UNRECOGNIZED_LANGUAGE: 'UNRECOGNIZED_LANGUAGE',
728
- BACK: 'BACK',
729
- NOT_APPLICABLE: 'NOT_APPLICABLE',
730
- SUBTITLE_FORCED: 'SUBTITLE_FORCED',
731
- MUTE: 'MUTE',
732
- PAUSE: 'PAUSE',
733
- LOOP: 'LOOP',
734
- PLAY: 'PLAY',
735
- CAST: 'CAST',
736
- REWIND: 'REWIND',
737
- AIRPLAY: 'AIRPLAY',
738
- LIVE: 'LIVE',
739
- AD_DURATION: 'AD_DURATION',
740
- ENTER_PICTURE_IN_PICTURE: 'ENTER_PICTURE_IN_PICTURE',
741
- OFF: 'OFF',
742
- MULTIPLE_LANGUAGES: 'MULTIPLE_LANGUAGES',
743
727
  FULL_SCREEN: 'FULL_SCREEN',
744
- PLAYBACK_RATE: 'PLAYBACK_RATE',
745
- PICTURE_IN_PICTURE: 'PICTURE_IN_PICTURE',
746
- AD_PROGRESS: 'AD_PROGRESS',
728
+ ENTER_PICTURE_IN_PICTURE: 'ENTER_PICTURE_IN_PICTURE',
729
+ LANGUAGE: 'LANGUAGE',
747
730
  ON: 'ON',
748
- ENTER_LOOP_MODE: 'ENTER_LOOP_MODE',
749
- AUTO_QUALITY: 'AUTO_QUALITY',
731
+ AD_DURATION: 'AD_DURATION',
732
+ EXIT_PICTURE_IN_PICTURE: 'EXIT_PICTURE_IN_PICTURE',
750
733
  SKIP_AD: 'SKIP_AD',
751
734
  VOLUME: 'VOLUME',
752
- EXIT_LOOP_MODE: 'EXIT_LOOP_MODE',
753
- EXIT_PICTURE_IN_PICTURE: 'EXIT_PICTURE_IN_PICTURE',
754
- LANGUAGE: 'LANGUAGE',
735
+ PLAY: 'PLAY',
755
736
  SEEK: 'SEEK',
756
- RESOLUTION: 'RESOLUTION',
737
+ BACK: 'BACK',
738
+ PLAYBACK_RATE: 'PLAYBACK_RATE',
739
+ AIRPLAY: 'AIRPLAY',
740
+ LOOP: 'LOOP',
741
+ REWIND: 'REWIND',
757
742
  MORE_SETTINGS: 'MORE_SETTINGS',
743
+ ENTER_LOOP_MODE: 'ENTER_LOOP_MODE',
758
744
  AD_TIME: 'AD_TIME',
745
+ UNDETERMINED_LANGUAGE: 'UNDETERMINED_LANGUAGE',
746
+ EXIT_LOOP_MODE: 'EXIT_LOOP_MODE',
747
+ PAUSE: 'PAUSE',
748
+ LIVE: 'LIVE',
749
+ OFF: 'OFF',
750
+ PICTURE_IN_PICTURE: 'PICTURE_IN_PICTURE',
751
+ CAST: 'CAST',
759
752
  UNMUTE: 'UNMUTE',
760
- FAST_FORWARD: 'FAST_FORWARD',
753
+ UNRECOGNIZED_LANGUAGE: 'UNRECOGNIZED_LANGUAGE',
754
+ RESOLUTION: 'RESOLUTION',
755
+ AD_PROGRESS: 'AD_PROGRESS',
756
+ EXIT_FULL_SCREEN: 'EXIT_FULL_SCREEN',
757
+ MULTIPLE_LANGUAGES: 'MULTIPLE_LANGUAGES',
758
+ AUTO_QUALITY: 'AUTO_QUALITY',
759
+ MUTE: 'MUTE',
760
+ SUBTITLE_FORCED: 'SUBTITLE_FORCED',
761
761
  };
@@ -1663,6 +1663,7 @@ declare namespace shaka.text {
1663
1663
  startTime : any ;
1664
1664
  textAlign : any ;
1665
1665
  textDecoration : any ;
1666
+ textShadow : any ;
1666
1667
  wrapLine : any ;
1667
1668
  writingMode : any ;
1668
1669
  }
@@ -3859,6 +3860,10 @@ declare namespace shaka.extern {
3859
3860
  * and line through. Empty array means no decoration.
3860
3861
  */
3861
3862
  textDecoration : shaka.text.Cue.textDecoration [] ;
3863
+ /**
3864
+ * Text shadow color as a CSS text-shadow value.
3865
+ */
3866
+ textShadow : string ;
3862
3867
  /**
3863
3868
  * Whether or not line wrapping should be applied to the cue.
3864
3869
  */
@@ -1663,6 +1663,7 @@ declare namespace shaka.text {
1663
1663
  startTime : any ;
1664
1664
  textAlign : any ;
1665
1665
  textDecoration : any ;
1666
+ textShadow : any ;
1666
1667
  wrapLine : any ;
1667
1668
  writingMode : any ;
1668
1669
  }
@@ -3859,6 +3860,10 @@ declare namespace shaka.extern {
3859
3860
  * and line through. Empty array means no decoration.
3860
3861
  */
3861
3862
  textDecoration : shaka.text.Cue.textDecoration [] ;
3863
+ /**
3864
+ * Text shadow color as a CSS text-shadow value.
3865
+ */
3866
+ textShadow : string ;
3862
3867
  /**
3863
3868
  * Whether or not line wrapping should be applied to the cue.
3864
3869
  */
@@ -123,6 +123,10 @@ shaka.text.Cue.prototype.backgroundImage;
123
123
  * @override
124
124
  */
125
125
  shaka.text.Cue.prototype.border;
126
+ /**
127
+ * @override
128
+ */
129
+ shaka.text.Cue.prototype.textShadow;
126
130
  /**
127
131
  * @override
128
132
  */