Hello community,

here is the log from the commit of package gstreamer-plugins-vaapi for 
openSUSE:Factory checked in at 2019-06-14 20:24:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gstreamer-plugins-vaapi (Old)
 and      /work/SRC/openSUSE:Factory/.gstreamer-plugins-vaapi.new.4811 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gstreamer-plugins-vaapi"

Fri Jun 14 20:24:41 2019 rev:33 rq:707917 version:1.14.5

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/gstreamer-plugins-vaapi/gstreamer-plugins-vaapi.changes
  2018-10-12 13:10:21.635328208 +0200
+++ 
/work/SRC/openSUSE:Factory/.gstreamer-plugins-vaapi.new.4811/gstreamer-plugins-vaapi.changes
        2019-06-14 20:24:42.850794803 +0200
@@ -1,0 +2,8 @@
+Fri May 31 22:33:31 UTC 2019 - Bjørn Lie <bjorn....@gmail.com>
+
+- Update to version 1.14.5:
+  + Thread-safety and memory leak fixes.
+  + Improve caps negotiation if downstream takes ANY caps.
+  + Fix build with -DG_DISABLE_ASSERT.
+
+-------------------------------------------------------------------

Old:
----
  gstreamer-vaapi-1.14.4.tar.xz

New:
----
  gstreamer-vaapi-1.14.5.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ gstreamer-plugins-vaapi.spec ++++++
--- /var/tmp/diff_new_pack.IOOoQS/_old  2019-06-14 20:24:44.098794399 +0200
+++ /var/tmp/diff_new_pack.IOOoQS/_new  2019-06-14 20:24:44.102794398 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package gstreamer-plugins-vaapi
 #
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
 
 %define gst_branch 1.0
 Name:           gstreamer-plugins-vaapi
-Version:        1.14.4
+Version:        1.14.5
 Release:        0
 Summary:        Gstreamer VA-API plugins
 License:        LGPL-2.1-or-later

++++++ gstreamer-vaapi-1.14.4.tar.xz -> gstreamer-vaapi-1.14.5.tar.xz ++++++
++++ 1925 lines of diff (skipped)
++++    retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/gstreamer-vaapi-1.14.4/ChangeLog new/gstreamer-vaapi-1.14.5/ChangeLog
--- old/gstreamer-vaapi-1.14.4/ChangeLog        2018-10-03 00:14:40.000000000 
+0200
+++ new/gstreamer-vaapi-1.14.5/ChangeLog        2019-05-29 19:10:28.000000000 
+0200
@@ -1,3 +1,153 @@
+=== release 1.14.5 ===
+
+2019-05-29 18:10:27 +0100  Tim-Philipp Müller <t...@centricular.com>
+
+       * ChangeLog:
+       * NEWS:
+       * configure.ac:
+       * gstreamer-vaapi.doap:
+       * meson.build:
+         Release 1.14.5
+
+2019-05-29 18:10:27 +0100  Tim-Philipp Müller <t...@centricular.com>
+
+       * docs/plugins/inspect/plugin-vaapi.xml:
+         Update docs
+
+2019-05-11 19:29:26 +0200  He Junyan <junyan...@hotmail.com>
+
+       * 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 <junyan...@hotmail.com>
+
+2018-11-28 05:56:44 +0200  Jordan Petridis <jor...@centricular.com>
+
+       * gst/vaapi/gstvaapisink.c:
+         Run gst-indent through the files
+         This is required before we enabled an indent test in the CI.
+         https://gitlab.freedesktop.org/gstreamer/gstreamer-project/issues/33
+
+2019-05-02 16:00:57 +0200  Víctor Manuel Jáquez Leal <vjaq...@igalia.com>
+
+       * gst/vaapi/gstvaapipostprocutil.c:
+         vaapipostproc: don't do any color conversion when GL_TEXTURE_UPLOAD
+         https://bugzilla.gnome.org/show_bug.cgi?id=748184 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
+         conversion.
+         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 <junyan...@hotmail.com>
+
+       * 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.
+         
https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/merge_requests/87
+
+2019-05-03 10:31:52 +0200  Víctor Manuel Jáquez Leal <vjaq...@igalia.com>
+
+       * 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 <vjaq...@igalia.com>
+
+       * 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 <a...@redhat.com>
+
+       * 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 <fei.w.w...@intel.com>
+
+       * 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 <fei.w.w...@intel.com>
+
+       * gst/vaapi/gstvaapipostproc.c:
+         vaapipostproc: fix csc fail when only change width or height.
+
+2018-11-20 16:07:44 +0800  Xiang, Haihao <haihao.xi...@intel.com>
+
+       * 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 <m.olbr...@pengutronix.de>
+
+       * 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 <m.olbr...@pengutronix.de>
+
+       * 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 <denis.nago...@intel.com>
+
+       * 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 <t...@centricular.com>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/gstreamer-vaapi-1.14.4/NEWS new/gstreamer-vaapi-1.14.5/NEWS
--- old/gstreamer-vaapi-1.14.4/NEWS     2018-10-03 00:14:38.000000000 +0200
+++ new/gstreamer-vaapi-1.14.5/NEWS     2019-05-29 19:10:26.000000000 +0200
@@ -5,13 +5,16 @@
 
 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 https://gstreamer.freedesktop.org/releases/1.14/ 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)_
 
 
 Introduction
@@ -1519,6 +1522,187 @@
 list of changes. For the full list of changes please refer to the GIT
 logs or ChangeLogs of the particular modules.
 
+1.14.5
+
+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
+1.14.x.
+
+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
+
+gst-plugins-base
+
+-   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
+    GstDecodeGroup
+-   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
+    (CVE-2019-9928)
+-   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
+
+gst-plugins-good
+
+-   flv: Use 8kHz sample rate for alaw/mulaw audio
+-   flvdemux: Do not error out if the first added and chained pad is not
+    linked
+-   flvmux: try harder to make sure timestamps are always increasing
+-   gdkpixbufdec: output a TIME segment which is what’s expected for raw
+    video
+-   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
+
+gst-plugins-ugly
+
+-   sid: Fix cross-compilation by using AC_TRY_LINK instead of
+    AC_TRY_RUN
+-   x264: Only enable dynamic loading code for x264 before v253
+
+gst-plugins-bad
+
+-   assrender: fix disappearing subtitles when seeking back in time
+-   decklinkvideosink: fix segfault when audiosink is closed before
+    videosink
+-   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
+    versions
+-   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
+    accident
+-   wasapi: Fix infinite loop when the device disappears
+
+gst-libav
+
+-   libav: Update internal snapshot to ffmpeg n3.4.6
+-   avdemux: fix negative pts if start_time is bigger than the ts
+
+gst-rtsp-server
+
+-   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
+
+gst-editing-services
+
+-   Fix compilation with latest GLib
+-   layer: Resort clips before syncing priorities
+-   timeline: Better handle loading inconsistent timelines
+
+gstreamer-vaapi
+
+-   thread-safety and memory leak fixes
+-   improve caps negotiation if downstream takes ANY caps
+-   fix build with -DG_DISABLE_ASSERT
+
+gst-omx
+
+-   fix caps leak
+
+cerbero
+
+-   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
+all!
+
+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
+trackers.
+
+MRs with milestone 1.14.5:
+https://gitlab.freedesktop.org/groups/gstreamer/-/merge_requests?scope=all&utf8=%E2%9C%93&state=all&milestone_title=1.14.5
+
 
 Known Issues
 
@@ -1541,12 +1725,8 @@
 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.
 
 ------------------------------------------------------------------------
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/gstreamer-vaapi-1.14.4/configure.ac new/gstreamer-vaapi-1.14.5/configure.ac
--- old/gstreamer-vaapi-1.14.4/configure.ac     2018-10-03 00:13:48.000000000 
+0200
+++ new/gstreamer-vaapi-1.14.5/configure.ac     2019-05-29 19:09:36.000000000 
+0200
@@ -1,7 +1,7 @@
 # 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])
 m4_define([gst_vaapi_version],
           
[gst_vaapi_major_version.gst_vaapi_minor_version.gst_vaapi_micro_version])
@@ -16,17 +16,17 @@
 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])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/gstreamer-vaapi-1.14.4/docs/plugins/html/gstreamer-vaapi-plugins-plugin-vaapi.html
 
new/gstreamer-vaapi-1.14.5/docs/plugins/html/gstreamer-vaapi-plugins-plugin-vaapi.html
--- 
old/gstreamer-vaapi-1.14.4/docs/plugins/html/gstreamer-vaapi-plugins-plugin-vaapi.html
      2018-10-03 00:14:43.000000000 +0200
+++ 
new/gstreamer-vaapi-1.14.5/docs/plugins/html/gstreamer-vaapi-plugins-plugin-vaapi.html
      2019-05-29 19:10:31.000000000 +0200
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.14.4</td>
+<td>1.14.5</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/gstreamer-vaapi-1.14.4/docs/plugins/inspect/plugin-vaapi.xml 
new/gstreamer-vaapi-1.14.5/docs/plugins/inspect/plugin-vaapi.xml
--- old/gstreamer-vaapi-1.14.4/docs/plugins/inspect/plugin-vaapi.xml    
2018-10-03 00:14:39.000000000 +0200
+++ new/gstreamer-vaapi-1.14.5/docs/plugins/inspect/plugin-vaapi.xml    
2019-05-29 19:10:27.000000000 +0200
@@ -3,7 +3,7 @@
   <description>VA-API based elements</description>
   <filename>../../gst/vaapi/.libs/libgstvaapi.so</filename>
   <basename>libgstvaapi.so</basename>
-  <version>1.14.4</version>
+  <version>1.14.5</version>
   <license>LGPL</license>
   <source>gstreamer-vaapi</source>
   <package>gstreamer-vaapi</package>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/gstreamer-vaapi-1.14.4/gst/vaapi/gstvaapidecode.c 
new/gstreamer-vaapi-1.14.5/gst/vaapi/gstvaapidecode.c
--- old/gstreamer-vaapi-1.14.4/gst/vaapi/gstvaapidecode.c       2018-09-16 
17:37:53.000000000 +0200
+++ new/gstreamer-vaapi-1.14.5/gst/vaapi/gstvaapidecode.c       2019-05-17 
10:19:22.000000000 +0200
@@ -238,8 +238,9 @@
   out_caps = gst_caps_make_writable (out_caps);
   gst_caps_append (out_caps, gst_caps_from_string 
(GST_VAAPI_MAKE_DMABUF_CAPS));
 
-  raw_caps = gst_vaapi_plugin_base_get_allowed_raw_caps
-      (GST_VAAPI_PLUGIN_BASE (decode));
+  raw_caps = gst_vaapi_plugin_base_get_allowed_srcpad_raw_caps
+      (GST_VAAPI_PLUGIN_BASE (decode),
+      GST_VIDEO_INFO_FORMAT (&decode->decoded_info));
   if (!raw_caps) {
     gst_caps_unref (out_caps);
     GST_WARNING_OBJECT (decode, "failed to create raw sink caps");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/gstreamer-vaapi-1.14.4/gst/vaapi/gstvaapiencode.c 
new/gstreamer-vaapi-1.14.5/gst/vaapi/gstvaapiencode.c
--- old/gstreamer-vaapi-1.14.4/gst/vaapi/gstvaapiencode.c       2018-03-23 
21:47:55.000000000 +0100
+++ new/gstreamer-vaapi-1.14.5/gst/vaapi/gstvaapiencode.c       2019-05-09 
01:03:06.000000000 +0200
@@ -591,7 +591,6 @@
 gst_vaapiencode_set_format (GstVideoEncoder * venc, GstVideoCodecState * state)
 {
   GstVaapiEncode *const encode = GST_VAAPIENCODE_CAST (venc);
-  gboolean ret;
 
   g_return_val_if_fail (state->caps != NULL, FALSE);
 
@@ -610,12 +609,6 @@
   encode->input_state = gst_video_codec_state_ref (state);
   encode->input_state_changed = TRUE;
 
-  ret = gst_pad_start_task (GST_VAAPI_PLUGIN_BASE_SRC_PAD (encode),
-      (GstTaskFunction) gst_vaapiencode_buffer_loop, encode, NULL);
-
-  if (!ret)
-    return FALSE;
-
   /* Store some tags */
   {
     GstTagList *tags = gst_tag_list_new_empty ();
@@ -650,16 +643,24 @@
     GstVideoCodecFrame * frame)
 {
   GstVaapiEncode *const encode = GST_VAAPIENCODE_CAST (venc);
+  GstPad *const srcpad = GST_VAAPI_PLUGIN_BASE_SRC_PAD (encode);
   GstVaapiEncoderStatus status;
   GstVaapiVideoMeta *meta;
   GstVaapiSurfaceProxy *proxy;
   GstFlowReturn ret;
   GstBuffer *buf;
+  GstTaskState task_state;
 #if USE_H264_FEI_ENCODER
   GstVaapiFeiVideoMeta *feimeta = NULL;
   GstVaapiEncodeClass *const klass = GST_VAAPIENCODE_GET_CLASS (venc);
 #endif
 
+  task_state = gst_pad_get_task_state (srcpad);
+  if (task_state == GST_TASK_STOPPED || task_state == GST_TASK_PAUSED)
+    if (!gst_pad_start_task (srcpad,
+            (GstTaskFunction) gst_vaapiencode_buffer_loop, encode, NULL))
+      goto error_task_failed;
+
   buf = NULL;
   ret = gst_vaapi_plugin_base_get_input_buffer (GST_VAAPI_PLUGIN_BASE (encode),
       frame->input_buffer, &buf);
@@ -697,6 +698,13 @@
   return GST_FLOW_OK;
 
   /* ERRORS */
+error_task_failed:
+  {
+    GST_ELEMENT_ERROR (venc, RESOURCE, FAILED,
+        ("Failed to start encoding thread."), (NULL));
+    gst_video_codec_frame_unref (frame);
+    return GST_FLOW_ERROR;
+  }
 error_buffer_invalid:
   {
     if (buf)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/gstreamer-vaapi-1.14.4/gst/vaapi/gstvaapipluginbase.c 
new/gstreamer-vaapi-1.14.5/gst/vaapi/gstvaapipluginbase.c
--- old/gstreamer-vaapi-1.14.4/gst/vaapi/gstvaapipluginbase.c   2018-05-16 
01:23:36.000000000 +0200
+++ new/gstreamer-vaapi-1.14.5/gst/vaapi/gstvaapipluginbase.c   2019-05-17 
10:19:22.000000000 +0200
@@ -1253,51 +1253,96 @@
 #endif
 }
 
+static GArray *
+extract_allowed_surface_formats (GstVaapiDisplay * display,
+    GArray * img_formats, GstVideoFormat specified_format,
+    GstPadDirection direction)
+{
+  guint i;
+  GArray *out_formats;
+  GstVaapiSurface *surface = NULL;
+
+  g_assert (direction == GST_PAD_SRC || direction == GST_PAD_SINK);
+
+  out_formats =
+      g_array_sized_new (FALSE, FALSE, sizeof (GstVideoFormat),
+      img_formats->len);
+  if (!out_formats)
+    return NULL;
+
+  for (i = 0; i < img_formats->len; i++) {
+    const GstVideoFormat img_format =
+        g_array_index (img_formats, GstVideoFormat, i);
+    GstVaapiImage *image;
+    GstVideoInfo vi;
+    GstVideoFormat surface_format;
+    gboolean res;
+
+    if (img_format == GST_VIDEO_FORMAT_UNKNOWN)
+      continue;
+
+    surface_format =
+        (specified_format == GST_VIDEO_FORMAT_UNKNOWN) ?
+        img_format : specified_format;
+    if (!surface) {
+      gst_video_info_set_format (&vi, surface_format, 64, 64);
+      surface = gst_vaapi_surface_new_full (display, &vi, 0);
+      if (!surface)
+        continue;
+    }
+
+    image = gst_vaapi_image_new (display, img_format, 64, 64);
+    if (!image) {
+      /* Just reuse the surface if the format is specified */
+      if (specified_format == GST_VIDEO_FORMAT_UNKNOWN)
+        gst_vaapi_object_replace (&surface, NULL);
+
+      continue;
+    }
+
+    res = FALSE;
+    if (direction == GST_PAD_SRC) {
+      res = gst_vaapi_surface_get_image (surface, image);
+    } else {
+      res = gst_vaapi_surface_put_image (surface, image);
+    }
+    if (res)
+      g_array_append_val (out_formats, img_format);
+
+    gst_vaapi_object_unref (image);
+    /* Just reuse the surface if the format is specified */
+    if (specified_format == GST_VIDEO_FORMAT_UNKNOWN)
+      gst_vaapi_object_replace (&surface, NULL);
+  }
+
+  if (out_formats->len == 0) {
+    g_array_unref (out_formats);
+    return NULL;
+  }
+  return out_formats;
+}
+
 static gboolean
-ensure_allowed_raw_caps (GstVaapiPluginBase * plugin)
+ensure_allowed_raw_caps (GstVaapiPluginBase * plugin, GstVideoFormat format,
+    GstPadDirection direction)
 {
   GArray *formats, *out_formats;
-  GstVaapiSurface *surface;
   GstVaapiDisplay *display;
-  guint i;
   GstCaps *out_caps;
   gboolean ret = FALSE;
 
   if (plugin->allowed_raw_caps)
     return TRUE;
 
-  out_formats = formats = NULL;
-  surface = NULL;
-
+  out_formats = NULL;
   display = gst_vaapi_display_ref (plugin->display);
   formats = gst_vaapi_display_get_image_formats (display);
   if (!formats)
     goto bail;
-
   out_formats =
-      g_array_sized_new (FALSE, FALSE, sizeof (GstVideoFormat), formats->len);
+      extract_allowed_surface_formats (display, formats, format, direction);
   if (!out_formats)
     goto bail;
-
-  surface =
-      gst_vaapi_surface_new (display, GST_VAAPI_CHROMA_TYPE_YUV420, 64, 64);
-  if (!surface)
-    goto bail;
-
-  for (i = 0; i < formats->len; i++) {
-    const GstVideoFormat format = g_array_index (formats, GstVideoFormat, i);
-    GstVaapiImage *image;
-
-    if (format == GST_VIDEO_FORMAT_UNKNOWN)
-      continue;
-    image = gst_vaapi_image_new (display, format, 64, 64);
-    if (!image)
-      continue;
-    if (gst_vaapi_surface_put_image (surface, image))
-      g_array_append_val (out_formats, format);
-    gst_vaapi_object_unref (image);
-  }
-
   out_caps = gst_vaapi_video_format_new_template_caps_from_list (out_formats);
   if (!out_caps)
     goto bail;
@@ -1311,25 +1356,41 @@
     g_array_unref (formats);
   if (out_formats)
     g_array_unref (out_formats);
-  if (surface)
-    gst_vaapi_object_unref (surface);
   gst_vaapi_display_unref (display);
 
   return ret;
 }
 
 /**
- * gst_vaapi_plugin_base_get_allowed_raw_caps:
+ * gst_vaapi_plugin_base_get_allowed_sinkpad_raw_caps:
+ * @plugin: a #GstVaapiPluginBase
+ *
+ * Returns the raw #GstCaps allowed by the element.
+ *
+ * Returns: the allowed raw #GstCaps or %NULL
+ **/
+GstCaps *
+gst_vaapi_plugin_base_get_allowed_sinkpad_raw_caps (GstVaapiPluginBase * 
plugin)
+{
+  if (!ensure_allowed_raw_caps (plugin, GST_VIDEO_FORMAT_UNKNOWN, 
GST_PAD_SINK))
+    return NULL;
+  return plugin->allowed_raw_caps;
+}
+
+/**
+ * gst_vaapi_plugin_base_get_allowed_srcpad_raw_caps:
  * @plugin: a #GstVaapiPluginBase
+ * @format: a #GstVideoFormat, the format we need to check
  *
  * Returns the raw #GstCaps allowed by the element.
  *
  * Returns: the allowed raw #GstCaps or %NULL
  **/
 GstCaps *
-gst_vaapi_plugin_base_get_allowed_raw_caps (GstVaapiPluginBase * plugin)
+gst_vaapi_plugin_base_get_allowed_srcpad_raw_caps (GstVaapiPluginBase *
+    plugin, GstVideoFormat format)
 {
-  if (!ensure_allowed_raw_caps (plugin))
+  if (!ensure_allowed_raw_caps (plugin, format, GST_PAD_SRC))
     return NULL;
   return plugin->allowed_raw_caps;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/gstreamer-vaapi-1.14.4/gst/vaapi/gstvaapipluginbase.h 
new/gstreamer-vaapi-1.14.5/gst/vaapi/gstvaapipluginbase.h
--- old/gstreamer-vaapi-1.14.4/gst/vaapi/gstvaapipluginbase.h   2018-03-23 
21:47:55.000000000 +0100
+++ new/gstreamer-vaapi-1.14.5/gst/vaapi/gstvaapipluginbase.h   2019-05-17 
10:19:22.000000000 +0200
@@ -251,7 +251,12 @@
 
 G_GNUC_INTERNAL
 GstCaps *
-gst_vaapi_plugin_base_get_allowed_raw_caps (GstVaapiPluginBase * plugin);
+gst_vaapi_plugin_base_get_allowed_sinkpad_raw_caps (GstVaapiPluginBase * 
plugin);
+
+G_GNUC_INTERNAL
+GstCaps *
+gst_vaapi_plugin_base_get_allowed_srcpad_raw_caps (
+    GstVaapiPluginBase * plugin, GstVideoFormat format);
 
 G_GNUC_INTERNAL
 void
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/gstreamer-vaapi-1.14.4/gst/vaapi/gstvaapipluginutil.c 
new/gstreamer-vaapi-1.14.5/gst/vaapi/gstvaapipluginutil.c
--- old/gstreamer-vaapi-1.14.4/gst/vaapi/gstvaapipluginutil.c   2018-07-18 
18:43:21.000000000 +0200
+++ new/gstreamer-vaapi-1.14.5/gst/vaapi/gstvaapipluginutil.c   2019-05-09 
01:05:12.000000000 +0200
@@ -591,21 +591,31 @@
 {
   GstVaapiCapsFeature feature = GST_VAAPI_CAPS_FEATURE_NOT_NEGOTIATED;
   guint i, j, num_structures;
-  GstCaps *out_caps, *caps = NULL;
+  GstCaps *peer_caps, *out_caps = NULL, *caps = NULL;
   static const guint feature_list[] = { GST_VAAPI_CAPS_FEATURE_VAAPI_SURFACE,
     GST_VAAPI_CAPS_FEATURE_DMABUF,
     GST_VAAPI_CAPS_FEATURE_GL_TEXTURE_UPLOAD_META,
     GST_VAAPI_CAPS_FEATURE_SYSTEM_MEMORY,
   };
 
-  out_caps = gst_pad_peer_query_caps (pad, allowed_caps);
-  if (!out_caps)
+  /* query with no filter */
+  peer_caps = gst_pad_peer_query_caps (pad, NULL);
+  if (!peer_caps)
     goto cleanup;
-
-  if (gst_caps_is_any (out_caps) || gst_caps_is_empty (out_caps))
+  if (gst_caps_is_empty (peer_caps))
     goto cleanup;
 
+  /* filter against our allowed caps */
+  out_caps = gst_caps_intersect_full (allowed_caps, peer_caps,
+      GST_CAPS_INTERSECT_FIRST);
+
+  /* default feature */
   feature = GST_VAAPI_CAPS_FEATURE_SYSTEM_MEMORY;
+
+  /* if downstream requests caps ANY, system memory is preferred */
+  if (gst_caps_is_any (peer_caps))
+    goto find_format;
+
   num_structures = gst_caps_get_size (out_caps);
   for (i = 0; i < num_structures; i++) {
     GstCapsFeatures *const features = gst_caps_get_features (out_caps, i);
@@ -638,13 +648,14 @@
   if (!caps)
     goto cleanup;
 
+find_format:
   if (out_format_ptr) {
     GstVideoFormat out_format;
     GstStructure *structure;
     const GValue *format_list;
 
     /* if the best feature is SystemMemory, we should use the first
-     * caps in the peer caps set, which is the preferred by
+     * caps in the filtered peer caps set, which is the preferred by
      * downstream. */
     if (feature == GST_VAAPI_CAPS_FEATURE_SYSTEM_MEMORY)
       gst_caps_replace (&caps, out_caps);
@@ -666,6 +677,7 @@
 cleanup:
   gst_caps_replace (&caps, NULL);
   gst_caps_replace (&out_caps, NULL);
+  gst_caps_replace (&peer_caps, NULL);
   return feature;
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/gstreamer-vaapi-1.14.4/gst/vaapi/gstvaapipostproc.c 
new/gstreamer-vaapi-1.14.5/gst/vaapi/gstvaapipostproc.c
--- old/gstreamer-vaapi-1.14.4/gst/vaapi/gstvaapipostproc.c     2018-03-23 
21:47:55.000000000 +0100
+++ new/gstreamer-vaapi-1.14.5/gst/vaapi/gstvaapipostproc.c     2019-05-17 
10:19:22.000000000 +0200
@@ -318,6 +318,7 @@
 {
   GstVaapiPostproc *const postproc = GST_VAAPIPOSTPROC (trans);
 
+  g_mutex_lock (&postproc->postproc_lock);
   ds_reset (&postproc->deinterlace_state);
   gst_vaapi_plugin_base_close (GST_VAAPI_PLUGIN_BASE (postproc));
 
@@ -325,6 +326,7 @@
   gst_video_info_init (&postproc->sinkpad_info);
   gst_video_info_init (&postproc->srcpad_info);
   gst_video_info_init (&postproc->filter_pool_info);
+  g_mutex_unlock (&postproc->postproc_lock);
 
   return TRUE;
 }
@@ -721,13 +723,15 @@
     if (!outbuf_meta)
       goto error_create_meta;
 
-    proxy =
-        gst_vaapi_surface_proxy_new_from_pool (GST_VAAPI_SURFACE_POOL
-        (postproc->filter_pool));
-    if (!proxy)
-      goto error_create_proxy;
-    gst_vaapi_video_meta_set_surface_proxy (outbuf_meta, proxy);
-    gst_vaapi_surface_proxy_unref (proxy);
+    if (!gst_vaapi_video_meta_get_surface_proxy (outbuf_meta)) {
+      proxy =
+          gst_vaapi_surface_proxy_new_from_pool (GST_VAAPI_SURFACE_POOL
+          (postproc->filter_pool));
+      if (!proxy)
+        goto error_create_proxy;
+      gst_vaapi_video_meta_set_surface_proxy (outbuf_meta, proxy);
+      gst_vaapi_surface_proxy_unref (proxy);
+    }
 
     if (deint) {
       deint_flags = (tff ? GST_VAAPI_DEINTERLACE_FLAG_TOPFIELD : 0);
@@ -1066,7 +1070,7 @@
 
   if (GST_VIDEO_INFO_WIDTH (&postproc->srcpad_info) !=
       GST_VIDEO_INFO_WIDTH (&postproc->sinkpad_info)
-      && GST_VIDEO_INFO_HEIGHT (&postproc->srcpad_info) !=
+      || GST_VIDEO_INFO_HEIGHT (&postproc->srcpad_info) !=
       GST_VIDEO_INFO_HEIGHT (&postproc->sinkpad_info))
     postproc->flags |= GST_VAAPI_POSTPROC_FLAG_SIZE;
 
@@ -1092,7 +1096,7 @@
     return FALSE;
   }
 
-  raw_caps = gst_vaapi_plugin_base_get_allowed_raw_caps
+  raw_caps = gst_vaapi_plugin_base_get_allowed_sinkpad_raw_caps
       (GST_VAAPI_PLUGIN_BASE (postproc));
   if (!raw_caps) {
     gst_caps_unref (out_caps);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/gstreamer-vaapi-1.14.4/gst/vaapi/gstvaapipostprocutil.c 
new/gstreamer-vaapi-1.14.5/gst/vaapi/gstvaapipostprocutil.c
--- old/gstreamer-vaapi-1.14.4/gst/vaapi/gstvaapipostprocutil.c 2018-03-23 
21:47:55.000000000 +0100
+++ new/gstreamer-vaapi-1.14.5/gst/vaapi/gstvaapipostprocutil.c 2019-05-17 
10:19:22.000000000 +0200
@@ -709,9 +709,11 @@
 
   /* we don't need to do format conversion if GL_TEXTURE_UPLOAD_META
    * is negotiated */
-  if (f != GST_VAAPI_CAPS_FEATURE_GL_TEXTURE_UPLOAD_META
-      && postproc->format != format)
+  if (f == GST_VAAPI_CAPS_FEATURE_GL_TEXTURE_UPLOAD_META) {
+    postproc->format = DEFAULT_FORMAT;
+  } else if (postproc->format != format) {
     postproc->format = format;
+  }
 
   return outcaps;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/gstreamer-vaapi-1.14.4/gst/vaapi/gstvaapisink.c 
new/gstreamer-vaapi-1.14.5/gst/vaapi/gstvaapisink.c
--- old/gstreamer-vaapi-1.14.4/gst/vaapi/gstvaapisink.c 2018-03-23 
21:47:55.000000000 +0100
+++ new/gstreamer-vaapi-1.14.5/gst/vaapi/gstvaapisink.c 2019-05-17 
10:19:22.000000000 +0200
@@ -452,7 +452,7 @@
       PointerMotionMask | ExposureMask | StructureNotifyMask);
 
   if (!sink->foreign_window)
-      x11_event_mask |= ButtonPressMask | ButtonReleaseMask;
+    x11_event_mask |= ButtonPressMask | ButtonReleaseMask;
 
   if (sink->window) {
     gst_vaapi_display_lock (GST_VAAPI_DISPLAY (display));
@@ -1215,7 +1215,7 @@
 
   /* Ensures possible raw caps earlier to avoid race conditions at
    * get_caps() */
-  if (!gst_vaapi_plugin_base_get_allowed_raw_caps (plugin))
+  if (!gst_vaapi_plugin_base_get_allowed_sinkpad_raw_caps (plugin))
     return FALSE;
 
   return TRUE;
@@ -1251,7 +1251,8 @@
 
   out_caps = gst_caps_from_string (surface_caps_str);
   raw_caps =
-      gst_vaapi_plugin_base_get_allowed_raw_caps (GST_VAAPI_PLUGIN_BASE 
(sink));
+      gst_vaapi_plugin_base_get_allowed_sinkpad_raw_caps (GST_VAAPI_PLUGIN_BASE
+      (sink));
   if (!raw_caps)
     return out_caps;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/gstreamer-vaapi-1.14.4/gst/vaapi/gstvaapivideomemory.c 
new/gstreamer-vaapi-1.14.5/gst/vaapi/gstvaapivideomemory.c
--- old/gstreamer-vaapi-1.14.4/gst/vaapi/gstvaapivideomemory.c  2018-03-23 
21:47:55.000000000 +0100
+++ new/gstreamer-vaapi-1.14.5/gst/vaapi/gstvaapivideomemory.c  2019-05-09 
01:03:24.000000000 +0200
@@ -1060,6 +1060,7 @@
 error_create_dmabuf_memory:
   {
     GST_ERROR ("failed to create DMABUF memory");
+    close (dmabuf_fd);
     gst_vaapi_buffer_proxy_unref (dmabuf_proxy);
     return NULL;
   }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/gstreamer-vaapi-1.14.4/gst-libs/gst/vaapi/gstvaapidisplay.c 
new/gstreamer-vaapi-1.14.5/gst-libs/gst/vaapi/gstvaapidisplay.c
--- old/gstreamer-vaapi-1.14.4/gst-libs/gst/vaapi/gstvaapidisplay.c     
2018-09-16 17:37:53.000000000 +0200
+++ new/gstreamer-vaapi-1.14.5/gst-libs/gst/vaapi/gstvaapidisplay.c     
2019-05-09 01:02:58.000000000 +0200
@@ -469,8 +469,12 @@
   VAStatus status;
   gboolean success = FALSE;
 
-  if (priv->has_profiles)
+  GST_VAAPI_DISPLAY_LOCK (display);
+
+  if (priv->has_profiles) {
+    GST_VAAPI_DISPLAY_UNLOCK (display);
     return TRUE;
+  }
 
   priv->decoders = g_array_new (FALSE, FALSE, sizeof (GstVaapiConfig));
   if (!priv->decoders)
@@ -553,6 +557,7 @@
 cleanup:
   g_free (profiles);
   g_free (entrypoints);
+  GST_VAAPI_DISPLAY_UNLOCK (display);
   return success;
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/gstreamer-vaapi-1.14.4/gst-libs/gst/vaapi/gstvaapiencoder.c 
new/gstreamer-vaapi-1.14.5/gst-libs/gst/vaapi/gstvaapiencoder.c
--- old/gstreamer-vaapi-1.14.4/gst-libs/gst/vaapi/gstvaapiencoder.c     
2018-03-23 21:47:55.000000000 +0100
+++ new/gstreamer-vaapi-1.14.5/gst-libs/gst/vaapi/gstvaapiencoder.c     
2019-05-09 01:05:31.000000000 +0200
@@ -329,6 +329,8 @@
     roi = (GstVideoRegionOfInterestMeta *)
         gst_buffer_iterate_meta_filtered (input, &state,
         GST_VIDEO_REGION_OF_INTEREST_META_API_TYPE);
+    if (!roi)
+      continue;
 
     /* ignore roi if overflow */
     if ((roi->x > G_MAXINT16) || (roi->y > G_MAXINT16)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/gstreamer-vaapi-1.14.4/gst-libs/gst/vaapi/gstvaapiencoder_h264.c 
new/gstreamer-vaapi-1.14.5/gst-libs/gst/vaapi/gstvaapiencoder_h264.c
--- old/gstreamer-vaapi-1.14.4/gst-libs/gst/vaapi/gstvaapiencoder_h264.c        
2018-03-23 21:47:55.000000000 +0100
+++ new/gstreamer-vaapi-1.14.5/gst-libs/gst/vaapi/gstvaapiencoder_h264.c        
2019-05-10 19:16:20.000000000 +0200
@@ -2716,6 +2716,7 @@
 {
   GstVaapiEncoder *const base_encoder = GST_VAAPI_ENCODER_CAST (encoder);
   guint mb_size, i;
+  gboolean ret;
 
   if (encoder->idr_period < base_encoder->keyframe_period)
     encoder->idr_period = base_encoder->keyframe_period;
@@ -2725,8 +2726,9 @@
   encoder->qp_i = encoder->init_qp;
 
   mb_size = encoder->mb_width * encoder->mb_height;
-  g_assert (gst_vaapi_encoder_ensure_num_slices (base_encoder, 
encoder->profile,
-          encoder->entrypoint, (mb_size + 1) / 2, &encoder->num_slices));
+  ret = gst_vaapi_encoder_ensure_num_slices (base_encoder, encoder->profile,
+      encoder->entrypoint, (mb_size + 1) / 2, &encoder->num_slices);
+  g_assert (ret);
 
   if (encoder->num_bframes > (base_encoder->keyframe_period + 1) / 2)
     encoder->num_bframes = (base_encoder->keyframe_period + 1) / 2;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/gstreamer-vaapi-1.14.4/gst-libs/gst/vaapi/gstvaapiencoder_h265.c 
new/gstreamer-vaapi-1.14.5/gst-libs/gst/vaapi/gstvaapiencoder_h265.c
--- old/gstreamer-vaapi-1.14.4/gst-libs/gst/vaapi/gstvaapiencoder_h265.c        
2018-07-18 18:43:21.000000000 +0200
+++ new/gstreamer-vaapi-1.14.5/gst-libs/gst/vaapi/gstvaapiencoder_h265.c        
2019-05-10 19:19:59.000000000 +0200
@@ -2023,6 +2023,7 @@
   GstVaapiH265ReorderPool *reorder_pool;
   GstVaapiH265RefPool *ref_pool;
   guint ctu_size;
+  gboolean ret;
 
   if (encoder->idr_period < base_encoder->keyframe_period)
     encoder->idr_period = base_encoder->keyframe_period;
@@ -2032,9 +2033,10 @@
   encoder->qp_i = encoder->init_qp;
 
   ctu_size = encoder->ctu_width * encoder->ctu_height;
-  g_assert (gst_vaapi_encoder_ensure_num_slices (base_encoder, 
encoder->profile,
-          GST_VAAPI_ENTRYPOINT_SLICE_ENCODE, (ctu_size + 1) / 2,
-          &encoder->num_slices));
+  ret = gst_vaapi_encoder_ensure_num_slices (base_encoder, encoder->profile,
+      GST_VAAPI_ENTRYPOINT_SLICE_ENCODE, (ctu_size + 1) / 2,
+      &encoder->num_slices);
+  g_assert (ret);
 
   gst_vaapi_encoder_ensure_max_num_ref_frames (base_encoder, encoder->profile,
       GST_VAAPI_ENTRYPOINT_SLICE_ENCODE);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/gstreamer-vaapi-1.14.4/gst-libs/gst/vaapi/gstvaapiutils_glx.c 
new/gstreamer-vaapi-1.14.5/gst-libs/gst/vaapi/gstvaapiutils_glx.c
--- old/gstreamer-vaapi-1.14.4/gst-libs/gst/vaapi/gstvaapiutils_glx.c   
2018-03-23 21:47:55.000000000 +0100
+++ new/gstreamer-vaapi-1.14.5/gst-libs/gst/vaapi/gstvaapiutils_glx.c   
2019-05-09 01:04:40.000000000 +0200
@@ -853,8 +853,6 @@
 
   /* Initialize FBConfig attributes */
   for (attr = fbconfig_attrs; *attr != GL_NONE; attr += 2);
-  *attr++ = GLX_DEPTH_SIZE;
-  *attr++ = wattr.depth;
   if (wattr.depth == 32) {
     *attr++ = GLX_ALPHA_SIZE;
     *attr++ = 8;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/gstreamer-vaapi-1.14.4/gstreamer-vaapi.doap 
new/gstreamer-vaapi-1.14.5/gstreamer-vaapi.doap
--- old/gstreamer-vaapi-1.14.4/gstreamer-vaapi.doap     2018-10-03 
00:13:48.000000000 +0200
+++ new/gstreamer-vaapi-1.14.5/gstreamer-vaapi.doap     2019-05-29 
19:09:36.000000000 +0200
@@ -27,6 +27,16 @@
 
  <release>
   <Version>
+   <revision>1.14.5</revision>
+   <branch>1.14</branch>
+   <name></name>
+   <created>2019-05-29</created>
+   <file-release 
rdf:resource="https://gstreamer.freedesktop.org/src/gstreamer-vaapi/gstreamer-vaapi-1.14.5.tar.xz";
 />
+  </Version>
+ </release>
+
+ <release>
+  <Version>
    <revision>1.14.4</revision>
    <branch>1.14</branch>
    <name></name>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/gstreamer-vaapi-1.14.4/m4/libtool.m4 
new/gstreamer-vaapi-1.14.5/m4/libtool.m4
--- old/gstreamer-vaapi-1.14.4/m4/libtool.m4    2018-10-03 00:13:55.000000000 
+0200
+++ new/gstreamer-vaapi-1.14.5/m4/libtool.m4    2019-05-29 19:09:42.000000000 
+0200
@@ -4063,7 +4063,8 @@
   if AC_TRY_EVAL(ac_compile); then
     # Now try to grab the symbols.
     nlist=conftest.nm
-    if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" 
\> $nlist) && test -s "$nlist"; then
+    $ECHO "$as_me:$LINENO: $NM conftest.$ac_objext | 
$lt_cv_sys_global_symbol_pipe > $nlist" >&AS_MESSAGE_LOG_FD
+    if eval "$NM" conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> 
$nlist 2>&AS_MESSAGE_LOG_FD && test -s "$nlist"; then
       # Try sorting and uniquifying the output.
       if sort "$nlist" | uniq > "$nlist"T; then
        mv -f "$nlist"T "$nlist"
@@ -4703,6 +4704,12 @@
        _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
        _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
         ;;
+      # flang / f18. f95 an alias for gfortran or flang on Debian
+      flang* | f18* | f95*)
+       _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+       _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+       _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+        ;;
       # icc used to be incompatible with GCC.
       # ICC 10 doesn't accept -KPIC any more.
       icc* | ifort*)
@@ -6438,7 +6445,7 @@
       # Commands to make compiler produce verbose output that lists
       # what "hidden" libraries, object files and flags are used when
       # linking a shared library.
-      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | 
$GREP -v "^Configured with:" | $GREP "\-L"'
+      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | 
$GREP -v "^Configured with:" | $GREP " \-L"'
 
     else
       GXX=no
@@ -6813,7 +6820,7 @@
             # explicitly linking system object files so we need to strip them
             # from the output so that they don't get included in the library
             # dependencies.
-            output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v 
conftest.$objext 2>&1) | $EGREP "\-L"`; list= ; for z in $templist; do case $z 
in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; 
done; func_echo_all "$list"'
+            output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v 
conftest.$objext 2>&1) | $EGREP " \-L"`; list= ; for z in $templist; do case $z 
in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; 
done; func_echo_all "$list"'
             ;;
           *)
             if test yes = "$GXX"; then
@@ -6878,7 +6885,7 @@
            # explicitly linking system object files so we need to strip them
            # from the output so that they don't get included in the library
            # dependencies.
-           output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v 
conftest.$objext 2>&1) | $GREP "\-L"`; list= ; for z in $templist; do case $z 
in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; 
done; func_echo_all "$list"'
+           output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v 
conftest.$objext 2>&1) | $GREP " \-L"`; list= ; for z in $templist; do case $z 
in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; 
done; func_echo_all "$list"'
            ;;
           *)
            if test yes = "$GXX"; then
@@ -7217,7 +7224,7 @@
              # Commands to make compiler produce verbose output that lists
              # what "hidden" libraries, object files and flags are used when
              # linking a shared library.
-             output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 
2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+             output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 
2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"'
 
            else
              # FIXME: insert proper C++ library support
@@ -7301,7 +7308,7 @@
                # Commands to make compiler produce verbose output that lists
                # what "hidden" libraries, object files and flags are used when
                # linking a shared library.
-               output_verbose_link_cmd='$CC -shared $CFLAGS -v 
conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+               output_verbose_link_cmd='$CC -shared $CFLAGS -v 
conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"'
              else
                # g++ 2.7 appears to require '-G' NOT '-shared' on this
                # platform.
@@ -7312,7 +7319,7 @@
                # Commands to make compiler produce verbose output that lists
                # what "hidden" libraries, object files and flags are used when
                # linking a shared library.
-               output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 
2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+               output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 
2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"'
              fi
 
              _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/gstreamer-vaapi-1.14.4/meson.build new/gstreamer-vaapi-1.14.5/meson.build
--- old/gstreamer-vaapi-1.14.4/meson.build      2018-10-03 00:13:48.000000000 
+0200
+++ new/gstreamer-vaapi-1.14.5/meson.build      2019-05-29 19:09:36.000000000 
+0200
@@ -1,5 +1,5 @@
 project('gstreamer-vaapi', 'c',
-  version : '1.14.4',
+  version : '1.14.5',
   meson_version : '>= 0.40.1',
   default_options : [ 'warning_level=1',
                       'buildtype=debugoptimized' ])


Reply via email to