diff options
author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2018-06-09 14:29:41 +0300 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2018-06-12 21:19:58 +0300 |
commit | 2bb0cfbf8137e02cc32aae3b36f85ef7300e8936 (patch) | |
tree | 42899dbeb32459722d27606bd79848a25a8c5e16 /lib/video-source.c | |
parent | df21a9349a256fd2bea1f8701af198b312682d39 (diff) |
Split UVC gadget into a library and test application
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>
Diffstat (limited to 'lib/video-source.c')
-rw-r--r-- | lib/video-source.c | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/lib/video-source.c b/lib/video-source.c new file mode 100644 index 0000000..06092f5 --- /dev/null +++ b/lib/video-source.c @@ -0,0 +1,62 @@ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ +/* + * Abstract video source + * + * Copyright (C) 2018 Laurent Pinchart + * + * Contact: Laurent Pinchart <laurent.pinchart@ideasonboard.com> + */ + +#include "video-source.h" + +void video_source_set_buffer_handler(struct video_source *src, + video_source_buffer_handler_t handler, + void *data) +{ + src->handler = handler; + src->handler_data = data; +} + +void video_source_destroy(struct video_source *src) +{ + if (src) + src->ops->destroy(src); +} + +int video_source_set_format(struct video_source *src, + struct v4l2_pix_format *fmt) +{ + return src->ops->set_format(src, fmt); +} + +int video_source_alloc_buffers(struct video_source *src, unsigned int nbufs) +{ + return src->ops->alloc_buffers(src, nbufs); +} + +int video_source_export_buffers(struct video_source *src, + struct video_buffer_set **buffers) +{ + return src->ops->export_buffers(src, buffers); +} + +int video_source_free_buffers(struct video_source *src) +{ + return src->ops->free_buffers(src); +} + +int video_source_stream_on(struct video_source *src) +{ + return src->ops->stream_on(src); +} + +int video_source_stream_off(struct video_source *src) +{ + return src->ops->stream_off(src); +} + +int video_source_queue_buffer(struct video_source *src, + struct video_buffer *buf) +{ + return src->ops->queue_buffer(src, buf); +} |