summaryrefslogtreecommitdiff
path: root/lib/uvc.c
AgeCommit message (Collapse)Author
2022-11-22lib: uvc: Respond to control requests with dummy valuesDaniel Scally
Without a response, the host will assume there has been an error and throw a bunch of errors. The noise of those errors makes it difficult to see what's going on properly, so return a dummy response that silences the errors until the functionality is properly implemented. Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Signed-off-by: Daniel Scally <dan.scally@ideasonboard.com> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
2022-11-22lib: uvc: Add control names in output printsDaniel Scally
It's easier to see what's going on at a glance when the output is human-readable, so replace the control codes with their names. Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Signed-off-by: Daniel Scally <dan.scally@ideasonboard.com> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
2022-11-22lib: uvc: Drop maxsizeDaniel Scally
The maxsize field of struct uvc_device is probably unecessary even if it weren't currently fixed at 0. It's used to set dwMaxVideoFrameSize in addition to the sizeimage member of a struct v4l2_pix_fmt (multiplied in the latter instance by 1.5x). The documentary definitions for those two values are such that they should be identical though, so simply set dwMaxVideoFrameSize to width*height*2 (to maintain commonality with other UVC Video devices) and use that to set the sizeimage. Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Signed-off-by: Daniel Scally <dan.scally@ideasonboard.com> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
2019-02-06uvc: reply with max frame rate in response to UVC_GET_MAXPaul Elder
Previously, the interval rate that would be selected and replied to the host in response to UVC_GET_MAX, UVC_GET_MIN, and UVC_GET_DEF were all the same and were the first interval rate. Assuming the interval rates are sorted in ascending order, this means that UVC_GET_MAX would always yield the minimum interval rate. Modify the call to uvc_fill_streaming_control such that UVC_GET_MAX will yield the maximum interval rate. 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>
2019-02-06stream, uvc: add uvc_stream_set_frame_ratePaul Elder
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>
2018-06-12uvc: check ioctl return value for errorPaul Elder
There is code that is meant to check for the error of an ioctl, but the return variable that it checks isn't actually assigned from the ioctl. Assign the return value before checking it. Signed-off-by: Paul Elder <paul.elder@ideasonboard.com> [Fixed error message] Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2018-06-12lib: Relicense code under the LGPL-2.1+Laurent Pinchart
To allow usage of the UVC gadget library in closed-source or otherwise GPL-incompatible applications, relicense the library under the terms of the LGPL v2.1 or later, as published by the Free Software Foundation. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2018-06-12Update copyright dates and ownerLaurent Pinchart
Ideas on Board SPRL, the original copyright owner of the UVC gadget application code, has been dissolved. All company copyrights have been transferred to Laurent Pinchart. Update the copyright notices to accordingly. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2018-06-12Use SPDX headersLaurent Pinchart
Replace the boilerplate copyright headers with an SPDX header to ease license compliance. This doesn't change the license of any of the files. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2018-06-12Split UVC gadget into a library and test applicationLaurent Pinchart
Split the project into a UVC gadget library and a test application. To avoid rolling out a custom build system, switch to CMake. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>