From 7fd6d6d820c5816589e8417cf6180b216e39be66 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Tue, 10 Sep 2019 12:27:29 +0200 Subject: [PATCH] node: revert previous commit Always add work to the work queue, some code relies on the fact that the state change continuation happens from next iteration of the mainloop. Don't warn when destroying the work queue and there are still items in it, this is ok. --- src/pipewire/node.c | 6 ++---- src/pipewire/work-queue.c | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/pipewire/node.c b/src/pipewire/node.c index a13e00138..424112afe 100644 --- a/src/pipewire/node.c +++ b/src/pipewire/node.c @@ -1774,11 +1774,9 @@ int pw_node_set_state(struct pw_node *node, enum pw_node_state state) if (SPA_RESULT_IS_ASYNC(res)) { res = spa_node_sync(node->node, res); - pw_work_queue_add(impl->work, - node, res, on_state_complete, SPA_INT_TO_PTR(state)); - } else { - on_state_complete(node, SPA_INT_TO_PTR(state), res, 0); } + pw_work_queue_add(impl->work, + node, res, on_state_complete, SPA_INT_TO_PTR(state)); return res; } diff --git a/src/pipewire/work-queue.c b/src/pipewire/work-queue.c index c32fc3aea..62b6270a3 100644 --- a/src/pipewire/work-queue.c +++ b/src/pipewire/work-queue.c @@ -139,7 +139,7 @@ void pw_work_queue_destroy(struct pw_work_queue *queue) pw_loop_destroy_source(queue->loop, queue->wakeup); spa_list_for_each_safe(item, tmp, &queue->work_list, link) { - pw_log_warn(NAME" %p: cancel work item %p %d %d", queue, + pw_log_debug(NAME" %p: cancel work item %p %d %d", queue, item->obj, item->seq, item->res); free(item); }