diff --git a/webrtc/api/audio_codecs/L16/audio_encoder_L16.cc b/webrtc/api/audio_codecs/L16/audio_encoder_L16.cc index a0acfe7664..99af03d87d 100644 --- a/webrtc/api/audio_codecs/L16/audio_encoder_L16.cc +++ b/webrtc/api/audio_codecs/L16/audio_encoder_L16.cc @@ -20,9 +20,12 @@ namespace webrtc { rtc::Optional AudioEncoderL16::SdpToConfig( const SdpAudioFormat& format) { + if (!rtc::IsValueInRangeForNumericType(format.num_channels)) { + return rtc::Optional(); + } Config config; config.sample_rate_hz = format.clockrate_hz; - config.num_channels = rtc::checked_cast(format.num_channels); + config.num_channels = rtc::dchecked_cast(format.num_channels); return STR_CASE_CMP(format.name.c_str(), "L16") == 0 && config.IsOk() ? rtc::Optional(config) : rtc::Optional();