]> code.delx.au - pulseaudio/blobdiff - polyp/sound-file-stream.c
add refernce counting for sinks, sources, sink-inputs and source-outputs
[pulseaudio] / polyp / sound-file-stream.c
index e77ff1199d0c2ee61396c7a9e5cf8f3c7de32941..60a58f47324c757afcc3c5445a8252768f982e02 100644 (file)
@@ -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)