summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Waters <ystreet00@gmail.com>2014-06-24 23:33:30 +1000
committerMatthew Waters <ystreet00@gmail.com>2014-06-24 23:41:00 +1000
commit1d16cd50a3f07198e2519adec8e52b2b5b21ea14 (patch)
treecf67c97f970ee87a708e54ce1fb2ef1d9ca05264
parent123f642d5eb1988fc45e4a403f6866cf780da647 (diff)
downloadgstreamer-plugins-bad-1d16cd50a3f07198e2519adec8e52b2b5b21ea14.tar.gz
gl: add a scary note about initializing thread support for the winsys
We cannot do it as the winsys may crash if we initialize too late. Example, GLX contexts with Intel drivers: Intel requires the X Display to be the same in order to share GL resources across GL contexts. These GL contexts are generally accessed from different threads. Without winsys support it is nearly impossible to guarentee that concurrent access will not occur. This concurrent access could result in crashes or abortion by the winsys (xcb). https://bugzilla.gnome.org/show_bug.cgi?id=731525
-rw-r--r--gst-libs/gst/gl/gstgldisplay.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/gst-libs/gst/gl/gstgldisplay.c b/gst-libs/gst/gl/gstgldisplay.c
index be596b421..c3005f771 100644
--- a/gst-libs/gst/gl/gstgldisplay.c
+++ b/gst-libs/gst/gl/gstgldisplay.c
@@ -30,6 +30,14 @@
* #GstGLDisplay represents a connection to the underlying windowing system.
* Elements are required to make use of #GstContext to share and propogate
* a #GstGLDisplay.
+ *
+ * <note>Certain window systems require a special function to be called to
+ * initialize threading support. As this GStreamer GL library does not preclude
+ * concurrent access to the windowing system, it is strongly advised that
+ * applications ensure that threading support has been initialized before any
+ * other toolkit/library functionality is accessed. Failure to do so could
+ * result in sudden application abortion during execution. The most notably
+ * example of such a function is X11's XInitThreads().</note>
*/
#ifdef HAVE_CONFIG_H