diff --git a/src/modules/module-audio-dsp.c b/src/modules/module-audio-dsp.c index 044f8b062..5dd0d0c1a 100644 --- a/src/modules/module-audio-dsp.c +++ b/src/modules/module-audio-dsp.c @@ -64,6 +64,7 @@ struct node_data { static void resource_destroy(void *data) { struct node_data *nd = data; + spa_hook_remove(&nd->resource_listener); if (nd->dsp) pw_node_destroy(nd->dsp); } diff --git a/src/modules/module-link-factory.c b/src/modules/module-link-factory.c index 8d8f0009f..d97d4bfc9 100644 --- a/src/modules/module-link-factory.c +++ b/src/modules/module-link-factory.c @@ -57,6 +57,7 @@ struct link_data { static void resource_destroy(void *data) { struct link_data *ld = data; + spa_hook_remove(&ld->resource_listener); if (ld->link) pw_link_destroy(ld->link); }