Index: media/audio/fake_audio_input_stream.cc |
diff --git a/media/audio/fake_audio_input_stream.cc b/media/audio/fake_audio_input_stream.cc |
index b9b271ba670187f723a27fdfe614a24d9bd81ce3..f1284f1acb3f412c1c805092c723d348557020a3 100644 |
--- a/media/audio/fake_audio_input_stream.cc |
+++ b/media/audio/fake_audio_input_stream.cc |
@@ -5,26 +5,26 @@ |
#include "media/audio/fake_audio_input_stream.h" |
#include "base/bind.h" |
+#include "media/audio/audio_manager_base.h" |
using base::Time; |
using base::TimeDelta; |
AudioInputStream* FakeAudioInputStream::MakeFakeStream( |
+ AudioManagerBase* manager, |
const AudioParameters& params) { |
- return new FakeAudioInputStream(params); |
+ return new FakeAudioInputStream(manager, params); |
} |
-FakeAudioInputStream::FakeAudioInputStream(const AudioParameters& params) |
- : callback_(NULL), |
+FakeAudioInputStream::FakeAudioInputStream(AudioManagerBase* manager, |
+ const AudioParameters& params) |
+ : audio_manager_(manager), |
+ callback_(NULL), |
buffer_size_((params.channels * params.bits_per_sample * |
params.samples_per_packet) / 8), |
thread_("FakeAudioRecordingThread"), |
callback_interval_(base::TimeDelta::FromMilliseconds( |
(params.samples_per_packet * 1000) / params.sample_rate)) { |
- // This object is ref counted (so that it can be used with Thread, PostTask) |
- // but the caller expects a plain pointer. So we take a reference here and |
- // will Release() ourselves in Close(). |
- AddRef(); |
} |
FakeAudioInputStream::~FakeAudioInputStream() {} |
@@ -42,7 +42,7 @@ void FakeAudioInputStream::Start(AudioInputCallback* callback) { |
thread_.Start(); |
thread_.message_loop()->PostDelayedTask( |
FROM_HERE, |
- base::Bind(&FakeAudioInputStream::DoCallback, this), |
+ base::Bind(&FakeAudioInputStream::DoCallback, base::Unretained(this)), |
callback_interval_); |
} |
@@ -62,7 +62,7 @@ void FakeAudioInputStream::DoCallback() { |
last_callback_time_ = now; |
thread_.message_loop()->PostDelayedTask( |
FROM_HERE, |
- base::Bind(&FakeAudioInputStream::DoCallback, this), |
+ base::Bind(&FakeAudioInputStream::DoCallback, base::Unretained(this)), |
next_callback_time); |
} |
@@ -75,7 +75,7 @@ void FakeAudioInputStream::Close() { |
callback_->OnClose(this); |
callback_ = NULL; |
} |
- Release(); // Destoys this object. |
+ audio_manager_->ReleaseInputStream(this); |
} |
double FakeAudioInputStream::GetMaxVolume() { |