diff options
Diffstat (limited to 'polyp/protocol-simple.c')
-rw-r--r-- | polyp/protocol-simple.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/polyp/protocol-simple.c b/polyp/protocol-simple.c index 96444f82..58156329 100644 --- a/polyp/protocol-simple.c +++ b/polyp/protocol-simple.c @@ -80,10 +80,14 @@ static void connection_free(struct connection *c) { if (c->playback.current_memblock) pa_memblock_unref(c->playback.current_memblock); - if (c->sink_input) - pa_sink_input_free(c->sink_input); - if (c->source_output) - pa_source_output_free(c->source_output); + if (c->sink_input) { + pa_sink_input_disconnect(c->sink_input); + pa_sink_input_unref(c->sink_input); + } + if (c->source_output) { + pa_source_output_disconnect(c->source_output); + pa_source_output_unref(c->source_output); + } if (c->client) pa_client_free(c->client); if (c->io) |