[Bug 731525] New: multiple glimagesink elements aborts due to no XInitThreads.
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Wed Jun 11 06:49:34 PDT 2014
https://bugzilla.gnome.org/show_bug.cgi?id=731525
GStreamer | gst-plugins-bad | git
Summary: multiple glimagesink elements aborts due to no
XInitThreads.
Classification: Platform
Product: GStreamer
Version: git
OS/Version: All
Status: NEW
Severity: blocker
Priority: Normal
Component: gst-plugins-bad
AssignedTo: gstreamer-bugs at lists.freedesktop.org
ReportedBy: ystreet00 at gmail.com
QAContact: gstreamer-bugs at lists.freedesktop.org
GNOME version: ---
Pipeline:
videotestsrc ! tee name=t ! queue ! glimagesink t. ! queue ! glimagesink
Output:
[xcb] Most likely this is a multi-threaded client and XInitThreads has not been
called
[xcb] Aborting, sorry about that.
gst-launch-1.0: xcb_io.c:179: dequeue_pending_request: Assertion
`!xcb_xlib_unknown_req_in_deq' failed.
The issue here is that the glx contexts use the display's x11 connection to
create their contexts. If we separate the display connection per context, then
context sharing breaks on intel drivers. egl/x11 works fine.
The solution is to, as the error message suggests, call XInitThreads() however
we would need to do that before any other GUI toolkit attempts to access X.
For Gtk+ that is before gtk_init is called which is typically one of the first
things an app does. This poses a problem as the libgstgl/libgstopengl is
typically loaded (by GstElementFactory) after gtk_init is called and will cause
segfaults due to the use of XInitThreads() after X11 resources have been
created.
Proposed Solution:
1. Punt responsibility to the application to call XInitThreads before calling
any toolkit functions and
2. add an XInitThreads call to plugin_init in libgstopengl for the gst-launch
case.
--
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- 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