[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