1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-23 15:16:17 +00:00

linux: respect order of device list when enumerating camera feeds

This commit is contained in:
erodozer
2025-04-24 17:00:15 -04:00
parent 1f787b63a5
commit 5dc4ac2bb2

View File

@@ -61,23 +61,23 @@ void CameraLinux::_update_devices() {
} }
} }
DIR *devices = opendir("/dev"); struct dirent **devices;
int count = scandir("/dev", &devices, nullptr, alphasort);
if (devices) { if (count != -1) {
struct dirent *device; for (int i = 0; i < count; i++) {
struct dirent *device = devices[i];
while ((device = readdir(devices)) != nullptr) { if (strncmp(device->d_name, "video", 5) == 0) {
if (strncmp(device->d_name, "video", 5) != 0) {
continue;
}
String device_name = String("/dev/") + String(device->d_name); String device_name = String("/dev/") + String(device->d_name);
if (!_has_device(device_name)) { if (!_has_device(device_name)) {
_add_device(device_name); _add_device(device_name);
} }
} }
free(device);
}
} }
closedir(devices); free(devices);
} }
usleep(1000000); usleep(1000000);