| 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.
|
|
|