[prev in list] [next in list] [prev in thread] [next in thread] 

List:       gstreamer-cvs
Subject:    gst-plugins-bad: gl/wayland: allow a NULL wl_event_queue
From:       ystreet () kemper ! freedesktop ! org (Matthew Waters)
Date:       2015-05-31 6:33:29
Message-ID: 20150531063329.8BD5676345 () kemper ! freedesktop ! org
[Download RAW message or body]

Module: gst-plugins-bad
Branch: master
Commit: 1dc0f40a35f8b6fa8299e5e74eb10861e4090c48
URL:    http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/commit/?id=1dc0f40a35f8b6fa8299e5e74eb10861e4090c48


Author: Matthew Waters <matthew@centricular.com>
Date:   Wed May 27 15:44:33 2015 +1000

gl/wayland: allow a NULL wl_event_queue

perform operations on the default wl_display event queue in that case

---

 gst-libs/gst/gl/wayland/wayland_event_source.c |   16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/gst-libs/gst/gl/wayland/wayland_event_source.c \
b/gst-libs/gst/gl/wayland/wayland_event_source.c index ba853f0..dd1cf8e 100644
--- a/gst-libs/gst/gl/wayland/wayland_event_source.c
+++ b/gst-libs/gst/gl/wayland/wayland_event_source.c
@@ -62,9 +62,14 @@ gst_gl_wl_display_roundtrip_queue (struct wl_display *display,
   if (callback == NULL)
     return -1;
   wl_callback_add_listener (callback, &sync_listener, &done);
-  wl_proxy_set_queue ((struct wl_proxy *) callback, queue);
-  while (!done && ret >= 0)
-    ret = wl_display_dispatch_queue (display, queue);
+  if (queue) {
+    wl_proxy_set_queue ((struct wl_proxy *) callback, queue);
+    while (!done && ret >= 0)
+      ret = wl_display_dispatch_queue (display, queue);
+  } else {
+    while (!done && ret >= 0)
+      ret = wl_display_dispatch (display);
+  }
 
   if (ret == -1 && !done)
     wl_callback_destroy (callback);
@@ -114,7 +119,10 @@ wayland_event_source_dispatch (GSource * base,
   WaylandEventSource *source = (WaylandEventSource *) base;
 
   if (source->pfd.revents) {
-    wl_display_roundtrip_queue (source->display, source->queue);
+    if (source->queue)
+      wl_display_roundtrip_queue (source->display, source->queue);
+    else
+      wl_display_roundtrip (source->display);
     source->pfd.revents = 0;
   }
 

_______________________________________________
gstreamer-commits mailing list
gstreamer-commits@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/gstreamer-commits


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic