mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-10-29 05:40:27 -04:00
impl-node: async driver nodes need to activate targets
When a driver is async it still needs to activate the targets or else no targets will ever be triggered. Fixes #4046
This commit is contained in:
parent
0d9a959ab6
commit
c85e7cadf1
1 changed files with 2 additions and 2 deletions
|
|
@ -74,7 +74,7 @@ static inline void activate_target(struct pw_impl_node *node, struct pw_node_tar
|
|||
{
|
||||
struct pw_node_activation_state *state = &t->activation->state[0];
|
||||
if (!t->active) {
|
||||
if (!node->async) {
|
||||
if (!node->async || node->driving) {
|
||||
SPA_ATOMIC_INC(state->required);
|
||||
SPA_ATOMIC_INC(state->pending);
|
||||
}
|
||||
|
|
@ -88,7 +88,7 @@ static inline void deactivate_target(struct pw_impl_node *node, struct pw_node_t
|
|||
{
|
||||
if (t->active) {
|
||||
struct pw_node_activation_state *state = &t->activation->state[0];
|
||||
if (!node->async) {
|
||||
if (!node->async || node->driving) {
|
||||
/* the driver copies the required to the pending state
|
||||
* so first try to resume the node and then decrement the
|
||||
* required state. This way we either resume with the old value
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue