From c07e53871ddc6ac75f448d48032c57e86995004d Mon Sep 17 00:00:00 2001 From: Thomas Guillem <thomas@gllm.fr> Date: Mon, 4 May 2020 14:43:12 +0200 Subject: [PATCH] soxr: fix output len too small This was happening when the instant ratio was smaller than the fixed ratio (when the user ask for a playback speed > 1). Fixes issue 956 on vlc-android. --- modules/audio_filter/resampler/soxr.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/audio_filter/resampler/soxr.c b/modules/audio_filter/resampler/soxr.c index 81590c827f8e..1490d30c63ee 100644 --- a/modules/audio_filter/resampler/soxr.c +++ b/modules/audio_filter/resampler/soxr.c @@ -312,7 +312,8 @@ Resample( filter_t *p_filter, block_t *p_in ) block_t *p_flushed_out = NULL, *p_out = NULL; const double f_ratio = p_filter->fmt_out.audio.i_rate / (double) p_filter->fmt_in.audio.i_rate; - const size_t i_olen = SoXR_GetOutLen( p_in->i_nb_samples, f_ratio ); + size_t i_olen = SoXR_GetOutLen( p_in->i_nb_samples, + f_ratio > p_sys->f_fixed_ratio ? f_ratio : p_sys->f_fixed_ratio ); if( f_ratio != p_sys->f_fixed_ratio ) { -- GitLab