summaryrefslogtreecommitdiffstats
path: root/polyp/protocol-native.c
diff options
context:
space:
mode:
Diffstat (limited to 'polyp/protocol-native.c')
-rw-r--r--polyp/protocol-native.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/polyp/protocol-native.c b/polyp/protocol-native.c
index c1b19760..29821b6c 100644
--- a/polyp/protocol-native.c
+++ b/polyp/protocol-native.c
@@ -255,7 +255,8 @@ static void record_stream_free(struct record_stream* r) {
assert(r && r->connection);
pa_idxset_remove_by_data(r->connection->record_streams, r, NULL);
- pa_source_output_free(r->source_output);
+ pa_source_output_disconnect(r->source_output);
+ pa_source_output_unref(r->source_output);
pa_memblockq_free(r->memblockq);
pa_xfree(r);
}
@@ -302,7 +303,8 @@ static void playback_stream_free(struct playback_stream* p) {
pa_pstream_send_error(p->connection->pstream, p->drain_tag, PA_ERROR_NOENTITY);
pa_idxset_remove_by_data(p->connection->output_streams, p, NULL);
- pa_sink_input_free(p->sink_input);
+ pa_sink_input_disconnect(p->sink_input);
+ pa_sink_input_unref(p->sink_input);
pa_memblockq_free(p->memblockq);
pa_xfree(p);
}