diff options
| author | Paul Elder <paul.elder@ideasonboard.com> | 2018-08-28 02:17:15 -0400 | 
|---|---|---|
| committer | Paul Elder <paul.elder@ideasonboard.com> | 2019-02-06 01:49:31 -0500 | 
| commit | bde4deb8803026ec69e11cd380d77bf5d33ee623 (patch) | |
| tree | 779af4610ffc29499b7d4b672c7a5e75c4cadeb2 /lib/uvc.c | |
| parent | 28c16c6dc72f4c41307f1a317860791c595cdcd6 (diff) | |
stream, uvc: add uvc_stream_set_frame_rate
We would like to be able to set the frame rate of the video source of a
stream. This patch adds such a function to set the source's frame rate
from the stream. The frame rate is set right after the format is set.
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>
Diffstat (limited to 'lib/uvc.c')
| -rw-r--r-- | lib/uvc.c | 5 | 
1 files changed, 5 insertions, 0 deletions
| @@ -269,6 +269,7 @@ uvc_events_process_data(struct uvc_device *dev,  		const struct uvc_function_config_format *format;  		const struct uvc_function_config_frame *frame;  		struct v4l2_pix_format pixfmt; +		unsigned int fps;  		format = &dev->fc->streaming.formats[target->bFormatIndex-1];  		frame = &format->frames[target->bFrameIndex-1]; @@ -286,6 +287,10 @@ uvc_events_process_data(struct uvc_device *dev,  			pixfmt.sizeimage = dev->maxsize * 1.5;  		uvc_stream_set_format(dev->stream, &pixfmt); + +		/* fps is guaranteed to be non-zero and thus valid. */ +		fps = 1.0 / (target->dwFrameInterval / 10000000.0); +		uvc_stream_set_frame_rate(dev->stream, fps);  	}  } | 
