red: fix renegotiation

If RED is no longer used the send codec needs to be reconfigured.
To test on https://webrtc.github.io/samples/src/content/peerconnection/audio/
run:
  await pc1.setLocalDescription();
  await pc1.setRemoteDescription({type: 'answer', sdp:
        pc1.remoteDescription.sdp.replace('red/48000', 'blue/48000')})
As a result, RED will be turned off and the bitrate will drop.

BUG=webrtc:11640

Change-Id: Icc7a83ae29e67d054399bf42010264e94c32127d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221360
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34719}
This commit is contained in:
Philipp Hancke
2021-06-04 13:49:27 +02:00
committed by WebRTC LUCI CQ
parent 221fa4405c
commit 6144b8422b

View File

@ -701,7 +701,9 @@ bool AudioSendStream::ReconfigureSendCodec(const Config& new_config) {
new_config.send_codec_spec->format !=
old_config.send_codec_spec->format ||
new_config.send_codec_spec->payload_type !=
old_config.send_codec_spec->payload_type) {
old_config.send_codec_spec->payload_type ||
new_config.send_codec_spec->red_payload_type !=
old_config.send_codec_spec->red_payload_type) {
return SetupSendCodec(new_config);
}