Index: webrtc/media/engine/webrtcvideoengine2.cc |
diff --git a/webrtc/media/engine/webrtcvideoengine2.cc b/webrtc/media/engine/webrtcvideoengine2.cc |
index b9dbd666848a8703e76dc4be1c5623c50ed91bd6..895f1271e2d0db0f641ed9766966bdbdf9f2cd01 100644 |
--- a/webrtc/media/engine/webrtcvideoengine2.cc |
+++ b/webrtc/media/engine/webrtcvideoengine2.cc |
@@ -877,6 +877,7 @@ bool WebRtcVideoChannel2::SetSendParameters(const VideoSendParameters& params) { |
send_params_ = params; |
return true; |
} |
+ |
webrtc::RtpParameters WebRtcVideoChannel2::GetRtpParameters( |
uint32_t ssrc) const { |
rtc::CritScope stream_lock(&stream_crit_); |
@@ -887,7 +888,13 @@ webrtc::RtpParameters WebRtcVideoChannel2::GetRtpParameters( |
return webrtc::RtpParameters(); |
} |
- return it->second->GetRtpParameters(); |
+ webrtc::RtpParameters rtp_params = it->second->GetRtpParameters(); |
+ // Need to add the common list of codecs to the send stream-specific |
+ // RTP parameters. |
+ for (const VideoCodec& codec : send_params_.codecs) { |
+ rtp_params.codecs.push_back(codec.ToCodecParameters()); |
+ } |
+ return rtp_params; |
} |
bool WebRtcVideoChannel2::SetRtpParameters( |
@@ -902,6 +909,8 @@ bool WebRtcVideoChannel2::SetRtpParameters( |
return false; |
} |
+ // TODO(deadbeef): Handle setting parameters with a list of codecs in a |
+ // different order (which should change the send codec). |
return it->second->SetRtpParameters(parameters); |
} |
@@ -1840,6 +1849,8 @@ bool WebRtcVideoChannel2::WebRtcVideoSendStream::SetRtpParameters( |
pending_encoder_reconfiguration_ = true; |
} |
rtp_parameters_ = new_parameters; |
+ // Codecs are currently handled at the WebRtcVideoChannel2 level. |
+ rtp_parameters_.codecs.clear(); |
// Encoding may have been activated/deactivated. |
UpdateSendState(); |
return true; |