treewide: Query list of cameras just once
This is more efficient since only a single vector will be constructed, and furthermore, it prevents the TOCTOU issue that might arise when the list of cameras changes between the two queries. Signed-off-by: Barnabás Pőcze <pobrn@protonmail.com> Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
parent
aee16c0691
commit
e77a275110
3 changed files with 18 additions and 10 deletions
|
@ -385,13 +385,14 @@ gst_libcamera_src_open(GstLibcameraSrc *self)
|
|||
return false;
|
||||
}
|
||||
} else {
|
||||
if (cm->cameras().empty()) {
|
||||
auto cameras = cm->cameras();
|
||||
if (cameras.empty()) {
|
||||
GST_ELEMENT_ERROR(self, RESOURCE, NOT_FOUND,
|
||||
("Could not find any supported camera on this system."),
|
||||
("libcamera::CameraMananger::cameras() is empty"));
|
||||
return false;
|
||||
}
|
||||
cam = cm->cameras()[0];
|
||||
cam = cameras[0];
|
||||
}
|
||||
|
||||
GST_INFO_OBJECT(self, "Using camera '%s'", cam->id().c_str());
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue