diff options
Diffstat (limited to 'polyp/module-alsa-sink.c')
-rw-r--r-- | polyp/module-alsa-sink.c | 6 |
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); |