summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim-Philipp Müller <tim@centricular.com>2021-03-15 17:47:59 +0000
committerTim-Philipp Müller <tim@centricular.com>2021-03-15 17:48:00 +0000
commitce69d1068af058425b083aaa1b8c268b1b2e5ddd (patch)
treee4cd2ee6e287f1f80cd60274c6371c4db1ca3cbb
parent8a88e5c1db05ebadfd4569955f6f47c23cdca3c4 (diff)
Release 1.18.41.18.4
-rw-r--r--ChangeLog155
-rw-r--r--NEWS174
-rw-r--r--RELEASE2
-rw-r--r--gst-plugins-base.doap10
-rw-r--r--meson.build2
5 files changed, 335 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index 25636f23f..cdf38df04 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,158 @@
+=== release 1.18.4 ===
+
+2021-03-15 17:47:59 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * ChangeLog:
+ * NEWS:
+ * RELEASE:
+ * gst-plugins-base.doap:
+ * meson.build:
+ Release 1.18.4
+
+2021-03-03 01:08:25 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst-libs/gst/tag/id3v2frames.c:
+ tag: id3v2: fix frame size check and potential invalid reads
+ Check the right variable when checking if there's
+ enough data left to read the frame size.
+ Closes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/876
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1066>
+
+2021-03-10 14:26:22 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+ * gst-libs/gst/audio/gstaudioaggregator.c:
+ audioaggregator: fix input_buffer ownership
+ The way pad->priv->input_buffer reference was managed was pretty
+ spurious:
+ - it was overridden without unrefing it, which could potentially lead to
+ leaks.
+ - we were unreffing it while keeping the pointer around, which could
+ potentially lead to use-after-free or double-free.
+ As priv->input_buffer is actually no longer used outside of the
+ aggregate() method, remove it from pad->priv to simplify the code and
+ prevent the issues desribed above.
+ Fix a single buffer leak when shutting down the pipeline as the buffer
+ returned from gst_aggregator_pad_drop_buffer() was never unreffed.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1062>
+
+2021-03-10 16:22:14 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+ * gst-libs/gst/audio/gstaudioaggregator.c:
+ audioaggregator: fix input buffer when converting
+ This code path is meant to convert the current buffer to the new format
+ on update. It was using priv->input_buffer as input which is either
+ priv->buffer or a converted version of it.
+ Use priv->buffer instead as priv->input_buffer may no longer be a valid
+ reference.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1062>
+
+2021-02-19 16:44:35 +0200 Vivia Nikolaidou <vivia@ahiru.eu>
+
+ * gst-libs/gst/video/video-converter.c:
+ video-converter: Don't upsample/downsample/dither invalid lines
+ This is a fallout from the conversion to support multiple threads.
+ convert->upsample_p is never NULL now, it's always an allocated array of
+ n_threads potentially-null pointers.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1054>
+
+2021-02-25 11:03:31 +0100 Kristofer Björkström <kristofb@axis.com>
+
+ * gst-libs/gst/rtsp/gstrtspconnection.c:
+ gstrtspconnection: correct data_size when tunneled mode
+ gst_rtsp_connection_send_messages_usec in tunneled mode does base64
+ encode messages. When calculating data_size 1 bytes is added, which
+ results in ending the base64 with a NULL.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1053>
+
+2021-02-24 19:51:40 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/audio/gstaudioaggregator.c:
+ audioaggregator: Log if the sample rate of one sinkpad is not accepted
+ Otherwise this can silently cause not-negotiated errors without any
+ direct hint about what went wrong.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1052>
+
+2021-02-22 15:36:53 +0900 Jeongki Kim <jeongki.kim@jeongki.kim>
+
+ * gst/audioresample/gstaudioresample.c:
+ audioresample: Respect buffer layout when drain
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1050>
+
+2021-01-19 15:56:18 +0100 Stéphane Cerveau <scerveau@collabora.com>
+
+ * gst/playback/gstdecodebin3.c:
+ decodebin3: change stream selection message owner
+ In order to select the streams on GST_MESSAGE_STREAM_COLLECTION,
+ the app needs to send the select-streams event
+ to the decodebin and not to the parsebin.
+ The message should be always owned by the decodebin.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1044>
+
+2021-02-15 16:05:30 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst/playback/gsturidecodebin3.c:
+ uridecodebin3: make caps property work
+ The caps set on uridecodebin3 via the "caps" property
+ were never passed to the internal decodebin3, so did
+ absolutely nothing.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/837
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1038>
+
+2021-02-13 00:27:04 +0100 Alicia Boya García <ntrrgc@gmail.com>
+
+ * gst-libs/gst/video/gstvideodecoder.c:
+ videodecoder: Fix racy critical when pool negotiation occurs during flush
+ I found a rather reproducible race in a WebKit LayoutTest when a player
+ was intantiated and a VP8/9 video was loaded, then torn down after
+ getting the video dimensions from the caps.
+ The crash occurs during the handling of the first frame by gstvpxdec.
+ The following actions happen sequentially leading to a crash.
+ (MT=Main Thread, ST=Streaming Thread)
+ MT: Sets pipeline state to NULL, which deactivates vpxdec's srcpad,
+ which in turn sets its FLUSHING flag.
+ ST: gst_vpx_dec_handle_frame() -- which is still running -- calls
+ gst_video_decoder_allocate_output_frame(); this in turn calls
+ gst_video_decoder_negotiate_unlocked() which fails because the
+ srcpad is FLUSHING. As a direct consequence of the negotiation
+ failure, a pool is NOT set.
+ gst_video_decoder_negotiate_unlocked() still assumes there is a
+ pool, crashing in a critical in gst_buffer_pool_acquire_buffer()
+ a couple statements later.
+ This patch fixes the bug by returning != GST_FLOW_OK when the
+ negotiation fails. If the srcpad is FLUSHING, GST_FLOW_FLUSHING is
+ returned, otherwise GST_FLOW_ERROR is used.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1037>
+
+2021-02-15 17:22:47 +0100 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * gst-libs/gst/audio/audio.c:
+ libs: audio: Fix gst_audio_buffer_truncate meta handling
+ In the non-interleaved case, it made `buffer` writable but then changed
+ the meta of the non-writable buffer.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1036>
+
+2021-01-26 14:05:48 +0100 Knobe, Daniel <daniel.knobe@miele.com>
+
+ * tests/examples/overlay/meson.build:
+ overlay/example: added qt core dependency for qt overlay example
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1026>
+
+2021-01-12 10:36:34 +0100 Marijn Suijten <marijns95@gmail.com>
+
+ * gst-libs/gst/video/video-info.c:
+ * gst-libs/gst/video/video-info.h:
+ video: Convert info_to_caps to take self as const ptr
+ This requires a slight modification to the function itself because it
+ was overwriting a member locally.
+ However, now this side-effect cannot be observed outside the function
+ anymore.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1024>
+
+2021-01-14 02:16:57 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * meson.build:
+ Back to development
+
=== release 1.18.3 ===
2021-01-13 21:07:11 +0000 Tim-Philipp Müller <tim@centricular.com>
diff --git a/NEWS b/NEWS
index 1ac82bdf4..3ada8869c 100644
--- a/NEWS
+++ b/NEWS
@@ -2,13 +2,13 @@ GStreamer 1.18 Release Notes
GStreamer 1.18.0 was originally released on 8 September 2020.
-The latest bug-fix release in the 1.18 series is 1.18.3 and was released
-on 13 January 2021.
+The latest bug-fix release in the 1.18 series is 1.18.4 and was released
+on 15 March 2021.
See https://gstreamer.freedesktop.org/releases/1.18/ for the latest
version of this document.
-Last updated: Wednesday 13 January 2021, 20:00 UTC (log)
+Last updated: Monday 15 March 2021, 13:00 UTC (log)
Introduction
@@ -2717,6 +2717,168 @@ List of merge requests and issues fixed in 1.18.3
- List of Merge Requests applied in 1.18.3
- List of Issues fixed in 1.18.3
+1.18.4
+
+The fourth 1.18 bug-fix release (1.18.4) was released on 15 March 2021.
+
+This release only contains bugfixes and security fixes and it should be
+safe to update from 1.18.x.
+
+Highlighted bugfixes in 1.18.4
+
+- important security fixes for ID3 tag reading, matroska and realmedia
+ parsing, and gst-libav audio decoding
+- audiomixer, audioaggregator: input buffer handling fixes
+- decodebin3: improve stream-selection message handling
+- uridecodebin3: make “caps” property work
+- wavenc: fix writing of INFO chunks in some cases
+- v4l2: bt601 colorimetry, allow encoder resolution changes, fix
+ decoder frame rate negotiation
+- decklinkvideosink: fix auto format detection, and fixes for 29.97fps
+ framerate output
+- mpeg-2 video handling fixes when seeking
+- avviddec: fix bufferpool negotiation and possible memory corruption
+ when changing resolution
+- various stability, performance and reliability improvements
+- memory leak fixes
+- build fixes: rpicamsrc, qt overlay example, d3d11videosink on UWP
+
+gstreamer
+
+- info: Don’t leak log function user_data if the debug system is
+ compiled out
+- task: Use SetThreadDescription() Win32 API for setting thread names,
+ which preserves thread names in dump files.
+- buffer, memory: Mark info in map functions as caller-allocates and
+ pass allocation params as const pointers where possible
+- clock: define AUTO_CLEANUP_FREE_FUNC for GstClockID
+
+gst-plugins-base
+
+- tag: id3v2: fix frame size check and potential invalid reads
+- audio: Fix gst_audio_buffer_truncate() meta handling for
+ non-interleaved audio
+- audioresample: respect buffer layout when draining
+- audioaggregator: fix input_buffer ownership
+- decodebin3: change stream selection message owner, so that the app
+ sends the stream-selection event to the right element
+- rtspconnection: correct data_size when tunneled mode
+- uridecodebin3: make caps property work
+- video-converter: Don’t upsample invalid lines
+- videodecoder: Fix racy critical when pool negotiation occurs during
+ flush
+- video: Convert gst_video_info_to_caps() to take self as const ptr
+- examples: added qt core dependency for qt overlay example
+
+gst-plugins-good
+
+- matroskademux: header parsing fixes
+- rpicamsrc: depend on posix threads and vchiq_arm to fix build on
+ raspios again
+- wavenc: Fixed INFO chunk corruption, caused by odd sized data not
+ being padded
+- wavpackdec: Add floating point format support to fix distortions in
+ some cases
+- v4l2: recognize V4L2 bt601 colorimetry again
+- v4l2videoenc: support resolution change stream encode
+- v4l2h265codec: fix HEVC profile string issue
+- v4l2object: Need keep same transfer as input caps
+- v4l2videodec: Fix vp8 and vp9 streams can’t play on board with
+ vendor bsp
+- v4l2videodec: fix src side frame rate negotiation
+
+gst-plugins-bad
+
+- avwait: Don’t post messages with the mutex locked
+- d3d11h264dec: Reconfigure decoder object on DPB size change and keep
+ track of actually configured DPB size
+- dashsink: fix double unref of sinkpad caps
+- decklinkvideosink: Use correct numerator for 29.97fps
+- decklinkvideosink: fix auto format detection
+- decklinksrc: Use a more accurate capture time
+- d3d11videosink: Fix build error on UWP
+- interlace: negotiation and buffer leak fixes
+- mpegvideoparse: do not clip, so decoder receives data from keyframe
+ even if it’s before the segment start
+- mpegtsparse: Fix switched DTS/PTS when set-timestamps=false
+- nvh264sldec: Reopen decoder object if larger DPB size is required
+- sdpsrc: fix double free if sdp is provided as string via the
+ property
+- vulkan: Fix elements long name.
+
+gst-plugins-ugly
+
+- rmdemux: Make sure we have enough data available when parsing
+ audio/video packets
+
+gst-libav
+
+- avviddec: take the maximum of the height/coded_height
+- viddec: don’t configure an incorrect buffer pool when receiving a
+ gap event
+- audiodec: fix stack overflow in gst_ffmpeg_channel_layout_to_gst()
+
+gst-rtsp-server
+
+- rtspclientsink: fix deadlock on shutdown if no data has been
+ received yet
+- rtspclientsink: fix leaks in unit tests
+- rtsp-stream: avoid deadlock in send_func
+- rtsp-client: cleanup transports during TEARDOWN
+
+gstreamer-vaapi
+
+- h264 encoder: append encoder exposure to aud
+- postproc: Fix a problem of propose_allocation when passthrough
+- glx: Iterate over FBConfig and select 8 bit color size
+
+gstreamer-sharp
+
+- no changes
+
+gst-omx
+
+- no changes
+
+gst-python
+
+- no changes
+
+gst-editing-services
+
+- group: Use proper group constructor
+
+gst-integration-testsuites
+
+- no changes
+
+gst-build
+
+- no changes
+
+Cerbero build tool and packaging changes in 1.18.4
+
+- macOS: more BigSur fixes
+- glib: Backport patch to set thread names on Windows 10
+
+Contributors to 1.18.4
+
+Alicia Boya García, Ashley Brighthope, Bing Song, Branko Subasic, Edward
+Hervey, Guillaume Desmottes, Haihua Hu, He Junyan, Hou Qi, Jan Alexander
+Steffens (heftig), Jeongki Kim, Jordan Petridis, Knobe, Kristofer
+Björkström, Marijn Suijten, Matthew Waters, Paul Goulpié, Philipp Zabel,
+Rafał Dzięgiel, Sebastian Dröge, Seungha Yang, Staz M, Stéphane Cerveau,
+Thibault Saunier, Tim-Philipp Müller, Víctor Manuel Jáquez Leal, Vivia
+Nikolaidou, Vladimir Menshakov,
+
+… 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.18.4
+
+- List of Merge Requests applied in 1.18.4
+- List of Issues fixed in 1.18.4
+
Schedule for 1.20
Our next major feature release will be 1.20, and 1.19 will be the
@@ -2724,9 +2886,9 @@ unstable development version leading up to the stable 1.20 release. The
development of 1.19/1.20 will happen in the git master branch.
The plan for the 1.20 development cycle is yet to be confirmed, but it
-is now expected that feature freeze will take place some time in
-January/February 2021, with the first 1.20 stable release hopefully
-around February/March 2021.
+is now expected that feature freeze will take place some time in April
+2021, with the first 1.20 stable release hopefully around April/May
+2021.
1.20 will be backwards-compatible to the stable 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/RELEASE b/RELEASE
index 651bca62a..77bebf949 100644
--- a/RELEASE
+++ b/RELEASE
@@ -1,4 +1,4 @@
-This is GStreamer gst-plugins-base 1.18.3.
+This is GStreamer gst-plugins-base 1.18.4.
The GStreamer team is thrilled to announce a new major feature release
of your favourite cross-platform multimedia framework!
diff --git a/gst-plugins-base.doap b/gst-plugins-base.doap
index c9a206b0f..df9de2148 100644
--- a/gst-plugins-base.doap
+++ b/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.18.4</revision>
+ <branch>1.18</branch>
+ <name></name>
+ <created>2021-03-15</created>
+ <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.18.4.tar.xz" />
+ </Version>
+ </release>
+
+ <release>
+ <Version>
<revision>1.18.3</revision>
<branch>1.18</branch>
<name></name>
diff --git a/meson.build b/meson.build
index daceb8b30..635a6febe 100644
--- a/meson.build
+++ b/meson.build
@@ -1,5 +1,5 @@
project('gst-plugins-base', 'c',
- version : '1.18.3.1',
+ version : '1.18.4',
meson_version : '>= 0.48',
default_options : [ 'warning_level=1',
'buildtype=debugoptimized' ])