Commit 505a24ff authored by Sebastian Dröge's avatar Sebastian Dröge 🍵

Release 1.12.4

parent ddfa40b1
=== release 1.12.4 ===
2017-12-07 Sebastian Dröge <>
releasing 1.12.4
2017-12-07 18:56:12 +0200 Sebastian Dröge <>
* po/nl.po:
po: Update translations
2017-12-06 17:07:29 +0100 Edward Hervey <>
* gst/gstpad.c:
gstpad: Handle GST_PAD_PROBE_HANDLED on sticky event push
When actually pushing an event, if we get GST_FLOW_CUSTOM_SUCCESS_1
(which is the conversion of GST_PAD_PROBE_HANDLED return value),
don't consider the stick event push as ignored, but as handled
2017-09-04 12:20:43 +0200 Miguel París <>
* tests/check/gst/gstpad.c:
pad: add test to check handled and drop probes
2017-09-04 14:33:29 +0200 Edward Hervey <>
* gst/gstpad.c:
pad: Don't call remaining probes after they return DROPPED|HANDLED
If multiple probes are set on a pad and one probe returns either
calling the remaining probes.
2017-10-02 17:59:17 +0200 Edward Hervey <>
* gst/gstbin.c:
* tests/check/gst/gstbin.c:
bin: iterate_sorted: Ensure sources are always returned last
For linked elements, the resulting gst_bin_iterate_sorted() will
properly return elements from sink to sources.
If we have some elements that are not linked, we *still* want to
ensure that we return:
* In priority any sinks
* Last of all any sources
* And in between any element which is neither source nor sink
For this to work, when looking for the next candidate element,
not only check the degree order, but if there are two candidates
with the same degree order, prefer the non-source one.
Amongst other things, this fixes the case where we activating a
bin containing unlinked sources and other elements. Without this
we could end up activating sources (which might start adding pads
to be linked) before other (to which those new source element pads
might be linked) are not activated
2017-12-06 13:36:30 +0200 Sebastian Dröge <>
* gst/gstquery.c:
query: Add an empty structure in writable_structure() if there is none yet
This is consistent with how it works for GstEvent already.
2017-12-02 12:29:20 +0000 Tim-Philipp Müller <>
* gst/gstinfo.c:
info: always check match patterns for new debug categories
Not only if a match pattern was set originally via GST_DEBUG.
Patterns might be set programmatically as well after all.
2017-12-02 12:22:47 +0000 Tim-Philipp Müller <>
* gst/gstinfo.c:
info: fix performance issue with registering categories after gst_init()
When registering a new debug category after gst_init(), simply check
the existing patterns against that new category.
No need to iterate over all categories and recheck them all against
the existing patterns.
Also, no need to re-parse the existing pattern string set via GST_DEBUG
and add the same set of match patterns all over again to the existing
list of match patterns every time we register a new debug category.
Combined with iterating all debug categories on a change this would
make adding debug categories after gst_init() very very very slow.
2017-11-25 13:07:12 +0100 Edward Hervey <>
* gst/gstinfo.c:
gstinfo: Use free instead of g_free
2017-11-25 12:44:11 +0100 Edward Hervey <>
* gst/gstinfo.c:
gstinfo: Don't leak array of strings
The array provided by backtrace_symbols needs to be freed.
2017-11-24 12:05:26 +0100 Edward Hervey <>
* gst/gstutils.c:
gstutils: Fix linear regression comparision
The check for dropping precision was wrong when sxx and syy were negative.
if they are negative then "G_MAXINT64 - val" would always overflow
The check was meant to use G_MININT64 (like in the loop contained just
2017-11-24 09:40:07 +0100 Tim-Philipp Müller <>
* gst/gstghostpad.c:
ghostpad: access internal pad with lock held
2017-03-30 09:17:08 +0200 Havard Graff <>
* gst/gstghostpad.c:
* tests/check/gst/gstghostpad.c:
ghostpad: fix race-condition while tearing down
An upstream query will take a ref on the internal proxypad, and can
hence end up owning the last reference to that pad, causing a crash.
2017-11-23 15:28:39 +0100 Edward Hervey <>
* plugins/elements/gstqueue.c:
queue: Only calculate level if we have valid levels
Doing calculations with GST_CLOCK_STIME_NONE would result in
completely bogus levels
2017-11-16 10:47:46 +0100 Edward Hervey <>
gstpad: Make pad (de)activation atomic
The following could happen previously:
* T1: calls gst_pad_set_active()
* T2: currently (de)activating it
* T1: gst_pad_set_active() returns, caller assumes that the pad has
completed the requested (de)activation ... whereas it is not
the case since the actual (de)activation in T2 might still be
going on.
To ensure atomicity of pad (de)activation, we use a internal
variable (and cond) to ensure only one thread at a time goes through
the actual (de)activation block
2017-11-16 08:26:12 +0100 Edward Hervey <>
* gst/gstpad.c:
gstpad: Make calls to GstPadActivateFunction MT-safe
checking whether we already were in the target GstPadMode was being
done too early and there was the risk that we *would* end up
(de)activating a pad more than once.
Instead, re-do the check for pad mode when entering the final pad
(de)activation block.
2017-11-04 11:45:54 +0100 Edward Hervey <>
* libs/gst/base/gsttypefindhelper.c:
typefindhelper: Fix overflow some more
Nothing guaranteed that off+size wouldn't exceed a 2**64 value.
Instead we reverse the operation and use a subtraction.
2017-11-04 10:34:10 +0100 Edward Hervey <>
* libs/gst/base/gsttypefindhelper.c:
typefindhelper: Fix signed integer overflow
Make sure the whole calculation is done with 64bit unsigned values
(To be ready for people want to typefind exabyte files).
2017-10-31 11:39:23 +0100 Edward Hervey <>
* gst/gstvalue.h:
gstvalue: Cast GST_MAKE_FOURCC arguments
To make it explicit that we are dealing with uint32 targets
Avoids erroneous runtime error: left shift of negative value -1
2017-11-30 17:49:10 +0100 Michael Tretter <>
* libs/gst/net/gstptpclock.c:
ptpclock: do not require a name to create a clock
The gst_ptp_clock_new() does not actually require a name. However, for
example the rtpjitterbuffer may create a clock without a name, fail, and
fall back to not using the PTP clock.
2017-11-09 17:38:19 +0100 Edward Hervey <>
* plugins/elements/gstconcat.c:
concat: Make QoS forward MT-safe
In the same way it's done for other event forwarding.
2017-10-06 21:59:03 +0200 Mathieu Duponchelle <>
* gst/gstbuffer.c:
* tests/check/gst/gstmeta.c:
gstbuffer: fix meta removal in gst_buffer_foreach_meta
When updating the linked list, prev->next = next is correct
if prev is actually updated after being set to the head
of the list at the start.
2017-10-05 10:24:24 +0530 Ashish Kumar <>
* gst/gstdeviceprovider.c:
device-provider: gst_device_provider_unhide_provider() always fails
=== release 1.12.3 ===
2017-09-18 Sebastian Dröge <>
2017-09-18 17:46:32 +0300 Sebastian Dröge <>
* ChangeLog:
releasing 1.12.3
* docs/plugins/inspect/plugin-coreelements.xml:
* gstreamer.doap:
Release 1.12.3
2017-09-18 16:01:06 +0300 Sebastian Dröge <>
* po/cs.po:
Update .po files
2017-09-18 15:59:55 +0300 Sebastian Dröge <>
# GStreamer 1.12 Release Notes
GStreamer 1.12.0 was originally released on 4th May 2017.
The latest bug-fix release in the 1.12 series is [1.12.3](#1.12.3) and was
released on 18 September 2017.
The latest bug-fix release in the 1.12 series is [1.12.4](#1.12.4) and was
released on 7 December 2017.
The GStreamer team is proud to announce a new major feature release in the
stable 1.x API series of your favourite cross-platform multimedia framework!
......@@ -13,7 +13,7 @@ improvements.
See [][latest] for the latest
version of this document.
*Last updated: Monday 19 September 2017, 12:30 UTC [(log)][gitlog]*
*Last updated: Thursday 7 December 2017, 16:30 UTC [(log)][gitlog]*
......@@ -783,7 +783,7 @@ GIT logs or ChangeLogs of the particular modules.
### 1.12.3
The second 1.12 bug-fix release (1.12.3) was released on 14 July 2017.
The third 1.12 bug-fix release (1.12.3) was released on 18 September 2017.
This release only contains bugfixes and it should be safe to update from 1.12.x.
#### Major bugfixes in 1.12.3
......@@ -810,6 +810,38 @@ GIT logs or ChangeLogs of the particular modules.
### 1.12.4
The fourth 1.12 bug-fix release (1.12.4) was released on 7 December 2017.
This release only contains bugfixes and it should be safe to update from 1.12.x.
#### Major bugfixes in 1.12.4
- Dozens of fixes for various issues detected with the help of Google's OSS-Fuzz
Details to be found there in the bug tracker
- Performance regressions with registering debug categories after gst_init()
were fixed
- Regression with seeking back to 0 in souphttpsrc was fixed
- Regression with header rewriting in flacparse was fixed
- Regression with playbin/playsink leaking sinks was fixed
- Inconsistencies with DROPPED/HANDLED handling in pad probe handlers are fixed
- gst_bin_iterate_sorted() always returns sources last now, as documented
- gst_query_writable_structure() will never return NULL, for consistency with events
- Removal of metas from gst_buffer_meta_foreach() works correctly now
- OpenJPEG plugin builds with OpenJPEG >= 2.3
- CDIO plugin builds with CDIO >= 1.0
- gstreamer-vaapi works correctly with libva 1.0
- gst-libav was updated to ffmpeg 3.3.5
- Various fixes for memory leaks, deadlocks and crashes in all modules
- ... and many, many more!
For a full list of bugfixes see [Bugzilla][buglist-1.12.4]. 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.
## Known Issues
- The `webrtcdsp` element is currently not shipped as part of the Windows
......@@ -824,9 +856,9 @@ development version leading up to the stable 1.14 release. The development
of 1.13/1.14 will happen in the git master branch.
The plan for the 1.14 development cycle is yet to be confirmed, but it is
expected that feature freeze will be around October 2017
expected that feature freeze will be around early December 2017
followed by several 1.13 pre-releases and the new 1.14 stable release
in October.
in late December or some time in January.
1.14 will be backwards-compatible to the stable 1.12, 1.10, 1.8, 1.6, 1.4,
1.2 and 1.0 release series.
Release notes for GStreamer 1.12.3
Release notes for GStreamer 1.12.4
The GStreamer team is proud to announce the third bugfix release in the stable
The GStreamer team is proud to announce the fourth bugfix release in the stable
1.12 release series of your favourite cross-platform multimedia framework!
......@@ -35,10 +35,8 @@ contains a set of codecs plugins based on libav (formerly gst-ffmpeg)
Bugs fixed in this release
* 778193 : Automagic libunwind dependency
* 786034 : plugins: *queue* elements: Handle STREAM_START in EOS situation
* 786056 : queue/queue2:: Allow re-usability after EOS
* 786561 : baseparse: excessive tag updates - totem uses about a quarter more CPU than " gst-play-1.0 --videosink=clutterautovideosink "
* 788520 : device-provider: gst_device_provider_unhide_provider() always fails
* 788617 : gstbuffer: fix meta removal in gst_buffer_foreach_meta
==== Download ====
......@@ -75,10 +73,12 @@ subscribe to the gstreamer-devel list.
Contributors to this release
* Carlos Rafael Giani
* Ashish Kumar
* Edward Hervey
* Nicolas Dufresne
* Havard Graff
* Mathieu Duponchelle
* Michael Tretter
* Miguel París
* Sebastian Dröge
* Thibault Saunier
* Tim-Philipp Müller
\ No newline at end of file
......@@ -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, 1203, 0, 1203)
AS_LIBTOOL(GST, 1204, 0, 1204)
dnl *** autotools stuff ****
......@@ -3,7 +3,7 @@
<description>GStreamer core elements</description>
<package>GStreamer source release</package>
......@@ -38,6 +38,16 @@ hierarchy, and a set of media-agnostic core elements.
<file-release rdf:resource="" />
project('gstreamer', 'c', 'cpp',
version : '1.12.3',
version : '1.12.4',
meson_version : '>= 0.36.0',
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