X-Git-Url: https://code.delx.au/pulseaudio/blobdiff_plain/566e469bbe570be88a7122009e5128697d931700..3536be420cf9ec6f4f8fbe1dc60b2da0cefba86c:/polyp/protocol-native.c diff --git a/polyp/protocol-native.c b/polyp/protocol-native.c index 67352b3f..1ec1b608 100644 --- a/polyp/protocol-native.c +++ b/polyp/protocol-native.c @@ -378,12 +378,14 @@ static void send_memblock(struct connection *c) { return; if (pa_memblockq_peek(r->memblockq, &chunk) >= 0) { - if (chunk.length > r->fragment_size) - chunk.length = r->fragment_size; + struct pa_memchunk schunk = chunk; + + if (schunk.length > r->fragment_size) + schunk.length = r->fragment_size; - pa_pstream_send_memblock(c->pstream, r->index, 0, &chunk); - pa_memblockq_drop(r->memblockq, &chunk, chunk.length); - pa_memblock_unref(chunk.memblock); + pa_pstream_send_memblock(c->pstream, r->index, 0, &schunk); + pa_memblockq_drop(r->memblockq, &chunk, schunk.length); + pa_memblock_unref(schunk.memblock); return; }