summaryrefslogtreecommitdiffstats
path: root/polyp/memblockq.h
diff options
context:
space:
mode:
Diffstat (limited to 'polyp/memblockq.h')
-rw-r--r--polyp/memblockq.h16
1 files changed, 11 insertions, 5 deletions
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