Revert "impl-node: improve suspend"

This reverts commit 3c47fa894b.

suspend_node is called from other places where the node might not be
IDLE.

Fixes #3378
This commit is contained in:
Wim Taymans 2023-08-24 09:42:41 +02:00
parent 88e4a69765
commit 6ad0eb533d

View file

@ -434,19 +434,15 @@ static void node_update_state(struct pw_impl_node *node, enum pw_node_state stat
static int suspend_node(struct pw_impl_node *this) static int suspend_node(struct pw_impl_node *this)
{ {
struct impl *impl = SPA_CONTAINER_OF(this, struct impl, this);
int res = 0; int res = 0;
struct pw_impl_port *p; struct pw_impl_port *p;
bool active = this->active;
pw_log_debug("%p: suspend node state:%s", this, pw_log_debug("%p: suspend node state:%s", this,
pw_node_state_as_string(this->info.state)); pw_node_state_as_string(this->info.state));
if (this->info.state != PW_NODE_STATE_ERROR && if (this->info.state > 0 && this->info.state <= PW_NODE_STATE_SUSPENDED)
impl->pending_state != PW_NODE_STATE_IDLE)
return 0; return 0;
this->active = false;
node_deactivate(this); node_deactivate(this);
spa_list_for_each(p, &this->input_ports, link) { spa_list_for_each(p, &this->input_ports, link) {
@ -477,7 +473,6 @@ static int suspend_node(struct pw_impl_node *this)
pw_log_warn("%p: suspend node error %s", this, spa_strerror(res)); pw_log_warn("%p: suspend node error %s", this, spa_strerror(res));
node_update_state(this, PW_NODE_STATE_SUSPENDED, 0, NULL); node_update_state(this, PW_NODE_STATE_SUSPENDED, 0, NULL);
this->active = active;
return res; return res;
} }