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

Unified Diff: modules/audio_device/ios/voice_processing_audio_unit.mm

Issue 3014673002: Improves UMA stat related to built-in AGC monitoring on iOS
Patch Set: Created 3 years, 3 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: modules/audio_device/ios/voice_processing_audio_unit.mm
diff --git a/modules/audio_device/ios/voice_processing_audio_unit.mm b/modules/audio_device/ios/voice_processing_audio_unit.mm
index e764d2fa44d411e9dbdc9b70bd1a14c0e794f084..b78070ece214b11c12b031e9aec4f48cc1a3c2de 100644
--- a/modules/audio_device/ios/voice_processing_audio_unit.mm
+++ b/modules/audio_device/ios/voice_processing_audio_unit.mm
@@ -253,17 +253,19 @@ bool VoiceProcessingAudioUnit::Initialize(Float64 sample_rate) {
// to be absolutely sure that the AGC is enabled since we have seen cases
// where only zeros are recorded and a disabled AGC could be one of the
// reasons why it happens.
- int agc_was_enabled_by_default = 1;
+ int agc_was_enabled_by_default = 0;
UInt32 agc_is_enabled = 0;
result = GetAGCState(vpio_unit_, &agc_is_enabled);
if (result != noErr) {
RTCLogError(@"Failed to get AGC state (1st attempt). "
"Error=%ld.",
(long)result);
- } else if (!agc_is_enabled) {
- // Remember that the AGC was disabled by default. Will be used in UMA.
- agc_was_enabled_by_default = 0;
- // Try to enable the AGC.
+ UMA_HISTOGRAM_SPARSE_SLOWLY("WebRTC.Audio.GetAGCStateErrorCode", result);
+ } else if (agc_is_enabled) {
+ // Remember that the AGC was enabled by default. Will be used in UMA.
+ agc_was_enabled_by_default = 1;
+ } else {
+ // AGC was initially disabled => try to enable it explicitly.
UInt32 enable_agc = 1;
result =
AudioUnitSetProperty(vpio_unit_,
@@ -274,12 +276,18 @@ bool VoiceProcessingAudioUnit::Initialize(Float64 sample_rate) {
RTCLogError(@"Failed to enable the built-in AGC. "
"Error=%ld.",
(long)result);
+ UMA_HISTOGRAM_SPARSE_SLOWLY("WebRTC.Audio.SetAGCStateErrorCode", result);
}
result = GetAGCState(vpio_unit_, &agc_is_enabled);
if (result != noErr) {
RTCLogError(@"Failed to get AGC state (2nd attempt). "
"Error=%ld.",
(long)result);
+ // Use same histogram as earlier but multiply error code with -1 to
+ // make each case unique. Example: kAudioUnitErr_NoConnection (-10876)
+ // will be converted to +10876 here.
+ UMA_HISTOGRAM_SPARSE_SLOWLY(
+ "WebRTC.Audio.GetAGCStateErrorCode", (-1) * result);
}
}
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698