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

Unified Diff: content/renderer/media/user_media_client_impl.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/user_media_client_impl.cc
diff --git a/content/renderer/media/user_media_client_impl.cc b/content/renderer/media/user_media_client_impl.cc
index c490a1c36117ccfaf9168a8893e34afd7b1cad7d..f7ac3dd2521bf2a396658dfc8abb5008836ca015 100644
--- a/content/renderer/media/user_media_client_impl.cc
+++ b/content/renderer/media/user_media_client_impl.cc
@@ -175,6 +175,29 @@ void CopyHotwordAndLocalEchoToStreamControls(
}
}
+bool CopyVideoKindToStreamControls(
+ const blink::WebMediaConstraints& video_constraints,
+ StreamControls* controls) {
+ if (video_constraints.isNull())
+ return true;
+
+ std::string video_kind_string;
+ if (!GetConstraintValueAsString(video_constraints,
+ &blink::WebMediaTrackConstraintSet::videoKind,
+ &video_kind_string))
+ return true;
+ if (video_kind_string == "color") {
Guido Urdaneta 2017/02/07 10:26:04 nit: perhaps make the constants that were already
aleksandar.stojiljkovic 2017/02/07 11:33:49 Done.
+ controls->video_kind = VIDEO_KIND_COLOR;
+ return true;
+ }
+ if (video_kind_string == "depth") {
+ controls->video_kind = VIDEO_KIND_DEPTH;
+ return true;
+ }
+ LOG(ERROR) << "Invalid videoKind value = " << video_kind_string;
+ return false;
+}
+
bool IsSameDevice(const StreamDeviceInfo& device,
const StreamDeviceInfo& other_device) {
return device.device.id == other_device.device.id &&
@@ -276,6 +299,12 @@ void UserMediaClientImpl::requestUserMedia(
CopyConstraintsToTrackControls(user_media_request.videoConstraints(),
&controls->video,
&request_video_input_devices);
+ if (!CopyVideoKindToStreamControls(user_media_request.videoConstraints(),
+ controls.get())) {
+ GetUserMediaRequestFailed(user_media_request, MEDIA_DEVICE_NO_HARDWARE,
+ "");
+ return;
+ }
}
url::Origin security_origin = user_media_request.getSecurityOrigin();

Powered by Google App Engine
This is Rietveld 408576698