GNOME Bugzilla – Bug 134301
gst-plugins should depend on X
Last modified: 2004-12-22 21:47:04 UTC
currently we build libgstinterfaces.so with different features depending on wether X is installed or not. There is however no way to figure out (at least not with pkg-config) what version was installed and nobody checks it. I believe the correct way would be to require X in gst-plugins and not build parts of that lib conditionally. Opinions?
it should be possible to build without X too, ie. the audio mixer interface should still work even when X is not present.
xoverlay.h only depends on X for the definition of XID. XID is unsigned long on all architectures, so changing to unsigned long in the header makes it independent of X. xoverlay.c should be compiled and linked into the library unconditionally, and if X is not present at compile time, all the function calls can be stubbed out and do nothing. It's not particularly elegant, but it's clean, and nobody in their right mind will compile gst-plugins without X. (From experience, I know that embedded systems designers and Windows developers are not in their right minds.)
XOverlay does not depend on any X headers, so it's probably only needed for set_xwindow_id. In that case we should make the window_id argument an unsigned long and voila - no more X requirement. XWindowListener should be made a plugin apparently, so libgstinterfaces can be compiled unconditionally.
This appears to have been fixed. I've compiled gst-plugins without X installed (actually, with nothing but gstreamer+dependencies) and it compiles fine.