diff options
author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2019-08-18 01:45:01 +0300 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2019-08-19 19:07:33 +0300 |
commit | 0ed40d2cd4342465cce916c3b6388d1849aef610 (patch) | |
tree | a99a31111f9e52e764612ebc7a5021d8f983adf9 | |
parent | 5ce4bb62e77e85a681d6742f25e5173963b55415 (diff) |
android: Pass Camera shared pointer to CameraProxy by const reference
The CameraProxy is constructed with a Camera instance passed through a
shared pointer. It forwards it to the CameraDevice constructor, which
takes a reference used for the sole purpose of making an internal copy
of the shared pointer. Both constructors can thus take a const reference
instead of a value or a mutable reference. This optimises the
constructors slightly.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>
-rw-r--r-- | src/android/camera_device.cpp | 2 | ||||
-rw-r--r-- | src/android/camera_device.h | 2 | ||||
-rw-r--r-- | src/android/camera_proxy.cpp | 2 | ||||
-rw-r--r-- | 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 999c51e6..9acfed69 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 4d834ceb..7897ba9d 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 3eb2f9fb..4f5c0a02 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 da63bfa7..7940eac4 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); |