size_t tlength,
size_t base,
size_t prebuf,
- size_t minreq);
+ size_t minreq,
+ 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 */
/* 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);
/* 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);
/* 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);
+
+/* Get Target length */
+uint32_t pa_memblockq_get_tlength(struct pa_memblockq *bq);
+
#endif