Commit 92209d20 authored by Tim-Philipp Müller's avatar Tim-Philipp Müller 🐠

Release 1.14.5

parent 83fe1b39
=== release 1.14.5 ===
2019-05-29 18:06:41 +0100 Tim-Philipp Müller <>
* ChangeLog:
* gst-rtsp-server.doap:
Release 1.14.5
2018-12-05 15:07:25 +0100 Patricia Muscalu <>
* 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.
2019-01-29 14:42:35 +0100 Edward Hervey <>
* 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
2019-04-23 15:09:34 +0300 Sebastian Dröge <>
* 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 <>
* 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 <>
* 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 <>
* 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)
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 <>
* 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 <>
* 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.
2018-11-06 18:21:54 +0100 Linus Svensson <>
* 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 <>
* gst/rtsp-server/
meson: add new onvif types
2018-11-01 12:49:51 +0200 Sebastian Dröge <>
* gst/rtsp-server/
Add ONVIF subclass headers to the installed headers in too
2018-11-01 11:29:01 +0200 Sebastian Dröge <>
* 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 <>
* 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 <>
* gst/rtsp-server/
* gst/rtsp-server/
* 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.
2018-10-20 16:14:53 +0200 Edward Hervey <>
* 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 <>
......@@ -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 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)_
......@@ -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.
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
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
- 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
- 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
- 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
- flv: Use 8kHz sample rate for alaw/mulaw audio
- flvdemux: Do not error out if the first added and chained pad is not
- flvmux: try harder to make sure timestamps are always increasing
- gdkpixbufdec: output a TIME segment which is what’s expected for raw
- 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
- sid: Fix cross-compilation by using AC_TRY_LINK instead of
- x264: Only enable dynamic loading code for x264 before v253
- assrender: fix disappearing subtitles when seeking back in time
- decklinkvideosink: fix segfault when audiosink is closed before
- 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
- 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
- wasapi: Fix infinite loop when the device disappears
- libav: Update internal snapshot to ffmpeg n3.4.6
- avdemux: fix negative pts if start_time is bigger than the ts
- 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
- Fix compilation with latest GLib
- layer: Resort clips before syncing priorities
- timeline: Better handle loading inconsistent timelines
- thread-safety and memory leak fixes
- improve caps negotiation if downstream takes ANY caps
- fix build with -DG_DISABLE_ASSERT
- fix caps leak
- 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
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
MRs with milestone 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.
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
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:
......@@ -54,10 +58,10 @@ with other GStreamer modules for a complete multimedia experience.
==== Download ====
You can find source releases of gstreamer in the download
The git repository and details how to clone it can be found at
==== Homepage ====
......@@ -65,10 +69,16 @@ The project's website is
==== Support and Bugs ====
We use GNOME's bugzilla for bug reports and feature requests:
We have recently moved from GNOME Bugzilla to GitLab on
for bug reports and feature requests:
Please submit patches via GitLab as well, in form of Merge Requests. See
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).
......@@ -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],
......@@ -53,13 +53,13 @@ dnl 1.2.5 => 205
dnl 1.10.9 (who knows) => 1009
AS_LIBTOOL(GST, 1404, 0, 1404)
AS_LIBTOOL(GST, 1405, 0, 1405)
dnl *** required versions of GStreamer stuff ***
dnl *** autotools stuff ****
......@@ -30,6 +30,16 @@ RTSP server library based on GStreamer
<file-release rdf:resource="" />
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'])
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment