summaryrefslogtreecommitdiffstats
path: root/polyp/module-alsa-sink.c
diff options
context:
space:
mode:
Diffstat (limited to 'polyp/module-alsa-sink.c')
-rw-r--r--polyp/module-alsa-sink.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/polyp/module-alsa-sink.c b/polyp/module-alsa-sink.c
index 55e719c9..c31b73f0 100644
--- a/polyp/module-alsa-sink.c
+++ b/polyp/module-alsa-sink.c
@@ -259,8 +259,10 @@ void pa__done(struct pa_core *c, struct pa_module*m) {
if (!(u = m->userdata))
return;
- if (u->sink)
- pa_sink_free(u->sink);
+ if (u->sink) {
+ pa_sink_disconnect(u->sink);
+ pa_sink_unref(u->sink);
+ }
if (u->io_events)
pa_free_io_events(c->mainloop, u->io_events, u->n_io_events);