summaryrefslogtreecommitdiffstats
path: root/polyp/module-oss-mmap.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2004-09-14 20:53:25 +0000
committerLennart Poettering <lennart@poettering.net>2004-09-14 20:53:25 +0000
commit6e019795bff589ef0a867772975e34da78fffefb (patch)
tree46beb189b4048d516d92f6002f91135360342334 /polyp/module-oss-mmap.c
parent8c6593dabf3253e20fead143855267570a403c9a (diff)
add refernce counting for sinks, sources, sink-inputs and source-outputs
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@200 fefdeb5f-60dc-0310-8127-8f9354f1896f
Diffstat (limited to 'polyp/module-oss-mmap.c')
-rw-r--r--polyp/module-oss-mmap.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/polyp/module-oss-mmap.c b/polyp/module-oss-mmap.c
index 8e165218..015f4c6c 100644
--- a/polyp/module-oss-mmap.c
+++ b/polyp/module-oss-mmap.c
@@ -403,11 +403,15 @@ void pa__done(struct pa_core *c, struct pa_module*m) {
if (u->out_mmap && u->out_mmap != MAP_FAILED)
munmap(u->out_mmap, u->out_mmap_length);
- if (u->sink)
- pa_sink_free(u->sink);
+ if (u->sink) {
+ pa_sink_disconnect(u->sink);
+ pa_sink_unref(u->sink);
+ }
- if (u->source)
- pa_source_free(u->source);
+ if (u->source) {
+ pa_source_disconnect(u->source);
+ pa_source_unref(u->source);
+ }
if (u->io_event)
u->core->mainloop->io_free(u->io_event);