Reviewed and pushed. Thanks! On 2015-09-17 06:14, arun at accosted.net wrote: > From: Arun Raghavan <git at arunraghavan.net> > > It is possible that we get a zero-length memchunk to work with. > Specifically, this happens the resampler (which is called before the > lfe-filter) consumes all the input data, but does not (yet) produce any > output data. > > Reproduced using: > > pulseaudio --resample-method=soxr-mq > pactl load-module module-null-sink sink_name=lfe_test channels=3 channel_map=front-left,front-right,lfe > paplay --raw /dev/zero --rate=48000 -d lfe_test > > Thanks to the original reporter for the backtrace: > > Bug: https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/1496577 > --- > src/pulsecore/filter/lfe-filter.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/src/pulsecore/filter/lfe-filter.c b/src/pulsecore/filter/lfe-filter.c > index 8c79b55..5f5ace2 100644 > --- a/src/pulsecore/filter/lfe-filter.c > +++ b/src/pulsecore/filter/lfe-filter.c > @@ -113,7 +113,7 @@ pa_memchunk * pa_lfe_filter_process(pa_lfe_filter_t *f, pa_memchunk *buf) { > struct saved_state *s, *s2; > void *data; > > - if (!f->active) > + if (!f->active || !buf->length) > return buf; > > /* Remove old states (FIXME: we could do better than searching the entire array here?) */ > -- David Henningsson, Canonical Ltd. https://launchpad.net/~diwic