| Index: content/renderer/media/webrtc_audio_device_impl.cc
|
| diff --git a/content/renderer/media/webrtc_audio_device_impl.cc b/content/renderer/media/webrtc_audio_device_impl.cc
|
| index aca12bdb82ddbd75cd7e6881f2f47149eb8429be..c0bc6dd0daa777d833880dca159eac2e905d038c 100644
|
| --- a/content/renderer/media/webrtc_audio_device_impl.cc
|
| +++ b/content/renderer/media/webrtc_audio_device_impl.cc
|
| @@ -248,7 +248,16 @@ int32_t WebRtcAudioDeviceImpl::Terminate() {
|
|
|
| DisableAecDump();
|
|
|
| - capturers_.clear();
|
| + // Stop all the capturers to ensure no further OnData() and
|
| + // RemoveAudioCapturer() callback.
|
| + // Cache the capturers in a local list since WebRtcAudioCapturer::Stop()
|
| + // will trigger RemoveAudioCapturer() callback.
|
| + CapturerList capturers;
|
| + capturers.swap(capturers_);
|
| + for (CapturerList::const_iterator iter = capturers.begin();
|
| + iter != capturers.end(); ++iter) {
|
| + (*iter)->Stop();
|
| + }
|
|
|
| initialized_ = false;
|
| return 0;
|
|
|