Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(180)

Unified Diff: webrtc/media/engine/webrtcvoiceengine.cc

Issue 1885473004: Adding codecs to the RtpParameters returned by an RtpSender. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Responding to review comments. Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: webrtc/media/engine/webrtcvoiceengine.cc
diff --git a/webrtc/media/engine/webrtcvoiceengine.cc b/webrtc/media/engine/webrtcvoiceengine.cc
index 21f12105f1db6745f8c70c6167e8210e023e305e..4702f84e1e691e47d72909040fcc44ba0fdf85e5 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,7 +1445,10 @@ bool WebRtcVoiceMediaChannel::SetRtpParameters(
LOG(LS_WARNING) << "Failed to set RtpParameters.";
return false;
}
- it->second->set_rtp_parameters(parameters);
+ // Codecs are handled at the WebRtcVoiceMediaChannel level.
+ webrtc::RtpParameters reduced_params = parameters;
+ reduced_params.codecs.clear();
+ it->second->set_rtp_parameters(reduced_params);
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));

Powered by Google App Engine
This is Rietveld 408576698