From 1514d138353f04578d885d9cb18c528d9b562a83 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Thu, 26 Jun 2008 00:39:31 +0200 Subject: split pa_memblockq_flush() into two flush commands, one which fixes up the read ptr, and one which fixes up the write ptr --- src/pulsecore/memblockq.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'src/pulsecore/memblockq.c') diff --git a/src/pulsecore/memblockq.c b/src/pulsecore/memblockq.c index 9ce3372c..841b9075 100644 --- a/src/pulsecore/memblockq.c +++ b/src/pulsecore/memblockq.c @@ -638,7 +638,7 @@ void pa_memblockq_seek(pa_memblockq *bq, int64_t offset, pa_seek_mode_t seek) { bq->missing -= delta; } -void pa_memblockq_flush(pa_memblockq *bq) { +void pa_memblockq_flush_write(pa_memblockq *bq) { int64_t old, delta; pa_assert(bq); @@ -662,6 +662,21 @@ void pa_memblockq_flush(pa_memblockq *bq) { bq->missing -= delta; } +void pa_memblockq_flush_read(pa_memblockq *bq) { + int64_t old, delta; + pa_assert(bq); + + pa_memblockq_silence(bq); + + old = bq->read_index; + bq->read_index = bq->write_index; + + pa_memblockq_prebuf_force(bq); + + delta = bq->read_index - old; + bq->missing += delta; +} + size_t pa_memblockq_get_tlength(pa_memblockq *bq) { pa_assert(bq); -- cgit