Enable auto-focus on Camera2.

BUG=webrtc:6357

Review-Url: https://codereview.webrtc.org/2347823002
Cr-Commit-Position: refs/heads/master@{#14288}
This commit is contained in:
sakal
2016-09-19 06:01:37 -07:00
committed by Commit bot
parent 7bfe3a27b6
commit be22d51307

View File

@ -167,6 +167,7 @@ public class Camera2Session implements CameraSession {
CaptureRequest.CONTROL_AE_MODE_ON);
captureRequestBuilder.set(CaptureRequest.CONTROL_AE_LOCK, false);
chooseStabilizationMode(captureRequestBuilder);
chooseFocusMode(captureRequestBuilder);
captureRequestBuilder.addTarget(surface);
session.setRepeatingRequest(
@ -248,6 +249,20 @@ public class Camera2Session implements CameraSession {
}
Logging.d(TAG, "Stabilization not available.");
}
private void chooseFocusMode(CaptureRequest.Builder captureRequestBuilder) {
final int[] availableFocusModes = cameraCharacteristics.get(
CameraCharacteristics.CONTROL_AF_AVAILABLE_MODES);
for (int mode : availableFocusModes) {
if (mode == CaptureRequest.CONTROL_AF_MODE_CONTINUOUS_VIDEO) {
captureRequestBuilder.set(CaptureRequest.CONTROL_AF_MODE,
CaptureRequest.CONTROL_AF_MODE_CONTINUOUS_VIDEO);
Logging.d(TAG, "Using continuous video auto-focus.");
return;
}
}
Logging.d(TAG, "Auto-focus is not available.");
}
}
private class CameraCaptureCallback extends CameraCaptureSession.CaptureCallback {