From 772bd0d40b3b4c18d391c943b92c9c2714a8c027 Mon Sep 17 00:00:00 2001 From: Alex Glaznev Date: Wed, 21 Sep 2016 12:17:05 -0700 Subject: [PATCH] Log supported camera preview resolutions. BUG=b/29935437 R=sakal@webrtc.org Review URL: https://codereview.webrtc.org/2356563002 . Cr-Commit-Position: refs/heads/master@{#14336} --- .../java/src/org/webrtc/Camera2Session.java | 1 + .../src/org/webrtc/VideoCapturerAndroid.java | 18 +++++++++++------- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/webrtc/api/android/java/src/org/webrtc/Camera2Session.java b/webrtc/api/android/java/src/org/webrtc/Camera2Session.java index c699bbb845..590e271508 100644 --- a/webrtc/api/android/java/src/org/webrtc/Camera2Session.java +++ b/webrtc/api/android/java/src/org/webrtc/Camera2Session.java @@ -333,6 +333,7 @@ public class Camera2Session implements CameraSession { List framerateRanges = Camera2Enumerator.convertFramerates(fpsRanges, fpsUnitFactor); List sizes = Camera2Enumerator.getSupportedSizes(cameraCharacteristics); + Logging.d(TAG, "Available preview sizes: " + sizes); Logging.d(TAG, "Available fps ranges: " + framerateRanges); if (framerateRanges.isEmpty() || sizes.isEmpty()) { diff --git a/webrtc/api/android/java/src/org/webrtc/VideoCapturerAndroid.java b/webrtc/api/android/java/src/org/webrtc/VideoCapturerAndroid.java index 990563adca..9f90f5381f 100644 --- a/webrtc/api/android/java/src/org/webrtc/VideoCapturerAndroid.java +++ b/webrtc/api/android/java/src/org/webrtc/VideoCapturerAndroid.java @@ -391,8 +391,11 @@ public class VideoCapturerAndroid implements final CaptureFormat.FramerateRange fpsRange = CameraEnumerationAndroid.getClosestSupportedFramerateRange(supportedFramerates, framerate); - final Size previewSize = CameraEnumerationAndroid.getClosestSupportedSize( - Camera1Enumerator.convertSizes(parameters.getSupportedPreviewSizes()), width, height); + final List supportedPreviewSizes = + Camera1Enumerator.convertSizes(parameters.getSupportedPreviewSizes()); + final Size previewSize = + CameraEnumerationAndroid.getClosestSupportedSize(supportedPreviewSizes, width, height); + Logging.d(TAG, "Available preview sizes: " + supportedPreviewSizes); final CaptureFormat captureFormat = new CaptureFormat(previewSize.width, previewSize.height, fpsRange); @@ -432,15 +435,16 @@ public class VideoCapturerAndroid implements camera.setPreviewCallbackWithBuffer(null); } + List focusModes = parameters.getSupportedFocusModes(); + if (focusModes.contains(android.hardware.Camera.Parameters.FOCUS_MODE_CONTINUOUS_VIDEO)) { + Logging.d(TAG, "Enable continuous auto focus mode."); + parameters.setFocusMode(android.hardware.Camera.Parameters.FOCUS_MODE_CONTINUOUS_VIDEO); + } + // (Re)start preview. Logging.d(TAG, "Start capturing: " + captureFormat); this.captureFormat = captureFormat; - List focusModes = parameters.getSupportedFocusModes(); - if (focusModes.contains(android.hardware.Camera.Parameters.FOCUS_MODE_CONTINUOUS_VIDEO)) { - parameters.setFocusMode(android.hardware.Camera.Parameters.FOCUS_MODE_CONTINUOUS_VIDEO); - } - camera.setParameters(parameters); // Calculate orientation manually and send it as CVO instead. camera.setDisplayOrientation(0 /* degrees */);