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