Hello,
I've just pushed support for the echo canceller engine from the
WebRTC[1] sources to master, and this will ship in PulseAudio 2.0. This
is a pretty high quality canceller, and I'm going to continue tweaking
module-echo-cancel to do better, so in general it's quite nice to have.

>From the packaging perspective this means two things -- firstly, there's
a new dependency on the webrtc-audio-processing[2] library. There's no
releases yet, but we'll make one close to the first 2.0 prerelease. This
is, for now, mostly just the AudioProcessing bits from the upstream
WebRTC code with a packager-friendly autotools build system.

We decided to not pull this code into PulseAudio itself to avoid adding
~20,000 lines of C++ code. Which brings me to the second packaging
change -- to enable this, you need a C++ compiler while compiling
PulseAudio (and libstdc++ or whatever the standard C++ library on your
platform is at runtime).

The canceller is currently disabled by default (there's a
--enable-webrtc-aec configure option now),  The way autotools work, I
needed to add a C++ compiler as a mandatory configure-time dep. You
don't need any of the C++ bits are runtime unless you enable this
explicitly. At some point I might switch this to be the default
canceller, but there'll still be an option to disable it.

Cheers,
Arun

[1] http://code.google.com/p/webrtc/
[2] http://cgit.freedesktop.org/pulseaudio/webrtc-audio-processing/

_______________________________________________
pulseaudio-discuss mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss

Reply via email to