summaryrefslogtreecommitdiff
path: root/include/uvcgadget
AgeCommit message (Collapse)Author
2022-12-06list: Add list_next_entry()Daniel Scally
Lists are useful for more than just iteration! Add a macro to fetch just the next item in the list. Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Signed-off-by: Daniel Scally <dan.scally@ideasonboard.com>
2022-11-30lib/timer: Add timer infrastructureDaniel Scally
Some sources simply fill the buffers passed by the USB subsystem and return them as quickly as possible. Particularly with compressed formats operating at superspeed this rapidly results in unrealistic frame rates. Add infrastructure that allows us to define a specific framerate and introduce blocking calls that constrain those sources to the framerates expected by the host. Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Signed-off-by: Daniel Scally <dan.scally@ideasonboard.com>
2022-11-22jpg-source: add jpg source classPaul Elder
The jpg_source class is an implementation of the video_source class that streams a still jpg image as video. Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Signed-off-by: Paul Elder <paul.elder@ideasonboard.com> Signed-off-by: Daniel Scally <dan.scally@ideasonboard.com> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
2022-11-22test-source: add test source classPaul Elder
The test_source class is an implementation of the video_source class that generates a test pattern in userspace to provide video. We have some operations which are implemented as no-ops. To quiet the compiler warnings this causes, flag their arguments as unused. Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Signed-off-by: Paul Elder <paul.elder@ideasonboard.com> Signed-off-by: Daniel Scally <dan.scally@ideasonboard.com> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
2022-11-22video-source: add fill_bufferPaul Elder
We are preparing to allow video sources whose data is generated in userspace. To this end, add a fill_buffer function to video_source. Reviewed-by: Daniel Scally <dan.scally@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Signed-off-by: Paul Elder <paul.elder@ideasonboard.com> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
2022-11-22meson: Convert CMake to Meson build infrastructureKieran Bingham
Provide infrastructure to be able to build the uvc-gadget library as a shared object and an executable which links against this as a dependency to implment the reference 'uvc-gadget' application. All existing cmake infrastructure is removed. This removes custom glob support that was previously used by an early development for Android, which is expected to be re-added later when required. Reviewed-by: Daniel Scally <dan.scally@ideasonboard.com> Signed-off-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>
2019-02-06video-source: add video_source_set_frame_ratePaul Elder
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>
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>