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/media_stream_impl.h" | 5 #include "content/renderer/media/media_stream_impl.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 | 8 |
9 #include "base/logging.h" | 9 #include "base/logging.h" |
10 #include "base/strings/string_util.h" | 10 #include "base/strings/string_util.h" |
11 #include "base/strings/stringprintf.h" | 11 #include "base/strings/stringprintf.h" |
12 #include "base/strings/utf_string_conversions.h" | 12 #include "base/strings/utf_string_conversions.h" |
13 #include "content/renderer/media/media_stream.h" | 13 #include "content/renderer/media/media_stream.h" |
14 #include "content/renderer/media/media_stream_audio_renderer.h" | 14 #include "content/renderer/media/media_stream_audio_renderer.h" |
15 #include "content/renderer/media/media_stream_audio_source.h" | 15 #include "content/renderer/media/media_stream_audio_source.h" |
16 #include "content/renderer/media/media_stream_dependency_factory.h" | |
17 #include "content/renderer/media/media_stream_dispatcher.h" | 16 #include "content/renderer/media/media_stream_dispatcher.h" |
18 #include "content/renderer/media/media_stream_video_capturer_source.h" | 17 #include "content/renderer/media/media_stream_video_capturer_source.h" |
19 #include "content/renderer/media/media_stream_video_track.h" | 18 #include "content/renderer/media/media_stream_video_track.h" |
20 #include "content/renderer/media/peer_connection_tracker.h" | 19 #include "content/renderer/media/peer_connection_tracker.h" |
21 #include "content/renderer/media/rtc_video_renderer.h" | 20 #include "content/renderer/media/rtc_video_renderer.h" |
| 21 #include "content/renderer/media/webrtc/webrtc_video_capturer_adapter.h" |
22 #include "content/renderer/media/webrtc_audio_capturer.h" | 22 #include "content/renderer/media/webrtc_audio_capturer.h" |
23 #include "content/renderer/media/webrtc_audio_renderer.h" | 23 #include "content/renderer/media/webrtc_audio_renderer.h" |
24 #include "content/renderer/media/webrtc_local_audio_renderer.h" | 24 #include "content/renderer/media/webrtc_local_audio_renderer.h" |
25 #include "content/renderer/media/webrtc_logging.h" | 25 #include "content/renderer/media/webrtc_logging.h" |
26 #include "content/renderer/media/webrtc_uma_histograms.h" | 26 #include "content/renderer/media/webrtc_uma_histograms.h" |
27 #include "content/renderer/render_thread_impl.h" | 27 #include "content/renderer/render_thread_impl.h" |
28 #include "media/base/audio_hardware_config.h" | 28 #include "media/base/audio_hardware_config.h" |
29 #include "third_party/WebKit/public/platform/WebMediaConstraints.h" | 29 #include "third_party/WebKit/public/platform/WebMediaConstraints.h" |
30 #include "third_party/WebKit/public/platform/WebMediaStreamTrack.h" | 30 #include "third_party/WebKit/public/platform/WebMediaStreamTrack.h" |
31 #include "third_party/WebKit/public/web/WebDocument.h" | 31 #include "third_party/WebKit/public/web/WebDocument.h" |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
64 RenderThreadImpl::current()->GetAudioHardwareConfig(); | 64 RenderThreadImpl::current()->GetAudioHardwareConfig(); |
65 *output_sample_rate = hardware_config->GetOutputSampleRate(); | 65 *output_sample_rate = hardware_config->GetOutputSampleRate(); |
66 *output_buffer_size = hardware_config->GetOutputBufferSize(); | 66 *output_buffer_size = hardware_config->GetOutputBufferSize(); |
67 } | 67 } |
68 | 68 |
69 } // namespace | 69 } // namespace |
70 | 70 |
71 MediaStreamImpl::MediaStreamImpl( | 71 MediaStreamImpl::MediaStreamImpl( |
72 RenderView* render_view, | 72 RenderView* render_view, |
73 MediaStreamDispatcher* media_stream_dispatcher, | 73 MediaStreamDispatcher* media_stream_dispatcher, |
74 MediaStreamDependencyFactory* dependency_factory) | 74 PeerConnectionDependencyFactory* dependency_factory) |
75 : RenderViewObserver(render_view), | 75 : RenderViewObserver(render_view), |
76 dependency_factory_(dependency_factory), | 76 dependency_factory_(dependency_factory), |
77 media_stream_dispatcher_(media_stream_dispatcher) { | 77 media_stream_dispatcher_(media_stream_dispatcher) { |
78 } | 78 } |
79 | 79 |
80 MediaStreamImpl::~MediaStreamImpl() { | 80 MediaStreamImpl::~MediaStreamImpl() { |
81 } | 81 } |
82 | 82 |
83 void MediaStreamImpl::requestUserMedia( | 83 void MediaStreamImpl::requestUserMedia( |
84 const blink::WebUserMediaRequest& user_media_request) { | 84 const blink::WebUserMediaRequest& user_media_request) { |
(...skipping 372 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
457 DCHECK_EQ(devices.size(), webkit_tracks->size()); | 457 DCHECK_EQ(devices.size(), webkit_tracks->size()); |
458 | 458 |
459 for (size_t i = 0; i < devices.size(); ++i) { | 459 for (size_t i = 0; i < devices.size(); ++i) { |
460 blink::WebMediaStreamSource webkit_source; | 460 blink::WebMediaStreamSource webkit_source; |
461 InitializeSourceObject(devices[i], | 461 InitializeSourceObject(devices[i], |
462 blink::WebMediaStreamSource::TypeVideo, | 462 blink::WebMediaStreamSource::TypeVideo, |
463 constraints, | 463 constraints, |
464 request->frame, | 464 request->frame, |
465 &webkit_source); | 465 &webkit_source); |
466 (*webkit_tracks)[i] = | 466 (*webkit_tracks)[i] = |
467 request->CreateAndStartVideoTrack(webkit_source, constraints, | 467 request->CreateAndStartVideoTrack(webkit_source, constraints); |
468 dependency_factory_); | |
469 } | 468 } |
470 } | 469 } |
471 | 470 |
472 void MediaStreamImpl::CreateAudioTracks( | 471 void MediaStreamImpl::CreateAudioTracks( |
473 const StreamDeviceInfoArray& devices, | 472 const StreamDeviceInfoArray& devices, |
474 const blink::WebMediaConstraints& constraints, | 473 const blink::WebMediaConstraints& constraints, |
475 blink::WebVector<blink::WebMediaStreamTrack>* webkit_tracks, | 474 blink::WebVector<blink::WebMediaStreamTrack>* webkit_tracks, |
476 UserMediaRequestInfo* request) { | 475 UserMediaRequestInfo* request) { |
477 DCHECK_EQ(devices.size(), webkit_tracks->size()); | 476 DCHECK_EQ(devices.size(), webkit_tracks->size()); |
478 | 477 |
(...skipping 330 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
809 sources_waiting_for_callback_.push_back(native_source); | 808 sources_waiting_for_callback_.push_back(native_source); |
810 native_source->AddTrack( | 809 native_source->AddTrack( |
811 track, constraints, base::Bind( | 810 track, constraints, base::Bind( |
812 &MediaStreamImpl::UserMediaRequestInfo::OnTrackStarted, | 811 &MediaStreamImpl::UserMediaRequestInfo::OnTrackStarted, |
813 AsWeakPtr())); | 812 AsWeakPtr())); |
814 } | 813 } |
815 | 814 |
816 blink::WebMediaStreamTrack | 815 blink::WebMediaStreamTrack |
817 MediaStreamImpl::UserMediaRequestInfo::CreateAndStartVideoTrack( | 816 MediaStreamImpl::UserMediaRequestInfo::CreateAndStartVideoTrack( |
818 const blink::WebMediaStreamSource& source, | 817 const blink::WebMediaStreamSource& source, |
819 const blink::WebMediaConstraints& constraints, | 818 const blink::WebMediaConstraints& constraints) { |
820 MediaStreamDependencyFactory* factory) { | |
821 DCHECK(source.type() == blink::WebMediaStreamSource::TypeVideo); | 819 DCHECK(source.type() == blink::WebMediaStreamSource::TypeVideo); |
822 MediaStreamVideoSource* native_source = | 820 MediaStreamVideoSource* native_source = |
823 MediaStreamVideoSource::GetVideoSource(source); | 821 MediaStreamVideoSource::GetVideoSource(source); |
824 DCHECK(native_source); | 822 DCHECK(native_source); |
825 sources_.push_back(source); | 823 sources_.push_back(source); |
826 sources_waiting_for_callback_.push_back(native_source); | 824 sources_waiting_for_callback_.push_back(native_source); |
827 return MediaStreamVideoTrack::CreateVideoTrack( | 825 return MediaStreamVideoTrack::CreateVideoTrack( |
828 native_source, constraints, base::Bind( | 826 native_source, constraints, base::Bind( |
829 &MediaStreamImpl::UserMediaRequestInfo::OnTrackStarted, | 827 &MediaStreamImpl::UserMediaRequestInfo::OnTrackStarted, |
830 AsWeakPtr()), | 828 AsWeakPtr()), |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
879 sources_.begin(); | 877 sources_.begin(); |
880 it != sources_.end(); ++it) { | 878 it != sources_.end(); ++it) { |
881 if (source.id() == it->id()) { | 879 if (source.id() == it->id()) { |
882 sources_.erase(it); | 880 sources_.erase(it); |
883 return; | 881 return; |
884 } | 882 } |
885 } | 883 } |
886 } | 884 } |
887 | 885 |
888 } // namespace content | 886 } // namespace content |
OLD | NEW |