Index: content/renderer/media/webrtc_local_audio_renderer.cc |
diff --git a/content/renderer/media/webrtc_local_audio_renderer.cc b/content/renderer/media/webrtc_local_audio_renderer.cc |
index 2606a0de276415a43617f4a35dbeb2aa492dd230..cc5ba771048fe41e710ce2ef80f8376f11022aae 100644 |
--- a/content/renderer/media/webrtc_local_audio_renderer.cc |
+++ b/content/renderer/media/webrtc_local_audio_renderer.cc |
@@ -177,20 +177,24 @@ void WebRtcLocalAudioRenderer::Start() { |
void WebRtcLocalAudioRenderer::Stop() { |
DVLOG(1) << "WebRtcLocalAudioRenderer::Stop()"; |
DCHECK(thread_checker_.CalledOnValidThread()); |
- base::AutoLock auto_lock(thread_lock_); |
if (!sink_) |
return; |
+ { |
+ base::AutoLock auto_lock(thread_lock_); |
+ playing_ = false; |
+ |
+ if (loopback_fifo_.get() != NULL) { |
+ loopback_fifo_->Clear(); |
+ loopback_fifo_.reset(); |
+ } |
+ } |
+ |
// Stop the output audio stream, i.e, stop asking for data to render. |
sink_->Stop(); |
sink_ = NULL; |
- if (loopback_fifo_.get() != NULL) { |
- loopback_fifo_->Clear(); |
- loopback_fifo_.reset(); |
- } |
- |
// Ensure that the capturer stops feeding us with captured audio. |
// Note that, we do not stop the capturer here since it may still be used by |
// the WebRTC ADM. |