}
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) {
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);
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);