Index: content/renderer/media/media_stream_video_source.cc |
diff --git a/content/renderer/media/media_stream_video_source.cc b/content/renderer/media/media_stream_video_source.cc |
index 759e6213960d07c8daf12bacb0245514a773d069..0c2dd59b692138b91ee979af7aa23f469aa704df 100644 |
--- a/content/renderer/media/media_stream_video_source.cc |
+++ b/content/renderer/media/media_stream_video_source.cc |
@@ -13,6 +13,7 @@ |
#include "base/strings/string_number_conversions.h" |
#include "base/trace_event/trace_event.h" |
#include "content/child/child_process.h" |
+#include "content/renderer/media/media_stream_constraints_util_video_source.h" |
#include "content/renderer/media/media_stream_video_track.h" |
#include "content/renderer/media/video_track_adapter.h" |
@@ -28,7 +29,8 @@ const char* const kLegalVideoConstraints[] = {"width", |
"deviceId", |
"groupId", |
"mediaStreamSource", |
- "googNoiseReduction"}; |
+ "googNoiseReduction", |
+ "videoKind"}; |
// Returns true if |constraint| has mandatory constraints. |
bool HasMandatoryConstraints(const blink::WebMediaConstraints& constraints) { |
@@ -142,6 +144,9 @@ bool UpdateFormatForConstraints( |
(constraints.height.hasExact() && |
constraints.height.exact() > format->frame_size.height())) { |
*failing_constraint_name = constraints.height.name(); |
+ } else if (constraints.videoKind.hasExact() && |
+ !constraints.videoKind.matches(GetVideoKindForFormat(*format))) { |
+ *failing_constraint_name = constraints.videoKind.name(); |
} else if (!constraints.frameRate.matches(format->frame_rate)) { |
if (constraints.frameRate.hasMax()) { |
const double value = constraints.frameRate.max(); |