Commit graph

10 commits

Author SHA1 Message Date
Florent Castelli
8037fc6ffa Migrate absl::optional to std::optional
Bug: webrtc:342905193
No-Try: True
Change-Id: Icc968be43b8830038ea9a1f5f604307220457807
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/361021
Auto-Submit: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42911}
2024-09-02 12:16:47 +00:00
Alessio Bazzica
a106095333 Fix WebRTC.Audio.Apm.RecommendedInputVolume.OnChangeToMatchTarget tests
- Reset the tested metrics to avoid interactions between tests that
  depend on the execution order
- Address the comment in [1] by adding a function to log the same
  histogram in two different places

[1] https://chromium-review.googlesource.com/c/chromium/src/+/4087426/4/tools/metrics/histograms/metadata/web_rtc/histograms.xml#179

Bug: webrtc:7494
Change-Id: Ia4d339b03c8078eb63626c91579f8a9547f087f7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/287681
Reviewed-by: Hanna Silen <silen@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38873}
2022-12-12 19:26:01 +00:00
Alessio Bazzica
da964d7559 InputVolumeStatsReporter: replace WebRTC.Audio.AgcSetLevel
The `WebRTC.Audio.AgcSetLevel` name is misleading and the histogram
is logged for each channel - but the input volume is one for all the
channels.

Changes:
- `WebRTC.Audio.Apm.RecommendedInputVolume.OnChangeToMatchTarget`
  is the new name
- Now available not only in `AgcManagerDirect` (AGC1), but also in
  `InputVolumeController` (AGC2)
- Logged once and not for each channel
- Also add the following AGC implementation agnostic histograms
  - `WebRTC.Audio.Apm.AppliedInputVolume.OnChange`
  - `WebRTC.Audio.Apm.RecommendedInputVolume.OnChange`
- Fix `SpeechSamplesReader::Feed()` in the unit tests, which did
  not set the applied input volume and apply the recommended one

The histogram definitions are updated in crrev.com/c/4087426.

Bug: webrtc:7494
Change-Id: I03c5dfb08165805215ca2c4bb6509b16de8d68da
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/287081
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Hanna Silen <silen@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38852}
2022-12-08 15:44:43 +00:00
Alessio Bazzica
fbe5d7c3d4 Reland "APM: log both applied and recommended input volume stats"
This is a reland of commit 8d7273357d

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}
2022-10-27 14:40:40 +00:00
Alessio Bazzica
c34a8c19c6 Reland "APM: rename AnalogGainStatsReporter to InputVolumeStatsReporter"
This reverts commit 6a18f06bd0.

Reason for revert: reverted by mistake

Original change's description:
> Revert "APM: rename `AnalogGainStatsReporter` to `InputVolumeStatsReporter`"
>
> This reverts commit b5319fabee.
>
> Reason for revert: audioproc_f crash 
>
> Original change's description:
> > APM: rename `AnalogGainStatsReporter` to `InputVolumeStatsReporter`
> >
> > Adopt the new naming convention, which replaces "analog gain" and
> > "mic level" with "input volume", in the input volume stats reporter.
> >
> > Bug: webrtc:7494
> > Change-Id: Ia24876151f51dd1dcc4e4f9db56c64d11ae3b442
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/279840
> > Reviewed-by: Hanna Silen <silen@webrtc.org>
> > Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
> > Cr-Commit-Position: refs/heads/main@{#38467}
>
> Bug: webrtc:7494
> Change-Id: Ia943a57c93fc77eb8450fab17961e60774e10f02
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/280600
> Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
> Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
> Auto-Submit: Alessio Bazzica <alessiob@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#38478}

Bug: webrtc:7494
Change-Id: I204133460dc119142f87695effce45e04426519f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/280582
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38479}
2022-10-26 16:35:34 +00:00
Alessio Bazzica
6a18f06bd0 Revert "APM: rename AnalogGainStatsReporter to InputVolumeStatsReporter"
This reverts commit b5319fabee.

Reason for revert: audioproc_f crash 

Original change's description:
> APM: rename `AnalogGainStatsReporter` to `InputVolumeStatsReporter`
>
> Adopt the new naming convention, which replaces "analog gain" and
> "mic level" with "input volume", in the input volume stats reporter.
>
> Bug: webrtc:7494
> Change-Id: Ia24876151f51dd1dcc4e4f9db56c64d11ae3b442
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/279840
> Reviewed-by: Hanna Silen <silen@webrtc.org>
> Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#38467}

Bug: webrtc:7494
Change-Id: Ia943a57c93fc77eb8450fab17961e60774e10f02
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/280600
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Auto-Submit: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38478}
2022-10-26 13:29:27 +00:00
Alessio Bazzica
35b3c63ba4 Revert "APM: log both applied and recommended input volume stats"
This reverts commit 8d7273357d.

Reason for revert: revert needed to land https://webrtc-review.googlesource.com/c/src/+/280600

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: I4a2acfd5a983d9397932b2879cfa057deaf0eb2b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/280581
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Auto-Submit: Alessio Bazzica <alessiob@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#38476}
2022-10-26 13:27:01 +00:00
Alessio Bazzica
8d7273357d 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}
2022-10-25 14:02:22 +00:00
Alessio Bazzica
b5319fabee APM: rename AnalogGainStatsReporter to InputVolumeStatsReporter
Adopt the new naming convention, which replaces "analog gain" and
"mic level" with "input volume", in the input volume stats reporter.

Bug: webrtc:7494
Change-Id: Ia24876151f51dd1dcc4e4f9db56c64d11ae3b442
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/279840
Reviewed-by: Hanna Silen <silen@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38467}
2022-10-25 13:57:55 +00:00
Alessio Bazzica
d226c5731d APM: move AnalogGainStatsReporter to AGC2
Bug: webrtc:7494
Change-Id: Ifb924e6eda47dd96a591a0b55b1e7fcfdbbbbe18
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/280222
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Hanna Silen <silen@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38464}
2022-10-25 08:35:02 +00:00
Renamed from modules/audio_processing/agc/analog_gain_stats_reporter.h (Browse further)