summaryrefslogtreecommitdiff
path: root/chromium/media/audio/audio_manager.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/media/audio/audio_manager.cc')
-rw-r--r--chromium/media/audio/audio_manager.cc24
1 files changed, 15 insertions, 9 deletions
diff --git a/chromium/media/audio/audio_manager.cc b/chromium/media/audio/audio_manager.cc
index 3f49a45ad87..03eeb171d70 100644
--- a/chromium/media/audio/audio_manager.cc
+++ b/chromium/media/audio/audio_manager.cc
@@ -4,12 +4,12 @@
#include "media/audio/audio_manager.h"
-#include "base/at_exit.h"
-#include "base/atomicops.h"
#include "base/bind.h"
#include "base/bind_helpers.h"
+#include "base/lazy_instance.h"
#include "base/logging.h"
#include "base/message_loop/message_loop.h"
+#include "media/audio/fake_audio_log_factory.h"
namespace media {
namespace {
@@ -17,24 +17,30 @@ AudioManager* g_last_created = NULL;
}
// Forward declaration of the platform specific AudioManager factory function.
-AudioManager* CreateAudioManager();
+AudioManager* CreateAudioManager(AudioLogFactory* audio_log_factory);
-AudioManager::AudioManager() {
-}
+AudioManager::AudioManager() {}
AudioManager::~AudioManager() {
- CHECK(g_last_created == NULL || g_last_created == this);
+ CHECK(!g_last_created || g_last_created == this);
g_last_created = NULL;
}
// static
-AudioManager* AudioManager::Create() {
- CHECK(g_last_created == NULL);
- g_last_created = CreateAudioManager();
+AudioManager* AudioManager::Create(AudioLogFactory* audio_log_factory) {
+ CHECK(!g_last_created);
+ g_last_created = CreateAudioManager(audio_log_factory);
return g_last_created;
}
// static
+AudioManager* AudioManager::CreateForTesting() {
+ static base::LazyInstance<FakeAudioLogFactory>::Leaky fake_log_factory =
+ LAZY_INSTANCE_INITIALIZER;
+ return Create(fake_log_factory.Pointer());
+}
+
+// static
AudioManager* AudioManager::Get() {
return g_last_created;
}