summaryrefslogtreecommitdiffstats
path: root/polyp/sound-file-stream.c
diff options
context:
space:
mode:
Diffstat (limited to 'polyp/sound-file-stream.c')
-rw-r--r--polyp/sound-file-stream.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/polyp/sound-file-stream.c b/polyp/sound-file-stream.c
index e77ff119..60a58f47 100644
--- a/polyp/sound-file-stream.c
+++ b/polyp/sound-file-stream.c
@@ -45,8 +45,11 @@ struct userdata {
static void free_userdata(struct userdata *u) {
assert(u);
- if (u->sink_input)
- pa_sink_input_free(u->sink_input);
+ if (u->sink_input) {
+ pa_sink_input_disconnect(u->sink_input);
+ pa_sink_input_unref(u->sink_input);
+ }
+
if (u->memchunk.memblock)
pa_memblock_unref(u->memchunk.memblock);
if (u->sndfile)