| Index: media/audio/audio_manager_base.cc
|
| diff --git a/media/audio/audio_manager_base.cc b/media/audio/audio_manager_base.cc
|
| index 458e53b214f371a955c89ca1c42be0b5ae114dda..892fda1411de8551f6c7fac1ad6f8ba4ad5bf294 100644
|
| --- a/media/audio/audio_manager_base.cc
|
| +++ b/media/audio/audio_manager_base.cc
|
| @@ -5,6 +5,7 @@
|
| #include "media/audio/audio_manager_base.h"
|
|
|
| #include "base/bind.h"
|
| +#include "base/bind_helpers.h"
|
| #include "base/command_line.h"
|
| #include "base/message_loop_proxy.h"
|
| #include "base/threading/thread.h"
|
| @@ -115,8 +116,12 @@ AudioOutputStream* AudioManagerBase::MakeAudioOutputStream(
|
| NOTIMPLEMENTED();
|
| return NULL;
|
| #else
|
| - stream = VirtualAudioOutputStream::MakeStream(this, params, message_loop_,
|
| - virtual_audio_input_stream_);
|
| + VirtualAudioOutputStream* const vaos =
|
| + new VirtualAudioOutputStream(
|
| + params, message_loop_, virtual_audio_input_stream_);
|
| + vaos->RunOnceClosed(base::Bind(
|
| + &AudioManagerBase::ReleaseOutputStream, base::Unretained(this), vaos));
|
| + stream = vaos;
|
| #endif
|
| } else if (audio_output_disabled) {
|
| stream = FakeAudioOutputStream::MakeFakeStream(this, params);
|
| @@ -162,7 +167,10 @@ AudioInputStream* AudioManagerBase::MakeAudioInputStream(
|
| // request. Subsequent requests will not get audio.
|
| if (!virtual_audio_input_stream_) {
|
| virtual_audio_input_stream_ =
|
| - VirtualAudioInputStream::MakeStream(this, params, message_loop_);
|
| + new VirtualAudioInputStream(params, message_loop_);
|
| + virtual_audio_input_stream_->RunOnceClosed(base::Bind(
|
| + &AudioManagerBase::ReleaseInputStream, base::Unretained(this),
|
| + virtual_audio_input_stream_));
|
| stream = virtual_audio_input_stream_;
|
| DVLOG(1) << "Virtual audio input stream created.";
|
|
|
|
|