Adds correct absolute paths to all input files in ADM functional unit tests.
Files are now read and played out correctly.
Review URL: http://webrtc-codereview.appspot.com/246006
git-svn-id: http://webrtc.googlecode.com/svn/trunk@811 4adac7df-926f-26a2-2b94-8c16560cd09d
diff --git a/src/modules/audio_device/main/source/audio_device.gypi b/src/modules/audio_device/main/source/audio_device.gypi
index db57c0f..653c2d6 100644
--- a/src/modules/audio_device/main/source/audio_device.gypi
+++ b/src/modules/audio_device/main/source/audio_device.gypi
@@ -180,6 +180,7 @@
'webrtc_utility',
'<(webrtc_root)/common_audio/common_audio.gyp:resampler',
'<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers',
+ '<(webrtc_root)/../test/test.gyp:test_support',
],
'sources': [
'../test/audio_device_test_func.cc',
diff --git a/src/modules/audio_device/main/test/func_test_manager.cc b/src/modules/audio_device/main/test/func_test_manager.cc
index 5646b84..4ba30a1 100644
--- a/src/modules/audio_device/main/test/func_test_manager.cc
+++ b/src/modules/audio_device/main/test/func_test_manager.cc
@@ -14,6 +14,7 @@
#include <string.h>
#include "func_test_manager.h"
+#include "testsupport/fileutils.h"
#include "../source/audio_device_config.h"
#include "../source/audio_device_impl.h"
@@ -25,21 +26,14 @@
#pragma warning( disable : 4996 )
#endif
-const WebRtc_Word8 PlayoutFile48[] = "audio_short48.pcm";
-const WebRtc_Word8 PlayoutFile44[] = "audio_short44.pcm";
-const WebRtc_Word8 PlayoutFile16[] = "audio_short16.pcm";
-const WebRtc_Word8 PlayoutFile8[] = "audio_short8.pcm";
-const WebRtc_Word8 RecordedMicrophoneFile[] = "recorded_microphone_mono_48.pcm";
-const WebRtc_Word8 RecordedMicrophoneVolumeFile[] =
- "recorded_microphone_volume_mono_48.pcm";
-const WebRtc_Word8 RecordedMicrophoneMuteFile[] =
- "recorded_microphone_mute_mono_48.pcm";
-const WebRtc_Word8 RecordedMicrophoneBoostFile[] =
- "recorded_microphone_boost_mono_48.pcm";
-const WebRtc_Word8 RecordedMicrophoneAGCFile[] =
- "recorded_microphone_AGC_mono_48.pcm";
-const WebRtc_Word8 RecordedSpeakerFile[] = "recorded_speaker_48.pcm";
-const WebRtc_Word8 ReadMeFile[] = "README.txt";
+const char* RecordedMicrophoneFile = "recorded_microphone_mono_48.pcm";
+const char* RecordedMicrophoneVolumeFile =
+"recorded_microphone_volume_mono_48.pcm";
+const char* RecordedMicrophoneMuteFile = "recorded_microphone_mute_mono_48.pcm";
+const char* RecordedMicrophoneBoostFile =
+"recorded_microphone_boost_mono_48.pcm";
+const char* RecordedMicrophoneAGCFile = "recorded_microphone_AGC_mono_48.pcm";
+const char* RecordedSpeakerFile = "recorded_speaker_48.pcm";
struct AudioPacket
{
@@ -575,18 +569,23 @@
;
FuncTestManager::FuncTestManager() :
+ _resourcePath(webrtc::test::GetProjectRootPath() +
+ "test/data/audio_device/"),
_processThread(NULL),
_audioDevice(NULL),
_audioEventObserver(NULL),
_audioTransport(NULL)
{
+ assert(!_resourcePath.empty());
+ _playoutFile48 = _resourcePath + "audio_short48.pcm";
+ _playoutFile44 = _resourcePath + "audio_short44.pcm";
+ _playoutFile16 = _resourcePath + "audio_short16.pcm";
+ _playoutFile8 = _resourcePath + "audio_short8.pcm";
}
-;
FuncTestManager::~FuncTestManager()
{
}
-;
WebRtc_Word32 FuncTestManager::Init()
{
@@ -1264,16 +1263,19 @@
TEST(audioDevice->InitPlayout() == 0);
TEST(audioDevice->PlayoutSampleRate(&samplesPerSec) == 0);
- if (samplesPerSec == 48000)
- _audioTransport->SetFilePlayout(true, GetResource(PlayoutFile48));
- else if (samplesPerSec == 44100 || samplesPerSec == 44000)
- _audioTransport->SetFilePlayout(true, GetResource(PlayoutFile44));
- else if (samplesPerSec == 16000)
- _audioTransport->SetFilePlayout(true, GetResource(PlayoutFile16));
- else if (samplesPerSec == 8000)
- _audioTransport->SetFilePlayout(true, GetResource(PlayoutFile8));
- else
- {
+ if (samplesPerSec == 48000) {
+ _audioTransport->SetFilePlayout(
+ true, GetResource(_playoutFile48.c_str()));
+ } else if (samplesPerSec == 44100 || samplesPerSec == 44000) {
+ _audioTransport->SetFilePlayout(
+ true, GetResource(_playoutFile44.c_str()));
+ } else if (samplesPerSec == 16000) {
+ _audioTransport->SetFilePlayout(
+ true, GetResource(_playoutFile16.c_str()));
+ } else if (samplesPerSec == 8000) {
+ _audioTransport->SetFilePlayout(
+ true, GetResource(_playoutFile8.c_str()));
+ } else {
TEST_LOG("\nERROR: Sample rate (%u) is not supported!\n \n",
samplesPerSec);
return -1;
@@ -1494,16 +1496,19 @@
{
TEST(audioDevice->InitPlayout() == 0);
TEST(audioDevice->PlayoutSampleRate(&samplesPerSec) == 0);
- if (48000 == samplesPerSec)
- _audioTransport->SetFilePlayout(true, GetResource(PlayoutFile48));
- else if (44100 == samplesPerSec || samplesPerSec == 44000)
- _audioTransport->SetFilePlayout(true, GetResource(PlayoutFile44));
- else if (samplesPerSec == 16000)
- _audioTransport->SetFilePlayout(true, GetResource(PlayoutFile16));
- else if (samplesPerSec == 8000)
- _audioTransport->SetFilePlayout(true, GetResource(PlayoutFile8));
- else
- {
+ if (48000 == samplesPerSec) {
+ _audioTransport->SetFilePlayout(
+ true, GetResource(_playoutFile48.c_str()));
+ } else if (44100 == samplesPerSec || samplesPerSec == 44000) {
+ _audioTransport->SetFilePlayout(
+ true, GetResource(_playoutFile44.c_str()));
+ } else if (samplesPerSec == 16000) {
+ _audioTransport->SetFilePlayout(
+ true, GetResource(_playoutFile16.c_str()));
+ } else if (samplesPerSec == 8000) {
+ _audioTransport->SetFilePlayout(
+ true, GetResource(_playoutFile8.c_str()));
+ } else {
TEST_LOG("\nERROR: Sample rate (%d) is not supported!\n \n",
samplesPerSec);
return -1;
@@ -1594,9 +1599,9 @@
TEST(audioDevice->InitPlayout() == 0);
TEST(audioDevice->PlayoutSampleRate(&samplesPerSec) == 0);
if (48000 == samplesPerSec)
- _audioTransport->SetFilePlayout(true, PlayoutFile48);
+ _audioTransport->SetFilePlayout(true, _playoutFile48.c_str());
else if (44100 == samplesPerSec || 44000 == samplesPerSec)
- _audioTransport->SetFilePlayout(true, PlayoutFile44);
+ _audioTransport->SetFilePlayout(true, _playoutFile44.c_str());
else
{
TEST_LOG("\nERROR: Sample rate (%d) is not supported!\n \n",
diff --git a/src/modules/audio_device/main/test/func_test_manager.h b/src/modules/audio_device/main/test/func_test_manager.h
index 3e85354..5efae50 100644
--- a/src/modules/audio_device/main/test/func_test_manager.h
+++ b/src/modules/audio_device/main/test/func_test_manager.h
@@ -13,6 +13,8 @@
#include "../source/audio_device_utility.h"
+#include <string>
+
#include "typedefs.h"
#include "audio_device.h"
#include "audio_device_test_defines.h"
@@ -208,6 +210,13 @@
WebRtc_Word32 SelectRecordingDevice();
WebRtc_Word32 TestAdvancedMBAPI();
private:
+ // Paths to where the resource files to be used for this test are located.
+ std::string _resourcePath;
+ std::string _playoutFile48;
+ std::string _playoutFile44;
+ std::string _playoutFile16;
+ std::string _playoutFile8;
+
ProcessThread* _processThread;
AudioDeviceModule* _audioDevice;
AudioEventObserver* _audioEventObserver;