summaryrefslogtreecommitdiffstats
path: root/src/modules/module-combine.c
diff options
context:
space:
mode:
authorColin Guthrie <cguthrie@mandriva.org>2010-11-17 23:43:36 +0000
committerColin Guthrie <cguthrie@mandriva.org>2010-11-17 23:56:56 +0000
commit71cb35691ca0ea48dc559a69a554e02dd2ae30f5 (patch)
tree6440e7a2fc122bfd4dca06563a64a6d68fb246d6 /src/modules/module-combine.c
parentff7acb4d059e21b318b0464ee6fd1785318071cc (diff)
combine: Only check if the sink is h/w etc. in automatic mode
Diffstat (limited to 'src/modules/module-combine.c')
-rw-r--r--src/modules/module-combine.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/modules/module-combine.c b/src/modules/module-combine.c
index 01d7a4ec..bcea229f 100644
--- a/src/modules/module-combine.c
+++ b/src/modules/module-combine.c
@@ -1030,20 +1030,20 @@ static pa_hook_result_t sink_put_hook_cb(pa_core *c, pa_sink *s, struct userdata
pa_sink_assert_ref(s);
pa_assert(u);
- if (!is_suitable_sink(u, s))
- return PA_HOOK_OK;
-
- /* Check if the sink is a previously unlinked slave (non-automatic mode) */
- if (!u->automatic) {
+ if (u->automatic) {
+ if (!is_suitable_sink(u, s))
+ return PA_HOOK_OK;
+ } else {
+ /* Check if the sink is a previously unlinked slave (non-automatic mode) */
pa_strlist *l = u->unlinked_slaves;
while (l && !pa_streq(pa_strlist_data(l), s->name))
l = pa_strlist_next(l);
- if (l)
- u->unlinked_slaves = pa_strlist_remove(u->unlinked_slaves, s->name);
- else
+ if (!l)
return PA_HOOK_OK;
+
+ u->unlinked_slaves = pa_strlist_remove(u->unlinked_slaves, s->name);
}
pa_log_info("Configuring new sink: %s", s->name);