From: Arun Raghavan Date: Mon, 15 Aug 2011 10:38:40 +0000 (+0530) Subject: filter-heuristics: Don't force AEC on all phone streams X-Git-Tag: 1.0_branch~434 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2c852061ee966fa270d3d2c3f002beb0b5f51c8d;p=profile%2Fivi%2Fpulseaudio.git filter-heuristics: Don't force AEC on all phone streams Removing the bit that automatically loads module-echo-cancel for phone streams. Clients need to specifically opt in for this now with filter.want, until we are reasonably certain this won't break other apps (Skype for one, possibly others). --- diff --git a/src/modules/module-filter-heuristics.c b/src/modules/module-filter-heuristics.c index 222787f..5bb0945 100644 --- a/src/modules/module-filter-heuristics.c +++ b/src/modules/module-filter-heuristics.c @@ -77,7 +77,7 @@ static pa_bool_t role_match(pa_proplist *proplist, const char *role) { } static pa_hook_result_t process(struct userdata *u, pa_object *o, pa_bool_t is_sink_input) { - const char *want, *stream_role; + const char *want; pa_proplist *pl, *parent_pl; if (is_sink_input) { @@ -92,13 +92,6 @@ static pa_hook_result_t process(struct userdata *u, pa_object *o, pa_bool_t is_s if (!pa_proplist_gets(pl, PA_PROP_FILTER_HEURISTICS) && pa_proplist_gets(pl, PA_PROP_FILTER_APPLY)) return PA_HOOK_OK; - want = pa_proplist_gets(pl, PA_PROP_FILTER_WANT); - if (!want) { - /* This is a phone stream, maybe we want echo cancellation */ - if ((stream_role = pa_proplist_gets(pl, PA_PROP_MEDIA_ROLE)) && pa_streq(stream_role, "phone")) - want = "echo-cancel"; - } - /* On phone sinks, make sure we're not applying echo cancellation */ if (role_match(parent_pl, "phone")) { const char *apply = pa_proplist_gets(pl, PA_PROP_FILTER_APPLY); @@ -111,6 +104,8 @@ static pa_hook_result_t process(struct userdata *u, pa_object *o, pa_bool_t is_s return PA_HOOK_OK; } + want = pa_proplist_gets(pl, PA_PROP_FILTER_WANT); + if (want) { /* There's a filter that we want, ask module-filter-apply to apply it, and remember that we're managing filter.apply */ pa_proplist_sets(pl, PA_PROP_FILTER_APPLY, want);