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

Release 1.16.2

parent 326dbc56
=== release 1.16.2 ===
2019-12-03 10:57:30 +0000 Tim-Philipp Müller <>
* ChangeLog:
* gstreamer.doap:
Release 1.16.2
2019-12-03 10:57:30 +0000 Tim-Philipp Müller <>
* docs/plugins/inspect/plugin-coreelements.xml:
* docs/plugins/inspect/plugin-coretracers.xml:
Update docs
2019-12-03 10:57:29 +0000 Tim-Philipp Müller <>
* po/hu.po:
Update translations
2019-12-03 10:40:37 +0000 Tim-Philipp Müller <>
* gst/parse/grammar.y:
* gst/parse/
Revert "gst/parse: define pure-parser depending on bison version"
This reverts commit 77141834bb5d124fb5781ed3be6230cc66cb42de.
This breaks the autotools build and it seems too much effort to
fix that up just to fix a bison warning.
2019-11-27 15:47:32 +0100 Edward Hervey <>
* plugins/tracers/gstlatency.c:
tracers: Don't leak temporary GstStructure
CID: 1455462
2019-08-26 12:48:28 +0200 Víctor Manuel Jáquez Leal <>
* gst/parse/
* gst/parse/
gst/parse: define pure-parser depending on bison version
After release bison 2.5 the declaration %pure-parser was deprecated
in favor of %define api.pure
Nonetheless, until bison 3.4, the declaration was treated as backward
compatibility, but now bison shows a warning:
warning: deprecated directive, use ‘%define api.pure’
The patch's approach is to handle both directives according with the
used bison's version, by string replacement at source configuration
2019-10-25 01:41:27 +0300 Sebastian Dröge <>
* plugins/elements/gsttee.c:
tee: First deactivate the pad and then remove it when releasing pads
This reverts a96002bb28c21b30fb9338a4620ad20504c70aa5, which is not
necessary anymore. If we release the pad after removing it then none of
the deactivation code will actually be called because the pad has no
parent anymore, and we require a parent on the pad for deactivation to
This can then, among other things, cause a streaming thread to be still
stuck in a pad probe because the pad was never flushed, and waiting
there forever because now the pad will actually never be flushed anymore.
2019-10-25 01:39:50 +0300 Sebastian Dröge <>
* plugins/elements/gsttee.c:
tee: Check for the removed pad flag also in the slow pushing path
If a pad is currently being released we don't want to forward the
FLUSHING flow return but instead consider it as NOT_LINKED. FLUSHING
would also cause upstream to be FLUSHING.
This part was missed in a3c4a3201a705eb1934ceeea34d1ca42d4571c07 and
resulted in a different (and wrong) workaround in
2019-10-25 01:39:05 +0300 Sebastian Dröge <>
* plugins/elements/gsttee.c:
tee: Lock mutex before reading the removed flag of the pads
Otherwise we're not guaranteed to read the very latest value that
another thread might've written in there when the pad was released, and
could instead work with an old value.
2019-09-30 11:34:51 +0300 Sebastian Dröge <>
* gst/gstbin.c:
bin: Drop need-context messages without source instead of crashing
2019-09-30 11:49:35 +0300 Sebastian Dröge <>
* gst/gstbuffer.c:
* gst/gstcaps.c:
gst: Don't pass miniobjects to GST_DEBUG_OBJECT() and similar macros
The argument must be at least a GObject according to the GstLogFunction
definition, and while the default C log function handles miniobjects
just fine this is crashing bindings and user-supplied log functions that
(rightfully) don't expect anything but GObjects.
2019-08-20 01:02:48 +0900 Seungha Yang <>
* tools/gst-launch.c:
gst-launch: Use gst_print* instead of g_print* to fix broken stdout on Windows
Concurrent Windows' colored debug message and g_print will print
string hard to read. Instead, use gst_print* which serialize
debug output and the APIs call.
2019-08-20 00:59:15 +0900 Seungha Yang <>
* gst/gstinfo.c:
info: Take lock around all prinf on Windows
On Windows, concurrent colored gstreamr debug output and usual
stdout/stderr string will cause broken output on terminal.
Since it's OS specific behavior, that's hard to completely avoid it
but we can protect it at least among our printing interfaces side.
=== release 1.16.1 ===
2019-09-23 11:01:50 +0100 Tim-Philipp Müller <>
......@@ -5,13 +5,13 @@ GSTREAMER 1.16 RELEASE NOTES
GStreamer 1.16.0 was originally released on 19 April 2019.
The latest bug-fix release in the 1.16 series is 1.16.1 and was released
on 23 September 2019.
The latest bug-fix release in the 1.16 series is 1.16.2 and was released
on 3 December 2019.
See for the latest
version of this document.
_Last updated: Sunday 22 September 2019, 21:00 UTC (log)_
_Last updated: Tuesday 03 December 2019, 08:00 UTC (log)_
......@@ -142,9 +142,9 @@ Support for Planar (Non-Interleaved) Raw Audio
Raw audio samples are usually passed around in interleaved form in
GStreamer, which means that if there are multiple audio channels the
samples for each channel are interleaved in memory, e.g.
|LEFT|RIGHT|LEFT|RIGHT|LEFT|RIGHT| for stereo audio. A non-interleaved
or planar arrangement in memory would look like
samples for each channel are interleaved in memory,
e.g. |LEFT|RIGHT|LEFT|RIGHT|LEFT|RIGHT| for stereo audio. A
non-interleaved or planar arrangement in memory would look like
|LEFT|LEFT|LEFT|RIGHT|RIGHT|RIGHT| instead, possibly with
|LEFT|LEFT|LEFT| and |RIGHT|RIGHT|RIGHT| residing in separate memory
chunks or separated by some padding.
......@@ -243,7 +243,7 @@ New Elements
GstVideoOverlayCompositions on a stream. The element will emit the
"draw" signal for each video buffer, and the application then
generates an overlay for that frame (or not). This is much more
performant than e.g. cairooverlay for many use cases, e.g. because
performant than e.g. cairooverlay for many use cases, e.g. because
pixel format conversions can be avoided or the blitting of the
overlay can be delegated to downstream elements (such as
gloverlaycompositor). It’s particularly useful for cases where only
......@@ -336,7 +336,7 @@ New element features and additions
- "reset-muxer" property: when unset, the muxer is reset using
flush events instead of setting its state to NULL and back. This
means the muxer can keep state across resets, e.g. mpegtsmux
means the muxer can keep state across resets, e.g. mpegtsmux
will keep the continuity counter continuous across segments as
required by hlssink2.
......@@ -700,9 +700,9 @@ Tracing framework and debugging improvements
GstObject pointers the type and name is added, e.g.
0x5555557e4110 [GstDecodeBin|decodebin0]. For GstMiniObject pointers
the object type is added, e.g. 0x7fffe001fc50 [GstBuffer]. For
the object type is added, e.g. 0x7fffe001fc50 [GstBuffer]. For
GstClockTime and GstClockTimeDiff the time is also printed in human
readable form, e.g. 150116219955 [+0:02:30.116219955].
readable form, e.g. 150116219955 [+0:02:30.116219955].
......@@ -1044,7 +1044,7 @@ Changed
- Rust 1.31 is the minimum supported Rust version now
- Update to latest gir code generator and glib bindings
- Functions returning e.g. gst::FlowReturn or other “combined” enums
- Functions returning e.g. gst::FlowReturn or other “combined” enums
were changed to return split enums like
Result<gst::FlowSuccess, gst::FlowError> to allow usage of the
standard Rust error handling.
......@@ -1388,7 +1388,8 @@ Highlighted bugfixes in 1.16.1
- decklinkaudiosink: Drop late buffers
- openh264enc: Fix compilation with openh264 v2.0
- wasapisrc: fix segtotal value being always 2
- Fix issues on Android Q
- android: Fix gnutls issue causing a FORTIFY crash on Android Q
- windows: Fix two crashes due to cross-CRT free when using MSVC
gstreamer core
......@@ -1698,6 +1699,182 @@ List of merge requests and issues fixed in 1.16.1
- List of Merge Requests applied in 1.16
- List of Issues fixed in 1.16.1
The second 1.16 bug-fix release (1.16.2) was released on 03 December
This release only contains bugfixes and it _should_ be safe to update
from 1.16.1.
Highlighted bugfixes in 1.16.2
- Interlaced video scaling fixes
- CineForm video support in AVI
- audioresample: avoid glitches due to rounding errors after changing
- Command line tool output printing improvements on Windows
- various performance improvements, memory leak fixes and security
- VP9 decoding fixes
- avfvideosrc: Explicitly request video permission on macOS 10.14+
- wasapi: bug fixes and stability improvements
- webrtc-audio-processing: fix segmentation fault on 32-bit windows
- tsdemux: improved handling of certain discontinuities
- vaapi h265 decoder: wait for I-frame before trying to decode
- gst-launch: Fix ugly stdout on Windows
- tee: Make sure to actually deactivate pads that are released
- bin: Drop need-context messages without source instead of crashing
- gst: Don’t pass miniobjects to GST_DEBUG_OBJECT() and similar macros
- tracers: Don’t leak temporary GstStructure
- xvimagepool: Update size, stride, and offset with allocated XvImage
- video-converter: Fix RGB-XYZ-RGB conversion
- audiorate: Update next_offset on rate change
- audioringbuffer: Reset reorder flag before check
- audio-buffer: Don’t fail to map buffers with zero samples
- videorate: Fix max-duplication-time handling
- gl/gbm: ensure we call the resize callback before attempting to draw
- video-converter: Various fixes for interlaced scaling
- gstrtspconnection: messages_bytes not decreased
- check: Don’t use real audio devices for tests
- riff: add CineForm mapping
- glfilters: Don’t use static variables for storing per-element state
- glupload: Add VideoMetas and GLSyncMeta to the raw uploaded buffers
- streamsynchronizer: avoid pad release race during logging.
- gst-play: Use gst_print* to avoid broken stdout string on Windows
- vp9dec: Fix broken 4:4:4 8bits decoding
- rtpsession: add locking for clear-pt-map
- rtpL16depay: don’t crash if data is not modulo channels*width
- wavparse: Fix push mode ignoring audio with a size smaller than
segment buffer
- wavparse: Fix push mode ignoring last audio payload chunk
- aacparse: fix wrong offset of the channel number in adts header
- jpegdec: Fix incorrect logic in EOI tag detection
- videocrop: Also update the coordinate when in-place
- jpegdec: don’t overwrite the last valid line
- vpx: Error out if enabled and no features found
- v4l2videodec: ensure pool exists before orphaning it
- v4l2videoenc: fix type conversion errors
- v4l2bufferpool: Queue number of allocated buffers to capture
- v4l2object: fix mpegversion number typo
- v4l2object: Work around bad TRY_FMT colorimetry implementations
- avfvideosrc: Explicitly request video permission on macOS 10.14+
- wasapi: Various fixes and a workaround for a specific driver bug
- wasapi: Move to CoInitializeEx for COM initialization
- wasapi: Fix runtime/build warnings
- waylandsink: Commit the parent after creating subsurface
- msdkdec: fix surface leak in msdkdec_handle_frame
- tsmux: Fix copying of buffer region
- tsdemux: Handle continuity mismatch in more cases
- tsdemux: Always issue a DTS even when it’s equal to PTS
- openexr: Fix build with OpenEXR 2.4 (and also OpenEXR 2.2 on Ubuntu
- ccextractor: Always forward all sticky events to the caption pad
- pnmdec: Return early on ::finish() if we have no actual data to
- ass: avoid infinite unref loop with bad data
- fluidsynth: add sf3 to soundfont search path
- webrtcdsp/webrtcechoprobe segmentation fault on windows (1.16.0 x86)
- avvidenc: Fix error propagation
- avdemux: Fix segmentation fault if long_name is NULL
- avviddec: Fix huge leak caused by circular reference
- avviddec: Enforce allocate new AVFrame per input frame
- avdec_mpeg2video (and probably more): Huge memory leak in git master
- rtsp-media: Use lock in gst_rtsp_media_is_receive_only
- rtsp-client: RTP Info when completed_sender
- rtsp-client: fix location uri-format by getting uri directly from
context instead
- meson build: halt configuration if no renderer API
- libs: decoder: h265: skip all pictures prior the first I-frame
- libs: window: x11: Avoid usage of deprecated API
- Initialize debug categories before usage
- gst-env: Use locally built GStreamer utility programs
Cerbero build tool and packaging changes in 1.16.2
- openssl: Update to 1.1.1d
- Updated ffmpeg, expat, flac, freetype, croco, ogg, xml2, mpg123,
openjpeg, opus, pixman, speex, tiff recipes
- Fix setting of git credentials in local source repos
- webrtc-audio-processing: fix segmentation fault on 32-bit windows
with webrtcdsp/webrtcechoprobe elemens
- vpx plugin has no features when built with Visual Studio 2019
- libvpx: Add support for Visual Studio 2019
- mingw-runtime.recipe: Correctly package pkg-config in the MSI
- GIO doesn’t load any modules on Windows with MSVC, which breaks TLS
support since glib-networking’s giognutls module isn’t loaded
- Make the instructions for running Cerbero the same on all platforms
macOS + iOS
- Add support for macOS 10.15 Catalina
- Updates for Xcode 11
- macos/ios: expose objc++ compilers in env variables
- srt.recipe: Fix crash in constructor on iOS
- osx-framework.recipe: Dynamically generate the list of libraries and
ship pkg-config
- macos: add -mmacosx-version-min for framework
- gstreamer-1.0-osx-framework.recipe contains an outdated hard-coded
list of libraries
- We need to ship pkg-config with macOS
- Fix filesprovider.find_shlib_regex when a lib_suffix is used in the
cerbero config file
Contributors to 1.16.2
Adam Nilsson, Amr Mahdi, Angus Ao, Charlie Turner, Edward Hervey, Fabian
Greffrath, Fuwei Tang, Havard Graff, Hu Qian, James Cowgill, Jan
Alexander Steffens (heftig), Jeffy Chen, Jeremy Lempereur, Joakim
Johansson, Jochen Henneberg, Julien Isorce, Kevin Joly, Kristofer
Bjorkstrom, Kyrylo Polezhaiev, Matthew Waters, Michael Olbrich, Muhammet
Ilendemli, Nicolas Dufresne, Nirbheek Chauhan, Pablo Marcos Oltra, Roman
Shpuntov, Ruben Gonzalez, Scott Kanowitz, Sebastian Dröge, Seungha Yang,
Thibault Saunier, Tim-Philipp Müller, Víctor Manuel Jáquez Leal, Vivia
… 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.16.2
- List of Merge Requests applied in 1.16
- List of Issues fixed in 1.16.2
Known Issues
......@@ -1721,9 +1898,8 @@ unstable development version leading up to the stable 1.18 release. The
development of 1.17/1.18 will happen in the git master branch.
The plan for the 1.18 development cycle is yet to be confirmed, but it
is now expected that feature freeze will take place shortly after the
GStreamer conference/hackfest in early November 2019, with the first
1.18 stable release ready in late November or early December.
is now expected that feature freeze will take place in December 2019,
with the first 1.18 stable release ready in late January or February.
1.18 will be backwards-compatible to the stable 1.16, 1.14, 1.12, 1.10,
1.8, 1.6, 1.4, 1.2 and 1.0 release series.
This is GStreamer core 1.16.1.
This is GStreamer core 1.16.2.
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!
......@@ -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, 1601, 0, 1601)
AS_LIBTOOL(GST, 1602, 0, 1602)
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.16.1',
version : '1.16.2',
meson_version : '>= 0.47',
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