| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license | 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 | 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 | 6 * tree. An additional intellectual property rights grant can be found |
| 7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
| 8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
| 9 */ | 9 */ |
| 10 | 10 |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 47 using namespace webrtc; | 47 using namespace webrtc; |
| 48 | 48 |
| 49 class AudioEventObserverAPI: public AudioDeviceObserver { | 49 class AudioEventObserverAPI: public AudioDeviceObserver { |
| 50 public: | 50 public: |
| 51 AudioEventObserverAPI( | 51 AudioEventObserverAPI( |
| 52 const rtc::scoped_refptr<AudioDeviceModule>& audioDevice) | 52 const rtc::scoped_refptr<AudioDeviceModule>& audioDevice) |
| 53 : error_(kRecordingError), | 53 : error_(kRecordingError), |
| 54 warning_(kRecordingWarning), | 54 warning_(kRecordingWarning), |
| 55 audio_device_(audioDevice) {} | 55 audio_device_(audioDevice) {} |
| 56 | 56 |
| 57 ~AudioEventObserverAPI() {} | 57 ~AudioEventObserverAPI() override {} |
| 58 | 58 |
| 59 virtual void OnErrorIsReported(const ErrorCode error) { | 59 void OnErrorIsReported(const ErrorCode error) override { |
| 60 TEST_LOG("\n[*** ERROR ***] => OnErrorIsReported(%d)\n\n", error); | 60 TEST_LOG("\n[*** ERROR ***] => OnErrorIsReported(%d)\n\n", error); |
| 61 error_ = error; | 61 error_ = error; |
| 62 } | 62 } |
| 63 | 63 |
| 64 virtual void OnWarningIsReported(const WarningCode warning) { | 64 void OnWarningIsReported(const WarningCode warning) override { |
| 65 TEST_LOG("\n[*** WARNING ***] => OnWarningIsReported(%d)\n\n", warning); | 65 TEST_LOG("\n[*** WARNING ***] => OnWarningIsReported(%d)\n\n", warning); |
| 66 warning_ = warning; | 66 warning_ = warning; |
| 67 EXPECT_EQ(0, audio_device_->StopRecording()); | 67 EXPECT_EQ(0, audio_device_->StopRecording()); |
| 68 EXPECT_EQ(0, audio_device_->StopPlayout()); | 68 EXPECT_EQ(0, audio_device_->StopPlayout()); |
| 69 } | 69 } |
| 70 | 70 |
| 71 public: | 71 public: |
| 72 ErrorCode error_; | 72 ErrorCode error_; |
| 73 WarningCode warning_; | 73 WarningCode warning_; |
| 74 private: | 74 private: |
| 75 rtc::scoped_refptr<AudioDeviceModule> audio_device_; | 75 rtc::scoped_refptr<AudioDeviceModule> audio_device_; |
| 76 }; | 76 }; |
| 77 | 77 |
| 78 class AudioTransportAPI: public AudioTransport { | 78 class AudioTransportAPI: public AudioTransport { |
| 79 public: | 79 public: |
| 80 AudioTransportAPI(const rtc::scoped_refptr<AudioDeviceModule>& audioDevice) | 80 AudioTransportAPI(const rtc::scoped_refptr<AudioDeviceModule>& audioDevice) |
| 81 : rec_count_(0), | 81 : rec_count_(0), |
| 82 play_count_(0) { | 82 play_count_(0) { |
| 83 } | 83 } |
| 84 | 84 |
| 85 ~AudioTransportAPI() {} | 85 ~AudioTransportAPI() override {} |
| 86 | 86 |
| 87 int32_t RecordedDataIsAvailable(const void* audioSamples, | 87 int32_t RecordedDataIsAvailable(const void* audioSamples, |
| 88 const size_t nSamples, | 88 const size_t nSamples, |
| 89 const size_t nBytesPerSample, | 89 const size_t nBytesPerSample, |
| 90 const size_t nChannels, | 90 const size_t nChannels, |
| 91 const uint32_t sampleRate, | 91 const uint32_t sampleRate, |
| 92 const uint32_t totalDelay, | 92 const uint32_t totalDelay, |
| 93 const int32_t clockSkew, | 93 const int32_t clockSkew, |
| 94 const uint32_t currentMicLevel, | 94 const uint32_t currentMicLevel, |
| 95 const bool keyPressed, | 95 const bool keyPressed, |
| (...skipping 27 matching lines...) Expand all Loading... |
| 123 if (nChannels == 1) { | 123 if (nChannels == 1) { |
| 124 TEST_LOG("+"); | 124 TEST_LOG("+"); |
| 125 } else { | 125 } else { |
| 126 TEST_LOG("++"); | 126 TEST_LOG("++"); |
| 127 } | 127 } |
| 128 } | 128 } |
| 129 nSamplesOut = 480; | 129 nSamplesOut = 480; |
| 130 return 0; | 130 return 0; |
| 131 } | 131 } |
| 132 | 132 |
| 133 void PushCaptureData(int voe_channel, |
| 134 const void* audio_data, |
| 135 int bits_per_sample, |
| 136 int sample_rate, |
| 137 size_t number_of_channels, |
| 138 size_t number_of_frames) override {} |
| 139 |
| 140 void PullRenderData(int bits_per_sample, |
| 141 int sample_rate, |
| 142 size_t number_of_channels, |
| 143 size_t number_of_frames, |
| 144 void* audio_data, |
| 145 int64_t* elapsed_time_ms, |
| 146 int64_t* ntp_time_ms) override {} |
| 147 |
| 133 private: | 148 private: |
| 134 uint32_t rec_count_; | 149 uint32_t rec_count_; |
| 135 uint32_t play_count_; | 150 uint32_t play_count_; |
| 136 }; | 151 }; |
| 137 | 152 |
| 138 class AudioDeviceAPITest: public testing::Test { | 153 class AudioDeviceAPITest: public testing::Test { |
| 139 protected: | 154 protected: |
| 140 AudioDeviceAPITest() {} | 155 AudioDeviceAPITest() {} |
| 141 | 156 |
| 142 virtual ~AudioDeviceAPITest() {} | 157 ~AudioDeviceAPITest() override {} |
| 143 | 158 |
| 144 static void SetUpTestCase() { | 159 static void SetUpTestCase() { |
| 145 process_thread_ = ProcessThread::Create("ProcessThread"); | 160 process_thread_ = ProcessThread::Create("ProcessThread"); |
| 146 process_thread_->Start(); | 161 process_thread_->Start(); |
| 147 | 162 |
| 148 // Windows: | 163 // Windows: |
| 149 // if (WEBRTC_WINDOWS_CORE_AUDIO_BUILD) | 164 // if (WEBRTC_WINDOWS_CORE_AUDIO_BUILD) |
| 150 // user can select between default (Core) or Wave | 165 // user can select between default (Core) or Wave |
| 151 // else | 166 // else |
| 152 // user can select between default (Wave) or Wave | 167 // user can select between default (Wave) or Wave |
| (...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 251 } | 266 } |
| 252 if (audio_transport_) { | 267 if (audio_transport_) { |
| 253 delete audio_transport_; | 268 delete audio_transport_; |
| 254 audio_transport_ = NULL; | 269 audio_transport_ = NULL; |
| 255 } | 270 } |
| 256 if (audio_device_) | 271 if (audio_device_) |
| 257 EXPECT_EQ(0, audio_device_.release()->Release()); | 272 EXPECT_EQ(0, audio_device_.release()->Release()); |
| 258 PRINT_TEST_RESULTS; | 273 PRINT_TEST_RESULTS; |
| 259 } | 274 } |
| 260 | 275 |
| 261 void SetUp() { | 276 void SetUp() override { |
| 262 if (linux_alsa_) { | 277 if (linux_alsa_) { |
| 263 FAIL() << "API Test is not available on ALSA on Linux!"; | 278 FAIL() << "API Test is not available on ALSA on Linux!"; |
| 264 } | 279 } |
| 265 EXPECT_EQ(0, audio_device_->Init()); | 280 EXPECT_EQ(0, audio_device_->Init()); |
| 266 EXPECT_TRUE(audio_device_->Initialized()); | 281 EXPECT_TRUE(audio_device_->Initialized()); |
| 267 } | 282 } |
| 268 | 283 |
| 269 void TearDown() { | 284 void TearDown() override { EXPECT_EQ(0, audio_device_->Terminate()); } |
| 270 EXPECT_EQ(0, audio_device_->Terminate()); | |
| 271 } | |
| 272 | 285 |
| 273 void CheckVolume(uint32_t expected, uint32_t actual) { | 286 void CheckVolume(uint32_t expected, uint32_t actual) { |
| 274 // Mac and Windows have lower resolution on the volume settings. | 287 // Mac and Windows have lower resolution on the volume settings. |
| 275 #if defined(WEBRTC_MAC) || defined(_WIN32) | 288 #if defined(WEBRTC_MAC) || defined(_WIN32) |
| 276 int diff = abs(static_cast<int>(expected - actual)); | 289 int diff = abs(static_cast<int>(expected - actual)); |
| 277 EXPECT_LE(diff, 5); | 290 EXPECT_LE(diff, 5); |
| 278 #else | 291 #else |
| 279 EXPECT_TRUE((actual == expected) || (actual == expected-1)); | 292 EXPECT_TRUE((actual == expected) || (actual == expected-1)); |
| 280 #endif | 293 #endif |
| 281 } | 294 } |
| (...skipping 1516 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1798 // TODO(kjellander): Fix so these tests pass on Mac. | 1811 // TODO(kjellander): Fix so these tests pass on Mac. |
| 1799 #if !defined(WEBRTC_MAC) | 1812 #if !defined(WEBRTC_MAC) |
| 1800 EXPECT_EQ(0, audio_device_->InitPlayout()); | 1813 EXPECT_EQ(0, audio_device_->InitPlayout()); |
| 1801 EXPECT_EQ(0, audio_device_->StartPlayout()); | 1814 EXPECT_EQ(0, audio_device_->StartPlayout()); |
| 1802 #endif | 1815 #endif |
| 1803 | 1816 |
| 1804 EXPECT_EQ(-1, audio_device_->GetLoudspeakerStatus(&loudspeakerOn)); | 1817 EXPECT_EQ(-1, audio_device_->GetLoudspeakerStatus(&loudspeakerOn)); |
| 1805 #endif | 1818 #endif |
| 1806 EXPECT_EQ(0, audio_device_->StopPlayout()); | 1819 EXPECT_EQ(0, audio_device_->StopPlayout()); |
| 1807 } | 1820 } |
| OLD | NEW |