Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "media/audio/audio_manager_base.h" | 5 #include "media/audio/audio_manager_base.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
| 9 #include "base/message_loop_proxy.h" | 9 #include "base/message_loop_proxy.h" |
| 10 #include "base/threading/thread.h" | 10 #include "base/threading/thread.h" |
| 11 #include "media/audio/audio_output_dispatcher_impl.h" | 11 #include "media/audio/audio_output_dispatcher_impl.h" |
| 12 #include "media/audio/audio_output_mixer.h" | 12 // TODO(dalecurtis): Temporarily disabled while switching over to floats. |
| 13 // #include "media/audio/audio_output_mixer.h" | |
|
scherkus (not reviewing)
2012/08/09 22:12:39
this is better handled via an #ifdef
i.e., after
DaleCurtis
2012/08/09 22:46:29
Done.
| |
| 13 #include "media/audio/audio_output_proxy.h" | 14 #include "media/audio/audio_output_proxy.h" |
| 14 #include "media/audio/fake_audio_input_stream.h" | 15 #include "media/audio/fake_audio_input_stream.h" |
| 15 #include "media/audio/fake_audio_output_stream.h" | 16 #include "media/audio/fake_audio_output_stream.h" |
| 16 #include "media/base/media_switches.h" | 17 #include "media/base/media_switches.h" |
| 17 | 18 |
| 18 namespace media { | 19 namespace media { |
| 19 | 20 |
| 20 static const int kStreamCloseDelaySeconds = 5; | 21 static const int kStreamCloseDelaySeconds = 5; |
| 21 | 22 |
| 22 // Default maximum number of output streams that can be open simultaneously | 23 // Default maximum number of output streams that can be open simultaneously |
| (...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 135 | 136 |
| 136 AudioOutputStream* AudioManagerBase::MakeAudioOutputStreamProxy( | 137 AudioOutputStream* AudioManagerBase::MakeAudioOutputStreamProxy( |
| 137 const AudioParameters& params) { | 138 const AudioParameters& params) { |
| 138 DCHECK(GetMessageLoop()->BelongsToCurrentThread()); | 139 DCHECK(GetMessageLoop()->BelongsToCurrentThread()); |
| 139 | 140 |
| 140 scoped_refptr<AudioOutputDispatcher>& dispatcher = | 141 scoped_refptr<AudioOutputDispatcher>& dispatcher = |
| 141 output_dispatchers_[params]; | 142 output_dispatchers_[params]; |
| 142 if (!dispatcher) { | 143 if (!dispatcher) { |
| 143 base::TimeDelta close_delay = | 144 base::TimeDelta close_delay = |
| 144 base::TimeDelta::FromSeconds(kStreamCloseDelaySeconds); | 145 base::TimeDelta::FromSeconds(kStreamCloseDelaySeconds); |
| 145 const CommandLine* cmd_line = CommandLine::ForCurrentProcess(); | 146 // TODO(dalecurtis): Temporarily disabled while switching over to floats. |
|
scherkus (not reviewing)
2012/08/09 22:12:39
link to bug?
DaleCurtis
2012/08/09 22:46:29
Done.
| |
| 146 // TODO(dalecurtis): Browser side mixing has a couple issues that must be | 147 // TODO(dalecurtis): Browser side mixing has a couple issues that must be |
| 147 // fixed before it can be turned on by default: http://crbug.com/138098 and | 148 // fixed before it can be turned on by default: http://crbug.com/138098 and |
| 148 // http://crbug.com/140247 | 149 // http://crbug.com/140247 |
| 149 if (cmd_line->HasSwitch(switches::kEnableAudioMixer)) { | 150 // const CommandLine* cmd_line = CommandLine::ForCurrentProcess(); |
| 150 dispatcher = new AudioOutputMixer(this, params, close_delay); | 151 // if (cmd_line->HasSwitch(switches::kEnableAudioMixer)) |
| 151 } else { | 152 // dispatcher = new AudioOutputMixer(this, params, close_delay); |
| 152 dispatcher = new AudioOutputDispatcherImpl(this, params, close_delay); | 153 // else |
| 153 } | 154 dispatcher = new AudioOutputDispatcherImpl(this, params, close_delay); |
| 154 } | 155 } |
| 155 return new AudioOutputProxy(dispatcher); | 156 return new AudioOutputProxy(dispatcher); |
| 156 } | 157 } |
| 157 | 158 |
| 158 bool AudioManagerBase::CanShowAudioInputSettings() { | 159 bool AudioManagerBase::CanShowAudioInputSettings() { |
| 159 return false; | 160 return false; |
| 160 } | 161 } |
| 161 | 162 |
| 162 void AudioManagerBase::ShowAudioInputSettings() { | 163 void AudioManagerBase::ShowAudioInputSettings() { |
| 163 } | 164 } |
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 236 // So, better crash now than later. | 237 // So, better crash now than later. |
| 237 DCHECK(dispatcher->HasOneRef()) << "AudioOutputProxies are still alive"; | 238 DCHECK(dispatcher->HasOneRef()) << "AudioOutputProxies are still alive"; |
| 238 dispatcher = NULL; | 239 dispatcher = NULL; |
| 239 } | 240 } |
| 240 } | 241 } |
| 241 | 242 |
| 242 output_dispatchers_.clear(); | 243 output_dispatchers_.clear(); |
| 243 } | 244 } |
| 244 | 245 |
| 245 } // namespace media | 246 } // namespace media |
| OLD | NEW |