[PATCH 4/4] libcamera: Make Camera::Private::isAcquired() protected

Harvey Yang chenghaoyang at chromium.org
Fri Oct 18 09:57:37 CEST 2024


As some pipeline handlers need to know if a CameraData is currently
acquired, this patch makes the function protected, instead of private.

For example, the upcoming mtkisp7 needs the information to determine if
it should send camera disconnect signal.

Signed-off-by: Harvey Yang <chenghaoyang at chromium.org>
Co-developed-by: Yudhistira Erlandinata <yerlandinata at chromium.org>
Signed-off-by: Yudhistira Erlandinata <yerlandinata at chromium.org>
---
 include/libcamera/internal/camera.h | 4 +++-
 src/libcamera/camera.cpp            | 3 +++
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/include/libcamera/internal/camera.h b/include/libcamera/internal/camera.h
index 0bef0980e..fe47a49b7 100644
--- a/include/libcamera/internal/camera.h
+++ b/include/libcamera/internal/camera.h
@@ -43,6 +43,9 @@ public:
 
 	const CameraControlValidator *validator() const { return validator_.get(); }
 
+protected:
+	bool isAcquired() const;
+
 private:
 	enum State {
 		CameraAvailable,
@@ -52,7 +55,6 @@ private:
 		CameraRunning,
 	};
 
-	bool isAcquired() const;
 	bool isRunning() const;
 	int isAccessAllowed(State state, bool allowDisconnected = false,
 			    const char *from = __builtin_FUNCTION()) const;
diff --git a/src/libcamera/camera.cpp b/src/libcamera/camera.cpp
index ef5a6725f..38aa4ad22 100644
--- a/src/libcamera/camera.cpp
+++ b/src/libcamera/camera.cpp
@@ -670,6 +670,9 @@ static const char *const camera_state_names[] = {
 	"Running",
 };
 
+/**
+ * \return True if the camera is acquired, false otherwise
+ */
 bool Camera::Private::isAcquired() const
 {
 	return state_.load(std::memory_order_acquire) != CameraAvailable;
-- 
2.47.0.rc1.288.g06298d1525-goog



More information about the libcamera-devel mailing list