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

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: Address comments. 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..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

Powered by Google App Engine
This is Rietveld 408576698