summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHirokazu Honda <hiroh@chromium.org>2021-03-24 16:07:53 +0900
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2021-03-25 00:45:26 +0200
commit9538ce4cc65af347f457dee52ae6344119cc0be2 (patch)
treea7c067aeb70ab5d705426add1194d753d402324a
parent1636d4c4384b8e0db870b606aa946ec9b74d0f03 (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>
-rw-r--r--src/android/camera_device.cpp12
-rw-r--r--src/android/camera_device.h4
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,