From a04e11ca5bbf2a44539ee14e3077358a21262ba2 Mon Sep 17 00:00:00 2001 From: Todor Tomov Date: Wed, 30 Jun 2010 10:55:43 +0300 Subject: V4L2 subdev frame interval support Extend the V4L2 media bus format syntax to support an optional frame interval value. If specified, the frame interval is set on the subdev. Signed-off-by: Todor Tomov Signed-off-by: Laurent Pinchart --- subdev.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'subdev.c') diff --git a/subdev.c b/subdev.c index ac14324..40b2506 100644 --- a/subdev.c +++ b/subdev.c @@ -178,3 +178,23 @@ int v4l2_subdev_set_crop(struct media_entity *entity, struct v4l2_rect *rect, return 0; } +int v4l2_subdev_set_frame_interval(struct media_entity *entity, + struct v4l2_fract *interval) +{ + struct v4l2_subdev_frame_interval ival; + int ret; + + ret = v4l2_subdev_open(entity); + if (ret < 0) + return ret; + + memset(&ival, 0, sizeof(ival)); + ival.interval = *interval; + + ret = ioctl(entity->fd, VIDIOC_SUBDEV_S_FRAME_INTERVAL, &ival); + if (ret < 0) + return -errno; + + *interval = ival.interval; + return 0; +} -- cgit v1.2.3