Reland "APM: log both applied and recommended input volume stats"
This is a reland of commit 8d7273357d92fab881561d886ce8dfe94e6e2238 Root cause: audioproc_f doesn't call `metrics::Enable()` and therefore the stats reporter crashed when `metrics::HistogramFactoryGetCountsLinear()` returned a nullptr. Bug fix: Added `InputVolumeStatsReporter::cannot_log_stats_`, a const flag that is set to true if any histogram factory returns a nullptr. When true, the class does nothing. This CL also includes other code readability improvements that were not part of the original CL. Original change's description: > APM: log both applied and recommended input volume stats > > This CL replaces the existing `WebRTC.Audio.ApmAnalogGain.*` stats > with `WebRTC.Audio.Apm.AppliedInputVolume.*` and adds the > `WebRTC.Audio.Apm.RecommendedInputVolume.*` stats. > > Bug: webrtc:7494 > Change-Id: I70be710d20b1589fc814cbce3d3329ac1500686f > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/280220 > Reviewed-by: Hanna Silen <silen@webrtc.org> > Commit-Queue: Alessio Bazzica <alessiob@webrtc.org> > Cr-Commit-Position: refs/heads/main@{#38468} Bug: webrtc:7494 Change-Id: I8373d16beb06b84f439d2c2274ededea7c5e95b0 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/280661 Commit-Queue: Alessio Bazzica <alessiob@webrtc.org> Reviewed-by: Hanna Silen <silen@webrtc.org> Cr-Commit-Position: refs/heads/main@{#38484}
This commit is contained in:
committed by
WebRTC LUCI CQ
parent
aebba7b468
commit
fbe5d7c3d4
@ -291,7 +291,11 @@ AudioProcessingImpl::AudioProcessingImpl(
|
||||
MinimizeProcessingForUnusedOutput(),
|
||||
field_trial::IsEnabled("WebRTC-TransientSuppressorForcedOff")),
|
||||
capture_(),
|
||||
capture_nonlocked_() {
|
||||
capture_nonlocked_(),
|
||||
applied_input_volume_stats_reporter_(
|
||||
InputVolumeStatsReporter::InputVolumeType::kApplied),
|
||||
recommended_input_volume_stats_reporter_(
|
||||
InputVolumeStatsReporter::InputVolumeType::kRecommended) {
|
||||
RTC_LOG(LS_INFO) << "Injected APM submodules:"
|
||||
"\nEcho control factory: "
|
||||
<< !!echo_control_factory_
|
||||
@ -1361,6 +1365,10 @@ int AudioProcessingImpl::ProcessCaptureStreamLocked() {
|
||||
stats_reporter_.UpdateStatistics(capture_.stats);
|
||||
|
||||
UpdateRecommendedInputVolumeLocked();
|
||||
if (capture_.recommended_input_volume.has_value()) {
|
||||
recommended_input_volume_stats_reporter_.UpdateStatistics(
|
||||
*capture_.recommended_input_volume);
|
||||
}
|
||||
|
||||
if (submodules_.capture_levels_adjuster) {
|
||||
submodules_.capture_levels_adjuster->ApplyPostLevelAdjustment(
|
||||
|
||||
Reference in New Issue
Block a user