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 1db2fe8c4a90a980ecef92b427301a51519bb5f4..c95f2ee24280dab0ba5be3dc93f7eaf697dc4c5a 100644 |
--- a/media/capture/video/android/video_capture_device_android.cc |
+++ b/media/capture/video/android/video_capture_device_android.cc |
@@ -67,35 +67,28 @@ PhotoCapabilities::AndroidMeteringMode ToAndroidMeteringMode( |
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; |
+ NOTREACHED(); |
+ return mojom::FillLightMode::OFF; |
} |
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; |
@@ -510,29 +503,13 @@ void VideoCaptureDeviceAndroid::DoGetPhotoCapabilities( |
// PhotoCapabilities to mojom::PhotoCapabilitiesPtr, https://crbug.com/622002. |
mojom::PhotoCapabilitiesPtr photo_capabilities = |
mojom::PhotoCapabilities::New(); |
- photo_capabilities->iso = mojom::Range::New(); |
- photo_capabilities->iso->current = caps.getCurrentIso(); |
- photo_capabilities->iso->max = caps.getMaxIso(); |
- photo_capabilities->iso->min = caps.getMinIso(); |
- photo_capabilities->iso->step = caps.getStepIso(); |
- photo_capabilities->height = mojom::Range::New(); |
- photo_capabilities->height->current = caps.getCurrentHeight(); |
- photo_capabilities->height->max = caps.getMaxHeight(); |
- photo_capabilities->height->min = caps.getMinHeight(); |
- photo_capabilities->height->step = caps.getStepHeight(); |
- photo_capabilities->width = mojom::Range::New(); |
- photo_capabilities->width->current = caps.getCurrentWidth(); |
- photo_capabilities->width->max = caps.getMaxWidth(); |
- photo_capabilities->width->min = caps.getMinWidth(); |
- photo_capabilities->width->step = caps.getStepWidth(); |
- photo_capabilities->zoom = mojom::Range::New(); |
- photo_capabilities->zoom->current = caps.getCurrentZoom(); |
- photo_capabilities->zoom->max = caps.getMaxZoom(); |
- photo_capabilities->zoom->min = caps.getMinZoom(); |
- photo_capabilities->zoom->step = caps.getStepZoom(); |
- photo_capabilities->focus_mode = ToMojomMeteringMode(caps.getFocusMode()); |
+ |
+ photo_capabilities->white_balance_mode = |
+ ToMojomMeteringMode(caps.getWhiteBalanceMode()); |
photo_capabilities->exposure_mode = |
ToMojomMeteringMode(caps.getExposureMode()); |
+ photo_capabilities->focus_mode = ToMojomMeteringMode(caps.getFocusMode()); |
+ |
photo_capabilities->exposure_compensation = mojom::Range::New(); |
photo_capabilities->exposure_compensation->current = |
caps.getCurrentExposureCompensation(); |
@@ -542,22 +519,50 @@ void VideoCaptureDeviceAndroid::DoGetPhotoCapabilities( |
caps.getMinExposureCompensation(); |
photo_capabilities->exposure_compensation->step = |
caps.getStepExposureCompensation(); |
- photo_capabilities->white_balance_mode = |
- ToMojomMeteringMode(caps.getWhiteBalanceMode()); |
- photo_capabilities->fill_light_mode = |
- ToMojomFillLightMode(caps.getFillLightMode()); |
- photo_capabilities->red_eye_reduction = caps.getRedEyeReduction(); |
photo_capabilities->color_temperature = mojom::Range::New(); |
photo_capabilities->color_temperature->current = |
caps.getCurrentColorTemperature(); |
photo_capabilities->color_temperature->max = caps.getMaxColorTemperature(); |
photo_capabilities->color_temperature->min = caps.getMinColorTemperature(); |
photo_capabilities->color_temperature->step = caps.getStepColorTemperature(); |
+ photo_capabilities->iso = mojom::Range::New(); |
+ photo_capabilities->iso->current = caps.getCurrentIso(); |
+ photo_capabilities->iso->max = caps.getMaxIso(); |
+ photo_capabilities->iso->min = caps.getMinIso(); |
+ photo_capabilities->iso->step = caps.getStepIso(); |
+ |
photo_capabilities->brightness = media::mojom::Range::New(); |
photo_capabilities->contrast = media::mojom::Range::New(); |
photo_capabilities->saturation = media::mojom::Range::New(); |
photo_capabilities->sharpness = media::mojom::Range::New(); |
+ photo_capabilities->zoom = mojom::Range::New(); |
+ photo_capabilities->zoom->current = caps.getCurrentZoom(); |
+ photo_capabilities->zoom->max = caps.getMaxZoom(); |
+ photo_capabilities->zoom->min = caps.getMinZoom(); |
+ photo_capabilities->zoom->step = caps.getStepZoom(); |
+ |
+ photo_capabilities->torch = caps.getTorch(); |
+ |
+ photo_capabilities->red_eye_reduction = |
+ caps.getRedEyeReduction() ? media::mojom::RedEyeReduction::CONTROLLABLE |
+ : media::mojom::RedEyeReduction::NEVER; |
+ photo_capabilities->height = mojom::Range::New(); |
+ photo_capabilities->height->current = caps.getCurrentHeight(); |
+ photo_capabilities->height->max = caps.getMaxHeight(); |
+ photo_capabilities->height->min = caps.getMinHeight(); |
+ photo_capabilities->height->step = caps.getStepHeight(); |
+ photo_capabilities->width = mojom::Range::New(); |
+ photo_capabilities->width->current = caps.getCurrentWidth(); |
+ photo_capabilities->width->max = caps.getMaxWidth(); |
+ photo_capabilities->width->min = caps.getMinWidth(); |
+ photo_capabilities->width->step = caps.getStepWidth(); |
+ const auto fill_light_modes = caps.getFillLightModes(); |
+ std::vector<media::mojom::FillLightMode> modes; |
+ for (const auto& fill_light_mode : fill_light_modes) |
+ modes.push_back(ToMojomFillLightMode(fill_light_mode)); |
+ photo_capabilities->fill_light_mode = modes; |
+ |
callback.Run(std::move(photo_capabilities)); |
} |
@@ -622,7 +627,8 @@ void VideoCaptureDeviceAndroid::DoSetPhotoOptions( |
settings->has_exposure_compensation, exposure_compensation, |
static_cast<int>(white_balance_mode), iso, |
settings->has_red_eye_reduction, settings->red_eye_reduction, |
- static_cast<int>(fill_light_mode), color_temperature); |
+ static_cast<int>(fill_light_mode), settings->has_torch, settings->torch, |
+ color_temperature); |
callback.Run(true); |
} |