aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBoris Reisig <voip@boris.ca>2014-11-24 02:00:05 -0600
committerMichael Niedermayer <michaelni@gmx.at>2014-11-24 16:57:47 +0100
commit54170a33c2c97b0f50347f57e8f0f2ea681dca1d (patch)
treecce87bb222c28f58b6189b1cbdd538b17154368d
parent1d242f9816ac8e17a74d2f77bd903fa8076d267a (diff)
downloadffmpeg-54170a33c2c97b0f50347f57e8f0f2ea681dca1d.tar.gz
avdevice/xcbgrab: fix undefined reference to xcb_shape_rectangles in xcbgrab.c
works with (--enable-libxcb-shape) and without (--disable-libxcb-shape) now. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rwxr-xr-xconfigure11
-rw-r--r--libavdevice/xcbgrab.c6
2 files changed, 14 insertions, 3 deletions
diff --git a/configure b/configure
index b3c3e5bebf..38619c4498 100755
--- a/configure
+++ b/configure
@@ -254,6 +254,7 @@ External library support:
--enable-libxcb enable X11 grabbing using XCB [auto]
--enable-libxcb-shm enable X11 grabbing shm communication [auto]
--enable-libxcb-xfixes enable X11 grabbing mouse rendering [auto]
+ --enable-libxcb-shape enable X11 grabbing shape rendering [auto]
--enable-libxvid enable Xvid encoding via xvidcore,
native MPEG-4/Xvid encoder exists [no]
--enable-libzmq enable message passing via libzmq [no]
@@ -1386,6 +1387,7 @@ EXTERNAL_LIBRARY_LIST="
libxavs
libxcb
libxcb_shm
+ libxcb_shape
libxcb_xfixes
libxvid
libzmq
@@ -5047,8 +5049,13 @@ if enabled libxcb; then
enabled libxcb_xfixes && die "ERROR: libxcb_xfixes not found";
} && enable libxcb_xfixes; }
- add_cflags $xcb_cflags $xcb_shm_cflags $xcb_xfixes_cflags
- add_extralibs $xcb_libs $xcb_shm_libs $xcb_xfixes_libs
+ disabled libxcb_shape || {
+ check_pkg_config xcb-shape xcb/shape.h xcb_shape_get_rectangles || {
+ enabled libxcb_shape && die "ERROR: libxcb_shape not found";
+ } && enable libxcb_shape; }
+
+ add_cflags $xcb_cflags $xcb_shm_cflags $xcb_xfixes_cflags $xcb_shape_cflags
+ add_extralibs $xcb_libs $xcb_shm_libs $xcb_xfixes_libs $xcb_shape_libs
fi
fi
diff --git a/libavdevice/xcbgrab.c b/libavdevice/xcbgrab.c
index 1657b7d8d8..df8de20459 100644
--- a/libavdevice/xcbgrab.c
+++ b/libavdevice/xcbgrab.c
@@ -33,6 +33,10 @@
#include <xcb/shm.h>
#endif
+#if CONFIG_LIBXCB_SHAPE
+#include <xcb/shape.h>
+#endif
+
#include "libavformat/avformat.h"
#include "libavformat/internal.h"
@@ -576,7 +580,7 @@ static void setup_window(AVFormatContext *s)
XCB_COPY_FROM_PARENT,
mask, values);
-#if XCB_SHAPE_RECTANGLES
+#if CONFIG_LIBXCB_SHAPE
xcb_shape_rectangles(c->conn, XCB_SHAPE_SO_SUBTRACT,
XCB_SHAPE_SK_BOUNDING, XCB_CLIP_ORDERING_UNSORTED,
c->window,