echo-cance: Make Adrian canceller optional

makes the Adrian echo canceller implementation optional at compile time

this patch supersedes an earlier patch proposal and addresses the following
comments:
* separate patch from speex dependency rework (Arun)
* check that at least one EC implementation is available (Arun)
* properly align yes/no in configure summary for Adrian (Frederic)
This commit is contained in:
Peter Meerwald 2011-12-11 16:07:42 +01:00 committed by Arun Raghavan
parent 5f2286e6f7
commit dc5a39b124
4 changed files with 31 additions and 4 deletions

View file

@ -85,7 +85,9 @@ typedef enum {
#ifdef HAVE_SPEEX
PA_ECHO_CANCELLER_SPEEX,
#endif
#ifdef HAVE_ADRIAN_EC
PA_ECHO_CANCELLER_ADRIAN,
#endif
#ifdef HAVE_WEBRTC
PA_ECHO_CANCELLER_WEBRTC,
#endif
@ -106,12 +108,14 @@ static const pa_echo_canceller ec_table[] = {
.done = pa_speex_ec_done,
},
#endif
#ifdef HAVE_ADRIAN_EC
{
/* Adrian Andre's NLMS implementation */
.init = pa_adrian_ec_init,
.run = pa_adrian_ec_run,
.done = pa_adrian_ec_done,
},
#endif
#ifdef HAVE_WEBRTC
{
/* WebRTC's audio processing engine */
@ -1549,8 +1553,10 @@ static pa_echo_canceller_method_t get_ec_method_from_string(const char *method)
if (pa_streq(method, "speex"))
return PA_ECHO_CANCELLER_SPEEX;
#endif
#ifdef HAVE_ADRIAN_EC
if (pa_streq(method, "adrian"))
return PA_ECHO_CANCELLER_ADRIAN;
#endif
#ifdef HAVE_WEBRTC
if (pa_streq(method, "webrtc"))
return PA_ECHO_CANCELLER_WEBRTC;