From d45abba9aa4090ebeaf09ec9ec324709e04a1bbf Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Sun, 21 Nov 2004 19:39:46 +0000 Subject: calculate buffer sizes from sample spec git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@306 fefdeb5f-60dc-0310-8127-8f9354f1896f --- polyp/memblockq.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'polyp/memblockq.c') diff --git a/polyp/memblockq.c b/polyp/memblockq.c index ff16f627..16c0da8e 100644 --- a/polyp/memblockq.c +++ b/polyp/memblockq.c @@ -68,18 +68,21 @@ struct pa_memblockq* pa_memblockq_new(size_t maxlength, size_t tlength, size_t b bq->tlength = ((tlength+base-1)/base)*base; if (!bq->tlength || bq->tlength >= bq->maxlength) bq->tlength = bq->maxlength; + + bq->minreq = (minreq/base)*base; + if (bq->minreq == 0) + bq->minreq = 1; bq->prebuf = (prebuf == (size_t) -1) ? bq->maxlength/2 : prebuf; bq->prebuf = (bq->prebuf/base)*base; if (bq->prebuf > bq->maxlength) bq->prebuf = bq->maxlength; + if (bq->prebuf > bq->tlength - bq->minreq) + bq->prebuf = bq->tlength - bq->minreq; + bq->orig_prebuf = bq->prebuf; - bq->minreq = (minreq/base)*base; - if (bq->minreq == 0) - bq->minreq = 1; - pa_log(__FILE__": memblockq sanitized: maxlength=%u, tlength=%u, base=%u, prebuf=%u, minreq=%u\n", bq->maxlength, bq->tlength, bq->base, bq->prebuf, bq->minreq); bq->mcalign = NULL; -- cgit