Index: content/renderer/media/media_stream_dependency_factory.cc |
diff --git a/content/renderer/media/media_stream_dependency_factory.cc b/content/renderer/media/media_stream_dependency_factory.cc |
index 8d4fe56bdd811ccc2d6f4a1c6a07fbb25044fdb0..500dd0a22a110f9c4e4eb3fc34807a8648833d28 100644 |
--- a/content/renderer/media/media_stream_dependency_factory.cc |
+++ b/content/renderer/media/media_stream_dependency_factory.cc |
@@ -305,7 +305,7 @@ void MediaStreamDependencyFactory::CreateNativeMediaSources( |
// source is used in multiple MediaStreams as a result of calling |
// getUserMedia. |
if (source_data->video_source()) |
- continue; |
+ continue; |
perkj_chrome
2014/01/12 21:53:06
indentation
no longer working on chromium
2014/01/13 16:59:59
Done.
|
const bool is_screencast = |
source_data->device_info().device.type == MEDIA_TAB_VIDEO_CAPTURE || |
@@ -367,7 +367,7 @@ void MediaStreamDependencyFactory::CreateNativeMediaSources( |
} |
scoped_refptr<WebRtcAudioCapturer> capturer( |
- MaybeCreateAudioCapturer(render_view_id, device_info)); |
+ CreateAudioCapturer(render_view_id, device_info)); |
if (!capturer.get()) { |
DLOG(WARNING) << "Failed to create the capturer for device " |
<< device_info.device.id; |
@@ -455,6 +455,7 @@ MediaStreamDependencyFactory::CreateNativeAudioMediaStreamTrack( |
source_data = |
static_cast<MediaStreamSourceExtraData*>(source.extraData()); |
} else { |
+ // TODO(xians): Check with perkj on if this comment is valid. |
perkj_chrome
2014/01/12 21:53:06
Yes. CreateNativeAudioMediaStreamTrack is called w
no longer working on chromium
2014/01/13 16:59:59
Done with removing the TODO. Good to know, thanks.
|
// TODO(perkj): Implement support for sources from |
// remote MediaStreams. |
NOTIMPLEMENTED(); |
@@ -462,14 +463,9 @@ MediaStreamDependencyFactory::CreateNativeAudioMediaStreamTrack( |
} |
} |
- std::string track_id = base::UTF16ToUTF8(track.id()); |
- scoped_refptr<WebRtcAudioCapturer> capturer; |
- if (GetWebRtcAudioDevice()) |
- capturer = GetWebRtcAudioDevice()->GetDefaultCapturer(); |
- |
scoped_refptr<webrtc::AudioTrackInterface> audio_track( |
- CreateLocalAudioTrack(track_id, |
- capturer, |
+ CreateLocalAudioTrack(base::UTF16ToUTF8(track.id()), |
+ source_data->GetAudioCapturer(), |
webaudio_source.get(), |
source_data->local_audio_source(), |
&track_constraints)); |
@@ -930,7 +926,7 @@ void MediaStreamDependencyFactory::CleanupPeerConnectionFactory() { |
} |
scoped_refptr<WebRtcAudioCapturer> |
-MediaStreamDependencyFactory::MaybeCreateAudioCapturer( |
+MediaStreamDependencyFactory::CreateAudioCapturer( |
int render_view_id, |
const StreamDeviceInfo& device_info) { |
// TODO(xians): Handle the cases when gUM is called without a proper render |
@@ -938,32 +934,11 @@ MediaStreamDependencyFactory::MaybeCreateAudioCapturer( |
DCHECK_GE(render_view_id, 0); |
scoped_refptr<WebRtcAudioCapturer> capturer = |
- GetWebRtcAudioDevice()->GetDefaultCapturer(); |
- |
- // If the default capturer does not exist or |render_view_id| == -1, create |
- // a new capturer. |
- bool is_new_capturer = false; |
- if (!capturer.get()) { |
- capturer = WebRtcAudioCapturer::CreateCapturer(); |
- is_new_capturer = true; |
- } |
- |
- if (!capturer->Initialize( |
- render_view_id, |
- static_cast<media::ChannelLayout>( |
- device_info.device.input.channel_layout), |
- device_info.device.input.sample_rate, |
- device_info.device.input.frames_per_buffer, |
- device_info.session_id, |
- device_info.device.id, |
- device_info.device.matched_output.sample_rate, |
- device_info.device.matched_output.frames_per_buffer, |
- device_info.device.input.effects)) { |
- return NULL; |
- } |
+ WebRtcAudioCapturer::CreateCapturer(render_view_id, device_info); |
- // Add the capturer to the WebRtcAudioDeviceImpl if it is a new capturer. |
- if (is_new_capturer) |
+ // Add the capturer to the WebRtcAudioDeviceImpl since it needs some hardware |
+ // information from the capturer. |
+ if (capturer) |
perkj_chrome
2014/01/12 21:53:06
Can capturer be null?
no longer working on chromium
2014/01/13 16:59:59
Yes, CreateCapturer will return a NULL if it fails
|
GetWebRtcAudioDevice()->AddAudioCapturer(capturer); |
perkj_chrome
2014/01/12 21:53:06
Rename method to SetAudioCapturer if there can be
no longer working on chromium
2014/01/13 16:59:59
A couple of days ago I landed a workaround to fix
|
return capturer; |