Commit f5beb2da authored by Tim-Philipp Müller's avatar Tim-Philipp Müller 🐠
Browse files

Release 1.14.5

parent f57c8307
=== release 1.14.5 ===
2019-05-29 17:32:39 +0100 Tim-Philipp Müller <>
* ChangeLog:
* gstreamer.doap:
Release 1.14.5
2019-05-29 17:32:39 +0100 Tim-Philipp Müller <>
* docs/plugins/inspect/plugin-coreelements.xml:
* docs/plugins/inspect/plugin-coretracers.xml:
Update docs
2018-11-05 11:07:14 +0800 Haihao Xiang <>
* .gitmodules:
* gstreamer.doap:
* scripts/
Clone the code from gitlab
This fixes
2019-04-23 14:54:03 +0300 Sebastian Dröge <>
* libs/gst/base/gstaggregator.h:
aggregator: Mark all public structs as Since: 1.14
2019-04-18 10:13:51 +0200 Olivier Crête <>
* libs/gst/base/gstbasesrc.c:
basesrc: Downgrade EOS warning
In the case of pushfilesrc, this is the expected behaviour, so let's
downgrade the warning to a debug message to avoid confusing users.
2019-04-10 10:18:54 +0300 Sebastian Dröge <>
* gst/gstcontrolbinding.c:
controlbinding: Check if the weak pointer was cleared before explicitly removing it
Otherwise we'll get an assertion if the object behind the weak pointer
was already destroyed in the meantime as we would pass NULL as first
argument to g_object_remove_weak_pointer().
2019-04-05 11:43:53 +0200 Antonio Ospite <>
* tools/gst-inspect.c:
gst-inspect: fix printing the first field of a GstStructure
When printing a GstStructure property (e.g. the "stats" property in
rtpsession) the first field is printed on the same line of the type
description, and this is both inconsistent compared to how Enum values
are printed and confusing as the reader might miss the first field.
To fix this, add a newline before printing GstStructure fields in
NOTE: this does not change the existing inconsistent behavior of an
extra newline *after* a GstStructure property, but the latter is not as
annoying and it would take more effort to fix because GstStructure
fields are printed in CAPS descriptions too.
2019-03-21 18:55:16 +1100 Matthew Waters <>
* libs/gst/base/gstaggregator.c:
aggregator: don't leak gap buffer when out of segment
2019-03-21 18:47:04 +1100 Matthew Waters <>
* libs/gst/base/gstaggregator.c:
aggregator: take the pad lock around queue gap event removal
As is done for every other queue interaction
2019-03-20 17:43:02 +1100 Matthew Waters <>
* libs/gst/base/gstbaseparse.c:
baseparse: don't reset the disable-passthrough property value
Resetting as a result of _reset() on PAUSED->READY is unexpected.
2019-03-08 16:19:29 +0100 Santiago Carot-Nemesio <>
* gst/gsttaskpool.c:
gsttaskpool: Do not block tasks while cleaning up the taskpool
There is a deadlock if any thread from the pool tries to push
a new task while other thread is waiting for the pool of threads
to finish. With this patch the thread will get an error when it
tries to add a new task while the taskpool is being cleaned up.
2019-03-06 19:46:46 +0100 Marco Trevisan (Treviño) <>
* gst/gsturi.c:
gsturi: Fix annotation on get_path to return a nullable
Use proper syntax or the (nullable): part will be part of the description
2019-03-06 19:34:12 +0100 Marco Trevisan (Treviño) <>
* gst/gstmessage.c:
gstmessage: Fix annotations on details
Details argument should be nullable, but the docstring uses a wrong syntax.
2019-02-28 16:48:57 +0100 Santiago Carot-Nemesio <>
* gst/gsttaskpool.c:
taskpool: Set error in case something goes wrong in the default handlers
2019-02-15 13:23:37 +0200 Sebastian Dröge <>
* gst/gstbus.c:
bus: Make removing of signal/bus watches thread-safe
Between getting the GSource with the mutex and destroying it, something
else might've destroyed it already and we would have a dangling pointer.
Keep an additional reference just in case.
2019-02-15 13:20:27 +0200 Sebastian Dröge <>
* gst/gstbus.c:
bus: Don't allow removing signal watches with gst_bus_remove_watch()
Signal watches are reference counted and gst_bus_remove_watch() would
immediately remove it, breaking the reference counting. Only
gst_bus_remove_signal_watch() should be used for removing signal
2019-01-29 15:49:50 +0200 Sebastian Dröge <>
* gst/gstpadtemplate.c:
padtemplate: Constructors are all nullable as they check the template name
2019-01-14 16:22:16 +0800 Daniel Drake <>
* gst/gstdeviceprovider.c:
deviceprovider: fix counting number of times started
GstDeviceProvider has a started_count private variable counter,
and the gst_device_provider_start() documentation emphasizes the
importance of balancing the start and stop calls.
However, when starting a provider that is already started, the
current code will never increment the counter more than once.
So you start it twice, but it will have start_count 1, which is the
maximum value it will ever see.
Then when you stop it twice, on the 2nd stop, after decrementing the
counter in gst_device_provider_stop():
else if (provider->priv->started_count < 1) {
("Trying to stop a GstDeviceProvider %s which is already stopped",
GST_OBJECT_NAME (provider));
and the program is killed.
Fix this by incrementing the counter when starting a device provider that
was already started.
2018-12-19 00:34:40 +0000 Tim-Philipp Müller <>
* libs/gst/base/gstbasesrc.c:
basesrc: ensure submitted buffer list is writable
Fixes flaky appsrc unit test where depending on scheduling
the submitted list might not be writable if submitted via
an action signal from the application thread.
Fixes gst-plugins-base#522
2018-12-01 10:48:11 -0500 Dardo D Kleiner <>
* gst/gstbuffer.c:
buffer: Fix memory corruption in gst_buffer_foreach_meta() when removing metas
Fix corruption of meta list head when removing metas at the beginning
during iteration. Linked list handling in gst_buffer_foreach_meta
failed to track the previous entry and update the correct next pointer
when removing items from beyond the head of the list, resulting in
arbitrary list pointer corruption.
Closes #332
2018-04-02 12:43:57 +0200 Edward Hervey <>
* docs/gst/gstreamer-sections.txt:
docs: Update gst core doc
2018-11-04 12:45:57 +0200 Sebastian Dröge <>
* plugins/elements/gsttypefindelement.c:
typefind: Always forward RECONFIGURE events upstream
Based on a patch by Vincent Penquerc'h <>
2018-11-06 20:12:27 +0000 Nicolas Dufresne <>
* plugins/tracers/gstlog.c:
tracers: log: Fix post query trace
The post tracer hooks have a GstQuery argument which was truncated from
the trace. As the post hook is the one that contains the useful data,
this bug was hiding the important information from that trace.
2018-09-20 01:42:48 -0700 Havard Graff <>
* gst/gstsystemclock.c:
systemclock: pre-calculate the ratio for multiplying the perf-count on win
Saves a lot of computations.
2018-10-28 12:46:09 +0100 Havard Graff <>
* gst/gstpad.c:
* tests/check/gst/gstpad.c:
gstpad: use hook_id instead of hook in called_probes list
A pointer to a hook in this list can easily not be unique, given both
the slice-allocator reusing memory, and the OS re-using freed blocks
in malloc.
By doing many repeated add and remove of probes, this becomes very easily
Instead use hook_id, which *is* unique for a added GHook.
2018-09-20 23:17:52 +1000 Jan Schmidt <>
* gst/gstsegment.c:
* tests/check/gst/gstsegment.c:
segment: Allow stop == -1 in gst_segment_to_running_time() and rate < 0
If a segment has stop == -1, then gst_segment_to_running_time()
would refuse to calculate a running time for negative rates,
but gst_segment_do_seek() allows this scenario and uses a
valid duration for calculations.
Make the 2 functions consistent by using any configured duration
to calculate a running time too in that case.
2018-10-22 15:26:25 +0200 Edward Hervey <>
* plugins/elements/gstmultiqueue.c:
multiqueue: Don't clamp running times for position calculation
Since we use full signed running times, we no longer need to clamp
the buffer time.
This avoids having the position of single queues not advancing for
buffers that are out of segment and never waking up non-linked
streams (resulting in an apparent "deadlock").
2018-10-11 14:29:47 +1100 Jan Schmidt <>
* libs/gst/net/gstptpclock.c:
ptp clock: Increase tolerance for late follow-up and delay-resp
The follow-up and delay-resp messages carry precise
timestamps for the arrival at the clock master, but
the local return time is unimportant, so we should be very
lenient in accepting them late. Some PTP masters don't
prioritise sending those packets, and we reject all the
responses and never sync - or take forever to do so.
Increase the tolerance to 20x the mean path delay.
Also fix a typo in one debug output that would print
the absolute time of the delay-resp message, not the offset
from the delay-req that it's actually being compared against.
2018-10-11 14:34:40 +1100 Jan Schmidt <>
* libs/gst/net/gstptpclock.c:
ptp clock: Wait for ANNOUNCE before selecting a master
Previously, with opportunistic sync we'd track a master
clock as soon as we see a SYNC message, and hence sync up
faster, but then we'd announce we're synched before seeing
the ANNOUNCE, leaving the clock details like grandmaster-clock
A better way is to start tracking the clock opportunistically,
but not announce we're synched until we've also seen the ANNOUNCE.
2018-10-26 09:21:42 +0100 Sebastian Dröge <>
* plugins/elements/gsttypefindelement.c:
typefind: Lower debug level of some output related to the URI query
It's not a warning if an URI doesn't have an extension, and it's also
not mandatory that sources have an URI or even answer the URI query.
2018-10-22 13:45:52 +0200 Edward Hervey <>
* plugins/elements/gstqueue2.c:
queue2: Reset result flow when retrying
If we ever get a GST_FLOW_EOS from downstream, we might retry
pushing new data. But if pushing that data doesn't return a
GstFlowReturn (such as pushing events), we would end up returning
the previous GstFlowReturn (i.e. EOS).
Not properly resetting it would cause cases where queue2 would
stop pushing on the first GstEvent stored (even if there is more
data contained within).
=== release 1.14.4 ===
2018-10-02 22:53:01 +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.
GStreamer 1.13.x development series
GStreamer 1.14.x development series
This is GStreamer core 1.14.4.
This is GStreamer core 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).
......@@ -4,7 +4,7 @@ dnl initialize autoconf
dnl when going to/from release please set the nano (fourth number) right !
dnl releases only do Wall, git and prerelease does Werror too
dnl initialize automake (we require GNU make)
......@@ -62,7 +62,7 @@ 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 *** autotools stuff ****
......@@ -38,6 +38,16 @@ hierarchy, and a set of media-agnostic core elements.
<file-release rdf:resource="" />
project('gstreamer', 'c',
version : '1.14.4',
version : '1.14.5',
meson_version : '>= 0.40.1',
default_options : [ 'warning_level=1',
'buildtype=debugoptimized' ])
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment