Hello community,

here is the log from the commit of package gstreamer-plugins-vaapi for 
openSUSE:Factory checked in at 2018-05-03 12:34:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gstreamer-plugins-vaapi (Old)
 and      /work/SRC/openSUSE:Factory/.gstreamer-plugins-vaapi.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gstreamer-plugins-vaapi"

Thu May  3 12:34:38 2018 rev:27 rq:603351 version:1.12.5

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/gstreamer-plugins-vaapi/gstreamer-plugins-vaapi.changes
  2018-04-03 12:12:02.991492767 +0200
+++ 
/work/SRC/openSUSE:Factory/.gstreamer-plugins-vaapi.new/gstreamer-plugins-vaapi.changes
     2018-05-03 12:34:40.911365530 +0200
@@ -1,0 +2,13 @@
+Wed May  2 06:33:17 UTC 2018 - [email protected]
+
+- Add upstream bug fix patches:
+  + gst-vaapi-egl-mark-context-wrapped.patch: libs: egl: utils:
+    mark context as wrapped when it is. The returning egl context
+    may be null, so we should check the return value (bgo#795391).
+  + gst-vaapi-wayland-dont-poll-no-pending-frames.patch: wayland:
+    don't poll if there are no pending frames. Otherwise the
+    following poll may not return for an arbitrary amount of time.
+    This can happen if another wayland event queue has flushed and
+    read our events (bgo#795224).
+
+-------------------------------------------------------------------

New:
----
  gst-vaapi-egl-mark-context-wrapped.patch
  gst-vaapi-wayland-dont-poll-no-pending-frames.patch

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

Other differences:
------------------
++++++ gstreamer-plugins-vaapi.spec ++++++
--- /var/tmp/diff_new_pack.VAyvLL/_old  2018-05-03 12:34:41.499344582 +0200
+++ /var/tmp/diff_new_pack.VAyvLL/_new  2018-05-03 12:34:41.499344582 +0200
@@ -26,6 +26,10 @@
 Group:          Productivity/Multimedia/Other
 URL:            https://gstreamer.freedesktop.org/
 Source0:        
https://gstreamer.freedesktop.org/src/gstreamer-vaapi/gstreamer-vaapi-%{version}.tar.xz
+# PATCH-FIX-UPSTREAM gst-vaapi-wayland-dont-poll-no-pending-frames.patch 
bgo#795224 -- wayland: don't poll if there are no pending frames
+Patch0:         gst-vaapi-wayland-dont-poll-no-pending-frames.patch
+# PATCH-FIX-UPSTREAM gst-vaapi-egl-mark-context-wrapped.patch bgo#795391 -- 
libs: egl: utils: mark context as wrapped when it is
+Patch1:         gst-vaapi-egl-mark-context-wrapped.patch
 
 BuildRequires:  Mesa-devel
 BuildRequires:  Mesa-libGLESv3-devel

++++++ gst-vaapi-egl-mark-context-wrapped.patch ++++++
>From 1660bd0df1817f2232328c41bb2f5fc54ff41f6b Mon Sep 17 00:00:00 2001
From: Hyunjun Ko <[email protected]>
Date: Tue, 24 Apr 2018 18:12:44 +0900
Subject: libs: egl: utils: mark context as wrapped when it is

The returning egl context may be null, so we should check the
return value.

https://bugzilla.gnome.org/show_bug.cgi?id=795391
---
 gst-libs/gst/vaapi/gstvaapiutils_egl.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/gst-libs/gst/vaapi/gstvaapiutils_egl.c 
b/gst-libs/gst/vaapi/gstvaapiutils_egl.c
index 0f03909..00b9124 100644
--- a/gst-libs/gst/vaapi/gstvaapiutils_egl.c
+++ b/gst-libs/gst/vaapi/gstvaapiutils_egl.c
@@ -1083,11 +1083,15 @@ egl_context_new_wrapped (EglDisplay * display, 
EGLContext gl_context)
   args.display = display;
   args.config = config;
   args.gl_parent_context = gl_context;
+  args.context = NULL;
   success = egl_display_run (display, (EglContextRunFunc) do_egl_context_new,
       &args);
   egl_object_unref (config);
   if (!success)
     return NULL;
+
+  if (args.context)
+    args.context->base.is_wrapped = TRUE;
   return args.context;
 }
 
-- 
cgit v1.1

++++++ gst-vaapi-wayland-dont-poll-no-pending-frames.patch ++++++
>From 1dc3c9e183669c2b23ab0428109a6e107ace6e25 Mon Sep 17 00:00:00 2001
From: Michael Olbrich <[email protected]>
Date: Fri, 13 Apr 2018 09:28:53 +0200
Subject: wayland: don't poll if there are no pending frames

Otherwise the following poll may not return for an arbitrary amount of
time. This can happen if another wayland event queue has flushed and read
our events.

https://bugzilla.gnome.org/show_bug.cgi?id=795224
---
 gst-libs/gst/vaapi/gstvaapiwindow_wayland.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/gst-libs/gst/vaapi/gstvaapiwindow_wayland.c 
b/gst-libs/gst/vaapi/gstvaapiwindow_wayland.c
index 3d77e45..bd2d89d 100644
--- a/gst-libs/gst/vaapi/gstvaapiwindow_wayland.c
+++ b/gst-libs/gst/vaapi/gstvaapiwindow_wayland.c
@@ -185,6 +185,11 @@ gst_vaapi_window_wayland_sync (GstVaapiWindow * window)
     if (wl_display_flush (wl_display) < 0)
       goto error;
 
+    if (g_atomic_int_get (&priv->num_frames_pending) == 0) {
+      wl_display_cancel_read (wl_display);
+      return TRUE;
+    }
+
   again:
     if (gst_poll_wait (priv->poll, GST_CLOCK_TIME_NONE) < 0) {
       int saved_errno = errno;
-- 
cgit v1.1


Reply via email to