tools: remove listeners

This commit is contained in:
Wim Taymans 2022-02-09 16:30:13 +01:00
parent cd361cb1b3
commit e82f775fb3
7 changed files with 27 additions and 2 deletions

View file

@ -609,6 +609,8 @@ static void removed_proxy(void *user_data)
static void destroy_proxy(void *user_data) static void destroy_proxy(void *user_data)
{ {
struct global *g = user_data; struct global *g = user_data;
spa_hook_remove(&g->object_listener);
spa_hook_remove(&g->proxy_listener);
pw_properties_free(g->props); pw_properties_free(g->props);
if (g->info) if (g->info)
g->info_destroy(g->info); g->info_destroy(g->info);
@ -891,7 +893,9 @@ int main(int argc, char *argv[])
draw_graph(&data, dot_path); draw_graph(&data, dot_path);
dot_str_clear(&data.dot_str); dot_str_clear(&data.dot_str);
spa_hook_remove(&data.registry_listener);
pw_proxy_destroy((struct pw_proxy*)data.registry); pw_proxy_destroy((struct pw_proxy*)data.registry);
spa_hook_remove(&data.core_listener);
pw_context_destroy(data.context); pw_context_destroy(data.context);
pw_main_loop_destroy(data.loop); pw_main_loop_destroy(data.loop);
pw_deinit(); pw_deinit();

View file

@ -1583,7 +1583,9 @@ int main(int argc, char *argv[])
if (data.info) if (data.info)
pw_core_info_free(data.info); pw_core_info_free(data.info);
spa_hook_remove(&data.registry_listener);
pw_proxy_destroy((struct pw_proxy*)data.registry); pw_proxy_destroy((struct pw_proxy*)data.registry);
spa_hook_remove(&data.core_listener);
pw_context_destroy(data.context); pw_context_destroy(data.context);
pw_main_loop_destroy(data.loop); pw_main_loop_destroy(data.loop);
pw_deinit(); pw_deinit();

View file

@ -765,7 +765,9 @@ int main(int argc, char *argv[])
regfree(data.out_regex); regfree(data.out_regex);
if (data.in_regex) if (data.in_regex)
regfree(data.in_regex); regfree(data.in_regex);
spa_hook_remove(&data.registry_listener);
pw_proxy_destroy((struct pw_proxy*)data.registry); pw_proxy_destroy((struct pw_proxy*)data.registry);
spa_hook_remove(&data.core_listener);
pw_core_disconnect(data.core); pw_core_disconnect(data.core);
pw_context_destroy(data.context); pw_context_destroy(data.context);
pw_main_loop_destroy(data.loop); pw_main_loop_destroy(data.loop);

View file

@ -283,7 +283,9 @@ int main(int argc, char *argv[])
if (data.metadata) if (data.metadata)
pw_proxy_destroy((struct pw_proxy*)data.metadata); pw_proxy_destroy((struct pw_proxy*)data.metadata);
spa_hook_remove(&data.registry_listener);
pw_proxy_destroy((struct pw_proxy*)data.registry); pw_proxy_destroy((struct pw_proxy*)data.registry);
spa_hook_remove(&data.core_listener);
pw_core_disconnect(data.core); pw_core_disconnect(data.core);
pw_context_destroy(data.context); pw_context_destroy(data.context);
pw_main_loop_destroy(data.loop); pw_main_loop_destroy(data.loop);

View file

@ -587,6 +587,9 @@ destroy_proxy (void *data)
spa_list_remove(&pd->global_link); spa_list_remove(&pd->global_link);
spa_hook_remove(&pd->object_listener);
spa_hook_remove(&pd->proxy_listener);
clear_params(pd); clear_params(pd);
remove_pending(pd); remove_pending(pd);
free(pd->type); free(pd->type);
@ -859,7 +862,9 @@ int main(int argc, char *argv[])
pw_main_loop_run(data.loop); pw_main_loop_run(data.loop);
spa_hook_remove(&data.registry_listener);
pw_proxy_destroy((struct pw_proxy*)data.registry); pw_proxy_destroy((struct pw_proxy*)data.registry);
spa_hook_remove(&data.core_listener);
pw_context_destroy(data.context); pw_context_destroy(data.context);
pw_main_loop_destroy(data.loop); pw_main_loop_destroy(data.loop);
pw_deinit(); pw_deinit();

View file

@ -643,8 +643,13 @@ int main(int argc, char *argv[])
pw_main_loop_run(data.loop); pw_main_loop_run(data.loop);
if (data.profiler) {
spa_hook_remove(&data.profiler_listener);
pw_proxy_destroy((struct pw_proxy*)data.profiler); pw_proxy_destroy((struct pw_proxy*)data.profiler);
}
spa_hook_remove(&data.registry_listener);
pw_proxy_destroy((struct pw_proxy*)data.registry); pw_proxy_destroy((struct pw_proxy*)data.registry);
spa_hook_remove(&data.core_listener);
pw_context_destroy(data.context); pw_context_destroy(data.context);
pw_main_loop_destroy(data.loop); pw_main_loop_destroy(data.loop);

View file

@ -584,8 +584,13 @@ int main(int argc, char *argv[])
spa_list_consume(n, &data.node_list, link) spa_list_consume(n, &data.node_list, link)
remove_node(&data, n); remove_node(&data, n);
if (data.profiler) {
spa_hook_remove(&data.profiler_listener);
pw_proxy_destroy((struct pw_proxy*)data.profiler); pw_proxy_destroy((struct pw_proxy*)data.profiler);
}
spa_hook_remove(&data.registry_listener);
pw_proxy_destroy((struct pw_proxy*)data.registry); pw_proxy_destroy((struct pw_proxy*)data.registry);
spa_hook_remove(&data.core_listener);
pw_context_destroy(data.context); pw_context_destroy(data.context);
pw_main_loop_destroy(data.loop); pw_main_loop_destroy(data.loop);