[pulseaudio-discuss] [PATCH v4] resampler: Support speex resampler compiled with FIXED_POINT

Tanu Kaskinen tanu.kaskinen at linux.intel.com
Fri May 23 03:33:58 PDT 2014


On Tue, 2014-05-13 at 21:50 +0600, Alexander E. Patrakov wrote:
> speex_resample_float() does not work with speex compiled with
> --enable-fixed-point, because speex expects its float input
> to be normalized to ±32768 instead of the more usual ±1.
> 
> It is possible to fix speex_resample_float(), as demonstrated at
> http://lists.freedesktop.org/archives/pulseaudio-discuss/2014-May/020617.html
> However, a better idea is to avoid using the speex-float resampler and
> the associated s16 <-> float conversions that speex will immediately undo
> internally if it is known that speex has been compiled with FIXED_POINT.
> So, transparently change speex-float-* to speex-fixed-* in that case.
> 
> Signed-off-by: Alexander E. Patrakov <patrakov at gmail.com>
> Reported-by: Fahad Arslan <fahad_arslan at mentor.com>
> Cc: Damir Jelić <poljarinho at gmail.com>
> Cc: Peter Meerwald <pmeerw at pmeerw.net>
> 
> FIXED_POINT detection is based on code by Peter Meerwald.
> ---
>  src/pulsecore/resampler.c | 57 ++++++++++++++++++++++++++++++++++++++++++++++-
>  1 file changed, 56 insertions(+), 1 deletion(-)

Looks good to me, applied. Thanks!

-- 
Tanu



More information about the pulseaudio-discuss mailing list