From 41295bbf56ef6df0a0e705149475d91c8d83ff3f Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Sun, 22 Aug 2004 21:13:58 +0000 Subject: new features: future cancellation corking flushing for playback streams in native protocol git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@152 fefdeb5f-60dc-0310-8127-8f9354f1896f --- polyp/memblockq.h | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'polyp/memblockq.h') diff --git a/polyp/memblockq.h b/polyp/memblockq.h index af8fa374..277beb55 100644 --- a/polyp/memblockq.h +++ b/polyp/memblockq.h @@ -44,7 +44,7 @@ struct pa_memblockq* pa_memblockq_new(size_t maxlength, struct pa_memblock_stat *s); void pa_memblockq_free(struct pa_memblockq*bq); -/* Push a new memory chunk into the queue. Optionally specify a value for future cancellation. This is currently not implemented, however! */ +/* Push a new memory chunk into the queue. Optionally specify a value for future cancellation. */ void pa_memblockq_push(struct pa_memblockq* bq, const struct pa_memchunk *chunk, size_t delta); /* Same as pa_memblockq_push(), however chunks are filtered through a mcalign object, and thus aligned to multiples of base */ @@ -53,8 +53,11 @@ void pa_memblockq_push_align(struct pa_memblockq* bq, const struct pa_memchunk * /* Return a copy of the next memory chunk in the queue. It is not removed from the queue */ int pa_memblockq_peek(struct pa_memblockq* bq, struct pa_memchunk *chunk); +/* Drop the specified bytes from the queue, only valid aufter pa_memblockq_peek() */ +void pa_memblockq_drop(struct pa_memblockq *bq, const struct pa_memchunk *chunk, size_t length); + /* Drop the specified bytes from the queue */ -void pa_memblockq_drop(struct pa_memblockq *bq, size_t length); +void pa_memblockq_skip(struct pa_memblockq *bq, size_t length); /* Shorten the pa_memblockq to the specified length by dropping data at the end of the queue */ void pa_memblockq_shorten(struct pa_memblockq *bq, size_t length); @@ -68,9 +71,6 @@ int pa_memblockq_is_readable(struct pa_memblockq *bq); /* Test if the pa_memblockq is currently writable for the specified amount of bytes */ int pa_memblockq_is_writable(struct pa_memblockq *bq, size_t length); -/* The time memory chunks stay in the queue until they are removed completely in usecs */ -uint32_t pa_memblockq_get_delay(struct pa_memblockq *bq); - /* Return the length of the queue in bytes */ uint32_t pa_memblockq_get_length(struct pa_memblockq *bq); @@ -83,4 +83,10 @@ uint32_t pa_memblockq_get_minreq(struct pa_memblockq *bq); /* Force disabling of pre-buf even when the pre-buffer is not yet filled */ void pa_memblockq_prebuf_disable(struct pa_memblockq *bq); +/* Manipulate the write pointer */ +void pa_memblockq_seek(struct pa_memblockq *bq, size_t delta); + +/* Flush the queue */ +void pa_memblockq_flush(struct pa_memblockq *bq); + #endif -- cgit