Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(47)

Unified Diff: media/capture/video/android/java/src/org/chromium/media/VideoCaptureCamera2.java

Issue 2873843004: Image Capture Android: make torch mode override other fill light mode(s) (Closed)
Patch Set: Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « media/capture/video/android/java/src/org/chromium/media/VideoCaptureCamera.java ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 aa828a755b9b24b50f1ebc79dbc1f1d6aa94c374..ef9d8d2b6351f89974c1bb3e35977a361ec37d74 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
@@ -390,27 +390,40 @@ public class VideoCaptureCamera2 extends VideoCapture {
range.getLower() + (range.getUpper() + range.getLower()) / 2 /* nanoseconds*/);
} else {
+ requestBuilder.set(CaptureRequest.CONTROL_MODE, CaptureRequest.CONTROL_MODE_AUTO);
requestBuilder.set(CaptureRequest.CONTROL_AE_MODE, CameraMetadata.CONTROL_AE_MODE_ON);
requestBuilder.set(CaptureRequest.CONTROL_AE_TARGET_FPS_RANGE, mAeFpsRange);
}
- switch (mFillLightMode) {
- case AndroidFillLightMode.OFF:
- requestBuilder.set(CaptureRequest.FLASH_MODE, CameraMetadata.FLASH_MODE_OFF);
- break;
- case AndroidFillLightMode.AUTO:
- // Setting the AE to CONTROL_AE_MODE_ON_AUTO_FLASH[_REDEYE] overrides FLASH_MODE.
- requestBuilder.set(CaptureRequest.CONTROL_AE_MODE, mRedEyeReduction
- ? CameraMetadata.CONTROL_AE_MODE_ON_AUTO_FLASH_REDEYE
- : CameraMetadata.CONTROL_AE_MODE_ON_AUTO_FLASH);
- break;
- case AndroidFillLightMode.FLASH:
- // Setting the AE to CONTROL_AE_MODE_ON_ALWAYS_FLASH overrides FLASH_MODE.
- requestBuilder.set(CaptureRequest.CONTROL_AE_MODE,
- CameraMetadata.CONTROL_AE_MODE_ON_ALWAYS_FLASH);
- break;
- default:
+
+ if (mTorch) {
+ requestBuilder.set(CaptureRequest.CONTROL_AE_MODE,
+ mExposureMode == AndroidMeteringMode.CONTINUOUS
+ ? CameraMetadata.CONTROL_AE_MODE_ON
+ : CameraMetadata.CONTROL_AE_MODE_OFF);
+ requestBuilder.set(CaptureRequest.FLASH_MODE, CameraMetadata.FLASH_MODE_TORCH);
+ } else {
+ switch (mFillLightMode) {
+ case AndroidFillLightMode.OFF:
+ requestBuilder.set(CaptureRequest.FLASH_MODE, CameraMetadata.FLASH_MODE_OFF);
+ break;
+ case AndroidFillLightMode.AUTO:
+ // Setting the AE to CONTROL_AE_MODE_ON_AUTO_FLASH[_REDEYE] overrides
+ // FLASH_MODE.
+ requestBuilder.set(CaptureRequest.CONTROL_AE_MODE,
+ mRedEyeReduction ? CameraMetadata.CONTROL_AE_MODE_ON_AUTO_FLASH_REDEYE
+ : CameraMetadata.CONTROL_AE_MODE_ON_AUTO_FLASH);
+ break;
+ case AndroidFillLightMode.FLASH:
+ // Setting the AE to CONTROL_AE_MODE_ON_ALWAYS_FLASH overrides FLASH_MODE.
+ requestBuilder.set(CaptureRequest.CONTROL_AE_MODE,
+ CameraMetadata.CONTROL_AE_MODE_ON_ALWAYS_FLASH);
+ requestBuilder.set(CaptureRequest.FLASH_MODE, CameraMetadata.FLASH_MODE_SINGLE);
+ break;
+ default:
+ }
+ requestBuilder.set(CaptureRequest.CONTROL_AE_PRECAPTURE_TRIGGER,
+ CaptureRequest.CONTROL_AE_PRECAPTURE_TRIGGER_IDLE);
}
- if (mTorch) requestBuilder.set(CaptureRequest.FLASH_MODE, CameraMetadata.FLASH_MODE_TORCH);
requestBuilder.set(CaptureRequest.CONTROL_AE_EXPOSURE_COMPENSATION, mExposureCompensation);
« no previous file with comments | « media/capture/video/android/java/src/org/chromium/media/VideoCaptureCamera.java ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698