diff options
Diffstat (limited to 'src/pulsecore/resampler.c')
-rw-r--r-- | src/pulsecore/resampler.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/src/pulsecore/resampler.c b/src/pulsecore/resampler.c index a43c7c7c..7c716ddb 100644 --- a/src/pulsecore/resampler.c +++ b/src/pulsecore/resampler.c @@ -455,7 +455,7 @@ static pa_memchunk *convert_from_float(pa_resampler *r, pa_memchunk *input) { n_frames = input->length / sizeof(float) / r->o_ss.channels; n_samples = n_frames * r->o_ss.channels; - if (u->buf4_samples < n_samples) { + if (!u->buf4.memblock || u->buf4_samples < n_samples) { if (u->buf4.memblock) pa_memblock_unref(u->buf4.memblock); @@ -503,9 +503,6 @@ static void libsamplerate_run(pa_resampler *r, const pa_memchunk *in, pa_memchun pa_memchunk_reset(buf); } else pa_memchunk_reset(out); - - pa_memblock_release(in->memblock); - } static void libsamplerate_update_input_rate(pa_resampler *r, uint32_t rate) { @@ -526,7 +523,6 @@ static void libsamplerate_update_input_rate(pa_resampler *r, uint32_t rate) { } } - static void libsamplerate_update_output_rate(pa_resampler *r, uint32_t rate) { struct impl_libsamplerate *u; |