struct pa_memblockq {
struct memblock_list *blocks, *blocks_tail;
unsigned n_blocks;
- size_t current_length, maxlength, tlength, base, prebuf, minreq;
+ size_t current_length, maxlength, tlength, base, prebuf, orig_prebuf, minreq;
struct pa_mcalign *mcalign;
struct pa_memblock_stat *memblock_stat;
};
bq->prebuf = (bq->prebuf/base)*base;
if (bq->prebuf > bq->maxlength)
bq->prebuf = bq->maxlength;
+
+ bq->orig_prebuf = bq->prebuf;
bq->minreq = (minreq/base)*base;
if (bq->minreq == 0)
bq->prebuf = 0;
}
+void pa_memblockq_prebuf_reenable(struct pa_memblockq *bq) {
+ assert(bq);
+ bq->prebuf = bq->orig_prebuf;
+}
+
void pa_memblockq_seek(struct pa_memblockq *bq, size_t length) {
assert(bq);