From c311a7357014a08d1d16aa22072894eadb3e4658 Mon Sep 17 00:00:00 2001 From: Mattia Iavarone Date: Wed, 23 Oct 2019 20:50:54 +0200 Subject: [PATCH] Camera1 options --- .../cameraview/CameraOptions.java | 30 +++++++++++-------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/cameraview/src/main/java/com/otaliastudios/cameraview/CameraOptions.java b/cameraview/src/main/java/com/otaliastudios/cameraview/CameraOptions.java index fb632103..c68650c2 100644 --- a/cameraview/src/main/java/com/otaliastudios/cameraview/CameraOptions.java +++ b/cameraview/src/main/java/com/otaliastudios/cameraview/CameraOptions.java @@ -159,9 +159,16 @@ public class CameraOptions { } } - //fps range - previewFrameRateMinValue = 0F; - previewFrameRateMaxValue = 0F; + // Preview FPS + previewFrameRateMinValue = Float.MAX_VALUE; + previewFrameRateMaxValue = -Float.MAX_VALUE; + List fpsRanges = params.getSupportedPreviewFpsRange(); + for (int[] fpsRange : fpsRanges) { + float lower = (float) fpsRange[0] / 1000F; + float upper = (float) fpsRange[1] / 1000F; + previewFrameRateMinValue = Math.min(previewFrameRateMinValue, lower); + previewFrameRateMaxValue = Math.max(previewFrameRateMaxValue, upper); + } } // Camera2Engine constructor. @@ -279,18 +286,15 @@ public class CameraOptions { } } - //fps Range - previewFrameRateMinValue = Float.MAX_VALUE; - previewFrameRateMaxValue = Float.MIN_VALUE; - Range[] range = cameraCharacteristics.get(CameraCharacteristics.CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES); + // Preview FPS + Range[] range = cameraCharacteristics.get( + CameraCharacteristics.CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES); if (range != null) { + previewFrameRateMinValue = Float.MAX_VALUE; + previewFrameRateMaxValue = -Float.MAX_VALUE; for (Range fpsRange : range) { - if (fpsRange.getLower() <= previewFrameRateMinValue) { - previewFrameRateMinValue = fpsRange.getLower(); - } - if (fpsRange.getUpper() >= previewFrameRateMaxValue) { - previewFrameRateMaxValue = fpsRange.getUpper(); - } + previewFrameRateMinValue = Math.min(previewFrameRateMinValue, fpsRange.getLower()); + previewFrameRateMaxValue = Math.max(previewFrameRateMaxValue, fpsRange.getUpper()); } } else { previewFrameRateMinValue = 0F;