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

Unified Diff: media/capture/video/android/video_capture_device_android.cc

Issue 2301053004: Image Capture: adding fillLightMode getting/setting (Closed)
Patch Set: Created 4 years, 3 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
Index: media/capture/video/android/video_capture_device_android.cc
diff --git a/media/capture/video/android/video_capture_device_android.cc b/media/capture/video/android/video_capture_device_android.cc
index 8e4945a54794c4210508d1991941c140855cd9c2..58cc5fe1628dad89a95775e3f0f23d5180f64865 100644
--- a/media/capture/video/android/video_capture_device_android.cc
+++ b/media/capture/video/android/video_capture_device_android.cc
@@ -40,12 +40,12 @@ mojom::MeteringMode ToMojomMeteringMode(
return mojom::MeteringMode::SINGLE_SHOT;
case PhotoCapabilities::AndroidMeteringMode::CONTINUOUS:
return mojom::MeteringMode::CONTINUOUS;
- case PhotoCapabilities::AndroidMeteringMode::UNAVAILABLE:
- return mojom::MeteringMode::UNAVAILABLE;
+ case PhotoCapabilities::AndroidMeteringMode::NONE:
+ return mojom::MeteringMode::NONE;
case PhotoCapabilities::AndroidMeteringMode::NOT_SET:
NOTREACHED();
}
- return mojom::MeteringMode::UNAVAILABLE;
+ return mojom::MeteringMode::NONE;
}
PhotoCapabilities::AndroidMeteringMode ToAndroidMeteringMode(
@@ -57,13 +57,50 @@ PhotoCapabilities::AndroidMeteringMode ToAndroidMeteringMode(
return PhotoCapabilities::AndroidMeteringMode::SINGLE_SHOT;
case mojom::MeteringMode::CONTINUOUS:
return PhotoCapabilities::AndroidMeteringMode::CONTINUOUS;
- case mojom::MeteringMode::UNAVAILABLE:
- return PhotoCapabilities::AndroidMeteringMode::UNAVAILABLE;
+ case mojom::MeteringMode::NONE:
+ return PhotoCapabilities::AndroidMeteringMode::NONE;
}
NOTREACHED();
return PhotoCapabilities::AndroidMeteringMode::NOT_SET;
}
+mojom::FillLightMode ToMojomFillLightMode(
+ PhotoCapabilities::AndroidFillLightMode android_mode) {
+ switch (android_mode) {
+ case PhotoCapabilities::AndroidFillLightMode::TORCH:
+ return mojom::FillLightMode::TORCH;
+ case PhotoCapabilities::AndroidFillLightMode::FLASH:
+ return mojom::FillLightMode::FLASH;
+ case PhotoCapabilities::AndroidFillLightMode::AUTO:
+ return mojom::FillLightMode::AUTO;
+ case PhotoCapabilities::AndroidFillLightMode::OFF:
+ return mojom::FillLightMode::OFF;
+ case PhotoCapabilities::AndroidFillLightMode::NONE:
+ return mojom::FillLightMode::NONE;
+ case PhotoCapabilities::AndroidFillLightMode::NOT_SET:
+ NOTREACHED();
+ }
+ return mojom::FillLightMode::NONE;
+}
+
+PhotoCapabilities::AndroidFillLightMode ToAndroidFillLightMode(
+ mojom::FillLightMode mojom_mode) {
+ switch (mojom_mode) {
+ case mojom::FillLightMode::TORCH:
+ return PhotoCapabilities::AndroidFillLightMode::TORCH;
+ case mojom::FillLightMode::FLASH:
+ return PhotoCapabilities::AndroidFillLightMode::FLASH;
+ case mojom::FillLightMode::AUTO:
+ return PhotoCapabilities::AndroidFillLightMode::AUTO;
+ case mojom::FillLightMode::OFF:
+ return PhotoCapabilities::AndroidFillLightMode::OFF;
+ case mojom::FillLightMode::NONE:
+ return PhotoCapabilities::AndroidFillLightMode::NONE;
+ }
+ NOTREACHED();
+ return PhotoCapabilities::AndroidFillLightMode::NOT_SET;
+}
+
} // anonymous namespace
// static
@@ -483,6 +520,8 @@ void VideoCaptureDeviceAndroid::DoGetPhotoCapabilities(
caps.getMinExposureCompensation();
photo_capabilities->white_balance_mode =
ToMojomMeteringMode(caps.getWhiteBalanceMode());
+ photo_capabilities->fill_light_mode =
+ ToMojomFillLightMode(caps.getFillLightMode());
callback.Run(std::move(photo_capabilities));
}
@@ -532,12 +571,18 @@ void VideoCaptureDeviceAndroid::DoSetPhotoOptions(
const int iso = settings->has_iso ? settings->iso : 0;
+ const PhotoCapabilities::AndroidFillLightMode fill_light_mode =
+ settings->has_fill_light_mode
+ ? ToAndroidFillLightMode(settings->fill_light_mode)
+ : PhotoCapabilities::AndroidFillLightMode::NOT_SET;
+
Java_VideoCapture_setPhotoOptions(
env, j_capture_, zoom, static_cast<int>(focus_mode),
static_cast<int>(exposure_mode), width, height, points_of_interest,
settings->has_exposure_compensation, exposure_compensation,
static_cast<int>(white_balance_mode), iso,
- settings->has_red_eye_reduction, settings->red_eye_reduction);
+ settings->has_red_eye_reduction, settings->red_eye_reduction,
+ static_cast<int>(fill_light_mode));
callback.Run(true);
}

Powered by Google App Engine
This is Rietveld 408576698