context: scan peers in both directions
Don't stop scanning peers after trying one direction. Try the other
direction too, just like with link groups.
See a821027fb8
.
This commit is contained in:
parent
9b29bcd4e8
commit
be943ca9db
|
@ -807,7 +807,7 @@ static inline int run_nodes(struct pw_context *context, struct pw_impl_node *nod
|
|||
spa_list_for_each(l, &p->links, input_link) {
|
||||
t = l->output->node;
|
||||
|
||||
if (!t->active || !l->prepared || (!t->driving && t->runnable))
|
||||
if (!t->active || !l->prepared || (!t->driving && SPA_FLAG_IS_SET(t->checked, 1u<<direction)))
|
||||
continue;
|
||||
|
||||
pw_log_debug(" peer %p: '%s'", t, t->name);
|
||||
|
@ -820,7 +820,7 @@ static inline int run_nodes(struct pw_context *context, struct pw_impl_node *nod
|
|||
spa_list_for_each(l, &p->links, output_link) {
|
||||
t = l->input->node;
|
||||
|
||||
if (!t->active || !l->prepared || (!t->driving && t->runnable))
|
||||
if (!t->active || !l->prepared || (!t->driving && SPA_FLAG_IS_SET(t->checked, 1u<<direction)))
|
||||
continue;
|
||||
|
||||
pw_log_debug(" peer %p: '%s'", t, t->name);
|
||||
|
@ -837,7 +837,7 @@ static inline int run_nodes(struct pw_context *context, struct pw_impl_node *nod
|
|||
if (node->link_group != NULL) {
|
||||
spa_list_for_each(t, nodes, sort_link) {
|
||||
if (t->exported || !t->active ||
|
||||
SPA_FLAG_IS_SET(t->checked, 1u<<direction))
|
||||
SPA_FLAG_IS_SET(t->checked, 1u<<direction))
|
||||
continue;
|
||||
if (!spa_streq(t->link_group, node->link_group))
|
||||
continue;
|
||||
|
|
Loading…
Reference in New Issue