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 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
60 case mojom::MeteringMode::NONE: | 60 case mojom::MeteringMode::NONE: |
61 return PhotoCapabilities::AndroidMeteringMode::NONE; | 61 return PhotoCapabilities::AndroidMeteringMode::NONE; |
62 } | 62 } |
63 NOTREACHED(); | 63 NOTREACHED(); |
64 return PhotoCapabilities::AndroidMeteringMode::NOT_SET; | 64 return PhotoCapabilities::AndroidMeteringMode::NOT_SET; |
65 } | 65 } |
66 | 66 |
67 mojom::FillLightMode ToMojomFillLightMode( | 67 mojom::FillLightMode ToMojomFillLightMode( |
68 PhotoCapabilities::AndroidFillLightMode android_mode) { | 68 PhotoCapabilities::AndroidFillLightMode android_mode) { |
69 switch (android_mode) { | 69 switch (android_mode) { |
70 case PhotoCapabilities::AndroidFillLightMode::TORCH: | |
71 return mojom::FillLightMode::TORCH; | |
72 case PhotoCapabilities::AndroidFillLightMode::FLASH: | 70 case PhotoCapabilities::AndroidFillLightMode::FLASH: |
73 return mojom::FillLightMode::FLASH; | 71 return mojom::FillLightMode::FLASH; |
74 case PhotoCapabilities::AndroidFillLightMode::AUTO: | 72 case PhotoCapabilities::AndroidFillLightMode::AUTO: |
75 return mojom::FillLightMode::AUTO; | 73 return mojom::FillLightMode::AUTO; |
76 case PhotoCapabilities::AndroidFillLightMode::OFF: | 74 case PhotoCapabilities::AndroidFillLightMode::OFF: |
77 return mojom::FillLightMode::OFF; | 75 return mojom::FillLightMode::OFF; |
78 case PhotoCapabilities::AndroidFillLightMode::NONE: | |
79 return mojom::FillLightMode::NONE; | |
80 case PhotoCapabilities::AndroidFillLightMode::NOT_SET: | 76 case PhotoCapabilities::AndroidFillLightMode::NOT_SET: |
81 NOTREACHED(); | 77 NOTREACHED(); |
82 } | 78 } |
83 return mojom::FillLightMode::NONE; | 79 return mojom::FillLightMode::OFF; |
Reilly Grant (use Gerrit)
2017/03/31 20:13:09
NOTREACHED();
return mojom::FillLightMode::OFF;
mcasas
2017/03/31 21:14:47
Done.
| |
84 } | 80 } |
85 | 81 |
86 PhotoCapabilities::AndroidFillLightMode ToAndroidFillLightMode( | 82 PhotoCapabilities::AndroidFillLightMode ToAndroidFillLightMode( |
87 mojom::FillLightMode mojom_mode) { | 83 mojom::FillLightMode mojom_mode) { |
88 switch (mojom_mode) { | 84 switch (mojom_mode) { |
89 case mojom::FillLightMode::TORCH: | |
90 return PhotoCapabilities::AndroidFillLightMode::TORCH; | |
91 case mojom::FillLightMode::FLASH: | 85 case mojom::FillLightMode::FLASH: |
92 return PhotoCapabilities::AndroidFillLightMode::FLASH; | 86 return PhotoCapabilities::AndroidFillLightMode::FLASH; |
93 case mojom::FillLightMode::AUTO: | 87 case mojom::FillLightMode::AUTO: |
94 return PhotoCapabilities::AndroidFillLightMode::AUTO; | 88 return PhotoCapabilities::AndroidFillLightMode::AUTO; |
95 case mojom::FillLightMode::OFF: | 89 case mojom::FillLightMode::OFF: |
96 return PhotoCapabilities::AndroidFillLightMode::OFF; | 90 return PhotoCapabilities::AndroidFillLightMode::OFF; |
97 case mojom::FillLightMode::NONE: | |
98 return PhotoCapabilities::AndroidFillLightMode::NONE; | |
99 } | 91 } |
100 NOTREACHED(); | 92 NOTREACHED(); |
101 return PhotoCapabilities::AndroidFillLightMode::NOT_SET; | 93 return PhotoCapabilities::AndroidFillLightMode::NOT_SET; |
102 } | 94 } |
103 | 95 |
104 } // anonymous namespace | 96 } // anonymous namespace |
105 | 97 |
106 // static | 98 // static |
107 bool VideoCaptureDeviceAndroid::RegisterVideoCaptureDevice(JNIEnv* env) { | 99 bool VideoCaptureDeviceAndroid::RegisterVideoCaptureDevice(JNIEnv* env) { |
108 return RegisterNativesImpl(env); | 100 return RegisterNativesImpl(env); |
(...skipping 394 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
503 #endif | 495 #endif |
504 JNIEnv* env = AttachCurrentThread(); | 496 JNIEnv* env = AttachCurrentThread(); |
505 | 497 |
506 PhotoCapabilities caps( | 498 PhotoCapabilities caps( |
507 Java_VideoCapture_getPhotoCapabilities(env, j_capture_)); | 499 Java_VideoCapture_getPhotoCapabilities(env, j_capture_)); |
508 | 500 |
509 // TODO(mcasas): Manual member copying sucks, consider adding typemapping from | 501 // TODO(mcasas): Manual member copying sucks, consider adding typemapping from |
510 // PhotoCapabilities to mojom::PhotoCapabilitiesPtr, https://crbug.com/622002. | 502 // PhotoCapabilities to mojom::PhotoCapabilitiesPtr, https://crbug.com/622002. |
511 mojom::PhotoCapabilitiesPtr photo_capabilities = | 503 mojom::PhotoCapabilitiesPtr photo_capabilities = |
512 mojom::PhotoCapabilities::New(); | 504 mojom::PhotoCapabilities::New(); |
513 photo_capabilities->iso = mojom::Range::New(); | 505 |
514 photo_capabilities->iso->current = caps.getCurrentIso(); | 506 photo_capabilities->white_balance_mode = |
515 photo_capabilities->iso->max = caps.getMaxIso(); | 507 ToMojomMeteringMode(caps.getWhiteBalanceMode()); |
516 photo_capabilities->iso->min = caps.getMinIso(); | |
517 photo_capabilities->iso->step = caps.getStepIso(); | |
518 photo_capabilities->height = mojom::Range::New(); | |
519 photo_capabilities->height->current = caps.getCurrentHeight(); | |
520 photo_capabilities->height->max = caps.getMaxHeight(); | |
521 photo_capabilities->height->min = caps.getMinHeight(); | |
522 photo_capabilities->height->step = caps.getStepHeight(); | |
523 photo_capabilities->width = mojom::Range::New(); | |
524 photo_capabilities->width->current = caps.getCurrentWidth(); | |
525 photo_capabilities->width->max = caps.getMaxWidth(); | |
526 photo_capabilities->width->min = caps.getMinWidth(); | |
527 photo_capabilities->width->step = caps.getStepWidth(); | |
528 photo_capabilities->zoom = mojom::Range::New(); | |
529 photo_capabilities->zoom->current = caps.getCurrentZoom(); | |
530 photo_capabilities->zoom->max = caps.getMaxZoom(); | |
531 photo_capabilities->zoom->min = caps.getMinZoom(); | |
532 photo_capabilities->zoom->step = caps.getStepZoom(); | |
533 photo_capabilities->focus_mode = ToMojomMeteringMode(caps.getFocusMode()); | |
534 photo_capabilities->exposure_mode = | 508 photo_capabilities->exposure_mode = |
535 ToMojomMeteringMode(caps.getExposureMode()); | 509 ToMojomMeteringMode(caps.getExposureMode()); |
510 photo_capabilities->focus_mode = ToMojomMeteringMode(caps.getFocusMode()); | |
511 | |
536 photo_capabilities->exposure_compensation = mojom::Range::New(); | 512 photo_capabilities->exposure_compensation = mojom::Range::New(); |
537 photo_capabilities->exposure_compensation->current = | 513 photo_capabilities->exposure_compensation->current = |
538 caps.getCurrentExposureCompensation(); | 514 caps.getCurrentExposureCompensation(); |
539 photo_capabilities->exposure_compensation->max = | 515 photo_capabilities->exposure_compensation->max = |
540 caps.getMaxExposureCompensation(); | 516 caps.getMaxExposureCompensation(); |
541 photo_capabilities->exposure_compensation->min = | 517 photo_capabilities->exposure_compensation->min = |
542 caps.getMinExposureCompensation(); | 518 caps.getMinExposureCompensation(); |
543 photo_capabilities->exposure_compensation->step = | 519 photo_capabilities->exposure_compensation->step = |
544 caps.getStepExposureCompensation(); | 520 caps.getStepExposureCompensation(); |
545 photo_capabilities->white_balance_mode = | |
546 ToMojomMeteringMode(caps.getWhiteBalanceMode()); | |
547 photo_capabilities->fill_light_mode = | |
548 ToMojomFillLightMode(caps.getFillLightMode()); | |
549 photo_capabilities->red_eye_reduction = caps.getRedEyeReduction(); | |
550 photo_capabilities->color_temperature = mojom::Range::New(); | 521 photo_capabilities->color_temperature = mojom::Range::New(); |
551 photo_capabilities->color_temperature->current = | 522 photo_capabilities->color_temperature->current = |
552 caps.getCurrentColorTemperature(); | 523 caps.getCurrentColorTemperature(); |
553 photo_capabilities->color_temperature->max = caps.getMaxColorTemperature(); | 524 photo_capabilities->color_temperature->max = caps.getMaxColorTemperature(); |
554 photo_capabilities->color_temperature->min = caps.getMinColorTemperature(); | 525 photo_capabilities->color_temperature->min = caps.getMinColorTemperature(); |
555 photo_capabilities->color_temperature->step = caps.getStepColorTemperature(); | 526 photo_capabilities->color_temperature->step = caps.getStepColorTemperature(); |
527 photo_capabilities->iso = mojom::Range::New(); | |
528 photo_capabilities->iso->current = caps.getCurrentIso(); | |
529 photo_capabilities->iso->max = caps.getMaxIso(); | |
530 photo_capabilities->iso->min = caps.getMinIso(); | |
531 photo_capabilities->iso->step = caps.getStepIso(); | |
532 | |
556 photo_capabilities->brightness = media::mojom::Range::New(); | 533 photo_capabilities->brightness = media::mojom::Range::New(); |
557 photo_capabilities->contrast = media::mojom::Range::New(); | 534 photo_capabilities->contrast = media::mojom::Range::New(); |
558 photo_capabilities->saturation = media::mojom::Range::New(); | 535 photo_capabilities->saturation = media::mojom::Range::New(); |
559 photo_capabilities->sharpness = media::mojom::Range::New(); | 536 photo_capabilities->sharpness = media::mojom::Range::New(); |
560 | 537 |
538 photo_capabilities->zoom = mojom::Range::New(); | |
539 photo_capabilities->zoom->current = caps.getCurrentZoom(); | |
540 photo_capabilities->zoom->max = caps.getMaxZoom(); | |
541 photo_capabilities->zoom->min = caps.getMinZoom(); | |
542 photo_capabilities->zoom->step = caps.getStepZoom(); | |
543 | |
544 photo_capabilities->torch = caps.getTorch(); | |
545 | |
546 photo_capabilities->red_eye_reduction = | |
547 caps.getRedEyeReduction() ? media::mojom::RedEyeReduction::CONTROLLABLE | |
548 : media::mojom::RedEyeReduction::NEVER; | |
549 photo_capabilities->height = mojom::Range::New(); | |
550 photo_capabilities->height->current = caps.getCurrentHeight(); | |
551 photo_capabilities->height->max = caps.getMaxHeight(); | |
552 photo_capabilities->height->min = caps.getMinHeight(); | |
553 photo_capabilities->height->step = caps.getStepHeight(); | |
554 photo_capabilities->width = mojom::Range::New(); | |
555 photo_capabilities->width->current = caps.getCurrentWidth(); | |
556 photo_capabilities->width->max = caps.getMaxWidth(); | |
557 photo_capabilities->width->min = caps.getMinWidth(); | |
558 photo_capabilities->width->step = caps.getStepWidth(); | |
559 const auto fill_light_modes = caps.getFillLightModes(); | |
560 std::vector<media::mojom::FillLightMode> modes; | |
561 for (const auto& fill_light_mode : fill_light_modes) | |
562 modes.push_back(ToMojomFillLightMode(fill_light_mode)); | |
563 photo_capabilities->fill_light_mode = modes; | |
564 | |
561 callback.Run(std::move(photo_capabilities)); | 565 callback.Run(std::move(photo_capabilities)); |
562 } | 566 } |
563 | 567 |
564 void VideoCaptureDeviceAndroid::DoSetPhotoOptions( | 568 void VideoCaptureDeviceAndroid::DoSetPhotoOptions( |
565 mojom::PhotoSettingsPtr settings, | 569 mojom::PhotoSettingsPtr settings, |
566 SetPhotoOptionsCallback callback) { | 570 SetPhotoOptionsCallback callback) { |
567 DCHECK(main_task_runner_->BelongsToCurrentThread()); | 571 DCHECK(main_task_runner_->BelongsToCurrentThread()); |
568 #if DCHECK_IS_ON() | 572 #if DCHECK_IS_ON() |
569 { | 573 { |
570 base::AutoLock lock(lock_); | 574 base::AutoLock lock(lock_); |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
615 | 619 |
616 const double color_temperature = | 620 const double color_temperature = |
617 settings->has_color_temperature ? settings->color_temperature : 0.0; | 621 settings->has_color_temperature ? settings->color_temperature : 0.0; |
618 | 622 |
619 Java_VideoCapture_setPhotoOptions( | 623 Java_VideoCapture_setPhotoOptions( |
620 env, j_capture_, zoom, static_cast<int>(focus_mode), | 624 env, j_capture_, zoom, static_cast<int>(focus_mode), |
621 static_cast<int>(exposure_mode), width, height, points_of_interest, | 625 static_cast<int>(exposure_mode), width, height, points_of_interest, |
622 settings->has_exposure_compensation, exposure_compensation, | 626 settings->has_exposure_compensation, exposure_compensation, |
623 static_cast<int>(white_balance_mode), iso, | 627 static_cast<int>(white_balance_mode), iso, |
624 settings->has_red_eye_reduction, settings->red_eye_reduction, | 628 settings->has_red_eye_reduction, settings->red_eye_reduction, |
625 static_cast<int>(fill_light_mode), color_temperature); | 629 static_cast<int>(fill_light_mode), settings->has_torch, settings->torch, |
630 color_temperature); | |
626 | 631 |
627 callback.Run(true); | 632 callback.Run(true); |
628 } | 633 } |
629 | 634 |
630 } // namespace media | 635 } // namespace media |
OLD | NEW |