OSDN Git Service

[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 c942bf7..1cc2c61 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;
        }