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

Side by Side Diff: media/capture/video/android/video_capture_device_android.cc

Issue 2808073003: Image Capture: wire supported exposure/focus/white balance modes Android (Closed)
Patch Set: reillyg@ comments Created 3 years, 8 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 unified diff | Download patch
« no previous file with comments | « media/capture/video/android/photo_capabilities.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
OLDNEW
« no previous file with comments | « media/capture/video/android/photo_capabilities.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698