commit | 6c381af40185c6e65a26b6525137df3d028f86e0 | [log] [tgz] |
---|---|---|
author | Alessio Bazzica <alessiob@chromium.org> | Wed Jun 15 11:19:59 2022 |
committer | Chromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com> | Thu Jun 30 00:33:08 2022 |
tree | 5809111ef056ef06d411ca18f992a152741d4214 | |
parent | 865a1769435d01a01e83a0034981abd515d8e717 [diff] |
webrtc-apm: new webrtc-apm factory with features This CL changes the WebRTC APM factory so that APM experiments are handled via the "featured" library (see [1]). `webrtc_apm_create_with_enforced_effects()` reads the flags for the relevant experiments to configure APM. `webrtc_apm_create_for_testing()` is added to test different behaviors of the factory by simulating different feature flags encoded as a `WebRtcApmFeatures` object. The new API was chosen to fully decouple cras_stream_apm.c (see [2]) and from the APM features - i.e., features can be added/removed in webrtc_apm.h/.cc without breaking cras_stream_apm.c. [1] https://source.chromium.org/chromiumos/chromiumos/codesearch/+/main:src/platform2/featured/ [2] https://source.chromium.org/chromiumos/chromiumos/codesearch/+/main:src/third_party/adhd/cras/src/server/cras_stream_apm.c BUG=chromium:1318461 TEST=Local test with `cras_bench` Cq-Depend: chromium:3707102 Change-Id: I4111c5b7119cc33eae5ed5e7de04bdf09aa84bbd Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/webrtc-apm/+/3706917 Reviewed-by: Hsinyu Chao <hychao@chromium.org> Reviewed-by: Per Åhgren <peah@chromium.org> Tested-by: Hsinyu Chao <hychao@chromium.org> Tested-by: Per Åhgren <peah@chromium.org> Commit-Queue: Hsinyu Chao <hychao@chromium.org>
APM is the audio processing module of WebRTC project in charge of effects like echo cancellation, noise suppression, etc. The purpose of this project is to build a standalone library for Chrome OS system side audio processing.
To update this package to latest upstream WebRC:
./script/sync-apm.sh path/to/webrtc-checkout/src .
emerge webrtc-apm
to see if anything breaks.