libcamera: find camera by partial match (if not found)
This commit is contained in:
parent
cd7ab4c281
commit
f2ad561734
@ -90,6 +90,20 @@ int libcamera_device_open(device_t *dev)
|
|||||||
dev->libcamera->camera = dev->libcamera->camera_manager->cameras().front();
|
dev->libcamera->camera = dev->libcamera->camera_manager->cameras().front();
|
||||||
} else {
|
} else {
|
||||||
dev->libcamera->camera = dev->libcamera->camera_manager->get(dev->path);
|
dev->libcamera->camera = dev->libcamera->camera_manager->get(dev->path);
|
||||||
|
|
||||||
|
// Do partial match of camera
|
||||||
|
if (!dev->libcamera->camera) {
|
||||||
|
for (auto& camera : dev->libcamera->camera_manager->cameras()) {
|
||||||
|
if (!strstr(camera->id().c_str(), dev->path))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if (dev->libcamera->camera) {
|
||||||
|
libcamera_print_cameras(dev);
|
||||||
|
LOG_ERROR(dev, "Many cameras matching found.");
|
||||||
|
}
|
||||||
|
dev->libcamera->camera = camera;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!dev->libcamera->camera) {
|
if (!dev->libcamera->camera) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user