[Bug 758984] New: gl/wayland: fix loop test hang in glimagesink

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Wed Dec 2 21:55:08 PST 2015


https://bugzilla.gnome.org/show_bug.cgi?id=758984

            Bug ID: 758984
           Summary: gl/wayland: fix loop test hang in glimagesink
    Classification: Platform
           Product: GStreamer
           Version: 1.6.0
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: Normal
         Component: gst-plugins-bad
          Assignee: gstreamer-bugs at lists.freedesktop.org
          Reporter: b55597 at freescale.com
        QA Contact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---

Created attachment 316692
  --> https://bugzilla.gnome.org/attachment.cgi?id=316692&action=edit
gl/wayland: fix loop test hang in glimagesink

gl/wayland: fix loop test hang in glimagesink

Don't call gst_gl_wl_display_roundtrip_queue() in window_show(). In
glimagesink, gl thread will dispatch event queue and window_show() is called
from streaming thread. Gl thread will empty event queue and potentially cause
gst_gl_wl_display_roundtrip_queue() blocking the streaming thread to wait for
an event occur. Actually, no event can occur because the swap_buffer event is
queued by streaming thread but it is blocked.

And also we should destroy event queue when destroy surfaces.

This patch remove gst_gl_window_wayland_egl_show() from
GstGLWindowWaylandEGLClass and call create_surfaces()
gst_gl_wl_display_roundtrip_queue() in gst_gl_window_wayland_egl_open(). When
when destroy surfaces, destroy event queue also.

please help me review. Thanks.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list