Index: webrtc/media/engine/webrtcvoiceengine.cc |
diff --git a/webrtc/media/engine/webrtcvoiceengine.cc b/webrtc/media/engine/webrtcvoiceengine.cc |
index 21f12105f1db6745f8c70c6167e8210e023e305e..924c109230f7add1d0ad08005f15db94ea9de235 100644 |
--- a/webrtc/media/engine/webrtcvoiceengine.cc |
+++ b/webrtc/media/engine/webrtcvoiceengine.cc |
@@ -1418,7 +1418,18 @@ webrtc::RtpParameters WebRtcVoiceMediaChannel::GetRtpParameters( |
return webrtc::RtpParameters(); |
} |
- return it->second->rtp_parameters(); |
+ webrtc::RtpParameters rtp_params = it->second->rtp_parameters(); |
+ // Need to add the common list of codecs to the send stream-specific |
+ // RTP parameters. |
+ for (const AudioCodec& codec : send_codecs_) { |
+ webrtc::RtpCodecParameters codec_params; |
+ codec_params.payload_type = codec.id; |
+ codec_params.mime_type = codec.name; |
+ codec_params.clock_rate = codec.clockrate; |
+ codec_params.channels = codec.channels; |
+ rtp_params.codecs.push_back(codec_params); |
+ } |
+ return rtp_params; |
} |
bool WebRtcVoiceMediaChannel::SetRtpParameters( |
@@ -1670,6 +1681,7 @@ bool WebRtcVoiceMediaChannel::SetSendCodecs( |
} |
} |
+ send_codecs_ = codecs; |
return true; |
} |
@@ -2389,6 +2401,8 @@ bool WebRtcVoiceMediaChannel::SetChannelParameters( |
int channel, |
const webrtc::RtpParameters& parameters) { |
RTC_CHECK_EQ(1UL, parameters.encodings.size()); |
+ // TODO(deadbeef): Handle setting parameters with a list of codecs in a |
+ // different order (which should change the send codec). |
return SetSendBitrate( |
channel, |
MinPositive(send_bitrate_bps_, parameters.encodings[0].max_bitrate_bps)); |