summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBarnabás Pőcze <pobrn@protonmail.com>2024-11-26 18:03:10 +0000
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2024-11-27 16:20:51 +0200
commit493f198e94f84e6453573f24f10a2a30edb3c9c0 (patch)
tree558edb6dc64455d7cdbdb9bedc98abb2ba6bf7c0
parent4e557e544bce6da8c00c73de2dfe76403bbf8c00 (diff)
treewide: Avoid some copies in range-based for loops
Most of these have been found by the `performance-for-range-copy` check of `clang-tidy`. Signed-off-by: Barnabás Pőcze <pobrn@protonmail.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
-rw-r--r--src/libcamera/camera_manager.cpp2
-rw-r--r--src/libcamera/converter.cpp5
-rw-r--r--src/libcamera/pipeline/virtual/image_frame_generator.cpp2
-rw-r--r--src/libcamera/pipeline_handler.cpp2
-rw-r--r--test/gstreamer/gstreamer_device_provider_test.cpp11
5 files changed, 8 insertions, 14 deletions
diff --git a/src/libcamera/camera_manager.cpp b/src/libcamera/camera_manager.cpp
index c7cc5adb..87e6717e 100644
--- a/src/libcamera/camera_manager.cpp
+++ b/src/libcamera/camera_manager.cpp
@@ -388,7 +388,7 @@ std::shared_ptr<Camera> CameraManager::get(const std::string &id)
MutexLocker locker(d->mutex_);
- for (std::shared_ptr<Camera> camera : d->cameras_) {
+ for (const std::shared_ptr<Camera> &camera : d->cameras_) {
if (camera->id() == id)
return camera;
}
diff --git a/src/libcamera/converter.cpp b/src/libcamera/converter.cpp
index 945f2527..3a3f8434 100644
--- a/src/libcamera/converter.cpp
+++ b/src/libcamera/converter.cpp
@@ -325,8 +325,9 @@ std::vector<std::string> ConverterFactoryBase::names()
for (ConverterFactoryBase *factory : factories) {
list.push_back(factory->name_);
- for (auto alias : factory->compatibles())
- list.push_back(alias);
+
+ const auto &compatibles = factory->compatibles();
+ list.insert(list.end(), compatibles.begin(), compatibles.end());
}
return list;
diff --git a/src/libcamera/pipeline/virtual/image_frame_generator.cpp b/src/libcamera/pipeline/virtual/image_frame_generator.cpp
index 2baef588..277efbb0 100644
--- a/src/libcamera/pipeline/virtual/image_frame_generator.cpp
+++ b/src/libcamera/pipeline/virtual/image_frame_generator.cpp
@@ -39,7 +39,7 @@ ImageFrameGenerator::create(ImageFrames &imageFrames)
* For each file in the directory, load the image,
* convert it to NV12, and store the pointer.
*/
- for (std::filesystem::path path : imageFrames.files) {
+ for (const auto &path : imageFrames.files) {
File file(path);
if (!file.open(File::OpenModeFlag::ReadOnly)) {
LOG(Virtual, Error) << "Failed to open image file " << file.fileName()
diff --git a/src/libcamera/pipeline_handler.cpp b/src/libcamera/pipeline_handler.cpp
index 991b06f2..caa5c20e 100644
--- a/src/libcamera/pipeline_handler.cpp
+++ b/src/libcamera/pipeline_handler.cpp
@@ -74,7 +74,7 @@ PipelineHandler::PipelineHandler(CameraManager *manager)
PipelineHandler::~PipelineHandler()
{
- for (std::shared_ptr<MediaDevice> media : mediaDevices_)
+ for (std::shared_ptr<MediaDevice> &media : mediaDevices_)
media->release();
}
diff --git a/test/gstreamer/gstreamer_device_provider_test.cpp b/test/gstreamer/gstreamer_device_provider_test.cpp
index 8b8e7cba..521c60b8 100644
--- a/test/gstreamer/gstreamer_device_provider_test.cpp
+++ b/test/gstreamer/gstreamer_device_provider_test.cpp
@@ -52,19 +52,12 @@ protected:
for (l = devices; l != NULL; l = g_list_next(l)) {
GstDevice *device = GST_DEVICE(l->data);
g_autofree gchar *gst_name;
- bool matched = false;
g_autoptr(GstElement) element = gst_device_create_element(device, NULL);
g_object_get(element, "camera-name", &gst_name, NULL);
- for (auto name : cameraNames) {
- if (strcmp(name.c_str(), gst_name) == 0) {
- matched = true;
- break;
- }
- }
-
- if (!matched)
+ if (std::find(cameraNames.begin(), cameraNames.end(), gst_name) ==
+ cameraNames.end())
return TestFail;
}