[libcamera-devel] [RFC PATCH] libcamera: base: Make message.h and mutex.h private

Kieran Bingham kieran.bingham at ideasonboard.com
Wed Aug 10 10:27:03 CEST 2022


Quoting Laurent Pinchart via libcamera-devel (2022-08-08 16:19:18)
> The message.h and mutex.h headers are not used in the libcamera public
> API. Make them private to avoid there usage in applications, and to
> prevent having to maintain them with a stable ABI.
> 
> As mutex.h is used by libcamerasrc, the GStreamer element must switch
> from the libcamera_public to the libcamera_private dependency.

Not used by public API == Private. So I don't think this is even RFC ;-)

Reviewed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>


However I'd still like to make -base more widely reusable sometime, But
then that needs to go alongside something that goes 'on top' of
libcamera too to support add on helpers ... (libcamera-top? still
waiting to complete the bikeshedding there before I create the library
heheh).



> Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> ---
>  include/libcamera/base/message.h | 2 ++
>  include/libcamera/base/mutex.h   | 2 ++
>  src/gstreamer/meson.build        | 2 +-
>  3 files changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/include/libcamera/base/message.h b/include/libcamera/base/message.h
> index 65572c7470e9..b939af6f79bb 100644
> --- a/include/libcamera/base/message.h
> +++ b/include/libcamera/base/message.h
> @@ -9,6 +9,8 @@
>  
>  #include <atomic>
>  
> +#include <libcamera/base/private.h>
> +
>  #include <libcamera/base/bound_method.h>
>  
>  namespace libcamera {
> diff --git a/include/libcamera/base/mutex.h b/include/libcamera/base/mutex.h
> index 2d23e49e4546..52441c55287a 100644
> --- a/include/libcamera/base/mutex.h
> +++ b/include/libcamera/base/mutex.h
> @@ -10,6 +10,8 @@
>  #include <condition_variable>
>  #include <mutex>
>  
> +#include <libcamera/base/private.h>
> +
>  #include <libcamera/base/thread_annotations.h>
>  
>  namespace libcamera {
> diff --git a/src/gstreamer/meson.build b/src/gstreamer/meson.build
> index 77c79140eb37..eda246d7ffc8 100644
> --- a/src/gstreamer/meson.build
> +++ b/src/gstreamer/meson.build
> @@ -42,7 +42,7 @@ endif
>  libcamera_gst = shared_library('gstlibcamera',
>      libcamera_gst_sources,
>      cpp_args : libcamera_gst_cpp_args,
> -    dependencies : [libcamera_public, gstvideo_dep, gstallocator_dep],
> +    dependencies : [libcamera_private, gstvideo_dep, gstallocator_dep],
>      install: true,
>      install_dir : '@0@/gstreamer-1.0'.format(get_option('libdir')),
>  )
> -- 
> Regards,
> 
> Laurent Pinchart
>


More information about the libcamera-devel mailing list