From 006aa232ac92e3ccde06a3b1536d6e02e8496766 Mon Sep 17 00:00:00 2001 From: Daniel Scally Date: Mon, 16 Jan 2023 07:58:12 +0000 Subject: libcamera: Add new libcamera source Provide the integration of a libcamera source within uvc-gadget. This adds C++ support to the project and adds libcamera as an optional external dependency. Reviewed-by: Kieran Bingham Signed-off-by: Kieran Bingham Signed-off-by: Daniel Scally --- include/uvcgadget/libcamera-source.h | 29 +++++++++++++++++++++++++++++ include/uvcgadget/meson.build | 1 + 2 files changed, 30 insertions(+) create mode 100644 include/uvcgadget/libcamera-source.h (limited to 'include') diff --git a/include/uvcgadget/libcamera-source.h b/include/uvcgadget/libcamera-source.h new file mode 100644 index 0000000..8e08dcd --- /dev/null +++ b/include/uvcgadget/libcamera-source.h @@ -0,0 +1,29 @@ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ +/* + * libcamera video source + * + * Copyright (C) 2022 Ideas on Board Oy. + * Copyright (C) 2022 Kieran Bingham + * + * Contact: Kieran Bingham + */ +#ifndef __LIBCAMERA_SOURCE_H__ +#define __LIBCAMERA_SOURCE_H__ + +#include "video-source.h" + +struct events; +struct video_source; + +#ifdef __cplusplus +extern "C" { +#endif + +struct video_source *libcamera_source_create(const char *devname); +void libcamera_source_init(struct video_source *src, struct events *events); + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif /* __LIBCAMERA_SOURCE_H__ */ diff --git a/include/uvcgadget/meson.build b/include/uvcgadget/meson.build index d5aaf17..a9e4384 100644 --- a/include/uvcgadget/meson.build +++ b/include/uvcgadget/meson.build @@ -3,6 +3,7 @@ uvcgadget_public_headers = files([ 'configfs.h', 'events.h', + 'libcamera-source.h', 'list.h', 'stream.h', 'timer.h', -- cgit v1.2.3