[pulseaudio-discuss] [PATCH v4 03/23] echo-cancel: Add support for the webrtc intelligibility enhancer
Arun Raghavan
arun at accosted.net
Fri Feb 19 09:18:28 UTC 2016
On Thu, 2016-02-18 at 15:06 +0200, Tanu Kaskinen wrote:
> On Thu, 2016-02-18 at 14:58 +0200, Tanu Kaskinen wrote:
> > On Wed, 2016-02-17 at 19:46 +0530, arun at accosted.net wrote:
> > > From: Arun Raghavan <git at arunraghavan.net>
> > >
> > > Just exposing this, disabled by default. It's not used by Chromium at
> > > the moment.
> > > ---
> > > src/modules/echo-cancel/webrtc.cc | 14 ++++++++++++--
> > > 1 file changed, 12 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/src/modules/echo-cancel/webrtc.cc b/src/modules/echo-cancel/webrtc.cc
> > > index ee3075f..ec63e26 100644
> > > --- a/src/modules/echo-cancel/webrtc.cc
> > > +++ b/src/modules/echo-cancel/webrtc.cc
> > > @@ -47,6 +47,7 @@ PA_C_DECL_END
> > > #define DEFAULT_COMFORT_NOISE true
> > > #define DEFAULT_DRIFT_COMPENSATION false
> > > #define DEFAULT_EXTENDED_FILTER false
> > > +#define DEFAULT_INTELLIGIBILITY_ENHANCER false
> > >
> > > static const char* const valid_modargs[] = {
> > > "high_pass_filter",
> > > @@ -58,6 +59,7 @@ static const char* const valid_modargs[] = {
> > > "comfort_noise",
> > > "drift_compensation",
> > > "extended_filter",
> > > + "intelligibility_enhancer",
> > > NULL
> > > };
> > >
> > > @@ -84,7 +86,7 @@ bool pa_webrtc_ec_init(pa_core *c, pa_echo_canceller *ec,
> > > webrtc::AudioProcessing *apm = NULL;
> > > webrtc::ProcessingConfig pconfig;
> > > webrtc::Config config;
> > > - bool hpf, ns, agc, dgc, mobile, cn, ext_filter;
> > > + bool hpf, ns, agc, dgc, mobile, cn, ext_filter, intelligibility;
> > > int rm = -1;
> > > pa_modargs *ma;
> > >
> > > @@ -163,8 +165,16 @@ bool pa_webrtc_ec_init(pa_core *c, pa_echo_canceller *ec,
> > > goto fail;
> > > }
> > >
> > > + intelligibility = DEFAULT_INTELLIGIBILITY_ENHANCER;
> > > + if (pa_modargs_get_value_boolean(ma, "intelligibility_enhancer", &intelligibility) < 0) {
> > > + pa_log("Failed to parse intelligibility_enhancer value");
> > > + goto fail;
> > > + }
> > > +
> > > if (ext_filter)
> > > config.Set(new webrtc::ExtendedFilter(true));
> > > + if (intelligibility)
> > > + config.Set(new webrtc::Intelligibility(true));
> >
> > I see you did no changes here despite our earlier discussion. I was
> > hoping that you'd squash patch 19 to this patch - do you mind if I do
> > that?
>
> Also, do you mind if I move the FIXME comment from patch 20 to this
> one, since the FIXME seems to be about the intelligibility enhancer
> feature only? I mean this:
>
> + /* FIXME: we need to be able to modify playback samples, which we can't
> + * currently do. This is because module-echo-cancel processes playback
> + * frames in the source thread, and just stores playback chunks as they
> + * pass through the sink. */
Also fine by me (and thanks!)
-- Arun
More information about the pulseaudio-discuss
mailing list