Index: webrtc/modules/audio_device/audio_device_impl.cc |
diff --git a/webrtc/modules/audio_device/audio_device_impl.cc b/webrtc/modules/audio_device/audio_device_impl.cc |
index b2a33ef72f7894e2fd7dc849027e7cb806eb4cb5..86b8e9dfcc365c872245d2bb476443b383129a83 100644 |
--- a/webrtc/modules/audio_device/audio_device_impl.cc |
+++ b/webrtc/modules/audio_device/audio_device_impl.cc |
@@ -8,12 +8,15 @@ |
* be found in the AUTHORS file in the root of the source tree. |
*/ |
+#include "webrtc/base/checks.h" |
#include "webrtc/base/logging.h" |
#include "webrtc/base/refcount.h" |
#include "webrtc/base/timeutils.h" |
#include "webrtc/common_audio/signal_processing/include/signal_processing_library.h" |
#include "webrtc/modules/audio_device/audio_device_config.h" |
+#include "webrtc/modules/audio_device/audio_device_generic.h" |
#include "webrtc/modules/audio_device/audio_device_impl.h" |
+#include "webrtc/system_wrappers/include/metrics.h" |
#include <assert.h> |
#include <string.h> |
@@ -266,7 +269,7 @@ int32_t AudioDeviceModuleImpl::CreatePlatformSpecificObjects() { |
// create *Linux PulseAudio* implementation |
AudioDeviceLinuxPulse* pulseDevice = new AudioDeviceLinuxPulse(Id()); |
- if (pulseDevice->Init() != -1) { |
+ if (pulseDevice->Init() == AudioDeviceGeneric::InitStatus::OK) { |
ptrAudioDevice = pulseDevice; |
LOG(INFO) << "Linux PulseAudio APIs will be utilized"; |
} else { |
@@ -481,11 +484,14 @@ int32_t AudioDeviceModuleImpl::Init() { |
LOG(INFO) << __FUNCTION__; |
if (_initialized) |
return 0; |
- |
- if (!_ptrAudioDevice) |
- return -1; |
- |
- if (_ptrAudioDevice->Init() == -1) { |
+ RTC_CHECK(_ptrAudioDevice) << "no _ptrAudioDevice!"; |
+ |
+ AudioDeviceGeneric::InitStatus err = _ptrAudioDevice->Init(); |
+ RTC_HISTOGRAM_ENUMERATION( |
+ "WebRTC.Audio.InitializationResult", static_cast<int>(err), |
+ static_cast<int>(AudioDeviceGeneric::InitStatus::NUM_STATUSES)); |
+ if (err != AudioDeviceGeneric::InitStatus::OK) { |
+ LOG(LS_ERROR) << "audio device initialization failed."; |
return -1; |
} |
@@ -1475,7 +1481,11 @@ bool AudioDeviceModuleImpl::RecordingIsInitialized() const { |
int32_t AudioDeviceModuleImpl::StartPlayout() { |
LOG(INFO) << __FUNCTION__; |
CHECK_INITIALIZED(); |
- return (_ptrAudioDevice->StartPlayout()); |
+ int32_t r = _ptrAudioDevice->StartPlayout(); |
+ LOG(INFO) << "output: " << r; |
+ RTC_HISTOGRAM_ENUMERATION("WebRTC.Audio.StartPlayoutSuccess", |
+ static_cast<int>(r == 0), 2); |
+ return r; |
} |
// ---------------------------------------------------------------------------- |
@@ -1505,7 +1515,11 @@ bool AudioDeviceModuleImpl::Playing() const { |
int32_t AudioDeviceModuleImpl::StartRecording() { |
LOG(INFO) << __FUNCTION__; |
CHECK_INITIALIZED(); |
- return (_ptrAudioDevice->StartRecording()); |
+ int32_t r = _ptrAudioDevice->StartRecording(); |
+ LOG(INFO) << "output: " << r; |
+ RTC_HISTOGRAM_ENUMERATION("WebRTC.Audio.StartRecordingSuccess", |
+ static_cast<int>(r == 0), 2); |
+ return r; |
} |
// ---------------------------------------------------------------------------- |
// StopRecording |