Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / third_party / webrtc / modules / audio_coding / main / test / dual_stream_unittest.cc
index ba9bb6c..71657c9 100644 (file)
@@ -9,7 +9,6 @@
  */
 
 #include "gtest/gtest.h"
-#include "webrtc/common.h"
 #include "webrtc/modules/audio_coding/main/acm2/acm_common_defs.h"
 #include "webrtc/modules/audio_coding/main/interface/audio_coding_module.h"
 #include "webrtc/modules/audio_coding/main/test/PCMFile.h"
 
 namespace webrtc {
 
-class DualStreamTest : public AudioPacketizationCallback {
- public:
-  explicit DualStreamTest(const Config& config);
+class DualStreamTest : public AudioPacketizationCallback,
+                       public ::testing::Test {
+ protected:
+  DualStreamTest();
   ~DualStreamTest();
 
   void RunTest(int frame_size_primary_samples,
@@ -35,8 +35,6 @@ class DualStreamTest : public AudioPacketizationCallback {
 
   void ApiTest();
 
- protected:
-
   int32_t SendData(FrameType frameType, uint8_t payload_type,
                    uint32_t timestamp, const uint8_t* payload_data,
                    uint16_t payload_size,
@@ -93,10 +91,10 @@ class DualStreamTest : public AudioPacketizationCallback {
   bool received_payload_[kMaxNumStreams];
 };
 
-DualStreamTest::DualStreamTest(const Config& config)
-    : acm_dual_stream_(config.Get<AudioCodingModuleFactory>().Create(0)),
-      acm_ref_primary_(config.Get<AudioCodingModuleFactory>().Create(1)),
-      acm_ref_secondary_(config.Get<AudioCodingModuleFactory>().Create(2)),
+DualStreamTest::DualStreamTest()
+    : acm_dual_stream_(AudioCodingModule::Create(0)),
+      acm_ref_primary_(AudioCodingModule::Create(1)),
+      acm_ref_secondary_(AudioCodingModule::Create(2)),
       payload_ref_is_stored_(),
       payload_dual_is_stored_(),
       timestamp_ref_(),
@@ -388,17 +386,106 @@ int32_t DualStreamTest::SendData(FrameType frameType, uint8_t payload_type,
   return 0;
 }
 
-void DualStreamTest::RunTest(int frame_size_primary_samples,
-                             int num_channels_primary,
-                             int sampling_rate,
-                             bool start_in_sync,
-                             int num_channels_input) {
-  InitializeSender(
-      frame_size_primary_samples, num_channels_primary, sampling_rate);
-  Perform(start_in_sync, num_channels_input);
-};
+// Mono input, mono primary WB 20 ms frame.
+TEST_F(DualStreamTest,
+       DISABLED_ON_ANDROID(BitExactSyncMonoInputMonoPrimaryWb20Ms)) {
+  InitializeSender(20, 1, 16000);
+  Perform(true, 1);
+}
+
+// Mono input, stereo primary WB 20 ms frame.
+TEST_F(DualStreamTest,
+       DISABLED_ON_ANDROID(BitExactSyncMonoInput_StereoPrimaryWb20Ms)) {
+  InitializeSender(20, 2, 16000);
+  Perform(true, 1);
+}
+
+// Mono input, mono primary SWB 20 ms frame.
+TEST_F(DualStreamTest,
+       DISABLED_ON_ANDROID(BitExactSyncMonoInputMonoPrimarySwb20Ms)) {
+  InitializeSender(20, 1, 32000);
+  Perform(true, 1);
+}
+
+// Mono input, stereo primary SWB 20 ms frame.
+TEST_F(DualStreamTest,
+       DISABLED_ON_ANDROID(BitExactSyncMonoInputStereoPrimarySwb20Ms)) {
+  InitializeSender(20, 2, 32000);
+  Perform(true, 1);
+}
+
+// Mono input, mono primary WB 40 ms frame.
+TEST_F(DualStreamTest,
+       DISABLED_ON_ANDROID(BitExactSyncMonoInputMonoPrimaryWb40Ms)) {
+  InitializeSender(40, 1, 16000);
+  Perform(true, 1);
+}
+
+// Mono input, stereo primary WB 40 ms frame
+TEST_F(DualStreamTest,
+       DISABLED_ON_ANDROID(BitExactSyncMonoInputStereoPrimaryWb40Ms)) {
+  InitializeSender(40, 2, 16000);
+  Perform(true, 1);
+}
+
+// Stereo input, mono primary WB 20 ms frame.
+TEST_F(DualStreamTest,
+       DISABLED_ON_ANDROID(BitExactSyncStereoInputMonoPrimaryWb20Ms)) {
+  InitializeSender(20, 1, 16000);
+  Perform(true, 2);
+}
+
+// Stereo input, stereo primary WB 20 ms frame.
+TEST_F(DualStreamTest,
+       DISABLED_ON_ANDROID(BitExactSyncStereoInputStereoPrimaryWb20Ms)) {
+  InitializeSender(20, 2, 16000);
+  Perform(true, 2);
+}
+
+// Stereo input, mono primary SWB 20 ms frame.
+TEST_F(DualStreamTest,
+       DISABLED_ON_ANDROID(BitExactSyncStereoInputMonoPrimarySwb20Ms)) {
+  InitializeSender(20, 1, 32000);
+  Perform(true, 2);
+}
+
+// Stereo input, stereo primary SWB 20 ms frame.
+TEST_F(DualStreamTest,
+       DISABLED_ON_ANDROID(BitExactSyncStereoInputStereoPrimarySwb20Ms)) {
+  InitializeSender(20, 2, 32000);
+  Perform(true, 2);
+}
+
+// Stereo input, mono primary WB 40 ms frame.
+TEST_F(DualStreamTest,
+       DISABLED_ON_ANDROID(BitExactSyncStereoInputMonoPrimaryWb40Ms)) {
+  InitializeSender(40, 1, 16000);
+  Perform(true, 2);
+}
+
+// Stereo input, stereo primary WB 40 ms frame.
+TEST_F(DualStreamTest,
+       DISABLED_ON_ANDROID(BitExactSyncStereoInputStereoPrimaryWb40Ms)) {
+  InitializeSender(40, 2, 16000);
+  Perform(true, 2);
+}
+
+// Asynchronous test, ACM is fed with data then secondary coder is registered.
+// Mono input, mono primary WB 20 ms frame.
+TEST_F(DualStreamTest,
+       DISABLED_ON_ANDROID(BitExactAsyncMonoInputMonoPrimaryWb20Ms)) {
+  InitializeSender(20, 1, 16000);
+  Perform(false, 1);
+}
+
+// Mono input, mono primary WB 20 ms frame.
+TEST_F(DualStreamTest,
+       DISABLED_ON_ANDROID(BitExactAsyncMonoInputMonoPrimaryWb40Ms)) {
+  InitializeSender(40, 1, 16000);
+  Perform(false, 1);
+}
 
-void DualStreamTest::ApiTest() {
+TEST_F(DualStreamTest, DISABLED_ON_ANDROID(Api)) {
   PopulateCodecInstances(20, 1, 16000);
   CodecInst my_codec;
   ASSERT_EQ(0, acm_dual_stream_->InitializeSender());
@@ -449,171 +536,4 @@ void DualStreamTest::ApiTest() {
   EXPECT_EQ(VADVeryAggr, vad_mode);
 }
 
-namespace {
-
-DualStreamTest* CreateLegacy() {
-  Config config;
-  UseLegacyAcm(&config);
-  DualStreamTest* test = new DualStreamTest(config);
-  return test;
-}
-
-DualStreamTest* CreateNew() {
-  Config config;
-  UseNewAcm(&config);
-  DualStreamTest* test = new DualStreamTest(config);
-  return test;
-}
-
-}  // namespace
-
-// Mono input, mono primary WB 20 ms frame.
-TEST(DualStreamTest,
-     DISABLED_ON_ANDROID(BitExactSyncMonoInputMonoPrimaryWb20Ms)) {
-  scoped_ptr<DualStreamTest> test(CreateLegacy());
-  test->RunTest(20, 1, 16000, true, 1);
-
-  test.reset(CreateNew());
-  test->RunTest(20, 1, 16000, true, 1);
-}
-
-// Mono input, stereo primary WB 20 ms frame.
-TEST(DualStreamTest,
-     DISABLED_ON_ANDROID(BitExactSyncMonoInput_StereoPrimaryWb20Ms)) {
-  scoped_ptr<DualStreamTest> test(CreateLegacy());
-  test->RunTest(20, 2, 16000, true, 1);
-
-  test.reset(CreateNew());
-  test->RunTest(20, 2, 16000, true, 1);
-}
-
-// Mono input, mono primary SWB 20 ms frame.
-TEST(DualStreamTest,
-     DISABLED_ON_ANDROID(BitExactSyncMonoInputMonoPrimarySwb20Ms)) {
-  scoped_ptr<DualStreamTest> test(CreateLegacy());
-  test->RunTest(20, 1, 32000, true, 1);
-
-  test.reset(CreateNew());
-  test->RunTest(20, 1, 32000, true, 1);
-}
-
-// Mono input, stereo primary SWB 20 ms frame.
-TEST(DualStreamTest,
-     DISABLED_ON_ANDROID(BitExactSyncMonoInputStereoPrimarySwb20Ms)) {
-  scoped_ptr<DualStreamTest> test(CreateLegacy());
-  test->RunTest(20, 2, 32000, true, 1);
-
-  test.reset(CreateNew());
-  test->RunTest(20, 2, 32000, true, 1);
-}
-
-// Mono input, mono primary WB 40 ms frame.
-TEST(DualStreamTest,
-     DISABLED_ON_ANDROID(BitExactSyncMonoInputMonoPrimaryWb40Ms)) {
-  scoped_ptr<DualStreamTest> test(CreateNew());
-  test->RunTest(40, 1, 16000, true, 1);
-
-  test.reset(CreateNew());
-  test->RunTest(40, 1, 16000, true, 1);
-}
-
-// Mono input, stereo primary WB 40 ms frame
-TEST(DualStreamTest,
-     DISABLED_ON_ANDROID(BitExactSyncMonoInputStereoPrimaryWb40Ms)) {
-  scoped_ptr<DualStreamTest> test(CreateNew());
-  test->RunTest(40, 2, 16000, true, 1);
-
-  test.reset(CreateNew());
-  test->RunTest(40, 2, 16000, true, 1);
-}
-
-// Stereo input, mono primary WB 20 ms frame.
-TEST(DualStreamTest,
-     DISABLED_ON_ANDROID(BitExactSyncStereoInputMonoPrimaryWb20Ms)) {
-  scoped_ptr<DualStreamTest> test(CreateLegacy());
-  test->RunTest(20, 1, 16000, true, 2);
-
-  test.reset(CreateNew());
-  test->RunTest(20, 1, 16000, true, 2);
-}
-
-// Stereo input, stereo primary WB 20 ms frame.
-TEST(DualStreamTest,
-     DISABLED_ON_ANDROID(BitExactSyncStereoInputStereoPrimaryWb20Ms)) {
-  scoped_ptr<DualStreamTest> test(CreateLegacy());
-  test->RunTest(20, 2, 16000, true, 2);
-
-  test.reset(CreateNew());
-  test->RunTest(20, 2, 16000, true, 2);
-}
-
-// Stereo input, mono primary SWB 20 ms frame.
-TEST(DualStreamTest,
-     DISABLED_ON_ANDROID(BitExactSyncStereoInputMonoPrimarySwb20Ms)) {
-  scoped_ptr<DualStreamTest> test(CreateLegacy());
-  test->RunTest(20, 1, 32000, true, 2);
-
-  test.reset(CreateNew());
-  test->RunTest(20, 1, 32000, true, 2);
-}
-
-// Stereo input, stereo primary SWB 20 ms frame.
-TEST(DualStreamTest,
-     DISABLED_ON_ANDROID(BitExactSyncStereoInputStereoPrimarySwb20Ms)) {
-  scoped_ptr<DualStreamTest> test(CreateLegacy());
-  test->RunTest(20, 2, 32000, true, 2);
-
-  test.reset(CreateNew());
-  test->RunTest(20, 2, 32000, true, 2);
-}
-
-// Stereo input, mono primary WB 40 ms frame.
-TEST(DualStreamTest,
-     DISABLED_ON_ANDROID(BitExactSyncStereoInputMonoPrimaryWb40Ms)) {
-  scoped_ptr<DualStreamTest> test(CreateLegacy());
-  test->RunTest(40, 1, 16000, true, 2);
-
-  test.reset(CreateNew());
-  test->RunTest(40, 1, 16000, true, 2);
-}
-
-// Stereo input, stereo primary WB 40 ms frame.
-TEST(DualStreamTest,
-     DISABLED_ON_ANDROID(BitExactSyncStereoInputStereoPrimaryWb40Ms)) {
-  scoped_ptr<DualStreamTest> test(CreateLegacy());
-  test->RunTest(40, 2, 16000, true, 2);
-
-  test.reset(CreateNew());
-  test->RunTest(40, 2, 16000, true, 2);
-}
-
-// Asynchronous test, ACM is fed with data then secondary coder is registered.
-// Mono input, mono primary WB 20 ms frame.
-TEST(DualStreamTest,
-     DISABLED_ON_ANDROID(BitExactAsyncMonoInputMonoPrimaryWb20Ms)) {
-  scoped_ptr<DualStreamTest> test(CreateLegacy());
-  test->RunTest(20, 1, 16000, false, 1);
-
-  test.reset(CreateNew());
-  test->RunTest(20, 1, 16000, false, 1);
-}
-
-// Mono input, mono primary WB 20 ms frame.
-TEST(DualStreamTest,
-     DISABLED_ON_ANDROID(BitExactAsyncMonoInputMonoPrimaryWb40Ms)) {
-  scoped_ptr<DualStreamTest> test(CreateLegacy());
-  test->RunTest(40, 1, 16000, false, 1);
-
-  test.reset(CreateNew());
-  test->RunTest(40, 1, 16000, false, 1);
-}
-
-TEST(DualStreamTest, DISABLED_ON_ANDROID(ApiTest)) {
-  scoped_ptr<DualStreamTest> test(CreateLegacy());
-  test->ApiTest();
-
-  test.reset(CreateNew());
-  test->ApiTest();
-}
-
 }  // namespace webrtc