Index: media/audio/linux/audio_manager_linux.cc |
diff --git a/media/audio/linux/audio_manager_linux.cc b/media/audio/linux/audio_manager_linux.cc |
index fdf80441bf37473946463082121643377138669d..e6c34e51c442bc3601d47e94fce2fa5d93f1c373 100644 |
--- a/media/audio/linux/audio_manager_linux.cc |
+++ b/media/audio/linux/audio_manager_linux.cc |
@@ -6,6 +6,7 @@ |
#include "base/command_line.h" |
#include "base/logging.h" |
+#include "media/audio/audio_output_dispatcher.h" |
#include "media/audio/fake_audio_input_stream.h" |
#include "media/audio/fake_audio_output_stream.h" |
#include "media/audio/linux/alsa_input.h" |
@@ -94,6 +95,11 @@ AudioManagerLinux::~AudioManagerLinux() { |
// This way we make sure activities of the audio streams are all stopped |
// before we destroy them. |
audio_thread_.Stop(); |
+ |
+ // Free output dispatchers first, so that they closes all streams that |
scherkus (not reviewing)
2010/11/22 06:43:15
nit: so that they closes all streams that are stil
Sergey Ulanov
2010/11/23 19:51:46
Done.
|
+ // are still open. |
+ output_dispatchers_.clear(); |
scherkus (not reviewing)
2010/11/22 06:43:15
why only on linux?
Sergey Ulanov
2010/11/23 19:51:46
Because on Windows and on Mac AudioManager doesn't
|
+ |
active_streams_.clear(); |
} |