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

Release 1.14.5

parent e3167221
=== release 1.14.5 ===
2019-05-29 18:10:27 +0100 Tim-Philipp Müller <>
* ChangeLog:
* gstreamer-vaapi.doap:
Release 1.14.5
2019-05-29 18:10:27 +0100 Tim-Philipp Müller <>
* docs/plugins/inspect/plugin-vaapi.xml:
Update docs
2019-05-11 19:29:26 +0200 He Junyan <>
* gst/vaapi/gstvaapidecode.c:
* gst/vaapi/gstvaapipluginbase.c:
* gst/vaapi/gstvaapipluginbase.h:
* gst/vaapi/gstvaapipostproc.c:
* gst/vaapi/gstvaapisink.c:
plugins: Add more check for allowed raw caps.
The gst_vaapi_plugin_base_get_allowed_raw_caps is used for both sink
pad and src pad, which cause some bugs. For sink pad, we need to verify
vaPutImage() while for the src pad we need to verify vaGetImage().
For vaapidecoderXXX kind of plugins, the case is more complex. We need
to verify whether the decoded result(in some surface, NV12 format most
of the time) can be vaGetImage to some raw image format. Add more check
to fix all these problems.
Fixes: #123
Signed-off-by: He Junyan's avatarHe Junyan <>
2018-11-28 05:56:44 +0200 Jordan Petridis <>
* gst/vaapi/gstvaapisink.c:
Run gst-indent through the files
This is required before we enabled an indent test in the CI.
2019-05-02 16:00:57 +0200 Víctor Manuel Jáquez Leal <>
* gst/vaapi/gstvaapipostprocutil.c:
vaapipostproc: don't do any color conversion when GL_TEXTURE_UPLOAD has resurrected
with commit 3e992d8a
Since gst_vaapi_find_preferred_caps_feature() returns a color format
from caps negotiation, different from the default one (NV12), the
postproc enables the color transformation. But when GL_TEXTURE_UPLOAD
feature is negotiated, no color transformation shall be done.
Nonetheless, with commit 3e992d8a the requested format changes
firstly, because there's no video sink yet, so ANY caps are
negotiated; but later, when there's a video sink and a caps
renegotiation, the GL_TEXTURE_UPLOAD is negotiated though the color
format conversion still ongoing. It is required to reset that
This patch force default color format when GL_TEXTURE_UPLOAD is
selected as preferred, thus avoiding the color conversion.
Fixes: #157
2019-05-10 18:29:10 +0800 He Junyan <>
* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
libs: encoder: not call ensure_num_slices inside g_assert
g_assert will take no effect when glib's G_DISABLE_ASSERT macro is
defined. The function inside the g_assert will take no effect and
we will fail to set the correct slice number.
2019-05-03 10:31:52 +0200 Víctor Manuel Jáquez Leal <>
* gst-libs/gst/vaapi/gstvaapiencoder.c:
libs: encoder: continue if roi meta is NULL
Coverity scan bug:
If the function actually returns a null value, a null pointer
dereference will occur.
In gst_vaapi_encoder_ensure_param_roi_regions(): Return value of
function which returns null is dereferenced without checking
2019-02-27 13:02:10 +0100 Víctor Manuel Jáquez Leal <>
* gst/vaapi/gstvaapipluginutil.c:
plugin: if any caps in downstream, negotiate raw video
When downstream has any caps, vaapi should not shovel vaapi featured
buffers, but rather plain raw video, assuming always the worst case
scenario (downstream cannot handle featured video memory but raw
system memory buffers).
This patch query the peer caps without any filter, to know if
donwstream just ask for any caps, if so jump to the color space
checking, otherwise do the caps intersection and continue with the
feature selection algorithm.
Fixes: #139
2019-02-13 10:39:59 -0500 Adam Jackson <>
* gst-libs/gst/vaapi/gstvaapiutils_glx.c:
glx: Stop specifying GLX_DEPTH_SIZE
This code is just confused. It's asking for at least as many bits of
(z-axis) depth as the root window has bits of (color) depth. For rgb565
or rgb888 this is harmless, but at 10 bits per channel this demands a
30-bit or deeper Z buffer. While some hardware could in principle do a
32-bit Z buffer, Mesa does not expose such fbconfigs (at least on Intel
and AMD).
We're not actually using the Z buffer, so just stop asking for one.
2019-01-15 14:33:11 +0800 Wangfei <>
* gst/vaapi/gstvaapipostproc.c:
vaapipostproc: before set surface proxy, check if it already been created and exist.
Fix the deinterlace black frame when playing with glimagesink:
gst-launch-1.0 filesrc location=test.264 ! h264parse ! vaapih264dec \
! vaapipostproc deinterlace-mode=1 deinterlace-method=1 ! glimagesink
2018-12-18 10:44:21 +0800 Wangfei <>
* gst/vaapi/gstvaapipostproc.c:
vaapipostproc: fix csc fail when only change width or height.
2018-11-20 16:07:44 +0800 Xiang, Haihao <>
* gst/vaapi/gstvaapivideomemory.c:
Close dmabuf_fd
Otherwise it will result in resource leak when failed to create
dmabuf memory
2018-11-14 11:34:20 +0100 Michael Olbrich <>
* gst/vaapi/gstvaapipostproc.c:
vaapipostproc: add some missing locking
gst_vaapi_plugin_base_close() removed the raw caps that are used indirectly
in gst_vaapipostproc_transform_caps(). The usage is already protected by
the mutex.
This is needed when the pipeline is stopped during startup.
2018-11-12 13:39:51 +0100 Michael Olbrich <>
* gst/vaapi/gstvaapiencode.c:
vaapiencode: don't start src pad task in set_format
Otherwise the task may be restarted during shutdown. Start the task in
gst_vaapiencode_handle_frame() instead.
2019-02-08 09:21:28 +0300 Denis Nagorny <>
* gst-libs/gst/vaapi/gstvaapidisplay.c:
libs: display: lock ensure_profile()
Thread safety patch for ensure_profile() function
Fixes #133
=== release 1.14.4 ===
2018-10-02 23:14:39 +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-vaapi package version number
m4_define([gst_vaapi_major_version], [1])
m4_define([gst_vaapi_minor_version], [14])
m4_define([gst_vaapi_micro_version], [4])
m4_define([gst_vaapi_micro_version], [5])
m4_define([gst_vaapi_nano_version], [0])
......@@ -16,17 +16,17 @@ dnl - interfaces added/removed/changed -> increment CURRENT, REVISION = 0
dnl - interfaces added -> increment AGE
dnl - interfaces removed -> AGE = 0
# gstreamer-vaapi library (libtool) version number
m4_define([gst_vaapi_lt_current], [1404])
m4_define([gst_vaapi_lt_current], [1405])
m4_define([gst_vaapi_lt_revision], [0])
m4_define([gst_vaapi_lt_age], [1404])
m4_define([gst_vaapi_lt_age], [1405])
# glib version number
m4_define([glib_version], [2.40])
# gstreamer version number
m4_define([gst_version], [1.14.4])
m4_define([gst_plugins_base_version], [1.14.4])
m4_define([gst_plugins_bad_version], [1.14.4])
m4_define([gst_version], [1.14.5])
m4_define([gst_plugins_base_version], [1.14.5])
m4_define([gst_plugins_bad_version], [1.14.5])
# Wayland minimum version number
m4_define([wayland_api_version], [1.0.2])
......@@ -25,6 +25,16 @@
<file-release rdf:resource="" />
project('gstreamer-vaapi', '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