From 2e97c95be1e1357d5c93b66be731e16ab8fa48d4 Mon Sep 17 00:00:00 2001 From: Gold856 <117957790+Gold856@users.noreply.github.com> Date: Sun, 13 Jul 2025 09:23:35 -0400 Subject: [PATCH] Restore original video mode index order (#1999) --- .../USBCameras/GenericUSBCameraSettables.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/photon-core/src/main/java/org/photonvision/vision/camera/USBCameras/GenericUSBCameraSettables.java b/photon-core/src/main/java/org/photonvision/vision/camera/USBCameras/GenericUSBCameraSettables.java index 7d923bad8..7d956643e 100644 --- a/photon-core/src/main/java/org/photonvision/vision/camera/USBCameras/GenericUSBCameraSettables.java +++ b/photon-core/src/main/java/org/photonvision/vision/camera/USBCameras/GenericUSBCameraSettables.java @@ -25,9 +25,11 @@ import edu.wpi.first.math.MathUtil; import edu.wpi.first.util.PixelFormat; import java.util.ArrayList; import java.util.Arrays; +import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Optional; +import java.util.stream.Collectors; import org.photonvision.common.configuration.CameraConfiguration; import org.photonvision.vision.camera.CameraQuirk; import org.photonvision.vision.processes.VisionSourceSettables; @@ -287,11 +289,14 @@ public class GenericUSBCameraSettables extends VisionSourceSettables { var sortedList = videoModesList.stream() .distinct() // remove redundant video mode entries - .sorted(((a, b) -> (a.width + a.height) - (b.width + b.height))) - .toList(); + .sorted(((a, b) -> (b.width + b.height) - (a.width + a.height))) + .collect(Collectors.toList()); + // The ordering is usually more logical when done like this. It typically puts higher FPSes + // closer to the bottom. + Collections.reverse(sortedList); - for (VideoMode videoMode : sortedList) { - videoModes.put(sortedList.indexOf(videoMode), videoMode); + for (int i = 0; i < sortedList.size(); i++) { + videoModes.put(i, sortedList.get(i)); } // If after all that we still have no video modes, not much we can do besides