blob: 9dbc64500aa58eba689806f3fd4d5a2b5cee2922 [file] [log] [blame]
niklase@google.com470e71d2011-07-07 08:21:25 +00001/*
tina.legrand@webrtc.org16b6b902012-04-12 11:02:38 +00002 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
niklase@google.com470e71d2011-07-07 08:21:25 +00003 *
4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10
11#include <stdio.h>
Jonas Olssona4d87372019-07-05 19:08:33 +020012
kjellander@webrtc.org5490c712011-12-21 13:34:18 +000013#include <string>
niklase@google.com470e71d2011-07-07 08:21:25 +000014#include <vector>
15
Mirko Bonadei92ea95e2017-09-15 06:47:31 +020016#include "modules/audio_coding/include/audio_coding_module.h"
Mirko Bonadei92ea95e2017-09-15 06:47:31 +020017#include "modules/audio_coding/test/EncodeDecodeTest.h"
18#include "modules/audio_coding/test/PacketLossTest.h"
19#include "modules/audio_coding/test/TestAllCodecs.h"
20#include "modules/audio_coding/test/TestRedFec.h"
21#include "modules/audio_coding/test/TestStereo.h"
22#include "modules/audio_coding/test/TestVADDTX.h"
Mirko Bonadei92ea95e2017-09-15 06:47:31 +020023#include "modules/audio_coding/test/opus_test.h"
Mirko Bonadei92ea95e2017-09-15 06:47:31 +020024#include "test/gtest.h"
Steve Anton10542f22019-01-11 09:11:00 -080025#include "test/testsupport/file_utils.h"
niklase@google.com470e71d2011-07-07 08:21:25 +000026
tina.legrand@webrtc.org50d5ca52012-06-18 13:35:52 +000027TEST(AudioCodingModuleTest, TestAllCodecs) {
Fredrik Solenberg657b2962018-12-05 10:30:25 +010028 webrtc::TestAllCodecs().Perform();
tina.legrand@webrtc.org50d5ca52012-06-18 13:35:52 +000029}
tina.legrand@webrtc.orgee92b662013-08-27 07:33:51 +000030
Peter Boströme2976c82016-01-04 22:44:05 +010031#if defined(WEBRTC_ANDROID)
32TEST(AudioCodingModuleTest, DISABLED_TestEncodeDecode) {
33#else
34TEST(AudioCodingModuleTest, TestEncodeDecode) {
35#endif
Fredrik Solenberg657b2962018-12-05 10:30:25 +010036 webrtc::EncodeDecodeTest().Perform();
tina.legrand@webrtc.orgee92b662013-08-27 07:33:51 +000037}
38
Peter Boströme2976c82016-01-04 22:44:05 +010039TEST(AudioCodingModuleTest, TestRedFec) {
minyue@webrtc.orgaa5ea1c2014-05-23 15:16:51 +000040 webrtc::TestRedFec().Perform();
tina.legrand@webrtc.orgee92b662013-08-27 07:33:51 +000041}
kwiberg98ab3a42015-09-30 21:54:21 -070042
danilchapdc050172017-03-01 01:16:51 -080043// Disabled on ios as flaky, see https://crbug.com/webrtc/7057
44#if defined(WEBRTC_ANDROID) || defined(WEBRTC_IOS)
Peter Boströme2976c82016-01-04 22:44:05 +010045TEST(AudioCodingModuleTest, DISABLED_TestStereo) {
46#else
47TEST(AudioCodingModuleTest, TestStereo) {
48#endif
Fredrik Solenberg657b2962018-12-05 10:30:25 +010049 webrtc::TestStereo().Perform();
tina.legrand@webrtc.orgee92b662013-08-27 07:33:51 +000050}
51
Peter Boströme2976c82016-01-04 22:44:05 +010052TEST(AudioCodingModuleTest, TestWebRtcVadDtx) {
minyue@webrtc.org05617162015-03-03 12:02:30 +000053 webrtc::TestWebRtcVadDtx().Perform();
minyue@webrtc.org05617162015-03-03 12:02:30 +000054}
55
56TEST(AudioCodingModuleTest, TestOpusDtx) {
minyue@webrtc.org05617162015-03-03 12:02:30 +000057 webrtc::TestOpusDtx().Perform();
tina.legrand@webrtc.orgee92b662013-08-27 07:33:51 +000058}
tina.legrand@webrtc.org50d5ca52012-06-18 13:35:52 +000059
danilchapdc050172017-03-01 01:16:51 -080060// Disabled on ios as flaky, see https://crbug.com/webrtc/7057
61#if defined(WEBRTC_IOS)
62TEST(AudioCodingModuleTest, DISABLED_TestOpus) {
63#else
tina.legrand@webrtc.org73222cf2013-03-15 13:29:17 +000064TEST(AudioCodingModuleTest, TestOpus) {
danilchapdc050172017-03-01 01:16:51 -080065#endif
henrik.lundin@webrtc.orgadaf8092014-04-17 08:29:10 +000066 webrtc::OpusTest().Perform();
tina.legrand@webrtc.org73222cf2013-03-15 13:29:17 +000067}
68
minyue@webrtc.orgaa5ea1c2014-05-23 15:16:51 +000069TEST(AudioCodingModuleTest, TestPacketLoss) {
minyue@webrtc.orgaa5ea1c2014-05-23 15:16:51 +000070 webrtc::PacketLossTest(1, 10, 10, 1).Perform();
minyue@webrtc.orgaa5ea1c2014-05-23 15:16:51 +000071}
72
73TEST(AudioCodingModuleTest, TestPacketLossBurst) {
minyue@webrtc.orgaa5ea1c2014-05-23 15:16:51 +000074 webrtc::PacketLossTest(1, 10, 10, 2).Perform();
minyue@webrtc.orgaa5ea1c2014-05-23 15:16:51 +000075}
76
aleloib1a89762017-03-28 02:28:08 -070077// Disabled on ios as flake, see https://crbug.com/webrtc/7057
78#if defined(WEBRTC_IOS)
79TEST(AudioCodingModuleTest, DISABLED_TestPacketLossStereo) {
80#else
Yves Gerey665174f2018-06-19 15:03:05 +020081TEST(AudioCodingModuleTest, TestPacketLossStereo) {
aleloib1a89762017-03-28 02:28:08 -070082#endif
minyue@webrtc.orgaa5ea1c2014-05-23 15:16:51 +000083 webrtc::PacketLossTest(2, 10, 10, 1).Perform();
minyue@webrtc.orgaa5ea1c2014-05-23 15:16:51 +000084}
85
danilchapdc050172017-03-01 01:16:51 -080086// Disabled on ios as flake, see https://crbug.com/webrtc/7057
87#if defined(WEBRTC_IOS)
88TEST(AudioCodingModuleTest, DISABLED_TestPacketLossStereoBurst) {
89#else
minyue@webrtc.orgaa5ea1c2014-05-23 15:16:51 +000090TEST(AudioCodingModuleTest, TestPacketLossStereoBurst) {
danilchapdc050172017-03-01 01:16:51 -080091#endif
minyue@webrtc.orgaa5ea1c2014-05-23 15:16:51 +000092 webrtc::PacketLossTest(2, 10, 10, 2).Perform();
minyue@webrtc.orgaa5ea1c2014-05-23 15:16:51 +000093}
Yves Gerey665174f2018-06-19 15:03:05 +020094
95// The full API test is too long to run automatically on bots, but can be used
96// for offline testing. User interaction is needed.
97#ifdef ACM_TEST_FULL_API
98TEST(AudioCodingModuleTest, TestAPI) {
99 webrtc::APITest().Perform();
100}
101#endif