summaryrefslogtreecommitdiff
path: root/src/modules/module-filter-heuristics.c
diff options
context:
space:
mode:
authorArun Raghavan <arun.raghavan@collabora.co.uk>2011-08-15 16:08:40 +0530
committerArun Raghavan <arun.raghavan@collabora.co.uk>2011-08-15 16:08:40 +0530
commit2c852061ee966fa270d3d2c3f002beb0b5f51c8d (patch)
treea8bc7521fc3b234ae33472f99e400c455380ba4c /src/modules/module-filter-heuristics.c
parent2e075bb83767085cbafcdfeefa6fc77748a341dc (diff)
downloadpulseaudio-2c852061ee966fa270d3d2c3f002beb0b5f51c8d.tar.gz
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).
Diffstat (limited to 'src/modules/module-filter-heuristics.c')
-rw-r--r--src/modules/module-filter-heuristics.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/src/modules/module-filter-heuristics.c b/src/modules/module-filter-heuristics.c
index 222787fc9..5bb0945ed 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);