Save custom parameters provided by the SdpVideoFormat when requesting an encoder switch.

Bug: webrtc:11341
Change-Id: I1079c4ec021eb3939df4c92d2e1a48874e854dcd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/168645
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30541}
This commit is contained in:
philipel 2020-02-17 17:07:12 +01:00 committed by Commit Bot
parent a68eb8c1cb
commit e45763139c

View File

@ -791,13 +791,18 @@ void WebRtcVideoChannel::RequestEncoderSwitch(
for (const VideoCodecSettings& codec_setting : negotiated_codecs_) {
if (IsSameCodec(format.name, format.parameters, codec_setting.codec.name,
codec_setting.codec.params)) {
if (send_codec_ == codec_setting) {
VideoCodecSettings new_codec_setting = codec_setting;
for (const auto& kv : format.parameters) {
new_codec_setting.codec.params[kv.first] = kv.second;
}
if (send_codec_ == new_codec_setting) {
// Already using this codec, no switch required.
return;
}
ChangedSendParameters params;
params.send_codec = codec_setting;
params.send_codec = new_codec_setting;
ApplyChangedParams(params);
return;
}