gl/x11: use xcb instead of libX11
authorMatthew Waters <matthew@centricular.com>
Thu, 30 Jun 2016 14:07:23 +0000 (00:07 +1000)
committerMatthew Waters <matthew@centricular.com>
Tue, 8 Nov 2016 04:14:26 +0000 (15:14 +1100)
commit4f6c226bd24ae3ef66bd8f4c17b001444c9b0bf1
treef4e7cf1170b9a3036a13354d8caea46d9fac993b
parente4916fb1ef8e5ecc075978b98f50bd799faf83e0
gl/x11: use xcb instead of libX11

- xcb is supposedly thread-safe!

videotestsrc ! glimagesink now doesn't spuriously result in a
'call XInitThreads()' error however if anybody else is using X11,
then XInitThreads() still needs to be called and multiple glimagesink's
still need XInitThreads().

Everything still takes libX11 handles as they are compatible with the xcb
variants.  Unfortunately we cannot move fully over to xcb due to GLX being
entirely based on Xlib.  It's also impossible to transform a xcb_connection
to a Display which means we require X11 handles.
configure.ac
gst-libs/gst/gl/x11/Makefile.am
gst-libs/gst/gl/x11/gstgldisplay_x11.c
gst-libs/gst/gl/x11/gstgldisplay_x11.h
gst-libs/gst/gl/x11/gstglwindow_x11.c
gst-libs/gst/gl/x11/xcb_event_source.c [moved from gst-libs/gst/gl/x11/x11_event_source.c with 52% similarity]
gst-libs/gst/gl/x11/xcb_event_source.h [moved from gst-libs/gst/gl/x11/x11_event_source.h with 81% similarity]