Index: webrtc/modules/audio_device/test/audio_device_test_api.cc |
diff --git a/webrtc/modules/audio_device/test/audio_device_test_api.cc b/webrtc/modules/audio_device/test/audio_device_test_api.cc |
index a564e355845e3b231a54b10a5e2d0751ca92779c..f37d89cd9ca3c254c0fedd4b16363fe0d835e976 100644 |
--- a/webrtc/modules/audio_device/test/audio_device_test_api.cc |
+++ b/webrtc/modules/audio_device/test/audio_device_test_api.cc |
@@ -48,11 +48,11 @@ using namespace webrtc; |
class AudioEventObserverAPI: public AudioDeviceObserver { |
public: |
- AudioEventObserverAPI(AudioDeviceModule* audioDevice) |
+ AudioEventObserverAPI( |
+ const rtc::scoped_refptr<AudioDeviceModule>& audioDevice) |
: error_(kRecordingError), |
warning_(kRecordingWarning), |
- audio_device_(audioDevice) { |
- } |
+ audio_device_(audioDevice) {} |
~AudioEventObserverAPI() {} |
@@ -72,12 +72,12 @@ class AudioEventObserverAPI: public AudioDeviceObserver { |
ErrorCode error_; |
WarningCode warning_; |
private: |
- AudioDeviceModule* audio_device_; |
+ rtc::scoped_refptr<AudioDeviceModule> audio_device_; |
}; |
class AudioTransportAPI: public AudioTransport { |
public: |
- AudioTransportAPI(AudioDeviceModule* audioDevice) |
+ AudioTransportAPI(const rtc::scoped_refptr<AudioDeviceModule>& audioDevice) |
: rec_count_(0), |
play_count_(0) { |
} |
@@ -161,13 +161,11 @@ class AudioDeviceAPITest: public testing::Test { |
// create default implementation (=Core Audio) instance |
EXPECT_TRUE((audio_device_ = AudioDeviceModuleImpl::Create( |
kId, AudioDeviceModule::kPlatformDefaultAudio)) != NULL); |
- audio_device_->AddRef(); |
- EXPECT_EQ(0, audio_device_->Release()); |
+ EXPECT_EQ(0, audio_device_.release()->Release()); |
// create non-default (=Wave Audio) instance |
EXPECT_TRUE((audio_device_ = AudioDeviceModuleImpl::Create( |
kId, AudioDeviceModule::kWindowsWaveAudio)) != NULL); |
- audio_device_->AddRef(); |
- EXPECT_EQ(0, audio_device_->Release()); |
+ EXPECT_EQ(0, audio_device_.release()->Release()); |
// explicitly specify usage of Core Audio (same as default) |
EXPECT_TRUE((audio_device_ = AudioDeviceModuleImpl::Create( |
kId, AudioDeviceModule::kWindowsCoreAudio)) != NULL); |
@@ -178,8 +176,7 @@ class AudioDeviceAPITest: public testing::Test { |
// create default implementation (=Wave Audio) instance |
EXPECT_TRUE((audio_device_ = AudioDeviceModuleImpl::Create( |
kId, AudioDeviceModule::kPlatformDefaultAudio)) != NULL); |
- audio_device_->AddRef(); |
- EXPECT_EQ(0, audio_device_->Release()); |
+ EXPECT_EQ(0, audio_device_.release()->Release()); |
// explicitly specify usage of Wave Audio (same as default) |
EXPECT_TRUE((audio_device_ = AudioDeviceModuleImpl::Create( |
kId, AudioDeviceModule::kWindowsWaveAudio)) != NULL); |
@@ -207,9 +204,8 @@ class AudioDeviceAPITest: public testing::Test { |
// create default implementation instance |
EXPECT_TRUE((audio_device_ = AudioDeviceModuleImpl::Create( |
kId, AudioDeviceModule::kPlatformDefaultAudio)) != NULL); |
- audio_device_->AddRef(); |
EXPECT_EQ(0, audio_device_->Terminate()); |
- EXPECT_EQ(0, audio_device_->Release()); |
+ EXPECT_EQ(0, audio_device_.release()->Release()); |
// explicitly specify usage of Pulse Audio (same as default) |
EXPECT_TRUE((audio_device_ = AudioDeviceModuleImpl::Create( |
kId, AudioDeviceModule::kLinuxPulseAudio)) != NULL); |
@@ -234,9 +230,6 @@ class AudioDeviceAPITest: public testing::Test { |
FAIL() << "Failed creating audio device object!"; |
} |
- // The ADM is reference counted. |
- audio_device_->AddRef(); |
- |
process_thread_->RegisterModule(audio_device_); |
AudioDeviceModule::AudioLayer audio_layer = |
@@ -261,9 +254,8 @@ class AudioDeviceAPITest: public testing::Test { |
delete audio_transport_; |
audio_transport_ = NULL; |
} |
- if (audio_device_) { |
- EXPECT_EQ(0, audio_device_->Release()); |
- } |
+ if (audio_device_) |
+ EXPECT_EQ(0, audio_device_.release()->Release()); |
PRINT_TEST_RESULTS; |
} |
@@ -304,7 +296,7 @@ class AudioDeviceAPITest: public testing::Test { |
// TODO(henrika): Get rid of globals. |
static bool linux_alsa_; |
static std::unique_ptr<ProcessThread> process_thread_; |
- static AudioDeviceModule* audio_device_; |
+ static rtc::scoped_refptr<AudioDeviceModule> audio_device_; |
static AudioTransportAPI* audio_transport_; |
static AudioEventObserverAPI* event_observer_; |
}; |
@@ -312,7 +304,7 @@ class AudioDeviceAPITest: public testing::Test { |
// Must be initialized like this to handle static SetUpTestCase() above. |
bool AudioDeviceAPITest::linux_alsa_ = false; |
std::unique_ptr<ProcessThread> AudioDeviceAPITest::process_thread_; |
-AudioDeviceModule* AudioDeviceAPITest::audio_device_ = NULL; |
+rtc::scoped_refptr<AudioDeviceModule> AudioDeviceAPITest::audio_device_; |
AudioTransportAPI* AudioDeviceAPITest::audio_transport_ = NULL; |
AudioEventObserverAPI* AudioDeviceAPITest::event_observer_ = NULL; |