From c12b181aba25e577e4cc28890b860befa8b96015 Mon Sep 17 00:00:00 2001 From: Matt Date: Thu, 9 Jan 2020 14:40:38 -0800 Subject: [PATCH] Add more descriptive exception to USBCameraCapture --- .../chameleonvision/vision/camera/USBCameraCapture.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/chameleon-server/src/main/java/com/chameleonvision/vision/camera/USBCameraCapture.java b/chameleon-server/src/main/java/com/chameleonvision/vision/camera/USBCameraCapture.java index 129558ba0..b9d0cb372 100644 --- a/chameleon-server/src/main/java/com/chameleonvision/vision/camera/USBCameraCapture.java +++ b/chameleon-server/src/main/java/com/chameleonvision/vision/camera/USBCameraCapture.java @@ -13,6 +13,7 @@ import org.opencv.core.Size; import org.opencv.imgcodecs.Imgcodecs; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; public class USBCameraCapture implements CameraCapture { @@ -30,6 +31,12 @@ public class USBCameraCapture implements CameraCapture { cvSink = CameraServer.getInstance().getVideo(baseCamera); properties = new USBCaptureProperties(baseCamera, config); + var videoModes = properties.getVideoModes(); + if(videoModes.size() < 1) { + throw new VideoException("0 video modes are valid! Full list provided by camera: \n\n" + + Arrays.toString(baseCamera.enumerateVideoModes())); + } + int videoMode = properties.videoModes.size() - 1 <= config.videomode ? config.videomode : 0; setVideoMode(videoMode); }