Index: media/audio/audio_manager_base.cc |
=================================================================== |
--- media/audio/audio_manager_base.cc (revision 132979) |
+++ media/audio/audio_manager_base.cc (working copy) |
@@ -5,12 +5,15 @@ |
#include "media/audio/audio_manager_base.h" |
#include "base/bind.h" |
+#include "base/command_line.h" |
#include "base/message_loop_proxy.h" |
#include "base/threading/thread.h" |
-#include "media/audio/audio_output_dispatcher.h" |
+#include "media/audio/audio_output_dispatcher_impl.h" |
+#include "media/audio/audio_output_mixer.h" |
#include "media/audio/audio_output_proxy.h" |
#include "media/audio/fake_audio_input_stream.h" |
#include "media/audio/fake_audio_output_stream.h" |
+#include "media/base/media_switches.h" |
namespace media { |
@@ -136,9 +139,16 @@ |
scoped_refptr<AudioOutputDispatcher>& dispatcher = |
output_dispatchers_[params]; |
- if (!dispatcher) |
- dispatcher = new AudioOutputDispatcher( |
- this, params, base::TimeDelta::FromSeconds(kStreamCloseDelaySeconds)); |
+ if (!dispatcher) { |
+ base::TimeDelta close_delay = |
+ base::TimeDelta::FromSeconds(kStreamCloseDelaySeconds); |
+ const CommandLine* cmd_line = CommandLine::ForCurrentProcess(); |
+ if (cmd_line->HasSwitch(switches::kEnableAudioMixer)) { |
+ dispatcher = new AudioOutputMixer(this, params, close_delay); |
+ } else { |
+ dispatcher = new AudioOutputDispatcherImpl(this, params, close_delay); |
+ } |
+ } |
return new AudioOutputProxy(dispatcher); |
} |