From 140b1d94dc9ed58e21e8dacef26ab8aba0dda4a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niels=20M=C3=B6ller?= Date: Thu, 8 Nov 2018 14:52:19 +0100 Subject: [PATCH] Eliminate use of EventWrapper from android audio device tests Bug: webrtc:3380 Change-Id: I746d2245966afe89065472d4a6a7447f8c63f9f9 Reviewed-on: https://webrtc-review.googlesource.com/c/110163 Reviewed-by: Henrik Andreassson Reviewed-by: Magnus Jedvert Commit-Queue: Niels Moller Cr-Commit-Position: refs/heads/master@{#25598} --- .../android/audio_device_unittest.cc | 35 +++++++++---------- sdk/android/BUILD.gn | 1 - .../audio_device/audio_device_unittest.cc | 35 +++++++++---------- 3 files changed, 34 insertions(+), 37 deletions(-) diff --git a/modules/audio_device/android/audio_device_unittest.cc b/modules/audio_device/android/audio_device_unittest.cc index b0cf42edec..6e09139c79 100644 --- a/modules/audio_device/android/audio_device_unittest.cc +++ b/modules/audio_device/android/audio_device_unittest.cc @@ -25,10 +25,10 @@ #include "modules/audio_device/include/mock_audio_transport.h" #include "rtc_base/arraysize.h" #include "rtc_base/criticalsection.h" +#include "rtc_base/event.h" #include "rtc_base/format_macros.h" #include "rtc_base/scoped_ref_ptr.h" #include "rtc_base/timeutils.h" -#include "system_wrappers/include/event_wrapper.h" #include "test/gmock.h" #include "test/gtest.h" #include "test/testsupport/fileutils.h" @@ -365,7 +365,7 @@ class MockAudioTransportAndroid : public test::MockAudioTransport { // Set default actions of the mock object. We are delegating to fake // implementations (of AudioStreamInterface) here. - void HandleCallbacks(EventWrapper* test_is_done, + void HandleCallbacks(rtc::Event* test_is_done, AudioStreamInterface* audio_stream, int num_callbacks) { test_is_done_ = test_is_done; @@ -448,7 +448,7 @@ class MockAudioTransportAndroid : public test::MockAudioTransport { bool rec_mode() const { return type_ & kRecording; } private: - EventWrapper* test_is_done_; + rtc::Event* test_is_done_; size_t num_callbacks_; int type_; size_t play_count_; @@ -460,7 +460,7 @@ class MockAudioTransportAndroid : public test::MockAudioTransport { // AudioDeviceTest test fixture. class AudioDeviceTest : public ::testing::Test { protected: - AudioDeviceTest() : test_is_done_(EventWrapper::Create()) { + AudioDeviceTest() { // One-time initialization of JVM and application context. Ensures that we // can do calls between C++ and Java. Initializes both Java and OpenSL ES // implementations. @@ -638,7 +638,7 @@ class AudioDeviceTest : public ::testing::Test { return volume; } - std::unique_ptr test_is_done_; + rtc::Event test_is_done_; rtc::scoped_refptr audio_device_; AudioParameters playout_parameters_; AudioParameters record_parameters_; @@ -867,14 +867,14 @@ TEST_F(AudioDeviceTest, StopRecordingRequiresInitToRestart) { // audio samples to play out using the NeedMorePlayData callback. TEST_F(AudioDeviceTest, StartPlayoutVerifyCallbacks) { MockAudioTransportAndroid mock(kPlayout); - mock.HandleCallbacks(test_is_done_.get(), nullptr, kNumCallbacks); + mock.HandleCallbacks(&test_is_done_, nullptr, kNumCallbacks); EXPECT_CALL(mock, NeedMorePlayData(playout_frames_per_10ms_buffer(), kBytesPerSample, playout_channels(), playout_sample_rate(), NotNull(), _, _, _)) .Times(AtLeast(kNumCallbacks)); EXPECT_EQ(0, audio_device()->RegisterAudioCallback(&mock)); StartPlayout(); - test_is_done_->Wait(kTestTimeOutInMilliseconds); + test_is_done_.Wait(kTestTimeOutInMilliseconds); StopPlayout(); } @@ -884,7 +884,7 @@ TEST_F(AudioDeviceTest, StartPlayoutVerifyCallbacks) { // delay estimates as well (argument #6). TEST_F(AudioDeviceTest, StartRecordingVerifyCallbacks) { MockAudioTransportAndroid mock(kRecording); - mock.HandleCallbacks(test_is_done_.get(), nullptr, kNumCallbacks); + mock.HandleCallbacks(&test_is_done_, nullptr, kNumCallbacks); EXPECT_CALL( mock, RecordedDataIsAvailable(NotNull(), record_frames_per_10ms_buffer(), kBytesPerSample, record_channels(), @@ -893,7 +893,7 @@ TEST_F(AudioDeviceTest, StartRecordingVerifyCallbacks) { EXPECT_EQ(0, audio_device()->RegisterAudioCallback(&mock)); StartRecording(); - test_is_done_->Wait(kTestTimeOutInMilliseconds); + test_is_done_.Wait(kTestTimeOutInMilliseconds); StopRecording(); } @@ -901,7 +901,7 @@ TEST_F(AudioDeviceTest, StartRecordingVerifyCallbacks) { // active in both directions. TEST_F(AudioDeviceTest, StartPlayoutAndRecordingVerifyCallbacks) { MockAudioTransportAndroid mock(kPlayout | kRecording); - mock.HandleCallbacks(test_is_done_.get(), nullptr, kNumCallbacks); + mock.HandleCallbacks(&test_is_done_, nullptr, kNumCallbacks); EXPECT_CALL(mock, NeedMorePlayData(playout_frames_per_10ms_buffer(), kBytesPerSample, playout_channels(), playout_sample_rate(), NotNull(), _, _, _)) @@ -914,7 +914,7 @@ TEST_F(AudioDeviceTest, StartPlayoutAndRecordingVerifyCallbacks) { EXPECT_EQ(0, audio_device()->RegisterAudioCallback(&mock)); StartPlayout(); StartRecording(); - test_is_done_->Wait(kTestTimeOutInMilliseconds); + test_is_done_.Wait(kTestTimeOutInMilliseconds); StopRecording(); StopPlayout(); } @@ -930,12 +930,11 @@ TEST_F(AudioDeviceTest, RunPlayoutWithFileAsSource) { std::string file_name = GetFileName(playout_sample_rate()); std::unique_ptr file_audio_stream( new FileAudioStream(num_callbacks, file_name, playout_sample_rate())); - mock.HandleCallbacks(test_is_done_.get(), file_audio_stream.get(), - num_callbacks); + mock.HandleCallbacks(&test_is_done_, file_audio_stream.get(), num_callbacks); // SetMaxPlayoutVolume(); EXPECT_EQ(0, audio_device()->RegisterAudioCallback(&mock)); StartPlayout(); - test_is_done_->Wait(kTestTimeOutInMilliseconds); + test_is_done_.Wait(kTestTimeOutInMilliseconds); StopPlayout(); } @@ -964,13 +963,13 @@ TEST_F(AudioDeviceTest, DISABLED_RunPlayoutAndRecordingInFullDuplex) { NiceMock mock(kPlayout | kRecording); std::unique_ptr fifo_audio_stream( new FifoAudioStream(playout_frames_per_10ms_buffer())); - mock.HandleCallbacks(test_is_done_.get(), fifo_audio_stream.get(), + mock.HandleCallbacks(&test_is_done_, fifo_audio_stream.get(), kFullDuplexTimeInSec * kNumCallbacksPerSecond); SetMaxPlayoutVolume(); EXPECT_EQ(0, audio_device()->RegisterAudioCallback(&mock)); StartRecording(); StartPlayout(); - test_is_done_->Wait( + test_is_done_.Wait( std::max(kTestTimeOutInMilliseconds, 1000 * kFullDuplexTimeInSec)); StopPlayout(); StopRecording(); @@ -997,14 +996,14 @@ TEST_F(AudioDeviceTest, DISABLED_MeasureLoopbackLatency) { NiceMock mock(kPlayout | kRecording); std::unique_ptr latency_audio_stream( new LatencyMeasuringAudioStream(playout_frames_per_10ms_buffer())); - mock.HandleCallbacks(test_is_done_.get(), latency_audio_stream.get(), + mock.HandleCallbacks(&test_is_done_, latency_audio_stream.get(), kMeasureLatencyTimeInSec * kNumCallbacksPerSecond); EXPECT_EQ(0, audio_device()->RegisterAudioCallback(&mock)); SetMaxPlayoutVolume(); DisableBuiltInAECIfAvailable(); StartRecording(); StartPlayout(); - test_is_done_->Wait( + test_is_done_.Wait( std::max(kTestTimeOutInMilliseconds, 1000 * kMeasureLatencyTimeInSec)); StopPlayout(); StopRecording(); diff --git a/sdk/android/BUILD.gn b/sdk/android/BUILD.gn index 505070a34f..fe413a1195 100644 --- a/sdk/android/BUILD.gn +++ b/sdk/android/BUILD.gn @@ -1495,7 +1495,6 @@ if (is_android) { "../../pc:libjingle_peerconnection", "../../rtc_base:checks", "../../rtc_base:rtc_base_approved", - "../../system_wrappers:system_wrappers", "../../test:fileutils", "../../test:test_support", "../../testing/gtest", diff --git a/sdk/android/native_unittests/audio_device/audio_device_unittest.cc b/sdk/android/native_unittests/audio_device/audio_device_unittest.cc index 5e46052b90..98d585387a 100644 --- a/sdk/android/native_unittests/audio_device/audio_device_unittest.cc +++ b/sdk/android/native_unittests/audio_device/audio_device_unittest.cc @@ -15,6 +15,7 @@ #include "modules/audio_device/include/mock_audio_transport.h" #include "rtc_base/arraysize.h" #include "rtc_base/criticalsection.h" +#include "rtc_base/event.h" #include "rtc_base/format_macros.h" #include "rtc_base/scoped_ref_ptr.h" #include "rtc_base/timeutils.h" @@ -25,7 +26,6 @@ #include "sdk/android/src/jni/audio_device/audio_device_module.h" #include "sdk/android/src/jni/audio_device/opensles_common.h" #include "sdk/android/src/jni/jni_helpers.h" -#include "system_wrappers/include/event_wrapper.h" #include "test/gmock.h" #include "test/gtest.h" #include "test/testsupport/fileutils.h" @@ -364,7 +364,7 @@ class MockAudioTransportAndroid : public test::MockAudioTransport { // Set default actions of the mock object. We are delegating to fake // implementations (of AudioStreamInterface) here. - void HandleCallbacks(EventWrapper* test_is_done, + void HandleCallbacks(rtc::Event* test_is_done, AudioStreamInterface* audio_stream, int num_callbacks) { test_is_done_ = test_is_done; @@ -447,7 +447,7 @@ class MockAudioTransportAndroid : public test::MockAudioTransport { bool rec_mode() const { return type_ & kRecording; } private: - EventWrapper* test_is_done_; + rtc::Event* test_is_done_; size_t num_callbacks_; int type_; size_t play_count_; @@ -459,7 +459,7 @@ class MockAudioTransportAndroid : public test::MockAudioTransport { // AudioDeviceTest test fixture. class AudioDeviceTest : public ::testing::Test { protected: - AudioDeviceTest() : test_is_done_(EventWrapper::Create()) { + AudioDeviceTest() { // One-time initialization of JVM and application context. Ensures that we // can do calls between C++ and Java. Initializes both Java and OpenSL ES // implementations. @@ -683,7 +683,7 @@ class AudioDeviceTest : public ::testing::Test { JNIEnv* jni_; std::unique_ptr> context_; - std::unique_ptr test_is_done_; + rtc::Event test_is_done_; rtc::scoped_refptr audio_device_; ScopedJavaLocalRef audio_manager_; AudioParameters output_parameters_; @@ -880,14 +880,14 @@ TEST_F(AudioDeviceTest, StopRecordingRequiresInitToRestart) { // audio samples to play out using the NeedMorePlayData callback. TEST_F(AudioDeviceTest, StartPlayoutVerifyCallbacks) { MockAudioTransportAndroid mock(kPlayout); - mock.HandleCallbacks(test_is_done_.get(), nullptr, kNumCallbacks); + mock.HandleCallbacks(&test_is_done_, nullptr, kNumCallbacks); EXPECT_CALL(mock, NeedMorePlayData(playout_frames_per_10ms_buffer(), kBytesPerSample, playout_channels(), playout_sample_rate(), NotNull(), _, _, _)) .Times(AtLeast(kNumCallbacks)); EXPECT_EQ(0, audio_device()->RegisterAudioCallback(&mock)); StartPlayout(); - test_is_done_->Wait(kTestTimeOutInMilliseconds); + test_is_done_.Wait(kTestTimeOutInMilliseconds); StopPlayout(); } @@ -895,7 +895,7 @@ TEST_F(AudioDeviceTest, StartPlayoutVerifyCallbacks) { // audio samples via the RecordedDataIsAvailable callback. TEST_F(AudioDeviceTest, StartRecordingVerifyCallbacks) { MockAudioTransportAndroid mock(kRecording); - mock.HandleCallbacks(test_is_done_.get(), nullptr, kNumCallbacks); + mock.HandleCallbacks(&test_is_done_, nullptr, kNumCallbacks); EXPECT_CALL( mock, RecordedDataIsAvailable(NotNull(), record_frames_per_10ms_buffer(), kBytesPerSample, record_channels(), @@ -904,7 +904,7 @@ TEST_F(AudioDeviceTest, StartRecordingVerifyCallbacks) { EXPECT_EQ(0, audio_device()->RegisterAudioCallback(&mock)); StartRecording(); - test_is_done_->Wait(kTestTimeOutInMilliseconds); + test_is_done_.Wait(kTestTimeOutInMilliseconds); StopRecording(); } @@ -912,7 +912,7 @@ TEST_F(AudioDeviceTest, StartRecordingVerifyCallbacks) { // active in both directions. TEST_F(AudioDeviceTest, StartPlayoutAndRecordingVerifyCallbacks) { MockAudioTransportAndroid mock(kPlayout | kRecording); - mock.HandleCallbacks(test_is_done_.get(), nullptr, kNumCallbacks); + mock.HandleCallbacks(&test_is_done_, nullptr, kNumCallbacks); EXPECT_CALL(mock, NeedMorePlayData(playout_frames_per_10ms_buffer(), kBytesPerSample, playout_channels(), playout_sample_rate(), NotNull(), _, _, _)) @@ -925,7 +925,7 @@ TEST_F(AudioDeviceTest, StartPlayoutAndRecordingVerifyCallbacks) { EXPECT_EQ(0, audio_device()->RegisterAudioCallback(&mock)); StartPlayout(); StartRecording(); - test_is_done_->Wait(kTestTimeOutInMilliseconds); + test_is_done_.Wait(kTestTimeOutInMilliseconds); StopRecording(); StopPlayout(); } @@ -941,12 +941,11 @@ TEST_F(AudioDeviceTest, RunPlayoutWithFileAsSource) { std::string file_name = GetFileName(playout_sample_rate()); std::unique_ptr file_audio_stream( new FileAudioStream(num_callbacks, file_name, playout_sample_rate())); - mock.HandleCallbacks(test_is_done_.get(), file_audio_stream.get(), - num_callbacks); + mock.HandleCallbacks(&test_is_done_, file_audio_stream.get(), num_callbacks); // SetMaxPlayoutVolume(); EXPECT_EQ(0, audio_device()->RegisterAudioCallback(&mock)); StartPlayout(); - test_is_done_->Wait(kTestTimeOutInMilliseconds); + test_is_done_.Wait(kTestTimeOutInMilliseconds); StopPlayout(); } @@ -1084,13 +1083,13 @@ TEST_F(AudioDeviceTest, DISABLED_RunPlayoutAndRecordingInFullDuplex) { NiceMock mock(kPlayout | kRecording); std::unique_ptr fifo_audio_stream( new FifoAudioStream(playout_frames_per_10ms_buffer())); - mock.HandleCallbacks(test_is_done_.get(), fifo_audio_stream.get(), + mock.HandleCallbacks(&test_is_done_, fifo_audio_stream.get(), kFullDuplexTimeInSec * kNumCallbacksPerSecond); SetMaxPlayoutVolume(); EXPECT_EQ(0, audio_device()->RegisterAudioCallback(&mock)); StartRecording(); StartPlayout(); - test_is_done_->Wait( + test_is_done_.Wait( std::max(kTestTimeOutInMilliseconds, 1000 * kFullDuplexTimeInSec)); StopPlayout(); StopRecording(); @@ -1117,14 +1116,14 @@ TEST_F(AudioDeviceTest, DISABLED_MeasureLoopbackLatency) { NiceMock mock(kPlayout | kRecording); std::unique_ptr latency_audio_stream( new LatencyMeasuringAudioStream(playout_frames_per_10ms_buffer())); - mock.HandleCallbacks(test_is_done_.get(), latency_audio_stream.get(), + mock.HandleCallbacks(&test_is_done_, latency_audio_stream.get(), kMeasureLatencyTimeInSec * kNumCallbacksPerSecond); EXPECT_EQ(0, audio_device()->RegisterAudioCallback(&mock)); SetMaxPlayoutVolume(); DisableBuiltInAECIfAvailable(); StartRecording(); StartPlayout(); - test_is_done_->Wait( + test_is_done_.Wait( std::max(kTestTimeOutInMilliseconds, 1000 * kMeasureLatencyTimeInSec)); StopPlayout(); StopRecording();