| 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() {
|
|
|