Chromium Code Reviews| Index: content/renderer/media/media_stream_constraints_util_video_device.cc |
| diff --git a/content/renderer/media/media_stream_constraints_util_video_device.cc b/content/renderer/media/media_stream_constraints_util_video_device.cc |
| index 344ccd8066e38253a7f934ec67b179408113a982..2a3fe7373759af6d2fb5597d1deaf9792610f681 100644 |
| --- a/content/renderer/media/media_stream_constraints_util_video_device.cc |
| +++ b/content/renderer/media/media_stream_constraints_util_video_device.cc |
| @@ -174,15 +174,13 @@ class ConstrainedFormat { |
| VideoDeviceCaptureSourceSelectionResult ResultFromSettings( |
| const VideoDeviceCaptureSourceSettings& settings) { |
| - VideoDeviceCaptureSourceSelectionResult result; |
| - result.capture_params.power_line_frequency = settings.power_line_frequency(); |
| - result.capture_params.requested_format = settings.format(); |
| - result.device_id = settings.device_id(); |
| - result.facing_mode = settings.facing_mode(); |
| - result.noise_reduction = settings.noise_reduction(); |
| - result.failed_constraint_name = nullptr; |
| + media::VideoCaptureParams capture_params; |
| + capture_params.requested_format = settings.format(); |
| + capture_params.power_line_frequency = settings.power_line_frequency(); |
| - return result; |
| + return VideoDeviceCaptureSourceSelectionResult( |
| + settings.device_id(), settings.facing_mode(), capture_params, |
| + settings.noise_reduction()); |
| } |
| // Generic distance function between two numeric values. Based on the fitness |
| @@ -748,12 +746,28 @@ VideoDeviceCaptureCapabilities::~VideoDeviceCaptureCapabilities() = default; |
| VideoDeviceCaptureCapabilities& VideoDeviceCaptureCapabilities::operator=( |
| VideoDeviceCaptureCapabilities&& other) = default; |
| -const char kDefaultFailedConstraintName[] = ""; |
| - |
| VideoDeviceCaptureSourceSelectionResult:: |
| VideoDeviceCaptureSourceSelectionResult() |
| - : failed_constraint_name(kDefaultFailedConstraintName), |
| - facing_mode(::mojom::FacingMode::NONE) {} |
| + : VideoDeviceCaptureSourceSelectionResult("") {} |
| + |
| +VideoDeviceCaptureSourceSelectionResult:: |
| + VideoDeviceCaptureSourceSelectionResult(const char* failed_constraint_name) |
| + : failed_constraint_name_(failed_constraint_name) {} |
| + |
| +// Creates a result with the given values. |device_id| is moved to an internal |
| +// field. |
| +VideoDeviceCaptureSourceSelectionResult:: |
| + VideoDeviceCaptureSourceSelectionResult( |
| + const std::string& device_id, |
|
hbos_chromium
2017/03/15 07:54:27
|device_id| is passed as a const& and isn't moved,
Guido Urdaneta
2017/03/15 19:16:47
Done.
|
| + ::mojom::FacingMode facing_mode, |
| + media::VideoCaptureParams capture_params, |
| + rtc::Optional<bool> noise_reduction) |
| + : failed_constraint_name_(nullptr), |
| + device_id_(device_id), |
| + facing_mode_(facing_mode), |
| + capture_params_(capture_params), |
| + noise_reduction_(noise_reduction) {} |
| + |
| VideoDeviceCaptureSourceSelectionResult:: |
| VideoDeviceCaptureSourceSelectionResult( |
| const VideoDeviceCaptureSourceSelectionResult& other) = default; |
| @@ -793,7 +807,7 @@ VideoDeviceCaptureSourceSelectionResult SelectVideoDeviceCaptureSourceSettings( |
| kNumDefaultDistanceEntries); |
| std::fill(best_distance.begin(), best_distance.end(), HUGE_VAL); |
| VideoDeviceCaptureSourceSelectionResult result; |
| - const char* failed_constraint_name = result.failed_constraint_name; |
| + const char* failed_constraint_name = result.failed_constraint_name(); |
| for (auto& device : capabilities.device_capabilities) { |
| double basic_device_distance = |
| @@ -884,7 +898,7 @@ VideoDeviceCaptureSourceSelectionResult SelectVideoDeviceCaptureSourceSettings( |
| } |
| if (!result.HasValue()) |
| - result.failed_constraint_name = failed_constraint_name; |
| + return VideoDeviceCaptureSourceSelectionResult(failed_constraint_name); |
| return result; |
| } |