| Index: media/audio/linux/audio_manager_linux.cc
|
| diff --git a/media/audio/linux/audio_manager_linux.cc b/media/audio/linux/audio_manager_linux.cc
|
| index 17a1f743cc4f62281dc772ed6a4491e1a99339da..713a753eb39f6768e835f2a0b9d3a55be012cc05 100644
|
| --- a/media/audio/linux/audio_manager_linux.cc
|
| +++ b/media/audio/linux/audio_manager_linux.cc
|
| @@ -4,7 +4,6 @@
|
|
|
| #include "media/audio/linux/audio_manager_linux.h"
|
|
|
| -#include "base/at_exit.h"
|
| #include "base/command_line.h"
|
| #include "base/logging.h"
|
| #include "media/audio/fake_audio_input_stream.h"
|
| @@ -13,12 +12,6 @@
|
| #include "media/audio/linux/alsa_wrapper.h"
|
| #include "media/base/media_switches.h"
|
|
|
| -
|
| -namespace {
|
| -
|
| -AudioManagerLinux* g_audio_manager = NULL;
|
| -} // namespace
|
| -
|
| // Implementation of AudioManager.
|
| bool AudioManagerLinux::HasAudioOutputDevices() {
|
| // TODO(ajwong): Make this actually query audio devices.
|
| @@ -56,7 +49,7 @@ AudioOutputStream* AudioManagerLinux::MakeAudioOutputStream(
|
| return FakeAudioOutputStream::MakeFakeStream();
|
| }
|
|
|
| - if (!initialized_) {
|
| + if (!initialized()) {
|
| return NULL;
|
| }
|
|
|
| @@ -68,16 +61,14 @@ AudioOutputStream* AudioManagerLinux::MakeAudioOutputStream(
|
| AlsaPcmOutputStream* stream =
|
| new AlsaPcmOutputStream(device_name, format, channels, sample_rate,
|
| bits_per_sample, wrapper_.get(), this,
|
| - audio_thread_.message_loop());
|
| + GetMessageLoop());
|
|
|
| AutoLock l(lock_);
|
| active_streams_[stream] = scoped_refptr<AlsaPcmOutputStream>(stream);
|
| return stream;
|
| }
|
|
|
| -AudioManagerLinux::AudioManagerLinux()
|
| - : audio_thread_("AudioThread"),
|
| - initialized_(false) {
|
| +AudioManagerLinux::AudioManagerLinux() {
|
| }
|
|
|
| AudioManagerLinux::~AudioManagerLinux() {
|
| @@ -91,7 +82,7 @@ AudioManagerLinux::~AudioManagerLinux() {
|
| }
|
|
|
| void AudioManagerLinux::Init() {
|
| - initialized_ = audio_thread_.Start();
|
| + AudioManagerBase::Init();
|
| wrapper_.reset(new AlsaWrapper());
|
| }
|
|
|
| @@ -110,17 +101,7 @@ void AudioManagerLinux::ReleaseOutputStream(AlsaPcmOutputStream* stream) {
|
| }
|
| }
|
|
|
| -// TODO(ajwong): Collapse this with the windows version.
|
| -void DestroyAudioManagerLinux(void* not_used) {
|
| - delete g_audio_manager;
|
| - g_audio_manager = NULL;
|
| -}
|
| -
|
| -AudioManager* AudioManager::GetAudioManager() {
|
| - if (!g_audio_manager) {
|
| - g_audio_manager = new AudioManagerLinux();
|
| - g_audio_manager->Init();
|
| - base::AtExitManager::RegisterCallback(&DestroyAudioManagerLinux, NULL);
|
| - }
|
| - return g_audio_manager;
|
| +// static
|
| +AudioManager* AudioManager::CreateAudioManager() {
|
| + return new AudioManagerLinux();
|
| }
|
|
|