shaka-player 3.3.5 → 4.0.2
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/config.yml +1 -0
- package/.github/workflows/demo-version-index.yaml +8 -0
- package/.github/workflows/release-please.yaml +18 -2
- package/.github/workflows/sync-labels.yaml +33 -0
- package/.github/workflows/update-issues.yaml +29 -0
- package/.github/workflows/validate-pr-title.yaml +35 -0
- package/AUTHORS +1 -0
- package/CHANGELOG.md +215 -41
- package/CONTRIBUTORS +1 -0
- package/README.md +14 -11
- package/app-engine/demo-version-index/README.md +3 -3
- package/app-engine/demo-version-index/app.yaml +27 -1
- package/app-engine/demo-version-index/generate.py +164 -0
- package/app-engine/demo-version-index/main.py +4 -155
- package/app-engine/demo-version-index/requirements.txt +0 -1
- package/build/checkversion.py +1 -1
- package/build/compiler.py +1 -1
- package/build/misspellings.txt +1 -0
- package/build/shaka-lab.yaml +0 -2
- package/build/types/polyfill +0 -3
- package/demo/common/asset.js +17 -1
- package/demo/common/assets.js +29 -0
- package/demo/common/message_ids.js +6 -3
- package/demo/config.js +10 -11
- package/demo/custom.js +39 -0
- package/demo/demo.less +0 -1
- package/demo/demo_utils.js +0 -1
- package/demo/locales/en.json +6 -3
- package/demo/locales/source.json +22 -10
- package/demo/main.js +9 -6
- package/demo/search.js +2 -1
- package/dist/controls.css +3 -3
- package/dist/controls.css.map +1 -1
- package/dist/demo.compiled.debug.js +71 -64
- package/dist/demo.compiled.debug.map +3 -3
- package/dist/demo.compiled.js +71 -64
- package/dist/demo.compiled.map +3 -3
- package/dist/demo.css +1 -1
- package/dist/demo.css.map +1 -1
- package/dist/deps.js +17 -20
- package/dist/locales.js +33 -31
- package/dist/receiver.compiled.debug.js +32 -28
- package/dist/receiver.compiled.debug.map +3 -3
- package/dist/receiver.compiled.js +32 -28
- package/dist/receiver.compiled.map +3 -3
- package/dist/shaka-player.compiled.d.ts +311 -314
- package/dist/shaka-player.compiled.debug.d.ts +311 -314
- package/dist/shaka-player.compiled.debug.externs.js +126 -126
- package/dist/shaka-player.compiled.debug.js +430 -484
- package/dist/shaka-player.compiled.debug.map +4 -4
- package/dist/shaka-player.compiled.externs.js +126 -126
- package/dist/shaka-player.compiled.js +829 -845
- package/dist/shaka-player.compiled.map +4 -4
- package/dist/shaka-player.ui.d.ts +357 -358
- package/dist/shaka-player.ui.debug.d.ts +357 -358
- package/dist/shaka-player.ui.debug.externs.js +134 -126
- package/dist/shaka-player.ui.debug.js +489 -541
- package/dist/shaka-player.ui.debug.map +4 -4
- package/dist/shaka-player.ui.externs.js +134 -126
- package/dist/shaka-player.ui.js +988 -1000
- package/dist/shaka-player.ui.map +4 -4
- package/docs/tutorials/config.md +0 -2
- package/docs/tutorials/drm-config.md +5 -0
- package/docs/tutorials/fairplay.md +7 -22
- package/docs/tutorials/faq.md +0 -11
- package/docs/tutorials/index.json +2 -8
- package/docs/tutorials/plugins.md +1 -3
- package/docs/tutorials/upgrade.md +85 -11
- package/externs/polyfill.js +15 -0
- package/externs/shaka/manifest.js +5 -1
- package/externs/shaka/net.js +12 -0
- package/externs/shaka/offline.js +5 -1
- package/externs/shaka/player.js +39 -21
- package/externs/shaka/text.js +12 -12
- package/externs/sourcebuffer.js +15 -0
- package/lib/abr/simple_abr_manager.js +2 -1
- package/lib/ads/client_side_ad.js +13 -2
- package/lib/ads/client_side_ad_manager.js +22 -4
- package/lib/cast/cast_utils.js +0 -1
- package/lib/dash/content_protection.js +85 -5
- package/lib/dash/dash_parser.js +1 -0
- package/lib/hls/hls_parser.js +390 -747
- package/lib/hls/manifest_text_parser.js +2 -3
- package/lib/media/drm_engine.js +105 -37
- package/lib/media/gap_jumping_controller.js +10 -45
- package/lib/media/media_source_engine.js +150 -30
- package/lib/media/playhead.js +2 -5
- package/lib/media/presentation_timeline.js +1 -2
- package/lib/media/segment_index.js +13 -46
- package/lib/media/segment_reference.js +47 -1
- package/lib/media/streaming_engine.js +28 -11
- package/lib/media/time_ranges_utils.js +4 -9
- package/lib/net/networking_engine.js +3 -0
- package/lib/offline/indexeddb/v1_storage_cell.js +1 -0
- package/lib/offline/indexeddb/v2_storage_cell.js +1 -0
- package/lib/offline/manifest_converter.js +1 -0
- package/lib/offline/storage.js +8 -41
- package/lib/player.js +17 -201
- package/lib/polyfill/media_capabilities.js +12 -6
- package/lib/polyfill/mediasource.js +0 -28
- package/lib/polyfill/patchedmediakeys_nop.js +2 -0
- package/lib/polyfill/patchedmediakeys_webkit.js +2 -0
- package/lib/text/cue.js +0 -6
- package/lib/text/lrc_text_parser.js +8 -0
- package/lib/text/mp4_ttml_parser.js +8 -0
- package/lib/text/mp4_vtt_parser.js +8 -0
- package/lib/text/sbv_text_parser.js +8 -0
- package/lib/text/simple_text_displayer.js +1 -7
- package/lib/text/srt_text_parser.js +8 -0
- package/lib/text/ssa_text_parser.js +8 -0
- package/lib/text/text_engine.js +19 -3
- package/lib/text/ttml_text_parser.js +8 -0
- package/lib/text/ui_text_displayer.js +1 -7
- package/lib/text/vtt_text_parser.js +27 -5
- package/lib/text/web_vtt_generator.js +1 -7
- package/lib/util/error.js +9 -13
- package/lib/util/fairplay_utils.js +109 -0
- package/lib/util/functional.js +0 -42
- package/lib/util/mime_utils.js +16 -5
- package/lib/util/platform.js +45 -0
- package/lib/util/player_configuration.js +17 -6
- package/lib/util/pssh.js +23 -4
- package/lib/util/stream_utils.js +92 -22
- package/lib/util/uint8array_utils.js +0 -16
- package/lib/util/xml_utils.js +1 -1
- package/package.json +5 -2
- package/roadmap.md +19 -19
- package/shaka-player.uncompiled.js +0 -3
- package/test/dash/dash_parser_content_protection_unit.js +44 -0
- package/test/dash/dash_parser_segment_template_unit.js +3 -4
- package/test/demo/demo_unit.js +2 -1
- package/test/hls/hls_live_unit.js +155 -230
- package/test/hls/hls_parser_unit.js +515 -432
- package/test/media/drm_engine_unit.js +86 -120
- package/test/media/media_source_engine_integration.js +25 -3
- package/test/media/media_source_engine_unit.js +3 -2
- package/test/media/playhead_unit.js +27 -191
- package/test/media/segment_index_unit.js +15 -25
- package/test/media/streaming_engine_integration.js +2 -39
- package/test/media/streaming_engine_unit.js +3 -2
- package/test/media/time_ranges_utils_unit.js +0 -5
- package/test/offline/manifest_convert_unit.js +34 -4
- package/test/offline/offline_manifest_parser_unit.js +1 -0
- package/test/offline/storage_integration.js +5 -4
- package/test/player_external.js +0 -6
- package/test/player_integration.js +16 -0
- package/test/player_unit.js +26 -0
- package/test/test/util/fake_media_source_engine.js +11 -4
- package/test/test/util/manifest_generator.js +3 -1
- package/test/test/util/manifest_parser_util.js +4 -1
- package/test/test/util/offline_utils.js +1 -0
- package/test/test/util/streaming_engine_util.js +1 -0
- package/test/test/util/test_scheme.js +24 -1
- package/test/test/util/util.js +4 -4
- package/test/text/cue_integration.js +2 -2
- package/test/text/lrc_text_parser_unit.js +6 -7
- package/test/text/mp4_ttml_parser_unit.js +6 -4
- package/test/text/mp4_vtt_parser_unit.js +6 -5
- package/test/text/sbv_text_parser_unit.js +5 -6
- package/test/text/srt_text_parser_unit.js +5 -6
- package/test/text/ssa_text_parser_unit.js +17 -29
- package/test/text/text_engine_unit.js +45 -5
- package/test/text/ttml_text_parser_unit.js +77 -77
- package/test/text/vtt_text_parser_unit.js +116 -59
- package/test/ui/ui_integration.js +0 -16
- package/test/ui/ui_unit.js +27 -0
- package/test/util/cmcd_manager_unit.js +3 -0
- package/test/util/stream_utils_unit.js +23 -7
- package/ui/controls.js +65 -40
- package/ui/fullscreen_button.js +26 -6
- package/ui/less/containers.less +4 -4
- package/ui/less/general.less +1 -1
- package/ui/less/range_elements.less +1 -0
- package/ui/locales/en.json +1 -0
- package/ui/locales/source.json +5 -0
- package/ui/resolution_selection.js +31 -33
- package/ui/ui.js +0 -17
- package/.github/pull_request_template.md +0 -10
- package/docs/tutorials/upgrade-v2-5.md +0 -441
- package/docs/tutorials/upgrade-v3.md +0 -38
- package/lib/polyfill/mathround.js +0 -49
- package/lib/polyfill/patchedmediakeys_apple.js +0 -744
- package/lib/polyfill/patchedmediakeys_ms.js +0 -698
- package/test/util/functional_unit.js +0 -82
|
@@ -0,0 +1 @@
|
|
|
1
|
+
blank_issues_enabled: false
|
|
@@ -9,12 +9,20 @@ on:
|
|
|
9
9
|
paths:
|
|
10
10
|
- .github/workflows/demo-version-index.yaml
|
|
11
11
|
- app-engine/demo-version-index/**
|
|
12
|
+
release:
|
|
13
|
+
types: [published]
|
|
12
14
|
|
|
13
15
|
jobs:
|
|
14
16
|
appspot:
|
|
15
17
|
runs-on: ubuntu-latest
|
|
16
18
|
steps:
|
|
17
19
|
- uses: actions/checkout@v2
|
|
20
|
+
with:
|
|
21
|
+
# We need a list of all tags for this, so fetch the entire history.
|
|
22
|
+
fetch-depth: 0
|
|
23
|
+
|
|
24
|
+
- name: Generate static content
|
|
25
|
+
run: python3 app-engine/demo-version-index/generate.py
|
|
18
26
|
|
|
19
27
|
- uses: google-github-actions/auth@v0
|
|
20
28
|
with:
|
|
@@ -28,9 +28,10 @@ jobs:
|
|
|
28
28
|
- name: Custom update Player version
|
|
29
29
|
if: steps.release.outputs.release_created == false
|
|
30
30
|
run: |
|
|
31
|
-
# Check out the branch that release-please created
|
|
31
|
+
# Check out the branch that release-please created.
|
|
32
|
+
# If it does not exist, FAIL!
|
|
32
33
|
git fetch
|
|
33
|
-
git checkout release-please--branches--${{ github.ref_name }} || exit
|
|
34
|
+
git checkout release-please--branches--${{ github.ref_name }}--components--shaka-player || exit 1
|
|
34
35
|
# If it does exist, update lib/player.js in the PR branch, so that the
|
|
35
36
|
# -uncompiled tag remains in the player version in that context.
|
|
36
37
|
VERSION="v$(jq -r .version package.json)-uncompiled"
|
|
@@ -145,3 +146,18 @@ jobs:
|
|
|
145
146
|
project_id: shaka-player-demo
|
|
146
147
|
version: ${{ env.APPSPOT_SUBDOMAIN }}
|
|
147
148
|
promote: ${{ env.APPSPOT_PROMOTE }}
|
|
149
|
+
|
|
150
|
+
auto-branch:
|
|
151
|
+
runs-on: ubuntu-latest
|
|
152
|
+
needs: release
|
|
153
|
+
if: needs.release.outputs.release_created && endsWith(needs.release.outputs.tag_name, '.0')
|
|
154
|
+
steps:
|
|
155
|
+
- uses: actions/checkout@v2
|
|
156
|
+
with:
|
|
157
|
+
fetch-depth: 0
|
|
158
|
+
|
|
159
|
+
- name: Create release branch
|
|
160
|
+
run: |
|
|
161
|
+
TAG=${{ needs.release.outputs.tag_name }}
|
|
162
|
+
BRANCH=$(echo "$TAG" | sed -e 's/\.0$/.x/')
|
|
163
|
+
git push origin HEAD:"$BRANCH"
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Install this in .github/workflows/ to automate label updates
|
|
2
|
+
name: Sync Labels
|
|
3
|
+
|
|
4
|
+
on:
|
|
5
|
+
workflow_dispatch:
|
|
6
|
+
# Allows for manual triggering.
|
|
7
|
+
inputs:
|
|
8
|
+
dry_run:
|
|
9
|
+
description: "If true, don't make any actual changes"
|
|
10
|
+
required: false
|
|
11
|
+
default: false
|
|
12
|
+
schedule:
|
|
13
|
+
# Run every week on Sunday at 5:42 AM.
|
|
14
|
+
- cron: '42 5 * * 0'
|
|
15
|
+
|
|
16
|
+
jobs:
|
|
17
|
+
sync-labels:
|
|
18
|
+
runs-on: ubuntu-latest
|
|
19
|
+
steps:
|
|
20
|
+
- name: Checkout code
|
|
21
|
+
uses: actions/checkout@v2
|
|
22
|
+
with:
|
|
23
|
+
repository: shaka-project/shaka-github-tools
|
|
24
|
+
|
|
25
|
+
# TODO: revert to micnncim and new release after landing
|
|
26
|
+
# https://github.com/micnncim/action-label-syncer/pull/68
|
|
27
|
+
- uses: joeyparrish/action-label-syncer@v1.8.0
|
|
28
|
+
with:
|
|
29
|
+
dry_run: ${{ github.event.inputs.dry_run || false }}
|
|
30
|
+
prune: true
|
|
31
|
+
manifest: sync-labels/configs/${{ github.repository }}.yaml
|
|
32
|
+
repository: ${{ github.repository }}
|
|
33
|
+
token: ${{ github.token }}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Install this in .github/workflows/ to automate issue maintenance.
|
|
2
|
+
name: Update Issues
|
|
3
|
+
|
|
4
|
+
on:
|
|
5
|
+
workflow_dispatch:
|
|
6
|
+
# Allows for manual triggering.
|
|
7
|
+
schedule:
|
|
8
|
+
# Run every 30 minutes
|
|
9
|
+
- cron: '*/30 * * * *'
|
|
10
|
+
|
|
11
|
+
permissions:
|
|
12
|
+
issues: write
|
|
13
|
+
|
|
14
|
+
jobs:
|
|
15
|
+
update-issues:
|
|
16
|
+
runs-on: ubuntu-latest
|
|
17
|
+
steps:
|
|
18
|
+
- name: Checkout code
|
|
19
|
+
uses: actions/checkout@v2
|
|
20
|
+
with:
|
|
21
|
+
repository: shaka-project/shaka-github-tools
|
|
22
|
+
|
|
23
|
+
- name: Update Issues
|
|
24
|
+
env:
|
|
25
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
26
|
+
run: |
|
|
27
|
+
cd update-issues
|
|
28
|
+
npm ci
|
|
29
|
+
node main.js
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
name: Validate PR Title
|
|
2
|
+
|
|
3
|
+
# We recommend that maintainers use this Chrome/Firefox extension so that
|
|
4
|
+
# squashed PRs will have the merged commit message default to the PR title and
|
|
5
|
+
# description: https://github.com/zachwhaley/squashed-merge-message
|
|
6
|
+
#
|
|
7
|
+
# This avoids the need to amend commits after the fact to match the desired PR
|
|
8
|
+
# syntax. As long as the PR itself is properly-formatted, this extension will
|
|
9
|
+
# help you commit the right format to the repo, too. This, in turn, feeds the
|
|
10
|
+
# changelog and release workflows.
|
|
11
|
+
|
|
12
|
+
on:
|
|
13
|
+
# NOTE: The automated PRs from release-please-action do not seem to trigger
|
|
14
|
+
# any of the default PR triggers (opened, synchronize, reopened). So we need
|
|
15
|
+
# additional types. This is a good set that makes it easy to trigger the
|
|
16
|
+
# workflow manually if needed.
|
|
17
|
+
pull_request_target:
|
|
18
|
+
types:
|
|
19
|
+
- opened
|
|
20
|
+
- reopened
|
|
21
|
+
- edited
|
|
22
|
+
- synchronize
|
|
23
|
+
- assigned
|
|
24
|
+
- labeled
|
|
25
|
+
- ready_for_review
|
|
26
|
+
- review_requested
|
|
27
|
+
|
|
28
|
+
jobs:
|
|
29
|
+
main:
|
|
30
|
+
name: Validate PR Title
|
|
31
|
+
runs-on: ubuntu-latest
|
|
32
|
+
steps:
|
|
33
|
+
- uses: amannn/action-semantic-pull-request@v4
|
|
34
|
+
env:
|
|
35
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
package/AUTHORS
CHANGED
|
@@ -67,6 +67,7 @@ Rostislav Hejduk <Ross-cz@users.noreply.github.com>
|
|
|
67
67
|
SameGoal Inc. <*@samegoal.com>
|
|
68
68
|
Sanborn Hilland <sanbornh@rogers.com>
|
|
69
69
|
Sander Saares <sander@saares.eu>
|
|
70
|
+
Sanil Raut <sr1990003@gmail.com>
|
|
70
71
|
Swank Motion Pictures Inc. <*@swankmp.com>
|
|
71
72
|
TalkTalk Plc <*@talktalkplc.com>
|
|
72
73
|
Tatsiana Gelahova <tatsiana.gelahova@gmail.com>
|
package/CHANGELOG.md
CHANGED
|
@@ -1,58 +1,147 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
## [4.0.2](https://github.com/shaka-project/shaka-player/compare/v4.0.1...v4.0.2) (2022-06-02)
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
### Bug Fixes
|
|
7
7
|
|
|
8
|
-
* **
|
|
9
|
-
*
|
|
10
|
-
* Fix
|
|
11
|
-
* Fix
|
|
12
|
-
*
|
|
13
|
-
* Fix PERIOD_FLATTENING_FAILED error when periods have different base sample types ([#4206](https://github.com/shaka-project/shaka-player/issues/4206)) ([04ff0fc](https://github.com/shaka-project/shaka-player/commit/04ff0fcc8b1e1606ecb6dccda96cc7da368d10e6)), closes [#4202](https://github.com/shaka-project/shaka-player/issues/4202)
|
|
14
|
-
* **hls:** Fix av1 codec selection in HLS. ([#4203](https://github.com/shaka-project/shaka-player/issues/4203)) ([e493a56](https://github.com/shaka-project/shaka-player/commit/e493a56b9e51f85afb06d31b75ad6b91f59acd80))
|
|
15
|
-
* **hls:** Fix X-PRELOAD-HINT failure with LL mode off ([#4212](https://github.com/shaka-project/shaka-player/issues/4212)) ([5167717](https://github.com/shaka-project/shaka-player/commit/5167717177edc256d06afef469b0a206ed0b88e4)), closes [#4185](https://github.com/shaka-project/shaka-player/issues/4185)
|
|
16
|
-
* **offline:** Clean up orphaned segments on abort ([#4177](https://github.com/shaka-project/shaka-player/issues/4177)) ([a5cc491](https://github.com/shaka-project/shaka-player/commit/a5cc491a9269994c30e4c6efbd281c332951e281))
|
|
17
|
-
* **offline:** Speed up offline storage by ~87% ([#4176](https://github.com/shaka-project/shaka-player/issues/4176)) ([dc27a26](https://github.com/shaka-project/shaka-player/commit/dc27a263289e42f131f04bbc4c43e2c4f4e27870)), closes [#4166](https://github.com/shaka-project/shaka-player/issues/4166)
|
|
18
|
-
* Revert "Add missing module export in generated typescript defs" ([#4175](https://github.com/shaka-project/shaka-player/issues/4175)) ([c44507a](https://github.com/shaka-project/shaka-player/commit/c44507a2e86a81e56671534a9983da94a1c7baf4)), closes [#4167](https://github.com/shaka-project/shaka-player/issues/4167)
|
|
19
|
-
* Wait for chapters track to be loaded ([#4228](https://github.com/shaka-project/shaka-player/issues/4228)) ([6a1f0d0](https://github.com/shaka-project/shaka-player/commit/6a1f0d0b2779134e472c817491086b2c18c35027)), closes [#4186](https://github.com/shaka-project/shaka-player/issues/4186)
|
|
8
|
+
* **abr:** use Network Info API in ABR getBandwidthEstimate ([#4263](https://github.com/shaka-project/shaka-player/issues/4263)) ([2a12f0d](https://github.com/shaka-project/shaka-player/commit/2a12f0dc3c95220fc4c35b9871823eb685ecf337))
|
|
9
|
+
* Don't send drmsessionupdate after unload ([#4248](https://github.com/shaka-project/shaka-player/issues/4248)) ([d7a7024](https://github.com/shaka-project/shaka-player/commit/d7a70247b2c381f1ba1d129618e45771f0e58061))
|
|
10
|
+
* Fix audio mime type in multiplexed HLS stream ([#4241](https://github.com/shaka-project/shaka-player/issues/4241)) ([467fc8b](https://github.com/shaka-project/shaka-player/commit/467fc8b14b4a9ede601a1501ec901149088fc0c7))
|
|
11
|
+
* **HLS:** Fix duplicate hinted segments ([#4258](https://github.com/shaka-project/shaka-player/issues/4258)) ([d92881b](https://github.com/shaka-project/shaka-player/commit/d92881b7ae350ad41eda7b0aeb87d9e32b59375a)), closes [#4223](https://github.com/shaka-project/shaka-player/issues/4223)
|
|
12
|
+
* **ui:** Widen touchable button area ([#3249](https://github.com/shaka-project/shaka-player/issues/3249)) ([96b2965](https://github.com/shaka-project/shaka-player/commit/96b296595c32885caac66af7b04bdc1f59d0c790))
|
|
20
13
|
|
|
21
|
-
### [
|
|
14
|
+
### [4.0.1](https://github.com/shaka-project/shaka-player/compare/v4.0.0...v4.0.1) (2022-05-18)
|
|
22
15
|
|
|
23
16
|
|
|
24
17
|
### Bug Fixes
|
|
25
18
|
|
|
26
|
-
*
|
|
27
|
-
* **
|
|
28
|
-
*
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
* **
|
|
44
|
-
* **
|
|
45
|
-
|
|
46
|
-
|
|
19
|
+
* Do not report MANIFEST RESTRICTIONS_CANNOT_BE_MET error twice ([#4194](https://github.com/shaka-project/shaka-player/issues/4194)) ([0b03e79](https://github.com/shaka-project/shaka-player/commit/0b03e7900bd28420e6b066f909a69ff511144471)), closes [#4190](https://github.com/shaka-project/shaka-player/issues/4190)
|
|
20
|
+
* **fairplay:** Re-add initDataTransform config ([#4231](https://github.com/shaka-project/shaka-player/issues/4231)) ([9a6f150](https://github.com/shaka-project/shaka-player/commit/9a6f150c082e477f9dae95c4436d6ff764481d02))
|
|
21
|
+
* Fix event listener leaks in Player ([#4229](https://github.com/shaka-project/shaka-player/issues/4229)) ([e6c3b22](https://github.com/shaka-project/shaka-player/commit/e6c3b226ba25cd62b288c75da895531ed27087c0))
|
|
22
|
+
* Fix exception with streaming.startAtSegmentBoundary ([#4216](https://github.com/shaka-project/shaka-player/issues/4216)) ([24eac2c](https://github.com/shaka-project/shaka-player/commit/24eac2c4bcea726f36d11845d8a174672c28e74f)), closes [#4188](https://github.com/shaka-project/shaka-player/issues/4188)
|
|
23
|
+
* Fix PERIOD_FLATTENING_FAILED error when periods have different base sample types ([#4206](https://github.com/shaka-project/shaka-player/issues/4206)) ([0482aec](https://github.com/shaka-project/shaka-player/commit/0482aec127e5429434ba015bd98ae8c5e15fef68)), closes [#4202](https://github.com/shaka-project/shaka-player/issues/4202)
|
|
24
|
+
* Fix VTT cue timing in HLS ([#4217](https://github.com/shaka-project/shaka-player/issues/4217)) ([69d1c14](https://github.com/shaka-project/shaka-player/commit/69d1c143aaade9167cba03a05daea5b94b3ccf95)), closes [#4191](https://github.com/shaka-project/shaka-player/issues/4191)
|
|
25
|
+
* **hls:** Fix av1 codec selection in HLS. ([#4203](https://github.com/shaka-project/shaka-player/issues/4203)) ([4d418be](https://github.com/shaka-project/shaka-player/commit/4d418be18334b181ab7f32f9e9fe66522fc9057a))
|
|
26
|
+
* **hls:** Fix X-PRELOAD-HINT failure with LL mode off ([#4212](https://github.com/shaka-project/shaka-player/issues/4212)) ([ae84aac](https://github.com/shaka-project/shaka-player/commit/ae84aac87cc4331139a98441c90993319a3b19ef)), closes [#4185](https://github.com/shaka-project/shaka-player/issues/4185)
|
|
27
|
+
* Wait for chapters track to be loaded ([#4228](https://github.com/shaka-project/shaka-player/issues/4228)) ([dec3d9c](https://github.com/shaka-project/shaka-player/commit/dec3d9c50505a6a7707232f595acbe1cfea8c3a0)), closes [#4186](https://github.com/shaka-project/shaka-player/issues/4186)
|
|
28
|
+
|
|
29
|
+
## [4.0.0](https://github.com/shaka-project/shaka-player/compare/v3.3.0...v4.0.0) (2022-04-30)
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
### ⚠ BREAKING CHANGES
|
|
33
|
+
|
|
34
|
+
* Remove small/large gap config, always jump gaps (#4125)
|
|
35
|
+
* **config:** `manifest.dash.defaultPresentationDelay` has been replaced by `manifest.defaultPresentationDelay` (deprecated in v3.0.0)
|
|
36
|
+
* **config:** Configuration of factories should be plain factory functions, not constructors; these will not be invoked with `new` (deprecated in v3.1.0)
|
|
37
|
+
* **player:** `shaka.Player.prototype.addTextTrack()` has been replaced by `addTextTrackAsync()`, which returns a `Promise` (deprecated in v3.1.0)
|
|
38
|
+
* **ui:** `shaka.ui.TrackLabelFormat` has been renamed to `shaka.ui.Overlay.TrackLabelFormat` (deprecated in v3.1.0)
|
|
39
|
+
* **ui:** `shaka.ui.FailReasonCode` has been renamed to `shaka.ui.Overlay.FailReasonCode` (deprecated in v3.1.0)
|
|
40
|
+
* **offline:** `shaka.offline.Storage.prototype.store()` returns `AbortableOperation` instead of `Promise` (deprecated in v3.0.0)
|
|
41
|
+
* **offline:** `shaka.offline.Storage.prototype.getStoreInProgress()` has been removed; concurrent operations are supported, so callers don't need to check this (deprecated in v3.0.0)
|
|
42
|
+
* `shaka.util.Uint8ArrayUtils.equal` has been replaced by `shaka.util.BufferUtils.equal`, which can handle multiple types of buffers (deprecated in v3.0.0)
|
|
43
|
+
* **manifest:** `shaka.media.SegmentIndex.prototype.destroy()` has been replaced by `release()`, which is synchronous (deprecated in v3.0.0)
|
|
44
|
+
* **manifest:** `shaka.media.SegmentIterator.prototype.seek()`, which mutates the iterator, has been replaced by `shaka.media.SegmentIndex.getIteratorForTime()` (deprecated in v3.1.0)
|
|
45
|
+
* **manifest:** `shaka.media.SegmentIndex.prototype.merge()` has become private; use `mergeAndEvict()` instead (deprecated in v3.2.0)
|
|
46
|
+
* **plugin:** `AbrManager` plugins must implement the `playbackRateChanged()` method (deprecated in v3.0.0)
|
|
47
|
+
* **plugin:** `shaka.extern.Cue.prototype.spacer` has been replaced by the more clearly-named `lineBreak` (deprecated in v3.1.0)
|
|
48
|
+
* **plugin:** `IUIElement` plugins must have a `release()` method (not `destroy()`) (deprecated in v3.0.0)
|
|
49
|
+
* Remove deprecated features, update upgrade guides (#4089)
|
|
50
|
+
* Remove support for Safari 12 and iOS 12 (#4112)
|
|
51
|
+
* **hls:** HLS disabled in old browsers/platforms due to incompatibilities (#3964)
|
|
52
|
+
|
|
53
|
+
### Features
|
|
54
|
+
|
|
55
|
+
* `shaka.util.Uint8ArrayUtils.equal` has been replaced by `shaka.util.BufferUtils.equal`, which can handle multiple types of buffers (deprecated in v3.0.0) ([ac5acc8](https://github.com/shaka-project/shaka-player/commit/ac5acc80cb8d2bcb58455e8f66f7e1c2d18b0a3a))
|
|
56
|
+
* Add Dockerfile and docker build instructions ([925de19](https://github.com/shaka-project/shaka-player/commit/925de1995eeb22863e8d4e92d720465834619288))
|
|
57
|
+
* add modern EME support for FairPlay ([#3776](https://github.com/shaka-project/shaka-player/issues/3776)) ([6d76a13](https://github.com/shaka-project/shaka-player/commit/6d76a135e5128dfd47653acea025d0a264d121d5))
|
|
58
|
+
* add new methods to FairPlayUtils ([#4029](https://github.com/shaka-project/shaka-player/issues/4029)) ([f1eeac1](https://github.com/shaka-project/shaka-player/commit/f1eeac1efb618aa7202b17b67c43056714f8da2f))
|
|
59
|
+
* add option for segment-relative VTT timings ([#4083](https://github.com/shaka-project/shaka-player/issues/4083)) ([f382cc7](https://github.com/shaka-project/shaka-player/commit/f382cc702be6cc28266fe61a33e43573cb22be57))
|
|
60
|
+
* Add separate audio and video MIME types to Track API ([#3892](https://github.com/shaka-project/shaka-player/issues/3892)) ([74c491d](https://github.com/shaka-project/shaka-player/commit/74c491d2e0042f62385813f04e74517cf00fcade)), closes [#3888](https://github.com/shaka-project/shaka-player/issues/3888)
|
|
61
|
+
* Allow WebP and AVIF image streams ([#3856](https://github.com/shaka-project/shaka-player/issues/3856)) ([9f3fb46](https://github.com/shaka-project/shaka-player/commit/9f3fb46d371d52f58bc9a7fc5beefe51890879ed)), closes [#3845](https://github.com/shaka-project/shaka-player/issues/3845)
|
|
62
|
+
* **config:** `manifest.dash.defaultPresentationDelay` has been replaced by `manifest.defaultPresentationDelay` (deprecated in v3.0.0) ([ac5acc8](https://github.com/shaka-project/shaka-player/commit/ac5acc80cb8d2bcb58455e8f66f7e1c2d18b0a3a))
|
|
63
|
+
* **config:** Configuration of factories should be plain factory functions, not constructors; these will not be invoked with `new` (deprecated in v3.1.0) ([ac5acc8](https://github.com/shaka-project/shaka-player/commit/ac5acc80cb8d2bcb58455e8f66f7e1c2d18b0a3a))
|
|
64
|
+
* **dash:** Construct ClearKey PSSH based on MPD ContentProtection ([#4104](https://github.com/shaka-project/shaka-player/issues/4104)) ([b83b412](https://github.com/shaka-project/shaka-player/commit/b83b4120f46ae94e3ce194f43b13517b7a736f07))
|
|
65
|
+
* **dash:** Parse ClearKey license URL in MPD ([#4066](https://github.com/shaka-project/shaka-player/issues/4066)) ([19e24b1](https://github.com/shaka-project/shaka-player/commit/19e24b1d741b4ba6946011748be8b759b4b71773))
|
|
66
|
+
* **demo:** Add Apple Advanced HLS Stream (TS) with raw AAC ([#3933](https://github.com/shaka-project/shaka-player/issues/3933)) ([1becadf](https://github.com/shaka-project/shaka-player/commit/1becadfc93ca06d64d0c9ace37c80213268a1675))
|
|
67
|
+
* **demo:** Added demo asset with raw AAC. ([014c7b3](https://github.com/shaka-project/shaka-player/commit/014c7b302b292a22f62d4e01230b927b33bc51da)), closes [#2337](https://github.com/shaka-project/shaka-player/issues/2337)
|
|
68
|
+
* **DRM:** add drmInfo to license requests ([#4030](https://github.com/shaka-project/shaka-player/issues/4030)) ([abe846e](https://github.com/shaka-project/shaka-player/commit/abe846e1a3456b029822ea42eb0520dec547fda6))
|
|
69
|
+
* **DRM:** add initData and initDataType to license requests ([#4039](https://github.com/shaka-project/shaka-player/issues/4039)) ([bdc5ea7](https://github.com/shaka-project/shaka-player/commit/bdc5ea767ebe55bb0b18dd106e269ab3fecd6d00))
|
|
70
|
+
* **HLS:** Containerless format support ([36d0b54](https://github.com/shaka-project/shaka-player/commit/36d0b5484fad68dc1d640fbddf2fae3e1eb7169b)), closes [#2337](https://github.com/shaka-project/shaka-player/issues/2337)
|
|
71
|
+
* **hls:** HLS disabled in old browsers/platforms due to incompatibilities ([#3964](https://github.com/shaka-project/shaka-player/issues/3964)) ([0daa00f](https://github.com/shaka-project/shaka-player/commit/0daa00fc7f074c1c86968ed0fcd84bc30254ee6d))
|
|
72
|
+
* **hls:** make a head request if hls subtitles have no extension ([#4140](https://github.com/shaka-project/shaka-player/issues/4140)) ([19e12b5](https://github.com/shaka-project/shaka-player/commit/19e12b5e282e661a9a17a6bfbb87c565faf2bc6e))
|
|
73
|
+
* **hls:** parse EXT-X-GAP ([#4134](https://github.com/shaka-project/shaka-player/issues/4134)) ([42eecc8](https://github.com/shaka-project/shaka-player/commit/42eecc84f992ca6a680c3a5fd46d1c300fe92a72))
|
|
74
|
+
* **HLS:** Re-add TS support to Safari ([#4097](https://github.com/shaka-project/shaka-player/issues/4097)) ([8a3bed7](https://github.com/shaka-project/shaka-player/commit/8a3bed710c104c9729fec2072318e50f9fe15ab2))
|
|
75
|
+
* **hls:** Read EXT-X-PROGRAM-DATE-TIME ([#4034](https://github.com/shaka-project/shaka-player/issues/4034)) ([89409ce](https://github.com/shaka-project/shaka-player/commit/89409cee3eaeb6764dbc191b7408bf45eecdced3)), closes [#2337](https://github.com/shaka-project/shaka-player/issues/2337)
|
|
76
|
+
* **manifest:** `shaka.media.SegmentIndex.prototype.destroy()` has been replaced by `release()`, which is synchronous (deprecated in v3.0.0) ([ac5acc8](https://github.com/shaka-project/shaka-player/commit/ac5acc80cb8d2bcb58455e8f66f7e1c2d18b0a3a))
|
|
77
|
+
* **manifest:** `shaka.media.SegmentIndex.prototype.merge()` has become private; use `mergeAndEvict()` instead (deprecated in v3.2.0) ([ac5acc8](https://github.com/shaka-project/shaka-player/commit/ac5acc80cb8d2bcb58455e8f66f7e1c2d18b0a3a))
|
|
78
|
+
* **manifest:** `shaka.media.SegmentIterator.prototype.seek()`, which mutates the iterator, has been replaced by `shaka.media.SegmentIndex.getIteratorForTime()` (deprecated in v3.1.0) ([ac5acc8](https://github.com/shaka-project/shaka-player/commit/ac5acc80cb8d2bcb58455e8f66f7e1c2d18b0a3a))
|
|
79
|
+
* **offline:** `shaka.offline.Storage.prototype.getStoreInProgress()` has been removed; concurrent operations are supported, so callers don't need to check this (deprecated in v3.0.0) ([ac5acc8](https://github.com/shaka-project/shaka-player/commit/ac5acc80cb8d2bcb58455e8f66f7e1c2d18b0a3a))
|
|
80
|
+
* **offline:** `shaka.offline.Storage.prototype.store()` returns `AbortableOperation` instead of `Promise` (deprecated in v3.0.0) ([ac5acc8](https://github.com/shaka-project/shaka-player/commit/ac5acc80cb8d2bcb58455e8f66f7e1c2d18b0a3a))
|
|
81
|
+
* **offline:** improve the speed of offline downloads ([#4168](https://github.com/shaka-project/shaka-player/issues/4168)) ([73f6de3](https://github.com/shaka-project/shaka-player/commit/73f6de3e01ae4ed3b86302add7ee16c86c3b9b78))
|
|
82
|
+
* only polyfill MCap for non Android-based Cast devices. ([#4170](https://github.com/shaka-project/shaka-player/issues/4170)) ([11321d8](https://github.com/shaka-project/shaka-player/commit/11321d8f26b01412fa5173aa6efcf777186fa7a0))
|
|
83
|
+
* **player:** `shaka.Player.prototype.addTextTrack()` has been replaced by `addTextTrackAsync()`, which returns a `Promise` (deprecated in v3.1.0) ([ac5acc8](https://github.com/shaka-project/shaka-player/commit/ac5acc80cb8d2bcb58455e8f66f7e1c2d18b0a3a))
|
|
84
|
+
* **plugin:** `AbrManager` plugins must implement the `playbackRateChanged()` method (deprecated in v3.0.0) ([ac5acc8](https://github.com/shaka-project/shaka-player/commit/ac5acc80cb8d2bcb58455e8f66f7e1c2d18b0a3a))
|
|
85
|
+
* **plugin:** `IUIElement` plugins must have a `release()` method (not `destroy()`) (deprecated in v3.0.0) ([ac5acc8](https://github.com/shaka-project/shaka-player/commit/ac5acc80cb8d2bcb58455e8f66f7e1c2d18b0a3a))
|
|
86
|
+
* **plugin:** `shaka.extern.Cue.prototype.spacer` has been replaced by the more clearly-named `lineBreak` (deprecated in v3.1.0) ([ac5acc8](https://github.com/shaka-project/shaka-player/commit/ac5acc80cb8d2bcb58455e8f66f7e1c2d18b0a3a))
|
|
87
|
+
* Public release of Sindarin (sjn) translation easter egg ([#4033](https://github.com/shaka-project/shaka-player/issues/4033)) ([9029d06](https://github.com/shaka-project/shaka-player/commit/9029d0677e0e0325e0dbe939907ba60ecec74c92))
|
|
88
|
+
* Remove deprecated features, update upgrade guides ([#4089](https://github.com/shaka-project/shaka-player/issues/4089)) ([ac5acc8](https://github.com/shaka-project/shaka-player/commit/ac5acc80cb8d2bcb58455e8f66f7e1c2d18b0a3a))
|
|
89
|
+
* Remove small/large gap config, always jump gaps ([#4125](https://github.com/shaka-project/shaka-player/issues/4125)) ([0fd1999](https://github.com/shaka-project/shaka-player/commit/0fd19997dde7b03bad7464a82dc86d7b2cd8a304))
|
|
90
|
+
* Remove support for Safari 12 and iOS 12 ([#4112](https://github.com/shaka-project/shaka-player/issues/4112)) ([8bb7044](https://github.com/shaka-project/shaka-player/commit/8bb70449d33c31a0e7fc312260dc001cc9e3a792))
|
|
91
|
+
* **ui:** `shaka.ui.FailReasonCode` has been renamed to `shaka.ui.Overlay.FailReasonCode` (deprecated in v3.1.0) ([ac5acc8](https://github.com/shaka-project/shaka-player/commit/ac5acc80cb8d2bcb58455e8f66f7e1c2d18b0a3a))
|
|
92
|
+
* **ui:** `shaka.ui.TrackLabelFormat` has been renamed to `shaka.ui.Overlay.TrackLabelFormat` (deprecated in v3.1.0) ([ac5acc8](https://github.com/shaka-project/shaka-player/commit/ac5acc80cb8d2bcb58455e8f66f7e1c2d18b0a3a))
|
|
93
|
+
* **ui:** Add quality selection for audio-only content ([#3649](https://github.com/shaka-project/shaka-player/issues/3649)) ([adc3502](https://github.com/shaka-project/shaka-player/commit/adc3502d55f39eaca30f3c42e17961ec7d681c80)), closes [#2071](https://github.com/shaka-project/shaka-player/issues/2071)
|
|
94
|
+
* **UI:** Add video fullscreen support for iOS ([#3853](https://github.com/shaka-project/shaka-player/issues/3853)) ([8d1b5e6](https://github.com/shaka-project/shaka-player/commit/8d1b5e6b07e979bd641da0b2b53c5f8e872422ad)), closes [#3832](https://github.com/shaka-project/shaka-player/issues/3832)
|
|
47
95
|
|
|
48
96
|
|
|
49
97
|
### Bug Fixes
|
|
50
98
|
|
|
51
|
-
* Add explicit release() for FakeEventTarget ([#3950](https://github.com/shaka-project/shaka-player/issues/3950)) ([
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
99
|
+
* Add explicit release() for FakeEventTarget ([#3950](https://github.com/shaka-project/shaka-player/issues/3950)) ([f1c1585](https://github.com/shaka-project/shaka-player/commit/f1c1585afb2cfa3eb6b7465c8b32c9bad8e62d15))
|
|
100
|
+
* Add missing module export in generated typescript defs ([feefd7b](https://github.com/shaka-project/shaka-player/commit/feefd7b7d1cc318800c8d83de8cce81c57939f7d))
|
|
101
|
+
* Avoid WebCrypto randomUUID when CMCD disabled ([4731c76](https://github.com/shaka-project/shaka-player/commit/4731c7677f4f179f19ae647d3bb1edfda40dac53))
|
|
102
|
+
* **cea:** make a more robust CEA MP4 parser ([#3965](https://github.com/shaka-project/shaka-player/issues/3965)) ([2687b95](https://github.com/shaka-project/shaka-player/commit/2687b95d5830179c53914a7e903ecfbaced429cc))
|
|
103
|
+
* Clear buffer on seek if mediaState is updating ([#3795](https://github.com/shaka-project/shaka-player/issues/3795)) ([9705639](https://github.com/shaka-project/shaka-player/commit/9705639f4514d8d2dbfe5d81a31388f99e6be507)), closes [#3299](https://github.com/shaka-project/shaka-player/issues/3299)
|
|
104
|
+
* **cmcd:** Fix Symbol usage in CMCD on Xbox One ([#4073](https://github.com/shaka-project/shaka-player/issues/4073)) ([4005754](https://github.com/shaka-project/shaka-player/commit/400575498f34cf252aaba0bc1367953b8cf44537)), closes [#4072](https://github.com/shaka-project/shaka-player/issues/4072)
|
|
105
|
+
* **css:** Fix missing % in calculation ([#4157](https://github.com/shaka-project/shaka-player/issues/4157)) ([1c86195](https://github.com/shaka-project/shaka-player/commit/1c8619582319c46c524807aa4bdff1191b2efc91))
|
|
106
|
+
* **dash:** Account for bandwidth before filtering text stream ([#3765](https://github.com/shaka-project/shaka-player/issues/3765)) ([0b04aec](https://github.com/shaka-project/shaka-player/commit/0b04aecdd7ad4184a72b8cf562318b28128344bf)), closes [#3724](https://github.com/shaka-project/shaka-player/issues/3724)
|
|
107
|
+
* **dash:** Fix performance regression ([#4064](https://github.com/shaka-project/shaka-player/issues/4064)) ([298b604](https://github.com/shaka-project/shaka-player/commit/298b60481d34bd9d776874fe1b9a8eea05b533d9))
|
|
108
|
+
* **dash:** Fix playback of Dolby Atmos ([#4173](https://github.com/shaka-project/shaka-player/issues/4173)) ([d51fe23](https://github.com/shaka-project/shaka-player/commit/d51fe23b7fab99501818c18cc76586e1ec4abcdd)), closes [#4171](https://github.com/shaka-project/shaka-player/issues/4171)
|
|
109
|
+
* Fix broken deps file generation on Windows ([#4086](https://github.com/shaka-project/shaka-player/issues/4086)) ([9660ce8](https://github.com/shaka-project/shaka-player/commit/9660ce85df48856b964eebc330c28beba2e3068a)), closes [#4085](https://github.com/shaka-project/shaka-player/issues/4085)
|
|
110
|
+
* Fix CMCD property mangling ([#3842](https://github.com/shaka-project/shaka-player/issues/3842)) ([fa5932c](https://github.com/shaka-project/shaka-player/commit/fa5932ca8f604952590734bf8bdc27ad8e69e8d8)), closes [#3839](https://github.com/shaka-project/shaka-player/issues/3839)
|
|
111
|
+
* Fix CMCD top bitrate reporting ([#3852](https://github.com/shaka-project/shaka-player/issues/3852)) ([922778a](https://github.com/shaka-project/shaka-player/commit/922778a5ebd2d58ca0c1e804745ca40cda1228bc)), closes [#3851](https://github.com/shaka-project/shaka-player/issues/3851)
|
|
112
|
+
* Fix compiler error introduced in [#3864](https://github.com/shaka-project/shaka-player/issues/3864) ([#3906](https://github.com/shaka-project/shaka-player/issues/3906)) ([0635e2c](https://github.com/shaka-project/shaka-player/commit/0635e2c055c13a405048c7696389c1dfc039902f))
|
|
113
|
+
* Fix download of some HLS assets ([#3934](https://github.com/shaka-project/shaka-player/issues/3934)) ([36ca820](https://github.com/shaka-project/shaka-player/commit/36ca820877965db8bcc8b9c4b2a428317301bb95))
|
|
114
|
+
* Fix duplicate CMCD parameters in HLS live content ([#3875](https://github.com/shaka-project/shaka-player/issues/3875)) ([f27401c](https://github.com/shaka-project/shaka-player/commit/f27401cc151a435ae8fb12be4e86d672c331e1e5)), closes [#3862](https://github.com/shaka-project/shaka-player/issues/3862)
|
|
115
|
+
* Fix encryption detection to work around broken platforms ([#4169](https://github.com/shaka-project/shaka-player/issues/4169)) ([c5f474e](https://github.com/shaka-project/shaka-player/commit/c5f474ef983169e6ff29f1594d15a9b50b12d316))
|
|
116
|
+
* Fix exception in StreamingEngine for EMSG with HLS ([#3887](https://github.com/shaka-project/shaka-player/issues/3887)) ([48433ab](https://github.com/shaka-project/shaka-player/commit/48433abe74c5f603cf06097e391ffdfa22d64256)), closes [#3886](https://github.com/shaka-project/shaka-player/issues/3886)
|
|
117
|
+
* Fix exceptions when quickly shutting down src= on Safari ([#4088](https://github.com/shaka-project/shaka-player/issues/4088)) ([ca08230](https://github.com/shaka-project/shaka-player/commit/ca08230fbe85d66176c7fa1fb4f9782d0ab364fc)), closes [#4087](https://github.com/shaka-project/shaka-player/issues/4087)
|
|
118
|
+
* Fix MediaCapabilities polyfill on Safari ([0201f2b](https://github.com/shaka-project/shaka-player/commit/0201f2b7604e76062b68b8b1acbf098faf71d019)), closes [#3696](https://github.com/shaka-project/shaka-player/issues/3696) [#3530](https://github.com/shaka-project/shaka-player/issues/3530)
|
|
119
|
+
* Fix memory leak in DASH live streams with inband EventStream ([#3957](https://github.com/shaka-project/shaka-player/issues/3957)) ([b7f04cb](https://github.com/shaka-project/shaka-player/commit/b7f04cb36bda664ec9cf23a081d237793907eaae))
|
|
120
|
+
* Fix misdetection of HEVC support on MS Edge ([#3897](https://github.com/shaka-project/shaka-player/issues/3897)) ([dfb3699](https://github.com/shaka-project/shaka-player/commit/dfb369935b9e84fe69a7d38c7904fb0e00dc064a)), closes [#3860](https://github.com/shaka-project/shaka-player/issues/3860)
|
|
121
|
+
* Fix missing throughput in CMCD for HLS live ([#3874](https://github.com/shaka-project/shaka-player/issues/3874)) ([df55944](https://github.com/shaka-project/shaka-player/commit/df55944e8f49bdf8e34a679219cd6596ba46c777)), closes [#3873](https://github.com/shaka-project/shaka-player/issues/3873)
|
|
122
|
+
* Fix playback failure due to rounding errors ([1cc99c1](https://github.com/shaka-project/shaka-player/commit/1cc99c1241c89b5fb5a989dd52ff0b9a9753b65f)), closes [#3717](https://github.com/shaka-project/shaka-player/issues/3717)
|
|
123
|
+
* Fix playRangeEnd for certain content ([#4068](https://github.com/shaka-project/shaka-player/issues/4068)) ([5c81f3b](https://github.com/shaka-project/shaka-player/commit/5c81f3bddb9e48431556f4d622364043fee4ea80)), closes [#4026](https://github.com/shaka-project/shaka-player/issues/4026)
|
|
124
|
+
* Fix support for TTAF1 namespace (old version of TTML) ([#3864](https://github.com/shaka-project/shaka-player/issues/3864)) ([771619f](https://github.com/shaka-project/shaka-player/commit/771619ff0ef8ba0e3da9569ded3894b428d03c58)), closes [#3009](https://github.com/shaka-project/shaka-player/issues/3009)
|
|
125
|
+
* Fix usage of Shaka without polyfills ([dfc44cb](https://github.com/shaka-project/shaka-player/commit/dfc44cbca6b95eb137882075cb8bf02cfc73a9d3))
|
|
126
|
+
* **hls:** Fixed buffering issue with live HLS ([#4002](https://github.com/shaka-project/shaka-player/issues/4002)) ([c438e85](https://github.com/shaka-project/shaka-player/commit/c438e857f2f122eb45899148e067d68ffec3477c))
|
|
127
|
+
* **HLS:** skip whitespace in attributes ([#3884](https://github.com/shaka-project/shaka-player/issues/3884)) ([ea6c02a](https://github.com/shaka-project/shaka-player/commit/ea6c02aece1510598a898c235e66335d20eabedb))
|
|
128
|
+
* **hls:** Support playing media playlists directly ([#4080](https://github.com/shaka-project/shaka-player/issues/4080)) ([48dd205](https://github.com/shaka-project/shaka-player/commit/48dd20562c2226f61cc753a922629e44c1866f6d)), closes [#3536](https://github.com/shaka-project/shaka-player/issues/3536)
|
|
129
|
+
* **image:** Fix HLS image track issues ([264c842](https://github.com/shaka-project/shaka-player/commit/264c84249684ee809f53fd4117f9aab4e0a599ac)), closes [#3840](https://github.com/shaka-project/shaka-player/issues/3840)
|
|
130
|
+
* **image:** Fix thumbnails issues ([#3858](https://github.com/shaka-project/shaka-player/issues/3858)) ([087a9b4](https://github.com/shaka-project/shaka-player/commit/087a9b489b030aa0dc80011ca4e0a0c7a4124ecd))
|
|
131
|
+
* **offline:** Clean up orphaned segments on abort ([#4177](https://github.com/shaka-project/shaka-player/issues/4177)) ([c07447f](https://github.com/shaka-project/shaka-player/commit/c07447f00e9095020890366695561b71b045e55a))
|
|
132
|
+
* **offline:** Speed up offline storage by ~87% ([#4176](https://github.com/shaka-project/shaka-player/issues/4176)) ([c1c9613](https://github.com/shaka-project/shaka-player/commit/c1c96135120480afc9615713812eecc4a51f153b)), closes [#4166](https://github.com/shaka-project/shaka-player/issues/4166)
|
|
133
|
+
* **performance:** Eliminate use of ES6 generators ([#4092](https://github.com/shaka-project/shaka-player/issues/4092)) ([57c7324](https://github.com/shaka-project/shaka-player/commit/57c73241a0e8ce1615f7b3aca4c3ad8f69b7e8c2)), closes [#4062](https://github.com/shaka-project/shaka-player/issues/4062)
|
|
134
|
+
* Revert "Add missing module export in generated typescript defs" ([#4175](https://github.com/shaka-project/shaka-player/issues/4175)) ([fe4f5c6](https://github.com/shaka-project/shaka-player/commit/fe4f5c6e19214d6cf4d42da9430de03040532bab)), closes [#4167](https://github.com/shaka-project/shaka-player/issues/4167)
|
|
135
|
+
* Select first of identical audio streams ([#3869](https://github.com/shaka-project/shaka-player/issues/3869)) ([a6d8610](https://github.com/shaka-project/shaka-player/commit/a6d8610241dc7c8abd56cf7f0d48993d6139dcae))
|
|
136
|
+
* Support multiple chapter tracks with same language ([#3868](https://github.com/shaka-project/shaka-player/issues/3868)) ([8c626ae](https://github.com/shaka-project/shaka-player/commit/8c626aec238c01ebad7ccd06c9313e4f2e99d383)), closes [#3597](https://github.com/shaka-project/shaka-player/issues/3597)
|
|
137
|
+
* **text:** Fix caption overlap. ([bf67d87](https://github.com/shaka-project/shaka-player/commit/bf67d87387b1dfc4d3d8e0661bfe4efb1e4083b2)), closes [#3850](https://github.com/shaka-project/shaka-player/issues/3850) [#3741](https://github.com/shaka-project/shaka-player/issues/3741)
|
|
138
|
+
* **text:** Fix webvtt offset in sequence mode ([#3955](https://github.com/shaka-project/shaka-player/issues/3955)) ([a4e9267](https://github.com/shaka-project/shaka-player/commit/a4e926772e1b754fe968ee6f97490f08a40fe535)), closes [#2337](https://github.com/shaka-project/shaka-player/issues/2337)
|
|
139
|
+
* **text:** Inherit alignment from regions. ([e9df8fb](https://github.com/shaka-project/shaka-player/commit/e9df8fb10c3752cb833e89c8ac793241497e29b6))
|
|
140
|
+
* **text:** Made nested cues inherit region ([#3837](https://github.com/shaka-project/shaka-player/issues/3837)) ([3ff48cb](https://github.com/shaka-project/shaka-player/commit/3ff48cba9b28a29e8decc11898e326d7918bc8f4)), closes [#3743](https://github.com/shaka-project/shaka-player/issues/3743)
|
|
141
|
+
* **text:** Remove caption wrapper bgColor ([#3838](https://github.com/shaka-project/shaka-player/issues/3838)) ([0117441](https://github.com/shaka-project/shaka-player/commit/0117441bb06e0325b84666d2a5a76c0c2de81725)), closes [#3745](https://github.com/shaka-project/shaka-player/issues/3745)
|
|
142
|
+
* **ttml:** Center subtitles by default ([#4023](https://github.com/shaka-project/shaka-player/issues/4023)) ([f2f24d5](https://github.com/shaka-project/shaka-player/commit/f2f24d528f71e59c81d6172c24da2f412ca18d70))
|
|
143
|
+
* **UI:** Add cursor pointer to range elements ([#4059](https://github.com/shaka-project/shaka-player/issues/4059)) ([33e8400](https://github.com/shaka-project/shaka-player/commit/33e84009dc9f6d48884ecfc2f66eeb285f60d05a)), closes [#3220](https://github.com/shaka-project/shaka-player/issues/3220)
|
|
144
|
+
* **UI:** Fix text UI not updating when text is disabled ([#3867](https://github.com/shaka-project/shaka-player/issues/3867)) ([9f53d39](https://github.com/shaka-project/shaka-player/commit/9f53d394279066f29a2d391b6964cba11c4a3e1e)), closes [#3728](https://github.com/shaka-project/shaka-player/issues/3728)
|
|
56
145
|
|
|
57
146
|
## 3.3.1 (2022-01-28)
|
|
58
147
|
|
|
@@ -108,6 +197,91 @@ Bugfixes:
|
|
|
108
197
|
- Avoid WebCrypto randomUUID when CMCD disabled
|
|
109
198
|
|
|
110
199
|
|
|
200
|
+
## 3.2.3 (2022-01-28)
|
|
201
|
+
|
|
202
|
+
Bugfixes:
|
|
203
|
+
- Fix support for TTAF1 namespace (old version of TTML)
|
|
204
|
+
- https://github.com/shaka-project/shaka-player/issues/3009
|
|
205
|
+
- https://github.com/shaka-project/shaka-player/pull/3864
|
|
206
|
+
- https://github.com/shaka-project/shaka-player/pull/3906
|
|
207
|
+
- Fix misdetection of HEVC support on MS Edge
|
|
208
|
+
- https://github.com/shaka-project/shaka-player/pull/3897
|
|
209
|
+
- Fix caption overlap
|
|
210
|
+
- https://github.com/shaka-project/shaka-player/issues/3850
|
|
211
|
+
- https://github.com/shaka-project/shaka-player/issues/3741
|
|
212
|
+
- Support multiple chapter tracks with same language
|
|
213
|
+
- https://github.com/shaka-project/shaka-player/issues/3597
|
|
214
|
+
- https://github.com/shaka-project/shaka-player/pull/3868
|
|
215
|
+
- Fix text UI not updating when text is disabled
|
|
216
|
+
- https://github.com/shaka-project/shaka-player/issues/3728
|
|
217
|
+
- https://github.com/shaka-project/shaka-player/pull/3867
|
|
218
|
+
- Clear buffer on seek if mediaState is updating
|
|
219
|
+
- https://github.com/shaka-project/shaka-player/issues/3299
|
|
220
|
+
- https://github.com/shaka-project/shaka-player/pull/3795
|
|
221
|
+
- Fix thumbnails issues
|
|
222
|
+
- https://github.com/shaka-project/shaka-player/pull/3858
|
|
223
|
+
- Made nested cues inherit region
|
|
224
|
+
- https://github.com/shaka-project/shaka-player/issues/3743
|
|
225
|
+
- https://github.com/shaka-project/shaka-player/pull/3837
|
|
226
|
+
- Fix MediaCapabilities polyfill on Safari
|
|
227
|
+
- https://github.com/shaka-project/shaka-player/issues/3696
|
|
228
|
+
- https://github.com/shaka-project/shaka-player/issues/3530
|
|
229
|
+
- Fix usage of Shaka without polyfills
|
|
230
|
+
- https://github.com/shaka-project/shaka-player/issues/3843
|
|
231
|
+
- Fix playback failure due to rounding errors
|
|
232
|
+
- https://github.com/shaka-project/shaka-player/issues/3717
|
|
233
|
+
- Fix HLS image track issues
|
|
234
|
+
- https://github.com/shaka-project/shaka-player/issues/3840
|
|
235
|
+
- Remove caption wrapper bgColor
|
|
236
|
+
- https://github.com/shaka-project/shaka-player/issues/3745
|
|
237
|
+
- https://github.com/shaka-project/shaka-player/pull/3838
|
|
238
|
+
- Support "forced-subtitle" role
|
|
239
|
+
- https://github.com/shaka-project/shaka-player/issues/3767
|
|
240
|
+
- https://github.com/shaka-project/shaka-player/pull/3807
|
|
241
|
+
- Fix time element height on Safari
|
|
242
|
+
- https://github.com/shaka-project/shaka-player/issues/3739
|
|
243
|
+
- https://github.com/shaka-project/shaka-player/pull/3809
|
|
244
|
+
|
|
245
|
+
|
|
246
|
+
## 3.1.5 (2022-01-28)
|
|
247
|
+
|
|
248
|
+
Bugfixes:
|
|
249
|
+
- Fix support for TTAF1 namespace (old version of TTML)
|
|
250
|
+
- https://github.com/shaka-project/shaka-player/issues/3009
|
|
251
|
+
- https://github.com/shaka-project/shaka-player/pull/3864
|
|
252
|
+
- https://github.com/shaka-project/shaka-player/pull/3906
|
|
253
|
+
- Fix misdetection of HEVC support on MS Edge
|
|
254
|
+
- https://github.com/shaka-project/shaka-player/pull/3897
|
|
255
|
+
- Fix caption overlap
|
|
256
|
+
- https://github.com/shaka-project/shaka-player/issues/3850
|
|
257
|
+
- https://github.com/shaka-project/shaka-player/issues/3741
|
|
258
|
+
- Fix text UI not updating when text is disabled
|
|
259
|
+
- https://github.com/shaka-project/shaka-player/issues/3728
|
|
260
|
+
- https://github.com/shaka-project/shaka-player/pull/3867
|
|
261
|
+
- Clear buffer on seek if mediaState is updating
|
|
262
|
+
- https://github.com/shaka-project/shaka-player/issues/3299
|
|
263
|
+
- https://github.com/shaka-project/shaka-player/pull/3795
|
|
264
|
+
- Made nested cues inherit region
|
|
265
|
+
- https://github.com/shaka-project/shaka-player/issues/3743
|
|
266
|
+
- https://github.com/shaka-project/shaka-player/pull/3837
|
|
267
|
+
- Fix MediaCapabilities polyfill on Safari
|
|
268
|
+
- https://github.com/shaka-project/shaka-player/issues/3696
|
|
269
|
+
- https://github.com/shaka-project/shaka-player/issues/3530
|
|
270
|
+
- Fix usage of Shaka without polyfills
|
|
271
|
+
- https://github.com/shaka-project/shaka-player/issues/3843
|
|
272
|
+
- Fix playback failure due to rounding errors
|
|
273
|
+
- https://github.com/shaka-project/shaka-player/issues/3717
|
|
274
|
+
- Remove caption wrapper bgColor
|
|
275
|
+
- https://github.com/shaka-project/shaka-player/issues/3745
|
|
276
|
+
- https://github.com/shaka-project/shaka-player/pull/3838
|
|
277
|
+
- Support "forced-subtitle" role
|
|
278
|
+
- https://github.com/shaka-project/shaka-player/issues/3767
|
|
279
|
+
- https://github.com/shaka-project/shaka-player/pull/3807
|
|
280
|
+
- Fix time element height on Safari
|
|
281
|
+
- https://github.com/shaka-project/shaka-player/issues/3739
|
|
282
|
+
- https://github.com/shaka-project/shaka-player/pull/3809
|
|
283
|
+
|
|
284
|
+
|
|
111
285
|
## 3.3.0 (2022-01-07)
|
|
112
286
|
|
|
113
287
|
New Features:
|
|
@@ -2221,7 +2395,7 @@ Demo App:
|
|
|
2221
2395
|
|
|
2222
2396
|
Docs:
|
|
2223
2397
|
- Add a public roadmap document
|
|
2224
|
-
- https://github.com/shaka-project/shaka-player/blob/
|
|
2398
|
+
- https://github.com/shaka-project/shaka-player/blob/main/roadmap.md
|
|
2225
2399
|
|
|
2226
2400
|
|
|
2227
2401
|
## 2.5.1 (2019-05-20)
|
package/CONTRIBUTORS
CHANGED
|
@@ -97,6 +97,7 @@ Sam Dutton <dutton@google.com>
|
|
|
97
97
|
Sanborn Hilland <sanbornh@rogers.com>
|
|
98
98
|
Sander Saares <sander@saares.eu>
|
|
99
99
|
Sandra Lokshina <ismena@google.com>
|
|
100
|
+
Sanil Raut <sr1990003@gmail.com>
|
|
100
101
|
Satheesh Velmurugan <satheesh@philo.com>
|
|
101
102
|
Semih Gokceoglu <semih.gkcoglu@gmail.com>
|
|
102
103
|
Seth Madison <seth@philo.com>
|
package/README.md
CHANGED
|
@@ -26,7 +26,7 @@ For details on what's coming next, see our [development roadmap](roadmap.md).
|
|
|
26
26
|
|
|
27
27
|
## Platform and browser support matrix
|
|
28
28
|
|
|
29
|
-
|Browser |Windows |Mac |Linux |Android |iOS >=
|
|
29
|
+
|Browser |Windows |Mac |Linux |Android |iOS >= 13 |ChromeOS|Other|
|
|
30
30
|
|:---------:|:--------:|:-------:|:-------:|:-------:|:--------:|:------:|:---:|
|
|
31
31
|
|Chrome¹ |**Y** |**Y** |**Y** |**Y** |**Native**|**Y** | - |
|
|
32
32
|
|Firefox¹ |**Y** |**Y** |**Y** |untested⁵|**Native**| - | - |
|
|
@@ -41,7 +41,7 @@ For details on what's coming next, see our [development roadmap](roadmap.md).
|
|
|
41
41
|
|Xbox One | - | - | - | - | - | - |**Y**|
|
|
42
42
|
|
|
43
43
|
NOTES:
|
|
44
|
-
- ¹: On macOS, only Safari
|
|
44
|
+
- ¹: On macOS, only Safari 13+ is supported. On iOS, only iOS 13+ is
|
|
45
45
|
supported. Older versions will be rejected.
|
|
46
46
|
- ²: The latest stable Chromecast firmware is tested. Both sender and receiver
|
|
47
47
|
can be implemented with Shaka Player.
|
|
@@ -54,7 +54,7 @@ NOTES:
|
|
|
54
54
|
- Official support for LG WebOS TV:
|
|
55
55
|
https://github.com/shaka-project/shaka-player/issues/1330
|
|
56
56
|
|
|
57
|
-
We support iOS
|
|
57
|
+
We support iOS 13+ through Apple's native HLS player. We provide the same
|
|
58
58
|
top-level API, but we just set the video's `src` element to the manifest/media.
|
|
59
59
|
So we are dependent on the browser supporting the manifests.
|
|
60
60
|
|
|
@@ -112,23 +112,24 @@ DASH features **not** supported:
|
|
|
112
112
|
|
|
113
113
|
## HLS features
|
|
114
114
|
|
|
115
|
+
**Only supported on browsers with SourceBuffer.mode=sequence support**
|
|
116
|
+
|
|
115
117
|
HLS features supported:
|
|
116
118
|
- VOD, Live, and Event types
|
|
117
119
|
- Low-latency streaming with partial segments, preload hints, and delta updates
|
|
118
120
|
- Discontinuity
|
|
119
121
|
- ISO-BMFF / MP4 / CMAF support
|
|
120
|
-
- MPEG-2 TS support (transmuxing provided by [mux.js][]
|
|
122
|
+
- MPEG-2 TS support (transmuxing provided by [mux.js][] v6.1.0+, must be
|
|
121
123
|
separately included)
|
|
122
124
|
- WebVTT and TTML
|
|
123
125
|
- CEA-608/708 captions
|
|
124
126
|
- Encrypted content with PlayReady and Widevine
|
|
125
|
-
- Encrypted content with FairPlay (Safari on macOS and iOS
|
|
127
|
+
- Encrypted content with FairPlay (Safari on macOS and iOS 13+ only)
|
|
128
|
+
- Raw AAC, MP3, etc (without an MP4 container)
|
|
126
129
|
|
|
127
130
|
HLS features **not** supported:
|
|
128
131
|
- Key rotation: https://github.com/shaka-project/shaka-player/issues/917
|
|
129
132
|
- I-frame-only playlists: https://github.com/shaka-project/shaka-player/issues/742
|
|
130
|
-
- Raw AAC, MP3, etc (without an MP4 container):
|
|
131
|
-
https://github.com/shaka-project/shaka-player/issues/2337
|
|
132
133
|
- Low-latency streaming with blocking playlist reload
|
|
133
134
|
|
|
134
135
|
[mux.js]: https://github.com/videojs/mux.js/releases
|
|
@@ -171,7 +172,9 @@ NOTES:
|
|
|
171
172
|
|HLS |**Y** |**Y** |**Y** ¹ | - |
|
|
172
173
|
|
|
173
174
|
NOTES:
|
|
174
|
-
- ¹:
|
|
175
|
+
- ¹: By default, FairPlay is handled using Apple's native HLS player, when on
|
|
176
|
+
Safari. We do support FairPlay through MSE/EME, however. See the
|
|
177
|
+
`streaming.useNativeHlsOnSafari` configuration value.
|
|
175
178
|
|
|
176
179
|
|
|
177
180
|
## Media container and subtitle support
|
|
@@ -188,7 +191,7 @@ Shaka Player supports:
|
|
|
188
191
|
SegmentTemplate@index
|
|
189
192
|
- Not supported in HLS
|
|
190
193
|
- MPEG-2 TS
|
|
191
|
-
- With help from [mux.js][]
|
|
194
|
+
- With help from [mux.js][] v6.1.0+, can be played on any browser which
|
|
192
195
|
supports MP4
|
|
193
196
|
- Can find and parse timestamps to find segment start time in HLS
|
|
194
197
|
- WebVTT
|
|
@@ -197,10 +200,10 @@ Shaka Player supports:
|
|
|
197
200
|
- Supported in both XML form and embedded in MP4
|
|
198
201
|
- CEA-608
|
|
199
202
|
- Supported embedded in MP4
|
|
200
|
-
- With help from [mux.js][]
|
|
203
|
+
- With help from [mux.js][] v6.1.0+, supported embedded in TS
|
|
201
204
|
- CEA-708
|
|
202
205
|
- Supported embedded in MP4
|
|
203
|
-
- With help from [mux.js][]
|
|
206
|
+
- With help from [mux.js][] v6.1.0+, supported embedded in TS
|
|
204
207
|
- SubRip (SRT)
|
|
205
208
|
- UTF-8 encoding only
|
|
206
209
|
- LyRiCs (LRC)
|