OLD | NEW |
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 <utility> | 9 #include <utility> |
10 | 10 |
11 #include "base/hash.h" | 11 #include "base/hash.h" |
12 #include "base/location.h" | 12 #include "base/location.h" |
13 #include "base/logging.h" | 13 #include "base/logging.h" |
14 #include "base/single_thread_task_runner.h" | 14 #include "base/single_thread_task_runner.h" |
15 #include "base/strings/string_number_conversions.h" | 15 #include "base/strings/string_number_conversions.h" |
16 #include "base/strings/string_util.h" | 16 #include "base/strings/string_util.h" |
17 #include "base/strings/stringprintf.h" | 17 #include "base/strings/stringprintf.h" |
18 #include "base/strings/utf_string_conversions.h" | 18 #include "base/strings/utf_string_conversions.h" |
19 #include "base/thread_task_runner_handle.h" | 19 #include "base/thread_task_runner_handle.h" |
| 20 #include "content/public/child/url_conversion.h" |
20 #include "content/public/renderer/render_frame.h" | 21 #include "content/public/renderer/render_frame.h" |
21 #include "content/renderer/media/media_stream.h" | 22 #include "content/renderer/media/media_stream.h" |
22 #include "content/renderer/media/media_stream_audio_source.h" | 23 #include "content/renderer/media/media_stream_audio_source.h" |
23 #include "content/renderer/media/media_stream_dispatcher.h" | 24 #include "content/renderer/media/media_stream_dispatcher.h" |
24 #include "content/renderer/media/media_stream_video_capturer_source.h" | 25 #include "content/renderer/media/media_stream_video_capturer_source.h" |
25 #include "content/renderer/media/media_stream_video_track.h" | 26 #include "content/renderer/media/media_stream_video_track.h" |
26 #include "content/renderer/media/peer_connection_tracker.h" | 27 #include "content/renderer/media/peer_connection_tracker.h" |
27 #include "content/renderer/media/webrtc/webrtc_video_capturer_adapter.h" | 28 #include "content/renderer/media/webrtc/webrtc_video_capturer_adapter.h" |
28 #include "content/renderer/media/webrtc_audio_capturer.h" | 29 #include "content/renderer/media/webrtc_audio_capturer.h" |
29 #include "content/renderer/media/webrtc_logging.h" | 30 #include "content/renderer/media/webrtc_logging.h" |
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
216 kMediaStreamRenderToAssociatedSink, &enable) && | 217 kMediaStreamRenderToAssociatedSink, &enable) && |
217 base::LowerCaseEqualsASCII(enable, "true")) { | 218 base::LowerCaseEqualsASCII(enable, "true")) { |
218 enable_automatic_output_device_selection = true; | 219 enable_automatic_output_device_selection = true; |
219 } | 220 } |
220 } | 221 } |
221 if (user_media_request.video()) { | 222 if (user_media_request.video()) { |
222 controls.video.requested = true; | 223 controls.video.requested = true; |
223 } | 224 } |
224 CopyBlinkRequestToStreamControls(user_media_request, &controls); | 225 CopyBlinkRequestToStreamControls(user_media_request, &controls); |
225 | 226 |
226 security_origin = GURL(user_media_request.securityOrigin().toString()); | 227 security_origin = |
| 228 WebStringToGURL(user_media_request.securityOrigin().toString()); |
227 DCHECK(render_frame()->GetWebFrame() == | 229 DCHECK(render_frame()->GetWebFrame() == |
228 static_cast<blink::WebFrame*>( | 230 static_cast<blink::WebFrame*>( |
229 user_media_request.ownerDocument().frame())); | 231 user_media_request.ownerDocument().frame())); |
230 } | 232 } |
231 | 233 |
232 DVLOG(1) << "UserMediaClientImpl::requestUserMedia(" << request_id << ", [ " | 234 DVLOG(1) << "UserMediaClientImpl::requestUserMedia(" << request_id << ", [ " |
233 << "audio=" << (controls.audio.requested) | 235 << "audio=" << (controls.audio.requested) |
234 << " select associated sink: " | 236 << " select associated sink: " |
235 << enable_automatic_output_device_selection | 237 << enable_automatic_output_device_selection |
236 << ", video=" << (controls.video.requested) << " ], " | 238 << ", video=" << (controls.video.requested) << " ], " |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
295 DCHECK(CalledOnValidThread()); | 297 DCHECK(CalledOnValidThread()); |
296 | 298 |
297 int audio_input_request_id = g_next_request_id++; | 299 int audio_input_request_id = g_next_request_id++; |
298 int video_input_request_id = g_next_request_id++; | 300 int video_input_request_id = g_next_request_id++; |
299 int audio_output_request_id = g_next_request_id++; | 301 int audio_output_request_id = g_next_request_id++; |
300 | 302 |
301 // |media_devices_request| can't be mocked, so in tests it will be empty (the | 303 // |media_devices_request| can't be mocked, so in tests it will be empty (the |
302 // underlying pointer is null). In order to use this function in a test we | 304 // underlying pointer is null). In order to use this function in a test we |
303 // need to check if it isNull. | 305 // need to check if it isNull. |
304 GURL security_origin; | 306 GURL security_origin; |
305 if (!media_devices_request.isNull()) | 307 if (!media_devices_request.isNull()) { |
306 security_origin = GURL(media_devices_request.securityOrigin().toString()); | 308 security_origin = |
| 309 WebStringToGURL(media_devices_request.securityOrigin().toString()); |
| 310 } |
307 | 311 |
308 DVLOG(1) << "UserMediaClientImpl::requestMediaDevices(" | 312 DVLOG(1) << "UserMediaClientImpl::requestMediaDevices(" |
309 << audio_input_request_id | 313 << audio_input_request_id |
310 << ", " << video_input_request_id << ", " << audio_output_request_id | 314 << ", " << video_input_request_id << ", " << audio_output_request_id |
311 << ", " << security_origin.spec() << ")"; | 315 << ", " << security_origin.spec() << ")"; |
312 | 316 |
313 media_devices_requests_.push_back(new MediaDevicesRequestInfo( | 317 media_devices_requests_.push_back(new MediaDevicesRequestInfo( |
314 media_devices_request, | 318 media_devices_request, |
315 audio_input_request_id, | 319 audio_input_request_id, |
316 video_input_request_id, | 320 video_input_request_id, |
(...skipping 846 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1163 return; | 1167 return; |
1164 } | 1168 } |
1165 } | 1169 } |
1166 } | 1170 } |
1167 | 1171 |
1168 bool UserMediaClientImpl::UserMediaRequestInfo::HasPendingSources() const { | 1172 bool UserMediaClientImpl::UserMediaRequestInfo::HasPendingSources() const { |
1169 return !sources_waiting_for_callback_.empty(); | 1173 return !sources_waiting_for_callback_.empty(); |
1170 } | 1174 } |
1171 | 1175 |
1172 } // namespace content | 1176 } // namespace content |
OLD | NEW |