X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fthird_party%2Fwebrtc%2Fmodules%2Faudio_coding%2Fmain%2Ftest%2Fdual_stream_unittest.cc;h=71657c9f48f5890fc5b1b4c420941f507c390055;hb=004985e17e624662a4c85c76a7654039dc83f028;hp=ba9bb6cb3acb2bc7195edc04d11eb1879d557b0b;hpb=2f108dbacb161091e42a3479f4e171339b7e7623;p=platform%2Fframework%2Fweb%2Fcrosswalk.git diff --git a/src/third_party/webrtc/modules/audio_coding/main/test/dual_stream_unittest.cc b/src/third_party/webrtc/modules/audio_coding/main/test/dual_stream_unittest.cc index ba9bb6c..71657c9 100644 --- a/src/third_party/webrtc/modules/audio_coding/main/test/dual_stream_unittest.cc +++ b/src/third_party/webrtc/modules/audio_coding/main/test/dual_stream_unittest.cc @@ -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" @@ -22,9 +21,10 @@ 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().Create(0)), - acm_ref_primary_(config.Get().Create(1)), - acm_ref_secondary_(config.Get().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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 test(CreateLegacy()); - test->ApiTest(); - - test.reset(CreateNew()); - test->ApiTest(); -} - } // namespace webrtc