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

Side by Side 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/renderer/media/user_media_client_impl.h" 5 #include "content/renderer/media/user_media_client_impl.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <utility> 10 #include <utility>
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after
168 168
169 if (audio_constraints.basic().disableLocalEcho.hasExact()) { 169 if (audio_constraints.basic().disableLocalEcho.hasExact()) {
170 controls->disable_local_echo = 170 controls->disable_local_echo =
171 audio_constraints.basic().disableLocalEcho.exact(); 171 audio_constraints.basic().disableLocalEcho.exact();
172 } else { 172 } else {
173 controls->disable_local_echo = 173 controls->disable_local_echo =
174 controls->audio.stream_source != kMediaStreamSourceDesktop; 174 controls->audio.stream_source != kMediaStreamSourceDesktop;
175 } 175 }
176 } 176 }
177 177
178 bool CopyVideoKindToStreamControls(
179 const blink::WebMediaConstraints& video_constraints,
180 StreamControls* controls) {
181 if (video_constraints.isNull())
182 return true;
183
184 std::string video_kind_string;
185 if (!GetConstraintValueAsString(video_constraints,
186 &blink::WebMediaTrackConstraintSet::videoKind,
187 &video_kind_string))
188 return true;
189 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.
190 controls->video_kind = VIDEO_KIND_COLOR;
191 return true;
192 }
193 if (video_kind_string == "depth") {
194 controls->video_kind = VIDEO_KIND_DEPTH;
195 return true;
196 }
197 LOG(ERROR) << "Invalid videoKind value = " << video_kind_string;
198 return false;
199 }
200
178 bool IsSameDevice(const StreamDeviceInfo& device, 201 bool IsSameDevice(const StreamDeviceInfo& device,
179 const StreamDeviceInfo& other_device) { 202 const StreamDeviceInfo& other_device) {
180 return device.device.id == other_device.device.id && 203 return device.device.id == other_device.device.id &&
181 device.device.type == other_device.device.type && 204 device.device.type == other_device.device.type &&
182 device.session_id == other_device.session_id; 205 device.session_id == other_device.session_id;
183 } 206 }
184 207
185 bool IsSameSource(const blink::WebMediaStreamSource& source, 208 bool IsSameSource(const blink::WebMediaStreamSource& source,
186 const blink::WebMediaStreamSource& other_source) { 209 const blink::WebMediaStreamSource& other_source) {
187 MediaStreamSource* const source_extra_data = 210 MediaStreamSource* const source_extra_data =
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
269 GetConstraintValueAsBoolean( 292 GetConstraintValueAsBoolean(
270 user_media_request.audioConstraints(), 293 user_media_request.audioConstraints(),
271 &blink::WebMediaTrackConstraintSet::renderToAssociatedSink, 294 &blink::WebMediaTrackConstraintSet::renderToAssociatedSink,
272 &enable_automatic_output_device_selection); 295 &enable_automatic_output_device_selection);
273 } 296 }
274 bool request_video_input_devices = false; 297 bool request_video_input_devices = false;
275 if (user_media_request.video()) { 298 if (user_media_request.video()) {
276 CopyConstraintsToTrackControls(user_media_request.videoConstraints(), 299 CopyConstraintsToTrackControls(user_media_request.videoConstraints(),
277 &controls->video, 300 &controls->video,
278 &request_video_input_devices); 301 &request_video_input_devices);
302 if (!CopyVideoKindToStreamControls(user_media_request.videoConstraints(),
303 controls.get())) {
304 GetUserMediaRequestFailed(user_media_request, MEDIA_DEVICE_NO_HARDWARE,
305 "");
306 return;
307 }
279 } 308 }
280 309
281 url::Origin security_origin = user_media_request.getSecurityOrigin(); 310 url::Origin security_origin = user_media_request.getSecurityOrigin();
282 if (request_audio_input_devices || request_video_input_devices) { 311 if (request_audio_input_devices || request_video_input_devices) {
283 GetMediaDevicesDispatcher()->EnumerateDevices( 312 GetMediaDevicesDispatcher()->EnumerateDevices(
284 request_audio_input_devices, request_video_input_devices, 313 request_audio_input_devices, request_video_input_devices,
285 false /* request_audio_output_devices */, security_origin, 314 false /* request_audio_output_devices */, security_origin,
286 base::Bind(&UserMediaClientImpl::SelectUserMediaDevice, 315 base::Bind(&UserMediaClientImpl::SelectUserMediaDevice,
287 weak_factory_.GetWeakPtr(), request_id, user_media_request, 316 weak_factory_.GetWeakPtr(), request_id, user_media_request,
288 base::Passed(&controls), 317 base::Passed(&controls),
(...skipping 869 matching lines...) Expand 10 before | Expand all | Expand 10 after
1158 sources_waiting_for_callback_.end(), source); 1187 sources_waiting_for_callback_.end(), source);
1159 if (found != sources_waiting_for_callback_.end()) 1188 if (found != sources_waiting_for_callback_.end())
1160 OnTrackStarted(source, result, result_name); 1189 OnTrackStarted(source, result, result_name);
1161 } 1190 }
1162 1191
1163 void UserMediaClientImpl::OnDestruct() { 1192 void UserMediaClientImpl::OnDestruct() {
1164 delete this; 1193 delete this;
1165 } 1194 }
1166 1195
1167 } // namespace content 1196 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698