diff options
author | Hirokazu Honda <hiroh@chromium.org> | 2021-03-24 16:07:53 +0900 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2021-03-25 00:45:26 +0200 |
commit | 9538ce4cc65af347f457dee52ae6344119cc0be2 (patch) | |
tree | a7c067aeb70ab5d705426add1194d753d402324a /src | |
parent | 1636d4c4384b8e0db870b606aa946ec9b74d0f03 (diff) |
android: CameraDevice: Take shared_ptr in constructor
CameraDevice takes the ownership of Camera. Therefore,
shared_ptr would rather be used than const shared_ptr&.
Signed-off-by: Hirokazu Honda <hiroh@chromium.org>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/android/camera_device.cpp | 12 | ||||
-rw-r--r-- | src/android/camera_device.h | 4 |
2 files changed, 9 insertions, 7 deletions
diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp index d0955de7..c0630e53 100644 --- a/src/android/camera_device.cpp +++ b/src/android/camera_device.cpp @@ -312,9 +312,10 @@ CameraDevice::Camera3RequestDescriptor::~Camera3RequestDescriptor() * back to the framework using the designated callbacks. */ -CameraDevice::CameraDevice(unsigned int id, const std::shared_ptr<Camera> &camera) - : id_(id), running_(false), camera_(camera), staticMetadata_(nullptr), - facing_(CAMERA_FACING_FRONT), orientation_(0) +CameraDevice::CameraDevice(unsigned int id, std::shared_ptr<Camera> camera) + : id_(id), running_(false), camera_(std::move(camera)), + staticMetadata_(nullptr), facing_(CAMERA_FACING_FRONT), + orientation_(0) { camera_->requestCompleted.connect(this, &CameraDevice::requestComplete); @@ -351,9 +352,10 @@ CameraDevice::~CameraDevice() } std::unique_ptr<CameraDevice> CameraDevice::create(unsigned int id, - const std::shared_ptr<Camera> &cam) + std::shared_ptr<Camera> cam) { - return std::unique_ptr<CameraDevice>(new CameraDevice(id, cam)); + return std::unique_ptr<CameraDevice>( + new CameraDevice(id, std::move(cam))); } /* diff --git a/src/android/camera_device.h b/src/android/camera_device.h index 8be7f305..555b33e7 100644 --- a/src/android/camera_device.h +++ b/src/android/camera_device.h @@ -33,7 +33,7 @@ class CameraDevice : protected libcamera::Loggable { public: static std::unique_ptr<CameraDevice> create(unsigned int id, - const std::shared_ptr<libcamera::Camera> &cam); + std::shared_ptr<libcamera::Camera> cam); ~CameraDevice(); int initialize(); @@ -66,7 +66,7 @@ protected: std::string logPrefix() const override; private: - CameraDevice(unsigned int id, const std::shared_ptr<libcamera::Camera> &camera); + CameraDevice(unsigned int id, std::shared_ptr<libcamera::Camera> camera); struct Camera3RequestDescriptor { Camera3RequestDescriptor(libcamera::Camera *camera, |