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:
@ -167,6 +167,7 @@ public class Camera2Session implements CameraSession {
|
|||||||
CaptureRequest.CONTROL_AE_MODE_ON);
|
CaptureRequest.CONTROL_AE_MODE_ON);
|
||||||
captureRequestBuilder.set(CaptureRequest.CONTROL_AE_LOCK, false);
|
captureRequestBuilder.set(CaptureRequest.CONTROL_AE_LOCK, false);
|
||||||
chooseStabilizationMode(captureRequestBuilder);
|
chooseStabilizationMode(captureRequestBuilder);
|
||||||
|
chooseFocusMode(captureRequestBuilder);
|
||||||
|
|
||||||
captureRequestBuilder.addTarget(surface);
|
captureRequestBuilder.addTarget(surface);
|
||||||
session.setRepeatingRequest(
|
session.setRepeatingRequest(
|
||||||
@ -248,6 +249,20 @@ public class Camera2Session implements CameraSession {
|
|||||||
}
|
}
|
||||||
Logging.d(TAG, "Stabilization not available.");
|
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 {
|
private class CameraCaptureCallback extends CameraCaptureSession.CaptureCallback {
|
||||||
|
|||||||
Reference in New Issue
Block a user