diff options
Diffstat (limited to 'media/audio/win/waveout_output_win.cc')
-rw-r--r-- | media/audio/win/waveout_output_win.cc | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/media/audio/win/waveout_output_win.cc b/media/audio/win/waveout_output_win.cc index 12b4251..5e56169 100644 --- a/media/audio/win/waveout_output_win.cc +++ b/media/audio/win/waveout_output_win.cc @@ -278,6 +278,9 @@ void PCMWaveOutAudioOutputStream::Stop() { return; } + // Wait for lock to ensure all outstanding callbacks have completed. + base::AutoLock auto_lock(lock_); + // waveOutReset() leaves buffers in the unpredictable state, causing // problems if we want to close, release, or reuse them. Fix the states. for (int ix = 0; ix != num_buffers_; ++ix) { |