diff --git a/modules/module-pw-audio-softdsp-endpoint.c b/modules/module-pw-audio-softdsp-endpoint.c index d3f351f47504a57dc2b4d249652a67510b08a9e7..f08fc99540b18016c6612579ca196bf164463184 100644 --- a/modules/module-pw-audio-softdsp-endpoint.c +++ b/modules/module-pw-audio-softdsp-endpoint.c @@ -224,6 +224,7 @@ node_proxy_destroy(void *data) { WpPwAudioSoftdspEndpoint *self = data; + self->node_proxy = NULL; wp_endpoint_unregister (WP_ENDPOINT (self)); } @@ -281,10 +282,8 @@ endpoint_finalize (GObject * object) } /* Remove and destroy the dsp_proxy */ - if (self->dsp_proxy) { - spa_hook_remove (&self->dsp_listener); + if (self->dsp_proxy) pw_proxy_destroy ((struct pw_proxy *) self->dsp_proxy); - } G_OBJECT_CLASS (endpoint_parent_class)->finalize (object); }