diff --git a/src/pipewire/context.c b/src/pipewire/context.c index edd9bc923..6045d0463 100644 --- a/src/pipewire/context.c +++ b/src/pipewire/context.c @@ -464,7 +464,7 @@ void pw_context_destroy(struct pw_context *context) pw_resource_destroy(resource); if (context->data_loop_impl) - pw_data_loop_destroy(context->data_loop_impl); + pw_data_loop_stop(context->data_loop_impl); spa_list_consume(module, &context->module_list, link) pw_impl_module_destroy(module); @@ -481,6 +481,9 @@ void pw_context_destroy(struct pw_context *context) pw_log_debug("%p: free", context); pw_context_emit_free(context); + if (context->data_loop_impl) + pw_data_loop_destroy(context->data_loop_impl); + if (context->pool) pw_mempool_destroy(context->pool);