summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim-Philipp Müller <tim@centricular.com>2021-03-15 17:49:53 +0000
committerTim-Philipp Müller <tim@centricular.com>2021-03-15 17:49:54 +0000
commit22d32acd45c74127a23ac52ecf80e3f2067e4c4b (patch)
treea98801ba0941af0406c2d8649cbd9b9f0b640ef8
parent9a9d5523f625753fcaa866e2292ef51e95c488a4 (diff)
Release 1.18.41.18.4
-rw-r--r--ChangeLog85
-rw-r--r--NEWS174
-rw-r--r--RELEASE2
-rw-r--r--docs/gst_plugins_cache.json2
-rw-r--r--gst-rtsp-server.doap10
-rw-r--r--meson.build2
6 files changed, 266 insertions, 9 deletions
diff --git a/ChangeLog b/ChangeLog
index b0630df..10a3a7c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,87 @@
+=== release 1.18.4 ===
+
+2021-03-15 17:49:53 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * ChangeLog:
+ * NEWS:
+ * RELEASE:
+ * gst-rtsp-server.doap:
+ * meson.build:
+ Release 1.18.4
+
+2021-02-15 12:07:15 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * tests/check/gst/rtspclientsink.c:
+ tests: rtspclientsink: fix some leaks
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-rtsp-server/-/merge_requests/192>
+
+2021-02-15 12:26:30 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst/rtsp-sink/gstrtspclientsink.c:
+ rtspclientsink: mark cached caps as maybe-leaked to make leaks tracer happy
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-rtsp-server/-/merge_requests/192>
+
+2021-02-15 12:07:45 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * tests/check/gst/rtspclientsink.c:
+ rtspclientsink: add unit test for potential shutdown deadlock
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-rtsp-server/-/merge_requests/191>
+
+2021-02-15 12:01:34 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst/rtsp-sink/gstrtspclientsink.c:
+ rtspclientsink: fix deadlock on shutdown before preroll
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-rtsp-server/-/issues/130
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-rtsp-server/-/merge_requests/191>
+
+2021-02-01 12:16:46 +0100 Branko Subasic <branko@axis.com>
+
+ * gst/rtsp-server/rtsp-stream.c:
+ rtsp-stream: avoid deadlock in send_func
+ Currently the send_func() runs in a thread of its own which is started
+ the first time we enter handle_new_sample(). It runs in an outer loop
+ until priv->continue_sending is FALSE, which happens when a TEARDOWN
+ request is received. We use a local variable, cont, which is initialized
+ to TRUE, meaning that we will always enter the outer loop, and at the
+ end of the outer loop we assign it the value of priv->continue_sending.
+ Within the outer loop there is an inner loop, where we wait to be
+ signaled when there is more data to send. The inner loop is exited when
+ priv->send_cookie has changed value, which it does when more data is
+ available or when a TEARDOWN has been received.
+ But if we get a TEARDOWN before send_func() is entered we will get stuck
+ in the inner loop because no one will increase priv->session_cookie
+ anymore.
+ By not entering the outer loop in send_func() if priv->continue_sending
+ is FALSE we make sure that we do not get stuck in send_func()'s inner
+ loop should we receive a TEARDOWN before the send thread has started.
+ Change-Id: I7338a0ea60ea435bb685f875965f5165839afa20
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-rtsp-server/-/merge_requests/188>
+
+2021-01-22 08:58:23 +0100 Branko Subasic <branko@axis.com>
+
+ * gst/rtsp-server/rtsp-client.c:
+ rtsp-client: cleanup transports during TEARDOWN
+ When tunneling RTP over RTSP the stream transports are stored in a hash
+ table in the GstRTSPClientPrivate struct. They are used for, among other
+ things, mapping channel id to stream transports when receiving data from
+ the client. The stream tranports are created and added to the hash table
+ in handle_setup_request(), but unfortuately they are not removed in
+ handle_teardown_request(). This means that if the client sends data on
+ the RTSP connection after it has sent the TEARDOWN, which is often the
+ case when audio backchannel is enabled, handle_data() will still be able
+ to map the channel to a session transport and pass the data along to it.
+ Which eventually leads to a failing assert in gst_rtsp_stream_recv_rtp()
+ because the stream is no longer joined to a bin.
+ We avoid this by removing the stream transports from the hash table when
+ we handle the TEARDOWN request.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-rtsp-server/-/merge_requests/186>
+
+2021-01-14 02:17:42 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * docs/gst_plugins_cache.json:
+ * meson.build:
+ Back to development
+
=== release 1.18.3 ===
2021-01-13 21:12:06 +0000 Tim-Philipp Müller <tim@centricular.com>
@@ -5,6 +89,7 @@
* ChangeLog:
* NEWS:
* RELEASE:
+ * docs/gst_plugins_cache.json:
* gst-rtsp-server.doap:
* meson.build:
Release 1.18.3
diff --git a/NEWS b/NEWS
index 1ac82bd..3ada886 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 a17c568..467b5ef 100644
--- a/RELEASE
+++ b/RELEASE
@@ -1,4 +1,4 @@
-This is GStreamer gst-rtsp-server 1.18.3.
+This is GStreamer gst-rtsp-server 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/docs/gst_plugins_cache.json b/docs/gst_plugins_cache.json
index 91bfc90..c29f8d2 100644
--- a/docs/gst_plugins_cache.json
+++ b/docs/gst_plugins_cache.json
@@ -321,7 +321,7 @@
"construct": false,
"construct-only": false,
"controllable": false,
- "default": "GStreamer/1.18.3.1",
+ "default": "GStreamer/1.18.4",
"mutable": "null",
"readable": true,
"type": "gchararray",
diff --git a/gst-rtsp-server.doap b/gst-rtsp-server.doap
index cbb6437..a906095 100644
--- a/gst-rtsp-server.doap
+++ b/gst-rtsp-server.doap
@@ -32,6 +32,16 @@ RTSP server library based on GStreamer
<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-rtsp-server/gst-rtsp-server-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 747f690..91891e5 100644
--- a/meson.build
+++ b/meson.build
@@ -1,5 +1,5 @@
project('gst-rtsp-server', 'c',
- version : '1.18.3.1',
+ version : '1.18.4',
meson_version : '>= 0.48',
default_options : ['warning_level=1', 'buildtype=debugoptimized'])