Chromium Code Reviews| 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; |
| } |