[FFmpeg-cvslog] avdevice/xcbgrab: fix undefined reference to xcb_shape_rectangles in xcbgrab.c

Boris Reisig git at videolan.org
Mon Nov 24 17:29:11 CET 2014


ffmpeg | branch: master | Boris Reisig <voip at boris.ca> | Mon Nov 24 02:00:05 2014 -0600| [54170a33c2c97b0f50347f57e8f0f2ea681dca1d] | committer: Michael Niedermayer

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 at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=54170a33c2c97b0f50347f57e8f0f2ea681dca1d
---

 configure             |   11 +++++++++--
 libavdevice/xcbgrab.c |    6 +++++-
 2 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/configure b/configure
index b3c3e5b..38619c4 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 1657b7d..df8de20 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,



More information about the ffmpeg-cvslog mailing list