diff options
author | xians@chromium.org <xians@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-03-14 14:07:39 +0000 |
---|---|---|
committer | xians@chromium.org <xians@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-03-14 14:07:39 +0000 |
commit | d6a5d747415a472f8755af23de94cd42fb20799a (patch) | |
tree | c069dd45c4bac1858abb5fc716cab13a808058e2 /media/audio/mac/audio_manager_mac.cc | |
parent | 49ee2828a9fb5c9502768c2ba932aef9ed00a604 (diff) | |
download | chromium_src-d6a5d747415a472f8755af23de94cd42fb20799a.zip chromium_src-d6a5d747415a472f8755af23de94cd42fb20799a.tar.gz chromium_src-d6a5d747415a472f8755af23de94cd42fb20799a.tar.bz2 |
Stopping the audio thread before destroying the AudioManager<Platform>.
The destruction of the AudioManager family happens in order of: AudioManager<Platform>, AudioManagerBase, AudioManager.
So before getting into the destruction of AudioManagerBase, we have make sure the audio thread has been stopped before AudioManager<Platform> is gone, otherwise it will end up into unexpected behavior, for example, crash because of pure virtual function.
BUG=117470
TEST=media_unittests, Address Sanitizer
Review URL: http://codereview.chromium.org/9692038
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@126635 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media/audio/mac/audio_manager_mac.cc')
-rw-r--r-- | media/audio/mac/audio_manager_mac.cc | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/media/audio/mac/audio_manager_mac.cc b/media/audio/mac/audio_manager_mac.cc index fdaf5a1..31b4d6d 100644 --- a/media/audio/mac/audio_manager_mac.cc +++ b/media/audio/mac/audio_manager_mac.cc @@ -221,6 +221,7 @@ AudioManagerMac::AudioManagerMac() { } AudioManagerMac::~AudioManagerMac() { + Shutdown(); } bool AudioManagerMac::HasAudioOutputDevices() { |