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

Unified Diff: content/browser/renderer_host/render_process_host_impl.cc

Issue 2812883003: Browser test dry runs with mojo audio streams.
Patch Set: Rebase Created 3 years, 7 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 side-by-side diff with in-line comments
Download patch
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);
« no previous file with comments | « content/browser/renderer_host/render_process_host_impl.h ('k') | content/public/app/mojo/content_browser_manifest.json » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698