diff options
author | Arun Raghavan <arun.raghavan@collabora.co.uk> | 2011-08-15 16:08:40 +0530 |
---|---|---|
committer | Arun Raghavan <arun.raghavan@collabora.co.uk> | 2011-08-15 16:08:40 +0530 |
commit | 2c852061ee966fa270d3d2c3f002beb0b5f51c8d (patch) | |
tree | a8bc7521fc3b234ae33472f99e400c455380ba4c | |
parent | 2e075bb83767085cbafcdfeefa6fc77748a341dc (diff) |
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).
-rw-r--r-- | src/modules/module-filter-heuristics.c | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/src/modules/module-filter-heuristics.c b/src/modules/module-filter-heuristics.c index 222787fc..5bb0945e 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); |