diff --git a/photon-core/src/main/java/org/photonvision/vision/camera/USBCameraSource.java b/photon-core/src/main/java/org/photonvision/vision/camera/USBCameraSource.java index f74eeeea2..70af1499f 100644 --- a/photon-core/src/main/java/org/photonvision/vision/camera/USBCameraSource.java +++ b/photon-core/src/main/java/org/photonvision/vision/camera/USBCameraSource.java @@ -65,7 +65,12 @@ public class USBCameraSource extends VisionSource { disableAutoFocus(); usbCameraSettables = new USBCameraSettables(config); - usbFrameProvider = new USBFrameProvider(cvSink, usbCameraSettables); + if (usbCameraSettables.getAllVideoModes().isEmpty()) { + logger.info("Camera " + camera.getPath() + " has no video modes supported by PhotonVision"); + usbFrameProvider = null; + } else { + usbFrameProvider = new USBFrameProvider(cvSink, usbCameraSettables); + } } } diff --git a/photon-core/src/main/java/org/photonvision/vision/processes/VisionSourceManager.java b/photon-core/src/main/java/org/photonvision/vision/processes/VisionSourceManager.java index 8cb4e558c..35fb48b4b 100644 --- a/photon-core/src/main/java/org/photonvision/vision/processes/VisionSourceManager.java +++ b/photon-core/src/main/java/org/photonvision/vision/processes/VisionSourceManager.java @@ -318,7 +318,8 @@ public class VisionSourceManager { var newCam = new USBCameraSource(configuration); - if (!newCam.cameraQuirks.hasQuirk(CameraQuirk.CompletelyBroken)) { + if (!newCam.cameraQuirks.hasQuirk(CameraQuirk.CompletelyBroken) + && !newCam.getSettables().videoModes.isEmpty()) { cameraSources.add(newCam); } }