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

Release 1.16.2

parent 62f18654
=== release 1.16.2 ===
2019-12-03 11:14:31 +0000 Tim-Philipp Müller <>
* ChangeLog:
* gst-libav.doap:
Release 1.16.2
2019-12-03 11:14:31 +0000 Tim-Philipp Müller <>
* docs/plugins/inspect/plugin-libav.xml:
Update docs
2019-11-29 09:25:24 +0100 Edward Hervey <>
* ext/libav/gstavvidenc.c:
avvidenc: Fix error propagation
Instead of returning the default return value (GST_FLOW_OK), actually
return an error one (res vs ret).
2019-11-04 15:39:59 +0100 Kevin JOLY <>
* ext/libav/gstavdemux.c:
avdemux: Fix segmentation fault if long_name is NULL
Some plugins (like libcdio) registers empty long_name field. Calling strncmp on this field leads to a segmentation fault.
Signed-off-by: Kevin Joly <>
2019-10-29 11:43:05 +0900 Seungha Yang <>
* ext/libav/gstavviddec.c:
avviddec: Fix huge leak caused by circular reference
AVBufferRef -> GstFFMpegVideoDecVideoFrame -> GstVideoCodecFrame -> AVBufferRef
Instead of holding additional ref there, set read-only which would not be
reused by ff_reget_buffer()
2019-10-24 00:25:28 +0900 Seungha Yang <>
* ext/libav/gstavviddec.c:
avviddec: Enforce allocate new AVFrame per input frame
... if ffmpeg would reuse the allocated AVBuffer. Reused AVFrame by
the ffmpeg seems to break our decoding flow since the reused AVFrame
holds the initial opaque data (GstVideoCodecFrame in this case), so
we couldn't trace the our in/out frames.
To enforce get_buffer() call per output frame, hold another reference
to the AVBuffer in order to mark the AVBuffer as not writable.
=== release 1.16.1 ===
2019-09-23 11:16:14 +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 gst-libav 1.16.1.
This is GStreamer gst-libav 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!
......@@ -3,7 +3,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 libav, 1.16.1,
AC_INIT(GStreamer libav, 1.16.2,,
......@@ -42,11 +42,11 @@ AC_SUBST(GST_API_VERSION)
dnl *** Check for external $AS vs detected by AS_LIBTOOL
AS_LIBTOOL(GST, 1601, 0, 1601)
AS_LIBTOOL(GST, 1602, 0, 1602)
dnl *** required versions of GStreamer stuff ***
......@@ -32,6 +32,16 @@ colorspace conversion elements.
<file-release rdf:resource="" />
project('gst-libav', 'c', 'cpp',
version : '1.16.1',
version : '1.16.2',
meson_version : '>= 0.46.0',
default_options : [ 'warning_level=1',
'buildtype=debugoptimized' ])
Supports Markdown
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