| Index: webrtc/media/engine/webrtcvoiceengine.cc
|
| diff --git a/webrtc/media/engine/webrtcvoiceengine.cc b/webrtc/media/engine/webrtcvoiceengine.cc
|
| index 21f12105f1db6745f8c70c6167e8210e023e305e..4c6bfc233743a4c0006259c9e0b021e48174a7dd 100644
|
| --- a/webrtc/media/engine/webrtcvoiceengine.cc
|
| +++ b/webrtc/media/engine/webrtcvoiceengine.cc
|
| @@ -1418,7 +1418,13 @@ 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_) {
|
| + rtp_params.codecs.push_back(codec.ToCodecParameters());
|
| + }
|
| + return rtp_params;
|
| }
|
|
|
| bool WebRtcVoiceMediaChannel::SetRtpParameters(
|
| @@ -1439,6 +1445,9 @@ bool WebRtcVoiceMediaChannel::SetRtpParameters(
|
| LOG(LS_WARNING) << "Failed to set RtpParameters.";
|
| return false;
|
| }
|
| + // Codecs are handled at the WebRtcVoiceMediaChannel level.
|
| + webrtc::RtpParameters reduced_params = parameters;
|
| + reduced_params.codecs.clear();
|
| it->second->set_rtp_parameters(parameters);
|
| return true;
|
| }
|
| @@ -1670,6 +1679,7 @@ bool WebRtcVoiceMediaChannel::SetSendCodecs(
|
| }
|
| }
|
|
|
| + send_codecs_ = codecs;
|
| return true;
|
| }
|
|
|
| @@ -2389,6 +2399,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));
|
|
|