aboutsummaryrefslogtreecommitdiff
path: root/talk/media/webrtc/webrtcvoiceengine.cc
diff options
context:
space:
mode:
Diffstat (limited to 'talk/media/webrtc/webrtcvoiceengine.cc')
-rw-r--r--talk/media/webrtc/webrtcvoiceengine.cc14
1 files changed, 10 insertions, 4 deletions
diff --git a/talk/media/webrtc/webrtcvoiceengine.cc b/talk/media/webrtc/webrtcvoiceengine.cc
index db22b41fc0..54fac221d8 100644
--- a/talk/media/webrtc/webrtcvoiceengine.cc
+++ b/talk/media/webrtc/webrtcvoiceengine.cc
@@ -1305,6 +1305,10 @@ class WebRtcVoiceMediaChannel::WebRtcVoiceChannelRenderer
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 @@ class WebRtcVoiceMediaChannel::WebRtcVoiceChannelRenderer
// 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.