diff options
author | Todor Tomov <ttomov@mm-sol.com> | 2011-01-25 17:46:48 +0200 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2011-02-07 15:37:56 +0100 |
commit | 14ddd592a6fcba2ceb751c0d4b0a3b5d46f2a59f (patch) | |
tree | 6feac7bd38680179ddfd51c7724989fd352c9a42 | |
parent | 9b546182a4707fb2afe891a3eaa5ae804aa90ec8 (diff) |
Add v4l2_subdev_get_frame_interval()
Add function to get frame interval.
Signed-off-by: Todor Tomov <ttomov@mm-sol.com>
-rw-r--r-- | subdev.c | 20 | ||||
-rw-r--r-- | subdev.h | 17 |
2 files changed, 37 insertions, 0 deletions
@@ -145,6 +145,26 @@ int v4l2_subdev_set_crop(struct media_entity *entity, struct v4l2_rect *rect, return 0; } +int v4l2_subdev_get_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)); + + ret = ioctl(entity->fd, VIDIOC_SUBDEV_G_FRAME_INTERVAL, &ival); + if (ret < 0) + return -errno; + + *interval = ival.interval; + return 0; +} + int v4l2_subdev_set_frame_interval(struct media_entity *entity, struct v4l2_fract *interval) { @@ -125,6 +125,23 @@ int v4l2_subdev_set_crop(struct media_entity *entity, struct v4l2_rect *rect, unsigned int pad, enum v4l2_subdev_format_whence which); /** + * @brief Retrieve the frame interval on a sub-device. + * @param entity - subdev-device media entity. + * @param interval - frame interval to be filled. + * + * Retrieve the current frame interval on subdev @a entity and store it in the + * @a interval structure. + * + * Frame interval retrieving is usually supported only on devices at the + * beginning of video pipelines, such as sensors. + * + * @return 0 on success, or a negative error code on failure. + */ + +int v4l2_subdev_get_frame_interval(struct media_entity *entity, + struct v4l2_fract *interval); + +/** * @brief Set the frame interval on a sub-device. * @param entity - subdev-device media entity. * @param interval - frame interval. |