summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBarnabás Pőcze <pobrn@protonmail.com>2024-12-20 12:08:55 +0100
committerBarnabás Pőcze <pobrn@protonmail.com>2025-02-27 17:31:04 +0100
commitd338fe9336896a6d1527ca65668d23045412c610 (patch)
treefbf8ed3736a0b8f9fc2e3df6adff877bc60cd38d /src
parent6719ae34cc1db58e720b7a5ec2498e3f2a81c681 (diff)
apps: lc-compliance: Optimize `std::shared_ptr` usage
Avoid unnecessary copies and try to move construct `std::shared_ptr` whenever possible. Signed-off-by: Barnabás Pőcze <pobrn@protonmail.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>
Diffstat (limited to 'src')
-rw-r--r--src/apps/lc-compliance/helpers/capture.cpp8
-rw-r--r--src/apps/lc-compliance/main.cpp4
2 files changed, 5 insertions, 7 deletions
diff --git a/src/apps/lc-compliance/helpers/capture.cpp b/src/apps/lc-compliance/helpers/capture.cpp
index 90c1530b..d1dafb6c 100644
--- a/src/apps/lc-compliance/helpers/capture.cpp
+++ b/src/apps/lc-compliance/helpers/capture.cpp
@@ -12,8 +12,8 @@
using namespace libcamera;
Capture::Capture(std::shared_ptr<Camera> camera)
- : loop_(nullptr), camera_(camera),
- allocator_(std::make_unique<FrameBufferAllocator>(camera))
+ : loop_(nullptr), camera_(std::move(camera)),
+ allocator_(std::make_unique<FrameBufferAllocator>(camera_))
{
}
@@ -72,7 +72,7 @@ void Capture::stop()
/* CaptureBalanced */
CaptureBalanced::CaptureBalanced(std::shared_ptr<Camera> camera)
- : Capture(camera)
+ : Capture(std::move(camera))
{
}
@@ -144,7 +144,7 @@ void CaptureBalanced::requestComplete(Request *request)
/* CaptureUnbalanced */
CaptureUnbalanced::CaptureUnbalanced(std::shared_ptr<Camera> camera)
- : Capture(camera)
+ : Capture(std::move(camera))
{
}
diff --git a/src/apps/lc-compliance/main.cpp b/src/apps/lc-compliance/main.cpp
index 3f1d2a61..98f2573d 100644
--- a/src/apps/lc-compliance/main.cpp
+++ b/src/apps/lc-compliance/main.cpp
@@ -50,8 +50,6 @@ static void listCameras(CameraManager *cm)
static int initCamera(CameraManager *cm, OptionsParser::Options options)
{
- std::shared_ptr<Camera> camera;
-
int ret = cm->start();
if (ret) {
std::cout << "Failed to start camera manager: "
@@ -66,7 +64,7 @@ static int initCamera(CameraManager *cm, OptionsParser::Options options)
}
const std::string &cameraId = options[OptCamera];
- camera = cm->get(cameraId);
+ std::shared_ptr<Camera> camera = cm->get(cameraId);
if (!camera) {
std::cout << "Camera " << cameraId << " not found, available cameras:" << std::endl;
listCameras(cm);