From 642730bd67d3c23ac68bd328fbddd191a7a43f25 Mon Sep 17 00:00:00 2001 From: Tim-Philipp Müller Date: Wed, 12 Oct 2022 16:39:47 +0100 Subject: Release 1.20.4 --- meson.build | 2 +- subprojects/gst-devtools/ChangeLog | 15 ++ subprojects/gst-devtools/NEWS | 297 ++++++++++++++++++++- subprojects/gst-devtools/RELEASE | 2 +- subprojects/gst-devtools/gst-devtools.doap | 10 + subprojects/gst-devtools/meson.build | 2 +- subprojects/gst-docs/meson.build | 2 +- subprojects/gst-editing-services/ChangeLog | 15 ++ subprojects/gst-editing-services/NEWS | 297 ++++++++++++++++++++- subprojects/gst-editing-services/RELEASE | 2 +- .../gst-editing-services/gst-editing-services.doap | 10 + subprojects/gst-editing-services/meson.build | 2 +- subprojects/gst-examples/meson.build | 2 +- subprojects/gst-integration-testsuites/meson.build | 2 +- subprojects/gst-libav/ChangeLog | 15 ++ subprojects/gst-libav/NEWS | 297 ++++++++++++++++++++- subprojects/gst-libav/RELEASE | 2 +- subprojects/gst-libav/gst-libav.doap | 10 + subprojects/gst-libav/meson.build | 2 +- subprojects/gst-omx/ChangeLog | 15 ++ subprojects/gst-omx/NEWS | 297 ++++++++++++++++++++- subprojects/gst-omx/RELEASE | 2 +- subprojects/gst-omx/gst-omx.doap | 10 + subprojects/gst-omx/meson.build | 2 +- subprojects/gst-plugins-bad/ChangeLog | 15 ++ subprojects/gst-plugins-bad/NEWS | 297 ++++++++++++++++++++- subprojects/gst-plugins-bad/RELEASE | 2 +- subprojects/gst-plugins-bad/gst-plugins-bad.doap | 10 + subprojects/gst-plugins-bad/meson.build | 2 +- subprojects/gst-plugins-base/ChangeLog | 15 ++ subprojects/gst-plugins-base/NEWS | 297 ++++++++++++++++++++- subprojects/gst-plugins-base/RELEASE | 2 +- subprojects/gst-plugins-base/gst-plugins-base.doap | 10 + subprojects/gst-plugins-base/meson.build | 2 +- subprojects/gst-plugins-good/ChangeLog | 16 ++ subprojects/gst-plugins-good/NEWS | 297 ++++++++++++++++++++- subprojects/gst-plugins-good/RELEASE | 2 +- .../gst-plugins-good/docs/gst_plugins_cache.json | 8 +- subprojects/gst-plugins-good/gst-plugins-good.doap | 10 + subprojects/gst-plugins-good/meson.build | 2 +- subprojects/gst-plugins-ugly/ChangeLog | 15 ++ subprojects/gst-plugins-ugly/NEWS | 297 ++++++++++++++++++++- subprojects/gst-plugins-ugly/RELEASE | 2 +- subprojects/gst-plugins-ugly/gst-plugins-ugly.doap | 10 + subprojects/gst-plugins-ugly/meson.build | 2 +- subprojects/gst-python/ChangeLog | 15 ++ subprojects/gst-python/NEWS | 297 ++++++++++++++++++++- subprojects/gst-python/RELEASE | 2 +- subprojects/gst-python/gst-python.doap | 10 + subprojects/gst-python/meson.build | 2 +- subprojects/gst-rtsp-server/ChangeLog | 16 ++ subprojects/gst-rtsp-server/NEWS | 297 ++++++++++++++++++++- subprojects/gst-rtsp-server/RELEASE | 2 +- .../gst-rtsp-server/docs/gst_plugins_cache.json | 2 +- subprojects/gst-rtsp-server/gst-rtsp-server.doap | 10 + subprojects/gst-rtsp-server/meson.build | 2 +- subprojects/gstreamer-sharp/meson.build | 2 +- .../sources/generated/Gst.PbUtils/Constants.cs | 4 +- .../sources/generated/Gst/Constants.cs | 4 +- .../sources/generated/gstreamer-sharp-api.xml | 16 +- subprojects/gstreamer-vaapi/ChangeLog | 15 ++ subprojects/gstreamer-vaapi/NEWS | 297 ++++++++++++++++++++- subprojects/gstreamer-vaapi/RELEASE | 2 +- subprojects/gstreamer-vaapi/gstreamer-vaapi.doap | 10 + subprojects/gstreamer-vaapi/meson.build | 2 +- subprojects/gstreamer/ChangeLog | 15 ++ subprojects/gstreamer/NEWS | 297 ++++++++++++++++++++- subprojects/gstreamer/RELEASE | 2 +- subprojects/gstreamer/gstreamer.doap | 10 + subprojects/gstreamer/meson.build | 2 +- 70 files changed, 3804 insertions(+), 154 deletions(-) diff --git a/meson.build b/meson.build index 8a08974537..03df4ab157 100644 --- a/meson.build +++ b/meson.build @@ -1,5 +1,5 @@ project('gstreamer-full', 'c', - version : '1.20.3.1', + version : '1.20.4', meson_version : '>= 0.59', default_options : ['buildtype=debugoptimized', # Needed due to https://github.com/mesonbuild/meson/issues/1889, diff --git a/subprojects/gst-devtools/ChangeLog b/subprojects/gst-devtools/ChangeLog index ffba6b4ab5..092be09265 100644 --- a/subprojects/gst-devtools/ChangeLog +++ b/subprojects/gst-devtools/ChangeLog @@ -1,3 +1,18 @@ +=== release 1.20.4 === + +2022-10-12 16:39:47 +0100 Tim-Philipp Müller + + * NEWS: + * RELEASE: + * gst-devtools.doap: + * meson.build: + Release 1.20.4 + +2022-10-12 16:39:40 +0100 Tim-Philipp Müller + + * ChangeLog: + Update ChangeLogs for 1.20.4 + 2022-06-29 10:55:13 +0100 Tim-Philipp Müller * meson.build: diff --git a/subprojects/gst-devtools/NEWS b/subprojects/gst-devtools/NEWS index 8071b5da68..6aa0a9e3ed 100644 --- a/subprojects/gst-devtools/NEWS +++ b/subprojects/gst-devtools/NEWS @@ -2,13 +2,13 @@ GStreamer 1.20 Release Notes GStreamer 1.20.0 was originally released on 3 February 2022. -The latest bug-fix release in the 1.20 series is 1.20.3 and was released -on 15 June 2022. +The latest bug-fix release in the 1.20 series is 1.20.4 and was released +on 12 October 2022. See https://gstreamer.freedesktop.org/releases/1.20/ for the latest version of this document. -Last updated: Monday 15 June 2022, 17:00 UTC (log) +Last updated: Wednesday 12 October 2022, 15:00 UTC (log) Introduction @@ -757,7 +757,8 @@ New element features and additions - matroskamux: accept in-band SPS/PPS/VPS for H.264 and H.265 (i.e. stream-format avc3 and hev1) which allows on-the-fly - profile/level/resolution changes. + profile/level changes, and from 1.20.4 onwards also resolution + changes. - matroskamux: new "cluster-timestamp-offset" property, useful for use cases where the container timestamps should map to some absolute @@ -909,7 +910,7 @@ New element features and additions - vp8enc: finish support for temporal scalability: two new properties ("temporal-scalability-layer-flags", "temporal-scalability-layer-sync-flags") and a unit change on the - "temporal-scalability-target-bitrate" property (now expects bps); + "temporal-scalability-target-bitrate” property (now expects bps); also make temporal scalability details available to RTP payloaders as buffer metadata. @@ -1754,7 +1755,7 @@ Possibly Breaking and Other Noteworthy Behavioural Changes names of internal elements anyway. - The vp8enc element now expects bps (bits per second) for the - "temporal-scalability-target-bitrate" property, which is consistent + "temporal-scalability-target-bitrate” property, which is consistent with the "target-bitrate" property. Since additional configuration is required with modern libvpx to make temporal scaling work anyway, chances are that very few people will have been using this property @@ -2503,15 +2504,293 @@ List of merge requests and issues fixed in 1.20.3 - List of Merge Requests applied in 1.20.3 - List of Issues fixed in 1.20.3 +1.20.4 + +The fourth 1.20 bug-fix release (1.20.4) was released on 12 October +2022. + +This release only contains bugfixes and it should be safe to upgrade +from 1.20.x. + +Highlighted bugfixes in 1.20.4 + +- avaudiodec: fix playback issue with WMA files, would throw an error + at EOS with FFmpeg 5.x +- Fix deadlock when loading gst-editing-services plugin +- Fix input buffering capacity in live mode for aggregator, + video/audio aggregator subclasses, muxers +- glimagesink: fix crash on Android +- subtitle handling and subtitle overlay fixes +- matroska-mux: allow width + height changes for avc3|hev1|vp8|vp9 +- rtspsrc: fix control url handling for spec compliant servers and add + fallback for incompliant servers +- WebRTC fixes +- RTP retransmission fixes +- video: fixes for formats with 4x subsampling and horizontal co-sited + chroma (Y41B, YUV9, YVU9 and IYU9) +- macOS build and packaging fixes, in particular fix finding of gio + modules on macOS for https/TLS support +- Performance improvements +- Miscellaneous bug fixes, memory leak fixes, and other stability and + reliability improvements + +gstreamer + +- buffer: drop parent meta in deep copy/foreach_metadata +- devicemonitor: Use a sync bus handler for the provider to avoid + accumulating all messages until the provider is stopped +- element: Fix requesting of pads with string templates +- gst: Protect initialization state with a recursive mutex +- gst: add missing define guard for build without gstreamer debug + logging support +- gst_init: Initialize static plugins just before dynamic plugins +- info: Parse “NONE” as a valid level name +- meta: Set the parent refcount of the GstStructure correctly +- pluginloader: Don’t hang on short reads/writes +- tracers: leaks: fix potentially invalid memory access when trying to + detect object type +- tracers: leaks: fix object-refings.class flags +- uri: When setting the same string again do nothing +- value: Don’t loop forever when serializing invalid flag + +Base Libraries + +- aggregator: fix input buffering in live mode (was too low before in + many cases) +- aggregator: fix reversed active/flushing arguments in debug log + output +- aggregator: Reset EOS flag after receiving a stream-start event + +Core Elements + +- queue2: Hold the lock when modifying sinkresult +- queue2: Fix deadlock when deactivate is called in pull mode + +gst-plugins-base + +- decodebin3: fix mutex leaks +- decodebin3: Fix memory issues with active selection list +- decodebin3, uridecodebin3, urisourcebin: Event handling fixes +- decodebin3: fix EOS event sequence +- parsebin: Avoid crash with unknown streams +- parsebin: SIGSEGV during HLS stream using souphttpsrc +- glimagesink: only allow setting the GL display/context if it is a + valid value +- glimagesink: segfault on android devices +- gstgl: Fix several memory leaks in macOS +- opusenc: improve inband-fec property documentation +- playsink: Hold a reference to the soft volume element +- pbutils: descriptions: fix gst_pb_utils_get_caps_description_flags() +- rtspurl: Use gst_uri_join_strings() in + gst_rtsp_url_get_request_uri_with_control() instead of a + hand-crafted, wrong version +- rtspconnection: protect cancellable by a mutex +- sdpmessage: Don’t set SDP medias from caps without + media/payload/clock-rate fields +- samiparse: fix handling of self-closing tags +- ssaparse: include required system headers for isspace() and sscanf() + functions +- subparse: fix crash when parsing invalid timestamps in mpl2 +- subparse fixes +- textoverlay: Don’t miscalculate text running times +- videoaggregator: always convert when user provides converter-config +- video: Fix scaling in 4x horizontal co-sited chroma (Y41B, YUV9, + YVU9 and IYU9) +- xmptag: register musicbrainz tags during init to fix critical in + jpegparse +- xvimagesink: fix image leaks in error code path +- tests: skip unit tests for dependency-less elements that have been + disabled + +Tools + +- No changes + +gst-plugins-good + +- alpha: fix stride issue when out buffer has padding on right +- isoff: Fix earliest pts field parse issue +- matroska-mux: allow width + height changes for avc3|hev1|vp8|vp9 +- qt: Fix another instance of Qt/GStreamer both defining GLsync + differently +- qtdemux: Avoid crash on reconfiguring. +- qtdemux: guard against timestamp calculation overflow in gap event + loop +- qtdemux: Don’t use invalid values from failed trex parsing +- qtdemux: possible endless loop +- rtpjitterbuffer: Only unschedule timers for late packets if they’re + not RTX packets and only once +- rtpjitterbuffer: remove lost timer for out of order packets +- rtspsrc: SETUP generates 400 Bad Request +- rtspsrc: Retry SETUP with non-compliant URL resolution on “Bad + Request” and “Not found” +- rtpst2022-1-fecenc: Drain column packets on EOS +- rtpvp8depay: If configured to wait for keyframes after packet loss, + also do that if incomplete frames are detected +- splitmuxsink: Don’t crash on EOS without buffer +- splitmuxsrc: Stop pad task before cleanup +- splitmuxsrc: don’t consider unlinked pads when deactivating part +- soup: libsoup3 makes audio streaming stop +- v4l2: fix critical when unreferencign buffer with no data +- v4l2bufferpool: Fix debug trace +- v4l2object: Add support for Apple’s full-range bt709 colorspace + variant 1:3:5:1 +- v4l2videocodec: workaround for failure to fully drain frames + preceding MIDSTREAM renegotiation +- v4l2allocator: Fix invalid imported dmabuf fd +- videoflip: Fix caps negotiation when method is selected +- build failure trying to build jack examples +- examples: don’t try and build jack examples if jack was disabled +- tests: skip unit tests for dependency-less elements that have been + disabled + +gst-plugins-bad + +- amcvideodec: fix GstAmcSurfaceTexture segfault +- audiobuffersplit: Fix drift that was introduced by wrong + calculations in gapless mode +- avfvideosrc: Fix wrong default framerate value +- audiovisualizer: fix buffer mapping to not increase refcount +- d3d11decoder: Check 16K resolution support +- d3d11videosink: Fix for force-aspect-ratio setting when rendering on + shared texture +- mxfdemux: Always calculate BlockAlign of raw audio to work around + files with broken BlockAlign field in the headers +- nvdec: Fix for HEVC decoding when coded resolution is larger than + display resolution +- openh264: Register debug categories earlier +- openh264enc: Fix constrained-high encoding +- openmpt: update from now deprecated api +- GstPlay: missing cleanup for g_autoptr +- player/play: Fix object construction and various leaks +- player: Plug a memory leak +- proxysink: Make sure stream-start and caps events are forwarded, and + fix memory leak +- tsdemux: Don’t trigger a program change when falling back to + ignore-pcr behaviour +- va: allocator: Fix translation of VADRMPRIMESurfaceDescriptor +- va: h265dec: Fix a crash because of missing reference frame. +- vah265dec: Decoder segfaults on seek +- wasapi: Implement default audio channel mask +- wasapi2: Fix initial mute/volume setting +- webrtcbin: Limit sink query to sink pads +- webrtcbin: Fix pointer dereference before null check +- webrtc: Make sure to return NULL when validating TURN server fails +- tests: skip unit tests for dependency-less elements that have been + disabled + +gst-plugins-ugly + +- tests: skip unit tests for dependency-less elements that have been + disabled + +gst-libav + +- avauddec: fix regression with WMA files, would throw an error at EOS +- avauddec: fix unnecessary reconfiguration if the audio layout isn’t + specified +- libav: Fix for APNG encoder property registration +- Failure to decode end of WMA file + +gst-rtsp-server + +- gst-rtsp-server: Fix pushing backlog to client +- rtsp-server: stream: Don’t loop forever if binding to the multicast + address fails + +gstreamer-vaapi + +- vaapi: Handle when no encoders/decoders available. +- vaapi: Crash in gst_vaapidecode_class_init() when no + decoders/encoders available + +gstreamer-sharp + +- No changes + +gst-omx + +- No changes + +gst-python + +- python: Do not call gst_init when it is already is_initialized + +gst-editing-services + +- Deadlock in ges because of recursive gst_init() call +- ges/gstframepositioner: don’t create one compositor per frame meta +- nle: clear seek event properly + +gst-examples: + +- examples/webrtc/signalling: Fix compatibility with Python 3.10 + +Development build environment + gst-full build + +- build: Fix some compiler warnings by upgrading wraps +- dv, opusparse: fix duplicate symbols in static build +- Fix fedora 36 warnings - OpenSSL 3.0 deprecations + GLib 2.72 + tls-validation deprecations +- Various macOS build fixes +- meson: Improve certifi documentation on macOS + +Cerbero build tool and packaging changes in 1.20.4 + +- Add Ubuntu 22.04 Jammy Jellyfish +- Add gst-rtsp-server library to the macOS framework +- cerbero: Quick fix for gen-cache breakage +- macos: Fix the install_name for the GStreamer framework +- Download using powershell on Windows and rework download func +- macos: Add arm64 to the metadata for the installer +- cerbero: Allow building on Linux ARM64 +- pkg-config.recipe: Add to core platform files list +- git: Fix issue with last security patch +- distros: Fix CentOS allowance +- cerbero: Print working directory for commands that are run +- cerbero: Fix license property usage example +- Fix issue getting distro_version in Debian Bookworm +- glib: Fix gio modules loading on macOS +- cmake: Fix macOS ARM64 -> x86_64 cross-compilation +- Fix logo display in macOS installer +- openssl.recipe: Fix segfault on latest macOS +- msvc: Fix for broken CRT linking at application project because of + MSVCRT linking +- cerbero: Do not add rpaths that already exist on macOS +- android: fix build with android gradle plugin 7.2 +- macOS framework is unusable starting from 1.18.0 + +Contributors to 1.20.4 + +Adrian Fiergolski, Aleksandr Slobodeniuk, Andoni Morales Alastruey, +Andrew Pritchard, Bruce Liang, Corentin Damman, Daniel Morin, Edward +Hervey, Elliot Chen, Fabian Orccon, fduncanh, Guillaume Desmottes, +Haihua Hu, He Junyan, Ignazio Pillai, James Cowgill, James Hilliard, Jan +Alexander Steffens (heftig), Jan Schmidt, Jianhui Dai, Jonas Danielsson, +Jordan Petridis, Khem Raj, Krystian Wojtas, Martin Dørum, Mart Raudsepp, +Mathieu Duponchelle, Matthew Waters, Matthias Clasen, Nicolas Dufresne, +Nirbheek Chauhan, Olivier Crête, Paweł Stawicki, Philippe Normand, +Philipp Zabel, Piotr Brzeziński, Rafael Caricio, Rafael Sobral, Raul +Tambre, Ruben Gonzalez, Sangchul Lee, Sebastian Dröge, Seungha Yang, +Stéphane Cerveau, Thibault Saunier, Tim-Philipp Müller, Tristan +Matthews, Víctor Manuel Jáquez Leal, Xavier Claessens, Zhiyuan Liu, + +… and many others who have contributed bug reports, translations, sent +suggestions or helped testing. Thank you all! + +List of merge requests and issues fixed in 1.20.4 + +- List of Merge Requests applied in 1.20.4 +- List of Issues fixed in 1.20.4 + Schedule for 1.22 Our next major feature release will be 1.22, and 1.21 will be the unstable development version leading up to the stable 1.22 release. The development of 1.21/1.22 will happen in the git main branch. -The plan for the 1.22 development cycle is yet to be confirmed. Assuming -no major project-wide reorganisations in the 1.22 cycle we might try and -aim for a release around August 2022. +The plan for the 1.22 development cycle is now confirmed, and we aim for +a 1.22.0 release in December 2022. 1.22 will be backwards-compatible to the stable 1.20, 1.18, 1.16, 1.14, 1.12, 1.10, 1.8, 1.6, 1.4, 1.2 and 1.0 release series. diff --git a/subprojects/gst-devtools/RELEASE b/subprojects/gst-devtools/RELEASE index 7a60dd2858..fc1e16373d 100644 --- a/subprojects/gst-devtools/RELEASE +++ b/subprojects/gst-devtools/RELEASE @@ -1,4 +1,4 @@ -This is GStreamer gst-devtools 1.20.3. +This is GStreamer gst-devtools 1.20.4. The GStreamer team is thrilled to announce a new major feature release of your favourite cross-platform multimedia framework! diff --git a/subprojects/gst-devtools/gst-devtools.doap b/subprojects/gst-devtools/gst-devtools.doap index 9bda18634c..2dac8039a4 100644 --- a/subprojects/gst-devtools/gst-devtools.doap +++ b/subprojects/gst-devtools/gst-devtools.doap @@ -53,6 +53,16 @@ + + + 1.20.4 + 1.20 + + 2022-10-12 + + + + 1.20.3 diff --git a/subprojects/gst-devtools/meson.build b/subprojects/gst-devtools/meson.build index 31a8ddd1ad..0a0b39e206 100644 --- a/subprojects/gst-devtools/meson.build +++ b/subprojects/gst-devtools/meson.build @@ -1,5 +1,5 @@ project('gst-devtools', 'c', - version : '1.20.3.1', + version : '1.20.4', meson_version : '>= 0.59', default_options : [ 'warning_level=1', 'c_std=gnu99', diff --git a/subprojects/gst-docs/meson.build b/subprojects/gst-docs/meson.build index 42abd0950e..db730fe50a 100644 --- a/subprojects/gst-docs/meson.build +++ b/subprojects/gst-docs/meson.build @@ -1,5 +1,5 @@ project('GStreamer manuals and tutorials', 'c', - version: '1.20.3.1', + version: '1.20.4', meson_version : '>= 0.59') hotdoc_p = find_program('hotdoc') diff --git a/subprojects/gst-editing-services/ChangeLog b/subprojects/gst-editing-services/ChangeLog index a714e40610..21f54d1052 100644 --- a/subprojects/gst-editing-services/ChangeLog +++ b/subprojects/gst-editing-services/ChangeLog @@ -1,3 +1,18 @@ +=== release 1.20.4 === + +2022-10-12 16:39:47 +0100 Tim-Philipp Müller + + * NEWS: + * RELEASE: + * gst-editing-services.doap: + * meson.build: + Release 1.20.4 + +2022-10-12 16:39:40 +0100 Tim-Philipp Müller + + * ChangeLog: + Update ChangeLogs for 1.20.4 + 2022-03-28 13:47:52 +0200 Stéphane Cerveau * tools/utils.c: diff --git a/subprojects/gst-editing-services/NEWS b/subprojects/gst-editing-services/NEWS index 8071b5da68..6aa0a9e3ed 100644 --- a/subprojects/gst-editing-services/NEWS +++ b/subprojects/gst-editing-services/NEWS @@ -2,13 +2,13 @@ GStreamer 1.20 Release Notes GStreamer 1.20.0 was originally released on 3 February 2022. -The latest bug-fix release in the 1.20 series is 1.20.3 and was released -on 15 June 2022. +The latest bug-fix release in the 1.20 series is 1.20.4 and was released +on 12 October 2022. See https://gstreamer.freedesktop.org/releases/1.20/ for the latest version of this document. -Last updated: Monday 15 June 2022, 17:00 UTC (log) +Last updated: Wednesday 12 October 2022, 15:00 UTC (log) Introduction @@ -757,7 +757,8 @@ New element features and additions - matroskamux: accept in-band SPS/PPS/VPS for H.264 and H.265 (i.e. stream-format avc3 and hev1) which allows on-the-fly - profile/level/resolution changes. + profile/level changes, and from 1.20.4 onwards also resolution + changes. - matroskamux: new "cluster-timestamp-offset" property, useful for use cases where the container timestamps should map to some absolute @@ -909,7 +910,7 @@ New element features and additions - vp8enc: finish support for temporal scalability: two new properties ("temporal-scalability-layer-flags", "temporal-scalability-layer-sync-flags") and a unit change on the - "temporal-scalability-target-bitrate" property (now expects bps); + "temporal-scalability-target-bitrate” property (now expects bps); also make temporal scalability details available to RTP payloaders as buffer metadata. @@ -1754,7 +1755,7 @@ Possibly Breaking and Other Noteworthy Behavioural Changes names of internal elements anyway. - The vp8enc element now expects bps (bits per second) for the - "temporal-scalability-target-bitrate" property, which is consistent + "temporal-scalability-target-bitrate” property, which is consistent with the "target-bitrate" property. Since additional configuration is required with modern libvpx to make temporal scaling work anyway, chances are that very few people will have been using this property @@ -2503,15 +2504,293 @@ List of merge requests and issues fixed in 1.20.3 - List of Merge Requests applied in 1.20.3 - List of Issues fixed in 1.20.3 +1.20.4 + +The fourth 1.20 bug-fix release (1.20.4) was released on 12 October +2022. + +This release only contains bugfixes and it should be safe to upgrade +from 1.20.x. + +Highlighted bugfixes in 1.20.4 + +- avaudiodec: fix playback issue with WMA files, would throw an error + at EOS with FFmpeg 5.x +- Fix deadlock when loading gst-editing-services plugin +- Fix input buffering capacity in live mode for aggregator, + video/audio aggregator subclasses, muxers +- glimagesink: fix crash on Android +- subtitle handling and subtitle overlay fixes +- matroska-mux: allow width + height changes for avc3|hev1|vp8|vp9 +- rtspsrc: fix control url handling for spec compliant servers and add + fallback for incompliant servers +- WebRTC fixes +- RTP retransmission fixes +- video: fixes for formats with 4x subsampling and horizontal co-sited + chroma (Y41B, YUV9, YVU9 and IYU9) +- macOS build and packaging fixes, in particular fix finding of gio + modules on macOS for https/TLS support +- Performance improvements +- Miscellaneous bug fixes, memory leak fixes, and other stability and + reliability improvements + +gstreamer + +- buffer: drop parent meta in deep copy/foreach_metadata +- devicemonitor: Use a sync bus handler for the provider to avoid + accumulating all messages until the provider is stopped +- element: Fix requesting of pads with string templates +- gst: Protect initialization state with a recursive mutex +- gst: add missing define guard for build without gstreamer debug + logging support +- gst_init: Initialize static plugins just before dynamic plugins +- info: Parse “NONE” as a valid level name +- meta: Set the parent refcount of the GstStructure correctly +- pluginloader: Don’t hang on short reads/writes +- tracers: leaks: fix potentially invalid memory access when trying to + detect object type +- tracers: leaks: fix object-refings.class flags +- uri: When setting the same string again do nothing +- value: Don’t loop forever when serializing invalid flag + +Base Libraries + +- aggregator: fix input buffering in live mode (was too low before in + many cases) +- aggregator: fix reversed active/flushing arguments in debug log + output +- aggregator: Reset EOS flag after receiving a stream-start event + +Core Elements + +- queue2: Hold the lock when modifying sinkresult +- queue2: Fix deadlock when deactivate is called in pull mode + +gst-plugins-base + +- decodebin3: fix mutex leaks +- decodebin3: Fix memory issues with active selection list +- decodebin3, uridecodebin3, urisourcebin: Event handling fixes +- decodebin3: fix EOS event sequence +- parsebin: Avoid crash with unknown streams +- parsebin: SIGSEGV during HLS stream using souphttpsrc +- glimagesink: only allow setting the GL display/context if it is a + valid value +- glimagesink: segfault on android devices +- gstgl: Fix several memory leaks in macOS +- opusenc: improve inband-fec property documentation +- playsink: Hold a reference to the soft volume element +- pbutils: descriptions: fix gst_pb_utils_get_caps_description_flags() +- rtspurl: Use gst_uri_join_strings() in + gst_rtsp_url_get_request_uri_with_control() instead of a + hand-crafted, wrong version +- rtspconnection: protect cancellable by a mutex +- sdpmessage: Don’t set SDP medias from caps without + media/payload/clock-rate fields +- samiparse: fix handling of self-closing tags +- ssaparse: include required system headers for isspace() and sscanf() + functions +- subparse: fix crash when parsing invalid timestamps in mpl2 +- subparse fixes +- textoverlay: Don’t miscalculate text running times +- videoaggregator: always convert when user provides converter-config +- video: Fix scaling in 4x horizontal co-sited chroma (Y41B, YUV9, + YVU9 and IYU9) +- xmptag: register musicbrainz tags during init to fix critical in + jpegparse +- xvimagesink: fix image leaks in error code path +- tests: skip unit tests for dependency-less elements that have been + disabled + +Tools + +- No changes + +gst-plugins-good + +- alpha: fix stride issue when out buffer has padding on right +- isoff: Fix earliest pts field parse issue +- matroska-mux: allow width + height changes for avc3|hev1|vp8|vp9 +- qt: Fix another instance of Qt/GStreamer both defining GLsync + differently +- qtdemux: Avoid crash on reconfiguring. +- qtdemux: guard against timestamp calculation overflow in gap event + loop +- qtdemux: Don’t use invalid values from failed trex parsing +- qtdemux: possible endless loop +- rtpjitterbuffer: Only unschedule timers for late packets if they’re + not RTX packets and only once +- rtpjitterbuffer: remove lost timer for out of order packets +- rtspsrc: SETUP generates 400 Bad Request +- rtspsrc: Retry SETUP with non-compliant URL resolution on “Bad + Request” and “Not found” +- rtpst2022-1-fecenc: Drain column packets on EOS +- rtpvp8depay: If configured to wait for keyframes after packet loss, + also do that if incomplete frames are detected +- splitmuxsink: Don’t crash on EOS without buffer +- splitmuxsrc: Stop pad task before cleanup +- splitmuxsrc: don’t consider unlinked pads when deactivating part +- soup: libsoup3 makes audio streaming stop +- v4l2: fix critical when unreferencign buffer with no data +- v4l2bufferpool: Fix debug trace +- v4l2object: Add support for Apple’s full-range bt709 colorspace + variant 1:3:5:1 +- v4l2videocodec: workaround for failure to fully drain frames + preceding MIDSTREAM renegotiation +- v4l2allocator: Fix invalid imported dmabuf fd +- videoflip: Fix caps negotiation when method is selected +- build failure trying to build jack examples +- examples: don’t try and build jack examples if jack was disabled +- tests: skip unit tests for dependency-less elements that have been + disabled + +gst-plugins-bad + +- amcvideodec: fix GstAmcSurfaceTexture segfault +- audiobuffersplit: Fix drift that was introduced by wrong + calculations in gapless mode +- avfvideosrc: Fix wrong default framerate value +- audiovisualizer: fix buffer mapping to not increase refcount +- d3d11decoder: Check 16K resolution support +- d3d11videosink: Fix for force-aspect-ratio setting when rendering on + shared texture +- mxfdemux: Always calculate BlockAlign of raw audio to work around + files with broken BlockAlign field in the headers +- nvdec: Fix for HEVC decoding when coded resolution is larger than + display resolution +- openh264: Register debug categories earlier +- openh264enc: Fix constrained-high encoding +- openmpt: update from now deprecated api +- GstPlay: missing cleanup for g_autoptr +- player/play: Fix object construction and various leaks +- player: Plug a memory leak +- proxysink: Make sure stream-start and caps events are forwarded, and + fix memory leak +- tsdemux: Don’t trigger a program change when falling back to + ignore-pcr behaviour +- va: allocator: Fix translation of VADRMPRIMESurfaceDescriptor +- va: h265dec: Fix a crash because of missing reference frame. +- vah265dec: Decoder segfaults on seek +- wasapi: Implement default audio channel mask +- wasapi2: Fix initial mute/volume setting +- webrtcbin: Limit sink query to sink pads +- webrtcbin: Fix pointer dereference before null check +- webrtc: Make sure to return NULL when validating TURN server fails +- tests: skip unit tests for dependency-less elements that have been + disabled + +gst-plugins-ugly + +- tests: skip unit tests for dependency-less elements that have been + disabled + +gst-libav + +- avauddec: fix regression with WMA files, would throw an error at EOS +- avauddec: fix unnecessary reconfiguration if the audio layout isn’t + specified +- libav: Fix for APNG encoder property registration +- Failure to decode end of WMA file + +gst-rtsp-server + +- gst-rtsp-server: Fix pushing backlog to client +- rtsp-server: stream: Don’t loop forever if binding to the multicast + address fails + +gstreamer-vaapi + +- vaapi: Handle when no encoders/decoders available. +- vaapi: Crash in gst_vaapidecode_class_init() when no + decoders/encoders available + +gstreamer-sharp + +- No changes + +gst-omx + +- No changes + +gst-python + +- python: Do not call gst_init when it is already is_initialized + +gst-editing-services + +- Deadlock in ges because of recursive gst_init() call +- ges/gstframepositioner: don’t create one compositor per frame meta +- nle: clear seek event properly + +gst-examples: + +- examples/webrtc/signalling: Fix compatibility with Python 3.10 + +Development build environment + gst-full build + +- build: Fix some compiler warnings by upgrading wraps +- dv, opusparse: fix duplicate symbols in static build +- Fix fedora 36 warnings - OpenSSL 3.0 deprecations + GLib 2.72 + tls-validation deprecations +- Various macOS build fixes +- meson: Improve certifi documentation on macOS + +Cerbero build tool and packaging changes in 1.20.4 + +- Add Ubuntu 22.04 Jammy Jellyfish +- Add gst-rtsp-server library to the macOS framework +- cerbero: Quick fix for gen-cache breakage +- macos: Fix the install_name for the GStreamer framework +- Download using powershell on Windows and rework download func +- macos: Add arm64 to the metadata for the installer +- cerbero: Allow building on Linux ARM64 +- pkg-config.recipe: Add to core platform files list +- git: Fix issue with last security patch +- distros: Fix CentOS allowance +- cerbero: Print working directory for commands that are run +- cerbero: Fix license property usage example +- Fix issue getting distro_version in Debian Bookworm +- glib: Fix gio modules loading on macOS +- cmake: Fix macOS ARM64 -> x86_64 cross-compilation +- Fix logo display in macOS installer +- openssl.recipe: Fix segfault on latest macOS +- msvc: Fix for broken CRT linking at application project because of + MSVCRT linking +- cerbero: Do not add rpaths that already exist on macOS +- android: fix build with android gradle plugin 7.2 +- macOS framework is unusable starting from 1.18.0 + +Contributors to 1.20.4 + +Adrian Fiergolski, Aleksandr Slobodeniuk, Andoni Morales Alastruey, +Andrew Pritchard, Bruce Liang, Corentin Damman, Daniel Morin, Edward +Hervey, Elliot Chen, Fabian Orccon, fduncanh, Guillaume Desmottes, +Haihua Hu, He Junyan, Ignazio Pillai, James Cowgill, James Hilliard, Jan +Alexander Steffens (heftig), Jan Schmidt, Jianhui Dai, Jonas Danielsson, +Jordan Petridis, Khem Raj, Krystian Wojtas, Martin Dørum, Mart Raudsepp, +Mathieu Duponchelle, Matthew Waters, Matthias Clasen, Nicolas Dufresne, +Nirbheek Chauhan, Olivier Crête, Paweł Stawicki, Philippe Normand, +Philipp Zabel, Piotr Brzeziński, Rafael Caricio, Rafael Sobral, Raul +Tambre, Ruben Gonzalez, Sangchul Lee, Sebastian Dröge, Seungha Yang, +Stéphane Cerveau, Thibault Saunier, Tim-Philipp Müller, Tristan +Matthews, Víctor Manuel Jáquez Leal, Xavier Claessens, Zhiyuan Liu, + +… and many others who have contributed bug reports, translations, sent +suggestions or helped testing. Thank you all! + +List of merge requests and issues fixed in 1.20.4 + +- List of Merge Requests applied in 1.20.4 +- List of Issues fixed in 1.20.4 + Schedule for 1.22 Our next major feature release will be 1.22, and 1.21 will be the unstable development version leading up to the stable 1.22 release. The development of 1.21/1.22 will happen in the git main branch. -The plan for the 1.22 development cycle is yet to be confirmed. Assuming -no major project-wide reorganisations in the 1.22 cycle we might try and -aim for a release around August 2022. +The plan for the 1.22 development cycle is now confirmed, and we aim for +a 1.22.0 release in December 2022. 1.22 will be backwards-compatible to the stable 1.20, 1.18, 1.16, 1.14, 1.12, 1.10, 1.8, 1.6, 1.4, 1.2 and 1.0 release series. diff --git a/subprojects/gst-editing-services/RELEASE b/subprojects/gst-editing-services/RELEASE index 226aa40ee4..6815701177 100644 --- a/subprojects/gst-editing-services/RELEASE +++ b/subprojects/gst-editing-services/RELEASE @@ -1,4 +1,4 @@ -This is GStreamer gst-editing-services 1.20.3. +This is GStreamer gst-editing-services 1.20.4. The GStreamer team is thrilled to announce a new major feature release of your favourite cross-platform multimedia framework! diff --git a/subprojects/gst-editing-services/gst-editing-services.doap b/subprojects/gst-editing-services/gst-editing-services.doap index 8da5fb550d..12e5ae90c3 100644 --- a/subprojects/gst-editing-services/gst-editing-services.doap +++ b/subprojects/gst-editing-services/gst-editing-services.doap @@ -30,6 +30,16 @@ GStreamer library for creating audio and video editors + + + 1.20.4 + 1.20 + + 2022-10-12 + + + + 1.20.3 diff --git a/subprojects/gst-editing-services/meson.build b/subprojects/gst-editing-services/meson.build index 2c66d66e2e..2efa61a035 100644 --- a/subprojects/gst-editing-services/meson.build +++ b/subprojects/gst-editing-services/meson.build @@ -1,5 +1,5 @@ project('gst-editing-services', 'c', - version : '1.20.3.1', + version : '1.20.4', meson_version : '>= 0.59', default_options : [ 'warning_level=1', 'buildtype=debugoptimized' ]) diff --git a/subprojects/gst-examples/meson.build b/subprojects/gst-examples/meson.build index 6028591b35..df9c88825d 100644 --- a/subprojects/gst-examples/meson.build +++ b/subprojects/gst-examples/meson.build @@ -1,4 +1,4 @@ -project('gst-examples', 'c', version : '1.20.3.1', license : 'LGPL') +project('gst-examples', 'c', version : '1.20.4', license : 'LGPL') cc = meson.get_compiler('c') m_dep = cc.find_library('m', required : false) diff --git a/subprojects/gst-integration-testsuites/meson.build b/subprojects/gst-integration-testsuites/meson.build index 9ebfb9ebbc..237db8f63e 100644 --- a/subprojects/gst-integration-testsuites/meson.build +++ b/subprojects/gst-integration-testsuites/meson.build @@ -1 +1 @@ -project('gst-integration-testsuites', [], version: '1.20.3.1', meson_version : '>= 0.59', license: 'LGPL') +project('gst-integration-testsuites', [], version: '1.20.4', meson_version : '>= 0.59', license: 'LGPL') diff --git a/subprojects/gst-libav/ChangeLog b/subprojects/gst-libav/ChangeLog index e2a77b412c..5335b31097 100644 --- a/subprojects/gst-libav/ChangeLog +++ b/subprojects/gst-libav/ChangeLog @@ -1,3 +1,18 @@ +=== release 1.20.4 === + +2022-10-12 16:39:47 +0100 Tim-Philipp Müller + + * NEWS: + * RELEASE: + * gst-libav.doap: + * meson.build: + Release 1.20.4 + +2022-10-12 16:39:40 +0100 Tim-Philipp Müller + + * ChangeLog: + Update ChangeLogs for 1.20.4 + 2022-10-04 21:27:36 +0200 Mathieu Duponchelle * ext/libav/gstavauddec.c: diff --git a/subprojects/gst-libav/NEWS b/subprojects/gst-libav/NEWS index 8071b5da68..6aa0a9e3ed 100644 --- a/subprojects/gst-libav/NEWS +++ b/subprojects/gst-libav/NEWS @@ -2,13 +2,13 @@ GStreamer 1.20 Release Notes GStreamer 1.20.0 was originally released on 3 February 2022. -The latest bug-fix release in the 1.20 series is 1.20.3 and was released -on 15 June 2022. +The latest bug-fix release in the 1.20 series is 1.20.4 and was released +on 12 October 2022. See https://gstreamer.freedesktop.org/releases/1.20/ for the latest version of this document. -Last updated: Monday 15 June 2022, 17:00 UTC (log) +Last updated: Wednesday 12 October 2022, 15:00 UTC (log) Introduction @@ -757,7 +757,8 @@ New element features and additions - matroskamux: accept in-band SPS/PPS/VPS for H.264 and H.265 (i.e. stream-format avc3 and hev1) which allows on-the-fly - profile/level/resolution changes. + profile/level changes, and from 1.20.4 onwards also resolution + changes. - matroskamux: new "cluster-timestamp-offset" property, useful for use cases where the container timestamps should map to some absolute @@ -909,7 +910,7 @@ New element features and additions - vp8enc: finish support for temporal scalability: two new properties ("temporal-scalability-layer-flags", "temporal-scalability-layer-sync-flags") and a unit change on the - "temporal-scalability-target-bitrate" property (now expects bps); + "temporal-scalability-target-bitrate” property (now expects bps); also make temporal scalability details available to RTP payloaders as buffer metadata. @@ -1754,7 +1755,7 @@ Possibly Breaking and Other Noteworthy Behavioural Changes names of internal elements anyway. - The vp8enc element now expects bps (bits per second) for the - "temporal-scalability-target-bitrate" property, which is consistent + "temporal-scalability-target-bitrate” property, which is consistent with the "target-bitrate" property. Since additional configuration is required with modern libvpx to make temporal scaling work anyway, chances are that very few people will have been using this property @@ -2503,15 +2504,293 @@ List of merge requests and issues fixed in 1.20.3 - List of Merge Requests applied in 1.20.3 - List of Issues fixed in 1.20.3 +1.20.4 + +The fourth 1.20 bug-fix release (1.20.4) was released on 12 October +2022. + +This release only contains bugfixes and it should be safe to upgrade +from 1.20.x. + +Highlighted bugfixes in 1.20.4 + +- avaudiodec: fix playback issue with WMA files, would throw an error + at EOS with FFmpeg 5.x +- Fix deadlock when loading gst-editing-services plugin +- Fix input buffering capacity in live mode for aggregator, + video/audio aggregator subclasses, muxers +- glimagesink: fix crash on Android +- subtitle handling and subtitle overlay fixes +- matroska-mux: allow width + height changes for avc3|hev1|vp8|vp9 +- rtspsrc: fix control url handling for spec compliant servers and add + fallback for incompliant servers +- WebRTC fixes +- RTP retransmission fixes +- video: fixes for formats with 4x subsampling and horizontal co-sited + chroma (Y41B, YUV9, YVU9 and IYU9) +- macOS build and packaging fixes, in particular fix finding of gio + modules on macOS for https/TLS support +- Performance improvements +- Miscellaneous bug fixes, memory leak fixes, and other stability and + reliability improvements + +gstreamer + +- buffer: drop parent meta in deep copy/foreach_metadata +- devicemonitor: Use a sync bus handler for the provider to avoid + accumulating all messages until the provider is stopped +- element: Fix requesting of pads with string templates +- gst: Protect initialization state with a recursive mutex +- gst: add missing define guard for build without gstreamer debug + logging support +- gst_init: Initialize static plugins just before dynamic plugins +- info: Parse “NONE” as a valid level name +- meta: Set the parent refcount of the GstStructure correctly +- pluginloader: Don’t hang on short reads/writes +- tracers: leaks: fix potentially invalid memory access when trying to + detect object type +- tracers: leaks: fix object-refings.class flags +- uri: When setting the same string again do nothing +- value: Don’t loop forever when serializing invalid flag + +Base Libraries + +- aggregator: fix input buffering in live mode (was too low before in + many cases) +- aggregator: fix reversed active/flushing arguments in debug log + output +- aggregator: Reset EOS flag after receiving a stream-start event + +Core Elements + +- queue2: Hold the lock when modifying sinkresult +- queue2: Fix deadlock when deactivate is called in pull mode + +gst-plugins-base + +- decodebin3: fix mutex leaks +- decodebin3: Fix memory issues with active selection list +- decodebin3, uridecodebin3, urisourcebin: Event handling fixes +- decodebin3: fix EOS event sequence +- parsebin: Avoid crash with unknown streams +- parsebin: SIGSEGV during HLS stream using souphttpsrc +- glimagesink: only allow setting the GL display/context if it is a + valid value +- glimagesink: segfault on android devices +- gstgl: Fix several memory leaks in macOS +- opusenc: improve inband-fec property documentation +- playsink: Hold a reference to the soft volume element +- pbutils: descriptions: fix gst_pb_utils_get_caps_description_flags() +- rtspurl: Use gst_uri_join_strings() in + gst_rtsp_url_get_request_uri_with_control() instead of a + hand-crafted, wrong version +- rtspconnection: protect cancellable by a mutex +- sdpmessage: Don’t set SDP medias from caps without + media/payload/clock-rate fields +- samiparse: fix handling of self-closing tags +- ssaparse: include required system headers for isspace() and sscanf() + functions +- subparse: fix crash when parsing invalid timestamps in mpl2 +- subparse fixes +- textoverlay: Don’t miscalculate text running times +- videoaggregator: always convert when user provides converter-config +- video: Fix scaling in 4x horizontal co-sited chroma (Y41B, YUV9, + YVU9 and IYU9) +- xmptag: register musicbrainz tags during init to fix critical in + jpegparse +- xvimagesink: fix image leaks in error code path +- tests: skip unit tests for dependency-less elements that have been + disabled + +Tools + +- No changes + +gst-plugins-good + +- alpha: fix stride issue when out buffer has padding on right +- isoff: Fix earliest pts field parse issue +- matroska-mux: allow width + height changes for avc3|hev1|vp8|vp9 +- qt: Fix another instance of Qt/GStreamer both defining GLsync + differently +- qtdemux: Avoid crash on reconfiguring. +- qtdemux: guard against timestamp calculation overflow in gap event + loop +- qtdemux: Don’t use invalid values from failed trex parsing +- qtdemux: possible endless loop +- rtpjitterbuffer: Only unschedule timers for late packets if they’re + not RTX packets and only once +- rtpjitterbuffer: remove lost timer for out of order packets +- rtspsrc: SETUP generates 400 Bad Request +- rtspsrc: Retry SETUP with non-compliant URL resolution on “Bad + Request” and “Not found” +- rtpst2022-1-fecenc: Drain column packets on EOS +- rtpvp8depay: If configured to wait for keyframes after packet loss, + also do that if incomplete frames are detected +- splitmuxsink: Don’t crash on EOS without buffer +- splitmuxsrc: Stop pad task before cleanup +- splitmuxsrc: don’t consider unlinked pads when deactivating part +- soup: libsoup3 makes audio streaming stop +- v4l2: fix critical when unreferencign buffer with no data +- v4l2bufferpool: Fix debug trace +- v4l2object: Add support for Apple’s full-range bt709 colorspace + variant 1:3:5:1 +- v4l2videocodec: workaround for failure to fully drain frames + preceding MIDSTREAM renegotiation +- v4l2allocator: Fix invalid imported dmabuf fd +- videoflip: Fix caps negotiation when method is selected +- build failure trying to build jack examples +- examples: don’t try and build jack examples if jack was disabled +- tests: skip unit tests for dependency-less elements that have been + disabled + +gst-plugins-bad + +- amcvideodec: fix GstAmcSurfaceTexture segfault +- audiobuffersplit: Fix drift that was introduced by wrong + calculations in gapless mode +- avfvideosrc: Fix wrong default framerate value +- audiovisualizer: fix buffer mapping to not increase refcount +- d3d11decoder: Check 16K resolution support +- d3d11videosink: Fix for force-aspect-ratio setting when rendering on + shared texture +- mxfdemux: Always calculate BlockAlign of raw audio to work around + files with broken BlockAlign field in the headers +- nvdec: Fix for HEVC decoding when coded resolution is larger than + display resolution +- openh264: Register debug categories earlier +- openh264enc: Fix constrained-high encoding +- openmpt: update from now deprecated api +- GstPlay: missing cleanup for g_autoptr +- player/play: Fix object construction and various leaks +- player: Plug a memory leak +- proxysink: Make sure stream-start and caps events are forwarded, and + fix memory leak +- tsdemux: Don’t trigger a program change when falling back to + ignore-pcr behaviour +- va: allocator: Fix translation of VADRMPRIMESurfaceDescriptor +- va: h265dec: Fix a crash because of missing reference frame. +- vah265dec: Decoder segfaults on seek +- wasapi: Implement default audio channel mask +- wasapi2: Fix initial mute/volume setting +- webrtcbin: Limit sink query to sink pads +- webrtcbin: Fix pointer dereference before null check +- webrtc: Make sure to return NULL when validating TURN server fails +- tests: skip unit tests for dependency-less elements that have been + disabled + +gst-plugins-ugly + +- tests: skip unit tests for dependency-less elements that have been + disabled + +gst-libav + +- avauddec: fix regression with WMA files, would throw an error at EOS +- avauddec: fix unnecessary reconfiguration if the audio layout isn’t + specified +- libav: Fix for APNG encoder property registration +- Failure to decode end of WMA file + +gst-rtsp-server + +- gst-rtsp-server: Fix pushing backlog to client +- rtsp-server: stream: Don’t loop forever if binding to the multicast + address fails + +gstreamer-vaapi + +- vaapi: Handle when no encoders/decoders available. +- vaapi: Crash in gst_vaapidecode_class_init() when no + decoders/encoders available + +gstreamer-sharp + +- No changes + +gst-omx + +- No changes + +gst-python + +- python: Do not call gst_init when it is already is_initialized + +gst-editing-services + +- Deadlock in ges because of recursive gst_init() call +- ges/gstframepositioner: don’t create one compositor per frame meta +- nle: clear seek event properly + +gst-examples: + +- examples/webrtc/signalling: Fix compatibility with Python 3.10 + +Development build environment + gst-full build + +- build: Fix some compiler warnings by upgrading wraps +- dv, opusparse: fix duplicate symbols in static build +- Fix fedora 36 warnings - OpenSSL 3.0 deprecations + GLib 2.72 + tls-validation deprecations +- Various macOS build fixes +- meson: Improve certifi documentation on macOS + +Cerbero build tool and packaging changes in 1.20.4 + +- Add Ubuntu 22.04 Jammy Jellyfish +- Add gst-rtsp-server library to the macOS framework +- cerbero: Quick fix for gen-cache breakage +- macos: Fix the install_name for the GStreamer framework +- Download using powershell on Windows and rework download func +- macos: Add arm64 to the metadata for the installer +- cerbero: Allow building on Linux ARM64 +- pkg-config.recipe: Add to core platform files list +- git: Fix issue with last security patch +- distros: Fix CentOS allowance +- cerbero: Print working directory for commands that are run +- cerbero: Fix license property usage example +- Fix issue getting distro_version in Debian Bookworm +- glib: Fix gio modules loading on macOS +- cmake: Fix macOS ARM64 -> x86_64 cross-compilation +- Fix logo display in macOS installer +- openssl.recipe: Fix segfault on latest macOS +- msvc: Fix for broken CRT linking at application project because of + MSVCRT linking +- cerbero: Do not add rpaths that already exist on macOS +- android: fix build with android gradle plugin 7.2 +- macOS framework is unusable starting from 1.18.0 + +Contributors to 1.20.4 + +Adrian Fiergolski, Aleksandr Slobodeniuk, Andoni Morales Alastruey, +Andrew Pritchard, Bruce Liang, Corentin Damman, Daniel Morin, Edward +Hervey, Elliot Chen, Fabian Orccon, fduncanh, Guillaume Desmottes, +Haihua Hu, He Junyan, Ignazio Pillai, James Cowgill, James Hilliard, Jan +Alexander Steffens (heftig), Jan Schmidt, Jianhui Dai, Jonas Danielsson, +Jordan Petridis, Khem Raj, Krystian Wojtas, Martin Dørum, Mart Raudsepp, +Mathieu Duponchelle, Matthew Waters, Matthias Clasen, Nicolas Dufresne, +Nirbheek Chauhan, Olivier Crête, Paweł Stawicki, Philippe Normand, +Philipp Zabel, Piotr Brzeziński, Rafael Caricio, Rafael Sobral, Raul +Tambre, Ruben Gonzalez, Sangchul Lee, Sebastian Dröge, Seungha Yang, +Stéphane Cerveau, Thibault Saunier, Tim-Philipp Müller, Tristan +Matthews, Víctor Manuel Jáquez Leal, Xavier Claessens, Zhiyuan Liu, + +… and many others who have contributed bug reports, translations, sent +suggestions or helped testing. Thank you all! + +List of merge requests and issues fixed in 1.20.4 + +- List of Merge Requests applied in 1.20.4 +- List of Issues fixed in 1.20.4 + Schedule for 1.22 Our next major feature release will be 1.22, and 1.21 will be the unstable development version leading up to the stable 1.22 release. The development of 1.21/1.22 will happen in the git main branch. -The plan for the 1.22 development cycle is yet to be confirmed. Assuming -no major project-wide reorganisations in the 1.22 cycle we might try and -aim for a release around August 2022. +The plan for the 1.22 development cycle is now confirmed, and we aim for +a 1.22.0 release in December 2022. 1.22 will be backwards-compatible to the stable 1.20, 1.18, 1.16, 1.14, 1.12, 1.10, 1.8, 1.6, 1.4, 1.2 and 1.0 release series. diff --git a/subprojects/gst-libav/RELEASE b/subprojects/gst-libav/RELEASE index bbe3df11c4..611550cceb 100644 --- a/subprojects/gst-libav/RELEASE +++ b/subprojects/gst-libav/RELEASE @@ -1,4 +1,4 @@ -This is GStreamer gst-libav 1.20.3. +This is GStreamer gst-libav 1.20.4. The GStreamer team is thrilled to announce a new major feature release of your favourite cross-platform multimedia framework! diff --git a/subprojects/gst-libav/gst-libav.doap b/subprojects/gst-libav/gst-libav.doap index 26a01fa48f..6579dc4e80 100644 --- a/subprojects/gst-libav/gst-libav.doap +++ b/subprojects/gst-libav/gst-libav.doap @@ -32,6 +32,16 @@ colorspace conversion elements. + + + 1.20.4 + 1.20 + + 2022-10-12 + + + + 1.20.3 diff --git a/subprojects/gst-libav/meson.build b/subprojects/gst-libav/meson.build index 0d54aaf736..f6e5611089 100644 --- a/subprojects/gst-libav/meson.build +++ b/subprojects/gst-libav/meson.build @@ -1,5 +1,5 @@ project('gst-libav', 'c', - version : '1.20.3.1', + version : '1.20.4', meson_version : '>= 0.59', default_options : [ 'warning_level=1', 'buildtype=debugoptimized' ]) diff --git a/subprojects/gst-omx/ChangeLog b/subprojects/gst-omx/ChangeLog index 1708213e45..068fd2735f 100644 --- a/subprojects/gst-omx/ChangeLog +++ b/subprojects/gst-omx/ChangeLog @@ -1,3 +1,18 @@ +=== release 1.20.4 === + +2022-10-12 16:39:47 +0100 Tim-Philipp Müller + + * NEWS: + * RELEASE: + * gst-omx.doap: + * meson.build: + Release 1.20.4 + +2022-10-12 16:39:40 +0100 Tim-Philipp Müller + + * ChangeLog: + Update ChangeLogs for 1.20.4 + 2022-06-29 10:55:13 +0100 Tim-Philipp Müller * meson.build: diff --git a/subprojects/gst-omx/NEWS b/subprojects/gst-omx/NEWS index 8071b5da68..6aa0a9e3ed 100644 --- a/subprojects/gst-omx/NEWS +++ b/subprojects/gst-omx/NEWS @@ -2,13 +2,13 @@ GStreamer 1.20 Release Notes GStreamer 1.20.0 was originally released on 3 February 2022. -The latest bug-fix release in the 1.20 series is 1.20.3 and was released -on 15 June 2022. +The latest bug-fix release in the 1.20 series is 1.20.4 and was released +on 12 October 2022. See https://gstreamer.freedesktop.org/releases/1.20/ for the latest version of this document. -Last updated: Monday 15 June 2022, 17:00 UTC (log) +Last updated: Wednesday 12 October 2022, 15:00 UTC (log) Introduction @@ -757,7 +757,8 @@ New element features and additions - matroskamux: accept in-band SPS/PPS/VPS for H.264 and H.265 (i.e. stream-format avc3 and hev1) which allows on-the-fly - profile/level/resolution changes. + profile/level changes, and from 1.20.4 onwards also resolution + changes. - matroskamux: new "cluster-timestamp-offset" property, useful for use cases where the container timestamps should map to some absolute @@ -909,7 +910,7 @@ New element features and additions - vp8enc: finish support for temporal scalability: two new properties ("temporal-scalability-layer-flags", "temporal-scalability-layer-sync-flags") and a unit change on the - "temporal-scalability-target-bitrate" property (now expects bps); + "temporal-scalability-target-bitrate” property (now expects bps); also make temporal scalability details available to RTP payloaders as buffer metadata. @@ -1754,7 +1755,7 @@ Possibly Breaking and Other Noteworthy Behavioural Changes names of internal elements anyway. - The vp8enc element now expects bps (bits per second) for the - "temporal-scalability-target-bitrate" property, which is consistent + "temporal-scalability-target-bitrate” property, which is consistent with the "target-bitrate" property. Since additional configuration is required with modern libvpx to make temporal scaling work anyway, chances are that very few people will have been using this property @@ -2503,15 +2504,293 @@ List of merge requests and issues fixed in 1.20.3 - List of Merge Requests applied in 1.20.3 - List of Issues fixed in 1.20.3 +1.20.4 + +The fourth 1.20 bug-fix release (1.20.4) was released on 12 October +2022. + +This release only contains bugfixes and it should be safe to upgrade +from 1.20.x. + +Highlighted bugfixes in 1.20.4 + +- avaudiodec: fix playback issue with WMA files, would throw an error + at EOS with FFmpeg 5.x +- Fix deadlock when loading gst-editing-services plugin +- Fix input buffering capacity in live mode for aggregator, + video/audio aggregator subclasses, muxers +- glimagesink: fix crash on Android +- subtitle handling and subtitle overlay fixes +- matroska-mux: allow width + height changes for avc3|hev1|vp8|vp9 +- rtspsrc: fix control url handling for spec compliant servers and add + fallback for incompliant servers +- WebRTC fixes +- RTP retransmission fixes +- video: fixes for formats with 4x subsampling and horizontal co-sited + chroma (Y41B, YUV9, YVU9 and IYU9) +- macOS build and packaging fixes, in particular fix finding of gio + modules on macOS for https/TLS support +- Performance improvements +- Miscellaneous bug fixes, memory leak fixes, and other stability and + reliability improvements + +gstreamer + +- buffer: drop parent meta in deep copy/foreach_metadata +- devicemonitor: Use a sync bus handler for the provider to avoid + accumulating all messages until the provider is stopped +- element: Fix requesting of pads with string templates +- gst: Protect initialization state with a recursive mutex +- gst: add missing define guard for build without gstreamer debug + logging support +- gst_init: Initialize static plugins just before dynamic plugins +- info: Parse “NONE” as a valid level name +- meta: Set the parent refcount of the GstStructure correctly +- pluginloader: Don’t hang on short reads/writes +- tracers: leaks: fix potentially invalid memory access when trying to + detect object type +- tracers: leaks: fix object-refings.class flags +- uri: When setting the same string again do nothing +- value: Don’t loop forever when serializing invalid flag + +Base Libraries + +- aggregator: fix input buffering in live mode (was too low before in + many cases) +- aggregator: fix reversed active/flushing arguments in debug log + output +- aggregator: Reset EOS flag after receiving a stream-start event + +Core Elements + +- queue2: Hold the lock when modifying sinkresult +- queue2: Fix deadlock when deactivate is called in pull mode + +gst-plugins-base + +- decodebin3: fix mutex leaks +- decodebin3: Fix memory issues with active selection list +- decodebin3, uridecodebin3, urisourcebin: Event handling fixes +- decodebin3: fix EOS event sequence +- parsebin: Avoid crash with unknown streams +- parsebin: SIGSEGV during HLS stream using souphttpsrc +- glimagesink: only allow setting the GL display/context if it is a + valid value +- glimagesink: segfault on android devices +- gstgl: Fix several memory leaks in macOS +- opusenc: improve inband-fec property documentation +- playsink: Hold a reference to the soft volume element +- pbutils: descriptions: fix gst_pb_utils_get_caps_description_flags() +- rtspurl: Use gst_uri_join_strings() in + gst_rtsp_url_get_request_uri_with_control() instead of a + hand-crafted, wrong version +- rtspconnection: protect cancellable by a mutex +- sdpmessage: Don’t set SDP medias from caps without + media/payload/clock-rate fields +- samiparse: fix handling of self-closing tags +- ssaparse: include required system headers for isspace() and sscanf() + functions +- subparse: fix crash when parsing invalid timestamps in mpl2 +- subparse fixes +- textoverlay: Don’t miscalculate text running times +- videoaggregator: always convert when user provides converter-config +- video: Fix scaling in 4x horizontal co-sited chroma (Y41B, YUV9, + YVU9 and IYU9) +- xmptag: register musicbrainz tags during init to fix critical in + jpegparse +- xvimagesink: fix image leaks in error code path +- tests: skip unit tests for dependency-less elements that have been + disabled + +Tools + +- No changes + +gst-plugins-good + +- alpha: fix stride issue when out buffer has padding on right +- isoff: Fix earliest pts field parse issue +- matroska-mux: allow width + height changes for avc3|hev1|vp8|vp9 +- qt: Fix another instance of Qt/GStreamer both defining GLsync + differently +- qtdemux: Avoid crash on reconfiguring. +- qtdemux: guard against timestamp calculation overflow in gap event + loop +- qtdemux: Don’t use invalid values from failed trex parsing +- qtdemux: possible endless loop +- rtpjitterbuffer: Only unschedule timers for late packets if they’re + not RTX packets and only once +- rtpjitterbuffer: remove lost timer for out of order packets +- rtspsrc: SETUP generates 400 Bad Request +- rtspsrc: Retry SETUP with non-compliant URL resolution on “Bad + Request” and “Not found” +- rtpst2022-1-fecenc: Drain column packets on EOS +- rtpvp8depay: If configured to wait for keyframes after packet loss, + also do that if incomplete frames are detected +- splitmuxsink: Don’t crash on EOS without buffer +- splitmuxsrc: Stop pad task before cleanup +- splitmuxsrc: don’t consider unlinked pads when deactivating part +- soup: libsoup3 makes audio streaming stop +- v4l2: fix critical when unreferencign buffer with no data +- v4l2bufferpool: Fix debug trace +- v4l2object: Add support for Apple’s full-range bt709 colorspace + variant 1:3:5:1 +- v4l2videocodec: workaround for failure to fully drain frames + preceding MIDSTREAM renegotiation +- v4l2allocator: Fix invalid imported dmabuf fd +- videoflip: Fix caps negotiation when method is selected +- build failure trying to build jack examples +- examples: don’t try and build jack examples if jack was disabled +- tests: skip unit tests for dependency-less elements that have been + disabled + +gst-plugins-bad + +- amcvideodec: fix GstAmcSurfaceTexture segfault +- audiobuffersplit: Fix drift that was introduced by wrong + calculations in gapless mode +- avfvideosrc: Fix wrong default framerate value +- audiovisualizer: fix buffer mapping to not increase refcount +- d3d11decoder: Check 16K resolution support +- d3d11videosink: Fix for force-aspect-ratio setting when rendering on + shared texture +- mxfdemux: Always calculate BlockAlign of raw audio to work around + files with broken BlockAlign field in the headers +- nvdec: Fix for HEVC decoding when coded resolution is larger than + display resolution +- openh264: Register debug categories earlier +- openh264enc: Fix constrained-high encoding +- openmpt: update from now deprecated api +- GstPlay: missing cleanup for g_autoptr +- player/play: Fix object construction and various leaks +- player: Plug a memory leak +- proxysink: Make sure stream-start and caps events are forwarded, and + fix memory leak +- tsdemux: Don’t trigger a program change when falling back to + ignore-pcr behaviour +- va: allocator: Fix translation of VADRMPRIMESurfaceDescriptor +- va: h265dec: Fix a crash because of missing reference frame. +- vah265dec: Decoder segfaults on seek +- wasapi: Implement default audio channel mask +- wasapi2: Fix initial mute/volume setting +- webrtcbin: Limit sink query to sink pads +- webrtcbin: Fix pointer dereference before null check +- webrtc: Make sure to return NULL when validating TURN server fails +- tests: skip unit tests for dependency-less elements that have been + disabled + +gst-plugins-ugly + +- tests: skip unit tests for dependency-less elements that have been + disabled + +gst-libav + +- avauddec: fix regression with WMA files, would throw an error at EOS +- avauddec: fix unnecessary reconfiguration if the audio layout isn’t + specified +- libav: Fix for APNG encoder property registration +- Failure to decode end of WMA file + +gst-rtsp-server + +- gst-rtsp-server: Fix pushing backlog to client +- rtsp-server: stream: Don’t loop forever if binding to the multicast + address fails + +gstreamer-vaapi + +- vaapi: Handle when no encoders/decoders available. +- vaapi: Crash in gst_vaapidecode_class_init() when no + decoders/encoders available + +gstreamer-sharp + +- No changes + +gst-omx + +- No changes + +gst-python + +- python: Do not call gst_init when it is already is_initialized + +gst-editing-services + +- Deadlock in ges because of recursive gst_init() call +- ges/gstframepositioner: don’t create one compositor per frame meta +- nle: clear seek event properly + +gst-examples: + +- examples/webrtc/signalling: Fix compatibility with Python 3.10 + +Development build environment + gst-full build + +- build: Fix some compiler warnings by upgrading wraps +- dv, opusparse: fix duplicate symbols in static build +- Fix fedora 36 warnings - OpenSSL 3.0 deprecations + GLib 2.72 + tls-validation deprecations +- Various macOS build fixes +- meson: Improve certifi documentation on macOS + +Cerbero build tool and packaging changes in 1.20.4 + +- Add Ubuntu 22.04 Jammy Jellyfish +- Add gst-rtsp-server library to the macOS framework +- cerbero: Quick fix for gen-cache breakage +- macos: Fix the install_name for the GStreamer framework +- Download using powershell on Windows and rework download func +- macos: Add arm64 to the metadata for the installer +- cerbero: Allow building on Linux ARM64 +- pkg-config.recipe: Add to core platform files list +- git: Fix issue with last security patch +- distros: Fix CentOS allowance +- cerbero: Print working directory for commands that are run +- cerbero: Fix license property usage example +- Fix issue getting distro_version in Debian Bookworm +- glib: Fix gio modules loading on macOS +- cmake: Fix macOS ARM64 -> x86_64 cross-compilation +- Fix logo display in macOS installer +- openssl.recipe: Fix segfault on latest macOS +- msvc: Fix for broken CRT linking at application project because of + MSVCRT linking +- cerbero: Do not add rpaths that already exist on macOS +- android: fix build with android gradle plugin 7.2 +- macOS framework is unusable starting from 1.18.0 + +Contributors to 1.20.4 + +Adrian Fiergolski, Aleksandr Slobodeniuk, Andoni Morales Alastruey, +Andrew Pritchard, Bruce Liang, Corentin Damman, Daniel Morin, Edward +Hervey, Elliot Chen, Fabian Orccon, fduncanh, Guillaume Desmottes, +Haihua Hu, He Junyan, Ignazio Pillai, James Cowgill, James Hilliard, Jan +Alexander Steffens (heftig), Jan Schmidt, Jianhui Dai, Jonas Danielsson, +Jordan Petridis, Khem Raj, Krystian Wojtas, Martin Dørum, Mart Raudsepp, +Mathieu Duponchelle, Matthew Waters, Matthias Clasen, Nicolas Dufresne, +Nirbheek Chauhan, Olivier Crête, Paweł Stawicki, Philippe Normand, +Philipp Zabel, Piotr Brzeziński, Rafael Caricio, Rafael Sobral, Raul +Tambre, Ruben Gonzalez, Sangchul Lee, Sebastian Dröge, Seungha Yang, +Stéphane Cerveau, Thibault Saunier, Tim-Philipp Müller, Tristan +Matthews, Víctor Manuel Jáquez Leal, Xavier Claessens, Zhiyuan Liu, + +… and many others who have contributed bug reports, translations, sent +suggestions or helped testing. Thank you all! + +List of merge requests and issues fixed in 1.20.4 + +- List of Merge Requests applied in 1.20.4 +- List of Issues fixed in 1.20.4 + Schedule for 1.22 Our next major feature release will be 1.22, and 1.21 will be the unstable development version leading up to the stable 1.22 release. The development of 1.21/1.22 will happen in the git main branch. -The plan for the 1.22 development cycle is yet to be confirmed. Assuming -no major project-wide reorganisations in the 1.22 cycle we might try and -aim for a release around August 2022. +The plan for the 1.22 development cycle is now confirmed, and we aim for +a 1.22.0 release in December 2022. 1.22 will be backwards-compatible to the stable 1.20, 1.18, 1.16, 1.14, 1.12, 1.10, 1.8, 1.6, 1.4, 1.2 and 1.0 release series. diff --git a/subprojects/gst-omx/RELEASE b/subprojects/gst-omx/RELEASE index a8dc3b486d..666e1d4aeb 100644 --- a/subprojects/gst-omx/RELEASE +++ b/subprojects/gst-omx/RELEASE @@ -1,4 +1,4 @@ -This is GStreamer gst-omx 1.20.3. +This is GStreamer gst-omx 1.20.4. The GStreamer team is thrilled to announce a new major feature release of your favourite cross-platform multimedia framework! diff --git a/subprojects/gst-omx/gst-omx.doap b/subprojects/gst-omx/gst-omx.doap index 6fb7a6cdc1..f5f13e336e 100644 --- a/subprojects/gst-omx/gst-omx.doap +++ b/subprojects/gst-omx/gst-omx.doap @@ -31,6 +31,16 @@ a basic collection of elements + + + 1.20.4 + 1.20 + + 2022-10-12 + + + + 1.20.3 diff --git a/subprojects/gst-omx/meson.build b/subprojects/gst-omx/meson.build index 5149616ffe..75c61bcb34 100644 --- a/subprojects/gst-omx/meson.build +++ b/subprojects/gst-omx/meson.build @@ -1,5 +1,5 @@ project('gst-omx', 'c', - version : '1.20.3.1', + version : '1.20.4', meson_version : '>= 0.59', default_options : [ 'warning_level=1', 'buildtype=debugoptimized' ]) diff --git a/subprojects/gst-plugins-bad/ChangeLog b/subprojects/gst-plugins-bad/ChangeLog index 05d87cec91..9dfdf14d09 100644 --- a/subprojects/gst-plugins-bad/ChangeLog +++ b/subprojects/gst-plugins-bad/ChangeLog @@ -1,3 +1,18 @@ +=== release 1.20.4 === + +2022-10-12 16:39:47 +0100 Tim-Philipp Müller + + * NEWS: + * RELEASE: + * gst-plugins-bad.doap: + * meson.build: + Release 1.20.4 + +2022-10-12 16:39:40 +0100 Tim-Philipp Müller + + * ChangeLog: + Update ChangeLogs for 1.20.4 + 2022-08-08 23:37:11 +0900 Seungha Yang * gst/mxf/mxfaes-bwf.c: diff --git a/subprojects/gst-plugins-bad/NEWS b/subprojects/gst-plugins-bad/NEWS index 8071b5da68..6aa0a9e3ed 100644 --- a/subprojects/gst-plugins-bad/NEWS +++ b/subprojects/gst-plugins-bad/NEWS @@ -2,13 +2,13 @@ GStreamer 1.20 Release Notes GStreamer 1.20.0 was originally released on 3 February 2022. -The latest bug-fix release in the 1.20 series is 1.20.3 and was released -on 15 June 2022. +The latest bug-fix release in the 1.20 series is 1.20.4 and was released +on 12 October 2022. See https://gstreamer.freedesktop.org/releases/1.20/ for the latest version of this document. -Last updated: Monday 15 June 2022, 17:00 UTC (log) +Last updated: Wednesday 12 October 2022, 15:00 UTC (log) Introduction @@ -757,7 +757,8 @@ New element features and additions - matroskamux: accept in-band SPS/PPS/VPS for H.264 and H.265 (i.e. stream-format avc3 and hev1) which allows on-the-fly - profile/level/resolution changes. + profile/level changes, and from 1.20.4 onwards also resolution + changes. - matroskamux: new "cluster-timestamp-offset" property, useful for use cases where the container timestamps should map to some absolute @@ -909,7 +910,7 @@ New element features and additions - vp8enc: finish support for temporal scalability: two new properties ("temporal-scalability-layer-flags", "temporal-scalability-layer-sync-flags") and a unit change on the - "temporal-scalability-target-bitrate" property (now expects bps); + "temporal-scalability-target-bitrate” property (now expects bps); also make temporal scalability details available to RTP payloaders as buffer metadata. @@ -1754,7 +1755,7 @@ Possibly Breaking and Other Noteworthy Behavioural Changes names of internal elements anyway. - The vp8enc element now expects bps (bits per second) for the - "temporal-scalability-target-bitrate" property, which is consistent + "temporal-scalability-target-bitrate” property, which is consistent with the "target-bitrate" property. Since additional configuration is required with modern libvpx to make temporal scaling work anyway, chances are that very few people will have been using this property @@ -2503,15 +2504,293 @@ List of merge requests and issues fixed in 1.20.3 - List of Merge Requests applied in 1.20.3 - List of Issues fixed in 1.20.3 +1.20.4 + +The fourth 1.20 bug-fix release (1.20.4) was released on 12 October +2022. + +This release only contains bugfixes and it should be safe to upgrade +from 1.20.x. + +Highlighted bugfixes in 1.20.4 + +- avaudiodec: fix playback issue with WMA files, would throw an error + at EOS with FFmpeg 5.x +- Fix deadlock when loading gst-editing-services plugin +- Fix input buffering capacity in live mode for aggregator, + video/audio aggregator subclasses, muxers +- glimagesink: fix crash on Android +- subtitle handling and subtitle overlay fixes +- matroska-mux: allow width + height changes for avc3|hev1|vp8|vp9 +- rtspsrc: fix control url handling for spec compliant servers and add + fallback for incompliant servers +- WebRTC fixes +- RTP retransmission fixes +- video: fixes for formats with 4x subsampling and horizontal co-sited + chroma (Y41B, YUV9, YVU9 and IYU9) +- macOS build and packaging fixes, in particular fix finding of gio + modules on macOS for https/TLS support +- Performance improvements +- Miscellaneous bug fixes, memory leak fixes, and other stability and + reliability improvements + +gstreamer + +- buffer: drop parent meta in deep copy/foreach_metadata +- devicemonitor: Use a sync bus handler for the provider to avoid + accumulating all messages until the provider is stopped +- element: Fix requesting of pads with string templates +- gst: Protect initialization state with a recursive mutex +- gst: add missing define guard for build without gstreamer debug + logging support +- gst_init: Initialize static plugins just before dynamic plugins +- info: Parse “NONE” as a valid level name +- meta: Set the parent refcount of the GstStructure correctly +- pluginloader: Don’t hang on short reads/writes +- tracers: leaks: fix potentially invalid memory access when trying to + detect object type +- tracers: leaks: fix object-refings.class flags +- uri: When setting the same string again do nothing +- value: Don’t loop forever when serializing invalid flag + +Base Libraries + +- aggregator: fix input buffering in live mode (was too low before in + many cases) +- aggregator: fix reversed active/flushing arguments in debug log + output +- aggregator: Reset EOS flag after receiving a stream-start event + +Core Elements + +- queue2: Hold the lock when modifying sinkresult +- queue2: Fix deadlock when deactivate is called in pull mode + +gst-plugins-base + +- decodebin3: fix mutex leaks +- decodebin3: Fix memory issues with active selection list +- decodebin3, uridecodebin3, urisourcebin: Event handling fixes +- decodebin3: fix EOS event sequence +- parsebin: Avoid crash with unknown streams +- parsebin: SIGSEGV during HLS stream using souphttpsrc +- glimagesink: only allow setting the GL display/context if it is a + valid value +- glimagesink: segfault on android devices +- gstgl: Fix several memory leaks in macOS +- opusenc: improve inband-fec property documentation +- playsink: Hold a reference to the soft volume element +- pbutils: descriptions: fix gst_pb_utils_get_caps_description_flags() +- rtspurl: Use gst_uri_join_strings() in + gst_rtsp_url_get_request_uri_with_control() instead of a + hand-crafted, wrong version +- rtspconnection: protect cancellable by a mutex +- sdpmessage: Don’t set SDP medias from caps without + media/payload/clock-rate fields +- samiparse: fix handling of self-closing tags +- ssaparse: include required system headers for isspace() and sscanf() + functions +- subparse: fix crash when parsing invalid timestamps in mpl2 +- subparse fixes +- textoverlay: Don’t miscalculate text running times +- videoaggregator: always convert when user provides converter-config +- video: Fix scaling in 4x horizontal co-sited chroma (Y41B, YUV9, + YVU9 and IYU9) +- xmptag: register musicbrainz tags during init to fix critical in + jpegparse +- xvimagesink: fix image leaks in error code path +- tests: skip unit tests for dependency-less elements that have been + disabled + +Tools + +- No changes + +gst-plugins-good + +- alpha: fix stride issue when out buffer has padding on right +- isoff: Fix earliest pts field parse issue +- matroska-mux: allow width + height changes for avc3|hev1|vp8|vp9 +- qt: Fix another instance of Qt/GStreamer both defining GLsync + differently +- qtdemux: Avoid crash on reconfiguring. +- qtdemux: guard against timestamp calculation overflow in gap event + loop +- qtdemux: Don’t use invalid values from failed trex parsing +- qtdemux: possible endless loop +- rtpjitterbuffer: Only unschedule timers for late packets if they’re + not RTX packets and only once +- rtpjitterbuffer: remove lost timer for out of order packets +- rtspsrc: SETUP generates 400 Bad Request +- rtspsrc: Retry SETUP with non-compliant URL resolution on “Bad + Request” and “Not found” +- rtpst2022-1-fecenc: Drain column packets on EOS +- rtpvp8depay: If configured to wait for keyframes after packet loss, + also do that if incomplete frames are detected +- splitmuxsink: Don’t crash on EOS without buffer +- splitmuxsrc: Stop pad task before cleanup +- splitmuxsrc: don’t consider unlinked pads when deactivating part +- soup: libsoup3 makes audio streaming stop +- v4l2: fix critical when unreferencign buffer with no data +- v4l2bufferpool: Fix debug trace +- v4l2object: Add support for Apple’s full-range bt709 colorspace + variant 1:3:5:1 +- v4l2videocodec: workaround for failure to fully drain frames + preceding MIDSTREAM renegotiation +- v4l2allocator: Fix invalid imported dmabuf fd +- videoflip: Fix caps negotiation when method is selected +- build failure trying to build jack examples +- examples: don’t try and build jack examples if jack was disabled +- tests: skip unit tests for dependency-less elements that have been + disabled + +gst-plugins-bad + +- amcvideodec: fix GstAmcSurfaceTexture segfault +- audiobuffersplit: Fix drift that was introduced by wrong + calculations in gapless mode +- avfvideosrc: Fix wrong default framerate value +- audiovisualizer: fix buffer mapping to not increase refcount +- d3d11decoder: Check 16K resolution support +- d3d11videosink: Fix for force-aspect-ratio setting when rendering on + shared texture +- mxfdemux: Always calculate BlockAlign of raw audio to work around + files with broken BlockAlign field in the headers +- nvdec: Fix for HEVC decoding when coded resolution is larger than + display resolution +- openh264: Register debug categories earlier +- openh264enc: Fix constrained-high encoding +- openmpt: update from now deprecated api +- GstPlay: missing cleanup for g_autoptr +- player/play: Fix object construction and various leaks +- player: Plug a memory leak +- proxysink: Make sure stream-start and caps events are forwarded, and + fix memory leak +- tsdemux: Don’t trigger a program change when falling back to + ignore-pcr behaviour +- va: allocator: Fix translation of VADRMPRIMESurfaceDescriptor +- va: h265dec: Fix a crash because of missing reference frame. +- vah265dec: Decoder segfaults on seek +- wasapi: Implement default audio channel mask +- wasapi2: Fix initial mute/volume setting +- webrtcbin: Limit sink query to sink pads +- webrtcbin: Fix pointer dereference before null check +- webrtc: Make sure to return NULL when validating TURN server fails +- tests: skip unit tests for dependency-less elements that have been + disabled + +gst-plugins-ugly + +- tests: skip unit tests for dependency-less elements that have been + disabled + +gst-libav + +- avauddec: fix regression with WMA files, would throw an error at EOS +- avauddec: fix unnecessary reconfiguration if the audio layout isn’t + specified +- libav: Fix for APNG encoder property registration +- Failure to decode end of WMA file + +gst-rtsp-server + +- gst-rtsp-server: Fix pushing backlog to client +- rtsp-server: stream: Don’t loop forever if binding to the multicast + address fails + +gstreamer-vaapi + +- vaapi: Handle when no encoders/decoders available. +- vaapi: Crash in gst_vaapidecode_class_init() when no + decoders/encoders available + +gstreamer-sharp + +- No changes + +gst-omx + +- No changes + +gst-python + +- python: Do not call gst_init when it is already is_initialized + +gst-editing-services + +- Deadlock in ges because of recursive gst_init() call +- ges/gstframepositioner: don’t create one compositor per frame meta +- nle: clear seek event properly + +gst-examples: + +- examples/webrtc/signalling: Fix compatibility with Python 3.10 + +Development build environment + gst-full build + +- build: Fix some compiler warnings by upgrading wraps +- dv, opusparse: fix duplicate symbols in static build +- Fix fedora 36 warnings - OpenSSL 3.0 deprecations + GLib 2.72 + tls-validation deprecations +- Various macOS build fixes +- meson: Improve certifi documentation on macOS + +Cerbero build tool and packaging changes in 1.20.4 + +- Add Ubuntu 22.04 Jammy Jellyfish +- Add gst-rtsp-server library to the macOS framework +- cerbero: Quick fix for gen-cache breakage +- macos: Fix the install_name for the GStreamer framework +- Download using powershell on Windows and rework download func +- macos: Add arm64 to the metadata for the installer +- cerbero: Allow building on Linux ARM64 +- pkg-config.recipe: Add to core platform files list +- git: Fix issue with last security patch +- distros: Fix CentOS allowance +- cerbero: Print working directory for commands that are run +- cerbero: Fix license property usage example +- Fix issue getting distro_version in Debian Bookworm +- glib: Fix gio modules loading on macOS +- cmake: Fix macOS ARM64 -> x86_64 cross-compilation +- Fix logo display in macOS installer +- openssl.recipe: Fix segfault on latest macOS +- msvc: Fix for broken CRT linking at application project because of + MSVCRT linking +- cerbero: Do not add rpaths that already exist on macOS +- android: fix build with android gradle plugin 7.2 +- macOS framework is unusable starting from 1.18.0 + +Contributors to 1.20.4 + +Adrian Fiergolski, Aleksandr Slobodeniuk, Andoni Morales Alastruey, +Andrew Pritchard, Bruce Liang, Corentin Damman, Daniel Morin, Edward +Hervey, Elliot Chen, Fabian Orccon, fduncanh, Guillaume Desmottes, +Haihua Hu, He Junyan, Ignazio Pillai, James Cowgill, James Hilliard, Jan +Alexander Steffens (heftig), Jan Schmidt, Jianhui Dai, Jonas Danielsson, +Jordan Petridis, Khem Raj, Krystian Wojtas, Martin Dørum, Mart Raudsepp, +Mathieu Duponchelle, Matthew Waters, Matthias Clasen, Nicolas Dufresne, +Nirbheek Chauhan, Olivier Crête, Paweł Stawicki, Philippe Normand, +Philipp Zabel, Piotr Brzeziński, Rafael Caricio, Rafael Sobral, Raul +Tambre, Ruben Gonzalez, Sangchul Lee, Sebastian Dröge, Seungha Yang, +Stéphane Cerveau, Thibault Saunier, Tim-Philipp Müller, Tristan +Matthews, Víctor Manuel Jáquez Leal, Xavier Claessens, Zhiyuan Liu, + +… and many others who have contributed bug reports, translations, sent +suggestions or helped testing. Thank you all! + +List of merge requests and issues fixed in 1.20.4 + +- List of Merge Requests applied in 1.20.4 +- List of Issues fixed in 1.20.4 + Schedule for 1.22 Our next major feature release will be 1.22, and 1.21 will be the unstable development version leading up to the stable 1.22 release. The development of 1.21/1.22 will happen in the git main branch. -The plan for the 1.22 development cycle is yet to be confirmed. Assuming -no major project-wide reorganisations in the 1.22 cycle we might try and -aim for a release around August 2022. +The plan for the 1.22 development cycle is now confirmed, and we aim for +a 1.22.0 release in December 2022. 1.22 will be backwards-compatible to the stable 1.20, 1.18, 1.16, 1.14, 1.12, 1.10, 1.8, 1.6, 1.4, 1.2 and 1.0 release series. diff --git a/subprojects/gst-plugins-bad/RELEASE b/subprojects/gst-plugins-bad/RELEASE index 2c22b2d26c..fd79fadd5d 100644 --- a/subprojects/gst-plugins-bad/RELEASE +++ b/subprojects/gst-plugins-bad/RELEASE @@ -1,4 +1,4 @@ -This is GStreamer gst-plugins-bad 1.20.3. +This is GStreamer gst-plugins-bad 1.20.4. The GStreamer team is thrilled to announce a new major feature release of your favourite cross-platform multimedia framework! diff --git a/subprojects/gst-plugins-bad/gst-plugins-bad.doap b/subprojects/gst-plugins-bad/gst-plugins-bad.doap index 5f60a925a9..fdaf65218c 100644 --- a/subprojects/gst-plugins-bad/gst-plugins-bad.doap +++ b/subprojects/gst-plugins-bad/gst-plugins-bad.doap @@ -33,6 +33,16 @@ real live maintainer, or some actual wide use. + + + 1.20.4 + 1.20 + + 2022-10-12 + + + + 1.20.3 diff --git a/subprojects/gst-plugins-bad/meson.build b/subprojects/gst-plugins-bad/meson.build index fa42ffe782..22d4b04236 100644 --- a/subprojects/gst-plugins-bad/meson.build +++ b/subprojects/gst-plugins-bad/meson.build @@ -1,5 +1,5 @@ project('gst-plugins-bad', 'c', 'cpp', - version : '1.20.3.1', + version : '1.20.4', meson_version : '>= 0.59', default_options : [ 'warning_level=1', 'buildtype=debugoptimized' ]) diff --git a/subprojects/gst-plugins-base/ChangeLog b/subprojects/gst-plugins-base/ChangeLog index 753a4b2e4b..d513c693fa 100644 --- a/subprojects/gst-plugins-base/ChangeLog +++ b/subprojects/gst-plugins-base/ChangeLog @@ -1,3 +1,18 @@ +=== release 1.20.4 === + +2022-10-12 16:39:47 +0100 Tim-Philipp Müller + + * NEWS: + * RELEASE: + * gst-plugins-base.doap: + * meson.build: + Release 1.20.4 + +2022-10-12 16:39:40 +0100 Tim-Philipp Müller + + * ChangeLog: + Update ChangeLogs for 1.20.4 + 2022-10-01 04:51:21 +1000 Jan Schmidt * sys/xvimage/xvimageallocator.c: diff --git a/subprojects/gst-plugins-base/NEWS b/subprojects/gst-plugins-base/NEWS index 8071b5da68..6aa0a9e3ed 100644 --- a/subprojects/gst-plugins-base/NEWS +++ b/subprojects/gst-plugins-base/NEWS @@ -2,13 +2,13 @@ GStreamer 1.20 Release Notes GStreamer 1.20.0 was originally released on 3 February 2022. -The latest bug-fix release in the 1.20 series is 1.20.3 and was released -on 15 June 2022. +The latest bug-fix release in the 1.20 series is 1.20.4 and was released +on 12 October 2022. See https://gstreamer.freedesktop.org/releases/1.20/ for the latest version of this document. -Last updated: Monday 15 June 2022, 17:00 UTC (log) +Last updated: Wednesday 12 October 2022, 15:00 UTC (log) Introduction @@ -757,7 +757,8 @@ New element features and additions - matroskamux: accept in-band SPS/PPS/VPS for H.264 and H.265 (i.e. stream-format avc3 and hev1) which allows on-the-fly - profile/level/resolution changes. + profile/level changes, and from 1.20.4 onwards also resolution + changes. - matroskamux: new "cluster-timestamp-offset" property, useful for use cases where the container timestamps should map to some absolute @@ -909,7 +910,7 @@ New element features and additions - vp8enc: finish support for temporal scalability: two new properties ("temporal-scalability-layer-flags", "temporal-scalability-layer-sync-flags") and a unit change on the - "temporal-scalability-target-bitrate" property (now expects bps); + "temporal-scalability-target-bitrate” property (now expects bps); also make temporal scalability details available to RTP payloaders as buffer metadata. @@ -1754,7 +1755,7 @@ Possibly Breaking and Other Noteworthy Behavioural Changes names of internal elements anyway. - The vp8enc element now expects bps (bits per second) for the - "temporal-scalability-target-bitrate" property, which is consistent + "temporal-scalability-target-bitrate” property, which is consistent with the "target-bitrate" property. Since additional configuration is required with modern libvpx to make temporal scaling work anyway, chances are that very few people will have been using this property @@ -2503,15 +2504,293 @@ List of merge requests and issues fixed in 1.20.3 - List of Merge Requests applied in 1.20.3 - List of Issues fixed in 1.20.3 +1.20.4 + +The fourth 1.20 bug-fix release (1.20.4) was released on 12 October +2022. + +This release only contains bugfixes and it should be safe to upgrade +from 1.20.x. + +Highlighted bugfixes in 1.20.4 + +- avaudiodec: fix playback issue with WMA files, would throw an error + at EOS with FFmpeg 5.x +- Fix deadlock when loading gst-editing-services plugin +- Fix input buffering capacity in live mode for aggregator, + video/audio aggregator subclasses, muxers +- glimagesink: fix crash on Android +- subtitle handling and subtitle overlay fixes +- matroska-mux: allow width + height changes for avc3|hev1|vp8|vp9 +- rtspsrc: fix control url handling for spec compliant servers and add + fallback for incompliant servers +- WebRTC fixes +- RTP retransmission fixes +- video: fixes for formats with 4x subsampling and horizontal co-sited + chroma (Y41B, YUV9, YVU9 and IYU9) +- macOS build and packaging fixes, in particular fix finding of gio + modules on macOS for https/TLS support +- Performance improvements +- Miscellaneous bug fixes, memory leak fixes, and other stability and + reliability improvements + +gstreamer + +- buffer: drop parent meta in deep copy/foreach_metadata +- devicemonitor: Use a sync bus handler for the provider to avoid + accumulating all messages until the provider is stopped +- element: Fix requesting of pads with string templates +- gst: Protect initialization state with a recursive mutex +- gst: add missing define guard for build without gstreamer debug + logging support +- gst_init: Initialize static plugins just before dynamic plugins +- info: Parse “NONE” as a valid level name +- meta: Set the parent refcount of the GstStructure correctly +- pluginloader: Don’t hang on short reads/writes +- tracers: leaks: fix potentially invalid memory access when trying to + detect object type +- tracers: leaks: fix object-refings.class flags +- uri: When setting the same string again do nothing +- value: Don’t loop forever when serializing invalid flag + +Base Libraries + +- aggregator: fix input buffering in live mode (was too low before in + many cases) +- aggregator: fix reversed active/flushing arguments in debug log + output +- aggregator: Reset EOS flag after receiving a stream-start event + +Core Elements + +- queue2: Hold the lock when modifying sinkresult +- queue2: Fix deadlock when deactivate is called in pull mode + +gst-plugins-base + +- decodebin3: fix mutex leaks +- decodebin3: Fix memory issues with active selection list +- decodebin3, uridecodebin3, urisourcebin: Event handling fixes +- decodebin3: fix EOS event sequence +- parsebin: Avoid crash with unknown streams +- parsebin: SIGSEGV during HLS stream using souphttpsrc +- glimagesink: only allow setting the GL display/context if it is a + valid value +- glimagesink: segfault on android devices +- gstgl: Fix several memory leaks in macOS +- opusenc: improve inband-fec property documentation +- playsink: Hold a reference to the soft volume element +- pbutils: descriptions: fix gst_pb_utils_get_caps_description_flags() +- rtspurl: Use gst_uri_join_strings() in + gst_rtsp_url_get_request_uri_with_control() instead of a + hand-crafted, wrong version +- rtspconnection: protect cancellable by a mutex +- sdpmessage: Don’t set SDP medias from caps without + media/payload/clock-rate fields +- samiparse: fix handling of self-closing tags +- ssaparse: include required system headers for isspace() and sscanf() + functions +- subparse: fix crash when parsing invalid timestamps in mpl2 +- subparse fixes +- textoverlay: Don’t miscalculate text running times +- videoaggregator: always convert when user provides converter-config +- video: Fix scaling in 4x horizontal co-sited chroma (Y41B, YUV9, + YVU9 and IYU9) +- xmptag: register musicbrainz tags during init to fix critical in + jpegparse +- xvimagesink: fix image leaks in error code path +- tests: skip unit tests for dependency-less elements that have been + disabled + +Tools + +- No changes + +gst-plugins-good + +- alpha: fix stride issue when out buffer has padding on right +- isoff: Fix earliest pts field parse issue +- matroska-mux: allow width + height changes for avc3|hev1|vp8|vp9 +- qt: Fix another instance of Qt/GStreamer both defining GLsync + differently +- qtdemux: Avoid crash on reconfiguring. +- qtdemux: guard against timestamp calculation overflow in gap event + loop +- qtdemux: Don’t use invalid values from failed trex parsing +- qtdemux: possible endless loop +- rtpjitterbuffer: Only unschedule timers for late packets if they’re + not RTX packets and only once +- rtpjitterbuffer: remove lost timer for out of order packets +- rtspsrc: SETUP generates 400 Bad Request +- rtspsrc: Retry SETUP with non-compliant URL resolution on “Bad + Request” and “Not found” +- rtpst2022-1-fecenc: Drain column packets on EOS +- rtpvp8depay: If configured to wait for keyframes after packet loss, + also do that if incomplete frames are detected +- splitmuxsink: Don’t crash on EOS without buffer +- splitmuxsrc: Stop pad task before cleanup +- splitmuxsrc: don’t consider unlinked pads when deactivating part +- soup: libsoup3 makes audio streaming stop +- v4l2: fix critical when unreferencign buffer with no data +- v4l2bufferpool: Fix debug trace +- v4l2object: Add support for Apple’s full-range bt709 colorspace + variant 1:3:5:1 +- v4l2videocodec: workaround for failure to fully drain frames + preceding MIDSTREAM renegotiation +- v4l2allocator: Fix invalid imported dmabuf fd +- videoflip: Fix caps negotiation when method is selected +- build failure trying to build jack examples +- examples: don’t try and build jack examples if jack was disabled +- tests: skip unit tests for dependency-less elements that have been + disabled + +gst-plugins-bad + +- amcvideodec: fix GstAmcSurfaceTexture segfault +- audiobuffersplit: Fix drift that was introduced by wrong + calculations in gapless mode +- avfvideosrc: Fix wrong default framerate value +- audiovisualizer: fix buffer mapping to not increase refcount +- d3d11decoder: Check 16K resolution support +- d3d11videosink: Fix for force-aspect-ratio setting when rendering on + shared texture +- mxfdemux: Always calculate BlockAlign of raw audio to work around + files with broken BlockAlign field in the headers +- nvdec: Fix for HEVC decoding when coded resolution is larger than + display resolution +- openh264: Register debug categories earlier +- openh264enc: Fix constrained-high encoding +- openmpt: update from now deprecated api +- GstPlay: missing cleanup for g_autoptr +- player/play: Fix object construction and various leaks +- player: Plug a memory leak +- proxysink: Make sure stream-start and caps events are forwarded, and + fix memory leak +- tsdemux: Don’t trigger a program change when falling back to + ignore-pcr behaviour +- va: allocator: Fix translation of VADRMPRIMESurfaceDescriptor +- va: h265dec: Fix a crash because of missing reference frame. +- vah265dec: Decoder segfaults on seek +- wasapi: Implement default audio channel mask +- wasapi2: Fix initial mute/volume setting +- webrtcbin: Limit sink query to sink pads +- webrtcbin: Fix pointer dereference before null check +- webrtc: Make sure to return NULL when validating TURN server fails +- tests: skip unit tests for dependency-less elements that have been + disabled + +gst-plugins-ugly + +- tests: skip unit tests for dependency-less elements that have been + disabled + +gst-libav + +- avauddec: fix regression with WMA files, would throw an error at EOS +- avauddec: fix unnecessary reconfiguration if the audio layout isn’t + specified +- libav: Fix for APNG encoder property registration +- Failure to decode end of WMA file + +gst-rtsp-server + +- gst-rtsp-server: Fix pushing backlog to client +- rtsp-server: stream: Don’t loop forever if binding to the multicast + address fails + +gstreamer-vaapi + +- vaapi: Handle when no encoders/decoders available. +- vaapi: Crash in gst_vaapidecode_class_init() when no + decoders/encoders available + +gstreamer-sharp + +- No changes + +gst-omx + +- No changes + +gst-python + +- python: Do not call gst_init when it is already is_initialized + +gst-editing-services + +- Deadlock in ges because of recursive gst_init() call +- ges/gstframepositioner: don’t create one compositor per frame meta +- nle: clear seek event properly + +gst-examples: + +- examples/webrtc/signalling: Fix compatibility with Python 3.10 + +Development build environment + gst-full build + +- build: Fix some compiler warnings by upgrading wraps +- dv, opusparse: fix duplicate symbols in static build +- Fix fedora 36 warnings - OpenSSL 3.0 deprecations + GLib 2.72 + tls-validation deprecations +- Various macOS build fixes +- meson: Improve certifi documentation on macOS + +Cerbero build tool and packaging changes in 1.20.4 + +- Add Ubuntu 22.04 Jammy Jellyfish +- Add gst-rtsp-server library to the macOS framework +- cerbero: Quick fix for gen-cache breakage +- macos: Fix the install_name for the GStreamer framework +- Download using powershell on Windows and rework download func +- macos: Add arm64 to the metadata for the installer +- cerbero: Allow building on Linux ARM64 +- pkg-config.recipe: Add to core platform files list +- git: Fix issue with last security patch +- distros: Fix CentOS allowance +- cerbero: Print working directory for commands that are run +- cerbero: Fix license property usage example +- Fix issue getting distro_version in Debian Bookworm +- glib: Fix gio modules loading on macOS +- cmake: Fix macOS ARM64 -> x86_64 cross-compilation +- Fix logo display in macOS installer +- openssl.recipe: Fix segfault on latest macOS +- msvc: Fix for broken CRT linking at application project because of + MSVCRT linking +- cerbero: Do not add rpaths that already exist on macOS +- android: fix build with android gradle plugin 7.2 +- macOS framework is unusable starting from 1.18.0 + +Contributors to 1.20.4 + +Adrian Fiergolski, Aleksandr Slobodeniuk, Andoni Morales Alastruey, +Andrew Pritchard, Bruce Liang, Corentin Damman, Daniel Morin, Edward +Hervey, Elliot Chen, Fabian Orccon, fduncanh, Guillaume Desmottes, +Haihua Hu, He Junyan, Ignazio Pillai, James Cowgill, James Hilliard, Jan +Alexander Steffens (heftig), Jan Schmidt, Jianhui Dai, Jonas Danielsson, +Jordan Petridis, Khem Raj, Krystian Wojtas, Martin Dørum, Mart Raudsepp, +Mathieu Duponchelle, Matthew Waters, Matthias Clasen, Nicolas Dufresne, +Nirbheek Chauhan, Olivier Crête, Paweł Stawicki, Philippe Normand, +Philipp Zabel, Piotr Brzeziński, Rafael Caricio, Rafael Sobral, Raul +Tambre, Ruben Gonzalez, Sangchul Lee, Sebastian Dröge, Seungha Yang, +Stéphane Cerveau, Thibault Saunier, Tim-Philipp Müller, Tristan +Matthews, Víctor Manuel Jáquez Leal, Xavier Claessens, Zhiyuan Liu, + +… and many others who have contributed bug reports, translations, sent +suggestions or helped testing. Thank you all! + +List of merge requests and issues fixed in 1.20.4 + +- List of Merge Requests applied in 1.20.4 +- List of Issues fixed in 1.20.4 + Schedule for 1.22 Our next major feature release will be 1.22, and 1.21 will be the unstable development version leading up to the stable 1.22 release. The development of 1.21/1.22 will happen in the git main branch. -The plan for the 1.22 development cycle is yet to be confirmed. Assuming -no major project-wide reorganisations in the 1.22 cycle we might try and -aim for a release around August 2022. +The plan for the 1.22 development cycle is now confirmed, and we aim for +a 1.22.0 release in December 2022. 1.22 will be backwards-compatible to the stable 1.20, 1.18, 1.16, 1.14, 1.12, 1.10, 1.8, 1.6, 1.4, 1.2 and 1.0 release series. diff --git a/subprojects/gst-plugins-base/RELEASE b/subprojects/gst-plugins-base/RELEASE index 43e3f165f8..235c2190a9 100644 --- a/subprojects/gst-plugins-base/RELEASE +++ b/subprojects/gst-plugins-base/RELEASE @@ -1,4 +1,4 @@ -This is GStreamer gst-plugins-base 1.20.3. +This is GStreamer gst-plugins-base 1.20.4. The GStreamer team is thrilled to announce a new major feature release of your favourite cross-platform multimedia framework! diff --git a/subprojects/gst-plugins-base/gst-plugins-base.doap b/subprojects/gst-plugins-base/gst-plugins-base.doap index 8d4c9f7464..3350b7031e 100644 --- a/subprojects/gst-plugins-base/gst-plugins-base.doap +++ b/subprojects/gst-plugins-base/gst-plugins-base.doap @@ -34,6 +34,16 @@ A wide range of video and audio decoders, encoders, and filters are included. + + + 1.20.4 + 1.20 + + 2022-10-12 + + + + 1.20.3 diff --git a/subprojects/gst-plugins-base/meson.build b/subprojects/gst-plugins-base/meson.build index e4c06ae4d9..c2e4b6a615 100644 --- a/subprojects/gst-plugins-base/meson.build +++ b/subprojects/gst-plugins-base/meson.build @@ -1,5 +1,5 @@ project('gst-plugins-base', 'c', - version : '1.20.3.1', + version : '1.20.4', meson_version : '>= 0.59', default_options : [ 'warning_level=1', 'buildtype=debugoptimized' ]) diff --git a/subprojects/gst-plugins-good/ChangeLog b/subprojects/gst-plugins-good/ChangeLog index bc2099b14c..0137ec2a56 100644 --- a/subprojects/gst-plugins-good/ChangeLog +++ b/subprojects/gst-plugins-good/ChangeLog @@ -1,3 +1,19 @@ +=== release 1.20.4 === + +2022-10-12 16:39:47 +0100 Tim-Philipp Müller + + * NEWS: + * RELEASE: + * docs/gst_plugins_cache.json: + * gst-plugins-good.doap: + * meson.build: + Release 1.20.4 + +2022-10-12 16:39:40 +0100 Tim-Philipp Müller + + * ChangeLog: + Update ChangeLogs for 1.20.4 + 2022-09-30 18:57:01 +0200 Mathieu Duponchelle * gst/multifile/gstsplitmuxpartreader.c: diff --git a/subprojects/gst-plugins-good/NEWS b/subprojects/gst-plugins-good/NEWS index 8071b5da68..6aa0a9e3ed 100644 --- a/subprojects/gst-plugins-good/NEWS +++ b/subprojects/gst-plugins-good/NEWS @@ -2,13 +2,13 @@ GStreamer 1.20 Release Notes GStreamer 1.20.0 was originally released on 3 February 2022. -The latest bug-fix release in the 1.20 series is 1.20.3 and was released -on 15 June 2022. +The latest bug-fix release in the 1.20 series is 1.20.4 and was released +on 12 October 2022. See https://gstreamer.freedesktop.org/releases/1.20/ for the latest version of this document. -Last updated: Monday 15 June 2022, 17:00 UTC (log) +Last updated: Wednesday 12 October 2022, 15:00 UTC (log) Introduction @@ -757,7 +757,8 @@ New element features and additions - matroskamux: accept in-band SPS/PPS/VPS for H.264 and H.265 (i.e. stream-format avc3 and hev1) which allows on-the-fly - profile/level/resolution changes. + profile/level changes, and from 1.20.4 onwards also resolution + changes. - matroskamux: new "cluster-timestamp-offset" property, useful for use cases where the container timestamps should map to some absolute @@ -909,7 +910,7 @@ New element features and additions - vp8enc: finish support for temporal scalability: two new properties ("temporal-scalability-layer-flags", "temporal-scalability-layer-sync-flags") and a unit change on the - "temporal-scalability-target-bitrate" property (now expects bps); + "temporal-scalability-target-bitrate” property (now expects bps); also make temporal scalability details available to RTP payloaders as buffer metadata. @@ -1754,7 +1755,7 @@ Possibly Breaking and Other Noteworthy Behavioural Changes names of internal elements anyway. - The vp8enc element now expects bps (bits per second) for the - "temporal-scalability-target-bitrate" property, which is consistent + "temporal-scalability-target-bitrate” property, which is consistent with the "target-bitrate" property. Since additional configuration is required with modern libvpx to make temporal scaling work anyway, chances are that very few people will have been using this property @@ -2503,15 +2504,293 @@ List of merge requests and issues fixed in 1.20.3 - List of Merge Requests applied in 1.20.3 - List of Issues fixed in 1.20.3 +1.20.4 + +The fourth 1.20 bug-fix release (1.20.4) was released on 12 October +2022. + +This release only contains bugfixes and it should be safe to upgrade +from 1.20.x. + +Highlighted bugfixes in 1.20.4 + +- avaudiodec: fix playback issue with WMA files, would throw an error + at EOS with FFmpeg 5.x +- Fix deadlock when loading gst-editing-services plugin +- Fix input buffering capacity in live mode for aggregator, + video/audio aggregator subclasses, muxers +- glimagesink: fix crash on Android +- subtitle handling and subtitle overlay fixes +- matroska-mux: allow width + height changes for avc3|hev1|vp8|vp9 +- rtspsrc: fix control url handling for spec compliant servers and add + fallback for incompliant servers +- WebRTC fixes +- RTP retransmission fixes +- video: fixes for formats with 4x subsampling and horizontal co-sited + chroma (Y41B, YUV9, YVU9 and IYU9) +- macOS build and packaging fixes, in particular fix finding of gio + modules on macOS for https/TLS support +- Performance improvements +- Miscellaneous bug fixes, memory leak fixes, and other stability and + reliability improvements + +gstreamer + +- buffer: drop parent meta in deep copy/foreach_metadata +- devicemonitor: Use a sync bus handler for the provider to avoid + accumulating all messages until the provider is stopped +- element: Fix requesting of pads with string templates +- gst: Protect initialization state with a recursive mutex +- gst: add missing define guard for build without gstreamer debug + logging support +- gst_init: Initialize static plugins just before dynamic plugins +- info: Parse “NONE” as a valid level name +- meta: Set the parent refcount of the GstStructure correctly +- pluginloader: Don’t hang on short reads/writes +- tracers: leaks: fix potentially invalid memory access when trying to + detect object type +- tracers: leaks: fix object-refings.class flags +- uri: When setting the same string again do nothing +- value: Don’t loop forever when serializing invalid flag + +Base Libraries + +- aggregator: fix input buffering in live mode (was too low before in + many cases) +- aggregator: fix reversed active/flushing arguments in debug log + output +- aggregator: Reset EOS flag after receiving a stream-start event + +Core Elements + +- queue2: Hold the lock when modifying sinkresult +- queue2: Fix deadlock when deactivate is called in pull mode + +gst-plugins-base + +- decodebin3: fix mutex leaks +- decodebin3: Fix memory issues with active selection list +- decodebin3, uridecodebin3, urisourcebin: Event handling fixes +- decodebin3: fix EOS event sequence +- parsebin: Avoid crash with unknown streams +- parsebin: SIGSEGV during HLS stream using souphttpsrc +- glimagesink: only allow setting the GL display/context if it is a + valid value +- glimagesink: segfault on android devices +- gstgl: Fix several memory leaks in macOS +- opusenc: improve inband-fec property documentation +- playsink: Hold a reference to the soft volume element +- pbutils: descriptions: fix gst_pb_utils_get_caps_description_flags() +- rtspurl: Use gst_uri_join_strings() in + gst_rtsp_url_get_request_uri_with_control() instead of a + hand-crafted, wrong version +- rtspconnection: protect cancellable by a mutex +- sdpmessage: Don’t set SDP medias from caps without + media/payload/clock-rate fields +- samiparse: fix handling of self-closing tags +- ssaparse: include required system headers for isspace() and sscanf() + functions +- subparse: fix crash when parsing invalid timestamps in mpl2 +- subparse fixes +- textoverlay: Don’t miscalculate text running times +- videoaggregator: always convert when user provides converter-config +- video: Fix scaling in 4x horizontal co-sited chroma (Y41B, YUV9, + YVU9 and IYU9) +- xmptag: register musicbrainz tags during init to fix critical in + jpegparse +- xvimagesink: fix image leaks in error code path +- tests: skip unit tests for dependency-less elements that have been + disabled + +Tools + +- No changes + +gst-plugins-good + +- alpha: fix stride issue when out buffer has padding on right +- isoff: Fix earliest pts field parse issue +- matroska-mux: allow width + height changes for avc3|hev1|vp8|vp9 +- qt: Fix another instance of Qt/GStreamer both defining GLsync + differently +- qtdemux: Avoid crash on reconfiguring. +- qtdemux: guard against timestamp calculation overflow in gap event + loop +- qtdemux: Don’t use invalid values from failed trex parsing +- qtdemux: possible endless loop +- rtpjitterbuffer: Only unschedule timers for late packets if they’re + not RTX packets and only once +- rtpjitterbuffer: remove lost timer for out of order packets +- rtspsrc: SETUP generates 400 Bad Request +- rtspsrc: Retry SETUP with non-compliant URL resolution on “Bad + Request” and “Not found” +- rtpst2022-1-fecenc: Drain column packets on EOS +- rtpvp8depay: If configured to wait for keyframes after packet loss, + also do that if incomplete frames are detected +- splitmuxsink: Don’t crash on EOS without buffer +- splitmuxsrc: Stop pad task before cleanup +- splitmuxsrc: don’t consider unlinked pads when deactivating part +- soup: libsoup3 makes audio streaming stop +- v4l2: fix critical when unreferencign buffer with no data +- v4l2bufferpool: Fix debug trace +- v4l2object: Add support for Apple’s full-range bt709 colorspace + variant 1:3:5:1 +- v4l2videocodec: workaround for failure to fully drain frames + preceding MIDSTREAM renegotiation +- v4l2allocator: Fix invalid imported dmabuf fd +- videoflip: Fix caps negotiation when method is selected +- build failure trying to build jack examples +- examples: don’t try and build jack examples if jack was disabled +- tests: skip unit tests for dependency-less elements that have been + disabled + +gst-plugins-bad + +- amcvideodec: fix GstAmcSurfaceTexture segfault +- audiobuffersplit: Fix drift that was introduced by wrong + calculations in gapless mode +- avfvideosrc: Fix wrong default framerate value +- audiovisualizer: fix buffer mapping to not increase refcount +- d3d11decoder: Check 16K resolution support +- d3d11videosink: Fix for force-aspect-ratio setting when rendering on + shared texture +- mxfdemux: Always calculate BlockAlign of raw audio to work around + files with broken BlockAlign field in the headers +- nvdec: Fix for HEVC decoding when coded resolution is larger than + display resolution +- openh264: Register debug categories earlier +- openh264enc: Fix constrained-high encoding +- openmpt: update from now deprecated api +- GstPlay: missing cleanup for g_autoptr +- player/play: Fix object construction and various leaks +- player: Plug a memory leak +- proxysink: Make sure stream-start and caps events are forwarded, and + fix memory leak +- tsdemux: Don’t trigger a program change when falling back to + ignore-pcr behaviour +- va: allocator: Fix translation of VADRMPRIMESurfaceDescriptor +- va: h265dec: Fix a crash because of missing reference frame. +- vah265dec: Decoder segfaults on seek +- wasapi: Implement default audio channel mask +- wasapi2: Fix initial mute/volume setting +- webrtcbin: Limit sink query to sink pads +- webrtcbin: Fix pointer dereference before null check +- webrtc: Make sure to return NULL when validating TURN server fails +- tests: skip unit tests for dependency-less elements that have been + disabled + +gst-plugins-ugly + +- tests: skip unit tests for dependency-less elements that have been + disabled + +gst-libav + +- avauddec: fix regression with WMA files, would throw an error at EOS +- avauddec: fix unnecessary reconfiguration if the audio layout isn’t + specified +- libav: Fix for APNG encoder property registration +- Failure to decode end of WMA file + +gst-rtsp-server + +- gst-rtsp-server: Fix pushing backlog to client +- rtsp-server: stream: Don’t loop forever if binding to the multicast + address fails + +gstreamer-vaapi + +- vaapi: Handle when no encoders/decoders available. +- vaapi: Crash in gst_vaapidecode_class_init() when no + decoders/encoders available + +gstreamer-sharp + +- No changes + +gst-omx + +- No changes + +gst-python + +- python: Do not call gst_init when it is already is_initialized + +gst-editing-services + +- Deadlock in ges because of recursive gst_init() call +- ges/gstframepositioner: don’t create one compositor per frame meta +- nle: clear seek event properly + +gst-examples: + +- examples/webrtc/signalling: Fix compatibility with Python 3.10 + +Development build environment + gst-full build + +- build: Fix some compiler warnings by upgrading wraps +- dv, opusparse: fix duplicate symbols in static build +- Fix fedora 36 warnings - OpenSSL 3.0 deprecations + GLib 2.72 + tls-validation deprecations +- Various macOS build fixes +- meson: Improve certifi documentation on macOS + +Cerbero build tool and packaging changes in 1.20.4 + +- Add Ubuntu 22.04 Jammy Jellyfish +- Add gst-rtsp-server library to the macOS framework +- cerbero: Quick fix for gen-cache breakage +- macos: Fix the install_name for the GStreamer framework +- Download using powershell on Windows and rework download func +- macos: Add arm64 to the metadata for the installer +- cerbero: Allow building on Linux ARM64 +- pkg-config.recipe: Add to core platform files list +- git: Fix issue with last security patch +- distros: Fix CentOS allowance +- cerbero: Print working directory for commands that are run +- cerbero: Fix license property usage example +- Fix issue getting distro_version in Debian Bookworm +- glib: Fix gio modules loading on macOS +- cmake: Fix macOS ARM64 -> x86_64 cross-compilation +- Fix logo display in macOS installer +- openssl.recipe: Fix segfault on latest macOS +- msvc: Fix for broken CRT linking at application project because of + MSVCRT linking +- cerbero: Do not add rpaths that already exist on macOS +- android: fix build with android gradle plugin 7.2 +- macOS framework is unusable starting from 1.18.0 + +Contributors to 1.20.4 + +Adrian Fiergolski, Aleksandr Slobodeniuk, Andoni Morales Alastruey, +Andrew Pritchard, Bruce Liang, Corentin Damman, Daniel Morin, Edward +Hervey, Elliot Chen, Fabian Orccon, fduncanh, Guillaume Desmottes, +Haihua Hu, He Junyan, Ignazio Pillai, James Cowgill, James Hilliard, Jan +Alexander Steffens (heftig), Jan Schmidt, Jianhui Dai, Jonas Danielsson, +Jordan Petridis, Khem Raj, Krystian Wojtas, Martin Dørum, Mart Raudsepp, +Mathieu Duponchelle, Matthew Waters, Matthias Clasen, Nicolas Dufresne, +Nirbheek Chauhan, Olivier Crête, Paweł Stawicki, Philippe Normand, +Philipp Zabel, Piotr Brzeziński, Rafael Caricio, Rafael Sobral, Raul +Tambre, Ruben Gonzalez, Sangchul Lee, Sebastian Dröge, Seungha Yang, +Stéphane Cerveau, Thibault Saunier, Tim-Philipp Müller, Tristan +Matthews, Víctor Manuel Jáquez Leal, Xavier Claessens, Zhiyuan Liu, + +… and many others who have contributed bug reports, translations, sent +suggestions or helped testing. Thank you all! + +List of merge requests and issues fixed in 1.20.4 + +- List of Merge Requests applied in 1.20.4 +- List of Issues fixed in 1.20.4 + Schedule for 1.22 Our next major feature release will be 1.22, and 1.21 will be the unstable development version leading up to the stable 1.22 release. The development of 1.21/1.22 will happen in the git main branch. -The plan for the 1.22 development cycle is yet to be confirmed. Assuming -no major project-wide reorganisations in the 1.22 cycle we might try and -aim for a release around August 2022. +The plan for the 1.22 development cycle is now confirmed, and we aim for +a 1.22.0 release in December 2022. 1.22 will be backwards-compatible to the stable 1.20, 1.18, 1.16, 1.14, 1.12, 1.10, 1.8, 1.6, 1.4, 1.2 and 1.0 release series. diff --git a/subprojects/gst-plugins-good/RELEASE b/subprojects/gst-plugins-good/RELEASE index 0ce1b8ef7e..cb40300be3 100644 --- a/subprojects/gst-plugins-good/RELEASE +++ b/subprojects/gst-plugins-good/RELEASE @@ -1,4 +1,4 @@ -This is GStreamer gst-plugins-good 1.20.3. +This is GStreamer gst-plugins-good 1.20.4. The GStreamer team is thrilled to announce a new major feature release of your favourite cross-platform multimedia framework! diff --git a/subprojects/gst-plugins-good/docs/gst_plugins_cache.json b/subprojects/gst-plugins-good/docs/gst_plugins_cache.json index 9bc555afeb..6eea7f61df 100644 --- a/subprojects/gst-plugins-good/docs/gst_plugins_cache.json +++ b/subprojects/gst-plugins-good/docs/gst_plugins_cache.json @@ -6607,7 +6607,7 @@ "construct": false, "construct-only": false, "controllable": false, - "default": "GStreamer 1.20.3.1 FLV muxer", + "default": "GStreamer 1.20.4 FLV muxer", "mutable": "null", "readable": true, "type": "gchararray", @@ -6619,7 +6619,7 @@ "construct": false, "construct-only": false, "controllable": false, - "default": "GStreamer 1.20.3.1 FLV muxer", + "default": "GStreamer 1.20.4 FLV muxer", "mutable": "null", "readable": true, "type": "gchararray", @@ -20478,7 +20478,7 @@ "construct": false, "construct-only": false, "controllable": false, - "default": "GStreamer/1.20.3.1", + "default": "GStreamer/1.20.4", "mutable": "null", "readable": true, "type": "gchararray", @@ -22435,7 +22435,7 @@ "construct": false, "construct-only": false, "controllable": false, - "default": "GStreamer souphttpsrc 1.20.3.1 ", + "default": "GStreamer souphttpsrc 1.20.4 ", "mutable": "null", "readable": true, "type": "gchararray", diff --git a/subprojects/gst-plugins-good/gst-plugins-good.doap b/subprojects/gst-plugins-good/gst-plugins-good.doap index 7fd0dc63f6..604d4babc3 100644 --- a/subprojects/gst-plugins-good/gst-plugins-good.doap +++ b/subprojects/gst-plugins-good/gst-plugins-good.doap @@ -32,6 +32,16 @@ the plug-in code, LGPL or LGPL-compatible for the supporting library). + + + 1.20.4 + 1.20 + + 2022-10-12 + + + + 1.20.3 diff --git a/subprojects/gst-plugins-good/meson.build b/subprojects/gst-plugins-good/meson.build index acdc818c1f..d3b92e9291 100644 --- a/subprojects/gst-plugins-good/meson.build +++ b/subprojects/gst-plugins-good/meson.build @@ -1,5 +1,5 @@ project('gst-plugins-good', 'c', - version : '1.20.3.1', + version : '1.20.4', meson_version : '>= 0.59', default_options : [ 'warning_level=1', 'buildtype=debugoptimized' ]) diff --git a/subprojects/gst-plugins-ugly/ChangeLog b/subprojects/gst-plugins-ugly/ChangeLog index 588264ad7f..e0115edf75 100644 --- a/subprojects/gst-plugins-ugly/ChangeLog +++ b/subprojects/gst-plugins-ugly/ChangeLog @@ -1,3 +1,18 @@ +=== release 1.20.4 === + +2022-10-12 16:39:47 +0100 Tim-Philipp Müller + + * NEWS: + * RELEASE: + * gst-plugins-ugly.doap: + * meson.build: + Release 1.20.4 + +2022-10-12 16:39:40 +0100 Tim-Philipp Müller + + * ChangeLog: + Update ChangeLogs for 1.20.4 + 2022-06-29 10:55:13 +0100 Tim-Philipp Müller * meson.build: diff --git a/subprojects/gst-plugins-ugly/NEWS b/subprojects/gst-plugins-ugly/NEWS index 8071b5da68..6aa0a9e3ed 100644 --- a/subprojects/gst-plugins-ugly/NEWS +++ b/subprojects/gst-plugins-ugly/NEWS @@ -2,13 +2,13 @@ GStreamer 1.20 Release Notes GStreamer 1.20.0 was originally released on 3 February 2022. -The latest bug-fix release in the 1.20 series is 1.20.3 and was released -on 15 June 2022. +The latest bug-fix release in the 1.20 series is 1.20.4 and was released +on 12 October 2022. See https://gstreamer.freedesktop.org/releases/1.20/ for the latest version of this document. -Last updated: Monday 15 June 2022, 17:00 UTC (log) +Last updated: Wednesday 12 October 2022, 15:00 UTC (log) Introduction @@ -757,7 +757,8 @@ New element features and additions - matroskamux: accept in-band SPS/PPS/VPS for H.264 and H.265 (i.e. stream-format avc3 and hev1) which allows on-the-fly - profile/level/resolution changes. + profile/level changes, and from 1.20.4 onwards also resolution + changes. - matroskamux: new "cluster-timestamp-offset" property, useful for use cases where the container timestamps should map to some absolute @@ -909,7 +910,7 @@ New element features and additions - vp8enc: finish support for temporal scalability: two new properties ("temporal-scalability-layer-flags", "temporal-scalability-layer-sync-flags") and a unit change on the - "temporal-scalability-target-bitrate" property (now expects bps); + "temporal-scalability-target-bitrate” property (now expects bps); also make temporal scalability details available to RTP payloaders as buffer metadata. @@ -1754,7 +1755,7 @@ Possibly Breaking and Other Noteworthy Behavioural Changes names of internal elements anyway. - The vp8enc element now expects bps (bits per second) for the - "temporal-scalability-target-bitrate" property, which is consistent + "temporal-scalability-target-bitrate” property, which is consistent with the "target-bitrate" property. Since additional configuration is required with modern libvpx to make temporal scaling work anyway, chances are that very few people will have been using this property @@ -2503,15 +2504,293 @@ List of merge requests and issues fixed in 1.20.3 - List of Merge Requests applied in 1.20.3 - List of Issues fixed in 1.20.3 +1.20.4 + +The fourth 1.20 bug-fix release (1.20.4) was released on 12 October +2022. + +This release only contains bugfixes and it should be safe to upgrade +from 1.20.x. + +Highlighted bugfixes in 1.20.4 + +- avaudiodec: fix playback issue with WMA files, would throw an error + at EOS with FFmpeg 5.x +- Fix deadlock when loading gst-editing-services plugin +- Fix input buffering capacity in live mode for aggregator, + video/audio aggregator subclasses, muxers +- glimagesink: fix crash on Android +- subtitle handling and subtitle overlay fixes +- matroska-mux: allow width + height changes for avc3|hev1|vp8|vp9 +- rtspsrc: fix control url handling for spec compliant servers and add + fallback for incompliant servers +- WebRTC fixes +- RTP retransmission fixes +- video: fixes for formats with 4x subsampling and horizontal co-sited + chroma (Y41B, YUV9, YVU9 and IYU9) +- macOS build and packaging fixes, in particular fix finding of gio + modules on macOS for https/TLS support +- Performance improvements +- Miscellaneous bug fixes, memory leak fixes, and other stability and + reliability improvements + +gstreamer + +- buffer: drop parent meta in deep copy/foreach_metadata +- devicemonitor: Use a sync bus handler for the provider to avoid + accumulating all messages until the provider is stopped +- element: Fix requesting of pads with string templates +- gst: Protect initialization state with a recursive mutex +- gst: add missing define guard for build without gstreamer debug + logging support +- gst_init: Initialize static plugins just before dynamic plugins +- info: Parse “NONE” as a valid level name +- meta: Set the parent refcount of the GstStructure correctly +- pluginloader: Don’t hang on short reads/writes +- tracers: leaks: fix potentially invalid memory access when trying to + detect object type +- tracers: leaks: fix object-refings.class flags +- uri: When setting the same string again do nothing +- value: Don’t loop forever when serializing invalid flag + +Base Libraries + +- aggregator: fix input buffering in live mode (was too low before in + many cases) +- aggregator: fix reversed active/flushing arguments in debug log + output +- aggregator: Reset EOS flag after receiving a stream-start event + +Core Elements + +- queue2: Hold the lock when modifying sinkresult +- queue2: Fix deadlock when deactivate is called in pull mode + +gst-plugins-base + +- decodebin3: fix mutex leaks +- decodebin3: Fix memory issues with active selection list +- decodebin3, uridecodebin3, urisourcebin: Event handling fixes +- decodebin3: fix EOS event sequence +- parsebin: Avoid crash with unknown streams +- parsebin: SIGSEGV during HLS stream using souphttpsrc +- glimagesink: only allow setting the GL display/context if it is a + valid value +- glimagesink: segfault on android devices +- gstgl: Fix several memory leaks in macOS +- opusenc: improve inband-fec property documentation +- playsink: Hold a reference to the soft volume element +- pbutils: descriptions: fix gst_pb_utils_get_caps_description_flags() +- rtspurl: Use gst_uri_join_strings() in + gst_rtsp_url_get_request_uri_with_control() instead of a + hand-crafted, wrong version +- rtspconnection: protect cancellable by a mutex +- sdpmessage: Don’t set SDP medias from caps without + media/payload/clock-rate fields +- samiparse: fix handling of self-closing tags +- ssaparse: include required system headers for isspace() and sscanf() + functions +- subparse: fix crash when parsing invalid timestamps in mpl2 +- subparse fixes +- textoverlay: Don’t miscalculate text running times +- videoaggregator: always convert when user provides converter-config +- video: Fix scaling in 4x horizontal co-sited chroma (Y41B, YUV9, + YVU9 and IYU9) +- xmptag: register musicbrainz tags during init to fix critical in + jpegparse +- xvimagesink: fix image leaks in error code path +- tests: skip unit tests for dependency-less elements that have been + disabled + +Tools + +- No changes + +gst-plugins-good + +- alpha: fix stride issue when out buffer has padding on right +- isoff: Fix earliest pts field parse issue +- matroska-mux: allow width + height changes for avc3|hev1|vp8|vp9 +- qt: Fix another instance of Qt/GStreamer both defining GLsync + differently +- qtdemux: Avoid crash on reconfiguring. +- qtdemux: guard against timestamp calculation overflow in gap event + loop +- qtdemux: Don’t use invalid values from failed trex parsing +- qtdemux: possible endless loop +- rtpjitterbuffer: Only unschedule timers for late packets if they’re + not RTX packets and only once +- rtpjitterbuffer: remove lost timer for out of order packets +- rtspsrc: SETUP generates 400 Bad Request +- rtspsrc: Retry SETUP with non-compliant URL resolution on “Bad + Request” and “Not found” +- rtpst2022-1-fecenc: Drain column packets on EOS +- rtpvp8depay: If configured to wait for keyframes after packet loss, + also do that if incomplete frames are detected +- splitmuxsink: Don’t crash on EOS without buffer +- splitmuxsrc: Stop pad task before cleanup +- splitmuxsrc: don’t consider unlinked pads when deactivating part +- soup: libsoup3 makes audio streaming stop +- v4l2: fix critical when unreferencign buffer with no data +- v4l2bufferpool: Fix debug trace +- v4l2object: Add support for Apple’s full-range bt709 colorspace + variant 1:3:5:1 +- v4l2videocodec: workaround for failure to fully drain frames + preceding MIDSTREAM renegotiation +- v4l2allocator: Fix invalid imported dmabuf fd +- videoflip: Fix caps negotiation when method is selected +- build failure trying to build jack examples +- examples: don’t try and build jack examples if jack was disabled +- tests: skip unit tests for dependency-less elements that have been + disabled + +gst-plugins-bad + +- amcvideodec: fix GstAmcSurfaceTexture segfault +- audiobuffersplit: Fix drift that was introduced by wrong + calculations in gapless mode +- avfvideosrc: Fix wrong default framerate value +- audiovisualizer: fix buffer mapping to not increase refcount +- d3d11decoder: Check 16K resolution support +- d3d11videosink: Fix for force-aspect-ratio setting when rendering on + shared texture +- mxfdemux: Always calculate BlockAlign of raw audio to work around + files with broken BlockAlign field in the headers +- nvdec: Fix for HEVC decoding when coded resolution is larger than + display resolution +- openh264: Register debug categories earlier +- openh264enc: Fix constrained-high encoding +- openmpt: update from now deprecated api +- GstPlay: missing cleanup for g_autoptr +- player/play: Fix object construction and various leaks +- player: Plug a memory leak +- proxysink: Make sure stream-start and caps events are forwarded, and + fix memory leak +- tsdemux: Don’t trigger a program change when falling back to + ignore-pcr behaviour +- va: allocator: Fix translation of VADRMPRIMESurfaceDescriptor +- va: h265dec: Fix a crash because of missing reference frame. +- vah265dec: Decoder segfaults on seek +- wasapi: Implement default audio channel mask +- wasapi2: Fix initial mute/volume setting +- webrtcbin: Limit sink query to sink pads +- webrtcbin: Fix pointer dereference before null check +- webrtc: Make sure to return NULL when validating TURN server fails +- tests: skip unit tests for dependency-less elements that have been + disabled + +gst-plugins-ugly + +- tests: skip unit tests for dependency-less elements that have been + disabled + +gst-libav + +- avauddec: fix regression with WMA files, would throw an error at EOS +- avauddec: fix unnecessary reconfiguration if the audio layout isn’t + specified +- libav: Fix for APNG encoder property registration +- Failure to decode end of WMA file + +gst-rtsp-server + +- gst-rtsp-server: Fix pushing backlog to client +- rtsp-server: stream: Don’t loop forever if binding to the multicast + address fails + +gstreamer-vaapi + +- vaapi: Handle when no encoders/decoders available. +- vaapi: Crash in gst_vaapidecode_class_init() when no + decoders/encoders available + +gstreamer-sharp + +- No changes + +gst-omx + +- No changes + +gst-python + +- python: Do not call gst_init when it is already is_initialized + +gst-editing-services + +- Deadlock in ges because of recursive gst_init() call +- ges/gstframepositioner: don’t create one compositor per frame meta +- nle: clear seek event properly + +gst-examples: + +- examples/webrtc/signalling: Fix compatibility with Python 3.10 + +Development build environment + gst-full build + +- build: Fix some compiler warnings by upgrading wraps +- dv, opusparse: fix duplicate symbols in static build +- Fix fedora 36 warnings - OpenSSL 3.0 deprecations + GLib 2.72 + tls-validation deprecations +- Various macOS build fixes +- meson: Improve certifi documentation on macOS + +Cerbero build tool and packaging changes in 1.20.4 + +- Add Ubuntu 22.04 Jammy Jellyfish +- Add gst-rtsp-server library to the macOS framework +- cerbero: Quick fix for gen-cache breakage +- macos: Fix the install_name for the GStreamer framework +- Download using powershell on Windows and rework download func +- macos: Add arm64 to the metadata for the installer +- cerbero: Allow building on Linux ARM64 +- pkg-config.recipe: Add to core platform files list +- git: Fix issue with last security patch +- distros: Fix CentOS allowance +- cerbero: Print working directory for commands that are run +- cerbero: Fix license property usage example +- Fix issue getting distro_version in Debian Bookworm +- glib: Fix gio modules loading on macOS +- cmake: Fix macOS ARM64 -> x86_64 cross-compilation +- Fix logo display in macOS installer +- openssl.recipe: Fix segfault on latest macOS +- msvc: Fix for broken CRT linking at application project because of + MSVCRT linking +- cerbero: Do not add rpaths that already exist on macOS +- android: fix build with android gradle plugin 7.2 +- macOS framework is unusable starting from 1.18.0 + +Contributors to 1.20.4 + +Adrian Fiergolski, Aleksandr Slobodeniuk, Andoni Morales Alastruey, +Andrew Pritchard, Bruce Liang, Corentin Damman, Daniel Morin, Edward +Hervey, Elliot Chen, Fabian Orccon, fduncanh, Guillaume Desmottes, +Haihua Hu, He Junyan, Ignazio Pillai, James Cowgill, James Hilliard, Jan +Alexander Steffens (heftig), Jan Schmidt, Jianhui Dai, Jonas Danielsson, +Jordan Petridis, Khem Raj, Krystian Wojtas, Martin Dørum, Mart Raudsepp, +Mathieu Duponchelle, Matthew Waters, Matthias Clasen, Nicolas Dufresne, +Nirbheek Chauhan, Olivier Crête, Paweł Stawicki, Philippe Normand, +Philipp Zabel, Piotr Brzeziński, Rafael Caricio, Rafael Sobral, Raul +Tambre, Ruben Gonzalez, Sangchul Lee, Sebastian Dröge, Seungha Yang, +Stéphane Cerveau, Thibault Saunier, Tim-Philipp Müller, Tristan +Matthews, Víctor Manuel Jáquez Leal, Xavier Claessens, Zhiyuan Liu, + +… and many others who have contributed bug reports, translations, sent +suggestions or helped testing. Thank you all! + +List of merge requests and issues fixed in 1.20.4 + +- List of Merge Requests applied in 1.20.4 +- List of Issues fixed in 1.20.4 + Schedule for 1.22 Our next major feature release will be 1.22, and 1.21 will be the unstable development version leading up to the stable 1.22 release. The development of 1.21/1.22 will happen in the git main branch. -The plan for the 1.22 development cycle is yet to be confirmed. Assuming -no major project-wide reorganisations in the 1.22 cycle we might try and -aim for a release around August 2022. +The plan for the 1.22 development cycle is now confirmed, and we aim for +a 1.22.0 release in December 2022. 1.22 will be backwards-compatible to the stable 1.20, 1.18, 1.16, 1.14, 1.12, 1.10, 1.8, 1.6, 1.4, 1.2 and 1.0 release series. diff --git a/subprojects/gst-plugins-ugly/RELEASE b/subprojects/gst-plugins-ugly/RELEASE index 8f59e80d0c..6af09e625a 100644 --- a/subprojects/gst-plugins-ugly/RELEASE +++ b/subprojects/gst-plugins-ugly/RELEASE @@ -1,4 +1,4 @@ -This is GStreamer gst-plugins-ugly 1.20.3. +This is GStreamer gst-plugins-ugly 1.20.4. The GStreamer team is thrilled to announce a new major feature release of your favourite cross-platform multimedia framework! diff --git a/subprojects/gst-plugins-ugly/gst-plugins-ugly.doap b/subprojects/gst-plugins-ugly/gst-plugins-ugly.doap index 6f4adb0a3f..88605d031e 100644 --- a/subprojects/gst-plugins-ugly/gst-plugins-ugly.doap +++ b/subprojects/gst-plugins-ugly/gst-plugins-ugly.doap @@ -33,6 +33,16 @@ might be widely known to present patent problems. + + + 1.20.4 + 1.20 + + 2022-10-12 + + + + 1.20.3 diff --git a/subprojects/gst-plugins-ugly/meson.build b/subprojects/gst-plugins-ugly/meson.build index 760f333890..4ed5b6477e 100644 --- a/subprojects/gst-plugins-ugly/meson.build +++ b/subprojects/gst-plugins-ugly/meson.build @@ -1,5 +1,5 @@ project('gst-plugins-ugly', 'c', - version : '1.20.3.1', + version : '1.20.4', meson_version : '>= 0.59', default_options : [ 'warning_level=1', 'buildtype=debugoptimized' ]) diff --git a/subprojects/gst-python/ChangeLog b/subprojects/gst-python/ChangeLog index 608fa8d846..62fed10f5a 100644 --- a/subprojects/gst-python/ChangeLog +++ b/subprojects/gst-python/ChangeLog @@ -1,3 +1,18 @@ +=== release 1.20.4 === + +2022-10-12 16:39:47 +0100 Tim-Philipp Müller + + * NEWS: + * RELEASE: + * gst-python.doap: + * meson.build: + Release 1.20.4 + +2022-10-12 16:39:40 +0100 Tim-Philipp Müller + + * ChangeLog: + Update ChangeLogs for 1.20.4 + 2022-06-28 16:38:09 -0400 Thibault Saunier * examples/plugins/python/py_audiotestsrc.py: diff --git a/subprojects/gst-python/NEWS b/subprojects/gst-python/NEWS index 8071b5da68..6aa0a9e3ed 100644 --- a/subprojects/gst-python/NEWS +++ b/subprojects/gst-python/NEWS @@ -2,13 +2,13 @@ GStreamer 1.20 Release Notes GStreamer 1.20.0 was originally released on 3 February 2022. -The latest bug-fix release in the 1.20 series is 1.20.3 and was released -on 15 June 2022. +The latest bug-fix release in the 1.20 series is 1.20.4 and was released +on 12 October 2022. See https://gstreamer.freedesktop.org/releases/1.20/ for the latest version of this document. -Last updated: Monday 15 June 2022, 17:00 UTC (log) +Last updated: Wednesday 12 October 2022, 15:00 UTC (log) Introduction @@ -757,7 +757,8 @@ New element features and additions - matroskamux: accept in-band SPS/PPS/VPS for H.264 and H.265 (i.e. stream-format avc3 and hev1) which allows on-the-fly - profile/level/resolution changes. + profile/level changes, and from 1.20.4 onwards also resolution + changes. - matroskamux: new "cluster-timestamp-offset" property, useful for use cases where the container timestamps should map to some absolute @@ -909,7 +910,7 @@ New element features and additions - vp8enc: finish support for temporal scalability: two new properties ("temporal-scalability-layer-flags", "temporal-scalability-layer-sync-flags") and a unit change on the - "temporal-scalability-target-bitrate" property (now expects bps); + "temporal-scalability-target-bitrate” property (now expects bps); also make temporal scalability details available to RTP payloaders as buffer metadata. @@ -1754,7 +1755,7 @@ Possibly Breaking and Other Noteworthy Behavioural Changes names of internal elements anyway. - The vp8enc element now expects bps (bits per second) for the - "temporal-scalability-target-bitrate" property, which is consistent + "temporal-scalability-target-bitrate” property, which is consistent with the "target-bitrate" property. Since additional configuration is required with modern libvpx to make temporal scaling work anyway, chances are that very few people will have been using this property @@ -2503,15 +2504,293 @@ List of merge requests and issues fixed in 1.20.3 - List of Merge Requests applied in 1.20.3 - List of Issues fixed in 1.20.3 +1.20.4 + +The fourth 1.20 bug-fix release (1.20.4) was released on 12 October +2022. + +This release only contains bugfixes and it should be safe to upgrade +from 1.20.x. + +Highlighted bugfixes in 1.20.4 + +- avaudiodec: fix playback issue with WMA files, would throw an error + at EOS with FFmpeg 5.x +- Fix deadlock when loading gst-editing-services plugin +- Fix input buffering capacity in live mode for aggregator, + video/audio aggregator subclasses, muxers +- glimagesink: fix crash on Android +- subtitle handling and subtitle overlay fixes +- matroska-mux: allow width + height changes for avc3|hev1|vp8|vp9 +- rtspsrc: fix control url handling for spec compliant servers and add + fallback for incompliant servers +- WebRTC fixes +- RTP retransmission fixes +- video: fixes for formats with 4x subsampling and horizontal co-sited + chroma (Y41B, YUV9, YVU9 and IYU9) +- macOS build and packaging fixes, in particular fix finding of gio + modules on macOS for https/TLS support +- Performance improvements +- Miscellaneous bug fixes, memory leak fixes, and other stability and + reliability improvements + +gstreamer + +- buffer: drop parent meta in deep copy/foreach_metadata +- devicemonitor: Use a sync bus handler for the provider to avoid + accumulating all messages until the provider is stopped +- element: Fix requesting of pads with string templates +- gst: Protect initialization state with a recursive mutex +- gst: add missing define guard for build without gstreamer debug + logging support +- gst_init: Initialize static plugins just before dynamic plugins +- info: Parse “NONE” as a valid level name +- meta: Set the parent refcount of the GstStructure correctly +- pluginloader: Don’t hang on short reads/writes +- tracers: leaks: fix potentially invalid memory access when trying to + detect object type +- tracers: leaks: fix object-refings.class flags +- uri: When setting the same string again do nothing +- value: Don’t loop forever when serializing invalid flag + +Base Libraries + +- aggregator: fix input buffering in live mode (was too low before in + many cases) +- aggregator: fix reversed active/flushing arguments in debug log + output +- aggregator: Reset EOS flag after receiving a stream-start event + +Core Elements + +- queue2: Hold the lock when modifying sinkresult +- queue2: Fix deadlock when deactivate is called in pull mode + +gst-plugins-base + +- decodebin3: fix mutex leaks +- decodebin3: Fix memory issues with active selection list +- decodebin3, uridecodebin3, urisourcebin: Event handling fixes +- decodebin3: fix EOS event sequence +- parsebin: Avoid crash with unknown streams +- parsebin: SIGSEGV during HLS stream using souphttpsrc +- glimagesink: only allow setting the GL display/context if it is a + valid value +- glimagesink: segfault on android devices +- gstgl: Fix several memory leaks in macOS +- opusenc: improve inband-fec property documentation +- playsink: Hold a reference to the soft volume element +- pbutils: descriptions: fix gst_pb_utils_get_caps_description_flags() +- rtspurl: Use gst_uri_join_strings() in + gst_rtsp_url_get_request_uri_with_control() instead of a + hand-crafted, wrong version +- rtspconnection: protect cancellable by a mutex +- sdpmessage: Don’t set SDP medias from caps without + media/payload/clock-rate fields +- samiparse: fix handling of self-closing tags +- ssaparse: include required system headers for isspace() and sscanf() + functions +- subparse: fix crash when parsing invalid timestamps in mpl2 +- subparse fixes +- textoverlay: Don’t miscalculate text running times +- videoaggregator: always convert when user provides converter-config +- video: Fix scaling in 4x horizontal co-sited chroma (Y41B, YUV9, + YVU9 and IYU9) +- xmptag: register musicbrainz tags during init to fix critical in + jpegparse +- xvimagesink: fix image leaks in error code path +- tests: skip unit tests for dependency-less elements that have been + disabled + +Tools + +- No changes + +gst-plugins-good + +- alpha: fix stride issue when out buffer has padding on right +- isoff: Fix earliest pts field parse issue +- matroska-mux: allow width + height changes for avc3|hev1|vp8|vp9 +- qt: Fix another instance of Qt/GStreamer both defining GLsync + differently +- qtdemux: Avoid crash on reconfiguring. +- qtdemux: guard against timestamp calculation overflow in gap event + loop +- qtdemux: Don’t use invalid values from failed trex parsing +- qtdemux: possible endless loop +- rtpjitterbuffer: Only unschedule timers for late packets if they’re + not RTX packets and only once +- rtpjitterbuffer: remove lost timer for out of order packets +- rtspsrc: SETUP generates 400 Bad Request +- rtspsrc: Retry SETUP with non-compliant URL resolution on “Bad + Request” and “Not found” +- rtpst2022-1-fecenc: Drain column packets on EOS +- rtpvp8depay: If configured to wait for keyframes after packet loss, + also do that if incomplete frames are detected +- splitmuxsink: Don’t crash on EOS without buffer +- splitmuxsrc: Stop pad task before cleanup +- splitmuxsrc: don’t consider unlinked pads when deactivating part +- soup: libsoup3 makes audio streaming stop +- v4l2: fix critical when unreferencign buffer with no data +- v4l2bufferpool: Fix debug trace +- v4l2object: Add support for Apple’s full-range bt709 colorspace + variant 1:3:5:1 +- v4l2videocodec: workaround for failure to fully drain frames + preceding MIDSTREAM renegotiation +- v4l2allocator: Fix invalid imported dmabuf fd +- videoflip: Fix caps negotiation when method is selected +- build failure trying to build jack examples +- examples: don’t try and build jack examples if jack was disabled +- tests: skip unit tests for dependency-less elements that have been + disabled + +gst-plugins-bad + +- amcvideodec: fix GstAmcSurfaceTexture segfault +- audiobuffersplit: Fix drift that was introduced by wrong + calculations in gapless mode +- avfvideosrc: Fix wrong default framerate value +- audiovisualizer: fix buffer mapping to not increase refcount +- d3d11decoder: Check 16K resolution support +- d3d11videosink: Fix for force-aspect-ratio setting when rendering on + shared texture +- mxfdemux: Always calculate BlockAlign of raw audio to work around + files with broken BlockAlign field in the headers +- nvdec: Fix for HEVC decoding when coded resolution is larger than + display resolution +- openh264: Register debug categories earlier +- openh264enc: Fix constrained-high encoding +- openmpt: update from now deprecated api +- GstPlay: missing cleanup for g_autoptr +- player/play: Fix object construction and various leaks +- player: Plug a memory leak +- proxysink: Make sure stream-start and caps events are forwarded, and + fix memory leak +- tsdemux: Don’t trigger a program change when falling back to + ignore-pcr behaviour +- va: allocator: Fix translation of VADRMPRIMESurfaceDescriptor +- va: h265dec: Fix a crash because of missing reference frame. +- vah265dec: Decoder segfaults on seek +- wasapi: Implement default audio channel mask +- wasapi2: Fix initial mute/volume setting +- webrtcbin: Limit sink query to sink pads +- webrtcbin: Fix pointer dereference before null check +- webrtc: Make sure to return NULL when validating TURN server fails +- tests: skip unit tests for dependency-less elements that have been + disabled + +gst-plugins-ugly + +- tests: skip unit tests for dependency-less elements that have been + disabled + +gst-libav + +- avauddec: fix regression with WMA files, would throw an error at EOS +- avauddec: fix unnecessary reconfiguration if the audio layout isn’t + specified +- libav: Fix for APNG encoder property registration +- Failure to decode end of WMA file + +gst-rtsp-server + +- gst-rtsp-server: Fix pushing backlog to client +- rtsp-server: stream: Don’t loop forever if binding to the multicast + address fails + +gstreamer-vaapi + +- vaapi: Handle when no encoders/decoders available. +- vaapi: Crash in gst_vaapidecode_class_init() when no + decoders/encoders available + +gstreamer-sharp + +- No changes + +gst-omx + +- No changes + +gst-python + +- python: Do not call gst_init when it is already is_initialized + +gst-editing-services + +- Deadlock in ges because of recursive gst_init() call +- ges/gstframepositioner: don’t create one compositor per frame meta +- nle: clear seek event properly + +gst-examples: + +- examples/webrtc/signalling: Fix compatibility with Python 3.10 + +Development build environment + gst-full build + +- build: Fix some compiler warnings by upgrading wraps +- dv, opusparse: fix duplicate symbols in static build +- Fix fedora 36 warnings - OpenSSL 3.0 deprecations + GLib 2.72 + tls-validation deprecations +- Various macOS build fixes +- meson: Improve certifi documentation on macOS + +Cerbero build tool and packaging changes in 1.20.4 + +- Add Ubuntu 22.04 Jammy Jellyfish +- Add gst-rtsp-server library to the macOS framework +- cerbero: Quick fix for gen-cache breakage +- macos: Fix the install_name for the GStreamer framework +- Download using powershell on Windows and rework download func +- macos: Add arm64 to the metadata for the installer +- cerbero: Allow building on Linux ARM64 +- pkg-config.recipe: Add to core platform files list +- git: Fix issue with last security patch +- distros: Fix CentOS allowance +- cerbero: Print working directory for commands that are run +- cerbero: Fix license property usage example +- Fix issue getting distro_version in Debian Bookworm +- glib: Fix gio modules loading on macOS +- cmake: Fix macOS ARM64 -> x86_64 cross-compilation +- Fix logo display in macOS installer +- openssl.recipe: Fix segfault on latest macOS +- msvc: Fix for broken CRT linking at application project because of + MSVCRT linking +- cerbero: Do not add rpaths that already exist on macOS +- android: fix build with android gradle plugin 7.2 +- macOS framework is unusable starting from 1.18.0 + +Contributors to 1.20.4 + +Adrian Fiergolski, Aleksandr Slobodeniuk, Andoni Morales Alastruey, +Andrew Pritchard, Bruce Liang, Corentin Damman, Daniel Morin, Edward +Hervey, Elliot Chen, Fabian Orccon, fduncanh, Guillaume Desmottes, +Haihua Hu, He Junyan, Ignazio Pillai, James Cowgill, James Hilliard, Jan +Alexander Steffens (heftig), Jan Schmidt, Jianhui Dai, Jonas Danielsson, +Jordan Petridis, Khem Raj, Krystian Wojtas, Martin Dørum, Mart Raudsepp, +Mathieu Duponchelle, Matthew Waters, Matthias Clasen, Nicolas Dufresne, +Nirbheek Chauhan, Olivier Crête, Paweł Stawicki, Philippe Normand, +Philipp Zabel, Piotr Brzeziński, Rafael Caricio, Rafael Sobral, Raul +Tambre, Ruben Gonzalez, Sangchul Lee, Sebastian Dröge, Seungha Yang, +Stéphane Cerveau, Thibault Saunier, Tim-Philipp Müller, Tristan +Matthews, Víctor Manuel Jáquez Leal, Xavier Claessens, Zhiyuan Liu, + +… and many others who have contributed bug reports, translations, sent +suggestions or helped testing. Thank you all! + +List of merge requests and issues fixed in 1.20.4 + +- List of Merge Requests applied in 1.20.4 +- List of Issues fixed in 1.20.4 + Schedule for 1.22 Our next major feature release will be 1.22, and 1.21 will be the unstable development version leading up to the stable 1.22 release. The development of 1.21/1.22 will happen in the git main branch. -The plan for the 1.22 development cycle is yet to be confirmed. Assuming -no major project-wide reorganisations in the 1.22 cycle we might try and -aim for a release around August 2022. +The plan for the 1.22 development cycle is now confirmed, and we aim for +a 1.22.0 release in December 2022. 1.22 will be backwards-compatible to the stable 1.20, 1.18, 1.16, 1.14, 1.12, 1.10, 1.8, 1.6, 1.4, 1.2 and 1.0 release series. diff --git a/subprojects/gst-python/RELEASE b/subprojects/gst-python/RELEASE index 2835665a70..c881b42605 100644 --- a/subprojects/gst-python/RELEASE +++ b/subprojects/gst-python/RELEASE @@ -1,4 +1,4 @@ -This is GStreamer gst-python 1.20.3. +This is GStreamer gst-python 1.20.4. The GStreamer team is thrilled to announce a new major feature release of your favourite cross-platform multimedia framework! diff --git a/subprojects/gst-python/gst-python.doap b/subprojects/gst-python/gst-python.doap index 5d0678e5c7..e2a040b8c8 100644 --- a/subprojects/gst-python/gst-python.doap +++ b/subprojects/gst-python/gst-python.doap @@ -30,6 +30,16 @@ GStreamer Python Bindings is a set of overrides and Gst fundamental types handli + + + 1.20.4 + 1.20 + + 2022-10-12 + + + + 1.20.3 diff --git a/subprojects/gst-python/meson.build b/subprojects/gst-python/meson.build index dce5982e59..2f4c544f70 100644 --- a/subprojects/gst-python/meson.build +++ b/subprojects/gst-python/meson.build @@ -1,5 +1,5 @@ project('gst-python', 'c', - version : '1.20.3.1', + version : '1.20.4', meson_version : '>= 0.59', default_options : [ 'warning_level=1', 'c_std=gnu99', diff --git a/subprojects/gst-rtsp-server/ChangeLog b/subprojects/gst-rtsp-server/ChangeLog index 7ab54c8de8..5ad0f6a59b 100644 --- a/subprojects/gst-rtsp-server/ChangeLog +++ b/subprojects/gst-rtsp-server/ChangeLog @@ -1,3 +1,19 @@ +=== release 1.20.4 === + +2022-10-12 16:39:47 +0100 Tim-Philipp Müller + + * NEWS: + * RELEASE: + * docs/gst_plugins_cache.json: + * gst-rtsp-server.doap: + * meson.build: + Release 1.20.4 + +2022-10-12 16:39:40 +0100 Tim-Philipp Müller + + * ChangeLog: + Update ChangeLogs for 1.20.4 + 2022-08-24 19:50:19 +0800 Bruce Liang * gst/rtsp-server/rtsp-server-internal.h: diff --git a/subprojects/gst-rtsp-server/NEWS b/subprojects/gst-rtsp-server/NEWS index 8071b5da68..6aa0a9e3ed 100644 --- a/subprojects/gst-rtsp-server/NEWS +++ b/subprojects/gst-rtsp-server/NEWS @@ -2,13 +2,13 @@ GStreamer 1.20 Release Notes GStreamer 1.20.0 was originally released on 3 February 2022. -The latest bug-fix release in the 1.20 series is 1.20.3 and was released -on 15 June 2022. +The latest bug-fix release in the 1.20 series is 1.20.4 and was released +on 12 October 2022. See https://gstreamer.freedesktop.org/releases/1.20/ for the latest version of this document. -Last updated: Monday 15 June 2022, 17:00 UTC (log) +Last updated: Wednesday 12 October 2022, 15:00 UTC (log) Introduction @@ -757,7 +757,8 @@ New element features and additions - matroskamux: accept in-band SPS/PPS/VPS for H.264 and H.265 (i.e. stream-format avc3 and hev1) which allows on-the-fly - profile/level/resolution changes. + profile/level changes, and from 1.20.4 onwards also resolution + changes. - matroskamux: new "cluster-timestamp-offset" property, useful for use cases where the container timestamps should map to some absolute @@ -909,7 +910,7 @@ New element features and additions - vp8enc: finish support for temporal scalability: two new properties ("temporal-scalability-layer-flags", "temporal-scalability-layer-sync-flags") and a unit change on the - "temporal-scalability-target-bitrate" property (now expects bps); + "temporal-scalability-target-bitrate” property (now expects bps); also make temporal scalability details available to RTP payloaders as buffer metadata. @@ -1754,7 +1755,7 @@ Possibly Breaking and Other Noteworthy Behavioural Changes names of internal elements anyway. - The vp8enc element now expects bps (bits per second) for the - "temporal-scalability-target-bitrate" property, which is consistent + "temporal-scalability-target-bitrate” property, which is consistent with the "target-bitrate" property. Since additional configuration is required with modern libvpx to make temporal scaling work anyway, chances are that very few people will have been using this property @@ -2503,15 +2504,293 @@ List of merge requests and issues fixed in 1.20.3 - List of Merge Requests applied in 1.20.3 - List of Issues fixed in 1.20.3 +1.20.4 + +The fourth 1.20 bug-fix release (1.20.4) was released on 12 October +2022. + +This release only contains bugfixes and it should be safe to upgrade +from 1.20.x. + +Highlighted bugfixes in 1.20.4 + +- avaudiodec: fix playback issue with WMA files, would throw an error + at EOS with FFmpeg 5.x +- Fix deadlock when loading gst-editing-services plugin +- Fix input buffering capacity in live mode for aggregator, + video/audio aggregator subclasses, muxers +- glimagesink: fix crash on Android +- subtitle handling and subtitle overlay fixes +- matroska-mux: allow width + height changes for avc3|hev1|vp8|vp9 +- rtspsrc: fix control url handling for spec compliant servers and add + fallback for incompliant servers +- WebRTC fixes +- RTP retransmission fixes +- video: fixes for formats with 4x subsampling and horizontal co-sited + chroma (Y41B, YUV9, YVU9 and IYU9) +- macOS build and packaging fixes, in particular fix finding of gio + modules on macOS for https/TLS support +- Performance improvements +- Miscellaneous bug fixes, memory leak fixes, and other stability and + reliability improvements + +gstreamer + +- buffer: drop parent meta in deep copy/foreach_metadata +- devicemonitor: Use a sync bus handler for the provider to avoid + accumulating all messages until the provider is stopped +- element: Fix requesting of pads with string templates +- gst: Protect initialization state with a recursive mutex +- gst: add missing define guard for build without gstreamer debug + logging support +- gst_init: Initialize static plugins just before dynamic plugins +- info: Parse “NONE” as a valid level name +- meta: Set the parent refcount of the GstStructure correctly +- pluginloader: Don’t hang on short reads/writes +- tracers: leaks: fix potentially invalid memory access when trying to + detect object type +- tracers: leaks: fix object-refings.class flags +- uri: When setting the same string again do nothing +- value: Don’t loop forever when serializing invalid flag + +Base Libraries + +- aggregator: fix input buffering in live mode (was too low before in + many cases) +- aggregator: fix reversed active/flushing arguments in debug log + output +- aggregator: Reset EOS flag after receiving a stream-start event + +Core Elements + +- queue2: Hold the lock when modifying sinkresult +- queue2: Fix deadlock when deactivate is called in pull mode + +gst-plugins-base + +- decodebin3: fix mutex leaks +- decodebin3: Fix memory issues with active selection list +- decodebin3, uridecodebin3, urisourcebin: Event handling fixes +- decodebin3: fix EOS event sequence +- parsebin: Avoid crash with unknown streams +- parsebin: SIGSEGV during HLS stream using souphttpsrc +- glimagesink: only allow setting the GL display/context if it is a + valid value +- glimagesink: segfault on android devices +- gstgl: Fix several memory leaks in macOS +- opusenc: improve inband-fec property documentation +- playsink: Hold a reference to the soft volume element +- pbutils: descriptions: fix gst_pb_utils_get_caps_description_flags() +- rtspurl: Use gst_uri_join_strings() in + gst_rtsp_url_get_request_uri_with_control() instead of a + hand-crafted, wrong version +- rtspconnection: protect cancellable by a mutex +- sdpmessage: Don’t set SDP medias from caps without + media/payload/clock-rate fields +- samiparse: fix handling of self-closing tags +- ssaparse: include required system headers for isspace() and sscanf() + functions +- subparse: fix crash when parsing invalid timestamps in mpl2 +- subparse fixes +- textoverlay: Don’t miscalculate text running times +- videoaggregator: always convert when user provides converter-config +- video: Fix scaling in 4x horizontal co-sited chroma (Y41B, YUV9, + YVU9 and IYU9) +- xmptag: register musicbrainz tags during init to fix critical in + jpegparse +- xvimagesink: fix image leaks in error code path +- tests: skip unit tests for dependency-less elements that have been + disabled + +Tools + +- No changes + +gst-plugins-good + +- alpha: fix stride issue when out buffer has padding on right +- isoff: Fix earliest pts field parse issue +- matroska-mux: allow width + height changes for avc3|hev1|vp8|vp9 +- qt: Fix another instance of Qt/GStreamer both defining GLsync + differently +- qtdemux: Avoid crash on reconfiguring. +- qtdemux: guard against timestamp calculation overflow in gap event + loop +- qtdemux: Don’t use invalid values from failed trex parsing +- qtdemux: possible endless loop +- rtpjitterbuffer: Only unschedule timers for late packets if they’re + not RTX packets and only once +- rtpjitterbuffer: remove lost timer for out of order packets +- rtspsrc: SETUP generates 400 Bad Request +- rtspsrc: Retry SETUP with non-compliant URL resolution on “Bad + Request” and “Not found” +- rtpst2022-1-fecenc: Drain column packets on EOS +- rtpvp8depay: If configured to wait for keyframes after packet loss, + also do that if incomplete frames are detected +- splitmuxsink: Don’t crash on EOS without buffer +- splitmuxsrc: Stop pad task before cleanup +- splitmuxsrc: don’t consider unlinked pads when deactivating part +- soup: libsoup3 makes audio streaming stop +- v4l2: fix critical when unreferencign buffer with no data +- v4l2bufferpool: Fix debug trace +- v4l2object: Add support for Apple’s full-range bt709 colorspace + variant 1:3:5:1 +- v4l2videocodec: workaround for failure to fully drain frames + preceding MIDSTREAM renegotiation +- v4l2allocator: Fix invalid imported dmabuf fd +- videoflip: Fix caps negotiation when method is selected +- build failure trying to build jack examples +- examples: don’t try and build jack examples if jack was disabled +- tests: skip unit tests for dependency-less elements that have been + disabled + +gst-plugins-bad + +- amcvideodec: fix GstAmcSurfaceTexture segfault +- audiobuffersplit: Fix drift that was introduced by wrong + calculations in gapless mode +- avfvideosrc: Fix wrong default framerate value +- audiovisualizer: fix buffer mapping to not increase refcount +- d3d11decoder: Check 16K resolution support +- d3d11videosink: Fix for force-aspect-ratio setting when rendering on + shared texture +- mxfdemux: Always calculate BlockAlign of raw audio to work around + files with broken BlockAlign field in the headers +- nvdec: Fix for HEVC decoding when coded resolution is larger than + display resolution +- openh264: Register debug categories earlier +- openh264enc: Fix constrained-high encoding +- openmpt: update from now deprecated api +- GstPlay: missing cleanup for g_autoptr +- player/play: Fix object construction and various leaks +- player: Plug a memory leak +- proxysink: Make sure stream-start and caps events are forwarded, and + fix memory leak +- tsdemux: Don’t trigger a program change when falling back to + ignore-pcr behaviour +- va: allocator: Fix translation of VADRMPRIMESurfaceDescriptor +- va: h265dec: Fix a crash because of missing reference frame. +- vah265dec: Decoder segfaults on seek +- wasapi: Implement default audio channel mask +- wasapi2: Fix initial mute/volume setting +- webrtcbin: Limit sink query to sink pads +- webrtcbin: Fix pointer dereference before null check +- webrtc: Make sure to return NULL when validating TURN server fails +- tests: skip unit tests for dependency-less elements that have been + disabled + +gst-plugins-ugly + +- tests: skip unit tests for dependency-less elements that have been + disabled + +gst-libav + +- avauddec: fix regression with WMA files, would throw an error at EOS +- avauddec: fix unnecessary reconfiguration if the audio layout isn’t + specified +- libav: Fix for APNG encoder property registration +- Failure to decode end of WMA file + +gst-rtsp-server + +- gst-rtsp-server: Fix pushing backlog to client +- rtsp-server: stream: Don’t loop forever if binding to the multicast + address fails + +gstreamer-vaapi + +- vaapi: Handle when no encoders/decoders available. +- vaapi: Crash in gst_vaapidecode_class_init() when no + decoders/encoders available + +gstreamer-sharp + +- No changes + +gst-omx + +- No changes + +gst-python + +- python: Do not call gst_init when it is already is_initialized + +gst-editing-services + +- Deadlock in ges because of recursive gst_init() call +- ges/gstframepositioner: don’t create one compositor per frame meta +- nle: clear seek event properly + +gst-examples: + +- examples/webrtc/signalling: Fix compatibility with Python 3.10 + +Development build environment + gst-full build + +- build: Fix some compiler warnings by upgrading wraps +- dv, opusparse: fix duplicate symbols in static build +- Fix fedora 36 warnings - OpenSSL 3.0 deprecations + GLib 2.72 + tls-validation deprecations +- Various macOS build fixes +- meson: Improve certifi documentation on macOS + +Cerbero build tool and packaging changes in 1.20.4 + +- Add Ubuntu 22.04 Jammy Jellyfish +- Add gst-rtsp-server library to the macOS framework +- cerbero: Quick fix for gen-cache breakage +- macos: Fix the install_name for the GStreamer framework +- Download using powershell on Windows and rework download func +- macos: Add arm64 to the metadata for the installer +- cerbero: Allow building on Linux ARM64 +- pkg-config.recipe: Add to core platform files list +- git: Fix issue with last security patch +- distros: Fix CentOS allowance +- cerbero: Print working directory for commands that are run +- cerbero: Fix license property usage example +- Fix issue getting distro_version in Debian Bookworm +- glib: Fix gio modules loading on macOS +- cmake: Fix macOS ARM64 -> x86_64 cross-compilation +- Fix logo display in macOS installer +- openssl.recipe: Fix segfault on latest macOS +- msvc: Fix for broken CRT linking at application project because of + MSVCRT linking +- cerbero: Do not add rpaths that already exist on macOS +- android: fix build with android gradle plugin 7.2 +- macOS framework is unusable starting from 1.18.0 + +Contributors to 1.20.4 + +Adrian Fiergolski, Aleksandr Slobodeniuk, Andoni Morales Alastruey, +Andrew Pritchard, Bruce Liang, Corentin Damman, Daniel Morin, Edward +Hervey, Elliot Chen, Fabian Orccon, fduncanh, Guillaume Desmottes, +Haihua Hu, He Junyan, Ignazio Pillai, James Cowgill, James Hilliard, Jan +Alexander Steffens (heftig), Jan Schmidt, Jianhui Dai, Jonas Danielsson, +Jordan Petridis, Khem Raj, Krystian Wojtas, Martin Dørum, Mart Raudsepp, +Mathieu Duponchelle, Matthew Waters, Matthias Clasen, Nicolas Dufresne, +Nirbheek Chauhan, Olivier Crête, Paweł Stawicki, Philippe Normand, +Philipp Zabel, Piotr Brzeziński, Rafael Caricio, Rafael Sobral, Raul +Tambre, Ruben Gonzalez, Sangchul Lee, Sebastian Dröge, Seungha Yang, +Stéphane Cerveau, Thibault Saunier, Tim-Philipp Müller, Tristan +Matthews, Víctor Manuel Jáquez Leal, Xavier Claessens, Zhiyuan Liu, + +… and many others who have contributed bug reports, translations, sent +suggestions or helped testing. Thank you all! + +List of merge requests and issues fixed in 1.20.4 + +- List of Merge Requests applied in 1.20.4 +- List of Issues fixed in 1.20.4 + Schedule for 1.22 Our next major feature release will be 1.22, and 1.21 will be the unstable development version leading up to the stable 1.22 release. The development of 1.21/1.22 will happen in the git main branch. -The plan for the 1.22 development cycle is yet to be confirmed. Assuming -no major project-wide reorganisations in the 1.22 cycle we might try and -aim for a release around August 2022. +The plan for the 1.22 development cycle is now confirmed, and we aim for +a 1.22.0 release in December 2022. 1.22 will be backwards-compatible to the stable 1.20, 1.18, 1.16, 1.14, 1.12, 1.10, 1.8, 1.6, 1.4, 1.2 and 1.0 release series. diff --git a/subprojects/gst-rtsp-server/RELEASE b/subprojects/gst-rtsp-server/RELEASE index 4029f8622d..0df0298625 100644 --- a/subprojects/gst-rtsp-server/RELEASE +++ b/subprojects/gst-rtsp-server/RELEASE @@ -1,4 +1,4 @@ -This is GStreamer gst-rtsp-server 1.20.3. +This is GStreamer gst-rtsp-server 1.20.4. The GStreamer team is thrilled to announce a new major feature release of your favourite cross-platform multimedia framework! diff --git a/subprojects/gst-rtsp-server/docs/gst_plugins_cache.json b/subprojects/gst-rtsp-server/docs/gst_plugins_cache.json index c71c9b1e8a..e429effac4 100644 --- a/subprojects/gst-rtsp-server/docs/gst_plugins_cache.json +++ b/subprojects/gst-rtsp-server/docs/gst_plugins_cache.json @@ -321,7 +321,7 @@ "construct": false, "construct-only": false, "controllable": false, - "default": "GStreamer/1.20.3.1", + "default": "GStreamer/1.20.4", "mutable": "null", "readable": true, "type": "gchararray", diff --git a/subprojects/gst-rtsp-server/gst-rtsp-server.doap b/subprojects/gst-rtsp-server/gst-rtsp-server.doap index 29d63f8ad3..54cd1f66f3 100644 --- a/subprojects/gst-rtsp-server/gst-rtsp-server.doap +++ b/subprojects/gst-rtsp-server/gst-rtsp-server.doap @@ -30,6 +30,16 @@ RTSP server library based on GStreamer + + + 1.20.4 + 1.20 + + 2022-10-12 + + + + 1.20.3 diff --git a/subprojects/gst-rtsp-server/meson.build b/subprojects/gst-rtsp-server/meson.build index ee8a8004b5..8f8771bb91 100644 --- a/subprojects/gst-rtsp-server/meson.build +++ b/subprojects/gst-rtsp-server/meson.build @@ -1,5 +1,5 @@ project('gst-rtsp-server', 'c', - version : '1.20.3.1', + version : '1.20.4', meson_version : '>= 0.59', default_options : ['warning_level=1', 'buildtype=debugoptimized']) diff --git a/subprojects/gstreamer-sharp/meson.build b/subprojects/gstreamer-sharp/meson.build index 0dc4b9d351..7c2fb1f99d 100644 --- a/subprojects/gstreamer-sharp/meson.build +++ b/subprojects/gstreamer-sharp/meson.build @@ -1,4 +1,4 @@ -project('gstreamer-sharp', ['cs', 'c'], version: '1.20.3.1', +project('gstreamer-sharp', ['cs', 'c'], version: '1.20.4', meson_version : '>= 0.59', license: 'LGPL') if host_machine.system() == 'osx' diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/Constants.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/Constants.cs index 933b36a2eb..3803f56949 100644 --- a/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/Constants.cs +++ b/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/Constants.cs @@ -17,9 +17,9 @@ namespace Gst.PbUtils { public const string ENCODING_CATEGORY_ONLINE_SERVICE = @"online-service"; public const string ENCODING_CATEGORY_STORAGE_EDITING = @"storage-editing"; public const int PLUGINS_BASE_VERSION_MAJOR = 1; - public const int PLUGINS_BASE_VERSION_MICRO = 3; + public const int PLUGINS_BASE_VERSION_MICRO = 4; public const int PLUGINS_BASE_VERSION_MINOR = 20; - public const int PLUGINS_BASE_VERSION_NANO = 1; + public const int PLUGINS_BASE_VERSION_NANO = 0; #endregion } } diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst/Constants.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/Constants.cs index 6ef4a2d1f1..9bfd52a2c2 100644 --- a/subprojects/gstreamer-sharp/sources/generated/Gst/Constants.cs +++ b/subprojects/gstreamer-sharp/sources/generated/Gst/Constants.cs @@ -170,9 +170,9 @@ namespace Gst { public const int VALUE_LESS_THAN = -1; public const int VALUE_UNORDERED = 2; public const int VERSION_MAJOR = 1; - public const int VERSION_MICRO = 3; + public const int VERSION_MICRO = 4; public const int VERSION_MINOR = 20; - public const int VERSION_NANO = 1; + public const int VERSION_NANO = 0; #endregion } } diff --git a/subprojects/gstreamer-sharp/sources/generated/gstreamer-sharp-api.xml b/subprojects/gstreamer-sharp/sources/generated/gstreamer-sharp-api.xml index 351501d78d..08ebf4aae3 100644 --- a/subprojects/gstreamer-sharp/sources/generated/gstreamer-sharp-api.xml +++ b/subprojects/gstreamer-sharp/sources/generated/gstreamer-sharp-api.xml @@ -12127,10 +12127,10 @@ - - - - + + + + @@ -21582,10 +21582,10 @@ - - - - + + + + diff --git a/subprojects/gstreamer-vaapi/ChangeLog b/subprojects/gstreamer-vaapi/ChangeLog index 06143ffb28..0f769dd4e7 100644 --- a/subprojects/gstreamer-vaapi/ChangeLog +++ b/subprojects/gstreamer-vaapi/ChangeLog @@ -1,3 +1,18 @@ +=== release 1.20.4 === + +2022-10-12 16:39:47 +0100 Tim-Philipp Müller + + * NEWS: + * RELEASE: + * gstreamer-vaapi.doap: + * meson.build: + Release 1.20.4 + +2022-10-12 16:39:40 +0100 Tim-Philipp Müller + + * ChangeLog: + Update ChangeLogs for 1.20.4 + 2022-08-11 21:22:12 +0200 Víctor Manuel Jáquez Leal * gst-libs/gst/vaapi/gstvaapidisplay.c: diff --git a/subprojects/gstreamer-vaapi/NEWS b/subprojects/gstreamer-vaapi/NEWS index 8071b5da68..6aa0a9e3ed 100644 --- a/subprojects/gstreamer-vaapi/NEWS +++ b/subprojects/gstreamer-vaapi/NEWS @@ -2,13 +2,13 @@ GStreamer 1.20 Release Notes GStreamer 1.20.0 was originally released on 3 February 2022. -The latest bug-fix release in the 1.20 series is 1.20.3 and was released -on 15 June 2022. +The latest bug-fix release in the 1.20 series is 1.20.4 and was released +on 12 October 2022. See https://gstreamer.freedesktop.org/releases/1.20/ for the latest version of this document. -Last updated: Monday 15 June 2022, 17:00 UTC (log) +Last updated: Wednesday 12 October 2022, 15:00 UTC (log) Introduction @@ -757,7 +757,8 @@ New element features and additions - matroskamux: accept in-band SPS/PPS/VPS for H.264 and H.265 (i.e. stream-format avc3 and hev1) which allows on-the-fly - profile/level/resolution changes. + profile/level changes, and from 1.20.4 onwards also resolution + changes. - matroskamux: new "cluster-timestamp-offset" property, useful for use cases where the container timestamps should map to some absolute @@ -909,7 +910,7 @@ New element features and additions - vp8enc: finish support for temporal scalability: two new properties ("temporal-scalability-layer-flags", "temporal-scalability-layer-sync-flags") and a unit change on the - "temporal-scalability-target-bitrate" property (now expects bps); + "temporal-scalability-target-bitrate” property (now expects bps); also make temporal scalability details available to RTP payloaders as buffer metadata. @@ -1754,7 +1755,7 @@ Possibly Breaking and Other Noteworthy Behavioural Changes names of internal elements anyway. - The vp8enc element now expects bps (bits per second) for the - "temporal-scalability-target-bitrate" property, which is consistent + "temporal-scalability-target-bitrate” property, which is consistent with the "target-bitrate" property. Since additional configuration is required with modern libvpx to make temporal scaling work anyway, chances are that very few people will have been using this property @@ -2503,15 +2504,293 @@ List of merge requests and issues fixed in 1.20.3 - List of Merge Requests applied in 1.20.3 - List of Issues fixed in 1.20.3 +1.20.4 + +The fourth 1.20 bug-fix release (1.20.4) was released on 12 October +2022. + +This release only contains bugfixes and it should be safe to upgrade +from 1.20.x. + +Highlighted bugfixes in 1.20.4 + +- avaudiodec: fix playback issue with WMA files, would throw an error + at EOS with FFmpeg 5.x +- Fix deadlock when loading gst-editing-services plugin +- Fix input buffering capacity in live mode for aggregator, + video/audio aggregator subclasses, muxers +- glimagesink: fix crash on Android +- subtitle handling and subtitle overlay fixes +- matroska-mux: allow width + height changes for avc3|hev1|vp8|vp9 +- rtspsrc: fix control url handling for spec compliant servers and add + fallback for incompliant servers +- WebRTC fixes +- RTP retransmission fixes +- video: fixes for formats with 4x subsampling and horizontal co-sited + chroma (Y41B, YUV9, YVU9 and IYU9) +- macOS build and packaging fixes, in particular fix finding of gio + modules on macOS for https/TLS support +- Performance improvements +- Miscellaneous bug fixes, memory leak fixes, and other stability and + reliability improvements + +gstreamer + +- buffer: drop parent meta in deep copy/foreach_metadata +- devicemonitor: Use a sync bus handler for the provider to avoid + accumulating all messages until the provider is stopped +- element: Fix requesting of pads with string templates +- gst: Protect initialization state with a recursive mutex +- gst: add missing define guard for build without gstreamer debug + logging support +- gst_init: Initialize static plugins just before dynamic plugins +- info: Parse “NONE” as a valid level name +- meta: Set the parent refcount of the GstStructure correctly +- pluginloader: Don’t hang on short reads/writes +- tracers: leaks: fix potentially invalid memory access when trying to + detect object type +- tracers: leaks: fix object-refings.class flags +- uri: When setting the same string again do nothing +- value: Don’t loop forever when serializing invalid flag + +Base Libraries + +- aggregator: fix input buffering in live mode (was too low before in + many cases) +- aggregator: fix reversed active/flushing arguments in debug log + output +- aggregator: Reset EOS flag after receiving a stream-start event + +Core Elements + +- queue2: Hold the lock when modifying sinkresult +- queue2: Fix deadlock when deactivate is called in pull mode + +gst-plugins-base + +- decodebin3: fix mutex leaks +- decodebin3: Fix memory issues with active selection list +- decodebin3, uridecodebin3, urisourcebin: Event handling fixes +- decodebin3: fix EOS event sequence +- parsebin: Avoid crash with unknown streams +- parsebin: SIGSEGV during HLS stream using souphttpsrc +- glimagesink: only allow setting the GL display/context if it is a + valid value +- glimagesink: segfault on android devices +- gstgl: Fix several memory leaks in macOS +- opusenc: improve inband-fec property documentation +- playsink: Hold a reference to the soft volume element +- pbutils: descriptions: fix gst_pb_utils_get_caps_description_flags() +- rtspurl: Use gst_uri_join_strings() in + gst_rtsp_url_get_request_uri_with_control() instead of a + hand-crafted, wrong version +- rtspconnection: protect cancellable by a mutex +- sdpmessage: Don’t set SDP medias from caps without + media/payload/clock-rate fields +- samiparse: fix handling of self-closing tags +- ssaparse: include required system headers for isspace() and sscanf() + functions +- subparse: fix crash when parsing invalid timestamps in mpl2 +- subparse fixes +- textoverlay: Don’t miscalculate text running times +- videoaggregator: always convert when user provides converter-config +- video: Fix scaling in 4x horizontal co-sited chroma (Y41B, YUV9, + YVU9 and IYU9) +- xmptag: register musicbrainz tags during init to fix critical in + jpegparse +- xvimagesink: fix image leaks in error code path +- tests: skip unit tests for dependency-less elements that have been + disabled + +Tools + +- No changes + +gst-plugins-good + +- alpha: fix stride issue when out buffer has padding on right +- isoff: Fix earliest pts field parse issue +- matroska-mux: allow width + height changes for avc3|hev1|vp8|vp9 +- qt: Fix another instance of Qt/GStreamer both defining GLsync + differently +- qtdemux: Avoid crash on reconfiguring. +- qtdemux: guard against timestamp calculation overflow in gap event + loop +- qtdemux: Don’t use invalid values from failed trex parsing +- qtdemux: possible endless loop +- rtpjitterbuffer: Only unschedule timers for late packets if they’re + not RTX packets and only once +- rtpjitterbuffer: remove lost timer for out of order packets +- rtspsrc: SETUP generates 400 Bad Request +- rtspsrc: Retry SETUP with non-compliant URL resolution on “Bad + Request” and “Not found” +- rtpst2022-1-fecenc: Drain column packets on EOS +- rtpvp8depay: If configured to wait for keyframes after packet loss, + also do that if incomplete frames are detected +- splitmuxsink: Don’t crash on EOS without buffer +- splitmuxsrc: Stop pad task before cleanup +- splitmuxsrc: don’t consider unlinked pads when deactivating part +- soup: libsoup3 makes audio streaming stop +- v4l2: fix critical when unreferencign buffer with no data +- v4l2bufferpool: Fix debug trace +- v4l2object: Add support for Apple’s full-range bt709 colorspace + variant 1:3:5:1 +- v4l2videocodec: workaround for failure to fully drain frames + preceding MIDSTREAM renegotiation +- v4l2allocator: Fix invalid imported dmabuf fd +- videoflip: Fix caps negotiation when method is selected +- build failure trying to build jack examples +- examples: don’t try and build jack examples if jack was disabled +- tests: skip unit tests for dependency-less elements that have been + disabled + +gst-plugins-bad + +- amcvideodec: fix GstAmcSurfaceTexture segfault +- audiobuffersplit: Fix drift that was introduced by wrong + calculations in gapless mode +- avfvideosrc: Fix wrong default framerate value +- audiovisualizer: fix buffer mapping to not increase refcount +- d3d11decoder: Check 16K resolution support +- d3d11videosink: Fix for force-aspect-ratio setting when rendering on + shared texture +- mxfdemux: Always calculate BlockAlign of raw audio to work around + files with broken BlockAlign field in the headers +- nvdec: Fix for HEVC decoding when coded resolution is larger than + display resolution +- openh264: Register debug categories earlier +- openh264enc: Fix constrained-high encoding +- openmpt: update from now deprecated api +- GstPlay: missing cleanup for g_autoptr +- player/play: Fix object construction and various leaks +- player: Plug a memory leak +- proxysink: Make sure stream-start and caps events are forwarded, and + fix memory leak +- tsdemux: Don’t trigger a program change when falling back to + ignore-pcr behaviour +- va: allocator: Fix translation of VADRMPRIMESurfaceDescriptor +- va: h265dec: Fix a crash because of missing reference frame. +- vah265dec: Decoder segfaults on seek +- wasapi: Implement default audio channel mask +- wasapi2: Fix initial mute/volume setting +- webrtcbin: Limit sink query to sink pads +- webrtcbin: Fix pointer dereference before null check +- webrtc: Make sure to return NULL when validating TURN server fails +- tests: skip unit tests for dependency-less elements that have been + disabled + +gst-plugins-ugly + +- tests: skip unit tests for dependency-less elements that have been + disabled + +gst-libav + +- avauddec: fix regression with WMA files, would throw an error at EOS +- avauddec: fix unnecessary reconfiguration if the audio layout isn’t + specified +- libav: Fix for APNG encoder property registration +- Failure to decode end of WMA file + +gst-rtsp-server + +- gst-rtsp-server: Fix pushing backlog to client +- rtsp-server: stream: Don’t loop forever if binding to the multicast + address fails + +gstreamer-vaapi + +- vaapi: Handle when no encoders/decoders available. +- vaapi: Crash in gst_vaapidecode_class_init() when no + decoders/encoders available + +gstreamer-sharp + +- No changes + +gst-omx + +- No changes + +gst-python + +- python: Do not call gst_init when it is already is_initialized + +gst-editing-services + +- Deadlock in ges because of recursive gst_init() call +- ges/gstframepositioner: don’t create one compositor per frame meta +- nle: clear seek event properly + +gst-examples: + +- examples/webrtc/signalling: Fix compatibility with Python 3.10 + +Development build environment + gst-full build + +- build: Fix some compiler warnings by upgrading wraps +- dv, opusparse: fix duplicate symbols in static build +- Fix fedora 36 warnings - OpenSSL 3.0 deprecations + GLib 2.72 + tls-validation deprecations +- Various macOS build fixes +- meson: Improve certifi documentation on macOS + +Cerbero build tool and packaging changes in 1.20.4 + +- Add Ubuntu 22.04 Jammy Jellyfish +- Add gst-rtsp-server library to the macOS framework +- cerbero: Quick fix for gen-cache breakage +- macos: Fix the install_name for the GStreamer framework +- Download using powershell on Windows and rework download func +- macos: Add arm64 to the metadata for the installer +- cerbero: Allow building on Linux ARM64 +- pkg-config.recipe: Add to core platform files list +- git: Fix issue with last security patch +- distros: Fix CentOS allowance +- cerbero: Print working directory for commands that are run +- cerbero: Fix license property usage example +- Fix issue getting distro_version in Debian Bookworm +- glib: Fix gio modules loading on macOS +- cmake: Fix macOS ARM64 -> x86_64 cross-compilation +- Fix logo display in macOS installer +- openssl.recipe: Fix segfault on latest macOS +- msvc: Fix for broken CRT linking at application project because of + MSVCRT linking +- cerbero: Do not add rpaths that already exist on macOS +- android: fix build with android gradle plugin 7.2 +- macOS framework is unusable starting from 1.18.0 + +Contributors to 1.20.4 + +Adrian Fiergolski, Aleksandr Slobodeniuk, Andoni Morales Alastruey, +Andrew Pritchard, Bruce Liang, Corentin Damman, Daniel Morin, Edward +Hervey, Elliot Chen, Fabian Orccon, fduncanh, Guillaume Desmottes, +Haihua Hu, He Junyan, Ignazio Pillai, James Cowgill, James Hilliard, Jan +Alexander Steffens (heftig), Jan Schmidt, Jianhui Dai, Jonas Danielsson, +Jordan Petridis, Khem Raj, Krystian Wojtas, Martin Dørum, Mart Raudsepp, +Mathieu Duponchelle, Matthew Waters, Matthias Clasen, Nicolas Dufresne, +Nirbheek Chauhan, Olivier Crête, Paweł Stawicki, Philippe Normand, +Philipp Zabel, Piotr Brzeziński, Rafael Caricio, Rafael Sobral, Raul +Tambre, Ruben Gonzalez, Sangchul Lee, Sebastian Dröge, Seungha Yang, +Stéphane Cerveau, Thibault Saunier, Tim-Philipp Müller, Tristan +Matthews, Víctor Manuel Jáquez Leal, Xavier Claessens, Zhiyuan Liu, + +… and many others who have contributed bug reports, translations, sent +suggestions or helped testing. Thank you all! + +List of merge requests and issues fixed in 1.20.4 + +- List of Merge Requests applied in 1.20.4 +- List of Issues fixed in 1.20.4 + Schedule for 1.22 Our next major feature release will be 1.22, and 1.21 will be the unstable development version leading up to the stable 1.22 release. The development of 1.21/1.22 will happen in the git main branch. -The plan for the 1.22 development cycle is yet to be confirmed. Assuming -no major project-wide reorganisations in the 1.22 cycle we might try and -aim for a release around August 2022. +The plan for the 1.22 development cycle is now confirmed, and we aim for +a 1.22.0 release in December 2022. 1.22 will be backwards-compatible to the stable 1.20, 1.18, 1.16, 1.14, 1.12, 1.10, 1.8, 1.6, 1.4, 1.2 and 1.0 release series. diff --git a/subprojects/gstreamer-vaapi/RELEASE b/subprojects/gstreamer-vaapi/RELEASE index 3389f92468..c8dc463b5b 100644 --- a/subprojects/gstreamer-vaapi/RELEASE +++ b/subprojects/gstreamer-vaapi/RELEASE @@ -1,4 +1,4 @@ -This is GStreamer gstreamer-vaapi 1.20.3. +This is GStreamer gstreamer-vaapi 1.20.4. The GStreamer team is thrilled to announce a new major feature release of your favourite cross-platform multimedia framework! diff --git a/subprojects/gstreamer-vaapi/gstreamer-vaapi.doap b/subprojects/gstreamer-vaapi/gstreamer-vaapi.doap index b5e4318000..f9f6037c6b 100644 --- a/subprojects/gstreamer-vaapi/gstreamer-vaapi.doap +++ b/subprojects/gstreamer-vaapi/gstreamer-vaapi.doap @@ -25,6 +25,16 @@ + + + 1.20.4 + 1.20 + + 2022-10-12 + + + + 1.20.3 diff --git a/subprojects/gstreamer-vaapi/meson.build b/subprojects/gstreamer-vaapi/meson.build index 702441cb7b..4917651058 100644 --- a/subprojects/gstreamer-vaapi/meson.build +++ b/subprojects/gstreamer-vaapi/meson.build @@ -1,5 +1,5 @@ project('gstreamer-vaapi', 'c', - version : '1.20.3.1', + version : '1.20.4', meson_version : '>= 0.59', default_options : [ 'warning_level=1', 'buildtype=debugoptimized' ]) diff --git a/subprojects/gstreamer/ChangeLog b/subprojects/gstreamer/ChangeLog index 03532ea76f..fac484d71d 100644 --- a/subprojects/gstreamer/ChangeLog +++ b/subprojects/gstreamer/ChangeLog @@ -1,3 +1,18 @@ +=== release 1.20.4 === + +2022-10-12 16:39:47 +0100 Tim-Philipp Müller + + * NEWS: + * RELEASE: + * gstreamer.doap: + * meson.build: + Release 1.20.4 + +2022-10-12 16:39:40 +0100 Tim-Philipp Müller + + * ChangeLog: + Update ChangeLogs for 1.20.4 + 2022-10-07 14:39:47 +0200 Guillaume Desmottes * libs/gst/base/gstaggregator.c: diff --git a/subprojects/gstreamer/NEWS b/subprojects/gstreamer/NEWS index 8071b5da68..6aa0a9e3ed 100644 --- a/subprojects/gstreamer/NEWS +++ b/subprojects/gstreamer/NEWS @@ -2,13 +2,13 @@ GStreamer 1.20 Release Notes GStreamer 1.20.0 was originally released on 3 February 2022. -The latest bug-fix release in the 1.20 series is 1.20.3 and was released -on 15 June 2022. +The latest bug-fix release in the 1.20 series is 1.20.4 and was released +on 12 October 2022. See https://gstreamer.freedesktop.org/releases/1.20/ for the latest version of this document. -Last updated: Monday 15 June 2022, 17:00 UTC (log) +Last updated: Wednesday 12 October 2022, 15:00 UTC (log) Introduction @@ -757,7 +757,8 @@ New element features and additions - matroskamux: accept in-band SPS/PPS/VPS for H.264 and H.265 (i.e. stream-format avc3 and hev1) which allows on-the-fly - profile/level/resolution changes. + profile/level changes, and from 1.20.4 onwards also resolution + changes. - matroskamux: new "cluster-timestamp-offset" property, useful for use cases where the container timestamps should map to some absolute @@ -909,7 +910,7 @@ New element features and additions - vp8enc: finish support for temporal scalability: two new properties ("temporal-scalability-layer-flags", "temporal-scalability-layer-sync-flags") and a unit change on the - "temporal-scalability-target-bitrate" property (now expects bps); + "temporal-scalability-target-bitrate” property (now expects bps); also make temporal scalability details available to RTP payloaders as buffer metadata. @@ -1754,7 +1755,7 @@ Possibly Breaking and Other Noteworthy Behavioural Changes names of internal elements anyway. - The vp8enc element now expects bps (bits per second) for the - "temporal-scalability-target-bitrate" property, which is consistent + "temporal-scalability-target-bitrate” property, which is consistent with the "target-bitrate" property. Since additional configuration is required with modern libvpx to make temporal scaling work anyway, chances are that very few people will have been using this property @@ -2503,15 +2504,293 @@ List of merge requests and issues fixed in 1.20.3 - List of Merge Requests applied in 1.20.3 - List of Issues fixed in 1.20.3 +1.20.4 + +The fourth 1.20 bug-fix release (1.20.4) was released on 12 October +2022. + +This release only contains bugfixes and it should be safe to upgrade +from 1.20.x. + +Highlighted bugfixes in 1.20.4 + +- avaudiodec: fix playback issue with WMA files, would throw an error + at EOS with FFmpeg 5.x +- Fix deadlock when loading gst-editing-services plugin +- Fix input buffering capacity in live mode for aggregator, + video/audio aggregator subclasses, muxers +- glimagesink: fix crash on Android +- subtitle handling and subtitle overlay fixes +- matroska-mux: allow width + height changes for avc3|hev1|vp8|vp9 +- rtspsrc: fix control url handling for spec compliant servers and add + fallback for incompliant servers +- WebRTC fixes +- RTP retransmission fixes +- video: fixes for formats with 4x subsampling and horizontal co-sited + chroma (Y41B, YUV9, YVU9 and IYU9) +- macOS build and packaging fixes, in particular fix finding of gio + modules on macOS for https/TLS support +- Performance improvements +- Miscellaneous bug fixes, memory leak fixes, and other stability and + reliability improvements + +gstreamer + +- buffer: drop parent meta in deep copy/foreach_metadata +- devicemonitor: Use a sync bus handler for the provider to avoid + accumulating all messages until the provider is stopped +- element: Fix requesting of pads with string templates +- gst: Protect initialization state with a recursive mutex +- gst: add missing define guard for build without gstreamer debug + logging support +- gst_init: Initialize static plugins just before dynamic plugins +- info: Parse “NONE” as a valid level name +- meta: Set the parent refcount of the GstStructure correctly +- pluginloader: Don’t hang on short reads/writes +- tracers: leaks: fix potentially invalid memory access when trying to + detect object type +- tracers: leaks: fix object-refings.class flags +- uri: When setting the same string again do nothing +- value: Don’t loop forever when serializing invalid flag + +Base Libraries + +- aggregator: fix input buffering in live mode (was too low before in + many cases) +- aggregator: fix reversed active/flushing arguments in debug log + output +- aggregator: Reset EOS flag after receiving a stream-start event + +Core Elements + +- queue2: Hold the lock when modifying sinkresult +- queue2: Fix deadlock when deactivate is called in pull mode + +gst-plugins-base + +- decodebin3: fix mutex leaks +- decodebin3: Fix memory issues with active selection list +- decodebin3, uridecodebin3, urisourcebin: Event handling fixes +- decodebin3: fix EOS event sequence +- parsebin: Avoid crash with unknown streams +- parsebin: SIGSEGV during HLS stream using souphttpsrc +- glimagesink: only allow setting the GL display/context if it is a + valid value +- glimagesink: segfault on android devices +- gstgl: Fix several memory leaks in macOS +- opusenc: improve inband-fec property documentation +- playsink: Hold a reference to the soft volume element +- pbutils: descriptions: fix gst_pb_utils_get_caps_description_flags() +- rtspurl: Use gst_uri_join_strings() in + gst_rtsp_url_get_request_uri_with_control() instead of a + hand-crafted, wrong version +- rtspconnection: protect cancellable by a mutex +- sdpmessage: Don’t set SDP medias from caps without + media/payload/clock-rate fields +- samiparse: fix handling of self-closing tags +- ssaparse: include required system headers for isspace() and sscanf() + functions +- subparse: fix crash when parsing invalid timestamps in mpl2 +- subparse fixes +- textoverlay: Don’t miscalculate text running times +- videoaggregator: always convert when user provides converter-config +- video: Fix scaling in 4x horizontal co-sited chroma (Y41B, YUV9, + YVU9 and IYU9) +- xmptag: register musicbrainz tags during init to fix critical in + jpegparse +- xvimagesink: fix image leaks in error code path +- tests: skip unit tests for dependency-less elements that have been + disabled + +Tools + +- No changes + +gst-plugins-good + +- alpha: fix stride issue when out buffer has padding on right +- isoff: Fix earliest pts field parse issue +- matroska-mux: allow width + height changes for avc3|hev1|vp8|vp9 +- qt: Fix another instance of Qt/GStreamer both defining GLsync + differently +- qtdemux: Avoid crash on reconfiguring. +- qtdemux: guard against timestamp calculation overflow in gap event + loop +- qtdemux: Don’t use invalid values from failed trex parsing +- qtdemux: possible endless loop +- rtpjitterbuffer: Only unschedule timers for late packets if they’re + not RTX packets and only once +- rtpjitterbuffer: remove lost timer for out of order packets +- rtspsrc: SETUP generates 400 Bad Request +- rtspsrc: Retry SETUP with non-compliant URL resolution on “Bad + Request” and “Not found” +- rtpst2022-1-fecenc: Drain column packets on EOS +- rtpvp8depay: If configured to wait for keyframes after packet loss, + also do that if incomplete frames are detected +- splitmuxsink: Don’t crash on EOS without buffer +- splitmuxsrc: Stop pad task before cleanup +- splitmuxsrc: don’t consider unlinked pads when deactivating part +- soup: libsoup3 makes audio streaming stop +- v4l2: fix critical when unreferencign buffer with no data +- v4l2bufferpool: Fix debug trace +- v4l2object: Add support for Apple’s full-range bt709 colorspace + variant 1:3:5:1 +- v4l2videocodec: workaround for failure to fully drain frames + preceding MIDSTREAM renegotiation +- v4l2allocator: Fix invalid imported dmabuf fd +- videoflip: Fix caps negotiation when method is selected +- build failure trying to build jack examples +- examples: don’t try and build jack examples if jack was disabled +- tests: skip unit tests for dependency-less elements that have been + disabled + +gst-plugins-bad + +- amcvideodec: fix GstAmcSurfaceTexture segfault +- audiobuffersplit: Fix drift that was introduced by wrong + calculations in gapless mode +- avfvideosrc: Fix wrong default framerate value +- audiovisualizer: fix buffer mapping to not increase refcount +- d3d11decoder: Check 16K resolution support +- d3d11videosink: Fix for force-aspect-ratio setting when rendering on + shared texture +- mxfdemux: Always calculate BlockAlign of raw audio to work around + files with broken BlockAlign field in the headers +- nvdec: Fix for HEVC decoding when coded resolution is larger than + display resolution +- openh264: Register debug categories earlier +- openh264enc: Fix constrained-high encoding +- openmpt: update from now deprecated api +- GstPlay: missing cleanup for g_autoptr +- player/play: Fix object construction and various leaks +- player: Plug a memory leak +- proxysink: Make sure stream-start and caps events are forwarded, and + fix memory leak +- tsdemux: Don’t trigger a program change when falling back to + ignore-pcr behaviour +- va: allocator: Fix translation of VADRMPRIMESurfaceDescriptor +- va: h265dec: Fix a crash because of missing reference frame. +- vah265dec: Decoder segfaults on seek +- wasapi: Implement default audio channel mask +- wasapi2: Fix initial mute/volume setting +- webrtcbin: Limit sink query to sink pads +- webrtcbin: Fix pointer dereference before null check +- webrtc: Make sure to return NULL when validating TURN server fails +- tests: skip unit tests for dependency-less elements that have been + disabled + +gst-plugins-ugly + +- tests: skip unit tests for dependency-less elements that have been + disabled + +gst-libav + +- avauddec: fix regression with WMA files, would throw an error at EOS +- avauddec: fix unnecessary reconfiguration if the audio layout isn’t + specified +- libav: Fix for APNG encoder property registration +- Failure to decode end of WMA file + +gst-rtsp-server + +- gst-rtsp-server: Fix pushing backlog to client +- rtsp-server: stream: Don’t loop forever if binding to the multicast + address fails + +gstreamer-vaapi + +- vaapi: Handle when no encoders/decoders available. +- vaapi: Crash in gst_vaapidecode_class_init() when no + decoders/encoders available + +gstreamer-sharp + +- No changes + +gst-omx + +- No changes + +gst-python + +- python: Do not call gst_init when it is already is_initialized + +gst-editing-services + +- Deadlock in ges because of recursive gst_init() call +- ges/gstframepositioner: don’t create one compositor per frame meta +- nle: clear seek event properly + +gst-examples: + +- examples/webrtc/signalling: Fix compatibility with Python 3.10 + +Development build environment + gst-full build + +- build: Fix some compiler warnings by upgrading wraps +- dv, opusparse: fix duplicate symbols in static build +- Fix fedora 36 warnings - OpenSSL 3.0 deprecations + GLib 2.72 + tls-validation deprecations +- Various macOS build fixes +- meson: Improve certifi documentation on macOS + +Cerbero build tool and packaging changes in 1.20.4 + +- Add Ubuntu 22.04 Jammy Jellyfish +- Add gst-rtsp-server library to the macOS framework +- cerbero: Quick fix for gen-cache breakage +- macos: Fix the install_name for the GStreamer framework +- Download using powershell on Windows and rework download func +- macos: Add arm64 to the metadata for the installer +- cerbero: Allow building on Linux ARM64 +- pkg-config.recipe: Add to core platform files list +- git: Fix issue with last security patch +- distros: Fix CentOS allowance +- cerbero: Print working directory for commands that are run +- cerbero: Fix license property usage example +- Fix issue getting distro_version in Debian Bookworm +- glib: Fix gio modules loading on macOS +- cmake: Fix macOS ARM64 -> x86_64 cross-compilation +- Fix logo display in macOS installer +- openssl.recipe: Fix segfault on latest macOS +- msvc: Fix for broken CRT linking at application project because of + MSVCRT linking +- cerbero: Do not add rpaths that already exist on macOS +- android: fix build with android gradle plugin 7.2 +- macOS framework is unusable starting from 1.18.0 + +Contributors to 1.20.4 + +Adrian Fiergolski, Aleksandr Slobodeniuk, Andoni Morales Alastruey, +Andrew Pritchard, Bruce Liang, Corentin Damman, Daniel Morin, Edward +Hervey, Elliot Chen, Fabian Orccon, fduncanh, Guillaume Desmottes, +Haihua Hu, He Junyan, Ignazio Pillai, James Cowgill, James Hilliard, Jan +Alexander Steffens (heftig), Jan Schmidt, Jianhui Dai, Jonas Danielsson, +Jordan Petridis, Khem Raj, Krystian Wojtas, Martin Dørum, Mart Raudsepp, +Mathieu Duponchelle, Matthew Waters, Matthias Clasen, Nicolas Dufresne, +Nirbheek Chauhan, Olivier Crête, Paweł Stawicki, Philippe Normand, +Philipp Zabel, Piotr Brzeziński, Rafael Caricio, Rafael Sobral, Raul +Tambre, Ruben Gonzalez, Sangchul Lee, Sebastian Dröge, Seungha Yang, +Stéphane Cerveau, Thibault Saunier, Tim-Philipp Müller, Tristan +Matthews, Víctor Manuel Jáquez Leal, Xavier Claessens, Zhiyuan Liu, + +… and many others who have contributed bug reports, translations, sent +suggestions or helped testing. Thank you all! + +List of merge requests and issues fixed in 1.20.4 + +- List of Merge Requests applied in 1.20.4 +- List of Issues fixed in 1.20.4 + Schedule for 1.22 Our next major feature release will be 1.22, and 1.21 will be the unstable development version leading up to the stable 1.22 release. The development of 1.21/1.22 will happen in the git main branch. -The plan for the 1.22 development cycle is yet to be confirmed. Assuming -no major project-wide reorganisations in the 1.22 cycle we might try and -aim for a release around August 2022. +The plan for the 1.22 development cycle is now confirmed, and we aim for +a 1.22.0 release in December 2022. 1.22 will be backwards-compatible to the stable 1.20, 1.18, 1.16, 1.14, 1.12, 1.10, 1.8, 1.6, 1.4, 1.2 and 1.0 release series. diff --git a/subprojects/gstreamer/RELEASE b/subprojects/gstreamer/RELEASE index 47baf8d3de..6a7a69d0bc 100644 --- a/subprojects/gstreamer/RELEASE +++ b/subprojects/gstreamer/RELEASE @@ -1,4 +1,4 @@ -This is GStreamer core 1.20.3. +This is GStreamer core 1.20.4. The GStreamer team is thrilled to announce a new major feature release of your favourite cross-platform multimedia framework! diff --git a/subprojects/gstreamer/gstreamer.doap b/subprojects/gstreamer/gstreamer.doap index ed4523ff59..a4b2a07fc4 100644 --- a/subprojects/gstreamer/gstreamer.doap +++ b/subprojects/gstreamer/gstreamer.doap @@ -38,6 +38,16 @@ hierarchy, and a set of media-agnostic core elements. + + + 1.20.4 + 1.20 + + 2022-10-12 + + + + 1.20.3 diff --git a/subprojects/gstreamer/meson.build b/subprojects/gstreamer/meson.build index ce923cf680..9ce1973490 100644 --- a/subprojects/gstreamer/meson.build +++ b/subprojects/gstreamer/meson.build @@ -1,5 +1,5 @@ project('gstreamer', 'c', - version : '1.20.3.1', + version : '1.20.4', meson_version : '>= 0.59', default_options : [ 'warning_level=1', 'buildtype=debugoptimized' ]) -- cgit v1.2.3