diff --git a/src/modules/module-filter-chain.c b/src/modules/module-filter-chain.c index cb091aab0..30d57b158 100644 --- a/src/modules/module-filter-chain.c +++ b/src/modules/module-filter-chain.c @@ -2134,13 +2134,15 @@ static const struct pw_proxy_events core_proxy_events = { static void impl_destroy(struct impl *impl) { - /* disconnect both streams before destroying any of them */ + /* disconnect all streams before destroying any of them */ if (impl->capture) pw_stream_disconnect(impl->capture); if (impl->playback) pw_stream_disconnect(impl->playback); if (impl->control) pw_stream_disconnect(impl->control); + if (impl->feedback) + pw_stream_disconnect(impl->feedback); if (impl->capture) pw_stream_destroy(impl->capture); @@ -2148,6 +2150,8 @@ static void impl_destroy(struct impl *impl) pw_stream_destroy(impl->playback); if (impl->control) pw_stream_destroy(impl->control); + if (impl->feedback) + pw_stream_destroy(impl->feedback); if (impl->core && impl->do_disconnect) pw_core_disconnect(impl->core);