Index: webrtc/media/engine/webrtcvoiceengine.cc |
diff --git a/webrtc/media/engine/webrtcvoiceengine.cc b/webrtc/media/engine/webrtcvoiceengine.cc |
index 63241332a3e9eb6540e923460671c4795fa4683d..856984f368cf3666cd9e9ac4be39cd4b7d04f416 100644 |
--- a/webrtc/media/engine/webrtcvoiceengine.cc |
+++ b/webrtc/media/engine/webrtcvoiceengine.cc |
@@ -1215,16 +1215,19 @@ class WebRtcVoiceMediaChannel::WebRtcAudioSendStream |
return rtp_parameters_; |
} |
- void set_rtp_parameters(const webrtc::RtpParameters& parameters) { |
+ void SetRtpParameters(const webrtc::RtpParameters& parameters) { |
RTC_CHECK_EQ(1UL, parameters.encodings.size()); |
rtp_parameters_ = parameters; |
+ // parameters.encodings[0].active could have changed. |
+ UpdateSendState(); |
} |
private: |
void UpdateSendState() { |
RTC_DCHECK(worker_thread_checker_.CalledOnValidThread()); |
RTC_DCHECK(stream_); |
- if (send_ && source_ != nullptr) { |
+ RTC_DCHECK(rtp_parameters_.encodings.size() == 1u); |
the sun
2016/05/03 08:14:04
nit: use .._EQ like above
|
+ if (send_ && source_ != nullptr && rtp_parameters_.encodings[0].active) { |
stream_->Start(); |
} else { // !send || source_ = nullptr |
stream_->Stop(); |
@@ -1456,7 +1459,7 @@ bool WebRtcVoiceMediaChannel::SetRtpParameters( |
// Codecs are handled at the WebRtcVoiceMediaChannel level. |
webrtc::RtpParameters reduced_params = parameters; |
reduced_params.codecs.clear(); |
- it->second->set_rtp_parameters(reduced_params); |
+ it->second->SetRtpParameters(reduced_params); |
return true; |
} |