Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1366)

Unified Diff: voice_engine/test/auto_test/standard/codec_test.cc

Issue 3007383002: Replace voe_auto_test (Closed)
Patch Set: reviewer comment Created 3 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: voice_engine/test/auto_test/standard/codec_test.cc
diff --git a/voice_engine/test/auto_test/standard/codec_test.cc b/voice_engine/test/auto_test/standard/codec_test.cc
deleted file mode 100644
index 2d979e7f5f6c432d42f575be8e401247d3de9d47..0000000000000000000000000000000000000000
--- a/voice_engine/test/auto_test/standard/codec_test.cc
+++ /dev/null
@@ -1,216 +0,0 @@
-/*
- * Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style license
- * that can be found in the LICENSE file in the root of the source
- * tree. An additional intellectual property rights grant can be found
- * in the file PATENTS. All contributing project authors may
- * be found in the AUTHORS file in the root of the source tree.
- */
-
-#include <stdio.h>
-#include <string>
-
-#include "test/testsupport/fileutils.h"
-#include "voice_engine/test/auto_test/fixtures/after_streaming_fixture.h"
-#include "voice_engine/voice_engine_defines.h"
-
-class CodecTest : public AfterStreamingFixture {
- protected:
- void SetUp() {
- memset(&codec_instance_, 0, sizeof(codec_instance_));
- apm_ = webrtc::AudioProcessing::Create();
- voe_base_->Init(nullptr, apm_.get(), nullptr);
- }
-
- void SetArbitrarySendCodec() {
- // Just grab the first codec.
- EXPECT_EQ(0, voe_codec_->GetCodec(0, codec_instance_));
- EXPECT_EQ(0, voe_codec_->SetSendCodec(channel_, codec_instance_));
- }
-
- rtc::scoped_refptr<webrtc::AudioProcessing> apm_;
- webrtc::CodecInst codec_instance_;
-};
-
-static void SetRateIfILBC(webrtc::CodecInst* codec_instance, int packet_size) {
- if (!STR_CASE_CMP(codec_instance->plname, "ilbc")) {
- if (packet_size == 160 || packet_size == 320) {
- codec_instance->rate = 15200;
- } else {
- codec_instance->rate = 13300;
- }
- }
-}
-
-static bool IsNotViableSendCodec(const char* codec_name) {
- return !STR_CASE_CMP(codec_name, "CN") ||
- !STR_CASE_CMP(codec_name, "telephone-event") ||
- !STR_CASE_CMP(codec_name, "red");
-}
-
-TEST_F(CodecTest, PcmuIsDefaultCodecAndHasTheRightValues) {
- EXPECT_EQ(0, voe_codec_->GetSendCodec(channel_, codec_instance_));
- EXPECT_EQ(1u, codec_instance_.channels);
- EXPECT_EQ(160, codec_instance_.pacsize);
- EXPECT_EQ(8000, codec_instance_.plfreq);
- EXPECT_EQ(0, codec_instance_.pltype);
- EXPECT_EQ(64000, codec_instance_.rate);
- EXPECT_STRCASEEQ("PCMU", codec_instance_.plname);
-}
-
-TEST_F(CodecTest, VoiceActivityDetectionIsOffByDefault) {
- bool vad_enabled = false;
- bool dtx_disabled = false;
- webrtc::VadModes vad_mode = webrtc::kVadAggressiveMid;
-
- voe_codec_->GetVADStatus(channel_, vad_enabled, vad_mode, dtx_disabled);
-
- EXPECT_FALSE(vad_enabled);
- EXPECT_TRUE(dtx_disabled);
- EXPECT_EQ(webrtc::kVadConventional, vad_mode);
-}
-
-TEST_F(CodecTest, VoiceActivityDetectionCanBeEnabled) {
- EXPECT_EQ(0, voe_codec_->SetVADStatus(channel_, true));
-
- bool vad_enabled = false;
- bool dtx_disabled = false;
- webrtc::VadModes vad_mode = webrtc::kVadAggressiveMid;
-
- voe_codec_->GetVADStatus(channel_, vad_enabled, vad_mode, dtx_disabled);
-
- EXPECT_TRUE(vad_enabled);
- EXPECT_EQ(webrtc::kVadConventional, vad_mode);
- EXPECT_FALSE(dtx_disabled);
-}
-
-TEST_F(CodecTest, VoiceActivityDetectionTypeSettingsCanBeChanged) {
- bool vad_enabled = false;
- bool dtx_disabled = false;
- webrtc::VadModes vad_mode = webrtc::kVadAggressiveMid;
-
- EXPECT_EQ(0, voe_codec_->SetVADStatus(
- channel_, true, webrtc::kVadAggressiveLow, false));
- EXPECT_EQ(0, voe_codec_->GetVADStatus(
- channel_, vad_enabled, vad_mode, dtx_disabled));
- EXPECT_EQ(vad_mode, webrtc::kVadAggressiveLow);
- EXPECT_FALSE(dtx_disabled);
-
- EXPECT_EQ(0, voe_codec_->SetVADStatus(
- channel_, true, webrtc::kVadAggressiveMid, false));
- EXPECT_EQ(0, voe_codec_->GetVADStatus(
- channel_, vad_enabled, vad_mode, dtx_disabled));
- EXPECT_EQ(vad_mode, webrtc::kVadAggressiveMid);
- EXPECT_FALSE(dtx_disabled);
-
- // 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_FALSE(dtx_disabled);
-
- 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);
-}
-
-TEST_F(CodecTest, VoiceActivityDetectionCanBeTurnedOff) {
- EXPECT_EQ(0, voe_codec_->SetVADStatus(channel_, true));
-
- // VAD is always on when DTX is on, so we need to turn off DTX too.
- EXPECT_EQ(0, voe_codec_->SetVADStatus(
- channel_, false, webrtc::kVadConventional, true));
-
- bool vad_enabled = false;
- bool dtx_disabled = false;
- webrtc::VadModes vad_mode = webrtc::kVadAggressiveMid;
-
- voe_codec_->GetVADStatus(channel_, vad_enabled, vad_mode, dtx_disabled);
-
- EXPECT_FALSE(vad_enabled);
- EXPECT_TRUE(dtx_disabled);
- EXPECT_EQ(webrtc::kVadConventional, vad_mode);
-}
-
-TEST_F(CodecTest, OpusMaxPlaybackRateCanBeSet) {
- for (int i = 0; i < voe_codec_->NumOfCodecs(); ++i) {
- voe_codec_->GetCodec(i, codec_instance_);
- if (STR_CASE_CMP("opus", codec_instance_.plname)) {
- continue;
- }
- voe_codec_->SetSendCodec(channel_, codec_instance_);
- // SetOpusMaxPlaybackRate can handle any integer as the bandwidth. Following
- // tests some most commonly used numbers.
- EXPECT_EQ(0, voe_codec_->SetOpusMaxPlaybackRate(channel_, 48000));
- EXPECT_EQ(0, voe_codec_->SetOpusMaxPlaybackRate(channel_, 32000));
- EXPECT_EQ(0, voe_codec_->SetOpusMaxPlaybackRate(channel_, 16000));
- EXPECT_EQ(0, voe_codec_->SetOpusMaxPlaybackRate(channel_, 8000));
- }
-}
-
-TEST_F(CodecTest, OpusDtxCanBeSetForOpus) {
- for (int i = 0; i < voe_codec_->NumOfCodecs(); ++i) {
- voe_codec_->GetCodec(i, codec_instance_);
- if (STR_CASE_CMP("opus", codec_instance_.plname)) {
- continue;
- }
- voe_codec_->SetSendCodec(channel_, codec_instance_);
- EXPECT_EQ(0, voe_codec_->SetOpusDtx(channel_, false));
- EXPECT_EQ(0, voe_codec_->SetOpusDtx(channel_, true));
- }
-}
-
-TEST_F(CodecTest, OpusDtxCannotBeSetForNonOpus) {
- for (int i = 0; i < voe_codec_->NumOfCodecs(); ++i) {
- voe_codec_->GetCodec(i, codec_instance_);
- if (!STR_CASE_CMP("opus", codec_instance_.plname)) {
- continue;
- }
- voe_codec_->SetSendCodec(channel_, codec_instance_);
- EXPECT_EQ(-1, voe_codec_->SetOpusDtx(channel_, true));
- }
-}
-
-// TODO(xians, phoglund): Re-enable when issue 372 is resolved.
-TEST_F(CodecTest, DISABLED_ManualVerifySendCodecsForAllPacketSizes) {
- for (int i = 0; i < voe_codec_->NumOfCodecs(); ++i) {
- voe_codec_->GetCodec(i, codec_instance_);
- if (IsNotViableSendCodec(codec_instance_.plname)) {
- TEST_LOG("Skipping %s.\n", codec_instance_.plname);
- continue;
- }
- EXPECT_NE(-1, codec_instance_.pltype) <<
- "The codec database should suggest a payload type.";
-
- // Test with default packet size:
- TEST_LOG("%s (pt=%d): default packet size(%d), accepts sizes ",
- codec_instance_.plname, codec_instance_.pltype,
- codec_instance_.pacsize);
- voe_codec_->SetSendCodec(channel_, codec_instance_);
- Sleep(CODEC_TEST_TIME);
-
- // Now test other reasonable packet sizes:
- bool at_least_one_succeeded = false;
- for (int packet_size = 80; packet_size < 1000; packet_size += 80) {
- SetRateIfILBC(&codec_instance_, packet_size);
- codec_instance_.pacsize = packet_size;
-
- if (voe_codec_->SetSendCodec(channel_, codec_instance_) != -1) {
- // Note that it's fine for SetSendCodec to fail - what packet sizes
- // it accepts depends on the codec. It should accept one at minimum.
- TEST_LOG("%d ", packet_size);
- TEST_LOG_FLUSH;
- at_least_one_succeeded = true;
- Sleep(CODEC_TEST_TIME);
- }
- }
- TEST_LOG("\n");
- EXPECT_TRUE(at_least_one_succeeded);
- }
-}
« no previous file with comments | « voice_engine/test/auto_test/standard/codec_before_streaming_test.cc ('k') | voice_engine/test/auto_test/standard/dtmf_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698