Index: talk/media/webrtc/webrtcvoiceengine.cc |
diff --git a/talk/media/webrtc/webrtcvoiceengine.cc b/talk/media/webrtc/webrtcvoiceengine.cc |
index db22b41fc0d476639bd8629bdb1d6da53259031c..54fac221d8fb7d6d829f606e8ab5f9897dc2469a 100644 |
--- a/talk/media/webrtc/webrtcvoiceengine.cc |
+++ b/talk/media/webrtc/webrtcvoiceengine.cc |
@@ -1305,6 +1305,10 @@ |
RTC_DCHECK(renderer_ == renderer); |
return; |
} |
+ |
+ // TODO(xians): Remove AddChannel() call after Chrome turns on APM |
+ // in getUserMedia by default. |
+ renderer->AddChannel(channel_); |
renderer->SetSink(this); |
renderer_ = renderer; |
} |
@@ -1314,10 +1318,12 @@ |
// This method is called on the libjingle worker thread. |
void Stop() { |
rtc::CritScope lock(&lock_); |
- if (renderer_ != NULL) { |
- renderer_->SetSink(NULL); |
- renderer_ = NULL; |
- } |
+ if (renderer_ == NULL) |
+ return; |
+ |
+ renderer_->RemoveChannel(channel_); |
+ renderer_->SetSink(NULL); |
+ renderer_ = NULL; |
} |
// AudioRenderer::Sink implementation. |