Compile ACM1 and ACM2.
-Make ACM1 to depend on ACM2.
-Remove APIs to set and get background noise mode. There is no VoE call to these APIs.
-Remove APIs to set and get receive side VAD mode. There is no VoE call to these APIs, and NetEq 4, doesn't support them.
-Remove callback for in-band DTMF detection. ACM doesn't support in-band DTMF detection.
-Use acm_common_defs.h everywhere required.
-Complete ACM factory method.
-Update ACMCodecDatabase of ACM2. CNG full-band need to be define-guarded. Remove dynamic payload-type assignment.
BUG=
R=andrew@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2237004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4772 4adac7df-926f-26a2-2b94-8c16560cd09d
diff --git a/webrtc/modules/audio_coding/main/test/APITest.cc b/webrtc/modules/audio_coding/main/test/APITest.cc
index cb7115e..a9e2e71 100644
--- a/webrtc/modules/audio_coding/main/test/APITest.cc
+++ b/webrtc/modules/audio_coding/main/test/APITest.cc
@@ -22,7 +22,7 @@
#include "testing/gtest/include/gtest/gtest.h"
#include "webrtc/common_types.h"
#include "webrtc/engine_configurations.h"
-#include "webrtc/modules/audio_coding/main/source/acm_common_defs.h"
+#include "webrtc/modules/audio_coding/main/acm2/acm_common_defs.h"
#include "webrtc/modules/audio_coding/main/test/utility.h"
#include "webrtc/system_wrappers/interface/event_wrapper.h"
#include "webrtc/system_wrappers/interface/thread_wrapper.h"
@@ -98,11 +98,6 @@
_payloadUsed[n] = false;
}
- for (n = 0; n < 3; n++) {
- _receiveVADActivityA[n] = 0;
- _receiveVADActivityB[n] = 0;
- }
-
_movingDot[40] = '\0';
for (int n = 0; n < 40; n++) {
@@ -352,7 +347,6 @@
if (_writeToFile) {
_outFileA.Write10MsData(audioFrame);
}
- _receiveVADActivityA[(int) audioFrame.vad_activity_]++;
}
return true;
}
@@ -374,7 +368,6 @@
if (_writeToFile) {
_outFileB.Write10MsData(audioFrame);
}
- _receiveVADActivityB[(int) audioFrame.vad_activity_]++;
}
return true;
}
@@ -458,7 +451,7 @@
{
WriteLockScoped cs(_apiTestRWLock);
if (thread == 'A') {
- _testNumA = (_testNumB + 1 + (rand() % 6)) % 7;
+ _testNumA = (_testNumB + 1 + (rand() % 4)) % 5;
testNum = _testNumA;
_movingDot[_dotPositionA] = ' ';
@@ -471,7 +464,7 @@
_dotPositionA += _dotMoveDirectionA;
_movingDot[_dotPositionA] = (_dotMoveDirectionA > 0) ? '>' : '<';
} else {
- _testNumB = (_testNumA + 1 + (rand() % 6)) % 7;
+ _testNumB = (_testNumA + 1 + (rand() % 4)) % 5;
testNum = _testNumB;
_movingDot[_dotPositionB] = ' ';
@@ -507,14 +500,6 @@
case 4:
TestRegisteration('A');
break;
- case 5:
- TestReceiverVAD('A');
- break;
- case 6:
-#ifdef WEBRTC_DTMF_DETECTION
- LookForDTMF('A');
-#endif
- break;
default:
fprintf(stderr, "Wrong Test Number\n");
getchar();
@@ -543,10 +528,6 @@
// VAD TEST
TestSendVAD('A');
TestRegisteration('A');
- TestReceiverVAD('A');
-#ifdef WEBRTC_DTMF_DETECTION
- LookForDTMF('A');
-#endif
}
return true;
}
@@ -981,18 +962,15 @@
void APITest::TestPlayout(char receiveSide) {
AudioCodingModule* receiveACM;
AudioPlayoutMode* playoutMode = NULL;
- ACMBackgroundNoiseMode* bgnMode = NULL;
switch (receiveSide) {
case 'A': {
receiveACM = _acmA;
playoutMode = &_playoutModeA;
- bgnMode = &_bgnModeA;
break;
}
case 'B': {
receiveACM = _acmB;
playoutMode = &_playoutModeB;
- bgnMode = &_bgnModeB;
break;
}
default:
@@ -1005,29 +983,6 @@
CHECK_ERROR_MT(receiveFreqHz);
CHECK_ERROR_MT(playoutFreqHz);
- char bgnString[25];
- switch (*bgnMode) {
- case On: {
- *bgnMode = Fade;
- strncpy(bgnString, "Fade", 25);
- break;
- }
- case Fade: {
- *bgnMode = Off;
- strncpy(bgnString, "OFF", 25);
- break;
- }
- case Off: {
- *bgnMode = On;
- strncpy(bgnString, "ON", 25);
- break;
- }
- default:
- *bgnMode = On;
- strncpy(bgnString, "ON", 25);
- }
- CHECK_ERROR_MT(receiveACM->SetBackgroundNoiseMode(*bgnMode));
- bgnString[24] = '\0';
char playoutString[25];
switch (*playoutMode) {
@@ -1060,63 +1015,10 @@
fprintf(stdout, "Receive Frequency....... %d Hz\n", receiveFreqHz);
fprintf(stdout, "Playout Frequency....... %d Hz\n", playoutFreqHz);
fprintf(stdout, "Audio Playout Mode...... %s\n", playoutString);
- fprintf(stdout, "Background Noise Mode... %s\n", bgnString);
}
}
// set/get receiver VAD status & mode.
-void APITest::TestReceiverVAD(char side) {
- AudioCodingModule* myACM;
- int* myReceiveVADActivity;
-
- if (side == 'A') {
- myACM = _acmA;
- myReceiveVADActivity = _receiveVADActivityA;
- } else {
- myACM = _acmB;
- myReceiveVADActivity = _receiveVADActivityB;
- }
-
- ACMVADMode mode = myACM->ReceiveVADMode();
-
- CHECK_ERROR_MT(mode);
-
- if (!_randomTest) {
- fprintf(stdout, "\n\nCurrent Receive VAD at side %c\n", side);
- fprintf(stdout, "----------------------------------\n");
- fprintf(stdout, "mode.......... %d\n", (int) mode);
- fprintf(stdout, "VAD Active.... %d\n", myReceiveVADActivity[0]);
- fprintf(stdout, "VAD Passive... %d\n", myReceiveVADActivity[1]);
- fprintf(stdout, "VAD Unknown... %d\n", myReceiveVADActivity[2]);
- }
-
- if (!_randomTest) {
- fprintf(stdout, "\nChange Receive VAD at side %c\n\n", side);
- }
-
- switch (mode) {
- case VADNormal:
- mode = VADAggr;
- break;
- case VADLowBitrate:
- mode = VADVeryAggr;
- break;
- case VADAggr:
- mode = VADLowBitrate;
- break;
- case VADVeryAggr:
- mode = VADNormal;
- break;
- default:
- mode = VADNormal;
-
- CHECK_ERROR_MT(myACM->SetReceiveVADMode(mode));
- }
- for (int n = 0; n < 3; n++) {
- myReceiveVADActivity[n] = 0;
- }
-}
-
void APITest::TestSendVAD(char side) {
if (_randomTest) {
return;
@@ -1317,23 +1219,4 @@
Wait(500);
}
-void APITest::LookForDTMF(char side) {
- if (!_randomTest) {
- fprintf(stdout, "\n\nLooking for DTMF Signal in Side %c\n", side);
- fprintf(stdout, "----------------------------------------\n");
- }
-
- if (side == 'A') {
- _acmB->RegisterIncomingMessagesCallback(NULL);
- _acmA->RegisterIncomingMessagesCallback(_dtmfCallback);
- Wait(1000);
- _acmA->RegisterIncomingMessagesCallback(NULL);
- } else {
- _acmA->RegisterIncomingMessagesCallback(NULL);
- _acmB->RegisterIncomingMessagesCallback(_dtmfCallback);
- Wait(1000);
- _acmB->RegisterIncomingMessagesCallback(NULL);
- }
-}
-
} // namespace webrtc
diff --git a/webrtc/modules/audio_coding/main/test/APITest.h b/webrtc/modules/audio_coding/main/test/APITest.h
index f29abf4..f9e9a91 100644
--- a/webrtc/modules/audio_coding/main/test/APITest.h
+++ b/webrtc/modules/audio_coding/main/test/APITest.h
@@ -56,9 +56,6 @@
// Receiver Frequency, playout frequency.
void TestPlayout(char receiveSide);
- // set/get receiver VAD status & mode.
- void TestReceiverVAD(char side);
-
//
void TestSendVAD(char side);
@@ -68,8 +65,6 @@
void Wait(uint32_t waitLengthMs);
- void LookForDTMF(char side);
-
void RunTest(char thread);
bool PushAudioRunA();
@@ -145,11 +140,6 @@
AudioPlayoutMode _playoutModeA;
AudioPlayoutMode _playoutModeB;
- ACMBackgroundNoiseMode _bgnModeA;
- ACMBackgroundNoiseMode _bgnModeB;
-
- int _receiveVADActivityA[3];
- int _receiveVADActivityB[3];
bool _verbose;
int _dotPositionA;
diff --git a/webrtc/modules/audio_coding/main/test/EncodeDecodeTest.cc b/webrtc/modules/audio_coding/main/test/EncodeDecodeTest.cc
index bab207c..1ee6abc 100644
--- a/webrtc/modules/audio_coding/main/test/EncodeDecodeTest.cc
+++ b/webrtc/modules/audio_coding/main/test/EncodeDecodeTest.cc
@@ -20,7 +20,7 @@
#include "testing/gtest/include/gtest/gtest.h"
#include "webrtc/common_types.h"
#include "webrtc/modules/audio_coding/main/interface/audio_coding_module.h"
-#include "webrtc/modules/audio_coding/main/source/acm_common_defs.h"
+#include "webrtc/modules/audio_coding/main/acm2/acm_common_defs.h"
#include "webrtc/modules/audio_coding/main/test/utility.h"
#include "webrtc/system_wrappers/interface/scoped_ptr.h"
#include "webrtc/system_wrappers/interface/trace.h"
diff --git a/webrtc/modules/audio_coding/main/test/TestVADDTX.cc b/webrtc/modules/audio_coding/main/test/TestVADDTX.cc
index 620329b..29c9ade 100644
--- a/webrtc/modules/audio_coding/main/test/TestVADDTX.cc
+++ b/webrtc/modules/audio_coding/main/test/TestVADDTX.cc
@@ -16,7 +16,7 @@
#include "webrtc/engine_configurations.h"
#include "webrtc/modules/audio_coding/main/interface/audio_coding_module_typedefs.h"
#include "webrtc/modules/audio_coding/main/test/utility.h"
-#include "webrtc/modules/audio_coding/main/source/acm_common_defs.h"
+#include "webrtc/modules/audio_coding/main/acm2/acm_common_defs.h"
#include "webrtc/test/testsupport/fileutils.h"
#include "webrtc/system_wrappers/interface/trace.h"
diff --git a/webrtc/modules/audio_coding/main/test/delay_test.cc b/webrtc/modules/audio_coding/main/test/delay_test.cc
index 57a912a..1a0f8f8 100644
--- a/webrtc/modules/audio_coding/main/test/delay_test.cc
+++ b/webrtc/modules/audio_coding/main/test/delay_test.cc
@@ -20,7 +20,7 @@
#include "webrtc/common_types.h"
#include "webrtc/engine_configurations.h"
#include "webrtc/modules/audio_coding/main/interface/audio_coding_module_typedefs.h"
-#include "webrtc/modules/audio_coding/main/source/acm_common_defs.h"
+#include "webrtc/modules/audio_coding/main/acm2/acm_common_defs.h"
#include "webrtc/modules/audio_coding/main/test/Channel.h"
#include "webrtc/modules/audio_coding/main/test/PCMFile.h"
#include "webrtc/modules/audio_coding/main/test/utility.h"
diff --git a/webrtc/modules/audio_coding/main/test/dual_stream_unittest.cc b/webrtc/modules/audio_coding/main/test/dual_stream_unittest.cc
index d8cdce5..85b1c8e 100644
--- a/webrtc/modules/audio_coding/main/test/dual_stream_unittest.cc
+++ b/webrtc/modules/audio_coding/main/test/dual_stream_unittest.cc
@@ -8,7 +8,7 @@
* be found in the AUTHORS file in the root of the source tree.
*/
-#include "../source/acm_common_defs.h"
+#include "../acm2/acm_common_defs.h"
#include "gtest/gtest.h"
#include "audio_coding_module.h"
#include "PCMFile.h"
diff --git a/webrtc/modules/audio_coding/main/test/iSACTest.cc b/webrtc/modules/audio_coding/main/test/iSACTest.cc
index 50809fc..26f5b1f 100644
--- a/webrtc/modules/audio_coding/main/test/iSACTest.cc
+++ b/webrtc/modules/audio_coding/main/test/iSACTest.cc
@@ -23,7 +23,7 @@
#include <time.h>
#endif
-#include "webrtc/modules/audio_coding/main/source/acm_common_defs.h"
+#include "webrtc/modules/audio_coding/main/acm2/acm_common_defs.h"
#include "webrtc/modules/audio_coding/main/test/utility.h"
#include "webrtc/system_wrappers/interface/event_wrapper.h"
#include "webrtc/system_wrappers/interface/tick_util.h"
diff --git a/webrtc/modules/audio_coding/main/test/utility.cc b/webrtc/modules/audio_coding/main/test/utility.cc
index 62594ea..4b69640 100644
--- a/webrtc/modules/audio_coding/main/test/utility.cc
+++ b/webrtc/modules/audio_coding/main/test/utility.cc
@@ -17,7 +17,7 @@
#include "testing/gtest/include/gtest/gtest.h"
#include "webrtc/common_types.h"
#include "webrtc/modules/audio_coding/main/interface/audio_coding_module.h"
-#include "webrtc/modules/audio_coding/main/source/acm_common_defs.h"
+#include "webrtc/modules/audio_coding/main/acm2/acm_common_defs.h"
#define NUM_CODECS_WITH_FIXED_PAYLOAD_TYPE 13