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