Reland r8125: Modify some tests to never use DTX disable mode

DTX disable mode will be removed as a part of the ACM redesign work.

This CL effectively reverts r8129, and relands r8125, but now using
assert instead of DCHECK.

COAUTHOR:kwiberg@webrtc.org
TBR=henrika@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/37839004

Cr-Commit-Position: refs/heads/master@{#8185}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8185 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
henrik.lundin@webrtc.org 2015-01-28 14:49:05 +00:00
parent 37c0559c1e
commit 664ccb7d8d
3 changed files with 14 additions and 12 deletions

View File

@ -121,13 +121,13 @@ void TestVADDTX::Perform() {
}
void TestVADDTX::runTestCases() {
// #1 DTX = OFF, VAD = ON, VADNormal
SetVAD(false, true, VADNormal);
// #1 DTX = OFF, VAD = OFF, VADNormal
SetVAD(false, false, VADNormal);
Run();
VerifyTest();
// #2 DTX = OFF, VAD = ON, VADAggr
SetVAD(false, true, VADAggr);
// #2 DTX = ON, VAD = ON, VADAggr
SetVAD(true, true, VADAggr);
Run();
VerifyTest();
@ -141,8 +141,8 @@ void TestVADDTX::runTestCases() {
Run();
VerifyTest();
// #5 DTX = ON, VAD = OFF, VADNormal
SetVAD(true, false, VADNormal);
// #5 DTX = ON, VAD = ON, VADNormal
SetVAD(true, true, VADNormal);
Run();
VerifyTest();
}

View File

@ -1352,6 +1352,7 @@ Channel::SetVADStatus(bool enableVAD, ACMVADMode mode, bool disableDTX)
{
WEBRTC_TRACE(kTraceInfo, kTraceVoice, VoEId(_instanceId,_channelId),
"Channel::SetVADStatus(mode=%d)", mode);
assert(!(disableDTX && enableVAD)); // disableDTX mode is deprecated.
// To disable VAD, DTX must be disabled too
disableDTX = ((enableVAD == false) ? true : disableDTX);
if (audio_coding_->SetVAD(!disableDTX, enableVAD, mode) != 0)

View File

@ -97,16 +97,17 @@ TEST_F(CodecTest, VoiceActivityDetectionTypeSettingsCanBeChanged) {
EXPECT_EQ(vad_mode, webrtc::kVadAggressiveMid);
EXPECT_FALSE(dtx_disabled);
// The fourth argument is the DTX disable flag.
EXPECT_EQ(0, voe_codec_->SetVADStatus(
channel_, true, webrtc::kVadAggressiveHigh, true));
// The fourth argument is the DTX disable flag, which is always supposed to
// be false.
EXPECT_EQ(0, voe_codec_->SetVADStatus(channel_, true,
webrtc::kVadAggressiveHigh, false));
EXPECT_EQ(0, voe_codec_->GetVADStatus(
channel_, vad_enabled, vad_mode, dtx_disabled));
EXPECT_EQ(vad_mode, webrtc::kVadAggressiveHigh);
EXPECT_TRUE(dtx_disabled);
EXPECT_FALSE(dtx_disabled);
EXPECT_EQ(0, voe_codec_->SetVADStatus(
channel_, true, webrtc::kVadConventional, true));
EXPECT_EQ(0, voe_codec_->SetVADStatus(channel_, true,
webrtc::kVadConventional, false));
EXPECT_EQ(0, voe_codec_->GetVADStatus(
channel_, vad_enabled, vad_mode, dtx_disabled));
EXPECT_EQ(vad_mode, webrtc::kVadConventional);