| Index: content/renderer/media/media_stream_constraints_util_video_source.cc
|
| diff --git a/content/renderer/media/media_stream_constraints_util_video_source.cc b/content/renderer/media/media_stream_constraints_util_video_source.cc
|
| index 48a105cd7c6581158eab322507a7d7fecfb883f4..59826d51aee494fca6976e1c18a2919ac1c36733 100644
|
| --- a/content/renderer/media/media_stream_constraints_util_video_source.cc
|
| +++ b/content/renderer/media/media_stream_constraints_util_video_source.cc
|
| @@ -30,6 +30,10 @@ const int kDefaultResolutionArea = MediaStreamVideoSource::kDefaultWidth *
|
| // The minimum aspect ratio to be supported by sources.
|
| const double kMinSourceAspectRatio = 0.05;
|
|
|
| +// VideoKind enum values. See https://w3c.github.io/mediacapture-depth.
|
| +const char kVideoKindColor[] = "color";
|
| +const char kVideoKindDepth[] = "depth";
|
| +
|
| blink::WebString ToWebString(::mojom::FacingMode facing_mode) {
|
| switch (facing_mode) {
|
| case ::mojom::FacingMode::USER:
|
| @@ -307,7 +311,10 @@ double FormatSourceDistance(
|
| constraint_set.aspectRatio, failed_constraint_name) +
|
| FrameRateConstraintSourceDistance(format.frame_rate,
|
| constraint_set.frameRate,
|
| - failed_constraint_name);
|
| + failed_constraint_name) +
|
| + StringConstraintSourceDistance(GetVideoKindForFormat(format),
|
| + constraint_set.videoKind,
|
| + failed_constraint_name);
|
| }
|
|
|
| // Returns a custom distance between a set of candidate settings and a
|
| @@ -477,6 +484,8 @@ double CandidateFitnessDistance(
|
| constraint_set.facingMode);
|
| fitness += FrameRateConstraintFitnessDistance(candidate.GetFrameRate(),
|
| constraint_set.frameRate);
|
| + fitness += StringConstraintFitnessDistance(candidate.GetVideoKind(),
|
| + constraint_set.videoKind);
|
| fitness += PowerLineFrequencyConstraintFitnessDistance(
|
| candidate.GetPowerLineFrequency(), constraint_set.googPowerLineFrequency);
|
| fitness += ResolutionConstraintFitnessDistance(candidate.GetHeight(),
|
| @@ -554,6 +563,13 @@ void AppendDistanceFromDefault(const VideoCaptureSourceSettings& candidate,
|
|
|
| } // namespace
|
|
|
| +blink::WebString GetVideoKindForFormat(
|
| + const media::VideoCaptureFormat& format) {
|
| + return (format.pixel_format == media::PIXEL_FORMAT_Y16)
|
| + ? blink::WebString::fromASCII(kVideoKindDepth)
|
| + : blink::WebString::fromASCII(kVideoKindColor);
|
| +}
|
| +
|
| VideoCaptureCapabilities::VideoCaptureCapabilities() = default;
|
| VideoCaptureCapabilities::VideoCaptureCapabilities(
|
| VideoCaptureCapabilities&& other) = default;
|
| @@ -609,6 +625,10 @@ blink::WebString VideoCaptureSourceSettings::GetDeviceId() const {
|
| return blink::WebString::fromASCII(device_id_.data());
|
| }
|
|
|
| +blink::WebString VideoCaptureSourceSettings::GetVideoKind() const {
|
| + return GetVideoKindForFormat(format_);
|
| +}
|
| +
|
| const char kDefaultFailedConstraintName[] = "";
|
|
|
| VideoCaptureSourceSelectionResult::VideoCaptureSourceSelectionResult()
|
|
|