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

Unified Diff: content/renderer/media/media_stream_video_source.cc

Issue 2664673002: Media Capture Depth Stream Extensions API: videoKind settings and constraint. (Closed)
Patch Set: Created 3 years, 10 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 side-by-side diff with in-line comments
Download patch
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..f5513d56272506064ddd52a8408a9fcf52de3684 100644
--- a/content/renderer/media/media_stream_video_source.cc
+++ b/content/renderer/media/media_stream_video_source.cc
@@ -15,6 +15,9 @@
#include "content/child/child_process.h"
#include "content/renderer/media/media_stream_video_track.h"
#include "content/renderer/media/video_track_adapter.h"
+#include "third_party/WebKit/public/platform/WebString.h"
+
+using blink::WebString;
namespace content {
@@ -28,7 +31,17 @@ const char* const kLegalVideoConstraints[] = {"width",
"deviceId",
"groupId",
"mediaStreamSource",
- "googNoiseReduction"};
+ "googNoiseReduction",
+ "videoKind"};
+
+const char kVideoKindDepth[] = "depth";
Guido Urdaneta 2017/02/07 10:26:04 This constant is also defined elsewhere and litera
aleksandar.stojiljkovic 2017/02/07 11:33:49 Done - media_stream_options.h
aleksandar.stojiljkovic 2017/02/09 21:39:25 Moved to media_stream_video_track.h as it is used
+const char kVideoKindColor[] = "color";
+// Returns videoKind value for |format|.
+WebString getVideoKindForFormat(const media::VideoCaptureFormat& format) {
+ return (format.pixel_format == media::PIXEL_FORMAT_Y16)
+ ? WebString::fromUTF8(kVideoKindDepth)
+ : WebString::fromUTF8(kVideoKindColor);
kinuko 2017/02/07 04:55:49 nit: fromASCII() would be enough as they're both a
aleksandar.stojiljkovic 2017/02/07 11:33:49 Done.
+}
// Returns true if |constraint| has mandatory constraints.
bool HasMandatoryConstraints(const blink::WebMediaConstraints& constraints) {
@@ -142,6 +155,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();

Powered by Google App Engine
This is Rietveld 408576698