summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim-Philipp Müller <tim@centricular.com>2019-05-29 18:06:41 +0100
committerTim-Philipp Müller <tim@centricular.com>2019-05-29 18:06:42 +0100
commit92209d20811005ae8342d8ebd41b9541165d5d5d (patch)
tree1e73a7323e80ed95d72af53329c6a925a215d1ba
parent83fe1b39cd825727aebd37713d869450f12e4ada (diff)
Release 1.14.5
-rw-r--r--ChangeLog168
-rw-r--r--NEWS198
-rw-r--r--RELEASE22
-rw-r--r--configure.ac12
-rw-r--r--gst-rtsp-server.doap10
-rw-r--r--meson.build2
6 files changed, 390 insertions, 22 deletions
diff --git a/ChangeLog b/ChangeLog
index a420416..c058867 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,171 @@
+=== release 1.14.5 ===
+
+2019-05-29 18:06:41 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * ChangeLog:
+ * NEWS:
+ * RELEASE:
+ * configure.ac:
+ * gst-rtsp-server.doap:
+ * meson.build:
+ Release 1.14.5
+
+2018-12-05 15:07:25 +0100 Patricia Muscalu <patricia@axis.com>
+
+ * gst/rtsp-server/rtsp-stream.c:
+ Add source elements to the pipeline before activation
+ In plug_src we changed the element state before adding it to
+ the owner container. This prevented the pipeline from intercepting
+ a GST_STREAM_STATUS_TYPE_CREATE message from the pad in order
+ to assign a custom task pool.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-rtsp-server/issues/53
+
+2019-01-29 14:42:35 +0100 Edward Hervey <edward@centricular.com>
+
+ * gst/rtsp-server/rtsp-stream.c:
+ rtsp-stream: Use cached address when allocating sockets
+ If an address/port was previously decided upon (ex: multicast in the
+ SDP), then use that instead of re-creating another one
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-rtsp-server/issues/57
+
+2019-04-23 15:09:34 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/rtsp-server/rtsp-auth.c:
+ * gst/rtsp-server/rtsp-client.h:
+ rtsp-server: Fix various Since markers
+
+2019-04-23 15:01:32 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/rtsp-server/rtsp-media.c:
+ * gst/rtsp-server/rtsp-sdp.c:
+ * gst/rtsp-server/rtsp-session-media.c:
+ * gst/rtsp-server/rtsp-stream.c:
+ rtsp-server: Add various Since: 1.14 markers
+
+2019-03-28 00:27:37 +0100 Erlend Eriksen <erlend_ne@hotmail.com>
+
+ * gst/rtsp-server/rtsp-session-pool.c:
+ session pool: fix missing klass-> in klass->create_session
+
+2019-03-14 07:37:26 +0100 Göran Jönsson <goranjn@axis.com>
+
+ * gst/rtsp-server/rtsp-media.c:
+ * tests/check/gst/media.c:
+ rtsp-media: Handle set state when preparing.
+ Handle the situation when a call to gst_rtsp_media_set_state is done
+ when media status is preparing.
+ Also add unit test for this scenario.
+ The unit test simulate on a media level when two clients share a (live)
+ media.
+ Both clients have done SETUP and got responses. Now client 1 is doing
+ play and client 2 is just closing the connection.
+ Then without patch there are a problem when
+ client1 is calling gst_rtsp_media_unsuspend in handle_play_request.
+ And client2 is doing closing connection we can end up in a call
+ to gst_rtsp_media_set_state when
+ priv->status == GST_RTSP_MEDIA_STATUS_PREPARING and all the logic for
+ shut down media is jumped over .
+ With this patch and this scenario we wait until
+ priv->status == GST_RTSP_MEDIA_STATUS_PREPARED and then continue to
+ execute after that and now we will execute the logic for
+ shut down media.
+
+2018-12-04 14:12:04 +0100 Benjamin Berg <bberg@redhat.com>
+
+ * gst/rtsp-server/rtsp-client.c:
+ client: Fix crash in close handler
+ The close handler could trigger a crash because it invalidated the
+ watch_context while still leaving a source attached to it which would be
+ cleaned up at a later point.
+
+2018-12-27 11:28:17 +0100 Lars Wiréen <larswi@axis.com>
+
+ * gst/rtsp-server/rtsp-media.c:
+ rtsp-media: Fix race condition in finish_unprepare
+ The previous fix for race condition around finish_unprepare where the
+ function could be called twice assumed that the status wouldn't change
+ during execution of the function. This assumption is incorrect as the
+ state may change, for example if an error message arrives from the
+ pipeline bus.
+ Instead a flag keeping track on whether the finish_unprepare function
+ is currently executing is introduced and checked.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-rtsp-server/issues/59
+
+2018-11-06 18:21:54 +0100 Linus Svensson <linussn@axis.com>
+
+ * gst/rtsp-server/rtsp-stream.c:
+ rtsp-stream: Use seqnum-offset for rtpinfo
+ The sequence number in the rtpinfo is supposed to be the first RTP
+ sequence number. The "seqnum" property on a payloader is supposed to be
+ the number from the last processed RTP packet. The sequence number for
+ payloaders that inherit gstrtpbasepayload will not be correct in case of
+ buffer lists. In order to fix the seqnum property on the payloaders
+ gst-rtsp-server must get the sequence number for rtpinfo elsewhere and
+ "seqnum-offset" from the "stats" property contains the value of the
+ very first RTP packet in a stream. The server will, however, try to look
+ at the last simple in the sink element and only use properties on the
+ payloader in case there no sink elements yet, and by looking at the last
+ sample of the sink gives the server full control of which RTP packet it
+ looks at. If the payloader does not have the "stats" property, "seqnum"
+ is still used since "seqnum-offset" is only present in as part of
+ "stats" and this is still an issue not solved with this patch.
+ Needed for gst-plugins-base!17
+
+2018-11-01 14:20:16 +0100 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst/rtsp-server/meson.build:
+ meson: add new onvif types
+
+2018-11-01 12:49:51 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/rtsp-server/meson.build:
+ Add ONVIF subclass headers to the installed headers in meson.build too
+
+2018-11-01 11:29:01 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/rtsp-server/rtsp-server-object.h:
+ * gst/rtsp-server/rtsp-server.h:
+ rtsp-server: Declare GstRTSPServer struct before anything else
+ It's needed by all kinds of other headers, including the ones that are
+ required for defining the GstRTSPServer struct itself and its API.
+
+2018-11-01 10:23:02 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/rtsp-server/rtsp-onvif-client.h:
+ * gst/rtsp-server/rtsp-onvif-media-factory.h:
+ * gst/rtsp-server/rtsp-onvif-media.h:
+ * gst/rtsp-server/rtsp-onvif-server.h:
+ Mark all ONVIF-specific subclasses as Since 1.14
+
+2018-11-01 10:18:22 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/rtsp-server/Makefile.am:
+ * gst/rtsp-server/meson.build:
+ * gst/rtsp-server/rtsp-context.h:
+ * gst/rtsp-server/rtsp-onvif-server.c:
+ * gst/rtsp-server/rtsp-onvif-server.h:
+ * gst/rtsp-server/rtsp-server-object.h:
+ * gst/rtsp-server/rtsp-server-prelude.h:
+ * gst/rtsp-server/rtsp-server.c:
+ * gst/rtsp-server/rtsp-server.h:
+ * gst/rtsp-server/rtsp-session.h:
+ Include ONVIF types from single-include rtsp-server.h
+ ... by actually making it a single-include header and moving everything
+ related to the GstRTSPServer type to rtsp-server-object.h instead.
+ Otherwise there are too many circular includes.
+ https://bugzilla.gnome.org/show_bug.cgi?id=797361
+
+2018-10-20 16:14:53 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/rtsp-server/rtsp-client.c:
+ rtsp-client: Remove timeout GSource on cleanup
+ Avoids ending up with races where a timeout would still be around
+ *after* a client was gone. This could happen rather easily in
+ RTSP-over-HTTP mode on a local connection, where each RTSP message
+ would be sent as a different HTTP connection with the same tunnelid.
+ If not properly removed, that timeout would then try to free again
+ a client (and its contents).
+
=== release 1.14.4 ===
2018-10-02 23:11:34 +0100 Tim-Philipp Müller <tim@centricular.com>
diff --git a/NEWS b/NEWS
index d613e7d..7841eed 100644
--- a/NEWS
+++ b/NEWS
@@ -5,13 +5,16 @@ GSTREAMER 1.14 RELEASE NOTES
GStreamer 1.14.0 was originally released on 19 March 2018.
-The latest bug-fix release in the 1.14 series is 1.14.3 and was released
-on 16 September 2018.
+The latest bug-fix release in the 1.14 series is 1.14.5 and was released
+on 29 May 2019.
+
+1.14.5 will likely be the last release in the 1.14 release series which
+has now been superseded by the 1.16 release series.
See https://gstreamer.freedesktop.org/releases/1.14/ for the latest
version of this document.
-_Last updated: Sunday 16 September 2018, 13:00 UTC (log)_
+_Last updated: Wednesday 29 May 2019, 12:00 UTC (log)_
Introduction
@@ -1519,6 +1522,187 @@ For a full list of bugfixes see Bugzilla. Note that this is not the full
list of changes. For the full list of changes please refer to the GIT
logs or ChangeLogs of the particular modules.
+1.14.5
+
+The fifth and likely last 1.14 bug-fix release (1.14.5) was released on
+29 May 2019.
+
+This release only contains bugfixes and it should be safe to update from
+1.14.x.
+
+Highlighted bugfixes in 1.14.5
+
+GStreamer core
+
+- aggregator: take the pad lock around queue gap event removal
+- aggregator: don’t leak gap buffer when out of segment
+- buffer: fix possible memory corruption in gst_buffer_foreach_meta()
+ when removing metas
+- bus: Make removing of signal/bus watches thread-safe
+- bus: Don’t allow removing signal watches with gst_bus_remove_watch()
+- controlbinding: Check if the weak pointer was cleared before
+ explicitly removing it
+- ptp clock: Wait for ANNOUNCE before selecting a master; increase
+ tolerance for late follow-up and delay-resp
+- segment: Allow stop == -1 in gst_segment_to_running_time() and
+ negative rate
+- g-i: annotations fixes
+
+gst-plugins-base
+
+- audioconvert: fix endianness conversion for unpacked formats
+ (e.g. S24_32BE)
+- audioringbuffer: Fix wrong memcpy address when reordering channels
+- decodebin2: Make sure to remove pad probes when freeing
+ GstDecodeGroup
+- glviewconvert: fix output when a transformation matrix is used
+- glupload: prevent segfault when updating caps
+- gl/egl: Determine correct format on dmabuf import
+- glupload: dmabuf: be explicit about gl formats used
+- id3tag: validate the year from v1 tags before passing to GstDateTime
+- rtpbasepayload: fix sequence numbers when using buffer lists
+- rtspconnection: fix security issue, potential heap overflow
+ (CVE-2019-9928)
+- rtspconnection: fix GError set over the top of a previous GError
+- rtspconnection: do not duplicate authentication headers
+- subparse: don’t assert when failing to parse subrip timestamp
+- video: various convert sample frame fixes
+- video-converter: fix conversion from I420_10LE/BE, I420_12LE/BE,
+ A420_10LE/BE to BGRA/RGBA which created corrupted output
+- video-format: Fix GBRA_10/12 alpha channel pixel strides
+
+gst-plugins-good
+
+- flv: Use 8kHz sample rate for alaw/mulaw audio
+- flvdemux: Do not error out if the first added and chained pad is not
+ linked
+- flvmux: try harder to make sure timestamps are always increasing
+- gdkpixbufdec: output a TIME segment which is what’s expected for raw
+ video
+- matroskademux: fix handling of MS ACM audio
+- matroska: fix handling of FlagInterlaced
+- pulsesink: Deal with not being able to convert a format to caps
+- rtph265depay, rtph264depay; aggregation packet marker handling fixes
+- rtpmp4gdepay: detect broken senders who send AAC with ADTS frames
+- rtprawdepay: keep buffer pool around when flushing/seeking
+- rtpssrcdemux: Forward serialized events to all pads
+- qmlglsink: Handle OPENGL header guard changes
+- qtdemux: fix track language code parsing; ignore corrupted CTTS box
+- qtmux: Correctly set tkhd width/height to the display size
+- splitmuxsink: various timecode meta handling fixes
+- splitmuxsink: make work with audio-only encoders as muxers,
+ e.g. wavenc
+- v4l2sink: fix pool-less allocation query handling
+- v4l2dec/enc: fix use after free when handling events
+- vpx: Fix build against libvpx 1.8
+- webmmux: allow resolutions above 4096
+
+gst-plugins-ugly
+
+- sid: Fix cross-compilation by using AC_TRY_LINK instead of
+ AC_TRY_RUN
+- x264: Only enable dynamic loading code for x264 before v253
+
+gst-plugins-bad
+
+- assrender: fix disappearing subtitles when seeking back in time
+- decklinkvideosink: fix segfault when audiosink is closed before
+ videosink
+- decklinkvideosrc: respect pixel format property even if mode is set
+ to auto
+- d3dvideosink: Fix calculating buffer size of packed format; don’t
+ leak thread object
+- dtls: Don’t abort on non-fatal issues, make work with newer OpenSSL
+ versions
+- msdk: more robust error handling; fix intel sdk libdir path
+- nvenc: Ensure drain all frames on finish; fix element reuse and
+ clean up properly
+- openh264dec: Fix handling of errors when doing EOS
+- shmsrc: fixes a crash when is-live is true due a race condition
+- shmsink: fix possible (racy) deadlock on shutdown
+- siren: Fix invalid floating point operation
+- tsdemux: Skew correction improvements: use upstream DTS if set
+- wasapi: number of segments was always 2 (the absolute minimum) by
+ accident
+- wasapi: Fix infinite loop when the device disappears
+
+gst-libav
+
+- libav: Update internal snapshot to ffmpeg n3.4.6
+- avdemux: fix negative pts if start_time is bigger than the ts
+
+gst-rtsp-server
+
+- rtsp-client: Fix crash in close handler and remove timeout GSource
+ on cleanup
+- rtsp-stream: Use cached address when allocating sockets
+- rtsp-media: Handle set state when preparing
+- rtsp-media: Fix race condition in finish_unprepare
+- rtsp-stream: Use seqnum-offset for rtpinfo
+- rtsp-stream: add source elements to the pipeline before activation
+ for stream-status create message
+
+gst-editing-services
+
+- Fix compilation with latest GLib
+- layer: Resort clips before syncing priorities
+- timeline: Better handle loading inconsistent timelines
+
+gstreamer-vaapi
+
+- thread-safety and memory leak fixes
+- improve caps negotiation if downstream takes ANY caps
+- fix build with -DG_DISABLE_ASSERT
+
+gst-omx
+
+- fix caps leak
+
+cerbero
+
+- Add support for MacOSX 10.14, iOS 12.1, Fedora 29/30, Linux Mint
+ Tara (19)
+- Miscellaneous tarball download / error handling improvements
+- disable parallel builds by default on Windows
+
+Contributors to 1.14.5
+
+Aaron Boxer, Adam Jackson, Aleix Conchillo Flaqué, Alexandru Băluț,
+Alicia Boya García, Andreas Frisch, Antonio Ospite, Arun Raghavan,
+Benjamin Berg, Brad Reitmeyer, Christopher Snowhill, Daniel Drake,
+Daniel Stone, Dardo D Kleiner, David Ing, Denis Nagorny, Edward Hervey,
+Erlend Eriksen, Florent Thiéry, Freyr666, Göran Jönsson, Guillaume
+Desmottes, Haihao Xiang, Haihua Hu, Havard Graff, He Junyan, Helmut
+Grohne, Ilya Smelykh, Jacek Tomaszewski, James Cowgill, Jan Alexander
+Steffens (heftig), Jan Schmidt, Johan Bjäreholt, Jordan Petridis, Josep
+Torra, Joshua M. Doe, Justin Kim, Kristofer Bjorkstrom, Lars Petter
+Endresen, Lars Wiréen, Linus Svensson, Lucas Stach, Maciej Wolny,
+Marc-André Lureau, Marc Leeman, Marcos Kintschner, Marco Trevisan
+(Treviño), Marouen Ghodhbane, Matej Knopp, Mathieu Duponchelle, Matthew
+Waters, Michael Olbrich, Michael Tretter, mrk501, Naveen Cherukuri,
+Nicola Murino, Nicolas Dufresne, Niels De Graef, Nirbheek Chauhan,
+okuoku, Olivier Crête, Patricia Muscalu, Per Forlin, Peter Körner,
+Philippe Normand, Philipp Zabel, Roland Jon, Russel Winder, Santiago
+Carot-Nemesio, Sebastian Dröge, Seungha Yang, Sjoerd Simons, Thiago
+Santos, Thibault Saunier, Tim-Philipp Müller, Tobias Ronge, Tomislav
+Tustonić, U. Artie Eoff, Víctor Manuel Jáquez Leal, Vincenzo Bono, Vivia
+Nikolaidou, Wangfei, Wim Taymans, Xabier Rodriguez Calvar, Xavier
+Claessens, Xiang, Haihao, Yeongjin Jeong, and many others. Thank you
+all!
+
+List of bugs fixed in 1.14.5
+
+For a full list of bugfixes see Bugzilla. Note that this is not the full
+list of changes. For the full list of changes please refer to the GIT
+logs or ChangeLogs of the particular modules.
+
+During the release cycle issue and patch tracking moved from bugzilla to
+gitlab, so information about this release may be on either of those two
+trackers.
+
+MRs with milestone 1.14.5:
+https://gitlab.freedesktop.org/groups/gstreamer/-/merge_requests?scope=all&utf8=%E2%9C%93&state=all&milestone_title=1.14.5
+
Known Issues
@@ -1541,12 +1725,8 @@ Our next major feature release will be 1.16, and 1.15 will be the
unstable development version leading up to the stable 1.16 release. The
development of 1.15/1.16 will happen in the git master branch.
-The plan for the 1.16 development cycle is yet to be confirmed, but it
-is expected that feature freeze will be around September 2018 followed
-by several 1.15 pre-releases and the new 1.16 stable release in October.
-
-1.16 will be backwards-compatible to the stable 1.14, 1.12, 1.10, 1.8,
-1.6, 1.4, 1.2 and 1.0 release series.
+1.16.0 was released on 19 April 2019 and is backwards-compatible to the
+stable 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 d812ffe..25729c7 100644
--- a/RELEASE
+++ b/RELEASE
@@ -1,4 +1,4 @@
-This is GStreamer gst-rtsp-server 1.14.4.
+This is GStreamer gst-rtsp-server 1.14.5.
The GStreamer team is pleased to announce another bug-fix release in the
stable 1.x API series of your favourite cross-platform multimedia framework!
@@ -7,6 +7,10 @@ The 1.14 release series adds new features on top of the 1.12 series and is
part of the API and ABI-stable 1.x release series of the GStreamer multimedia
framework.
+The 1.14 release series has now been superseded by the stable 1.16 series
+which was released on 19 April 2019 and should be backwards compatible. We
+recommend you upgrade to 1.16 at your earliest convenience.
+
Full release notes can be found at:
https://gstreamer.freedesktop.org/releases/1.14/
@@ -54,10 +58,10 @@ with other GStreamer modules for a complete multimedia experience.
==== Download ====
You can find source releases of gstreamer in the download
-directory: https://gstreamer.freedesktop.org/src/gstreamer/
+directory: https://gstreamer.freedesktop.org/src/
The git repository and details how to clone it can be found at
-https://cgit.freedesktop.org/gstreamer/gstreamer/
+https://gitlab.freedesktop.org/gstreamer/
==== Homepage ====
@@ -65,10 +69,16 @@ The project's website is https://gstreamer.freedesktop.org/
==== Support and Bugs ====
-We use GNOME's bugzilla for bug reports and feature requests:
-https://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer
+We have recently moved from GNOME Bugzilla to GitLab on freedesktop.org
+for bug reports and feature requests:
+
+ https://gitlab.freedesktop.org/gstreamer
+
+Please submit patches via GitLab as well, in form of Merge Requests. See
+
+ https://gstreamer.freedesktop.org/documentation/contribute/
-Please submit patches via bugzilla as well.
+for more details.
For help and support, please subscribe to and send questions to the
gstreamer-devel mailing list (see below for details).
diff --git a/configure.ac b/configure.ac
index ac751d3..11242fc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2,7 +2,7 @@ AC_PREREQ(2.69)
dnl initialize autoconf
dnl when going to/from release please set the nano (fourth number) right !
dnl releases only do Wall, cvs and prerelease does Werror too
-AC_INIT([GStreamer RTSP Server Library], [1.14.4],
+AC_INIT([GStreamer RTSP Server Library], [1.14.5],
[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],
[gst-rtsp-server])
AG_GST_INIT
@@ -53,13 +53,13 @@ dnl 1.2.5 => 205
dnl 1.10.9 (who knows) => 1009
dnl
dnl sets GST_LT_LDFLAGS
-AS_LIBTOOL(GST, 1404, 0, 1404)
+AS_LIBTOOL(GST, 1405, 0, 1405)
dnl *** required versions of GStreamer stuff ***
-GST_REQ=1.14.4
-GSTPB_REQ=1.14.4
-GSTPG_REQ=1.14.4
-GSTPD_REQ=1.14.4
+GST_REQ=1.14.5
+GSTPB_REQ=1.14.5
+GSTPG_REQ=1.14.5
+GSTPD_REQ=1.14.5
dnl *** autotools stuff ****
diff --git a/gst-rtsp-server.doap b/gst-rtsp-server.doap
index 779e272..365bd12 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.14.5</revision>
+ <branch>1.14</branch>
+ <name></name>
+ <created>2019-05-29</created>
+ <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-rtsp-server/gst-rtsp-server-1.14.5.tar.xz" />
+ </Version>
+ </release>
+
+ <release>
+ <Version>
<revision>1.14.4</revision>
<branch>1.14</branch>
<name></name>
diff --git a/meson.build b/meson.build
index 0078ec2..c15f6f6 100644
--- a/meson.build
+++ b/meson.build
@@ -1,5 +1,5 @@
project('gst-rtsp-server', 'c',
- version : '1.14.4',
+ version : '1.14.5',
meson_version : '>= 0.40.1',
default_options : ['warning_level=1', 'buildtype=debugoptimized'])