[media] vivid: report only one frameinterval
authorHans Verkuil <hverkuil@xs4all.nl>
Fri, 13 Mar 2015 16:22:07 +0000 (13:22 -0300)
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>
Fri, 3 Apr 2015 00:10:11 +0000 (21:10 -0300)
The vivid driver reports a range of frame intervals for non-webcams, when in fact
the frame interval is fixed for those inputs as it depends on the DV timings or
standard. Just report the single discrete frame interval instead.

Caught by v4l2-compliance.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
drivers/media/platform/vivid/vivid-vid-cap.c

index c942bf7ac95a3292f12e0db47c03bb6b78cea247..1cc2c61e271de05b024144e806a729944ce3c72a 100644 (file)
@@ -1689,18 +1689,14 @@ int vidioc_enum_frameintervals(struct file *file, void *priv,
                return -EINVAL;
 
        if (!vivid_is_webcam(dev)) {
-               static const struct v4l2_fract step = { 1, 1 };
-
                if (fival->index)
                        return -EINVAL;
                if (fival->width < MIN_WIDTH || fival->width > MAX_WIDTH * MAX_ZOOM)
                        return -EINVAL;
                if (fival->height < MIN_HEIGHT || fival->height > MAX_HEIGHT * MAX_ZOOM)
                        return -EINVAL;
-               fival->type = V4L2_FRMIVAL_TYPE_CONTINUOUS;
-               fival->stepwise.min = tpf_min;
-               fival->stepwise.max = tpf_max;
-               fival->stepwise.step = step;
+               fival->type = V4L2_FRMIVAL_TYPE_DISCRETE;
+               fival->discrete = dev->timeperframe_vid_cap;
                return 0;
        }