[libcamera-devel] [PATCH v2 4/8] android: CameraDevice: Take shared_ptr in constructor
Jacopo Mondi
jacopo at jmondi.org
Thu Mar 25 09:40:54 CET 2021
Hi Hiro
On Wed, Mar 24, 2021 at 04:07:53PM +0900, Hirokazu Honda wrote:
> CameraDevice takes the ownership of Camera. Therefore,
> shared_ptr would rather be used than const shared_ptr&.
>
> Signed-off-by: Hirokazu Honda <hiroh at chromium.org>
> Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
Reviewed-by: Jacopo Mondi <jacopo at jmondi.org>
Thanks
j
> ---
> src/android/camera_device.cpp | 12 +++++++-----
> 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,
> --
> 2.31.0.291.g576ba9dcdaf-goog
> _______________________________________________
> libcamera-devel mailing list
> libcamera-devel at lists.libcamera.org
> https://lists.libcamera.org/listinfo/libcamera-devel
More information about the libcamera-devel
mailing list