Re: qcap: Fix compilation on older systems.
What does this patch do? libv4l1.h includes libv4l1-videodev.h which is a copy of linux/videodev.h. You should only need the one or the other. Are you saying there is a system where libv4l1.h is present but incomplete, and you need to include linux/videodev.h together with it? Thank you Damjan On Tue, Jan 15, 2013 at 6:47 AM, Dmitry Timoshkov <dmitry(a)baikal.ru> wrote:
--- dlls/qcap/v4l.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/dlls/qcap/v4l.c b/dlls/qcap/v4l.c index f5baaeb..2562c48 100644 --- a/dlls/qcap/v4l.c +++ b/dlls/qcap/v4l.c @@ -47,7 +47,8 @@ #endif #ifdef HAVE_LIBV4L1_H #include <libv4l1.h> -#elif defined(HAVE_LINUX_VIDEODEV_H) +#endif +#ifdef HAVE_LINUX_VIDEODEV_H #include <linux/videodev.h> #endif #ifdef HAVE_UNISTD_H -- 1.8.0.2
Damjan Jovanovic <damjan.jov(a)gmail.com> wrote:
What does this patch do? libv4l1.h includes libv4l1-videodev.h which is a copy of linux/videodev.h. You should only need the one or the other. Are you saying there is a system where libv4l1.h is present but incomplete, and you need to include linux/videodev.h together with it?
libv4l1.h is almost empty on old systems. -- Dmitry.
On Tue, 15 Jan 2013, Damjan Jovanovic wrote:
What does this patch do? libv4l1.h includes libv4l1-videodev.h which is a copy of linux/videodev.h. You should only need the one or the other. Are you saying there is a system where libv4l1.h is present but incomplete, and you need to include linux/videodev.h together with it?
Actually I'm running into this issue on my FreeBSD 8.1 VM: libv4l1.h does not have any of the VIDIOCS* defines. -- Francois Gouget <fgouget(a)free.fr> http://fgouget.free.fr/ The nice thing about meditation is that it makes doing nothing quite respectable -- Paul Dean
On Fri, Jan 18, 2013 at 4:45 AM, Francois Gouget <fgouget(a)free.fr> wrote:
On Tue, 15 Jan 2013, Damjan Jovanovic wrote:
What does this patch do? libv4l1.h includes libv4l1-videodev.h which is a copy of linux/videodev.h. You should only need the one or the other. Are you saying there is a system where libv4l1.h is present but incomplete, and you need to include linux/videodev.h together with it?
Actually I'm running into this issue on my FreeBSD 8.1 VM: libv4l1.h does not have any of the VIDIOCS* defines.
-- Francois Gouget <fgouget(a)free.fr> http://fgouget.free.fr/ The nice thing about meditation is that it makes doing nothing quite respectable -- Paul Dean
Yes, version 0.8.1 used by FreeBSD 8.2 relies on linux/videodev.h to already be present. We'll have to change our configure.in to use pkg-config to find libv4l1(.pc) and check its version is high enough. Want to get a patch in before the 1.4.2 release later today? I'll be too late. Damjan
On Fri, 18 Jan 2013, Damjan Jovanovic wrote: [...]
Yes, version 0.8.1 used by FreeBSD 8.2 relies on linux/videodev.h to already be present. We'll have to change our configure.in to use pkg-config to find libv4l1(.pc) and check its version is high enough.
Checking versions is generally the wrong approach. Instead a test for the present of one of the VIDIOCS* defines would be better. However V4L is used in two places in qcap, only one of which needs these. So it should probably be done separately from the V4L check.
Want to get a patch in before the 1.4.2 release later today? I'll be too late.
I won't have time either today. -- Francois Gouget <fgouget(a)free.fr> http://fgouget.free.fr/ Broadcast message : fin du monde dans cinq minutes, repentez vous !
participants (3)
-
Damjan Jovanovic -
Dmitry Timoshkov -
Francois Gouget