shaka-player 3.3.4 → 4.0.1
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/build-and-test.yaml +0 -1
- package/.github/workflows/demo-version-index.yaml +8 -0
- package/.github/workflows/release-please.yaml +19 -3
- package/.github/workflows/selenium-lab-tests.yaml +0 -1
- 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 +209 -28
- package/CONTRIBUTORS +1 -0
- package/README.md +10 -7
- 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/README.md +2 -2
- package/build/compiler.py +1 -1
- package/build/generateTsDefs.py +0 -2
- package/build/misspellings.txt +1 -0
- package/build/shaka-lab.yaml +0 -2
- package/build/test.py +7 -1
- package/build/types/core +0 -1
- 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_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 +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 +16 -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 +78 -82
- package/dist/shaka-player.compiled.debug.d.ts +78 -82
- package/dist/shaka-player.compiled.debug.externs.js +127 -126
- package/dist/shaka-player.compiled.debug.js +471 -523
- package/dist/shaka-player.compiled.debug.map +4 -4
- package/dist/shaka-player.compiled.externs.js +127 -126
- package/dist/shaka-player.compiled.js +844 -858
- package/dist/shaka-player.compiled.map +4 -4
- package/dist/shaka-player.ui.d.ts +80 -82
- package/dist/shaka-player.ui.debug.d.ts +80 -82
- package/dist/shaka-player.ui.debug.externs.js +135 -126
- package/dist/shaka-player.ui.debug.js +531 -581
- package/dist/shaka-player.ui.debug.map +4 -4
- package/dist/shaka-player.ui.externs.js +135 -126
- package/dist/shaka-player.ui.js +991 -1001
- 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/karma.conf.js +4 -0
- 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 +3 -3
- package/lib/hls/hls_parser.js +391 -747
- package/lib/hls/manifest_text_parser.js +2 -3
- package/lib/media/drm_engine.js +102 -37
- package/lib/media/gap_jumping_controller.js +10 -45
- package/lib/media/media_source_engine.js +157 -31
- 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/storage_mechanism.js +4 -2
- 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 +100 -132
- package/lib/player.js +181 -307
- 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/config_utils.js +25 -0
- package/lib/util/error.js +16 -13
- package/lib/util/fairplay_utils.js +109 -0
- package/lib/util/functional.js +0 -42
- package/lib/util/manifest_parser_utils.js +1 -1
- package/lib/util/mime_utils.js +50 -1
- package/lib/util/periods.js +5 -4
- package/lib/util/platform.js +45 -0
- package/lib/util/player_configuration.js +26 -20
- package/lib/util/pssh.js +23 -4
- package/lib/util/stream_utils.js +96 -24
- package/lib/util/uint8array_utils.js +0 -16
- package/lib/util/xml_utils.js +1 -1
- package/package.json +4 -1
- package/roadmap.md +19 -19
- package/shaka-player.uncompiled.js +0 -3
- package/test/cast/cast_utils_unit.js +1 -0
- package/test/dash/dash_parser_content_protection_unit.js +44 -0
- package/test/dash/dash_parser_manifest_unit.js +0 -24
- 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 +121 -220
- package/test/hls/hls_parser_unit.js +515 -432
- package/test/hls/manifest_text_parser_unit.js +19 -0
- package/test/media/drm_engine_unit.js +86 -120
- package/test/media/media_source_engine_integration.js +26 -3
- package/test/media/media_source_engine_unit.js +7 -6
- package/test/media/playhead_unit.js +27 -191
- package/test/media/segment_index_unit.js +15 -25
- package/test/media/streaming_engine_integration.js +4 -39
- package/test/media/streaming_engine_unit.js +3 -2
- package/test/media/time_ranges_utils_unit.js +0 -5
- package/test/offline/indexeddb_storage_unit.js +1 -1
- package/test/offline/manifest_convert_unit.js +34 -4
- package/test/offline/offline_manifest_parser_unit.js +1 -0
- package/test/offline/storage_compatibility_unit.js +1 -1
- package/test/offline/storage_integration.js +5 -4
- package/test/player_external.js +7 -7
- package/test/player_integration.js +22 -10
- package/test/player_src_equals_integration.js +81 -83
- package/test/player_unit.js +124 -1
- package/test/test/boot.js +9 -0
- package/test/test/externs/filters.js +4 -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/simple_fakes.js +31 -2
- 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/mime_utils_unit.js +54 -0
- package/test/util/periods_unit.js +79 -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 +3 -3
- 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/docs/tutorials/gsoc-ideas-list.md +0 -3
- 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/lib/util/mutex.js +0 -52
- 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"
|
|
@@ -50,7 +51,7 @@ jobs:
|
|
|
50
51
|
tag-main:
|
|
51
52
|
runs-on: ubuntu-latest
|
|
52
53
|
needs: release
|
|
53
|
-
if: needs.release.outputs.release_created
|
|
54
|
+
if: needs.release.outputs.release_created && endsWith(needs.release.outputs.tag_name, '.0') == false
|
|
54
55
|
steps:
|
|
55
56
|
- uses: actions/checkout@v2
|
|
56
57
|
with:
|
|
@@ -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,40 +1,136 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
### [
|
|
3
|
+
### [4.0.1](https://github.com/shaka-project/shaka-player/compare/v4.0.0...v4.0.1) (2022-05-18)
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
### Bug Fixes
|
|
7
7
|
|
|
8
|
-
*
|
|
9
|
-
* **
|
|
10
|
-
*
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
* **
|
|
26
|
-
* **
|
|
27
|
-
|
|
28
|
-
|
|
8
|
+
* 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)
|
|
9
|
+
* **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))
|
|
10
|
+
* 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))
|
|
11
|
+
* 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)
|
|
12
|
+
* 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)
|
|
13
|
+
* 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)
|
|
14
|
+
* **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))
|
|
15
|
+
* **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)
|
|
16
|
+
* 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)
|
|
17
|
+
|
|
18
|
+
## [4.0.0](https://github.com/shaka-project/shaka-player/compare/v3.3.0...v4.0.0) (2022-04-30)
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
### ⚠ BREAKING CHANGES
|
|
22
|
+
|
|
23
|
+
* Remove small/large gap config, always jump gaps (#4125)
|
|
24
|
+
* **config:** `manifest.dash.defaultPresentationDelay` has been replaced by `manifest.defaultPresentationDelay` (deprecated in v3.0.0)
|
|
25
|
+
* **config:** Configuration of factories should be plain factory functions, not constructors; these will not be invoked with `new` (deprecated in v3.1.0)
|
|
26
|
+
* **player:** `shaka.Player.prototype.addTextTrack()` has been replaced by `addTextTrackAsync()`, which returns a `Promise` (deprecated in v3.1.0)
|
|
27
|
+
* **ui:** `shaka.ui.TrackLabelFormat` has been renamed to `shaka.ui.Overlay.TrackLabelFormat` (deprecated in v3.1.0)
|
|
28
|
+
* **ui:** `shaka.ui.FailReasonCode` has been renamed to `shaka.ui.Overlay.FailReasonCode` (deprecated in v3.1.0)
|
|
29
|
+
* **offline:** `shaka.offline.Storage.prototype.store()` returns `AbortableOperation` instead of `Promise` (deprecated in v3.0.0)
|
|
30
|
+
* **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)
|
|
31
|
+
* `shaka.util.Uint8ArrayUtils.equal` has been replaced by `shaka.util.BufferUtils.equal`, which can handle multiple types of buffers (deprecated in v3.0.0)
|
|
32
|
+
* **manifest:** `shaka.media.SegmentIndex.prototype.destroy()` has been replaced by `release()`, which is synchronous (deprecated in v3.0.0)
|
|
33
|
+
* **manifest:** `shaka.media.SegmentIterator.prototype.seek()`, which mutates the iterator, has been replaced by `shaka.media.SegmentIndex.getIteratorForTime()` (deprecated in v3.1.0)
|
|
34
|
+
* **manifest:** `shaka.media.SegmentIndex.prototype.merge()` has become private; use `mergeAndEvict()` instead (deprecated in v3.2.0)
|
|
35
|
+
* **plugin:** `AbrManager` plugins must implement the `playbackRateChanged()` method (deprecated in v3.0.0)
|
|
36
|
+
* **plugin:** `shaka.extern.Cue.prototype.spacer` has been replaced by the more clearly-named `lineBreak` (deprecated in v3.1.0)
|
|
37
|
+
* **plugin:** `IUIElement` plugins must have a `release()` method (not `destroy()`) (deprecated in v3.0.0)
|
|
38
|
+
* Remove deprecated features, update upgrade guides (#4089)
|
|
39
|
+
* Remove support for Safari 12 and iOS 12 (#4112)
|
|
40
|
+
* **hls:** HLS disabled in old browsers/platforms due to incompatibilities (#3964)
|
|
41
|
+
|
|
42
|
+
### Features
|
|
43
|
+
|
|
44
|
+
* `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))
|
|
45
|
+
* Add Dockerfile and docker build instructions ([925de19](https://github.com/shaka-project/shaka-player/commit/925de1995eeb22863e8d4e92d720465834619288))
|
|
46
|
+
* 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))
|
|
47
|
+
* 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))
|
|
48
|
+
* 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))
|
|
49
|
+
* 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)
|
|
50
|
+
* 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)
|
|
51
|
+
* **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))
|
|
52
|
+
* **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))
|
|
53
|
+
* **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))
|
|
54
|
+
* **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))
|
|
55
|
+
* **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))
|
|
56
|
+
* **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)
|
|
57
|
+
* **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))
|
|
58
|
+
* **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))
|
|
59
|
+
* **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)
|
|
60
|
+
* **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))
|
|
61
|
+
* **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))
|
|
62
|
+
* **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))
|
|
63
|
+
* **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))
|
|
64
|
+
* **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)
|
|
65
|
+
* **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))
|
|
66
|
+
* **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))
|
|
67
|
+
* **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))
|
|
68
|
+
* **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))
|
|
69
|
+
* **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))
|
|
70
|
+
* **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))
|
|
71
|
+
* 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))
|
|
72
|
+
* **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))
|
|
73
|
+
* **plugin:** `AbrManager` plugins must implement the `playbackRateChanged()` method (deprecated in v3.0.0) ([ac5acc8](https://github.com/shaka-project/shaka-player/commit/ac5acc80cb8d2bcb58455e8f66f7e1c2d18b0a3a))
|
|
74
|
+
* **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))
|
|
75
|
+
* **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))
|
|
76
|
+
* 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))
|
|
77
|
+
* 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))
|
|
78
|
+
* 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))
|
|
79
|
+
* 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))
|
|
80
|
+
* **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))
|
|
81
|
+
* **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))
|
|
82
|
+
* **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)
|
|
83
|
+
* **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)
|
|
29
84
|
|
|
30
85
|
|
|
31
86
|
### Bug Fixes
|
|
32
87
|
|
|
33
|
-
* Add explicit release() for FakeEventTarget ([#3950](https://github.com/shaka-project/shaka-player/issues/3950)) ([
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
88
|
+
* 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))
|
|
89
|
+
* Add missing module export in generated typescript defs ([feefd7b](https://github.com/shaka-project/shaka-player/commit/feefd7b7d1cc318800c8d83de8cce81c57939f7d))
|
|
90
|
+
* Avoid WebCrypto randomUUID when CMCD disabled ([4731c76](https://github.com/shaka-project/shaka-player/commit/4731c7677f4f179f19ae647d3bb1edfda40dac53))
|
|
91
|
+
* **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))
|
|
92
|
+
* 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)
|
|
93
|
+
* **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)
|
|
94
|
+
* **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))
|
|
95
|
+
* **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)
|
|
96
|
+
* **dash:** Fix performance regression ([#4064](https://github.com/shaka-project/shaka-player/issues/4064)) ([298b604](https://github.com/shaka-project/shaka-player/commit/298b60481d34bd9d776874fe1b9a8eea05b533d9))
|
|
97
|
+
* **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)
|
|
98
|
+
* 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)
|
|
99
|
+
* 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)
|
|
100
|
+
* 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)
|
|
101
|
+
* 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))
|
|
102
|
+
* 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))
|
|
103
|
+
* 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)
|
|
104
|
+
* 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))
|
|
105
|
+
* 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)
|
|
106
|
+
* 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)
|
|
107
|
+
* 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)
|
|
108
|
+
* 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))
|
|
109
|
+
* 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)
|
|
110
|
+
* 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)
|
|
111
|
+
* 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)
|
|
112
|
+
* 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)
|
|
113
|
+
* 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)
|
|
114
|
+
* Fix usage of Shaka without polyfills ([dfc44cb](https://github.com/shaka-project/shaka-player/commit/dfc44cbca6b95eb137882075cb8bf02cfc73a9d3))
|
|
115
|
+
* **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))
|
|
116
|
+
* **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))
|
|
117
|
+
* **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)
|
|
118
|
+
* **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)
|
|
119
|
+
* **image:** Fix thumbnails issues ([#3858](https://github.com/shaka-project/shaka-player/issues/3858)) ([087a9b4](https://github.com/shaka-project/shaka-player/commit/087a9b489b030aa0dc80011ca4e0a0c7a4124ecd))
|
|
120
|
+
* **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))
|
|
121
|
+
* **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)
|
|
122
|
+
* **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)
|
|
123
|
+
* 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)
|
|
124
|
+
* 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))
|
|
125
|
+
* 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)
|
|
126
|
+
* **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)
|
|
127
|
+
* **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)
|
|
128
|
+
* **text:** Inherit alignment from regions. ([e9df8fb](https://github.com/shaka-project/shaka-player/commit/e9df8fb10c3752cb833e89c8ac793241497e29b6))
|
|
129
|
+
* **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)
|
|
130
|
+
* **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)
|
|
131
|
+
* **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))
|
|
132
|
+
* **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)
|
|
133
|
+
* **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)
|
|
38
134
|
|
|
39
135
|
## 3.3.1 (2022-01-28)
|
|
40
136
|
|
|
@@ -90,6 +186,91 @@ Bugfixes:
|
|
|
90
186
|
- Avoid WebCrypto randomUUID when CMCD disabled
|
|
91
187
|
|
|
92
188
|
|
|
189
|
+
## 3.2.3 (2022-01-28)
|
|
190
|
+
|
|
191
|
+
Bugfixes:
|
|
192
|
+
- Fix support for TTAF1 namespace (old version of TTML)
|
|
193
|
+
- https://github.com/shaka-project/shaka-player/issues/3009
|
|
194
|
+
- https://github.com/shaka-project/shaka-player/pull/3864
|
|
195
|
+
- https://github.com/shaka-project/shaka-player/pull/3906
|
|
196
|
+
- Fix misdetection of HEVC support on MS Edge
|
|
197
|
+
- https://github.com/shaka-project/shaka-player/pull/3897
|
|
198
|
+
- Fix caption overlap
|
|
199
|
+
- https://github.com/shaka-project/shaka-player/issues/3850
|
|
200
|
+
- https://github.com/shaka-project/shaka-player/issues/3741
|
|
201
|
+
- Support multiple chapter tracks with same language
|
|
202
|
+
- https://github.com/shaka-project/shaka-player/issues/3597
|
|
203
|
+
- https://github.com/shaka-project/shaka-player/pull/3868
|
|
204
|
+
- Fix text UI not updating when text is disabled
|
|
205
|
+
- https://github.com/shaka-project/shaka-player/issues/3728
|
|
206
|
+
- https://github.com/shaka-project/shaka-player/pull/3867
|
|
207
|
+
- Clear buffer on seek if mediaState is updating
|
|
208
|
+
- https://github.com/shaka-project/shaka-player/issues/3299
|
|
209
|
+
- https://github.com/shaka-project/shaka-player/pull/3795
|
|
210
|
+
- Fix thumbnails issues
|
|
211
|
+
- https://github.com/shaka-project/shaka-player/pull/3858
|
|
212
|
+
- Made nested cues inherit region
|
|
213
|
+
- https://github.com/shaka-project/shaka-player/issues/3743
|
|
214
|
+
- https://github.com/shaka-project/shaka-player/pull/3837
|
|
215
|
+
- Fix MediaCapabilities polyfill on Safari
|
|
216
|
+
- https://github.com/shaka-project/shaka-player/issues/3696
|
|
217
|
+
- https://github.com/shaka-project/shaka-player/issues/3530
|
|
218
|
+
- Fix usage of Shaka without polyfills
|
|
219
|
+
- https://github.com/shaka-project/shaka-player/issues/3843
|
|
220
|
+
- Fix playback failure due to rounding errors
|
|
221
|
+
- https://github.com/shaka-project/shaka-player/issues/3717
|
|
222
|
+
- Fix HLS image track issues
|
|
223
|
+
- https://github.com/shaka-project/shaka-player/issues/3840
|
|
224
|
+
- Remove caption wrapper bgColor
|
|
225
|
+
- https://github.com/shaka-project/shaka-player/issues/3745
|
|
226
|
+
- https://github.com/shaka-project/shaka-player/pull/3838
|
|
227
|
+
- Support "forced-subtitle" role
|
|
228
|
+
- https://github.com/shaka-project/shaka-player/issues/3767
|
|
229
|
+
- https://github.com/shaka-project/shaka-player/pull/3807
|
|
230
|
+
- Fix time element height on Safari
|
|
231
|
+
- https://github.com/shaka-project/shaka-player/issues/3739
|
|
232
|
+
- https://github.com/shaka-project/shaka-player/pull/3809
|
|
233
|
+
|
|
234
|
+
|
|
235
|
+
## 3.1.5 (2022-01-28)
|
|
236
|
+
|
|
237
|
+
Bugfixes:
|
|
238
|
+
- Fix support for TTAF1 namespace (old version of TTML)
|
|
239
|
+
- https://github.com/shaka-project/shaka-player/issues/3009
|
|
240
|
+
- https://github.com/shaka-project/shaka-player/pull/3864
|
|
241
|
+
- https://github.com/shaka-project/shaka-player/pull/3906
|
|
242
|
+
- Fix misdetection of HEVC support on MS Edge
|
|
243
|
+
- https://github.com/shaka-project/shaka-player/pull/3897
|
|
244
|
+
- Fix caption overlap
|
|
245
|
+
- https://github.com/shaka-project/shaka-player/issues/3850
|
|
246
|
+
- https://github.com/shaka-project/shaka-player/issues/3741
|
|
247
|
+
- Fix text UI not updating when text is disabled
|
|
248
|
+
- https://github.com/shaka-project/shaka-player/issues/3728
|
|
249
|
+
- https://github.com/shaka-project/shaka-player/pull/3867
|
|
250
|
+
- Clear buffer on seek if mediaState is updating
|
|
251
|
+
- https://github.com/shaka-project/shaka-player/issues/3299
|
|
252
|
+
- https://github.com/shaka-project/shaka-player/pull/3795
|
|
253
|
+
- Made nested cues inherit region
|
|
254
|
+
- https://github.com/shaka-project/shaka-player/issues/3743
|
|
255
|
+
- https://github.com/shaka-project/shaka-player/pull/3837
|
|
256
|
+
- Fix MediaCapabilities polyfill on Safari
|
|
257
|
+
- https://github.com/shaka-project/shaka-player/issues/3696
|
|
258
|
+
- https://github.com/shaka-project/shaka-player/issues/3530
|
|
259
|
+
- Fix usage of Shaka without polyfills
|
|
260
|
+
- https://github.com/shaka-project/shaka-player/issues/3843
|
|
261
|
+
- Fix playback failure due to rounding errors
|
|
262
|
+
- https://github.com/shaka-project/shaka-player/issues/3717
|
|
263
|
+
- Remove caption wrapper bgColor
|
|
264
|
+
- https://github.com/shaka-project/shaka-player/issues/3745
|
|
265
|
+
- https://github.com/shaka-project/shaka-player/pull/3838
|
|
266
|
+
- Support "forced-subtitle" role
|
|
267
|
+
- https://github.com/shaka-project/shaka-player/issues/3767
|
|
268
|
+
- https://github.com/shaka-project/shaka-player/pull/3807
|
|
269
|
+
- Fix time element height on Safari
|
|
270
|
+
- https://github.com/shaka-project/shaka-player/issues/3739
|
|
271
|
+
- https://github.com/shaka-project/shaka-player/pull/3809
|
|
272
|
+
|
|
273
|
+
|
|
93
274
|
## 3.3.0 (2022-01-07)
|
|
94
275
|
|
|
95
276
|
New Features:
|
|
@@ -2203,7 +2384,7 @@ Demo App:
|
|
|
2203
2384
|
|
|
2204
2385
|
Docs:
|
|
2205
2386
|
- Add a public roadmap document
|
|
2206
|
-
- https://github.com/shaka-project/shaka-player/blob/
|
|
2387
|
+
- https://github.com/shaka-project/shaka-player/blob/main/roadmap.md
|
|
2207
2388
|
|
|
2208
2389
|
|
|
2209
2390
|
## 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,6 +112,8 @@ 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
|
|
@@ -122,13 +124,12 @@ HLS features supported:
|
|
|
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
|
|
@@ -5,10 +5,10 @@ releases and demos at https://index-dot-shaka-player-demo.appspot.com/
|
|
|
5
5
|
|
|
6
6
|
- app.yaml: App Engine config file. Defines the runtime (Python 3).
|
|
7
7
|
|
|
8
|
-
-
|
|
9
|
-
|
|
8
|
+
- generate.py: A python script that generates the index's static content from
|
|
9
|
+
a template.
|
|
10
10
|
|
|
11
11
|
- requirements.txt: Used by App Engine to install the necessary Python server
|
|
12
|
-
requirements (Flask
|
|
12
|
+
requirements (Flask).
|
|
13
13
|
|
|
14
14
|
- templates/index.html: A Jinja2 template used to generate the index HTML.
|
|
@@ -1,2 +1,28 @@
|
|
|
1
|
+
# Copyright 2022 Google LLC
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
|
|
1
15
|
runtime: python39
|
|
2
|
-
default_expiration:
|
|
16
|
+
default_expiration: 1h
|
|
17
|
+
|
|
18
|
+
handlers:
|
|
19
|
+
# Server static/index.html as the root.
|
|
20
|
+
- url: /
|
|
21
|
+
secure: always
|
|
22
|
+
static_files: static/index.html
|
|
23
|
+
upload: static/index.html
|
|
24
|
+
# Any other requests are served from the static/ folder.
|
|
25
|
+
- url: /(.+)
|
|
26
|
+
secure: always
|
|
27
|
+
static_files: static/\1
|
|
28
|
+
upload: static/.+
|