The following problems exist with xvidcap: 1) fails to build when ffmpeg is installed (see ports/126826) 2) embedded ffmpeg fails to build due to: 2.1) v4l 2.2) using mmx on amd64 2.3) using x86 instructions on amd64 2.4) searching for FreeBSD include files in wrong location Fix: Apply the attached patch. I've tested with using mpeg and flv output on amd64. How-To-Repeat: For 1: # make -C /usr/ports/multimedia/ffmpeg install # make -C /usr/ports/sysutils/xvidcap all (fails to link) For 2: # make -C /usr/ports/sysutils/xvidcap configure (notice output of configure and ffmpeg failing to build) (2.1 requires recent -current) (2.[23] require building in amd64 environment)
Responsible Changed From-To: freebsd-ports-bugs->thierry Over to maintainer (via the GNATS Auto Assign Tool)
Hi, It looks like chromium enjoys eating my attachments. See attached for my patch. Yes, I also encountered that problem. I suspect it will take a while to track down this problem. Even longer for me as I know nothing about X programming. I was hoping to upgrade incrementally, to see where the break was introduced. I had a look at the code and it looks like the problem may have been introduced in r101 (or the next revision). The repository I looked at was at sourceforge. multimedia/recordmydesktop also uses shmstr.h (which was patched to shmproto.h). That port may work and know how to use shm... I will not have time over the next month, could you commit the attached patch in the interim? That way there is a working xvidcap in ports. Regards, David
> Here it is. I added ``--disable-muxer=v4l --disable-muxer=v4l2'' to the > configure options for ffmpeg and reordered LDFLAGS (two lines down) moving the > ffmpeg includes first (so it will build when ffmpeg installed). For some reason, it does not build on my machine when the external ffmpeg is installed. To fix it, I had to modify your patches. Hereunder is the version working here, with or without ffmpeg; could you please check if it's still OK for you? --- xvidcap.diff begins here --- diff -urN sysutils/xvidcap.orig/Makefile sysutils/xvidcap/Makefile --- sysutils/xvidcap.orig/Makefile 2010-06-15 21:02:41.000000000 +0200 +++ sysutils/xvidcap/Makefile 2010-09-05 17:11:51.000000000 +0200 @@ -7,7 +7,7 @@ PORTNAME= xvidcap DISTVERSION= 1.1.4p1 -PORTREVISION= 8 +PORTREVISION= 9 PORTEPOCH= 1 CATEGORIES= sysutils multimedia MASTER_SITES= SF/${PORTNAME}/OldFiles @@ -25,10 +25,10 @@ GNU_CONFIGURE= yes # Remove MAKE="${GMAKE}" after ffmpeg-devel's upgrade -CONFIGURE_ENV= CFLAGS="${CFLAGS} -I${LOCALBASE}/include" \ - LDFLAGS="-L${LOCALBASE}/lib" \ +CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include" \ + LOCALBASE="${LOCALBASE}" \ MAKE="${GMAKE}" -CONFIGURE_ARGS= -with-forced-embedded-ffmpeg # To be removed after ffmpeg-devel's upgrade +CONFIGURE_ARGS= --with-forced-embedded-ffmpeg # To be removed after ffmpeg-devel's upgrade USE_GMAKE= yes # To be removed after ffmpeg-devel's upgrade USE_GNOME= glib20 libglade2 diff -urN sysutils/xvidcap.orig/files/patch-configure sysutils/xvidcap/files/patch-configure --- sysutils/xvidcap.orig/files/patch-configure 2006-11-01 00:51:16.000000000 +0100 +++ sysutils/xvidcap/files/patch-configure 2010-09-05 22:17:58.000000000 +0200 @@ -1,5 +1,5 @@ ---- configure.orig Mon Oct 30 09:11:11 2006 -+++ configure Tue Oct 31 19:26:30 2006 +--- configure.orig 2006-11-16 18:50:24.000000000 +0100 ++++ configure 2010-09-05 22:17:41.000000000 +0200 @@ -9078,7 +9078,7 @@ echo $ECHO_N "(cached) $ECHO_C" >&6 else @@ -18,12 +18,179 @@ else unset ac_cv_lib_Xmu_XmuClientWindow; echo "Couldn't find libXmu in LD_LIBRARY_PATH, checking X11 paths"; echo "$as_me:$LINENO: checking for XmuClientWindow in -lXmu" >&5 -@@ -9513,7 +9513,7 @@ +@@ -9513,11 +9513,11 @@ # if cache empty (not tested or failed) and want static avcodec (then it failed) ... if ( `test \( \( x${ac_cv_lib_avutil_av_rescale+set} = x \) -a \( x$static_avutil = xyes \) \)` ) ; then # build embedded ffmpeg - echo "${MAKE-make}-ing prerequisite ffmpeg libraries" && ( cd ./ffmpeg/ && ./configure --cc=${CC} --enable-gpl ${ac_my_ffmpeg_cfg_lame_switch} --enable-pthreads --enable-swscaler --disable-ffserver --disable-ffplay && ln -s libavcodec/avcodec.h && ln -s libavformat/avformat.h && ln -s libavformat/avio.h && ln -s libavformat/rt*.h ./ && ln -s libavutil/common.h ./ && ln -s libavutil/avutil.h ./ && ln -s libavutil/mathematics.h ./ && ln -s libavutil/int*.h ./ && ln -s libavutil/rational.h ./ && ln -s libswscale/swscale.h ./ && ln -s libswscale/rgb2rgb.h . && ${MAKE-make} ) -+ echo "${MAKE-make}-ing prerequisite ffmpeg libraries" && ( cd ./ffmpeg/ && ./configure --cc=${CC} --extra-libs=-lm --disable-opts --enable-gpl ${ac_my_ffmpeg_cfg_lame_switch} --enable-pthreads --enable-swscaler --disable-ffserver --disable-ffplay && ln -s libavcodec/avcodec.h && ln -s libavformat/avformat.h && ln -s libavformat/avio.h && ln -s libavformat/rt*.h ./ && ln -s libavutil/common.h ./ && ln -s libavutil/avutil.h ./ && ln -s libavutil/mathematics.h ./ && ln -s libavutil/int*.h ./ && ln -s libavutil/rational.h ./ && ln -s libswscale/swscale.h ./ && ln -s libswscale/rgb2rgb.h . && ${MAKE-make} ) ++ echo "${MAKE-make}-ing prerequisite ffmpeg libraries" && ( cd ./ffmpeg/ && ./configure --cc=${CC} --extra-cflags=${CPPFLAGS} --extra-libs=-lm --disable-opts --disable-muxer=v4l --disable-muxer=v4l2 --enable-gpl ${ac_my_ffmpeg_cfg_lame_switch} --enable-pthreads --enable-swscaler --disable-ffserver --disable-ffplay && ln -s libavcodec/avcodec.h && ln -s libavformat/avformat.h && ln -s libavformat/avio.h && ln -s libavformat/rt*.h ./ && ln -s libavutil/common.h ./ && ln -s libavutil/avutil.h ./ && ln -s libavutil/mathematics.h ./ && ln -s libavutil/int*.h ./ && ln -s libavutil/rational.h ./ && ln -s libswscale/swscale.h ./ && ln -s libswscale/rgb2rgb.h . && ${MAKE-make} ) #echo "${MAKE-make}-ing prerequisite ffmpeg libraries" && ( cd ./ffmpeg/ && ./configure --cc=${CC} ${ac_my_ffmpeg_cfg_lame_switch} --enable-pthreads --disable-ffserver --disable-ffplay && ln -s libavcodec/avcodec.h && ln -s libavformat/avformat.h && ln -s libavformat/avio.h && ln -s libavformat/rt*.h ./ && ln -s libavutil/common.h ./ && ln -s libavutil/avutil.h ./ && ln -s libavutil/mathematics.h ./ && ln -s libavutil/int*.h ./ && ln -s libavutil/rational.h ./ && ${MAKE-make} ) # try to link it statically, or reset cache, set static_avcodec=no top_srcdir=`pwd` +- ac_my_ldflags_save=${LDFLAGS} ; LDFLAGS="${LDFLAGS} -L$top_srcdir/ffmpeg/libavcodec -L$top_srcdir/ffmpeg/libavformat -L$top_srcdir/ffmpeg/libavutil -L$top_srcdir/ffmpeg/libswscale" ++ ac_my_ldflags_save=${LDFLAGS} ; LOCALLIBPATH="-L$top_srcdir/ffmpeg/libavcodec -L$top_srcdir/ffmpeg/libavformat -L$top_srcdir/ffmpeg/libavutil -L$top_srcdir/ffmpeg/libswscale" + ac_my_cflags_save=${CFLAGS} ; CFLAGS="${CFLAGS} -I $top_srcdir -I$top_srcdir/ffmpeg/libavcodec -I$top_srcdir/ffmpeg/libavformat -I$top_srcdir/ffmpeg/libavutil -I$top_srcdir/ffmpeg/libswscale" + + +@@ -9532,7 +9532,7 @@ + + echo -n "(static?) ... " + ac_check_lib_save_LIBS=$LIBS +-LIBS="-Wl,-Bstatic -lavutil -Wl,-Bdynamic $LIBS" ++LIBS="-Wl,-Bstatic -L$top_srcdir/ffmpeg/libavutil -lavutil -Wl,-Bdynamic $LIBS" + cat >conftest.$ac_ext <<_ACEOF + /* confdefs.h. */ + _ACEOF +@@ -9599,7 +9599,7 @@ + #define HAVE_LIBAVUTIL 1 + _ACEOF + +- LIBS="-Wl,-Bstatic -lavutil -Wl,-Bdynamic $LIBS" ++ LIBS="-Wl,-Bstatic -L$top_srcdir/ffmpeg/libavutil -lavutil -Wl,-Bdynamic $LIBS" + + else + unset ac_cv_lib_avutil_av_rescale ; static_avcodec=no ; LDFLAGS=$ac_my_ldflags_save ; CFLAGS=$ac_my_cflags_save +@@ -9618,7 +9618,7 @@ + echo $ECHO_N "(cached) $ECHO_C" >&6 + else + ac_check_lib_save_LIBS=$LIBS +-LIBS="-lavutil $LIBS" ++LIBS="-L$top_srcdir/ffmpeg/libavutil -lavutil $LIBS" + cat >conftest.$ac_ext <<_ACEOF + /* confdefs.h. */ + _ACEOF +@@ -9680,7 +9680,7 @@ + #define HAVE_LIBAVUTIL 1 + _ACEOF + +- LIBS="-lavutil $LIBS" ++ LIBS="-L$top_srcdir/ffmpeg/libavutil -lavutil $LIBS" + + fi + +@@ -9703,7 +9703,7 @@ + + echo -n "(static?) ... " + ac_check_lib_save_LIBS=$LIBS +-LIBS="-Wl,-Bstatic -lswscale -Wl,-Bdynamic $ac_my_swscale_libs $LIBS" ++LIBS="-Wl,-Bstatic -L$top_srcdir/ffmpeg/libswscale -lswscale -Wl,-Bdynamic $ac_my_swscale_libs $LIBS" + cat >conftest.$ac_ext <<_ACEOF + /* confdefs.h. */ + _ACEOF +@@ -9770,7 +9770,7 @@ + #define HAVE_LIBSWSCALE 1 + _ACEOF + +- LIBS="-Wl,-Bstatic -lswscale -Wl,-Bdynamic $LIBS" ++ LIBS="-Wl,-Bstatic -L$top_srcdir/ffmpeg/libswscale -lswscale -Wl,-Bdynamic $LIBS" + + else + unset ac_cv_lib_swscale_sws_scale ; static_swscale=no ; +@@ -9780,7 +9780,7 @@ + echo $ECHO_N "(cached) $ECHO_C" >&6 + else + ac_check_lib_save_LIBS=$LIBS +-LIBS="-lswscale $ac_my_swscale_libs $LIBS" ++LIBS="-L$top_srcdir/ffmpeg/libswscale -lswscale $ac_my_swscale_libs $LIBS" + cat >conftest.$ac_ext <<_ACEOF + /* confdefs.h. */ + _ACEOF +@@ -9842,7 +9842,7 @@ + #define HAVE_LIBSWSCALE 1 + _ACEOF + +- LIBS="-lswscale $LIBS" ++ LIBS="-L$top_srcdir/ffmpeg/libswscale -lswscale $LIBS" + + fi + +@@ -9868,7 +9868,7 @@ + + echo -n "(static?) ... " + ac_check_lib_save_LIBS=$LIBS +-LIBS="-Wl,-Bstatic -lavcodec -Wl,-Bdynamic $ac_my_avcodec_libs $LIBS" ++LIBS="-Wl,-Bstatic -L$top_srcdir/ffmpeg/libavcodec -lavcodec -Wl,-Bdynamic $ac_my_avcodec_libs $LIBS" + cat >conftest.$ac_ext <<_ACEOF + /* confdefs.h. */ + _ACEOF +@@ -9935,7 +9935,7 @@ + #define HAVE_LIBAVCODEC 1 + _ACEOF + +- LIBS="-Wl,-Bstatic -lavcodec -Wl,-Bdynamic $LIBS" ++ LIBS="-Wl,-Bstatic -L$top_srcdir/ffmpeg/libavcodec -lavcodec -Wl,-Bdynamic $LIBS" + + else + unset ac_cv_lib_avcodec_avcodec_encode_video ; static_avcodec=no ; +@@ -9945,7 +9945,7 @@ + echo $ECHO_N "(cached) $ECHO_C" >&6 + else + ac_check_lib_save_LIBS=$LIBS +-LIBS="-lavcodec $ac_my_avcodec_libs $LIBS" ++LIBS="-L$top_srcdir/ffmpeg/libavcodec -lavcodec $ac_my_avcodec_libs $LIBS" + cat >conftest.$ac_ext <<_ACEOF + /* confdefs.h. */ + _ACEOF +@@ -10007,7 +10007,7 @@ + #define HAVE_LIBAVCODEC 1 + _ACEOF + +- LIBS="-lavcodec $LIBS" ++ LIBS="-L$top_srcdir/ffmpeg/libavcodec -lavcodec $LIBS" + + fi + +@@ -10033,7 +10033,7 @@ + + echo -n "(static?) ... " + ac_check_lib_save_LIBS=$LIBS +-LIBS="-Wl,-Bstatic -lavformat -Wl,-Bdynamic $ac_my_avformat_libs $LIBS" ++LIBS="-Wl,-Bstatic -L$top_srcdir/ffmpeg/libavformat -lavformat -Wl,-Bdynamic $ac_my_avformat_libs $LIBS" + cat >conftest.$ac_ext <<_ACEOF + /* confdefs.h. */ + _ACEOF +@@ -10100,7 +10100,7 @@ + #define HAVE_LIBAVFORMAT 1 + _ACEOF + +- LIBS="-Wl,-Bstatic -lavformat -Wl,-Bdynamic $LIBS" ++ LIBS="-Wl,-Bstatic -L$top_srcdir/ffmpeg/libavformat -lavformat -Wl,-Bdynamic $LIBS" + + else + unset ac_cv_lib_avformat_av_write_header ; static_avformat=no ; +@@ -10110,7 +10110,7 @@ + echo $ECHO_N "(cached) $ECHO_C" >&6 + else + ac_check_lib_save_LIBS=$LIBS +-LIBS="-lavformat $ac_my_avformat_libs $LIBS" ++LIBS="-L$top_srcdir/ffmpeg/libavformat -lavformat $ac_my_avformat_libs $LIBS" + cat >conftest.$ac_ext <<_ACEOF + /* confdefs.h. */ + _ACEOF +@@ -10172,7 +10172,7 @@ + #define HAVE_LIBAVFORMAT 1 + _ACEOF + +- LIBS="-lavformat $LIBS" ++ LIBS="-L$top_srcdir/ffmpeg/libavformat -lavformat $LIBS" + + fi + +@@ -10206,7 +10206,7 @@ + + echo -n "(static?) ... " + ac_check_lib_save_LIBS=$LIBS +-LIBS="-Wl,-Bstatic -lavcodec -Wl,-Bdynamic $ac_my_avcodec_libs $LIBS" ++LIBS="-Wl,-Bstatic -L$top_srcdir/ffmpeg/libavcodec -lavcodec -Wl,-Bdynamic $ac_my_avcodec_libs $LIBS" + cat >conftest.$ac_ext <<_ACEOF + /* confdefs.h. */ + _ACEOF +@@ -10277,7 +10277,7 @@ + echo $ECHO_N "(cached) $ECHO_C" >&6 + else + ac_check_lib_save_LIBS=$LIBS +-LIBS="-lavcodec $ac_my_avcodec_libs $LIBS" ++LIBS="-L$top_srcdir/ffmpeg/libavcodec -lavcodec $ac_my_avcodec_libs $LIBS" + cat >conftest.$ac_ext <<_ACEOF + /* confdefs.h. */ + _ACEOF diff -urN sysutils/xvidcap.orig/files/patch-ffmpeg_Makefile sysutils/xvidcap/files/patch-ffmpeg_Makefile --- sysutils/xvidcap.orig/files/patch-ffmpeg_Makefile 1970-01-01 01:00:00.000000000 +0100 +++ sysutils/xvidcap/files/patch-ffmpeg_Makefile 2010-09-05 16:48:42.000000000 +0200 @@ -0,0 +1,25 @@ +--- ffmpeg/Makefile.orig 2006-10-25 21:31:11.000000000 +0200 ++++ ffmpeg/Makefile 2010-09-05 16:47:52.000000000 +0200 +@@ -6,7 +6,7 @@ + + VPATH=$(SRC_PATH) + +-CFLAGS=$(OPTFLAGS) -I$(BUILD_ROOT) -I$(SRC_PATH) -I$(SRC_PATH)/libavutil \ ++CFLAGS=-I$(BUILD_ROOT) -I$(SRC_PATH) $(OPTFLAGS) -I$(SRC_PATH)/libavutil \ + -I$(SRC_PATH)/libavcodec -I$(SRC_PATH)/libavformat -I$(SRC_PATH)/libswscale \ + -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_ISOC9X_SOURCE + LDFLAGS+= -g +@@ -55,11 +55,11 @@ + OBJS = ffmpeg.o ffserver.o cmdutils.o ffplay.o + SRCS = $(OBJS:.o=.c) $(ASM_OBJS:.o=.s) + LDFLAGS := -L$(BUILD_ROOT)/libavformat -L$(BUILD_ROOT)/libavcodec -L$(BUILD_ROOT)/libavutil $(LDFLAGS) +-EXTRALIBS := -lavformat$(BUILDSUF) -lavcodec$(BUILDSUF) -lavutil$(BUILDSUF) $(EXTRALIBS) ++EXTRALIBS := -L$(BUILD_ROOT)/libavformat -lavformat$(BUILDSUF) -L$(BUILD_ROOT)/libavcodec -lavcodec$(BUILDSUF) -L$(BUILD_ROOT)/libavutil -lavutil$(BUILDSUF) $(EXTRALIBS) + + ifeq ($(CONFIG_SWSCALER),yes) + LDFLAGS+=-L./libswscale +-EXTRALIBS+=-lswscale$(BUILDSUF) ++EXTRALIBS+=-L$(BUILD_ROOT)/libswscale -lswscale$(BUILDSUF) + endif + + all: lib $(PROGS_G) $(PROGS) $(PROGTEST) $(VHOOK) $(QTFASTSTART) $(DOC) diff -urN sysutils/xvidcap.orig/files/patch-ffmpeg_configure sysutils/xvidcap/files/patch-ffmpeg_configure --- sysutils/xvidcap.orig/files/patch-ffmpeg_configure 2006-11-01 00:51:16.000000000 +0100 +++ sysutils/xvidcap/files/patch-ffmpeg_configure 2010-09-05 17:13:22.000000000 +0200 @@ -1,5 +1,5 @@ ---- ffmpeg/configure.orig Wed Oct 25 21:31:11 2006 -+++ ffmpeg/configure Mon Oct 30 23:32:55 2006 +--- ffmpeg/configure.orig 2006-10-25 21:31:11.000000000 +0200 ++++ ffmpeg/configure 2010-09-05 17:13:00.000000000 +0200 @@ -556,7 +556,7 @@ audio_oss="yes" dv1394="no" @@ -9,6 +9,24 @@ ;; GNU/kFreeBSD) v4l="no" +@@ -1001,7 +1001,7 @@ + + # compute MMX state + if test $mmx = "default"; then +- if test $arch = "x86" -o $arch = "x86_64"; then ++ if test $arch = "x86"; then + mmx="yes" + else + mmx="no" +@@ -1304,7 +1304,7 @@ + # these are off by default, so fail if requested and not available + enabled dts && require libdts dts.h dts_init -ldts -lm + enabled libgsm && require libgsm gsm.h gsm_create -lgsm +-enabled mp3lame && require LAME lame/lame.h lame_init -lmp3lame -lm ++enabled mp3lame && require LAME lame/lame.h lame_init -L${LOCALBASE}/lib -lmp3lame -lm + enabled vorbis && require libvorbis vorbis/vorbisenc.h vorbis_info_init -lvorbis -lvorbisenc -logg + enabled libogg && require libogg ogg/ogg.h ogg_sync_init -logg + enabled xvid && require XviD xvid.h xvid_global -lxvidcore @@ -1514,9 +1514,6 @@ check_cflags -Wall check_cflags -Wno-switch diff -urN sysutils/xvidcap.orig/files/patch-ffmpeg_libavcodec_cabac.h sysutils/xvidcap/files/patch-ffmpeg_libavcodec_cabac.h --- sysutils/xvidcap.orig/files/patch-ffmpeg_libavcodec_cabac.h 1970-01-01 01:00:00.000000000 +0100 +++ sysutils/xvidcap/files/patch-ffmpeg_libavcodec_cabac.h 2010-09-02 23:10:27.000000000 +0200 @@ -0,0 +1,12 @@ +--- ffmpeg/libavcodec/cabac.h.orig 2010-08-29 11:27:54.000000000 +0000 ++++ ffmpeg/libavcodec/cabac.h 2010-08-29 11:28:07.000000000 +0000 +@@ -28,9 +28,6 @@ + + //#undef NDEBUG + #include <assert.h> +-#ifdef ARCH_X86_64 +-#define ARCH_X86 +-#endif + #ifdef ARCH_X86 + #include "x86_cpu.h" + #endif diff -urN sysutils/xvidcap.orig/files/patch-ffmpeg_libavformat_grab-bktr.c sysutils/xvidcap/files/patch-ffmpeg_libavformat_grab-bktr.c --- sysutils/xvidcap.orig/files/patch-ffmpeg_libavformat_grab-bktr.c 1970-01-01 01:00:00.000000000 +0100 +++ sysutils/xvidcap/files/patch-ffmpeg_libavformat_grab-bktr.c 2010-09-02 23:10:27.000000000 +0200 @@ -0,0 +1,16 @@ +--- ffmpeg/libavformat/grab_bktr.c~ 2010-08-29 11:31:58.000000000 +0000 ++++ ffmpeg/libavformat/grab_bktr.c 2010-08-29 11:32:13.000000000 +0000 +@@ -25,13 +25,8 @@ + */ + #include "avformat.h" + #if defined(__FreeBSD__) +-# if __FreeBSD__ >= 502100 + # include <dev/bktr/ioctl_meteor.h> + # include <dev/bktr/ioctl_bt848.h> +-# else +-# include <machine/ioctl_meteor.h> +-# include <machine/ioctl_bt848.h> +-# endif + #elif defined(__FreeBSD_kernel__) + # include <dev/bktr/ioctl_meteor.h> + # include <dev/bktr/ioctl_bt848.h> diff -urN sysutils/xvidcap.orig/files/patch-src_Makefile.in sysutils/xvidcap/files/patch-src_Makefile.in --- sysutils/xvidcap.orig/files/patch-src_Makefile.in 1970-01-01 01:00:00.000000000 +0100 +++ sysutils/xvidcap/files/patch-src_Makefile.in 2010-09-05 22:21:03.000000000 +0200 @@ -0,0 +1,22 @@ +--- src/Makefile.in.orig 2006-11-16 18:50:23.000000000 +0100 ++++ src/Makefile.in 2010-09-05 22:20:46.000000000 +0200 +@@ -62,8 +62,8 @@ + DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) + depcomp = $(SHELL) $(top_srcdir)/depcomp + am__depfiles_maybe = depfiles +-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ +- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) ++COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(AM_CPPFLAGS) \ ++ $(AM_CFLAGS) $(CFLAGS) $(INCLUDES) $(CPPFLAGS) + CCLD = $(CC) + LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ + SOURCES = $(xvidcap_SOURCES) +@@ -347,7 +347,7 @@ + -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) + xvidcap$(EXEEXT): $(xvidcap_OBJECTS) $(xvidcap_DEPENDENCIES) + @rm -f xvidcap$(EXEEXT) +- $(LINK) $(xvidcap_LDFLAGS) $(xvidcap_OBJECTS) $(xvidcap_LDADD) $(LIBS) ++ $(LINK) $(xvidcap_LDFLAGS) $(xvidcap_OBJECTS) $(LIBS) $(xvidcap_LDADD) + + mostlyclean-compile: + -rm -f *.$(OBJEXT) diff -urN sysutils/xvidcap.orig/pkg-plist sysutils/xvidcap/pkg-plist --- sysutils/xvidcap.orig/pkg-plist 2008-11-22 19:34:47.000000000 +0100 +++ sysutils/xvidcap/pkg-plist 2010-09-05 22:31:31.000000000 +0200 @@ -125,10 +125,6 @@ share/gnome/help/xvidcap/it/figures/xvidcap-main-ctrl.png share/gnome/help/xvidcap/it/figures/xvidcap-warning.png share/gnome/help/xvidcap/it/xvidcap.xml -share/locale/de/LC_MESSAGES/xvidcap.mo -share/locale/en/LC_MESSAGES/xvidcap.mo -share/locale/es/LC_MESSAGES/xvidcap.mo -share/locale/it/LC_MESSAGES/xvidcap.mo share/omf/xvidcap/xvidcap-C.omf share/omf/xvidcap/xvidcap-de.omf share/omf/xvidcap/xvidcap-es.omf --- xvidcap.diff ends here --- Regards, -- Th. Thomas.
On Sunday 05 September 2010 23:16:14 Thierry Thomas wrote: > > Here it is. I added ``--disable-muxer=v4l --disable-muxer=v4l2'' to the > > configure options for ffmpeg and reordered LDFLAGS (two lines down) > > moving the ffmpeg includes first (so it will build when ffmpeg > > installed). > > For some reason, it does not build on my machine when the external > ffmpeg is installed. To fix it, I had to modify your patches. > > Hereunder is the version working here, with or without ffmpeg; could you > please check if it's still OK for you? It builds fine on my end, with and without ffmpeg.
thierry 2010-09-06 05:28:51 UTC FreeBSD ports repository Modified files: sysutils/xvidcap Makefile pkg-plist sysutils/xvidcap/files patch-configure patch-ffmpeg_configure Added files: sysutils/xvidcap/files patch-ffmpeg_Makefile patch-ffmpeg_libavcodec_cabac.h patch-ffmpeg_libavformat_grab-bktr.c patch-src_Makefile.in Log: Fix installation when the external ffmeg is installed, and fix on amd64. PR: ports/150083 Submitted by: David Naylor <naylor.b.david (at) gmail.com> Revision Changes Path 1.33 +4 -4 ports/sysutils/xvidcap/Makefile 1.4 +171 -4 ports/sysutils/xvidcap/files/patch-configure 1.1 +25 -0 ports/sysutils/xvidcap/files/patch-ffmpeg_Makefile (new) 1.2 +20 -2 ports/sysutils/xvidcap/files/patch-ffmpeg_configure 1.1 +12 -0 ports/sysutils/xvidcap/files/patch-ffmpeg_libavcodec_cabac.h (new) 1.1 +16 -0 ports/sysutils/xvidcap/files/patch-ffmpeg_libavformat_grab-bktr.c (new) 1.1 +22 -0 ports/sysutils/xvidcap/files/patch-src_Makefile.in (new) 1.5 +0 -4 ports/sysutils/xvidcap/pkg-plist _______________________________________________ cvs-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/cvs-all To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
State Changed From-To: feedback->closed Committed, thanks!
State Changed From-To: open->feedback Hello, The reported problems are not specific to FreeBSD. Unfortunately, xvidcap depends on ffmpeg, which often breaks its API, and upstream does not catches all these updates... You forgot to add your patch to this PR, or it has been eaten by GNATS! Anyway, I have a patch which upgrades the port to the latest version, and builds again the external ffmpeg: --- xvidcap.diff begins here --- diff -urN sysutils/xvidcap.orig/Makefile sysutils/xvidcap/Makefile --- sysutils/xvidcap.orig/Makefile 2010-06-15 21:02:41.000000000 +0200 +++ sysutils/xvidcap/Makefile 2010-08-31 23:38:19.000000000 +0200 @@ -6,47 +6,59 @@ # PORTNAME= xvidcap -DISTVERSION= 1.1.4p1 -PORTREVISION= 8 +PORTVERSION= 1.1.7 PORTEPOCH= 1 CATEGORIES= sysutils multimedia -MASTER_SITES= SF/${PORTNAME}/OldFiles +MASTER_SITES= SF MAINTAINER= thierry@FreeBSD.org COMMENT= Capture your X display to individual frames or MPEG video -BUILD_DEPENDS= rarian-sk-config:${PORTSDIR}/textproc/rarian +BUILD_DEPENDS= scrollkeeper-config:${PORTSDIR}/textproc/rarian + docbook2man:${PORTSDIR}/textproc/docbook2X xml2po:${PORTSDIR}/textproc/gnome-doc-utils - texi2html:${PORTSDIR}/textproc/texi2html -# To be reactivated when ffmpeg-devel will install libswscale. -#LIB_DEPENDS= avutil.1:${PORTSDIR}/multimedia/ffmpeg-devel -LIB_DEPENDS= mp3lame.0:${PORTSDIR}/audio/lame -RUN_DEPENDS= animate:${PORTSDIR}/graphics/ImageMagick + ${LOCALBASE}/include/X11/extensions/shmproto.h:${PORTSDIR}/x11/xextproto +LIB_DEPENDS= avutil.1:${PORTSDIR}/multimedia/ffmpeg + mp3lame.0:${PORTSDIR}/audio/lame +RUN_DEPENDS= animate:${PORTSDIR}/graphics/ImageMagick + dbus-daemon:${PORTSDIR}/devel/dbus + docbook2man:${PORTSDIR}/textproc/docbook2X + xml2po:${PORTSDIR}/textproc/gnome-doc-utils + +LICENSE= GPLv3 GNU_CONFIGURE= yes -# Remove MAKE="${GMAKE}" after ffmpeg-devel's upgrade -CONFIGURE_ENV= CFLAGS="${CFLAGS} -I${LOCALBASE}/include" - LDFLAGS="-L${LOCALBASE}/lib" - MAKE="${GMAKE}" -CONFIGURE_ARGS= -with-forced-embedded-ffmpeg # To be removed after ffmpeg-devel's upgrade +CONFIGURE_ENV= CFLAGS="${CFLAGS} -I${LOCALBASE}/include ${DDEBUG}" + LDFLAGS="-L${LOCALBASE}/lib" + DOCBOOK2X_MAN=${LOCALBASE}/bin/docbook2man +CONFIGURE_ARGS= --without-forced-embedded-ffmpeg -USE_GMAKE= yes # To be removed after ffmpeg-devel's upgrade -USE_GNOME= glib20 libglade2 +USE_GMAKE= yes +USE_GNOME= glib20 libglade2 pkgconfig USE_GETTEXT= yes -USE_XORG= x11 xmu +USE_XORG= x11 xmu ice xfixes xdamage INSTALLS_OMF= yes .if !defined(CFLAGS) || ${CFLAGS:M-fno-strict-aliasing*} == "" CFLAGS+= -O2 -fno-strict-aliasing .endif +.if defined(WITH_DEBUG) +DDEBUG= -DDEBUG +.endif + PORTDOCS= AUTHORS ChangeLog README NULLDOCS= COPYING +MANLANG= "" de es it MAN1= xvidcap.1 +MAN1_DE= xvidcap-dbus-client.1 +MAN1_EN= xvidcap-dbus-client.1 pre-configure: - ${REINPLACE_CMD} -e 's|-lpthread|${PTHREAD_LIBS}|g' ${WRKSRC}/configure + ${REINPLACE_CMD} -e 's|-lpthread|${PTHREAD_LIBS}|g' + -e 's|avcodec_decode_audio|avcodec_decode_audio2|g' + ${WRKSRC}/configure .if defined(NOPORTDOCS) ${REINPLACE_CMD} -e 's|pkgdataDATA install-xvidcapdocDATA|pkgdataDATA|' ${WRKSRC}/Makefile.in diff -urN sysutils/xvidcap.orig/distinfo sysutils/xvidcap/distinfo --- sysutils/xvidcap.orig/distinfo 2006-11-18 15:04:51.000000000 +0100 +++ sysutils/xvidcap/distinfo 2010-08-29 22:49:22.000000000 +0200 @@ -1,3 +1,3 @@ -MD5 (xvidcap-1.1.4p1.tar.gz) = 35a038dba807f6e09f1d9dd2bc0c5719 -SHA256 (xvidcap-1.1.4p1.tar.gz) = 861fdb75e5f78de9f160f6c475a32389d825227292b33a976cbc12e0446324bf -SIZE (xvidcap-1.1.4p1.tar.gz) = 4006788 +MD5 (xvidcap-1.1.7.tar.gz) = b39a682d3ef9fcbf424af771936780e2 +SHA256 (xvidcap-1.1.7.tar.gz) = 154622801e8d5e91b834e7707e9e1cc65cf20d0161f6e0323bc3bf0efd85195d +SIZE (xvidcap-1.1.7.tar.gz) = 4789924 diff -urN sysutils/xvidcap.orig/files/patch-configure sysutils/xvidcap/files/patch-configure --- sysutils/xvidcap.orig/files/patch-configure 2006-11-01 00:51:16.000000000 +0100 +++ sysutils/xvidcap/files/patch-configure 2010-08-29 22:53:14.000000000 +0200 @@ -1,6 +1,6 @@ ---- configure.orig Mon Oct 30 09:11:11 2006 -+++ configure Tue Oct 31 19:26:30 2006 -@@ -9078,7 +9078,7 @@ +--- configure.orig 2008-07-09 09:28:25.000000000 +0200 ++++ configure 2010-08-29 22:49:50.000000000 +0200 +@@ -9978,7 +9978,7 @@ echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS @@ -9,7 +9,7 @@ cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF -@@ -9140,7 +9140,7 @@ +@@ -10038,7 +10038,7 @@ #define HAVE_LIBXMU 1 _ACEOF @@ -17,13 +17,4 @@ + LIBS="-L$x_libraries -lXmu $LIBS" else - unset ac_cv_lib_Xmu_XmuClientWindow; echo "Couldn't find libXmu in LD_LIBRARY_PATH, checking X11 paths"; echo "$as_me:$LINENO: checking for XmuClientWindow in -lXmu" >&5 -@@ -9513,7 +9513,7 @@ - # if cache empty (not tested or failed) and want static avcodec (then it failed) ... - if ( `test ( ( x${ac_cv_lib_avutil_av_rescale+set} = x ) -a ( x$static_avutil = xyes ) )` ) ; then - # build embedded ffmpeg -- echo "${MAKE-make}-ing prerequisite ffmpeg libraries" && ( cd ./ffmpeg/ && ./configure --cc=${CC} --enable-gpl ${ac_my_ffmpeg_cfg_lame_switch} --enable-pthreads --enable-swscaler --disable-ffserver --disable-ffplay && ln -s libavcodec/avcodec.h && ln -s libavformat/avformat.h && ln -s libavformat/avio.h && ln -s libavformat/rt*.h ./ && ln -s libavutil/common.h ./ && ln -s libavutil/avutil.h ./ && ln -s libavutil/mathematics.h ./ && ln -s libavutil/int*.h ./ && ln -s libavutil/rational.h ./ && ln -s libswscale/swscale.h ./ && ln -s libswscale/rgb2rgb.h . && ${MAKE-make} ) -+ echo "${MAKE-make}-ing prerequisite ffmpeg libraries" && ( cd ./ffmpeg/ && ./configure --cc=${CC} --extra-libs=-lm --disable-opts --enable-gpl ${ac_my_ffmpeg_cfg_lame_switch} --enable-pthreads --enable-swscaler --disable-ffserver --disable-ffplay && ln -s libavcodec/avcodec.h && ln -s libavformat/avformat.h && ln -s libavformat/avio.h && ln -s libavformat/rt*.h ./ && ln -s libavutil/common.h ./ && ln -s libavutil/avutil.h ./ && ln -s libavutil/mathematics.h ./ && ln -s libavutil/int*.h ./ && ln -s libavutil/rational.h ./ && ln -s libswscale/swscale.h ./ && ln -s libswscale/rgb2rgb.h . && ${MAKE-make} ) - #echo "${MAKE-make}-ing prerequisite ffmpeg libraries" && ( cd ./ffmpeg/ && ./configure --cc=${CC} ${ac_my_ffmpeg_cfg_lame_switch} --enable-pthreads --disable-ffserver --disable-ffplay && ln -s libavcodec/avcodec.h && ln -s libavformat/avformat.h && ln -s libavformat/avio.h && ln -s libavformat/rt*.h ./ && ln -s libavutil/common.h ./ && ln -s libavutil/avutil.h ./ && ln -s libavutil/mathematics.h ./ && ln -s libavutil/int*.h ./ && ln -s libavutil/rational.h ./ && ${MAKE-make} ) - # try to link it statically, or reset cache, set static_avcodec=no - top_srcdir=`pwd` + unset ac_cv_lib_Xmu_XmuClientWindow; echo "Couldn't find libXmu in LD_LIBRARY_PATH, checking X11 paths"; { echo "$as_me:$LINENO: checking for XmuClientWindow in -lXmu" >&5 diff -urN sysutils/xvidcap.orig/files/patch-ffmpeg_configure sysutils/xvidcap/files/patch-ffmpeg_configure --- sysutils/xvidcap.orig/files/patch-ffmpeg_configure 2006-11-01 00:51:16.000000000 +0100 +++ sysutils/xvidcap/files/patch-ffmpeg_configure 2010-08-29 22:58:07.000000000 +0200 @@ -1,21 +1,19 @@ ---- ffmpeg/configure.orig Wed Oct 25 21:31:11 2006 -+++ ffmpeg/configure Mon Oct 30 23:32:55 2006 -@@ -556,7 +556,7 @@ - audio_oss="yes" - dv1394="no" - make="gmake" --add_cflags "-pthread" -+add_cflags "-fomit-frame-pointer" - ;; - GNU/kFreeBSD) - v4l="no" -@@ -1514,9 +1514,6 @@ +--- ffmpeg/configure.orig 2008-05-02 17:22:48.000000000 +0200 ++++ ffmpeg/configure 2010-08-29 22:57:45.000000000 +0200 +@@ -1096,6 +1096,7 @@ + ;; + freebsd) + disable need_memalign ++ add_cflags "-DPIC -fomit-frame-pointer" + ;; + bsd/os) + osextralibs="-lpoll -lgnugetopt" +@@ -1768,8 +1769,6 @@ check_cflags -Wall check_cflags -Wno-switch check_cflags -Wdisabled-optimization -check_cflags -Wpointer-arith -check_cflags -Wredundant-decls --check_cflags -Winline - - # add some linker flags - check_ldflags '-Wl,-rpath-link,$(BUILD_ROOT)/libavcodec' '-Wl,-rpath-link,$(BUILD_ROOT)/libavformat' '-Wl,-rpath-link,$(BUILD_ROOT)/libavutil' + check_cflags -Wno-pointer-sign + check_cflags -Wcast-qual + check_cflags -Wwrite-strings diff -urN sysutils/xvidcap.orig/files/patch-src_capture.c sysutils/xvidcap/files/patch-src_capture.c --- sysutils/xvidcap.orig/files/patch-src_capture.c 1970-01-01 01:00:00.000000000 +0100 +++ sysutils/xvidcap/files/patch-src_capture.c 2010-08-30 00:01:05.000000000 +0200 @@ -0,0 +1,11 @@ +--- ./src/capture.c.orig 2008-05-26 00:01:53.000000000 +0200 ++++ ./src/capture.c 2010-08-30 00:00:37.000000000 +0200 +@@ -65,7 +65,7 @@ + #include <sys/ipc.h> + #include <sys/shm.h> + #include <X11/extensions/XShm.h> +-#include <X11/extensions/shmstr.h> ++#include <X11/extensions/shmproto.h> + #ifndef SOLARIS + #include <X11/extensions/extutil.h> + #endif // SOLARIS diff -urN sysutils/xvidcap.orig/files/patch-src_gnome_options.c sysutils/xvidcap/files/patch-src_gnome_options.c --- sysutils/xvidcap.orig/files/patch-src_gnome_options.c 1970-01-01 01:00:00.000000000 +0100 +++ sysutils/xvidcap/files/patch-src_gnome_options.c 2010-08-31 00:06:10.000000000 +0200 @@ -0,0 +1,14 @@ +--- src/gnome_options.c.orig 2008-05-26 00:01:54.000000000 +0200 ++++ src/gnome_options.c 2010-08-31 00:05:54.000000000 +0200 +@@ -1012,9 +1012,9 @@ + #else + 0, + #endif // USE_FFMPEG +- sf_t_au_codec + #ifdef HAVE_FFMPEG_AUDIO +- , mf_t_au_codec ++ sf_t_au_codec, ++ mf_t_au_codec + #else + , 0 + #endif // HAVE_FFMPEG_AUDIO diff -urN sysutils/xvidcap.orig/files/patch-src_main.c sysutils/xvidcap/files/patch-src_main.c --- sysutils/xvidcap.orig/files/patch-src_main.c 1970-01-01 01:00:00.000000000 +0100 +++ sysutils/xvidcap/files/patch-src_main.c 2010-08-30 22:15:28.000000000 +0200 @@ -0,0 +1,12 @@ +--- src/main.c.orig 2008-05-26 00:01:54.000000000 +0200 ++++ src/main.c 2010-08-30 22:15:02.000000000 +0200 +@@ -217,9 +217,6 @@ + + if (app) + xvc_appdata_free (app); +-#ifdef USE_FFMPEG +- av_free_static (); +-#endif + } + + /** diff -urN sysutils/xvidcap.orig/files/patch-src_xtoffmpeg.c sysutils/xvidcap/files/patch-src_xtoffmpeg.c --- sysutils/xvidcap.orig/files/patch-src_xtoffmpeg.c 1970-01-01 01:00:00.000000000 +0100 +++ sysutils/xvidcap/files/patch-src_xtoffmpeg.c 2010-08-31 22:51:48.000000000 +0200 @@ -0,0 +1,81 @@ +--- src/xtoffmpeg.c.orig 2008-05-26 00:01:54.000000000 +0200 ++++ src/xtoffmpeg.c 2010-08-31 22:51:41.000000000 +0200 +@@ -61,7 +61,7 @@ + #include <ffmpeg/avdevice.h> + //#include <ffmpeg/dsputil.h> + #include <ffmpeg/swscale.h> +-#include <ffmpeg/rgb2rgb.h> ++#include <ffmpeg/pixfmt.h> + #include <ffmpeg/fifo.h> + #define swscale_isRGB(x) ((x)==PIX_FMT_BGR32 || (x)==PIX_FMT_RGB24 + || (x)==PIX_FMT_RGB565 || (x)==PIX_FMT_RGB555 +@@ -96,7 +96,7 @@ + || (x)==PIX_FMT_YUVJ420P || (x)==PIX_FMT_YUVJ422P + || (x)==PIX_FMT_YUVJ444P) + +-#define PIX_FMT_ARGB32 PIX_FMT_RGBA32 /* this is just my personal ++#define PIX_FMT_ARGB32 PIX_FMT_RGB32 /* this is just my personal + * convenience */ + + /* +@@ -391,7 +391,7 @@ + } + au_out_st->st->codec = au_c; + +- if (av_fifo_init (&au_out_st->fifo, 2 * MAX_AUDIO_PACKET_SIZE)) { ++ if (av_fifo_alloc (2 * MAX_AUDIO_PACKET_SIZE)) { + fprintf (stderr, + _("%s %s: Can't initialize fifo for audio recordingn"), + DEBUGFILE, DEBUGFUNCTION); +@@ -549,10 +549,10 @@ + // now encode as many frames as possible + if (enc->frame_size > 1) { + // output resampled raw samples +- av_fifo_write (&ost->fifo, buftmp, size_out); ++ av_fifo_generic_write (&ost->fifo, buftmp, size_out, NULL); + frame_bytes = enc->frame_size * 2 * enc->channels; + +- while (av_fifo_read (&ost->fifo, audio_buf, frame_bytes) == 0) { ++ while (av_fifo_generic_read (&ost->fifo, frame_bytes, NULL, audio_buf) == 0) { + AVPacket pkt; + + // initialize audio output packet +@@ -670,7 +670,7 @@ + int fs_tmp = enc->frame_size; + + enc->frame_size = fifo_bytes / (2 * enc->channels); +- if (av_fifo_read (&au_out_st->fifo, (uint8_t *) samples, fifo_bytes) == ++ if (av_fifo_generic_read (&au_out_st->fifo, fifo_bytes, NULL, (uint8_t *) samples) == + 0) { + ret = + avcodec_encode_audio (enc, bit_buffer, bit_buffer_size, +@@ -1248,7 +1248,7 @@ + st->codec->flags |= CODEC_FLAG2_FAST; + // there is no trellis quantiser in libav* for mjpeg + if (st->codec->codec_id != CODEC_ID_MJPEG) +- st->codec->flags |= CODEC_FLAG_TRELLIS_QUANT; ++ st->codec->trellis = 1; + st->codec->flags &= ~CODEC_FLAG_OBMC; + // some formats want stream headers to be seperate + if (oc->oformat->flags & AVFMT_GLOBALHEADER) +@@ -1339,7 +1339,9 @@ + } + break; + case 32: +- if (c_info->alpha_mask == 0xFF000000 && image->green_mask == 0xFF00) { ++ if ((c_info->alpha_mask == 0xFF000000 || c_info->alpha_mask == 0) && ++ (image->red_mask == 0xFF0000 || image->red_mask == 0xFF) && ++ image->green_mask == 0xFF00) { + // byte order is relevant here, not endianness endianness is + // handled by avcodec, but atm no such thing as having ABGR, + // instead of ARGB in a word. Since we need this for +@@ -1707,7 +1709,8 @@ + + /** todo test if the special image conversion for Solaris is still + * necessary */ +- if (input_pixfmt == PIX_FMT_ARGB32 && job->c_info->alpha_mask == 0xFF000000 ++ if (input_pixfmt == PIX_FMT_ARGB32 && ++ (job->c_info->alpha_mask == 0xFF000000 || job->c_info->alpha_mask == 0) + && image->red_mask == 0xFF && image->green_mask == 0xFF00 + && image->blue_mask == 0xFF0000) { + myABGR32toARGB32 (image); diff -urN sysutils/xvidcap.orig/pkg-plist sysutils/xvidcap/pkg-plist --- sysutils/xvidcap.orig/pkg-plist 2008-11-22 19:34:47.000000000 +0100 +++ sysutils/xvidcap/pkg-plist 2010-08-31 07:14:49.000000000 +0200 @@ -1,5 +1,6 @@ bin/xvidcap share/applications/xvidcap.desktop +share/dbus-1/services/net.jarre_de_the.Xvidcap.service share/gnome/help/xvidcap/C/figures/back-button.png share/gnome/help/xvidcap/C/figures/edit-button.png share/gnome/help/xvidcap/C/figures/filename-button.png @@ -16,6 +17,7 @@ share/gnome/help/xvidcap/C/figures/menu-quit.png share/gnome/help/xvidcap/C/figures/menu-save-prefs.png share/gnome/help/xvidcap/C/figures/menu-sf.png +share/gnome/help/xvidcap/C/figures/menu-show-frame.png share/gnome/help/xvidcap/C/figures/menu.png share/gnome/help/xvidcap/C/figures/pause-toggle.png share/gnome/help/xvidcap/C/figures/prefs-commands.png @@ -47,6 +49,7 @@ share/gnome/help/xvidcap/de/figures/menu-quit.png share/gnome/help/xvidcap/de/figures/menu-save-prefs.png share/gnome/help/xvidcap/de/figures/menu-sf.png +share/gnome/help/xvidcap/de/figures/menu-show-frame.png share/gnome/help/xvidcap/de/figures/menu.png share/gnome/help/xvidcap/de/figures/pause-toggle.png share/gnome/help/xvidcap/de/figures/prefs-commands.png --- xvidcap.diff ends here --- Unfortunately, I cannot commit it as-is, because recording fails on my machine with the following error: capture.c captureFrameToImageSHM(): Entering The program 'xvidcap' received an X Window System error. This probably reflects a bug in the program. The error was 'BadAccess (attempt to access private resource denied)'. (Details: serial 6073 error_code 10 request_code 138 minor_code 1) (Note to programmers: normally, X errors are reported asynchronously; that is, you will receive the error a while after causing it. To debug your program, run it with the --sync command line option to change this behavior. You can then get a meaningful backtrace from your debugger if you break on the gdk_x_error() function.) Could you please test it yourself, to check if you get the same error? Hints: - it fails in XShmGetImage; - it can be built WITH_DEBUG=yes and gdb + break at capture.c:957 - also test with LIBXCB_ALLOW_SLOPPY_LOCK=1 Regards, -- Th. Thomas