| Index: content/browser/renderer_host/render_process_host_impl.cc
|
| diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
|
| index dde83fd48bb4059ecba4525cb58ccaa2330cf29e..5176c7c1d00ab85f697f15db9762bf40cf1117f6 100644
|
| --- a/content/browser/renderer_host/render_process_host_impl.cc
|
| +++ b/content/browser/renderer_host/render_process_host_impl.cc
|
| @@ -1329,18 +1329,21 @@ void RenderProcessHostImpl::CreateMessageFilters() {
|
| BrowserMainLoop::GetInstance()->audio_manager();
|
| MediaStreamManager* media_stream_manager =
|
| BrowserMainLoop::GetInstance()->media_stream_manager();
|
| - // The AudioInputRendererHost and AudioRendererHost needs to be available for
|
| + // The AudioInputRendererHost needs to be available for
|
| // lookup, so it's stashed in a member variable.
|
| audio_input_renderer_host_ = new AudioInputRendererHost(
|
| GetID(), audio_manager, media_stream_manager,
|
| AudioMirroringManager::GetInstance(),
|
| BrowserMainLoop::GetInstance()->user_input_monitor());
|
| AddFilter(audio_input_renderer_host_.get());
|
| - audio_renderer_host_ = new AudioRendererHost(
|
| - GetID(), audio_manager, BrowserMainLoop::GetInstance()->audio_system(),
|
| - AudioMirroringManager::GetInstance(), media_stream_manager,
|
| - browser_context->GetMediaDeviceIDSalt());
|
| - AddFilter(audio_renderer_host_.get());
|
| + if (!RendererAudioOutputStreamFactoryContextImpl::UseMojoFactories()) {
|
| + AddFilter(base::MakeRefCounted<AudioRendererHost>(
|
| + GetID(), audio_manager,
|
| + BrowserMainLoop::GetInstance()->audio_system(),
|
| + AudioMirroringManager::GetInstance(), media_stream_manager,
|
| + browser_context->GetMediaDeviceIDSalt())
|
| + .get());
|
| + }
|
| AddFilter(
|
| new MidiHost(GetID(), BrowserMainLoop::GetInstance()->midi_service()));
|
| AddFilter(new AppCacheDispatcherHost(
|
| @@ -1832,6 +1835,26 @@ int RenderProcessHostImpl::VisibleWidgetCount() const {
|
| return visible_widgets_;
|
| }
|
|
|
| +UniqueAudioOutputStreamFactoryPtr
|
| +RenderProcessHostImpl::CreateAudioOutputStreamFactory(
|
| + int frame_id,
|
| + mojom::RendererAudioOutputStreamFactoryRequest request) {
|
| + if (!audio_output_stream_factory_context_) {
|
| + media::AudioManager* audio_manager =
|
| + BrowserMainLoop::GetInstance()->audio_manager();
|
| + MediaStreamManager* media_stream_manager =
|
| + BrowserMainLoop::GetInstance()->media_stream_manager();
|
| + media::AudioSystem* audio_system =
|
| + BrowserMainLoop::GetInstance()->audio_system();
|
| + std::string salt = GetBrowserContext()->GetMediaDeviceIDSalt();
|
| + audio_output_stream_factory_context_.reset(
|
| + new RendererAudioOutputStreamFactoryContextImpl(
|
| + GetID(), audio_system, audio_manager, media_stream_manager, salt));
|
| + }
|
| + return audio_output_stream_factory_context_->CreateFactory(
|
| + frame_id, std::move(request));
|
| +}
|
| +
|
| void RenderProcessHostImpl::OnAudioStreamAdded() {
|
| ++audio_stream_count_;
|
| UpdateProcessPriority();
|
| @@ -3401,11 +3424,6 @@ void RenderProcessHostImpl::OnProcessLaunchFailed(int error_code) {
|
| ProcessDied(true, &details);
|
| }
|
|
|
| -scoped_refptr<AudioRendererHost> RenderProcessHostImpl::audio_renderer_host()
|
| - const {
|
| - return audio_renderer_host_;
|
| -}
|
| -
|
| void RenderProcessHostImpl::OnUserMetricsRecordAction(
|
| const std::string& action) {
|
| base::RecordComputedAction(action);
|
|
|