diff --git a/webrtc/voice_engine/channel.cc b/webrtc/voice_engine/channel.cc index 742e53e836..8ccad33161 100644 --- a/webrtc/voice_engine/channel.cc +++ b/webrtc/voice_engine/channel.cc @@ -2995,6 +2995,7 @@ uint32_t Channel::PrepareEncodeAndSend(int mixingFrequency) { if (_includeAudioLevelIndication) { size_t length = _audioFrame.samples_per_channel_ * _audioFrame.num_channels_; + RTC_CHECK_LE(length, sizeof(_audioFrame.data_)); if (is_muted && previous_frame_muted_) { rms_level_.ProcessMuted(length); } else { diff --git a/webrtc/voice_engine/test/auto_test/standard/external_media_test.cc b/webrtc/voice_engine/test/auto_test/standard/external_media_test.cc index 4f86010a18..4534e128b3 100644 --- a/webrtc/voice_engine/test/auto_test/standard/external_media_test.cc +++ b/webrtc/voice_engine/test/auto_test/standard/external_media_test.cc @@ -107,20 +107,3 @@ TEST_F(ExternalMediaTest, EXPECT_EQ(0, voe_xmedia_->SetExternalMixing(channel_, false)); ResumePlaying(); } - -TEST_F(ExternalMediaTest, - ExternalMixingResamplingToInvalidFrequenciesFails) { - const int kInvalidFrequencies[] = {-8000, -1}; - webrtc::AudioFrame frame; - PausePlaying(); - EXPECT_EQ(0, voe_xmedia_->SetExternalMixing(channel_, true)); - ResumePlaying(); - for (size_t i = 0; i < arraysize(kInvalidFrequencies); i++) { - int f = kInvalidFrequencies[i]; - EXPECT_EQ(-1, voe_xmedia_->GetAudioFrame(channel_, f, &frame)) - << "Resampling fails for freq=" << f; - } - PausePlaying(); - EXPECT_EQ(0, voe_xmedia_->SetExternalMixing(channel_, false)); - ResumePlaying(); -}