X-Git-Url: https://code.delx.au/pulseaudio/blobdiff_plain/a9ca9c4a3bd8c3c03fe5d30cd2694cf891f5bbc1..ee452b0f06c82dd870de82fb3e6bdd4e14d29f3c:/polyp/module-oss-mmap.c diff --git a/polyp/module-oss-mmap.c b/polyp/module-oss-mmap.c index 4ffc56ef..f7fcbd3b 100644 --- a/polyp/module-oss-mmap.c +++ b/polyp/module-oss-mmap.c @@ -50,6 +50,7 @@ PA_MODULE_AUTHOR("Lennart Poettering") PA_MODULE_DESCRIPTION("OSS Sink/Source (mmap)") PA_MODULE_VERSION(PACKAGE_VERSION) +PA_MODULE_USAGE("sink_name= source_name= device= record= playback= format= channels= rate= fragments= fragment_size=") struct userdata { struct pa_sink *sink; @@ -210,7 +211,7 @@ static void io_callback(struct pa_mainloop_api *m, struct pa_io_event *e, int fd do_write(u); } -static uint32_t sink_get_latency_cb(struct pa_sink *s) { +static pa_usec_t sink_get_latency_cb(struct pa_sink *s) { struct userdata *u = s->userdata; assert(s && u); @@ -403,11 +404,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);