]> granicus.if.org Git - strace/commitdiff
v4l2: fix build on systems with older kernel headers
authorDmitry V. Levin <ldv@altlinux.org>
Fri, 9 Jan 2015 04:53:19 +0000 (04:53 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Fri, 9 Jan 2015 04:53:19 +0000 (04:53 +0000)
* v4l2.c (print_v4l2_format_fmt): Do not use
V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY unless it is defined.
(v4l2_ioctl): Do not use VIDIOC_ENUM_FRAMESIZES and
VIDIOC_ENUM_FRAMEINTERVALS unless they are defined.

v4l2.c

diff --git a/v4l2.c b/v4l2.c
index 7d5a3facdcfe02b8fff31cd586300c5d907be5a0..b89928b4dc611b81f5f3789826f2302e480dd5b6 100644 (file)
--- a/v4l2.c
+++ b/v4l2.c
@@ -126,7 +126,9 @@ static void print_v4l2_format_fmt(const struct v4l2_format *f)
 
        /* TODO: Complete this switch statement */
        case V4L2_BUF_TYPE_VIDEO_OVERLAY:
+#if HAVE_DECL_V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY
        case V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY:
+#endif
                tprints("win={???}");
                break;
 
@@ -173,6 +175,7 @@ v4l2_ioctl(struct tcb *tcp, unsigned long code, long arg)
                return 1;
        }
 
+#ifdef VIDIOC_ENUM_FRAMESIZES
        case VIDIOC_ENUM_FRAMESIZES: /* decode on exit */ {
                struct v4l2_frmsizeenum s;
 
@@ -202,6 +205,7 @@ v4l2_ioctl(struct tcb *tcp, unsigned long code, long arg)
                tprints("}");
                return 1;
        }
+#endif /* VIDIOC_ENUM_FRAMESIZES */
 
        case VIDIOC_G_FMT:
        case VIDIOC_S_FMT:
@@ -450,6 +454,7 @@ v4l2_ioctl(struct tcb *tcp, unsigned long code, long arg)
                return 1;
        }
 
+#ifdef VIDIOC_ENUM_FRAMEINTERVALS
        case VIDIOC_ENUM_FRAMEINTERVALS: {
                struct v4l2_frmivalenum f;
 
@@ -480,6 +485,7 @@ v4l2_ioctl(struct tcb *tcp, unsigned long code, long arg)
                tprints("}");
                return 1;
        }
+#endif /* VIDIOC_ENUM_FRAMEINTERVALS */
 
        case VIDIOC_CROPCAP: {
                struct v4l2_cropcap c;