shaka-player 4.4.3 → 4.6.0
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/ISSUE_TEMPLATE/bug_report.md +1 -1
- package/.github/workflows/release-please.yaml +2 -27
- package/AUTHORS +2 -0
- package/CHANGELOG.md +156 -39
- package/CODE_OF_CONDUCT.md +1 -1
- package/CONTRIBUTORS +2 -0
- package/README.md +54 -42
- package/demo/asset_card.js +18 -21
- package/demo/cast_receiver/index.html +0 -1
- package/demo/close_button.js +0 -3
- package/demo/common/asset.js +33 -22
- package/demo/common/assets.js +249 -60
- package/demo/config.js +219 -253
- package/demo/custom.js +88 -133
- package/demo/front.js +7 -10
- package/demo/index.html +19 -22
- package/demo/input.js +6 -11
- package/demo/input_container.js +8 -9
- package/demo/main.js +62 -126
- package/demo/search.js +29 -34
- package/demo/service_worker.js +0 -3
- package/demo/tooltip.js +3 -5
- package/demo/visualizer.js +3 -5
- package/demo/visualizer_button.js +1 -20
- package/dist/controls.css +1 -1
- package/dist/controls.css.map +1 -1
- package/dist/demo.compiled.debug.js +211 -228
- package/dist/demo.compiled.debug.map +4 -4
- package/dist/demo.compiled.js +211 -228
- package/dist/demo.compiled.map +4 -4
- package/dist/deps.js +42 -37
- package/dist/locales.js +34 -30
- package/dist/receiver.compiled.debug.js +64 -77
- package/dist/receiver.compiled.debug.map +4 -4
- package/dist/receiver.compiled.js +64 -77
- package/dist/receiver.compiled.map +4 -4
- package/dist/shaka-player.compiled.d.ts +343 -151
- package/dist/shaka-player.compiled.debug.d.ts +343 -151
- package/dist/shaka-player.compiled.debug.externs.js +356 -117
- package/dist/shaka-player.compiled.debug.js +952 -811
- package/dist/shaka-player.compiled.debug.map +4 -4
- package/dist/shaka-player.compiled.externs.js +356 -117
- package/dist/shaka-player.compiled.js +1165 -1078
- package/dist/shaka-player.compiled.map +4 -4
- package/dist/shaka-player.ui.d.ts +359 -153
- package/dist/shaka-player.ui.debug.d.ts +359 -153
- package/dist/shaka-player.ui.debug.externs.js +382 -117
- package/dist/shaka-player.ui.debug.js +1084 -918
- package/dist/shaka-player.ui.debug.map +4 -4
- package/dist/shaka-player.ui.externs.js +382 -117
- package/dist/shaka-player.ui.js +1377 -1274
- package/dist/shaka-player.ui.map +4 -4
- package/docs/design/lcevc-integration.md +14 -14
- package/docs/tutorials/ad_monetization.md +54 -0
- package/docs/tutorials/basic-usage.md +2 -1
- package/docs/tutorials/errors.md +2 -1
- package/docs/tutorials/faq.md +27 -55
- package/docs/tutorials/index.json +2 -1
- package/docs/tutorials/lcevc.md +118 -0
- package/docs/tutorials/offline.md +10 -8
- package/docs/tutorials/plugins.md +5 -0
- package/docs/tutorials/ui-customization.md +17 -0
- package/docs/tutorials/ui.md +2 -1
- package/docs/tutorials/upgrade.md +3 -0
- package/externs/css_style_declaration.js +19 -0
- package/externs/lcevc.js +37 -13
- package/externs/managedmediasource.js +24 -0
- package/externs/media_remote.js +68 -0
- package/externs/mediatailor.js +193 -0
- package/externs/pictureinpicture.js +11 -0
- package/externs/shaka/abr_manager.js +6 -2
- package/externs/shaka/ads.js +27 -0
- package/externs/shaka/cea.js +7 -0
- package/externs/shaka/codecs.js +5 -3
- package/externs/shaka/manifest.js +31 -10
- package/externs/shaka/manifest_parser.js +24 -1
- package/externs/shaka/net.js +2 -2
- package/externs/shaka/offline.js +13 -2
- package/externs/shaka/player.js +65 -8
- package/externs/shaka/text.js +3 -1
- package/externs/shaka/transmuxer.js +1 -1
- package/karma.conf.js +7 -3
- package/lib/abr/simple_abr_manager.js +66 -9
- package/lib/ads/ad_manager.js +104 -50
- package/lib/ads/media_tailor_ad.js +297 -0
- package/lib/ads/media_tailor_ad_manager.js +839 -0
- package/lib/cast/cast_receiver.js +1 -1
- package/lib/cea/cea_decoder.js +28 -0
- package/lib/cea/dummy_caption_decoder.js +5 -0
- package/lib/cea/ts_cea_parser.js +15 -2
- package/lib/config/codec_switching_strategy.js +24 -0
- package/lib/dash/content_protection.js +120 -2
- package/lib/dash/dash_parser.js +322 -93
- package/lib/dash/mpd_utils.js +62 -37
- package/lib/dash/segment_base.js +17 -10
- package/lib/dash/segment_list.js +18 -9
- package/lib/dash/segment_template.js +122 -107
- package/lib/dependencies/all.js +8 -7
- package/lib/hls/hls_classes.js +28 -43
- package/lib/hls/hls_parser.js +798 -658
- package/lib/hls/hls_utils.js +64 -5
- package/lib/hls/manifest_text_parser.js +7 -11
- package/lib/lcevc/lcevc_dec.js +220 -0
- package/lib/media/adaptation_set.js +32 -14
- package/lib/media/adaptation_set_criteria.js +86 -16
- package/lib/media/closed_caption_parser.js +13 -0
- package/lib/media/content_workarounds.js +6 -0
- package/lib/media/drm_engine.js +8 -13
- package/lib/media/manifest_parser.js +8 -113
- package/lib/media/media_source_capabilities.js +10 -3
- package/lib/media/media_source_engine.js +286 -44
- package/lib/media/play_rate_controller.js +8 -38
- package/lib/media/presentation_timeline.js +7 -1
- package/lib/media/quality_observer.js +1 -1
- package/lib/media/segment_index.js +6 -6
- package/lib/media/segment_prefetch.js +92 -24
- package/lib/media/segment_reference.js +73 -7
- package/lib/media/segment_utils.js +343 -0
- package/lib/media/stall_detector.js +0 -3
- package/lib/media/streaming_engine.js +73 -38
- package/lib/mss/mss_parser.js +19 -2
- package/lib/net/networking_engine.js +67 -12
- package/lib/net/networking_utils.js +95 -0
- package/lib/offline/indexeddb/v1_storage_cell.js +3 -0
- package/lib/offline/indexeddb/v2_storage_cell.js +3 -0
- package/lib/offline/manifest_converter.js +3 -0
- package/lib/offline/offline_manifest_parser.js +10 -0
- package/lib/offline/storage.js +14 -7
- package/lib/player.js +1098 -1537
- package/lib/polyfill/mediasource.js +22 -1
- package/lib/text/cue.js +15 -0
- package/lib/text/mp4_ttml_parser.js +2 -2
- package/lib/text/srt_text_parser.js +2 -2
- package/lib/text/stub_text_displayer.js +51 -0
- package/lib/text/text_engine.js +3 -2
- package/lib/text/ttml_text_parser.js +45 -5
- package/lib/text/ui_text_displayer.js +8 -0
- package/lib/text/vtt_text_parser.js +40 -22
- package/lib/transmuxer/aac_transmuxer.js +1 -1
- package/lib/transmuxer/ac3_transmuxer.js +1 -1
- package/lib/transmuxer/ec3_transmuxer.js +1 -1
- package/lib/transmuxer/h264.js +5 -4
- package/lib/transmuxer/h265.js +863 -0
- package/lib/transmuxer/mp3_transmuxer.js +1 -1
- package/lib/transmuxer/mpeg_ts_transmuxer.js +4 -3
- package/lib/transmuxer/mss_transmuxer.js +1 -1
- package/lib/transmuxer/ts_transmuxer.js +187 -22
- package/lib/util/buffer_utils.js +26 -4
- package/lib/util/content_steering_manager.js +358 -0
- package/lib/util/error.js +30 -15
- package/lib/util/exp_golomb.js +30 -2
- package/lib/util/fairplay_utils.js +1 -1
- package/lib/util/fake_event.js +8 -1
- package/lib/util/id3_utils.js +50 -1
- package/lib/util/manifest_parser_utils.js +12 -8
- package/lib/util/mp4_generator.js +6 -8
- package/lib/util/mutex.js +59 -0
- package/lib/util/object_utils.js +1 -1
- package/lib/util/periods.js +156 -179
- package/lib/util/platform.js +44 -3
- package/lib/util/player_configuration.js +43 -6
- package/lib/util/state_history.js +6 -2
- package/lib/util/stream_utils.js +206 -283
- package/lib/util/ts_parser.js +335 -98
- package/lib/util/uint8array_utils.js +5 -1
- package/lib/util/xml_utils.js +5 -0
- package/maintained-branches.md +3 -2
- package/package.json +4 -6
- package/roadmap.md +25 -5
- package/shaka-player.uncompiled.js +2 -2
- package/support.html +0 -1
- package/test/abr/simple_abr_manager_unit.js +33 -33
- package/test/ads/ad_manager_unit.js +3 -2
- package/test/cast/cast_receiver_integration.js +50 -4
- package/test/cast/cast_utils_unit.js +2 -0
- package/test/cea/cea_decoder_unit.js +7 -0
- package/test/codec_switching/codec_switching_integration.js +182 -0
- package/test/dash/dash_parser_content_protection_unit.js +2 -0
- package/test/dash/dash_parser_integration.js +74 -0
- package/test/dash/dash_parser_live_unit.js +2 -19
- package/test/dash/dash_parser_manifest_unit.js +536 -2
- package/test/dash/dash_parser_segment_base_unit.js +2 -0
- package/test/dash/dash_parser_segment_list_unit.js +2 -0
- package/test/dash/dash_parser_segment_template_unit.js +2 -0
- package/test/dash/mpd_utils_unit.js +61 -30
- package/test/demo/demo_unit.js +0 -16
- package/test/hls/hls_live_unit.js +14 -3
- package/test/hls/hls_parser_unit.js +385 -33
- package/test/hls/manifest_text_parser_unit.js +32 -99
- package/test/media/adaptation_set_criteria_unit.js +284 -15
- package/test/media/adaptation_set_unit.js +2 -0
- package/test/media/content_workarounds_unit.js +1 -1
- package/test/media/drm_engine_unit.js +3 -3
- package/test/media/media_source_engine_unit.js +166 -2
- package/test/media/play_rate_controller_unit.js +0 -48
- package/test/media/segment_index_unit.js +5 -4
- package/test/media/segment_prefetch_unit.js +1 -1
- package/test/media/streaming_engine_unit.js +17 -17
- package/test/mss/mss_parser_unit.js +2 -0
- package/test/mss/mss_player_integration.js +3 -2
- package/test/net/networking_engine_unit.js +3 -3
- package/test/{media/manifest_parser_unit.js → net/networking_utils_unit.js} +2 -2
- package/test/offline/manifest_convert_unit.js +14 -0
- package/test/offline/offline_integration.js +2 -1
- package/test/offline/storage_integration.js +22 -13
- package/test/player_external.js +4 -2
- package/test/player_integration.js +15 -4
- package/test/player_load_graph_integration.js +47 -151
- package/test/player_src_equals_external.js +1 -0
- package/test/player_src_equals_integration.js +71 -4
- package/test/player_unit.js +182 -158
- package/test/test/assets/dash-aes-128/Fragments(video=0,format=mpd-time-csf) +0 -0
- package/test/test/assets/dash-aes-128/Fragments(video=20000000,format=mpd-time-csf) +0 -0
- package/test/test/assets/dash-aes-128/Fragments(video=40000000,format=mpd-time-csf) +0 -0
- package/test/test/assets/dash-aes-128/Fragments(video=60000000,format=mpd-time-csf) +0 -0
- package/test/test/assets/dash-aes-128/Fragments(video=i,format=mpd-time-csf) +0 -0
- package/test/test/assets/dash-aes-128/dash.mpd +18 -0
- package/test/test/assets/dash-aes-128/license +1 -0
- package/test/test/assets/dash-multi-codec/audio_en_2c_128k_aac.mp4 +0 -0
- package/test/test/assets/dash-multi-codec/audio_es_2c_64k_opus.webm +0 -0
- package/test/test/assets/dash-multi-codec/dash.mpd +32 -0
- package/test/test/assets/dash-multi-codec/video_144p_108k_h264.mp4 +0 -0
- package/test/test/assets/hls-ts-h265/0.ts +0 -0
- package/test/test/assets/hls-ts-h265/hevc.m3u8 +6 -0
- package/test/test/assets/hls-ts-h265/index.m3u8 +7 -0
- package/test/test/assets/hls-ts-muxed-aac-h265/0.ts +0 -0
- package/test/test/assets/hls-ts-muxed-aac-h265/1.ts +0 -0
- package/test/test/assets/hls-ts-muxed-aac-h265/media.m3u8 +9 -0
- package/test/test/assets/hls-ts-muxed-ac3-h264/media.m3u8 +24 -0
- package/test/test/assets/hls-ts-muxed-ac3-h264/s_00000.ts +0 -0
- package/test/test/assets/hls-ts-muxed-ac3-h264/s_00001.ts +0 -0
- package/test/test/assets/hls-ts-muxed-ac3-h264/s_00002.ts +0 -0
- package/test/test/assets/hls-ts-muxed-ac3-h264/s_00003.ts +0 -0
- package/test/test/assets/hls-ts-muxed-ac3-h264/s_00004.ts +0 -0
- package/test/test/assets/hls-ts-muxed-ac3-h264/s_00005.ts +0 -0
- package/test/test/assets/hls-ts-muxed-ec3-h264/ChID_voices_1280x720p_25fps_h264_6ch_256kbps_ddp_sub_0000.ts +0 -0
- package/test/test/assets/hls-ts-muxed-ec3-h264/ChID_voices_1280x720p_25fps_h264_6ch_256kbps_ddp_sub_0001.ts +0 -0
- package/test/test/assets/hls-ts-muxed-ec3-h264/ChID_voices_1280x720p_25fps_h264_6ch_256kbps_ddp_sub_0002.ts +0 -0
- package/test/test/assets/hls-ts-muxed-ec3-h264/ChID_voices_1280x720p_25fps_h264_6ch_256kbps_ddp_sub_0003.ts +0 -0
- package/test/test/assets/hls-ts-muxed-ec3-h264/prog_index.m3u8 +14 -0
- package/test/test/assets/hls-ts-muxed-mp3-h264/index.m3u8 +23 -0
- package/test/test/assets/hls-ts-muxed-mp3-h264/seg-1-v1-a1.ts +0 -0
- package/test/test/assets/hls-ts-muxed-mp3-h264/seg-2-v1-a1.ts +0 -0
- package/test/test/assets/hls-ts-muxed-mp3-h264/seg-3-v1-a1.ts +0 -0
- package/test/test/assets/hls-ts-muxed-mp3-h264/seg-4-v1-a1.ts +0 -0
- package/test/test/assets/hls-ts-muxed-mp3-h264/seg-5-v1-a1.ts +0 -0
- package/test/test/assets/hls-ts-muxed-mp3-h264/seg-6-v1-a1.ts +0 -0
- package/test/test/assets/hls-ts-muxed-mp3-h264/seg-7-v1-a1.ts +0 -0
- package/test/test/assets/hls-ts-muxed-mp3-h264/seg-8-v1-a1.ts +0 -0
- package/test/test/util/dash_parser_util.js +4 -0
- package/test/test/util/fake_ad_manager.js +20 -0
- package/test/test/util/fake_media_source_engine.js +13 -2
- package/test/test/util/fake_networking_engine.js +9 -1
- package/test/test/util/fake_segment_prefetch.js +3 -0
- package/test/test/util/manifest_generator.js +11 -3
- package/test/test/util/manifest_parser_util.js +14 -2
- package/test/test/util/mss_parser_util.js +4 -0
- package/test/test/util/offline_utils.js +2 -0
- package/test/test/util/simple_fakes.js +2 -2
- package/test/test/util/streaming_engine_util.js +10 -4
- package/test/test/util/test_scheme.js +6 -0
- package/test/test/util/ui_utils.js +4 -3
- package/test/text/mp4_ttml_parser_unit.js +4 -4
- package/test/text/srt_text_parser_unit.js +1 -1
- package/test/text/text_displayer_layout_unit.js +1 -1
- package/test/text/text_engine_unit.js +6 -0
- package/test/text/ttml_text_parser_unit.js +85 -2
- package/test/text/vtt_text_parser_unit.js +103 -31
- package/test/transmuxer/transmuxer_engine_integration.js +9 -0
- package/test/transmuxer/transmuxer_integration.js +150 -3
- package/test/ui/ad_ui_unit.js +2 -2
- package/test/ui/ui_customization_unit.js +17 -16
- package/test/ui/ui_integration.js +30 -20
- package/test/ui/ui_unit.js +28 -29
- package/test/util/buffer_utils_unit.js +1 -1
- package/test/util/content_steering_manager_unit.js +427 -0
- package/test/util/id3_utils_unit.js +52 -0
- package/test/util/stream_utils_unit.js +207 -169
- package/test/util/ts_parser_unit.js +3 -3
- package/third_party/closure-uri/uri.js +13 -1
- package/ui/audio_language_selection.js +9 -2
- package/ui/controls.js +125 -0
- package/ui/externs/ui.js +24 -2
- package/ui/language_utils.js +43 -8
- package/ui/less/range_elements.less +33 -0
- package/ui/locales/en.json +1 -0
- package/ui/locales/es-419.json +1 -0
- package/ui/locales/es.json +1 -0
- package/ui/locales/source.json +4 -0
- package/ui/localization.js +10 -0
- package/ui/pip_button.js +22 -120
- package/ui/remote_button.js +203 -0
- package/ui/resolution_selection.js +47 -10
- package/ui/seek_bar.js +296 -3
- package/ui/text_selection.js +2 -1
- package/ui/ui.js +11 -4
- package/demo/common/message_ids.js +0 -309
- package/demo/locales/en.json +0 -288
- package/demo/locales/source.json +0 -1146
- package/externs/mux.js +0 -69
- package/lib/lcevc/lcevc_dil.js +0 -152
- package/lib/routing/node.js +0 -23
- package/lib/routing/payload.js +0 -43
- package/lib/routing/walker.js +0 -587
- package/lib/transmuxer/muxjs_transmuxer.js +0 -242
- package/test/routing/walker_unit.js +0 -504
- package/test/transmuxer/muxjs_transmuxer_integration.js +0 -177
|
@@ -44,7 +44,7 @@ assignees: ''
|
|
|
44
44
|
|
|
45
45
|
**What are the manifest and license server URIs?**
|
|
46
46
|
<!-- NOTE:
|
|
47
|
-
You can send the URIs to <shaka-player-
|
|
47
|
+
You can send the URIs to <shaka-player-maintainers@googlegroups.com> instead,
|
|
48
48
|
but please use GitHub and the template for the rest.
|
|
49
49
|
A copy of the manifest text or an attached manifest will **not** be
|
|
50
50
|
enough to reproduce your issue, and we **will** ask you to send a
|
|
@@ -23,33 +23,8 @@ jobs:
|
|
|
23
23
|
default-branch: ${{ github.ref_name }}
|
|
24
24
|
# Use a special shaka-bot access token for releases.
|
|
25
25
|
token: ${{ secrets.RELEASE_PLEASE_TOKEN }}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
# Check out the code, then update the Player version in the PR.
|
|
29
|
-
- uses: actions/checkout@v3
|
|
30
|
-
if: steps.release.outputs.release_created == false
|
|
31
|
-
with:
|
|
32
|
-
# Use a special shaka-bot access token for releases.
|
|
33
|
-
token: ${{ secrets.RELEASE_PLEASE_TOKEN }}
|
|
34
|
-
- name: Custom update Player version
|
|
35
|
-
if: steps.release.outputs.release_created == false
|
|
36
|
-
run: |
|
|
37
|
-
# Check out the branch that release-please created.
|
|
38
|
-
# If it does not exist, FAIL!
|
|
39
|
-
git fetch
|
|
40
|
-
git checkout release-please--branches--${{ github.ref_name }}--components--shaka-player || exit 1
|
|
41
|
-
# If it does exist, update lib/player.js in the PR branch, so that the
|
|
42
|
-
# -uncompiled tag remains in the player version in that context.
|
|
43
|
-
VERSION="v$(jq -r .version package.json)-uncompiled"
|
|
44
|
-
sed -e "s/^\\(shaka.Player.version =\\).*/\\1 '$VERSION';/" \
|
|
45
|
-
-i lib/player.js
|
|
46
|
-
git add lib/player.js
|
|
47
|
-
# Set missing git config for the commit.
|
|
48
|
-
git config user.name "shaka-bot"
|
|
49
|
-
git config user.email "shaka-bot@users.noreply.github.com"
|
|
50
|
-
# Update the PR.
|
|
51
|
-
git commit --amend --no-edit
|
|
52
|
-
git push -f
|
|
26
|
+
# Update these additional files containing version numbers.
|
|
27
|
+
extra-files: lib/player.js
|
|
53
28
|
|
|
54
29
|
# The jobs below are all conditional on a release having been created by
|
|
55
30
|
# someone merging the release PR. They all run in parallel.
|
package/AUTHORS
CHANGED
|
@@ -21,6 +21,7 @@ Alugha GmbH <*@alugha.com>
|
|
|
21
21
|
Alvaro Velad Galvan <ladvan91@hotmail.com>
|
|
22
22
|
Amila Sampath <lucksy@gmail.com>
|
|
23
23
|
Anthony Stansbridge <github@anthonystansbridge.co.uk>
|
|
24
|
+
Armand Zangue <armand.zangue@gmail.com>
|
|
24
25
|
Benjamin Wallberg <me@bwallberg.com>
|
|
25
26
|
Bonnier Broadcasting <*@bonnierbroadcasting.com>
|
|
26
27
|
Bryan Huh <bhh1988@gmail.com>
|
|
@@ -41,6 +42,7 @@ Gil Gonen <gil.gonen@gmail.com>
|
|
|
41
42
|
Giorgio Gamberoni <giorgio.gamberoni@gmail.com>
|
|
42
43
|
Giuseppe Samela <giuseppe.samela@gmail.com>
|
|
43
44
|
Google Inc. <*@google.com>
|
|
45
|
+
Ivan Kohut <i.kohut@yahoo.com>
|
|
44
46
|
Itay Kinnrot <Itay.Kinnrot@Kaltura.com>
|
|
45
47
|
Jaeseok Lee <devsunb@gmail.com>
|
|
46
48
|
Jason Palmer <jason@jason-palmer.com>
|
package/CHANGELOG.md
CHANGED
|
@@ -1,60 +1,177 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## [4.
|
|
3
|
+
## [4.6.0](https://github.com/shaka-project/shaka-player/compare/v4.5.0...v4.6.0) (2023-11-16)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* Add a stub text display class ([#5804](https://github.com/shaka-project/shaka-player/issues/5804)) ([#5806](https://github.com/shaka-project/shaka-player/issues/5806)) ([700d181](https://github.com/shaka-project/shaka-player/commit/700d181a576982617b211c948d990099306e1df5))
|
|
9
|
+
* Add config to ignore duplicate init data ([#5853](https://github.com/shaka-project/shaka-player/issues/5853)) ([acf23f8](https://github.com/shaka-project/shaka-player/commit/acf23f86af9691932f56e126bc9bf9d25ac19ec3))
|
|
10
|
+
* Add partial info to shaka.media.SegmentReference ([#5822](https://github.com/shaka-project/shaka-player/issues/5822)) ([766b0a1](https://github.com/shaka-project/shaka-player/commit/766b0a139e869a01a0170260e3f87a1378ca4860))
|
|
11
|
+
* Add support for WPE based browsers in RDK set-top boxes ([#5852](https://github.com/shaka-project/shaka-player/issues/5852)) ([2eedb12](https://github.com/shaka-project/shaka-player/commit/2eedb12a1e76044a410e5fd97ff5bda0a5c07db0))
|
|
12
|
+
* Add thumbnails support in src= ([#5802](https://github.com/shaka-project/shaka-player/issues/5802)) ([88e4cd4](https://github.com/shaka-project/shaka-player/commit/88e4cd41164c75dce44745c2fe89615b5d8c50a8))
|
|
13
|
+
* Add video progress events ([#5850](https://github.com/shaka-project/shaka-player/issues/5850)) ([c3beee6](https://github.com/shaka-project/shaka-player/commit/c3beee6f2a5dd929da2549ebeef1ee5018beafad))
|
|
14
|
+
* Allow prefetch init segments ([#5825](https://github.com/shaka-project/shaka-player/issues/5825)) ([3f392c0](https://github.com/shaka-project/shaka-player/commit/3f392c00dce6c8dcd57432c16aa683936bcf16df))
|
|
15
|
+
* **DASH:** Add initial support for "urn:mpeg:dash:ssr:2023" ([#5762](https://github.com/shaka-project/shaka-player/issues/5762)) ([508e5cf](https://github.com/shaka-project/shaka-player/commit/508e5cfbbaa36112d1f57841d83b232d2367e5dc))
|
|
16
|
+
* **DASH:** Add support for Content Steering ([#5710](https://github.com/shaka-project/shaka-player/issues/5710)) ([42f491f](https://github.com/shaka-project/shaka-player/commit/42f491f782f5c2c011fd8cd5b468d627529914f2))
|
|
17
|
+
* **DASH:** Add support for Content Steering in AdaptationSet BaseURL ([#5884](https://github.com/shaka-project/shaka-player/issues/5884)) ([1c6f1fa](https://github.com/shaka-project/shaka-player/commit/1c6f1fa7b32d32ab71e2420ec0f57b69cdbfb82a))
|
|
18
|
+
* **DASH:** Add support for minimum values in service descriptions ([#5844](https://github.com/shaka-project/shaka-player/issues/5844)) ([5f94a62](https://github.com/shaka-project/shaka-player/commit/5f94a6253ba3a598fdc086a11cedd1f061c7c291))
|
|
19
|
+
* **Demo:** Add CBCS content to demo ([#5862](https://github.com/shaka-project/shaka-player/issues/5862)) ([9777c52](https://github.com/shaka-project/shaka-player/commit/9777c524b6d7ea8a3cf8779affb01b887b048d09))
|
|
20
|
+
* **Demo:** Add Content Steering assets ([#5888](https://github.com/shaka-project/shaka-player/issues/5888)) ([8e0ee8a](https://github.com/shaka-project/shaka-player/commit/8e0ee8a8a783d1b881928d96f0cb8ab96f6d2621))
|
|
21
|
+
* **demo:** Add icon for new demo asset ([#5866](https://github.com/shaka-project/shaka-player/issues/5866)) ([f7448b7](https://github.com/shaka-project/shaka-player/commit/f7448b7bdb19f575c92854af3f90686890ee2761))
|
|
22
|
+
* **Demo:** Add new 3D movie stream from Apple ([#5872](https://github.com/shaka-project/shaka-player/issues/5872)) ([a5adf31](https://github.com/shaka-project/shaka-player/commit/a5adf3176fa1b74b2d3ccda10e9144ebd6bb627c))
|
|
23
|
+
* **HLS:** Add new config for allow LL-HLS byterange optimization ([#5877](https://github.com/shaka-project/shaka-player/issues/5877)) ([3e91e8e](https://github.com/shaka-project/shaka-player/commit/3e91e8eb0c584b3817421a8846bceba149ffd0dd))
|
|
24
|
+
* **HLS:** Add new config to get codecs from media segment for playlists without CODECS attribute ([#5772](https://github.com/shaka-project/shaka-player/issues/5772)) ([80630bb](https://github.com/shaka-project/shaka-player/commit/80630bb49581b056fb84afded0ac90a53fe54c36)), closes [#5769](https://github.com/shaka-project/shaka-player/issues/5769)
|
|
25
|
+
* **HLS:** Add support for Content Steering ([#5881](https://github.com/shaka-project/shaka-player/issues/5881)) ([b75ca1d](https://github.com/shaka-project/shaka-player/commit/b75ca1df63181976e1a39977360d25fc9a2e43e9))
|
|
26
|
+
* **HLS:** Add support for mjpg I-Frames playlist ([#5856](https://github.com/shaka-project/shaka-player/issues/5856)) ([801131f](https://github.com/shaka-project/shaka-player/commit/801131f84cf0cfadf79c4d069f82e1ff4c463a00))
|
|
27
|
+
* **HLS:** Add support for QUERYPARAM variable type in #EXT-X-DEFINE ([#5801](https://github.com/shaka-project/shaka-player/issues/5801)) ([fda3189](https://github.com/shaka-project/shaka-player/commit/fda3189fd2fb8a89946cdb2d8fd0c57bcbed3ab6))
|
|
28
|
+
* **HLS:** Add support for REQ-VIDEO-LAYOUT ([#5809](https://github.com/shaka-project/shaka-player/issues/5809)) ([81fc82b](https://github.com/shaka-project/shaka-player/commit/81fc82b6b24c2f17e60e6bfe89ee6870972efd72))
|
|
29
|
+
* **HLS:** Build closed captions metadata for media playlist on-the-fly. ([#5811](https://github.com/shaka-project/shaka-player/issues/5811)) ([754bfac](https://github.com/shaka-project/shaka-player/commit/754bfacf077226173eb46c3938696110bcbbfc55))
|
|
30
|
+
* **HLS:** Improve the stream info when EXT-X-MEDIA has not uri ([#5886](https://github.com/shaka-project/shaka-player/issues/5886)) ([b5b6a0f](https://github.com/shaka-project/shaka-player/commit/b5b6a0fd8455efbc635f75dd8c477c6c59474ee3))
|
|
31
|
+
* **ID3:** decode APIC frames ([#5857](https://github.com/shaka-project/shaka-player/issues/5857)) ([6a862d2](https://github.com/shaka-project/shaka-player/commit/6a862d265ac3b8e713e8f86bee3c641a1f0f38e5))
|
|
32
|
+
* Improve latency in LL DASH streams ([#5820](https://github.com/shaka-project/shaka-player/issues/5820)) ([20b4abf](https://github.com/shaka-project/shaka-player/commit/20b4abf81674e17fe5557d2cce58611faff7094c))
|
|
33
|
+
* **net:** Add shaka.net.NetworkingUtils ([#5756](https://github.com/shaka-project/shaka-player/issues/5756)) ([be96fd0](https://github.com/shaka-project/shaka-player/commit/be96fd0a2b0092efaecd1a09699ce78785266f52))
|
|
34
|
+
* Stop setting playbackRate to 0 to control buffering state ([#5696](https://github.com/shaka-project/shaka-player/issues/5696)) ([6156dce](https://github.com/shaka-project/shaka-player/commit/6156dced6bddc5e2cd0cc52071295cff63cadfcd))
|
|
35
|
+
* **thumbnails:** Add Player.getAllThumbnails ([#5783](https://github.com/shaka-project/shaka-player/issues/5783)) ([9f7576b](https://github.com/shaka-project/shaka-player/commit/9f7576be32c1c5292620ca1dc36325adde493626)), closes [#5781](https://github.com/shaka-project/shaka-player/issues/5781)
|
|
36
|
+
* **UI:** Add chapter titles and dividers on the seek bar ([#5863](https://github.com/shaka-project/shaka-player/issues/5863)) ([c1198df](https://github.com/shaka-project/shaka-player/commit/c1198df82f44f2fa402a5ff8d933219820ac9e8e))
|
|
37
|
+
* **UI:** Bucketize resolution names in the UI ([#5816](https://github.com/shaka-project/shaka-player/issues/5816)) ([b56b9df](https://github.com/shaka-project/shaka-player/commit/b56b9df602dfaff5012f95acfeea329f86dde618))
|
|
38
|
+
* **UI:** Display frame rates in the quality selector ([#5753](https://github.com/shaka-project/shaka-player/issues/5753)) ([3096378](https://github.com/shaka-project/shaka-player/commit/30963788be1d1840f9d8671cf8e91cbeaa721f10))
|
|
39
|
+
* **UI:** Show the channel count in the audio selector ([#5868](https://github.com/shaka-project/shaka-player/issues/5868)) ([1681acd](https://github.com/shaka-project/shaka-player/commit/1681acdd2439a542a976abc1aa252e377e4411d6))
|
|
40
|
+
* Use ManagedMediaSource when available ([#5683](https://github.com/shaka-project/shaka-player/issues/5683)) ([01da5fa](https://github.com/shaka-project/shaka-player/commit/01da5fa8a4b32c14582bd3cb865b5d5eca591d7f))
|
|
4
41
|
|
|
5
42
|
|
|
6
43
|
### Bug Fixes
|
|
7
44
|
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
* **
|
|
16
|
-
* **
|
|
17
|
-
* **
|
|
18
|
-
*
|
|
19
|
-
* **
|
|
45
|
+
* **ABR:** Fix HLS playback after internet connection is restored ([#5879](https://github.com/shaka-project/shaka-player/issues/5879)) ([f5777e5](https://github.com/shaka-project/shaka-player/commit/f5777e5625994a6c5483a33f68d5af9dec1e1335))
|
|
46
|
+
* AD_STARTED fires before ad started with AWS Media Tailor ([#5855](https://github.com/shaka-project/shaka-player/issues/5855)) ([b39f334](https://github.com/shaka-project/shaka-player/commit/b39f33466ebdeb8aba2df2edd1cf16bbccbd46dd))
|
|
47
|
+
* Add Orange platform to requiresEncryptionInfoInAllInitSegments ([#5895](https://github.com/shaka-project/shaka-player/issues/5895)) ([9d23a87](https://github.com/shaka-project/shaka-player/commit/9d23a87f859f1bed1a2e10c2f32f18de8ce0a579))
|
|
48
|
+
* Allow get seekRange on manifestparsed event in some cases ([#5892](https://github.com/shaka-project/shaka-player/issues/5892)) ([606d693](https://github.com/shaka-project/shaka-player/commit/606d693900a653fcc84dac64abeb7dda974101ca))
|
|
49
|
+
* Allow parseXmlString when createNodeIterator is not available ([#5805](https://github.com/shaka-project/shaka-player/issues/5805)) ([ea7764d](https://github.com/shaka-project/shaka-player/commit/ea7764d0a772bca59ad78f1e3bbc9a7e2734f456))
|
|
50
|
+
* ban new Uint16Array(buffer) ([#5838](https://github.com/shaka-project/shaka-player/issues/5838)) ([155befb](https://github.com/shaka-project/shaka-player/commit/155befb0a0e240adc331fe4b8b1967e344e5b0df))
|
|
51
|
+
* CEA decoder should return early if packet is not large enough ([#5893](https://github.com/shaka-project/shaka-player/issues/5893)) ([9a694b5](https://github.com/shaka-project/shaka-player/commit/9a694b59f824f7d3bf9d7ca64364abf6e60b0de4))
|
|
52
|
+
* **DASH:** Fix bad url when specify MPD BaseURL and AdaptationSet BaseURL ([#5883](https://github.com/shaka-project/shaka-player/issues/5883)) ([5f891d9](https://github.com/shaka-project/shaka-player/commit/5f891d98d65805f40c9ecab7fcc60a5b1cd00c3b))
|
|
53
|
+
* **DASH:** Fix manifest update time for Live manifests ([#5763](https://github.com/shaka-project/shaka-player/issues/5763)) ([65449d1](https://github.com/shaka-project/shaka-player/commit/65449d1a1c43c2f0741a3e8eed620fb5a374da84))
|
|
54
|
+
* **DASH:** Fix manifest update time for LL-DASH ([#5736](https://github.com/shaka-project/shaka-player/issues/5736)) ([8b7141f](https://github.com/shaka-project/shaka-player/commit/8b7141f92342044c8515679f6532efe635e205dc))
|
|
55
|
+
* **dash:** fix race condition in segment template ([#5842](https://github.com/shaka-project/shaka-player/issues/5842)) ([8d2b657](https://github.com/shaka-project/shaka-player/commit/8d2b6574de6d0510ae752637c3507df93fbf3591))
|
|
56
|
+
* **DASH:** Handle minimumUpdatePeriod=0 with urn:mpeg:dash:event:2012 (EMSG) ([#5823](https://github.com/shaka-project/shaka-player/issues/5823)) ([f8438df](https://github.com/shaka-project/shaka-player/commit/f8438df7b0f2834e77685eadc6d206f251730510))
|
|
57
|
+
* **DASH:** Segments being fetched out of the range of the timeline ([#5889](https://github.com/shaka-project/shaka-player/issues/5889)) ([d8aa24f](https://github.com/shaka-project/shaka-player/commit/d8aa24f41d79c9efb58014c3069c5183738f26d4))
|
|
58
|
+
* Dispatch streamDataCallback correctly in SegmentPrefetchOperation ([#5764](https://github.com/shaka-project/shaka-player/issues/5764)) ([bab8153](https://github.com/shaka-project/shaka-player/commit/bab81537626a0662ee291e4f5bccf488fd2c1870))
|
|
59
|
+
* Fix bug with live start time ([#5835](https://github.com/shaka-project/shaka-player/issues/5835)) ([577d141](https://github.com/shaka-project/shaka-player/commit/577d141f42b316a6a3708e9455453b49a6386be7))
|
|
60
|
+
* Fix chooseCodecsAndFilterManifest for similar frameRate ([#5817](https://github.com/shaka-project/shaka-player/issues/5817)) ([8ff204d](https://github.com/shaka-project/shaka-player/commit/8ff204d49dbf5f99189cb92f4a8d3ae4dd5494d4))
|
|
61
|
+
* Fix chooseCodecsAndFilterManifest for some HLS manifest ([#5800](https://github.com/shaka-project/shaka-player/issues/5800)) ([51870e9](https://github.com/shaka-project/shaka-player/commit/51870e9d7cced20ee98783184b69584bea90446e))
|
|
62
|
+
* Fix converts legacy avc1 codec strings on transmuxer ([#5790](https://github.com/shaka-project/shaka-player/issues/5790)) ([8944ca9](https://github.com/shaka-project/shaka-player/commit/8944ca9b0ff7731889c35dbd62d6a57bd9f2060c))
|
|
63
|
+
* Fix crash while playing HLS AES 128 streams ([#5830](https://github.com/shaka-project/shaka-player/issues/5830)) ([64b12c1](https://github.com/shaka-project/shaka-player/commit/64b12c15792be2aa8e7f79b57f4231dfcb549fbd))
|
|
64
|
+
* Fix DRM workaround for Tizen and Xbox with ac-4 boxes ([#5812](https://github.com/shaka-project/shaka-player/issues/5812)) ([72a5de3](https://github.com/shaka-project/shaka-player/commit/72a5de337357fa9808509efc0e63a6b1ba4f4077))
|
|
65
|
+
* Fix incompatible codec is selected in Windows Edge for Widevine ([#5831](https://github.com/shaka-project/shaka-player/issues/5831)) ([5aa3597](https://github.com/shaka-project/shaka-player/commit/5aa359707469cca3cac3efdc7e7efcff1a180216))
|
|
66
|
+
* Fix mangled property in compiled mode in Content Steering ([#5887](https://github.com/shaka-project/shaka-player/issues/5887)) ([0e62b8e](https://github.com/shaka-project/shaka-player/commit/0e62b8e00713a0b56a5d81b9758b3b4e1d98dfcf))
|
|
67
|
+
* Fix missing audio streams ([#5869](https://github.com/shaka-project/shaka-player/issues/5869)) ([d6aab6b](https://github.com/shaka-project/shaka-player/commit/d6aab6befaf72eb87e431f5b27cb6c6bc368b56d))
|
|
68
|
+
* Fix nalu parsing and improve performance in the transmuxer ([#5846](https://github.com/shaka-project/shaka-player/issues/5846)) ([ae423b4](https://github.com/shaka-project/shaka-player/commit/ae423b4239141a62cf9d8acea622398048a60936))
|
|
69
|
+
* Fix selectAudioLanguage using channelsCount param ([#5875](https://github.com/shaka-project/shaka-player/issues/5875)) ([c830a99](https://github.com/shaka-project/shaka-player/commit/c830a99041e2d8d2f105ab569485c959fc8c5530))
|
|
70
|
+
* Fix variant filtering by preferredAudioChannelCount ([#5859](https://github.com/shaka-project/shaka-player/issues/5859)) ([51edeae](https://github.com/shaka-project/shaka-player/commit/51edeaefa02a0d01706bf2d18d601ad8d2763202))
|
|
71
|
+
* For text content is not necessary codec switching ([#5731](https://github.com/shaka-project/shaka-player/issues/5731)) ([bdbaae5](https://github.com/shaka-project/shaka-player/commit/bdbaae5182c1f4f650822edb2a95246a918ad5df))
|
|
72
|
+
* **hisense:** set stallSkip to 0 for HiSense devices ([#5833](https://github.com/shaka-project/shaka-player/issues/5833)) ([c457db8](https://github.com/shaka-project/shaka-player/commit/c457db835fee8292b840dc27451424706f238d78))
|
|
73
|
+
* **HLS:** Fix accessibilityPurpose detection ([#5840](https://github.com/shaka-project/shaka-player/issues/5840)) ([ceaa9fa](https://github.com/shaka-project/shaka-player/commit/ceaa9faba92465bf58cd9ea78ddac77158eabac1))
|
|
74
|
+
* **HLS:** Fix bad detection in some MediaPlaylist ([#5878](https://github.com/shaka-project/shaka-player/issues/5878)) ([5e797bd](https://github.com/shaka-project/shaka-player/commit/5e797bd734ca95be0cf68f59022645fad8dc9077))
|
|
75
|
+
* **HLS:** Fix decryption of AES-128 ([#5871](https://github.com/shaka-project/shaka-player/issues/5871)) ([da38b36](https://github.com/shaka-project/shaka-player/commit/da38b362e8146521e509599f4f2cbdef41a077d8))
|
|
76
|
+
* **HLS:** Fix init segment when EXT-X-MAP is preceded by EXT-X-BYTERANGE ([#5732](https://github.com/shaka-project/shaka-player/issues/5732)) ([24e5de3](https://github.com/shaka-project/shaka-player/commit/24e5de34ba2bd8a1e03204a1e8b96436c6aed296))
|
|
77
|
+
* **HLS:** Fix kind detection for 'captions' text tracks ([#5819](https://github.com/shaka-project/shaka-player/issues/5819)) ([8e442b3](https://github.com/shaka-project/shaka-player/commit/8e442b3884cb308df69e5327d06c773c2baeff04))
|
|
78
|
+
* **HLS:** Fix LL-HLS with byterange optimization using segments mode ([#5876](https://github.com/shaka-project/shaka-player/issues/5876)) ([c79e5a5](https://github.com/shaka-project/shaka-player/commit/c79e5a505878084c8691d28eae0813bb1755c927))
|
|
79
|
+
* **HLS:** Fix url management in HLS ([#5722](https://github.com/shaka-project/shaka-player/issues/5722)) ([8deab71](https://github.com/shaka-project/shaka-player/commit/8deab717f358502b9c79a0fbd504531cc3173ddd))
|
|
80
|
+
* **Offline:** Fix download of some HLS manifests ([#5861](https://github.com/shaka-project/shaka-player/issues/5861)) ([c2c8320](https://github.com/shaka-project/shaka-player/commit/c2c8320251526a0e755debf5448913a2fa896371))
|
|
81
|
+
* **offline:** Fix server certificate error when trying to store content ([#5848](https://github.com/shaka-project/shaka-player/issues/5848)) ([f4a35f2](https://github.com/shaka-project/shaka-player/commit/f4a35f2c3fa55449c6a12dd45f207893bc9eabca))
|
|
82
|
+
* **TTML:** Fix support of urls in smpte:backgroundImage ([#5851](https://github.com/shaka-project/shaka-player/issues/5851)) ([fa93d53](https://github.com/shaka-project/shaka-player/commit/fa93d5353acf785e450c8e7e664f7012e0d99bdc))
|
|
83
|
+
* **UI:** Console error on remote.cancelwatchavailability() method in remote playback feature ([#5793](https://github.com/shaka-project/shaka-player/issues/5793)) ([b66a8e8](https://github.com/shaka-project/shaka-player/commit/b66a8e871b3d541890f1fe431eb1c4c294c26a6e))
|
|
84
|
+
* **UI:** Fix text selector when the trackLabelFormat is set to LABEL ([#5751](https://github.com/shaka-project/shaka-player/issues/5751)) ([bba0651](https://github.com/shaka-project/shaka-player/commit/bba0651e23bdebc5ba12dc17f7d6d2a33c0bb51a))
|
|
85
|
+
* UITextDisplayer font-family is overridden by UI's Roboto font ([#5829](https://github.com/shaka-project/shaka-player/issues/5829)) ([cb8a5ed](https://github.com/shaka-project/shaka-player/commit/cb8a5edd7071a504d2d0f654944d86436d2632a8))
|
|
86
|
+
* **WebVTT:** Fix wrong writing-mode in nested cues ([#5807](https://github.com/shaka-project/shaka-player/issues/5807)) ([ea7d83e](https://github.com/shaka-project/shaka-player/commit/ea7d83ed8760d98119e771ea0b48baa1ba4eb4ea))
|
|
20
87
|
|
|
21
88
|
|
|
22
89
|
### Performance Improvements
|
|
23
90
|
|
|
24
|
-
*
|
|
25
|
-
|
|
26
|
-
|
|
91
|
+
* **dash:** improve readability and reduce number of loops in dash parser ([#5768](https://github.com/shaka-project/shaka-player/issues/5768)) ([17a4363](https://github.com/shaka-project/shaka-player/commit/17a4363e331fab3c4674504e54100b354fa0f0b8))
|
|
92
|
+
* **DASH:** PeriodCombiner optimisations ([#5837](https://github.com/shaka-project/shaka-player/issues/5837)) ([ade93b0](https://github.com/shaka-project/shaka-player/commit/ade93b0d004b379841dfaf0bcf7e2f04b8f14345))
|
|
93
|
+
* **DASH:** reduce looping and remove chaining awaits in period ([#5774](https://github.com/shaka-project/shaka-player/issues/5774)) ([be755e8](https://github.com/shaka-project/shaka-player/commit/be755e899536e169a8ef524e52f384e7a6abd001))
|
|
94
|
+
* **HLS:** Improve detection of all partial segments ([#5761](https://github.com/shaka-project/shaka-player/issues/5761)) ([2a35579](https://github.com/shaka-project/shaka-player/commit/2a3557915f05f72cb44406eb1497a386c8fecbab))
|
|
95
|
+
* Improve transmuxer performance ([#5789](https://github.com/shaka-project/shaka-player/issues/5789)) ([aa41e87](https://github.com/shaka-project/shaka-player/commit/aa41e8733f04948d6370dc066a96a2d7e394bc59))
|
|
96
|
+
* **manifest:** avoid unnecessary looping in uri resolver ([#5773](https://github.com/shaka-project/shaka-player/issues/5773)) ([4d5caee](https://github.com/shaka-project/shaka-player/commit/4d5caee6615c04acf591d0bd04ae6ca4a1ffbdb0))
|
|
97
|
+
* simplify and improve performance of parsing initData when deduping ([#5775](https://github.com/shaka-project/shaka-player/issues/5775)) ([041a08f](https://github.com/shaka-project/shaka-player/commit/041a08f88d2855e9457e7853014ee10b23a7612b))
|
|
98
|
+
* **utils:** use WeakSet to track object references ([#5791](https://github.com/shaka-project/shaka-player/issues/5791)) ([daa9d1f](https://github.com/shaka-project/shaka-player/commit/daa9d1f206652b775c406ecb4887e0f2bc7c533f))
|
|
99
|
+
* **Xbox:** drop incompatible variants for XBOX early ([#5777](https://github.com/shaka-project/shaka-player/issues/5777)) ([170a40c](https://github.com/shaka-project/shaka-player/commit/170a40c3083a8e4a0c6fabcf96439c2008ffcb63))
|
|
27
100
|
|
|
101
|
+
## [4.5.0](https://github.com/shaka-project/shaka-player/compare/v4.4.0...v4.5.0) (2023-10-04)
|
|
28
102
|
|
|
29
|
-
### Bug Fixes
|
|
30
103
|
|
|
31
|
-
|
|
32
|
-
* Compute correctly the positionAlign in UITextDisplayer ([#5630](https://github.com/shaka-project/shaka-player/issues/5630)) ([b19c5e7](https://github.com/shaka-project/shaka-player/commit/b19c5e720882dd9211f9455f12dff0485b121175))
|
|
33
|
-
* **DASH:** Fix race condition error while switching audio tracks ([#5619](https://github.com/shaka-project/shaka-player/issues/5619)) ([c140ea3](https://github.com/shaka-project/shaka-player/commit/c140ea3d3e5550e1e89e7e0ad8fc50d637c0ed57))
|
|
34
|
-
* **Demo:** Allow com.apple.fps.1_0 in the custom DRM System field ([#5600](https://github.com/shaka-project/shaka-player/issues/5600)) ([30597ed](https://github.com/shaka-project/shaka-player/commit/30597ed5d9f64c5ea56fc70043b46a8f8fdd774d))
|
|
35
|
-
* Fix compiled-mode error formatting ([#5623](https://github.com/shaka-project/shaka-player/issues/5623)) ([838cb16](https://github.com/shaka-project/shaka-player/commit/838cb160653692c378afda9ec77b8fbc996cfd56))
|
|
36
|
-
* fix preferred track selection on Safari ([#5601](https://github.com/shaka-project/shaka-player/issues/5601)) ([0e4a021](https://github.com/shaka-project/shaka-player/commit/0e4a02154ee4588c88e7526eac841aca46902c4f))
|
|
37
|
-
* Fix transmuxed audio timestamps ([#5595](https://github.com/shaka-project/shaka-player/issues/5595)) ([258a91f](https://github.com/shaka-project/shaka-player/commit/258a91f2b70da7267067800e5e571a48f5c17be2))
|
|
38
|
-
* **HLS:** Get the correct video codec for TS segments ([#5598](https://github.com/shaka-project/shaka-player/issues/5598)) ([0020afe](https://github.com/shaka-project/shaka-player/commit/0020afe02ef961581cfdcefbc412d7ae454a8128))
|
|
39
|
-
* **HLS:** Show WebVTT subtitles with X-TIMESTAMP-MAP in segments mode ([#5643](https://github.com/shaka-project/shaka-player/issues/5643)) ([58298e2](https://github.com/shaka-project/shaka-player/commit/58298e24758c27a1fa409246098e3c186a0ab1e4))
|
|
40
|
-
* Improve TsParse to avoid parsing errors ([#5615](https://github.com/shaka-project/shaka-player/issues/5615)) ([c57bb6f](https://github.com/shaka-project/shaka-player/commit/c57bb6f89081c0492dbc75a9b7c1ae7580caf0a7))
|
|
41
|
-
* **TTML:** Fix wrong writing-mode in nested cues ([#5646](https://github.com/shaka-project/shaka-player/issues/5646)) ([521c239](https://github.com/shaka-project/shaka-player/commit/521c2398f2503b04be9f79ed62fb17ecb8d000d1))
|
|
42
|
-
* **UI:** Fix broken language names on Google TV ([#5613](https://github.com/shaka-project/shaka-player/issues/5613)) ([4a84d8e](https://github.com/shaka-project/shaka-player/commit/4a84d8e25250871c3e4cda967b13ee80fe371913))
|
|
43
|
-
* **WebVTT:** Fix support for line:0 vertical alignment ([#5632](https://github.com/shaka-project/shaka-player/issues/5632)) ([14cdc11](https://github.com/shaka-project/shaka-player/commit/14cdc11968e0e7782a9924a9a9be84882a031806))
|
|
44
|
-
* **WebVTT:** Fix wrong writing-mode in nested cues ([#5641](https://github.com/shaka-project/shaka-player/issues/5641)) ([8a7e32e](https://github.com/shaka-project/shaka-player/commit/8a7e32e111fbab76e5989a7df8ea8efc00955eb3))
|
|
104
|
+
### Features
|
|
45
105
|
|
|
46
|
-
|
|
106
|
+
* **ABR:** Allow some downscale when use restrictToElementSize or restrictToScreenSize ([#5631](https://github.com/shaka-project/shaka-player/issues/5631)) ([cad1ac8](https://github.com/shaka-project/shaka-player/commit/cad1ac82837123282248a0766147390d5c21bcb9))
|
|
107
|
+
* Add getBandwidthEstimate to the player interface for custom manifest parser ([#5714](https://github.com/shaka-project/shaka-player/issues/5714)) ([1271a18](https://github.com/shaka-project/shaka-player/commit/1271a18fec65551508a734615c9c1619ebd87e04))
|
|
108
|
+
* Add H.265 TS transmuxer ([#5611](https://github.com/shaka-project/shaka-player/issues/5611)) ([3c2c095](https://github.com/shaka-project/shaka-player/commit/3c2c0955cbd230f2360e2fb9d82e59cb19dab591))
|
|
109
|
+
* Add KeyStatusChanged and UpdateState events ([#5695](https://github.com/shaka-project/shaka-player/issues/5695)) ([2f97fa7](https://github.com/shaka-project/shaka-player/commit/2f97fa7ee3497261af038046f1de14095c6d4481))
|
|
110
|
+
* Add manifestupdated event ([#5602](https://github.com/shaka-project/shaka-player/issues/5602)) ([b16d2f0](https://github.com/shaka-project/shaka-player/commit/b16d2f0bf3691ef7cc2de4eea095df21814a2027))
|
|
111
|
+
* Add TS transmuxer for muxed content ([#5571](https://github.com/shaka-project/shaka-player/issues/5571)) ([7df3321](https://github.com/shaka-project/shaka-player/commit/7df33212726d0040ba5d5a4cc0c049f174a06c83))
|
|
112
|
+
* **Ads:** Add support for AWS Elemental MediaTailor ([#5679](https://github.com/shaka-project/shaka-player/issues/5679)) ([cf5a72b](https://github.com/shaka-project/shaka-player/commit/cf5a72bb513ff74e5b0f8ca7fd334313cd78370d))
|
|
113
|
+
* **CEA:** Parse CEA from TS with H.265 ([#5610](https://github.com/shaka-project/shaka-player/issues/5610)) ([54eaf63](https://github.com/shaka-project/shaka-player/commit/54eaf6371aeb2fb8b860d52b75a0c27555aaaaca))
|
|
114
|
+
* **DASH:** Add new config to prevent mixing of audio representations from different adaptation sets ([#5620](https://github.com/shaka-project/shaka-player/issues/5620)) ([0bbb470](https://github.com/shaka-project/shaka-player/commit/0bbb47025e347d321a9d764666a355b2d2a485a5))
|
|
115
|
+
* **DASH:** Add support for AES-128 ([#5656](https://github.com/shaka-project/shaka-player/issues/5656)) ([96ae7f2](https://github.com/shaka-project/shaka-player/commit/96ae7f2fe614402d1ee410591eb86a2868796c38))
|
|
116
|
+
* **DASH:** Allow the playback of DASH with $time$ and large timescale value ([#5621](https://github.com/shaka-project/shaka-player/issues/5621)) ([4a1c96e](https://github.com/shaka-project/shaka-player/commit/4a1c96e630de1ee259ed3a5ee582dddd0f844e04))
|
|
117
|
+
* **demo:** Added icons for new demo assets ([#5691](https://github.com/shaka-project/shaka-player/issues/5691)) ([12400b1](https://github.com/shaka-project/shaka-player/commit/12400b160b51c7ea87ecb9e8bb77ae481bb707d7))
|
|
118
|
+
* Enable codec switching ([#5470](https://github.com/shaka-project/shaka-player/issues/5470)) ([0078137](https://github.com/shaka-project/shaka-player/commit/0078137d1bd6bd471b5e1405e27d7fc76b5668ac))
|
|
119
|
+
* **HLS:** Get the correct video info for TS segments with H.265 ([#5616](https://github.com/shaka-project/shaka-player/issues/5616)) ([e191c75](https://github.com/shaka-project/shaka-player/commit/e191c755167abd8658e9e3aae35cd99d07d15ee6))
|
|
120
|
+
* **HLS:** Take into account the parsing time for manifest schedule update ([#5678](https://github.com/shaka-project/shaka-player/issues/5678)) ([f7e33a3](https://github.com/shaka-project/shaka-player/commit/f7e33a3ba529e13052bfaa8762b78379bb8c8e03))
|
|
121
|
+
* Migration of LCEVC DIL (Decoder Integration Layer) to LCEVC Dec (Decoder) ([#5459](https://github.com/shaka-project/shaka-player/issues/5459)) ([c1e18d3](https://github.com/shaka-project/shaka-player/commit/c1e18d358361392332372760b90c724047cf1310))
|
|
122
|
+
* **TTML:** Add support to tts:ruby ([#5645](https://github.com/shaka-project/shaka-player/issues/5645)) ([9fd220e](https://github.com/shaka-project/shaka-player/commit/9fd220e73f7ef0e9b5774717347b2d3fa7590e99))
|
|
123
|
+
* **TTML:** Add support to tts:textCombine ([#5644](https://github.com/shaka-project/shaka-player/issues/5644)) ([73a3bd9](https://github.com/shaka-project/shaka-player/commit/73a3bd931ebc7c9690f3d0aefb0639f2230fa594))
|
|
124
|
+
* **UI:** Add config to preferDocumentPictureInPicture ([#5690](https://github.com/shaka-project/shaka-player/issues/5690)) ([025502a](https://github.com/shaka-project/shaka-player/commit/025502a70c885216b9bbc063025ae80a72780fe6))
|
|
125
|
+
* **UI:** Add PiP function to controls ([#5629](https://github.com/shaka-project/shaka-player/issues/5629)) ([b422847](https://github.com/shaka-project/shaka-player/commit/b4228479dae3469e5a3a1e8190bef9c4e3e1a843))
|
|
126
|
+
* **UI:** Add remote button with RemotePlayback API ([#5650](https://github.com/shaka-project/shaka-player/issues/5650)) ([1ef5ae0](https://github.com/shaka-project/shaka-player/commit/1ef5ae0615a14baa26ff9ffa9fa5e083bfa19c7e))
|
|
127
|
+
* **WebVTT:** Add support to ruby, rt, rp html tags ([#5642](https://github.com/shaka-project/shaka-player/issues/5642)) ([76ffd38](https://github.com/shaka-project/shaka-player/commit/76ffd38c1d78042acac220df202a9abdd77489e9))
|
|
128
|
+
* **WebVTT:** Add support to text-combine-upright ([#5633](https://github.com/shaka-project/shaka-player/issues/5633)) ([a2f253f](https://github.com/shaka-project/shaka-player/commit/a2f253f8d619d2959c0195a8e1260657b5d34a3a))
|
|
47
129
|
|
|
48
130
|
|
|
49
131
|
### Bug Fixes
|
|
50
132
|
|
|
51
|
-
*
|
|
52
|
-
* Fix
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
* **
|
|
56
|
-
*
|
|
57
|
-
*
|
|
133
|
+
* Allow PID change in TsParser ([#5681](https://github.com/shaka-project/shaka-player/issues/5681)) ([d9b49d9](https://github.com/shaka-project/shaka-player/commit/d9b49d992f533bf7664932d547253b860064ea03))
|
|
134
|
+
* **CMCD:** Fix CMCD for some mimetypes in src= ([#5699](https://github.com/shaka-project/shaka-player/issues/5699)) ([e2c32c5](https://github.com/shaka-project/shaka-player/commit/e2c32c52f0ae347083bcc6b4b7dceca903b5546b))
|
|
135
|
+
* com.apple.fps should work with the default initDataTransform when using legacy Apple Media Keys ([#5603](https://github.com/shaka-project/shaka-player/issues/5603)) ([76fdda6](https://github.com/shaka-project/shaka-player/commit/76fdda65231905c945db6a5eedeece65f8d7711e))
|
|
136
|
+
* Compute correctly the positionAlign in UITextDisplayer ([#5630](https://github.com/shaka-project/shaka-player/issues/5630)) ([3a2dbc3](https://github.com/shaka-project/shaka-player/commit/3a2dbc3deaf1e1ee5384eed41c6c9e79817a8a09))
|
|
137
|
+
* **DASH:** Fix bigint implementation ([#5707](https://github.com/shaka-project/shaka-player/issues/5707)) ([45009d2](https://github.com/shaka-project/shaka-player/commit/45009d2c0cbbb203ecb864bc4b742ed4ad9a0d9a))
|
|
138
|
+
* **DASH:** Fix race condition error while switching audio tracks ([#5619](https://github.com/shaka-project/shaka-player/issues/5619)) ([29d9a10](https://github.com/shaka-project/shaka-player/commit/29d9a107054fff16ec2abe2cbdbb8fa0c0cfd882))
|
|
139
|
+
* **Demo:** Allow com.apple.fps.1_0 in the custom DRM System field ([#5600](https://github.com/shaka-project/shaka-player/issues/5600)) ([ab86000](https://github.com/shaka-project/shaka-player/commit/ab86000dc75a352505875fe6dbc37fe0bdd2857a))
|
|
140
|
+
* **Demo:** Fix url of "Low Latency HLS Live" asset ([#5708](https://github.com/shaka-project/shaka-player/issues/5708)) ([146d3ec](https://github.com/shaka-project/shaka-player/commit/146d3ecd280b8b985e1fae6fc9262fa04dcf6126))
|
|
141
|
+
* Fix compiled-mode error formatting ([#5623](https://github.com/shaka-project/shaka-player/issues/5623)) ([a19912e](https://github.com/shaka-project/shaka-player/commit/a19912e5bf9ec5425a366b07745d5bac631a9dd2))
|
|
142
|
+
* Fix creation of new Stream object for each manifest request in DASH Live when using CEA ([#5674](https://github.com/shaka-project/shaka-player/issues/5674)) ([0a8b519](https://github.com/shaka-project/shaka-player/commit/0a8b5193f2de0b83ddd24aacda09523926b1cdb9))
|
|
143
|
+
* Fix MediaSourceEngine reset operation ([#5576](https://github.com/shaka-project/shaka-player/issues/5576)) ([9f5e91f](https://github.com/shaka-project/shaka-player/commit/9f5e91f4a37a8e504adcf1dd756fac9c777c2051))
|
|
144
|
+
* Fix Mp4Generator ([#5566](https://github.com/shaka-project/shaka-player/issues/5566)) ([effafbc](https://github.com/shaka-project/shaka-player/commit/effafbc849cc83c732fe113f5da479513b884f9f))
|
|
145
|
+
* Fix NALU parsing in some HLS muxed live streams ([#5688](https://github.com/shaka-project/shaka-player/issues/5688)) ([756a576](https://github.com/shaka-project/shaka-player/commit/756a57658608b3d8e674ae810afc692a25dc85cf))
|
|
146
|
+
* Fix PES parsing ([#5559](https://github.com/shaka-project/shaka-player/issues/5559)) ([5c6ab9e](https://github.com/shaka-project/shaka-player/commit/5c6ab9e0c8ba1236710209b36ea08d7a44fb1bf3))
|
|
147
|
+
* fix preferred track selection on Safari ([#5601](https://github.com/shaka-project/shaka-player/issues/5601)) ([d021d6f](https://github.com/shaka-project/shaka-player/commit/d021d6f932b3a64d826b919b5a7b252599e2ecd5))
|
|
148
|
+
* Fix some properties on the shaka.text.Cue that are mangled ([#5673](https://github.com/shaka-project/shaka-player/issues/5673)) ([d2b7cb2](https://github.com/shaka-project/shaka-player/commit/d2b7cb28212d5fc82b70169c77826333e0fc081f))
|
|
149
|
+
* Fix transmuxed audio timestamps ([#5595](https://github.com/shaka-project/shaka-player/issues/5595)) ([0260aef](https://github.com/shaka-project/shaka-player/commit/0260aefcdbdda2184ea32d3d8678a04491cc6fd3))
|
|
150
|
+
* Fix transmuxing of muxed content ([#5686](https://github.com/shaka-project/shaka-player/issues/5686)) ([f20d50a](https://github.com/shaka-project/shaka-player/commit/f20d50a37b8629d5429b22e2fa0ced4729335af3))
|
|
151
|
+
* Fix TS transmuxer when the main content is muxed ([#5575](https://github.com/shaka-project/shaka-player/issues/5575)) ([65b3037](https://github.com/shaka-project/shaka-player/commit/65b3037181b30274b1cedf52283f5726cf7df0b9))
|
|
152
|
+
* Fix unreleased stack overflow on statechanged ([#5712](https://github.com/shaka-project/shaka-player/issues/5712)) ([ebacf32](https://github.com/shaka-project/shaka-player/commit/ebacf32127dfc7b8b5227d66f7d53d3eee54fdd3))
|
|
153
|
+
* **HLS:** Allow audio groups on audio-only content ([#5578](https://github.com/shaka-project/shaka-player/issues/5578)) ([3cbc444](https://github.com/shaka-project/shaka-player/commit/3cbc444c95ab2e8c124d2caaaac6ce7bc5fdf02f))
|
|
154
|
+
* **HLS:** Fix audio and video out of sync ([#5658](https://github.com/shaka-project/shaka-player/issues/5658)) ([4cc4143](https://github.com/shaka-project/shaka-player/commit/4cc4143d5f3d78fc5839d6e61d7464ac62479253))
|
|
155
|
+
* **HLS:** Fix display CEA-708 in HLS ([#5694](https://github.com/shaka-project/shaka-player/issues/5694)) ([2097193](https://github.com/shaka-project/shaka-player/commit/2097193c1d16b2fc7478959257e45dd0d8233ffa))
|
|
156
|
+
* **HLS:** Fix presentation delay for small live playlists (eg: 3-4 segments) ([#5687](https://github.com/shaka-project/shaka-player/issues/5687)) ([caef5a4](https://github.com/shaka-project/shaka-player/commit/caef5a41edb3b7ac09d58249990bc2fa14ac5adb))
|
|
157
|
+
* **HLS:** Get the correct video codec for TS segments ([#5598](https://github.com/shaka-project/shaka-player/issues/5598)) ([1135115](https://github.com/shaka-project/shaka-player/commit/11351150694814813cb1cfeab4dc78fdefcce6fa))
|
|
158
|
+
* **HLS:** Show WebVTT subtitles with X-TIMESTAMP-MAP in segments mode ([#5643](https://github.com/shaka-project/shaka-player/issues/5643)) ([bd636d4](https://github.com/shaka-project/shaka-player/commit/bd636d4edffed3e845c79666547dc5af91af4055))
|
|
159
|
+
* **HLS:** Skip segments without duration and without partial segments ([#5705](https://github.com/shaka-project/shaka-player/issues/5705)) ([f53d50d](https://github.com/shaka-project/shaka-player/commit/f53d50dc3620736add47f4db2f4e71b4d8eea526))
|
|
160
|
+
* **HLS:** Support AES-128 in init segment according the RFC ([#5677](https://github.com/shaka-project/shaka-player/issues/5677)) ([806d91a](https://github.com/shaka-project/shaka-player/commit/806d91af4da9e71f9e11af406ffebf14232c5e9f))
|
|
161
|
+
* Improve TsParse to avoid parsing errors ([#5615](https://github.com/shaka-project/shaka-player/issues/5615)) ([5fa8b42](https://github.com/shaka-project/shaka-player/commit/5fa8b42118103ee8bb32394feb3aeb57b6d47553))
|
|
162
|
+
* Prevent codecs override in the transmuxer ([#5568](https://github.com/shaka-project/shaka-player/issues/5568)) ([66c625f](https://github.com/shaka-project/shaka-player/commit/66c625f55ab00989ff74419e8f85ca7619446dd0))
|
|
163
|
+
* Remove debugging code on Simple Text ([#5582](https://github.com/shaka-project/shaka-player/issues/5582)) ([991130a](https://github.com/shaka-project/shaka-player/commit/991130a6d875fd41ff585254563c5a879057603a))
|
|
164
|
+
* seeking in segment timeline returns incorrect index ([#5716](https://github.com/shaka-project/shaka-player/issues/5716)) ([c02ccee](https://github.com/shaka-project/shaka-player/commit/c02cceeeca0590a9b9b3161783142d89ba4948d4)), closes [#5664](https://github.com/shaka-project/shaka-player/issues/5664)
|
|
165
|
+
* **TTML:** Fix wrong writing-mode in nested cues ([#5646](https://github.com/shaka-project/shaka-player/issues/5646)) ([3a4f108](https://github.com/shaka-project/shaka-player/commit/3a4f10878a91c7d30f71862f2cec780b0f5e1bac))
|
|
166
|
+
* **UI:** Fix broken language names on Google TV ([#5613](https://github.com/shaka-project/shaka-player/issues/5613)) ([fc93292](https://github.com/shaka-project/shaka-player/commit/fc93292d9e4f8d38561dea8320cbcd5fd25f2c75))
|
|
167
|
+
* **WebVTT:** Fix support for line:0 vertical alignment ([#5632](https://github.com/shaka-project/shaka-player/issues/5632)) ([eed393f](https://github.com/shaka-project/shaka-player/commit/eed393f1bf777f00f1e7242c96bf9124ad3dec30))
|
|
168
|
+
* **WebVTT:** Fix text displayed out of picture and with overlapping lines ([#5662](https://github.com/shaka-project/shaka-player/issues/5662)) ([6975be9](https://github.com/shaka-project/shaka-player/commit/6975be92d47fd5368492e861a6ea63e627a4846c)), closes [#5661](https://github.com/shaka-project/shaka-player/issues/5661)
|
|
169
|
+
* **WebVTT:** Fix wrong writing-mode in nested cues ([#5641](https://github.com/shaka-project/shaka-player/issues/5641)) ([56a4cea](https://github.com/shaka-project/shaka-player/commit/56a4cea5789f15b5e78c9a5d8d0cb97eb542bafc))
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
### Performance Improvements
|
|
173
|
+
|
|
174
|
+
* Optimization to resolve uris ([#5657](https://github.com/shaka-project/shaka-player/issues/5657)) ([bd17c2b](https://github.com/shaka-project/shaka-player/commit/bd17c2bfd077c596d77a2a3fdd865041ed08012c))
|
|
58
175
|
|
|
59
176
|
## [4.4.0](https://github.com/shaka-project/shaka-player/compare/v4.4.0...v4.4.0) (2023-08-30)
|
|
60
177
|
|
package/CODE_OF_CONDUCT.md
CHANGED
|
@@ -69,7 +69,7 @@ dispute. If you are unable to resolve the matter for any reason, or if the
|
|
|
69
69
|
behavior is threatening or harassing, report it. We are dedicated to providing
|
|
70
70
|
an environment where participants feel welcome and safe.
|
|
71
71
|
|
|
72
|
-
Reports should be directed to *shaka-player-
|
|
72
|
+
Reports should be directed to *shaka-player-maintainers@googlegroups.com*, the
|
|
73
73
|
Project Steward(s) for *Shaka Player*. It is the Project Steward’s duty to
|
|
74
74
|
receive and address reported violations of the code of conduct. They will then
|
|
75
75
|
work with a committee consisting of representatives from the Open Source
|
package/CONTRIBUTORS
CHANGED
|
@@ -32,6 +32,7 @@ Alvaro Velad Galvan <ladvan91@hotmail.com>
|
|
|
32
32
|
Amila Sampath <lucksy@gmail.com>
|
|
33
33
|
Andy Hochhaus <ahochhaus@samegoal.com>
|
|
34
34
|
Anthony Stansbridge <github@anthonystansbridge.co.uk>
|
|
35
|
+
Armand Zangue <armand.zangue@gmail.com>
|
|
35
36
|
Ashutosh Kumar Mukhiya <ashukm4@gmail.com>
|
|
36
37
|
Benjamin Wallberg <benjamin.wallberg@bonnierbroadcasting.com>
|
|
37
38
|
Benjamin Wallberg <me@bwallberg.com>
|
|
@@ -59,6 +60,7 @@ Gil Gonen <gil.gonen@gmail.com>
|
|
|
59
60
|
Giorgio Gamberoni <giorgio.gamberoni@gmail.com>
|
|
60
61
|
Giuseppe Samela <giuseppe.samela@gmail.com>
|
|
61
62
|
Hichem Taoufik <hichem@code-it.fr>
|
|
63
|
+
Ivan Kohut <i.kohut@yahoo.com>
|
|
62
64
|
Itay Kinnrot <itay.kinnrot@kaltura.com>
|
|
63
65
|
Isaac Ramirez <isaac.ramirez.herrera@gmail.com>
|
|
64
66
|
Jacob Trimble <modmaker@google.com>
|
package/README.md
CHANGED
|
@@ -33,24 +33,24 @@ for the up-to-date list of maintained branches of Shaka Player.
|
|
|
33
33
|
|
|
34
34
|
## Platform and browser support matrix
|
|
35
35
|
|
|
36
|
-
|Browser
|
|
37
|
-
|
|
38
|
-
|Chrome¹
|
|
39
|
-
|Firefox¹
|
|
40
|
-
|Edge¹
|
|
41
|
-
|Edge Chromium|**Y** |**Y** |**Y**
|
|
42
|
-
|IE
|
|
43
|
-
|Safari¹
|
|
44
|
-
|Opera¹
|
|
45
|
-
|Chromecast
|
|
46
|
-
|Tizen TV³
|
|
47
|
-
|WebOS⁶
|
|
48
|
-
|Xbox One
|
|
49
|
-
|Playstation 4⁷| - | - | - | - | - | - |**Y**|
|
|
50
|
-
|Playstation 5⁷| - | - | - | - | - | - |**Y**|
|
|
36
|
+
|Browser |Windows |Mac |Linux |Android |iOS >= 9 |iOS >= 17.1|iPadOS >= 13|ChromeOS|Other|
|
|
37
|
+
|:------------:|:--------:|:-------:|:-------:|:-------:|:--------:|:---------:|:----------:|:------:|:---:|
|
|
38
|
+
|Chrome¹ |**Y** |**Y** |**Y** |**Y** |**Native**|**Native** |**Native** |**Y** | - |
|
|
39
|
+
|Firefox¹ |**Y** |**Y** |**Y** |untested⁵|**Native**|**Native** |**Native** | - | - |
|
|
40
|
+
|Edge¹ |**Y** | - | - | - | - | - | - | - | - |
|
|
41
|
+
|Edge Chromium |**Y** |**Y** |**Y** |untested⁵|**Native**|**Native** |**Native** | - | - |
|
|
42
|
+
|IE | N | - | - | - | - | - | - | - | - |
|
|
43
|
+
|Safari¹ | - |**Y** | - | - |**Native**|**Y** |**Y** | - | - |
|
|
44
|
+
|Opera¹ |untested⁵ |untested⁵|untested⁵|untested⁵|**Native**| - | - | - | - |
|
|
45
|
+
|Chromecast². | - | - | - | - | - | - | - | - |**Y**|
|
|
46
|
+
|Tizen TV³ | - | - | - | - | - | - | - | - |**Y**|
|
|
47
|
+
|WebOS⁶ | - | - | - | - | - | - | - | - |**Y**|
|
|
48
|
+
|Xbox One | - | - | - | - | - | - | - | - |**Y**|
|
|
49
|
+
|Playstation 4⁷| - | - | - | - | - | - | - | - |**Y**|
|
|
50
|
+
|Playstation 5⁷| - | - | - | - | - | - | - | - |**Y**|
|
|
51
51
|
|
|
52
52
|
NOTES:
|
|
53
|
-
- ¹: On macOS, only Safari
|
|
53
|
+
- ¹: On macOS, only Safari 9+ is supported. On iOS, only iOS 9+ is
|
|
54
54
|
supported. Older versions will be rejected.
|
|
55
55
|
- ²: The latest stable Chromecast firmware is tested. Both sender and receiver
|
|
56
56
|
can be implemented with Shaka Player.
|
|
@@ -65,18 +65,12 @@ NOTES:
|
|
|
65
65
|
- ⁷: These are expected to work, but are community-supported and untested by
|
|
66
66
|
us.
|
|
67
67
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
We have another project called [Shaka Player Embedded][] which offers the same
|
|
75
|
-
features and similar APIs for native apps on iOS. This project uses its own
|
|
76
|
-
media stack, which allows it to play content that would otherwise not be
|
|
77
|
-
supported. This supports both DASH and HLS manifests.
|
|
78
|
-
|
|
79
|
-
[Shaka Player Embedded]: https://github.com/shaka-project/shaka-player-embedded
|
|
68
|
+
NOTES for iOS and iPadOS:
|
|
69
|
+
- We support iOS 9+ through Apple's native HLS player. We provide the same
|
|
70
|
+
top-level API, but we just set the video's `src` element to the manifest/media.
|
|
71
|
+
So we are dependent on the browser supporting the manifests.
|
|
72
|
+
- Since iPadOS 13 [MediaSource Extensions][] is supported
|
|
73
|
+
- Since iPadOS 17 and iOS 17.1 [ManagedMediaSource Extensions][] is supported
|
|
80
74
|
|
|
81
75
|
|
|
82
76
|
## Manifest format support matrix
|
|
@@ -115,7 +109,6 @@ DASH features **not** supported:
|
|
|
115
109
|
- Xlink with actuate=onRequest
|
|
116
110
|
- Manifests without any segment info:
|
|
117
111
|
https://github.com/shaka-project/shaka-player/issues/1088
|
|
118
|
-
- Changing codecs during a presentation (unsupported by MSE)
|
|
119
112
|
- Multiple trick mode tracks for the same resolution at varying framerates or
|
|
120
113
|
bitrates
|
|
121
114
|
- Timescales so large that timestamps cannot be represented as integers in
|
|
@@ -132,32 +125,29 @@ HLS features supported:
|
|
|
132
125
|
blocking playlist reload
|
|
133
126
|
- Discontinuity
|
|
134
127
|
- ISO-BMFF / MP4 / CMAF support
|
|
135
|
-
- MPEG-2 TS support
|
|
136
|
-
separately included)
|
|
128
|
+
- MPEG-2 TS support
|
|
137
129
|
- WebVTT and TTML
|
|
138
130
|
- CEA-608/708 captions
|
|
139
131
|
- Encrypted content with PlayReady and Widevine
|
|
140
|
-
- Encrypted content with FairPlay (Safari on macOS and iOS
|
|
132
|
+
- Encrypted content with FairPlay (Safari on macOS and iOS 9+ only)
|
|
141
133
|
- Key rotation
|
|
142
134
|
- Raw AAC, MP3, AC-3 and EC-3 (without an MP4 container)
|
|
135
|
+
- I-frame-only playlists with mjpg codec for thumbnails
|
|
136
|
+
- #EXT-X-IMAGE-STREAM-INF for thumbnails
|
|
143
137
|
|
|
144
|
-
HLS features **not** supported:
|
|
145
|
-
- I-frame-only playlists: https://github.com/shaka-project/shaka-player/issues/742
|
|
146
|
-
|
|
147
|
-
[mux.js]: https://github.com/videojs/mux.js/releases
|
|
148
138
|
|
|
149
139
|
## MPEG-5 Part2 LCEVC Support
|
|
150
140
|
|
|
151
141
|
**Only supported on browsers with Media Source Extensions SourceBuffer support**
|
|
152
142
|
|
|
153
|
-
- MPEG-5 Part2 LCEVC decoding support (decoding provided by [
|
|
143
|
+
- MPEG-5 Part2 LCEVC decoding support (decoding provided by [lcevc_dec.js][], must be
|
|
154
144
|
separately included)
|
|
155
145
|
|
|
156
146
|
- Integration documentation : [docs](docs/design/lcevc-integration.md)
|
|
157
147
|
|
|
158
148
|
- More on [MPEG-5 Part2 LCEVC][]
|
|
159
149
|
|
|
160
|
-
[
|
|
150
|
+
[lcevc_dec.js]: https://www.npmjs.com/package/lcevc_dec.js
|
|
161
151
|
[MPEG-5 Part2 LCEVC]: https://www.lcevc.org
|
|
162
152
|
|
|
163
153
|
|
|
@@ -235,8 +225,7 @@ Shaka Player supports:
|
|
|
235
225
|
SegmentTemplate@index
|
|
236
226
|
- Not supported in HLS
|
|
237
227
|
- MPEG-2 TS
|
|
238
|
-
-
|
|
239
|
-
supports MP4
|
|
228
|
+
- Can be played on any browser which supports MP4
|
|
240
229
|
- Can find and parse timestamps to find segment start time in HLS
|
|
241
230
|
- WebVTT
|
|
242
231
|
- Supported in both text form and embedded in MP4
|
|
@@ -289,8 +278,8 @@ Shaka Player supports:
|
|
|
289
278
|
- MP3 in MPEG-2 TS to MP3 in MP4
|
|
290
279
|
- MP3 in MPEG-2 TS to raw MP3
|
|
291
280
|
- H.264 in MPEG-2 TS to H.264 in MP4
|
|
292
|
-
-
|
|
293
|
-
|
|
281
|
+
- H.265 in MPEG-2 TS to H.265 in MP4
|
|
282
|
+
- Muxed content in MPEG-2 TS with the previous codecs
|
|
294
283
|
|
|
295
284
|
|
|
296
285
|
## Thumbnails support
|
|
@@ -298,9 +287,32 @@ Shaka Player supports:
|
|
|
298
287
|
Shaka Player supports:
|
|
299
288
|
- Internal DASH thumbnails. Using DASH-IF IOP Image Adaptation Set
|
|
300
289
|
- Internal HLS thumbnails. Using HLS Image Media Playlist
|
|
290
|
+
- Internal HLS thumbnails. Using I-frame-only playlists with mjpg codec
|
|
301
291
|
- External WebVTT with images/sprites (only for VoD)
|
|
302
292
|
|
|
303
293
|
|
|
294
|
+
## Monetization with Ads
|
|
295
|
+
|
|
296
|
+
Shaka Player supports:
|
|
297
|
+
- IMA SDK for Client-Side Ad Insertion
|
|
298
|
+
- IMA DAI SDK for Server-Side Ad Insertion
|
|
299
|
+
- AWS MediaTailor for Client-Side
|
|
300
|
+
- AWS MediaTailor for Server-Side
|
|
301
|
+
- AWS MediaTailor overlays
|
|
302
|
+
|
|
303
|
+
|
|
304
|
+
## Content Steering support
|
|
305
|
+
Shaka Player supports Content Steering (v1) in DASH.
|
|
306
|
+
|
|
307
|
+
Content Steering features supported:
|
|
308
|
+
- TTL, if missing, the default value is 300 seconds.
|
|
309
|
+
- RELOAD-URI, if missing we use the url provided in the manifest as fallback.
|
|
310
|
+
- PATHWAY-PRIORITY only HOST replacement
|
|
311
|
+
|
|
312
|
+
Content Steering features **not** supported:
|
|
313
|
+
- PATHWAY-CLONES other replacements than HOST.
|
|
314
|
+
|
|
315
|
+
|
|
304
316
|
## Documentation & Important Links ##
|
|
305
317
|
|
|
306
318
|
* [Demo](https://shaka-player-demo.appspot.com)([sources](demo/))
|