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

Laurent Pinchart laurent.pinchart at ideasonboard.com
Mon Aug 8 17:19:18 CEST 2022


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.

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