Index: media/audio/fake_audio_output_stream.cc |
diff --git a/media/audio/fake_audio_output_stream.cc b/media/audio/fake_audio_output_stream.cc |
index fe0d857a1c46c749740ec2a9f4d676e936f24d70..77bf428f1308bc08c1f4342fb0975038c63b2f38 100644 |
--- a/media/audio/fake_audio_output_stream.cc |
+++ b/media/audio/fake_audio_output_stream.cc |
@@ -6,33 +6,17 @@ |
#include "base/at_exit.h" |
#include "base/logging.h" |
- |
-bool FakeAudioOutputStream::has_created_fake_stream_ = false; |
-FakeAudioOutputStream* FakeAudioOutputStream::last_fake_stream_ = NULL; |
+#include "media/audio/audio_manager_base.h" |
// static |
AudioOutputStream* FakeAudioOutputStream::MakeFakeStream( |
+ AudioManagerBase* manager, |
const AudioParameters& params) { |
- if (!has_created_fake_stream_) |
- base::AtExitManager::RegisterCallback(&DestroyLastFakeStream, NULL); |
- has_created_fake_stream_ = true; |
- |
- FakeAudioOutputStream* new_stream = new FakeAudioOutputStream(params); |
- |
- if (last_fake_stream_) { |
- DCHECK(last_fake_stream_->closed_); |
- delete last_fake_stream_; |
- } |
- last_fake_stream_ = new_stream; |
- |
+ FakeAudioOutputStream* new_stream = new FakeAudioOutputStream(manager, |
+ params); |
return new_stream; |
} |
-// static |
-FakeAudioOutputStream* FakeAudioOutputStream::GetLastFakeStream() { |
- return last_fake_stream_; |
-} |
- |
bool FakeAudioOutputStream::Open() { |
if (packet_size_ < sizeof(int16)) |
return false; |
@@ -61,21 +45,16 @@ void FakeAudioOutputStream::GetVolume(double* volume) { |
void FakeAudioOutputStream::Close() { |
closed_ = true; |
+ audio_manager_->ReleaseOutputStream(this); |
} |
-FakeAudioOutputStream::FakeAudioOutputStream(const AudioParameters& params) |
- : volume_(0), |
+FakeAudioOutputStream::FakeAudioOutputStream(AudioManagerBase* manager, |
+ const AudioParameters& params) |
+ : audio_manager_(manager), |
+ volume_(0), |
callback_(NULL), |
packet_size_(params.GetPacketSize()), |
closed_(false) { |
} |
FakeAudioOutputStream::~FakeAudioOutputStream() {} |
- |
-// static |
-void FakeAudioOutputStream::DestroyLastFakeStream(void* param) { |
- if (last_fake_stream_) { |
- DCHECK(last_fake_stream_->closed_); |
- delete last_fake_stream_; |
- } |
-} |