Don't try to use CN if voice codec isn't mono

Bug: chromium:878066
Change-Id: Iac6da4780a6da4fcfe2693d5cf826249a99f84c4
Reviewed-on: https://webrtc-review.googlesource.com/c/104601
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25066}
This commit is contained in:
Karl Wiberg 2018-10-08 12:41:33 +02:00 committed by Commit Bot
parent 5fcc4de109
commit 20a49f3357

View File

@ -1623,17 +1623,17 @@ bool WebRtcVoiceMediaChannel::SetSendCodecs(
// TODO(solenberg): Break out into a separate function?
for (const AudioCodec& cn_codec : codecs) {
if (IsCodec(cn_codec, kCnCodecName) &&
cn_codec.clockrate == send_codec_spec->format.clockrate_hz) {
switch (cn_codec.clockrate) {
case 8000:
case 16000:
case 32000:
send_codec_spec->cng_payload_type = cn_codec.id;
break;
default:
RTC_LOG(LS_WARNING)
<< "CN frequency " << cn_codec.clockrate << " not supported.";
break;
cn_codec.clockrate == send_codec_spec->format.clockrate_hz &&
cn_codec.channels == voice_codec_info->num_channels) {
if (cn_codec.channels != 1) {
RTC_LOG(LS_WARNING)
<< "CN #channels " << cn_codec.channels << " not supported.";
} else if (cn_codec.clockrate != 8000 && cn_codec.clockrate != 16000 &&
cn_codec.clockrate != 32000) {
RTC_LOG(LS_WARNING)
<< "CN frequency " << cn_codec.clockrate << " not supported.";
} else {
send_codec_spec->cng_payload_type = cn_codec.id;
}
break;
}