Add v4l2_subdev_get_frame_interval()
[media-ctl.git] / subdev.c
index 3a8e82a..3960d05 100644 (file)
--- a/subdev.c
+++ b/subdev.c
@@ -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)
 {