| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "media/capture/video/android/video_capture_device_android.h" | 5 #include "media/capture/video/android/video_capture_device_android.h" |
| 6 | 6 |
| 7 #include <stdint.h> | 7 #include <stdint.h> |
| 8 #include <utility> | 8 #include <utility> |
| 9 | 9 |
| 10 #include "base/android/jni_android.h" | 10 #include "base/android/jni_android.h" |
| (...skipping 486 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 497 JNIEnv* env = AttachCurrentThread(); | 497 JNIEnv* env = AttachCurrentThread(); |
| 498 | 498 |
| 499 PhotoCapabilities caps( | 499 PhotoCapabilities caps( |
| 500 Java_VideoCapture_getPhotoCapabilities(env, j_capture_)); | 500 Java_VideoCapture_getPhotoCapabilities(env, j_capture_)); |
| 501 | 501 |
| 502 // TODO(mcasas): Manual member copying sucks, consider adding typemapping from | 502 // TODO(mcasas): Manual member copying sucks, consider adding typemapping from |
| 503 // PhotoCapabilities to mojom::PhotoCapabilitiesPtr, https://crbug.com/622002. | 503 // PhotoCapabilities to mojom::PhotoCapabilitiesPtr, https://crbug.com/622002. |
| 504 mojom::PhotoCapabilitiesPtr photo_capabilities = | 504 mojom::PhotoCapabilitiesPtr photo_capabilities = |
| 505 mojom::PhotoCapabilities::New(); | 505 mojom::PhotoCapabilities::New(); |
| 506 | 506 |
| 507 // TODO(mcasas): Update |supported_{white_balance,exposure,focus}_modes| as | 507 const auto jni_white_balance_modes = caps.getWhiteBalanceModes(); |
| 508 // well, https://crbug.com/700607. | 508 std::vector<mojom::MeteringMode> white_balance_modes; |
| 509 for (const auto& white_balance_mode : jni_white_balance_modes) |
| 510 white_balance_modes.push_back(ToMojomMeteringMode(white_balance_mode)); |
| 511 photo_capabilities->supported_white_balance_modes = white_balance_modes; |
| 509 photo_capabilities->current_white_balance_mode = | 512 photo_capabilities->current_white_balance_mode = |
| 510 ToMojomMeteringMode(caps.getWhiteBalanceMode()); | 513 ToMojomMeteringMode(caps.getWhiteBalanceMode()); |
| 514 |
| 515 const auto jni_exposure_modes = caps.getExposureModes(); |
| 516 std::vector<mojom::MeteringMode> exposure_modes; |
| 517 for (const auto& exposure_mode : jni_exposure_modes) |
| 518 exposure_modes.push_back(ToMojomMeteringMode(exposure_mode)); |
| 519 photo_capabilities->supported_exposure_modes = exposure_modes; |
| 511 photo_capabilities->current_exposure_mode = | 520 photo_capabilities->current_exposure_mode = |
| 512 ToMojomMeteringMode(caps.getExposureMode()); | 521 ToMojomMeteringMode(caps.getExposureMode()); |
| 522 |
| 523 const auto jni_focus_modes = caps.getFocusModes(); |
| 524 std::vector<mojom::MeteringMode> focus_modes; |
| 525 for (const auto& focus_mode : jni_focus_modes) |
| 526 focus_modes.push_back(ToMojomMeteringMode(focus_mode)); |
| 527 photo_capabilities->supported_focus_modes = focus_modes; |
| 513 photo_capabilities->current_focus_mode = | 528 photo_capabilities->current_focus_mode = |
| 514 ToMojomMeteringMode(caps.getFocusMode()); | 529 ToMojomMeteringMode(caps.getFocusMode()); |
| 515 | 530 |
| 516 photo_capabilities->exposure_compensation = mojom::Range::New(); | 531 photo_capabilities->exposure_compensation = mojom::Range::New(); |
| 517 photo_capabilities->exposure_compensation->current = | 532 photo_capabilities->exposure_compensation->current = |
| 518 caps.getCurrentExposureCompensation(); | 533 caps.getCurrentExposureCompensation(); |
| 519 photo_capabilities->exposure_compensation->max = | 534 photo_capabilities->exposure_compensation->max = |
| 520 caps.getMaxExposureCompensation(); | 535 caps.getMaxExposureCompensation(); |
| 521 photo_capabilities->exposure_compensation->min = | 536 photo_capabilities->exposure_compensation->min = |
| 522 caps.getMinExposureCompensation(); | 537 caps.getMinExposureCompensation(); |
| 523 photo_capabilities->exposure_compensation->step = | 538 photo_capabilities->exposure_compensation->step = |
| 524 caps.getStepExposureCompensation(); | 539 caps.getStepExposureCompensation(); |
| 525 photo_capabilities->color_temperature = mojom::Range::New(); | 540 photo_capabilities->color_temperature = mojom::Range::New(); |
| 526 photo_capabilities->color_temperature->current = | 541 photo_capabilities->color_temperature->current = |
| 527 caps.getCurrentColorTemperature(); | 542 caps.getCurrentColorTemperature(); |
| 528 photo_capabilities->color_temperature->max = caps.getMaxColorTemperature(); | 543 photo_capabilities->color_temperature->max = caps.getMaxColorTemperature(); |
| 529 photo_capabilities->color_temperature->min = caps.getMinColorTemperature(); | 544 photo_capabilities->color_temperature->min = caps.getMinColorTemperature(); |
| 530 photo_capabilities->color_temperature->step = caps.getStepColorTemperature(); | 545 photo_capabilities->color_temperature->step = caps.getStepColorTemperature(); |
| 531 photo_capabilities->iso = mojom::Range::New(); | 546 photo_capabilities->iso = mojom::Range::New(); |
| 532 photo_capabilities->iso->current = caps.getCurrentIso(); | 547 photo_capabilities->iso->current = caps.getCurrentIso(); |
| 533 photo_capabilities->iso->max = caps.getMaxIso(); | 548 photo_capabilities->iso->max = caps.getMaxIso(); |
| 534 photo_capabilities->iso->min = caps.getMinIso(); | 549 photo_capabilities->iso->min = caps.getMinIso(); |
| 535 photo_capabilities->iso->step = caps.getStepIso(); | 550 photo_capabilities->iso->step = caps.getStepIso(); |
| 536 | 551 |
| 537 photo_capabilities->brightness = media::mojom::Range::New(); | 552 photo_capabilities->brightness = mojom::Range::New(); |
| 538 photo_capabilities->contrast = media::mojom::Range::New(); | 553 photo_capabilities->contrast = mojom::Range::New(); |
| 539 photo_capabilities->saturation = media::mojom::Range::New(); | 554 photo_capabilities->saturation = mojom::Range::New(); |
| 540 photo_capabilities->sharpness = media::mojom::Range::New(); | 555 photo_capabilities->sharpness = mojom::Range::New(); |
| 541 | 556 |
| 542 photo_capabilities->zoom = mojom::Range::New(); | 557 photo_capabilities->zoom = mojom::Range::New(); |
| 543 photo_capabilities->zoom->current = caps.getCurrentZoom(); | 558 photo_capabilities->zoom->current = caps.getCurrentZoom(); |
| 544 photo_capabilities->zoom->max = caps.getMaxZoom(); | 559 photo_capabilities->zoom->max = caps.getMaxZoom(); |
| 545 photo_capabilities->zoom->min = caps.getMinZoom(); | 560 photo_capabilities->zoom->min = caps.getMinZoom(); |
| 546 photo_capabilities->zoom->step = caps.getStepZoom(); | 561 photo_capabilities->zoom->step = caps.getStepZoom(); |
| 547 | 562 |
| 548 photo_capabilities->supports_torch = caps.getSupportsTorch(); | 563 photo_capabilities->supports_torch = caps.getSupportsTorch(); |
| 549 photo_capabilities->torch = caps.getTorch(); | 564 photo_capabilities->torch = caps.getTorch(); |
| 550 | 565 |
| 551 photo_capabilities->red_eye_reduction = | 566 photo_capabilities->red_eye_reduction = |
| 552 caps.getRedEyeReduction() ? media::mojom::RedEyeReduction::CONTROLLABLE | 567 caps.getRedEyeReduction() ? mojom::RedEyeReduction::CONTROLLABLE |
| 553 : media::mojom::RedEyeReduction::NEVER; | 568 : mojom::RedEyeReduction::NEVER; |
| 554 photo_capabilities->height = mojom::Range::New(); | 569 photo_capabilities->height = mojom::Range::New(); |
| 555 photo_capabilities->height->current = caps.getCurrentHeight(); | 570 photo_capabilities->height->current = caps.getCurrentHeight(); |
| 556 photo_capabilities->height->max = caps.getMaxHeight(); | 571 photo_capabilities->height->max = caps.getMaxHeight(); |
| 557 photo_capabilities->height->min = caps.getMinHeight(); | 572 photo_capabilities->height->min = caps.getMinHeight(); |
| 558 photo_capabilities->height->step = caps.getStepHeight(); | 573 photo_capabilities->height->step = caps.getStepHeight(); |
| 559 photo_capabilities->width = mojom::Range::New(); | 574 photo_capabilities->width = mojom::Range::New(); |
| 560 photo_capabilities->width->current = caps.getCurrentWidth(); | 575 photo_capabilities->width->current = caps.getCurrentWidth(); |
| 561 photo_capabilities->width->max = caps.getMaxWidth(); | 576 photo_capabilities->width->max = caps.getMaxWidth(); |
| 562 photo_capabilities->width->min = caps.getMinWidth(); | 577 photo_capabilities->width->min = caps.getMinWidth(); |
| 563 photo_capabilities->width->step = caps.getStepWidth(); | 578 photo_capabilities->width->step = caps.getStepWidth(); |
| 564 const auto fill_light_modes = caps.getFillLightModes(); | 579 const auto fill_light_modes = caps.getFillLightModes(); |
| 565 std::vector<media::mojom::FillLightMode> modes; | 580 std::vector<mojom::FillLightMode> modes; |
| 566 for (const auto& fill_light_mode : fill_light_modes) | 581 for (const auto& fill_light_mode : fill_light_modes) |
| 567 modes.push_back(ToMojomFillLightMode(fill_light_mode)); | 582 modes.push_back(ToMojomFillLightMode(fill_light_mode)); |
| 568 photo_capabilities->fill_light_mode = modes; | 583 photo_capabilities->fill_light_mode = modes; |
| 569 | 584 |
| 570 callback.Run(std::move(photo_capabilities)); | 585 callback.Run(std::move(photo_capabilities)); |
| 571 } | 586 } |
| 572 | 587 |
| 573 void VideoCaptureDeviceAndroid::DoSetPhotoOptions( | 588 void VideoCaptureDeviceAndroid::DoSetPhotoOptions( |
| 574 mojom::PhotoSettingsPtr settings, | 589 mojom::PhotoSettingsPtr settings, |
| 575 SetPhotoOptionsCallback callback) { | 590 SetPhotoOptionsCallback callback) { |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 631 settings->has_exposure_compensation, exposure_compensation, | 646 settings->has_exposure_compensation, exposure_compensation, |
| 632 static_cast<int>(white_balance_mode), iso, | 647 static_cast<int>(white_balance_mode), iso, |
| 633 settings->has_red_eye_reduction, settings->red_eye_reduction, | 648 settings->has_red_eye_reduction, settings->red_eye_reduction, |
| 634 static_cast<int>(fill_light_mode), settings->has_torch, settings->torch, | 649 static_cast<int>(fill_light_mode), settings->has_torch, settings->torch, |
| 635 color_temperature); | 650 color_temperature); |
| 636 | 651 |
| 637 callback.Run(true); | 652 callback.Run(true); |
| 638 } | 653 } |
| 639 | 654 |
| 640 } // namespace media | 655 } // namespace media |
| OLD | NEW |