From e45763139c0e8c43a10db01042b8196151efb956 Mon Sep 17 00:00:00 2001 From: philipel Date: Mon, 17 Feb 2020 17:07:12 +0100 Subject: [PATCH] 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 Reviewed-by: Rasmus Brandt Commit-Queue: Philip Eliasson Cr-Commit-Position: refs/heads/master@{#30541} --- media/engine/webrtc_video_engine.cc | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/media/engine/webrtc_video_engine.cc b/media/engine/webrtc_video_engine.cc index f642c4cc6c..e1ec17301d 100644 --- a/media/engine/webrtc_video_engine.cc +++ b/media/engine/webrtc_video_engine.cc @@ -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; }