Older videodev2.h lack the V4L2_CAP_DEVICE_CAPS define and the device_caps field in the v4l2_capability struct.
Even if Wine is built with --without-v4l2, this code section is compiled, because it is compiled in as long as the videodev2.h header is found.
Signed-off-by: Martin Storsjo martin@martin.st --- dlls/avicap32/avicap32_main.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/dlls/avicap32/avicap32_main.c b/dlls/avicap32/avicap32_main.c index 1c4170e239..9e2a99d4c7 100644 --- a/dlls/avicap32/avicap32_main.c +++ b/dlls/avicap32/avicap32_main.c @@ -129,9 +129,11 @@ static BOOL query_video_device(int devnum, char *name, int namesize, char *versi memset(&caps, 0, sizeof(caps)); if (xioctl(fd, VIDIOC_QUERYCAP, &caps) != -1) { BOOL isCaptureDevice; +#ifdef V4L2_CAP_DEVICE_CAPS if (caps.capabilities & V4L2_CAP_DEVICE_CAPS) isCaptureDevice = caps.device_caps & V4L2_CAP_VIDEO_CAPTURE; else +#endif isCaptureDevice = caps.capabilities & V4L2_CAP_VIDEO_CAPTURE; if (isCaptureDevice) { lstrcpynA(name, (char *)caps.card, namesize);
Older videodev2.h lack the V4L2_CAP_DEVICE_CAPS define and the device_caps field in the v4l2_capability struct.
Even if Wine is built with --without-v4l2, this code section is compiled, because it is compiled in as long as the videodev2.h header is found.
Signed-off-by: Martin Storsjo martin@martin.st --- dlls/qcap/v4l.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/dlls/qcap/v4l.c b/dlls/qcap/v4l.c index dcc5925164..f0875f7636 100644 --- a/dlls/qcap/v4l.c +++ b/dlls/qcap/v4l.c @@ -577,8 +577,10 @@ Capture * qcap_driver_init( IPin *pOut, USHORT card ) goto error; }
+#ifdef V4L2_CAP_DEVICE_CAPS if (caps.capabilities & V4L2_CAP_DEVICE_CAPS) caps.capabilities = caps.device_caps; +#endif
if (!(caps.capabilities & V4L2_CAP_VIDEO_CAPTURE)) {