diff --git a/photon-server/src/main/java/org/photonvision/vision/processes/VisionSourceManager.java b/photon-server/src/main/java/org/photonvision/vision/processes/VisionSourceManager.java index 65fd582b2..6a081f931 100644 --- a/photon-server/src/main/java/org/photonvision/vision/processes/VisionSourceManager.java +++ b/photon-server/src/main/java/org/photonvision/vision/processes/VisionSourceManager.java @@ -217,7 +217,7 @@ public class VisionSourceManager { if (cameraInfo != null) { logger.debug("Matched the config for " + config.baseName + " to a physical camera!"); detectedCameraList.remove(cameraInfo); - cameraConfigurations.add(config); + cameraConfigurations.add(mergeInfoIntoConfig(config, cameraInfo)); } } @@ -246,6 +246,15 @@ public class VisionSourceManager { return cameraConfigurations; } + private CameraConfiguration mergeInfoIntoConfig(CameraConfiguration cfg, UsbCameraInfo info) { + if (!cfg.path.equals(info.path)) { + logger.debug("Updating path config from " + cfg.path + " to " + info.path); + cfg.path = info.path; + } + + return cfg; + } + private List loadVisionSourcesFromCamConfigs(List camConfigs) { List usbCameraSources = new ArrayList<>(); camConfigs.forEach(configuration -> usbCameraSources.add(new USBCameraSource(configuration)));