video-source: add video_source_set_frame_rate
authorPaul Elder <paul.elder@ideasonboard.com>
Tue, 28 Aug 2018 06:12:49 +0000 (02:12 -0400)
committerPaul Elder <paul.elder@ideasonboard.com>
Wed, 6 Feb 2019 06:49:24 +0000 (01:49 -0500)
We would like to be able to set the frame rate for video sources. This
patch adds a set_frame_rate op for video sources, along with a wrapper
to call video sources' set_frame_rate functions.

Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
include/uvcgadget/video-source.h
lib/video-source.c

index fffcba3..60f7ddd 100644 (file)
@@ -18,6 +18,7 @@ struct video_source;
 struct video_source_ops {
        void(*destroy)(struct video_source *src);
        int(*set_format)(struct video_source *src, struct v4l2_pix_format *fmt);
+       int(*set_frame_rate)(struct video_source *src, unsigned int fps);
        int(*alloc_buffers)(struct video_source *src, unsigned int nbufs);
        int(*export_buffers)(struct video_source *src,
                             struct video_buffer_set **buffers);
@@ -43,6 +44,7 @@ void video_source_set_buffer_handler(struct video_source *src,
 void video_source_destroy(struct video_source *src);
 int video_source_set_format(struct video_source *src,
                            struct v4l2_pix_format *fmt);
+int video_source_set_frame_rate(struct video_source *src, unsigned int fps);
 int video_source_alloc_buffers(struct video_source *src, unsigned int nbufs);
 int video_source_export_buffers(struct video_source *src,
                                struct video_buffer_set **buffers);
index 06092f5..5520b95 100644 (file)
@@ -29,6 +29,11 @@ int video_source_set_format(struct video_source *src,
        return src->ops->set_format(src, fmt);
 }
 
+int video_source_set_frame_rate(struct video_source *src, unsigned int fps)
+{
+       return src->ops->set_frame_rate(src, fps);
+}
+
 int video_source_alloc_buffers(struct video_source *src, unsigned int nbufs)
 {
        return src->ops->alloc_buffers(src, nbufs);