diff options
Diffstat (limited to 'polyp/module-alsa-source.c')
-rw-r--r-- | polyp/module-alsa-source.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/polyp/module-alsa-source.c b/polyp/module-alsa-source.c index 3ef54b17..cf828eb0 100644 --- a/polyp/module-alsa-source.c +++ b/polyp/module-alsa-source.c @@ -232,8 +232,10 @@ void pa__done(struct pa_core *c, struct pa_module*m) { if (!(u = m->userdata)) return; - if (u->source) - pa_source_free(u->source); + if (u->source) { + pa_source_disconnect(u->source); + pa_source_unref(u->source); + } if (u->io_events) pa_free_io_events(c->mainloop, u->io_events, u->n_io_events); |