[libcamera-devel] [PATCH 09/14] android: Pass Camera shared pointer to CameraDevice by const reference

Laurent Pinchart laurent.pinchart at ideasonboard.com
Sun Aug 18 03:13:24 CEST 2019


The CameraDevice is constructed with a Camera instance passed through a
shared pointer. It makes an internal copy of the pointer, which can be
passed by const reference instead of value. This optimises the
constructor slightly.

Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
---
 src/android/camera_device.cpp | 2 +-
 src/android/camera_device.h   | 2 +-
 src/android/camera_proxy.cpp  | 2 +-
 src/android/camera_proxy.h    | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp
index 999c51e6ba4a..9acfed694abc 100644
--- a/src/android/camera_device.cpp
+++ b/src/android/camera_device.cpp
@@ -49,7 +49,7 @@ CameraDevice::Camera3RequestDescriptor::~Camera3RequestDescriptor()
  * to the framework using the designated callbacks.
  */
 
-CameraDevice::CameraDevice(unsigned int id, std::shared_ptr<Camera> &camera)
+CameraDevice::CameraDevice(unsigned int id, const std::shared_ptr<Camera> &camera)
 	: running_(false), camera_(camera), staticMetadata_(nullptr),
 	  requestTemplate_(nullptr)
 {
diff --git a/src/android/camera_device.h b/src/android/camera_device.h
index 4d834ceb08a5..7897ba9dc5c7 100644
--- a/src/android/camera_device.h
+++ b/src/android/camera_device.h
@@ -31,7 +31,7 @@ class ThreadRpc;
 class CameraDevice : public libcamera::Object
 {
 public:
-	CameraDevice(unsigned int id, std::shared_ptr<libcamera::Camera> &camera);
+	CameraDevice(unsigned int id, const std::shared_ptr<libcamera::Camera> &camera);
 	~CameraDevice();
 
 	void call(ThreadRpc *rpc);
diff --git a/src/android/camera_proxy.cpp b/src/android/camera_proxy.cpp
index 3eb2f9fbcffb..4f5c0a024903 100644
--- a/src/android/camera_proxy.cpp
+++ b/src/android/camera_proxy.cpp
@@ -113,7 +113,7 @@ static camera3_device_ops hal_dev_ops = {
 	.reserved = { nullptr },
 };
 
-CameraProxy::CameraProxy(unsigned int id, std::shared_ptr<Camera> camera)
+CameraProxy::CameraProxy(unsigned int id, const std::shared_ptr<Camera> &camera)
 	: id_(id)
 {
 	cameraDevice_ = new CameraDevice(id, camera);
diff --git a/src/android/camera_proxy.h b/src/android/camera_proxy.h
index da63bfa79fc9..7940eac4e376 100644
--- a/src/android/camera_proxy.h
+++ b/src/android/camera_proxy.h
@@ -19,7 +19,7 @@ class ThreadRpc;
 class CameraProxy
 {
 public:
-	CameraProxy(unsigned int id, std::shared_ptr<libcamera::Camera> camera);
+	CameraProxy(unsigned int id, const std::shared_ptr<libcamera::Camera> &camera);
 	~CameraProxy();
 
 	int open(const hw_module_t *hardwareModule);
-- 
Regards,

Laurent Pinchart



More information about the libcamera-devel mailing list