On Sun, 2013-07-21 at 23:14 +0200, Peter Meerwald wrote: > Signed-off-by: Peter Meerwald <pmeerw at pmeerw.net> > --- > src/pulsecore/resampler.c | 40 +++++++++++++++++++--------------------- > 1 file changed, 19 insertions(+), 21 deletions(-) > > diff --git a/src/pulsecore/resampler.c b/src/pulsecore/resampler.c > index 2cbcc52..3cb4e8a 100644 > --- a/src/pulsecore/resampler.c > +++ b/src/pulsecore/resampler.c > @@ -1029,13 +1029,26 @@ static void calc_map_table(pa_resampler *r) { > pa_init_remap(m); > } > > -static size_t fit_buf(pa_resampler *r, pa_memchunk *buf, size_t size) { > +/* check if buf's memblock is large enough to hold 'size' bytes; create a > + * new memblock if necessary and optionally preserve 'copy' data bytes */ The comment is incorrect: the function doesn't check if buf's memblock is large enough to hold 'size' bytes. What it does is to check if buf's memblock is large enough to hold 'buf->length' bytes, and the caller is expected to tell the current memblock size with the 'size' variable. (Perhaps "current_block_size" would be a more informative variable name?) I wonder if it would be possible to change the code match the comment instead of changing the comment to match the code, since the comment that you wrote describes a much saner system... > +static size_t fit_buf(pa_resampler *r, pa_memchunk *buf, size_t size, size_t copy) { > if (!buf->memblock || size < buf->length) { > size = buf->length; > + pa_memblock *new_block = pa_memblock_new(r->mempool, size); CC pulsecore/libpulsecore_4.0_la-resampler.lo pulsecore/resampler.c: In function 'fit_buf': pulsecore/resampler.c:1149:9: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] pa_memblock *new_block = pa_memblock_new(r->mempool, size); ^ Please put variable declarations to the beginning of a code block. There was also a fit_buf() call in convert_to_work_format() that was updated only in a later patch, so this patch didn't compile. -- Tanu