PR comments

pull/653/head
Vaibhav Bhandula 6 years ago
parent b9ccf74f4d
commit 014246accd
  1. 19
      cameraview/src/main/java/com/otaliastudios/cameraview/engine/Camera2Engine.java

@ -83,6 +83,7 @@ public class Camera2Engine extends CameraEngine implements ImageReader.OnImageAv
private static final int FRAME_PROCESSING_FORMAT = ImageFormat.NV21;
private static final int FRAME_PROCESSING_INPUT_FORMAT = ImageFormat.YUV_420_888;
private static final int DEFAULT_FRAME_RATE = 30;
@VisibleForTesting static final long METER_TIMEOUT = 2500;
private final CameraManager mManager;
@ -1274,9 +1275,21 @@ public class Camera2Engine extends CameraEngine implements ImageReader.OnImageAv
@SuppressWarnings("WeakerAccess")
protected boolean applyPreviewFrameRate(@NonNull CaptureRequest.Builder builder, float oldPreviewFrameRate) {
Range<Integer> range = new Range<>((int) mCameraOptions.getFpsRangeMinValue(), (int) mCameraOptions.getFpsRangeMaxValue());
if (range.contains((int) mPreviewFrameRate) || mPreviewFrameRate == 0f) {
builder.set(CaptureRequest.CONTROL_AE_TARGET_FPS_RANGE, range);
return true;
if (mPreviewFrameRate != 0f) {
if (range.contains((int) mPreviewFrameRate)) {
builder.set(CaptureRequest.CONTROL_AE_TARGET_FPS_RANGE, range);
return true;
}
} else {
Range<Integer>[] fpsRanges = mCameraCharacteristics.get(CameraCharacteristics.CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES);
if (fpsRanges != null) {
for (Range<Integer> fpsRange : fpsRanges) {
if (range.contains(DEFAULT_FRAME_RATE)) {
builder.set(CaptureRequest.CONTROL_AE_TARGET_FPS_RANGE, fpsRange);
return true;
}
}
}
}
mPreviewFrameRate = oldPreviewFrameRate;
return false;

Loading…
Cancel
Save