diff options
author | Boris Reisig <voip@boris.ca> | 2014-11-24 02:00:05 -0600 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2014-11-24 16:57:47 +0100 |
commit | 54170a33c2c97b0f50347f57e8f0f2ea681dca1d (patch) | |
tree | cce87bb222c28f58b6189b1cbdd538b17154368d | |
parent | 1d242f9816ac8e17a74d2f77bd903fa8076d267a (diff) | |
download | ffmpeg-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-x | configure | 11 | ||||
-rw-r--r-- | libavdevice/xcbgrab.c | 6 |
2 files changed, 14 insertions, 3 deletions
@@ -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, |