shaka-player 3.3.10 → 3.3.11
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/.github/workflows/build-and-test.yaml +31 -16
- package/.github/workflows/custom-actions/set-commit-status/action.yaml +1 -5
- package/.github/workflows/deflake.yaml +28 -0
- package/.github/workflows/selenium-lab-tests.yaml +13 -4
- package/AUTHORS +3 -0
- package/CHANGELOG.md +13 -0
- package/CONTRIBUTORS +2 -0
- package/dist/locales.js +27 -27
- package/dist/shaka-player.compiled.debug.js +107 -106
- package/dist/shaka-player.compiled.debug.map +3 -3
- package/dist/shaka-player.compiled.js +531 -530
- package/dist/shaka-player.compiled.map +3 -3
- package/dist/shaka-player.ui.debug.js +171 -170
- package/dist/shaka-player.ui.debug.map +3 -3
- package/dist/shaka-player.ui.js +650 -649
- package/dist/shaka-player.ui.map +3 -3
- package/docs/jsdoc-template/publish.js +33 -0
- package/docs/jsdoc-template/tmpl/container.tmpl +4 -1
- package/docs/jsdoc.conf.json +1 -0
- package/lib/cast/cast_sender.js +39 -14
- package/lib/cea/cea608_memory.js +4 -0
- package/lib/media/streaming_engine.js +41 -4
- package/lib/player.js +1 -1
- package/lib/text/ttml_text_parser.js +6 -0
- package/lib/util/platform.js +34 -0
- package/lib/util/stream_utils.js +2 -1
- package/maintained-branches.md +2 -2
- package/package.json +1 -1
- package/test/cea/cea608_memory_unit.js +88 -0
- package/test/media/streaming_engine_integration.js +8 -7
- package/test/offline/offline_integration.js +3 -3
- package/test/test/util/ttml_utils.js +0 -2
- package/test/text/ttml_text_parser_unit.js +46 -0
- package/test/ui/text_displayer_layout_unit.js +17 -2
|
@@ -41,9 +41,11 @@ jobs:
|
|
|
41
41
|
include:
|
|
42
42
|
# Run Linux browsers with xvfb, so they're in a headless X session.
|
|
43
43
|
# Additionally, generate a code coverage report from Linux Chrome.
|
|
44
|
+
# It should be the uncompiled build, or else we won't execute any
|
|
45
|
+
# coverage instrumentation on full-stack player integration tests.
|
|
44
46
|
- os: ubuntu-latest
|
|
45
47
|
browser: Chrome
|
|
46
|
-
extra_flags: "--use-xvfb --html-coverage-report"
|
|
48
|
+
extra_flags: "--use-xvfb --html-coverage-report --uncompiled"
|
|
47
49
|
- os: ubuntu-latest
|
|
48
50
|
browser: Firefox
|
|
49
51
|
extra_flags: "--use-xvfb"
|
|
@@ -57,7 +59,7 @@ jobs:
|
|
|
57
59
|
- os: macos-latest
|
|
58
60
|
browser: Safari
|
|
59
61
|
- os: macos-latest
|
|
60
|
-
browser: Safari-
|
|
62
|
+
browser: Safari-old
|
|
61
63
|
|
|
62
64
|
- os: windows-latest
|
|
63
65
|
browser: Chrome
|
|
@@ -87,21 +89,22 @@ jobs:
|
|
|
87
89
|
with:
|
|
88
90
|
ref: ${{ github.event.inputs.ref || github.ref }}
|
|
89
91
|
|
|
90
|
-
# Safari
|
|
91
|
-
# the standard version, at least not on GitHub's VMs. If
|
|
92
|
-
# install directly to the root with sudo, it will appear to
|
|
93
|
-
# will have no effect. If you try to script it explicitly
|
|
94
|
-
# and cp, this will fail. Safari may be on a read-only
|
|
95
|
-
|
|
96
|
-
|
|
92
|
+
# Older versions of Safari can be installed, but not to the root, and it
|
|
93
|
+
# can't replace the standard version, at least not on GitHub's VMs. If
|
|
94
|
+
# you try to install directly to the root with sudo, it will appear to
|
|
95
|
+
# succeed, but will have no effect. If you try to script it explicitly
|
|
96
|
+
# with rm -rf and cp, this will fail. Safari may be on a read-only
|
|
97
|
+
# filesystem.
|
|
98
|
+
- name: Install old Safari to home directory
|
|
99
|
+
if: matrix.os == 'macos-latest' && matrix.browser == 'Safari-old'
|
|
97
100
|
run: |
|
|
98
|
-
# Download Safari
|
|
99
|
-
#
|
|
100
|
-
|
|
101
|
+
# Download Safari 15
|
|
102
|
+
# This URL discovered through the seed files listed at
|
|
103
|
+
# https://github.com/zhangyoufu/swscan.apple.com/blob/master/url.txt
|
|
104
|
+
curl -Lv http://swcdn.apple.com/content/downloads/42/33/012-57329-A_41P2VU6UHN/5fw5vna27fdw4mqfak5adj3pjpxvo9hgh7/Safari15.6.1CatalinaAuto.pkg > Safari.pkg
|
|
101
105
|
|
|
102
|
-
# Install Safari
|
|
103
|
-
|
|
104
|
-
installer -pkg Safari14.0CatalinaAuto.pkg -target CurrentUserHomeDirectory
|
|
106
|
+
# Install older Safari to homedir specifically.
|
|
107
|
+
installer -pkg Safari.pkg -target CurrentUserHomeDirectory
|
|
105
108
|
|
|
106
109
|
# Install a launcher that can execute a shell script to launch this
|
|
107
110
|
npm install karma-script-launcher --save-dev
|
|
@@ -114,7 +117,7 @@ jobs:
|
|
|
114
117
|
run: |
|
|
115
118
|
browser=${{ matrix.browser }}
|
|
116
119
|
|
|
117
|
-
if [[ "$browser" == "Safari-
|
|
120
|
+
if [[ "$browser" == "Safari-old" ]]; then
|
|
118
121
|
# Replace the browser name with a script that can launch this
|
|
119
122
|
# browser from the command line.
|
|
120
123
|
browser="$PWD/.github/workflows/safari-homedir-launcher.sh"
|
|
@@ -165,6 +168,18 @@ jobs:
|
|
|
165
168
|
# an environment variable set, the file should definitely be there.
|
|
166
169
|
if-no-files-found: error
|
|
167
170
|
|
|
171
|
+
# Upload new screenshots and diffs on failure; ignore if missing
|
|
172
|
+
- name: Upload screenshots
|
|
173
|
+
uses: actions/upload-artifact@v3
|
|
174
|
+
if: ${{ failure() }}
|
|
175
|
+
with:
|
|
176
|
+
name: screenshots-${{ matrix.browser }}
|
|
177
|
+
path: |
|
|
178
|
+
test/test/assets/screenshots/*/*.png-new
|
|
179
|
+
test/test/assets/screenshots/*/*.png-diff
|
|
180
|
+
if-no-files-found: ignore
|
|
181
|
+
retention-days: 5
|
|
182
|
+
|
|
168
183
|
build_in_docker:
|
|
169
184
|
# Don't waste time doing a full matrix of test runs when there was an
|
|
170
185
|
# obvious linter error.
|
|
@@ -11,10 +11,6 @@ inputs:
|
|
|
11
11
|
state:
|
|
12
12
|
description: Either "pending", "error", "success", or "failure".
|
|
13
13
|
required: true
|
|
14
|
-
ref:
|
|
15
|
-
description: A git ref for which to set the commit status. For PRs, use the head commit, not the merge commit. Defaults to HEAD.
|
|
16
|
-
required: false
|
|
17
|
-
default: HEAD
|
|
18
14
|
token:
|
|
19
15
|
description: A GitHub access token.
|
|
20
16
|
required: true
|
|
@@ -30,7 +26,7 @@ runs:
|
|
|
30
26
|
# next to the status on the PR, it will link to this run where they can
|
|
31
27
|
# see the logs.
|
|
32
28
|
RUN_URL="https://github.com/${{github.repository}}/actions/runs/${{github.run_id}}"
|
|
33
|
-
SHA1=$(git rev-parse
|
|
29
|
+
SHA1=$(git rev-parse HEAD)
|
|
34
30
|
|
|
35
31
|
GITHUB_TOKEN=${{ inputs.token }} \
|
|
36
32
|
gh api \
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
name: Deflake Tests
|
|
2
|
+
|
|
3
|
+
# Runs when the Selenum nightly test workflow completes. This will run with
|
|
4
|
+
# full privileges, even if the other workflow doesn't. That allows us to
|
|
5
|
+
# trigger re-runs if we think the results might be flaky.
|
|
6
|
+
on:
|
|
7
|
+
workflow_run:
|
|
8
|
+
workflows: [Selenium Lab Tests]
|
|
9
|
+
types: [completed]
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
deflake:
|
|
13
|
+
if: ${{ github.event.workflow_run.event == 'schedule' && github.event.workflow_run.conclusion == 'failure' }}
|
|
14
|
+
runs-on: ubuntu-latest
|
|
15
|
+
|
|
16
|
+
steps:
|
|
17
|
+
- name: Check run count and re-run workflow
|
|
18
|
+
env:
|
|
19
|
+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
20
|
+
run: |
|
|
21
|
+
gh api /repos/${{ github.repository }}/actions/runs/${{ github.event.workflow_run.id }} > run.json
|
|
22
|
+
RUNS=$(jq -r .run_attempt < run.json)
|
|
23
|
+
if [[ "$RUNS" -lt 3 ]]; then
|
|
24
|
+
echo "$RUNS failed runs so far; re-running workflow."
|
|
25
|
+
gh run rerun ${{ github.event.workflow_run.id }} --failed -R ${{ github.repository }}
|
|
26
|
+
else
|
|
27
|
+
echo "$RUNS failed runs so far; not re-running workflow."
|
|
28
|
+
fi
|
|
@@ -47,7 +47,7 @@ jobs:
|
|
|
47
47
|
steps:
|
|
48
48
|
- uses: actions/checkout@v2
|
|
49
49
|
with:
|
|
50
|
-
ref: ${{ needs.compute-ref.REF }}
|
|
50
|
+
ref: ${{ needs.compute-ref.outputs.REF }}
|
|
51
51
|
|
|
52
52
|
- name: Install dependencies
|
|
53
53
|
run: npm ci
|
|
@@ -92,7 +92,7 @@ jobs:
|
|
|
92
92
|
steps:
|
|
93
93
|
- uses: actions/checkout@v2
|
|
94
94
|
with:
|
|
95
|
-
ref: ${{ needs.compute-ref.REF }}
|
|
95
|
+
ref: ${{ needs.compute-ref.outputs.REF }}
|
|
96
96
|
|
|
97
97
|
- name: Set commit status to pending
|
|
98
98
|
uses: ./.github/workflows/custom-actions/set-commit-status
|
|
@@ -134,7 +134,7 @@ jobs:
|
|
|
134
134
|
steps:
|
|
135
135
|
- uses: actions/checkout@v2
|
|
136
136
|
with:
|
|
137
|
-
ref: ${{ needs.compute-ref.REF }}
|
|
137
|
+
ref: ${{ needs.compute-ref.outputs.REF }}
|
|
138
138
|
|
|
139
139
|
- name: Set commit status to pending
|
|
140
140
|
uses: ./.github/workflows/custom-actions/set-commit-status
|
|
@@ -180,6 +180,15 @@ jobs:
|
|
|
180
180
|
# the container.
|
|
181
181
|
- name: Test Player
|
|
182
182
|
run: |
|
|
183
|
+
# Generate a coverage report from uncompiled code on ChromeLinux.
|
|
184
|
+
# It should be the uncompiled build, or else we won't execute any
|
|
185
|
+
# coverage instrumentation on full-stack player integration tests.
|
|
186
|
+
if [[ "${{ matrix.browser }}" == "ChromeLinux" ]]; then
|
|
187
|
+
extra_flags="--html-coverage-report --uncompiled"
|
|
188
|
+
else
|
|
189
|
+
extra_flags=""
|
|
190
|
+
fi
|
|
191
|
+
|
|
183
192
|
python3 build/test.py \
|
|
184
193
|
--no-build \
|
|
185
194
|
--reporters spec --spec-hide-passed \
|
|
@@ -189,7 +198,7 @@ jobs:
|
|
|
189
198
|
--grid-config build/shaka-lab.yaml \
|
|
190
199
|
--grid-address selenium-grid.lab:4444 \
|
|
191
200
|
--browsers ${{ matrix.browser }} \
|
|
192
|
-
|
|
201
|
+
$extra_flags
|
|
193
202
|
|
|
194
203
|
- name: Find coverage report (ChromeLinux only)
|
|
195
204
|
id: coverage
|
package/AUTHORS
CHANGED
|
@@ -68,6 +68,8 @@ Rostislav Hejduk <Ross-cz@users.noreply.github.com>
|
|
|
68
68
|
SameGoal Inc. <*@samegoal.com>
|
|
69
69
|
Sanborn Hilland <sanbornh@rogers.com>
|
|
70
70
|
Sander Saares <sander@saares.eu>
|
|
71
|
+
Sanil Raut <sr1990003@gmail.com>
|
|
72
|
+
Seongryun Jo <ocipap0531@gmail.com>
|
|
71
73
|
Swank Motion Pictures Inc. <*@swankmp.com>
|
|
72
74
|
TalkTalk Plc <*@talktalkplc.com>
|
|
73
75
|
Tatsiana Gelahova <tatsiana.gelahova@gmail.com>
|
|
@@ -80,3 +82,4 @@ ViacomCBS <*@viacomcbs.com>
|
|
|
80
82
|
Vincent Valot <valot.vince@gmail.com>
|
|
81
83
|
Wayne Morgan <wayne.morgan.dev@gmail.com>
|
|
82
84
|
Raymond Cheng <raycheng100@gmail.com>
|
|
85
|
+
Blue Billywig <*@bluebillywig.com>
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [3.3.11](https://github.com/shaka-project/shaka-player/compare/v3.3.10...v3.3.11) (2022-10-07)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* allow build without text ([#4506](https://github.com/shaka-project/shaka-player/issues/4506)) ([5014c1d](https://github.com/shaka-project/shaka-player/commit/5014c1d50d2b612bf741f2736cf5f86522f4285b))
|
|
9
|
+
* allow the playback on platforms when low latency APIs are not supported ([#4485](https://github.com/shaka-project/shaka-player/issues/4485)) ([c0fc0b4](https://github.com/shaka-project/shaka-player/commit/c0fc0b4dcaa8d3d6db2782a987e74ebe9064ea53))
|
|
10
|
+
* check for negative rows before moving ([#4510](https://github.com/shaka-project/shaka-player/issues/4510)) ([359b63e](https://github.com/shaka-project/shaka-player/commit/359b63e5c9665a1884daf95aa1cba7c8470ed7bb)), closes [#4508](https://github.com/shaka-project/shaka-player/issues/4508)
|
|
11
|
+
* Filter unsupported H.264 streams in Xbox ([#4493](https://github.com/shaka-project/shaka-player/issues/4493)) ([21ee94f](https://github.com/shaka-project/shaka-player/commit/21ee94fce4daa624561989600f47170c468bf962))
|
|
12
|
+
* Fix hang when seeking to the last segment ([#4537](https://github.com/shaka-project/shaka-player/issues/4537)) ([2868e12](https://github.com/shaka-project/shaka-player/commit/2868e122eb5bc2db57ca96c429ad8178f7f5e3f4))
|
|
13
|
+
* Respect existing app usage of Cast SDK ([#4523](https://github.com/shaka-project/shaka-player/issues/4523)) ([d2258d6](https://github.com/shaka-project/shaka-player/commit/d2258d60fab218738bfa6f80b675e65b9a7994dc)), closes [#4521](https://github.com/shaka-project/shaka-player/issues/4521)
|
|
14
|
+
* **ttml:** Default TTML background color to transparent if unspecified ([#4496](https://github.com/shaka-project/shaka-player/issues/4496)) ([862ee42](https://github.com/shaka-project/shaka-player/commit/862ee42f770b6fbd19e33fd04e98882d203caf4b)), closes [#4468](https://github.com/shaka-project/shaka-player/issues/4468)
|
|
15
|
+
|
|
3
16
|
## [3.3.10](https://github.com/shaka-project/shaka-player/compare/v3.3.9...v3.3.10) (2022-08-31)
|
|
4
17
|
|
|
5
18
|
|
package/CONTRIBUTORS
CHANGED
|
@@ -102,6 +102,7 @@ Sander Saares <sander@saares.eu>
|
|
|
102
102
|
Sandra Lokshina <ismena@google.com>
|
|
103
103
|
Satheesh Velmurugan <satheesh@philo.com>
|
|
104
104
|
Semih Gokceoglu <semih.gkcoglu@gmail.com>
|
|
105
|
+
Seongryun Jo <ocipap0531@gmail.com>
|
|
105
106
|
Seth Madison <seth@philo.com>
|
|
106
107
|
Tatsiana Gelahova <tatsiana.gelahova@gmail.com>
|
|
107
108
|
Theodore Abshire <theodab@google.com>
|
|
@@ -119,3 +120,4 @@ Vincent Valot <valot.vince@gmail.com>
|
|
|
119
120
|
Wayne Morgan <wayne.morgan.dev@gmail.com>
|
|
120
121
|
Yohann Connell <robinconnell@google.com>
|
|
121
122
|
Raymond Cheng <raycheng100@gmail.com>
|
|
123
|
+
Janroel Koppen <j.koppen@bluebillywig.com>
|
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
|
+
LANGUAGE: 'LANGUAGE',
|
|
724
|
+
MULTIPLE_LANGUAGES: 'MULTIPLE_LANGUAGES',
|
|
723
725
|
PLAYBACK_RATE: 'PLAYBACK_RATE',
|
|
724
|
-
CAPTIONS: 'CAPTIONS',
|
|
725
|
-
FULL_SCREEN: 'FULL_SCREEN',
|
|
726
|
-
UNDETERMINED_LANGUAGE: 'UNDETERMINED_LANGUAGE',
|
|
727
|
-
CAST: 'CAST',
|
|
728
|
-
OFF: 'OFF',
|
|
729
|
-
EXIT_FULL_SCREEN: 'EXIT_FULL_SCREEN',
|
|
730
726
|
FAST_FORWARD: 'FAST_FORWARD',
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
EXIT_LOOP_MODE: 'EXIT_LOOP_MODE',
|
|
734
|
-
ENTER_PICTURE_IN_PICTURE: 'ENTER_PICTURE_IN_PICTURE',
|
|
727
|
+
AUTO_QUALITY: 'AUTO_QUALITY',
|
|
728
|
+
UNDETERMINED_LANGUAGE: 'UNDETERMINED_LANGUAGE',
|
|
735
729
|
STATISTICS: 'STATISTICS',
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
730
|
+
LIVE: 'LIVE',
|
|
731
|
+
PLAY: 'PLAY',
|
|
732
|
+
LOOP: 'LOOP',
|
|
733
|
+
ENTER_LOOP_MODE: 'ENTER_LOOP_MODE',
|
|
734
|
+
OFF: 'OFF',
|
|
735
|
+
REWIND: 'REWIND',
|
|
739
736
|
AD_PROGRESS: 'AD_PROGRESS',
|
|
740
737
|
UNRECOGNIZED_LANGUAGE: 'UNRECOGNIZED_LANGUAGE',
|
|
741
|
-
RESOLUTION: 'RESOLUTION',
|
|
742
738
|
MORE_SETTINGS: 'MORE_SETTINGS',
|
|
743
739
|
PAUSE: 'PAUSE',
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
REWIND: 'REWIND',
|
|
740
|
+
SKIP_TO_LIVE: 'SKIP_TO_LIVE',
|
|
741
|
+
RESOLUTION: 'RESOLUTION',
|
|
742
|
+
FULL_SCREEN: 'FULL_SCREEN',
|
|
748
743
|
VOLUME: 'VOLUME',
|
|
744
|
+
NOT_APPLICABLE: 'NOT_APPLICABLE',
|
|
745
|
+
ON: 'ON',
|
|
746
|
+
SEEK: 'SEEK',
|
|
749
747
|
AIRPLAY: 'AIRPLAY',
|
|
750
|
-
|
|
748
|
+
ENTER_PICTURE_IN_PICTURE: 'ENTER_PICTURE_IN_PICTURE',
|
|
749
|
+
MUTE: 'MUTE',
|
|
751
750
|
EXIT_PICTURE_IN_PICTURE: 'EXIT_PICTURE_IN_PICTURE',
|
|
752
|
-
|
|
753
|
-
AD_DURATION: 'AD_DURATION',
|
|
754
|
-
LOOP: 'LOOP',
|
|
751
|
+
CAPTIONS: 'CAPTIONS',
|
|
755
752
|
PICTURE_IN_PICTURE: 'PICTURE_IN_PICTURE',
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
753
|
+
EXIT_FULL_SCREEN: 'EXIT_FULL_SCREEN',
|
|
754
|
+
CAST: 'CAST',
|
|
755
|
+
UNMUTE: 'UNMUTE',
|
|
756
|
+
SKIP_AD: 'SKIP_AD',
|
|
757
|
+
AD_DURATION: 'AD_DURATION',
|
|
758
|
+
SUBTITLE_FORCED: 'SUBTITLE_FORCED',
|
|
759
759
|
REPLAY: 'REPLAY',
|
|
760
|
-
|
|
761
|
-
|
|
760
|
+
EXIT_LOOP_MODE: 'EXIT_LOOP_MODE',
|
|
761
|
+
AD_TIME: 'AD_TIME',
|
|
762
762
|
BACK: 'BACK',
|
|
763
763
|
};
|