Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(56)

Unified Diff: webrtc/modules/audio_device/audio_device_impl.cc

Issue 2103863004: UMA log for audio_device Init and Start(Playout|Recording). Make Init return a more specific error … (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Rename variable. Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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..7c8840a5f9b07ccebb81ea01676f41a7467244d6 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);
+
+ AudioDeviceGeneric::InitStatus status = _ptrAudioDevice->Init();
+ RTC_HISTOGRAM_ENUMERATION(
+ "WebRTC.Audio.InitializationResult", static_cast<int>(status),
+ static_cast<int>(AudioDeviceGeneric::InitStatus::NUM_STATUSES));
+ if (status != AudioDeviceGeneric::InitStatus::OK) {
+ LOG(LS_ERROR) << "Audio device initialization failed.";
return -1;
}
@@ -1434,7 +1440,11 @@ int32_t AudioDeviceModuleImpl::InitPlayout() {
LOG(INFO) << __FUNCTION__;
CHECK_INITIALIZED();
_audioDeviceBuffer.InitPlayout();
- return (_ptrAudioDevice->InitPlayout());
+ int32_t result = _ptrAudioDevice->InitPlayout();
+ LOG(INFO) << "output: " << result;
+ RTC_HISTOGRAM_BOOLEAN("WebRTC.Audio.InitPlayoutSuccess",
+ static_cast<int>(result == 0));
+ return result;
}
// ----------------------------------------------------------------------------
@@ -1445,7 +1455,11 @@ int32_t AudioDeviceModuleImpl::InitRecording() {
LOG(INFO) << __FUNCTION__;
CHECK_INITIALIZED();
_audioDeviceBuffer.InitRecording();
- return (_ptrAudioDevice->InitRecording());
+ int32_t result = _ptrAudioDevice->InitRecording();
+ LOG(INFO) << "output: " << result;
+ RTC_HISTOGRAM_BOOLEAN("WebRTC.Audio.InitRecordingSuccess",
+ static_cast<int>(result == 0));
+ return result;
}
// ----------------------------------------------------------------------------
@@ -1475,7 +1489,11 @@ bool AudioDeviceModuleImpl::RecordingIsInitialized() const {
int32_t AudioDeviceModuleImpl::StartPlayout() {
LOG(INFO) << __FUNCTION__;
CHECK_INITIALIZED();
- return (_ptrAudioDevice->StartPlayout());
+ int32_t result = _ptrAudioDevice->StartPlayout();
+ LOG(INFO) << "output: " << result;
+ RTC_HISTOGRAM_BOOLEAN("WebRTC.Audio.StartPlayoutSuccess",
+ static_cast<int>(result == 0));
+ return result;
}
// ----------------------------------------------------------------------------
@@ -1485,7 +1503,11 @@ int32_t AudioDeviceModuleImpl::StartPlayout() {
int32_t AudioDeviceModuleImpl::StopPlayout() {
LOG(INFO) << __FUNCTION__;
CHECK_INITIALIZED();
- return (_ptrAudioDevice->StopPlayout());
+ int32_t result = _ptrAudioDevice->StopPlayout();
+ LOG(INFO) << "output: " << result;
+ RTC_HISTOGRAM_BOOLEAN("WebRTC.Audio.StopPlayoutSuccess",
+ static_cast<int>(result == 0));
+ return result;
}
// ----------------------------------------------------------------------------
@@ -1505,7 +1527,11 @@ bool AudioDeviceModuleImpl::Playing() const {
int32_t AudioDeviceModuleImpl::StartRecording() {
LOG(INFO) << __FUNCTION__;
CHECK_INITIALIZED();
- return (_ptrAudioDevice->StartRecording());
+ int32_t result = _ptrAudioDevice->StartRecording();
+ LOG(INFO) << "output: " << result;
+ RTC_HISTOGRAM_BOOLEAN("WebRTC.Audio.StartRecordingSuccess",
+ static_cast<int>(result == 0));
+ return result;
}
// ----------------------------------------------------------------------------
// StopRecording
@@ -1514,7 +1540,11 @@ int32_t AudioDeviceModuleImpl::StartRecording() {
int32_t AudioDeviceModuleImpl::StopRecording() {
LOG(INFO) << __FUNCTION__;
CHECK_INITIALIZED();
- return (_ptrAudioDevice->StopRecording());
+ int32_t result = _ptrAudioDevice->StopRecording();
+ LOG(INFO) << "output: " << result;
+ RTC_HISTOGRAM_BOOLEAN("WebRTC.Audio.StopRecordingSuccess",
+ static_cast<int>(result == 0));
+ return result;
}
// ----------------------------------------------------------------------------

Powered by Google App Engine
This is Rietveld 408576698