summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim-Philipp Müller <tim@centricular.com>2022-10-12 16:39:47 +0100
committerTim-Philipp Müller <tim@centricular.com>2022-10-12 16:39:51 +0100
commit642730bd67d3c23ac68bd328fbddd191a7a43f25 (patch)
tree29d04fe5dba1158d2f1445dc223de365edcb208b
parent7275d3d136ac5b074ee20e6a91b4a243b94d60bf (diff)
Release 1.20.41.20.4
-rw-r--r--meson.build2
-rw-r--r--subprojects/gst-devtools/ChangeLog15
-rw-r--r--subprojects/gst-devtools/NEWS297
-rw-r--r--subprojects/gst-devtools/RELEASE2
-rw-r--r--subprojects/gst-devtools/gst-devtools.doap10
-rw-r--r--subprojects/gst-devtools/meson.build2
-rw-r--r--subprojects/gst-docs/meson.build2
-rw-r--r--subprojects/gst-editing-services/ChangeLog15
-rw-r--r--subprojects/gst-editing-services/NEWS297
-rw-r--r--subprojects/gst-editing-services/RELEASE2
-rw-r--r--subprojects/gst-editing-services/gst-editing-services.doap10
-rw-r--r--subprojects/gst-editing-services/meson.build2
-rw-r--r--subprojects/gst-examples/meson.build2
-rw-r--r--subprojects/gst-integration-testsuites/meson.build2
-rw-r--r--subprojects/gst-libav/ChangeLog15
-rw-r--r--subprojects/gst-libav/NEWS297
-rw-r--r--subprojects/gst-libav/RELEASE2
-rw-r--r--subprojects/gst-libav/gst-libav.doap10
-rw-r--r--subprojects/gst-libav/meson.build2
-rw-r--r--subprojects/gst-omx/ChangeLog15
-rw-r--r--subprojects/gst-omx/NEWS297
-rw-r--r--subprojects/gst-omx/RELEASE2
-rw-r--r--subprojects/gst-omx/gst-omx.doap10
-rw-r--r--subprojects/gst-omx/meson.build2
-rw-r--r--subprojects/gst-plugins-bad/ChangeLog15
-rw-r--r--subprojects/gst-plugins-bad/NEWS297
-rw-r--r--subprojects/gst-plugins-bad/RELEASE2
-rw-r--r--subprojects/gst-plugins-bad/gst-plugins-bad.doap10
-rw-r--r--subprojects/gst-plugins-bad/meson.build2
-rw-r--r--subprojects/gst-plugins-base/ChangeLog15
-rw-r--r--subprojects/gst-plugins-base/NEWS297
-rw-r--r--subprojects/gst-plugins-base/RELEASE2
-rw-r--r--subprojects/gst-plugins-base/gst-plugins-base.doap10
-rw-r--r--subprojects/gst-plugins-base/meson.build2
-rw-r--r--subprojects/gst-plugins-good/ChangeLog16
-rw-r--r--subprojects/gst-plugins-good/NEWS297
-rw-r--r--subprojects/gst-plugins-good/RELEASE2
-rw-r--r--subprojects/gst-plugins-good/docs/gst_plugins_cache.json8
-rw-r--r--subprojects/gst-plugins-good/gst-plugins-good.doap10
-rw-r--r--subprojects/gst-plugins-good/meson.build2
-rw-r--r--subprojects/gst-plugins-ugly/ChangeLog15
-rw-r--r--subprojects/gst-plugins-ugly/NEWS297
-rw-r--r--subprojects/gst-plugins-ugly/RELEASE2
-rw-r--r--subprojects/gst-plugins-ugly/gst-plugins-ugly.doap10
-rw-r--r--subprojects/gst-plugins-ugly/meson.build2
-rw-r--r--subprojects/gst-python/ChangeLog15
-rw-r--r--subprojects/gst-python/NEWS297
-rw-r--r--subprojects/gst-python/RELEASE2
-rw-r--r--subprojects/gst-python/gst-python.doap10
-rw-r--r--subprojects/gst-python/meson.build2
-rw-r--r--subprojects/gst-rtsp-server/ChangeLog16
-rw-r--r--subprojects/gst-rtsp-server/NEWS297
-rw-r--r--subprojects/gst-rtsp-server/RELEASE2
-rw-r--r--subprojects/gst-rtsp-server/docs/gst_plugins_cache.json2
-rw-r--r--subprojects/gst-rtsp-server/gst-rtsp-server.doap10
-rw-r--r--subprojects/gst-rtsp-server/meson.build2
-rw-r--r--subprojects/gstreamer-sharp/meson.build2
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/Constants.cs4
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/Constants.cs4
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/gstreamer-sharp-api.xml16
-rw-r--r--subprojects/gstreamer-vaapi/ChangeLog15
-rw-r--r--subprojects/gstreamer-vaapi/NEWS297
-rw-r--r--subprojects/gstreamer-vaapi/RELEASE2
-rw-r--r--subprojects/gstreamer-vaapi/gstreamer-vaapi.doap10
-rw-r--r--subprojects/gstreamer-vaapi/meson.build2
-rw-r--r--subprojects/gstreamer/ChangeLog15
-rw-r--r--subprojects/gstreamer/NEWS297
-rw-r--r--subprojects/gstreamer/RELEASE2
-rw-r--r--subprojects/gstreamer/gstreamer.doap10
-rw-r--r--subprojects/gstreamer/meson.build2
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 <tim@centricular.com>
+
+ * NEWS:
+ * RELEASE:
+ * gst-devtools.doap:
+ * meson.build:
+ Release 1.20.4
+
+2022-10-12 16:39:40 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * ChangeLog:
+ Update ChangeLogs for 1.20.4
+
2022-06-29 10:55:13 +0100 Tim-Philipp Müller <tim@centricular.com>
* 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
@@ -55,6 +55,16 @@
<release>
<Version>
+ <revision>1.20.4</revision>
+ <branch>1.20</branch>
+ <name></name>
+ <created>2022-10-12</created>
+ <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-devtools/gst-devtools-1.20.4.tar.xz" />
+ </Version>
+ </release>
+
+ <release>
+ <Version>
<revision>1.20.3</revision>
<branch>1.20</branch>
<name></name>
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 <tim@centricular.com>
+
+ * NEWS:
+ * RELEASE:
+ * gst-editing-services.doap:
+ * meson.build:
+ Release 1.20.4
+
+2022-10-12 16:39:40 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * ChangeLog:
+ Update ChangeLogs for 1.20.4
+
2022-03-28 13:47:52 +0200 Stéphane Cerveau <scerveau@collabora.com>
* 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
@@ -32,6 +32,16 @@ GStreamer library for creating audio and video editors
<release>
<Version>
+ <revision>1.20.4</revision>
+ <branch>1.20</branch>
+ <name></name>
+ <created>2022-10-12</created>
+ <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-editing-services/gst-editing-services-1.20.4.tar.xz" />
+ </Version>
+ </release>
+
+ <release>
+ <Version>
<revision>1.20.3</revision>
<branch>1.20</branch>
<name></name>
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 <tim@centricular.com>
+
+ * NEWS:
+ * RELEASE:
+ * gst-libav.doap:
+ * meson.build:
+ Release 1.20.4
+
+2022-10-12 16:39:40 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * ChangeLog:
+ Update ChangeLogs for 1.20.4
+
2022-10-04 21:27:36 +0200 Mathieu Duponchelle <mathieu@centricular.com>
* 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
@@ -34,6 +34,16 @@ colorspace conversion elements.
<release>
<Version>
+ <revision>1.20.4</revision>
+ <branch>1.20</branch>
+ <name></name>
+ <created>2022-10-12</created>
+ <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.20.4.tar.xz" />
+ </Version>
+ </release>
+
+ <release>
+ <Version>
<revision>1.20.3</revision>
<branch>1.20</branch>
<name></name>
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 <tim@centricular.com>
+
+ * NEWS:
+ * RELEASE:
+ * gst-omx.doap:
+ * meson.build:
+ Release 1.20.4
+
+2022-10-12 16:39:40 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * ChangeLog:
+ Update ChangeLogs for 1.20.4
+
2022-06-29 10:55:13 +0100 Tim-Philipp Müller <tim@centricular.com>
* 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
@@ -33,6 +33,16 @@ a basic collection of elements
<release>
<Version>
+ <revision>1.20.4</revision>
+ <branch>1.20</branch>
+ <name></name>
+ <created>2022-10-12</created>
+ <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-omx/gst-omx-1.20.4.tar.xz" />
+ </Version>
+ </release>
+
+ <release>
+ <Version>
<revision>1.20.3</revision>
<branch>1.20</branch>
<name></name>
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 <tim@centricular.com>
+
+ * NEWS:
+ * RELEASE:
+ * gst-plugins-bad.doap:
+ * meson.build:
+ Release 1.20.4
+
+2022-10-12 16:39:40 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * ChangeLog:
+ Update ChangeLogs for 1.20.4
+
2022-08-08 23:37:11 +0900 Seungha Yang <seungha@centricular.com>
* 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
@@ -35,6 +35,16 @@ real live maintainer, or some actual wide use.
<release>
<Version>
+ <revision>1.20.4</revision>
+ <branch>1.20</branch>
+ <name></name>
+ <created>2022-10-12</created>
+ <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.20.4.tar.xz" />
+ </Version>
+ </release>
+
+ <release>
+ <Version>
<revision>1.20.3</revision>
<branch>1.20</branch>
<name></name>
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 <tim@centricular.com>
+
+ * NEWS:
+ * RELEASE:
+ * gst-plugins-base.doap:
+ * meson.build:
+ Release 1.20.4
+
+2022-10-12 16:39:40 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * ChangeLog:
+ Update ChangeLogs for 1.20.4
+
2022-10-01 04:51:21 +1000 Jan Schmidt <jan@centricular.com>
* 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
@@ -36,6 +36,16 @@ A wide range of video and audio decoders, encoders, and filters are included.
<release>
<Version>
+ <revision>1.20.4</revision>
+ <branch>1.20</branch>
+ <name></name>
+ <created>2022-10-12</created>
+ <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.20.4.tar.xz" />
+ </Version>
+ </release>
+
+ <release>
+ <Version>
<revision>1.20.3</revision>
<branch>1.20</branch>
<name></name>
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 <tim@centricular.com>
+
+ * 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 <tim@centricular.com>
+
+ * ChangeLog:
+ Update ChangeLogs for 1.20.4
+
2022-09-30 18:57:01 +0200 Mathieu Duponchelle <mathieu@centricular.com>
* 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
@@ -34,6 +34,16 @@ the plug-in code, LGPL or LGPL-compatible for the supporting library).
<release>
<Version>
+ <revision>1.20.4</revision>
+ <branch>1.20</branch>
+ <name></name>
+ <created>2022-10-12</created>
+ <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.20.4.tar.xz" />
+ </Version>
+ </release>
+
+ <release>
+ <Version>
<revision>1.20.3</revision>
<branch>1.20</branch>
<name></name>
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 <tim@centricular.com>
+
+ * NEWS:
+ * RELEASE:
+ * gst-plugins-ugly.doap:
+ * meson.build:
+ Release 1.20.4
+
+2022-10-12 16:39:40 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * ChangeLog:
+ Update ChangeLogs for 1.20.4
+
2022-06-29 10:55:13 +0100 Tim-Philipp Müller <tim@centricular.com>
* 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
@@ -35,6 +35,16 @@ might be widely known to present patent problems.
<release>
<Version>
+ <revision>1.20.4</revision>
+ <branch>1.20</branch>
+ <name></name>
+ <created>2022-10-12</created>
+ <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.20.4.tar.xz" />
+ </Version>
+ </release>
+
+ <release>
+ <Version>
<revision>1.20.3</revision>
<branch>1.20</branch>
<name></name>
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 <tim@centricular.com>
+
+ * NEWS:
+ * RELEASE:
+ * gst-python.doap:
+ * meson.build:
+ Release 1.20.4
+
+2022-10-12 16:39:40 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * ChangeLog:
+ Update ChangeLogs for 1.20.4
+
2022-06-28 16:38:09 -0400 Thibault Saunier <tsaunier@igalia.com>
* 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
@@ -32,6 +32,16 @@ GStreamer Python Bindings is a set of overrides and Gst fundamental types handli
<release>
<Version>
+ <revision>1.20.4</revision>
+ <branch>1.20</branch>
+ <name></name>
+ <created>2022-10-12</created>
+ <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-python/gst-python-1.20.4.tar.xz" />
+ </Version>
+ </release>
+
+ <release>
+ <Version>
<revision>1.20.3</revision>
<branch>1.20</branch>
<name></name>
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 <tim@centricular.com>
+
+ * 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 <tim@centricular.com>
+
+ * ChangeLog:
+ Update ChangeLogs for 1.20.4
+
2022-08-24 19:50:19 +0800 Bruce Liang <Bruce.Liang@Abilitycorp.com.tw>
* 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
@@ -32,6 +32,16 @@ RTSP server library based on GStreamer
<release>
<Version>
+ <revision>1.20.4</revision>
+ <branch>1.20</branch>
+ <name></name>
+ <created>2022-10-12</created>
+ <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-rtsp-server/gst-rtsp-server-1.20.4.tar.xz" />
+ </Version>
+ </release>
+
+ <release>
+ <Version>
<revision>1.20.3</revision>
<branch>1.20</branch>
<name></name>
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 @@
<constant value="1" ctype="gint" gtype="gint" name="VALUE_GREATER_THAN" />
<constant value="-1" ctype="gint" gtype="gint" name="VALUE_LESS_THAN" />
<constant value="2" ctype="gint" gtype="gint" name="VALUE_UNORDERED" />
- <constant value="1" ctype="gint" gtype="gint" name="VERSION_MAJOR" />
- <constant value="3" ctype="gint" gtype="gint" name="VERSION_MICRO" />
- <constant value="20" ctype="gint" gtype="gint" name="VERSION_MINOR" />
- <constant value="1" ctype="gint" gtype="gint" name="VERSION_NANO" />
+ <constant value="1" ctype="gint" gtype="gint" name="VERSION_MAJOR" />
+ <constant value="4" ctype="gint" gtype="gint" name="VERSION_MICRO" />
+ <constant value="20" ctype="gint" gtype="gint" name="VERSION_MINOR" />
+ <constant value="0" ctype="gint" gtype="gint" name="VERSION_NANO" />
</object>
<class name="Parse" cname="GstParse" disable_void_ctor="1">
<method name="ParseBinFromDescription" cname="gst_parse_bin_from_description" shared="true">
@@ -21582,10 +21582,10 @@
<constant value="file-extension" ctype="gchar*" gtype="gchar*" name="ENCODING_CATEGORY_FILE_EXTENSION" />
<constant value="online-service" ctype="gchar*" gtype="gchar*" name="ENCODING_CATEGORY_ONLINE_SERVICE" />
<constant value="storage-editing" ctype="gchar*" gtype="gchar*" name="ENCODING_CATEGORY_STORAGE_EDITING" />
- <constant value="1" ctype="gint" gtype="gint" name="PLUGINS_BASE_VERSION_MAJOR" />
- <constant value="3" ctype="gint" gtype="gint" name="PLUGINS_BASE_VERSION_MICRO" />
- <constant value="20" ctype="gint" gtype="gint" name="PLUGINS_BASE_VERSION_MINOR" />
- <constant value="1" ctype="gint" gtype="gint" name="PLUGINS_BASE_VERSION_NANO" />
+ <constant value="1" ctype="gint" gtype="gint" name="PLUGINS_BASE_VERSION_MAJOR" />
+ <constant value="4" ctype="gint" gtype="gint" name="PLUGINS_BASE_VERSION_MICRO" />
+ <constant value="20" ctype="gint" gtype="gint" name="PLUGINS_BASE_VERSION_MINOR" />
+ <constant value="0" ctype="gint" gtype="gint" name="PLUGINS_BASE_VERSION_NANO" />
</object>
</namespace>
<namespace name="Gst.Rtp" library="gstrtp-1.0-0.dll">
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 <tim@centricular.com>
+
+ * NEWS:
+ * RELEASE:
+ * gstreamer-vaapi.doap:
+ * meson.build:
+ Release 1.20.4
+
+2022-10-12 16:39:40 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * ChangeLog:
+ Update ChangeLogs for 1.20.4
+
2022-08-11 21:22:12 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
* 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
@@ -27,6 +27,16 @@
<release>
<Version>
+ <revision>1.20.4</revision>
+ <branch>1.20</branch>
+ <name></name>
+ <created>2022-10-12</created>
+ <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gstreamer-vaapi/gstreamer-vaapi-1.20.4.tar.xz" />
+ </Version>
+ </release>
+
+ <release>
+ <Version>
<revision>1.20.3</revision>
<branch>1.20</branch>
<name></name>
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 <tim@centricular.com>
+
+ * NEWS:
+ * RELEASE:
+ * gstreamer.doap:
+ * meson.build:
+ Release 1.20.4
+
+2022-10-12 16:39:40 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * ChangeLog:
+ Update ChangeLogs for 1.20.4
+
2022-10-07 14:39:47 +0200 Guillaume Desmottes <guillaume.desmottes@onestream.live>
* 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
@@ -40,6 +40,16 @@ hierarchy, and a set of media-agnostic core elements.
<release>
<Version>
+ <revision>1.20.4</revision>
+ <branch>1.20</branch>
+ <name></name>
+ <created>2022-10-12</created>
+ <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.20.4.tar.xz" />
+ </Version>
+ </release>
+
+ <release>
+ <Version>
<revision>1.20.3</revision>
<branch>1.20</branch>
<name></name>
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' ])