Index: media/capture/video/android/java/src/org/chromium/media/VideoCaptureCamera2.java |
diff --git a/media/capture/video/android/java/src/org/chromium/media/VideoCaptureCamera2.java b/media/capture/video/android/java/src/org/chromium/media/VideoCaptureCamera2.java |
index c2ab234fbb7c9bb7c5e50bf64125ac68501c2c7c..ef9726146b158d29aaea2c11827ca6b42a81e54b 100644 |
--- a/media/capture/video/android/java/src/org/chromium/media/VideoCaptureCamera2.java |
+++ b/media/capture/video/android/java/src/org/chromium/media/VideoCaptureCamera2.java |
@@ -43,7 +43,7 @@ import java.util.List; |
* and their capabilities, using android.hardware.camera2.CameraManager. |
**/ |
@JNINamespace("media") |
-@TargetApi(Build.VERSION_CODES.LOLLIPOP) |
+@TargetApi(Build.VERSION_CODES.M) |
public class VideoCaptureCamera2 extends VideoCapture { |
// Inner class to extend a CameraDevice state change listener. |
private class CrStateListener extends CameraDevice.StateCallback { |
@@ -805,7 +805,9 @@ public class VideoCaptureCamera2 extends VideoCapture { |
break; |
} |
} |
- // TODO(mcasas): query |cameraCharacteristics| for CONTROL_AE_LOCK_AVAILABLE (API 23) |
+ if (cameraCharacteristics.get(CameraCharacteristics.CONTROL_AE_LOCK_AVAILABLE)) { |
+ exposureModes.add(Integer.valueOf(AndroidMeteringMode.FIXED)); |
+ } |
builder.setExposureModes(integerArrayListToArray(exposureModes)); |
int jniExposureMode = AndroidMeteringMode.CONTINUOUS; |
@@ -838,7 +840,9 @@ public class VideoCaptureCamera2 extends VideoCapture { |
break; |
} |
} |
- // TODO(mcasas): query |cameraCharacteristics| for CONTROL_AWE_LOCK_AVAILABLE (API 23) |
+ if (cameraCharacteristics.get(CameraCharacteristics.CONTROL_AWB_LOCK_AVAILABLE)) { |
+ whiteBalanceModes.add(Integer.valueOf(AndroidMeteringMode.FIXED)); |
+ } |
builder.setWhiteBalanceModes(integerArrayListToArray(whiteBalanceModes)); |
final int whiteBalanceMode = mPreviewRequest.get(CaptureRequest.CONTROL_AWB_MODE); |