[pulseaudio-discuss] [PATCH v4 03/23] echo-cancel: Add support for the webrtc intelligibility enhancer

Tanu Kaskinen tanuk at iki.fi
Thu Feb 18 13:06:17 UTC 2016


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. */

-- 
Tanu


More information about the pulseaudio-discuss mailing list