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

Unified Diff: content/renderer/media/audio_renderer_mixer_manager.cc

Issue 11359196: Associate audio streams with their source/destination RenderView. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Consolidate construct/init/destruct code in AudioOutputDeviceTest. Created 8 years, 1 month 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/renderer/media/audio_renderer_mixer_manager.cc
diff --git a/content/renderer/media/audio_renderer_mixer_manager.cc b/content/renderer/media/audio_renderer_mixer_manager.cc
index 67daf2cbeb9a448f86e2329c295425c1d7f42934..c1aa7750025d15d7c944061972a4e124611df4b9 100644
--- a/content/renderer/media/audio_renderer_mixer_manager.cc
+++ b/content/renderer/media/audio_renderer_mixer_manager.cc
@@ -6,7 +6,9 @@
#include "base/bind.h"
#include "base/bind_helpers.h"
-#include "content/renderer/media/audio_device_factory.h"
+#include "content/renderer/media/audio_message_filter.h"
+#include "content/renderer/render_thread_impl.h"
+#include "media/audio/audio_output_device.h"
#include "media/base/audio_renderer_mixer.h"
#include "media/base/audio_renderer_mixer_input.h"
@@ -15,7 +17,8 @@ namespace content {
AudioRendererMixerManager::AudioRendererMixerManager(int hardware_sample_rate,
int hardware_buffer_size)
: hardware_sample_rate_(hardware_sample_rate),
- hardware_buffer_size_(hardware_buffer_size) {
+ hardware_buffer_size_(hardware_buffer_size),
+ sink_for_testing_(NULL) {
}
AudioRendererMixerManager::~AudioRendererMixerManager() {
@@ -30,6 +33,11 @@ media::AudioRendererMixerInput* AudioRendererMixerManager::CreateInput() {
&AudioRendererMixerManager::RemoveMixer, base::Unretained(this)));
}
+void AudioRendererMixerManager::SetAudioRendererSinkForTesting(
+ media::AudioRendererSink* sink) {
+ sink_for_testing_ = sink;
+}
+
media::AudioRendererMixer* AudioRendererMixerManager::GetMixer(
const media::AudioParameters& params) {
base::AutoLock auto_lock(mixers_lock_);
@@ -53,7 +61,12 @@ media::AudioRendererMixer* AudioRendererMixerManager::GetMixer(
output_params = params;
media::AudioRendererMixer* mixer = new media::AudioRendererMixer(
- params, output_params, AudioDeviceFactory::NewOutputDevice());
+ params, output_params,
+ sink_for_testing_ ?
+ sink_for_testing_ :
+ new media::AudioOutputDevice(
+ RenderThreadImpl::current()->audio_message_filter(),
+ RenderThreadImpl::current()->GetIOMessageLoopProxy()));
AudioRendererMixerReference mixer_reference = { mixer, 1 };
mixers_[params] = mixer_reference;

Powered by Google App Engine
This is Rietveld 408576698