> Then, based on the above, let's adopt this plan:
>
> * Autodetect fixed-point speex at runtime.
> * Don't change the existing speex-float code.
> * If speex is fixed-point, make pulseaudio use speex-fixed if a user
> requested speex-float.
> * Add a comment about the scaling problem somewhe
11.05.2014 03:01, Peter Meerwald wrote:
* when PulseAudio starts from s16 samples and decides to use the speex-float
resampler via speex_resampler_process_float(), it has to convert s16 to float
first anyway;
yes, this is handled explicitly in PA's sconv code (and there are
optimizations for S
Hello,
> > what's so bad about probing at runtime?? (if done correctly of course :)
>
> That was written under the wrong assumption that you try to work around a bug
> in speex. But there is actually no bug, just an incorrect API usage in
> PulseAudio, strictly speaking, even in the non-fixed-poi
10.05.2014 23:03, Peter Meerwald wrote:
http://lists.xiph.org/pipermail/speex-dev/2013-December/008463.html
Well, that patch is bad, they forgot to scale the output. Thus the
rejection is correct.
+/* speexdsp has a nasty issue: when built with FIXED_POINT, the float
resampler
+ * expects
> > A patch to fix speex was rejected saying that speex API is stable.
> >
> > Further discussion is here
> > http://lists.openembedded.org/pipermail/openembedded-core/2014-January/087886.html
>
> I don't see any pointer to the speex list, could you please add one to a
> comment below?
http://l
10.05.2014 20:58, I wrote:
My overall opinion on this patch is mixed. If the right solution is to
work around this speex bug and if my notes above are taken into account,
then the patch is fine.
Scratch that. The patch is bad. It wrongly assumes that speex compiled
with --enable-fixed-point u
03.04.2014 04:27, Peter Meerwald wrote:
When Speex is compiled with FIXED_POINT defined, it scales float input
to +/-32768 instead of +/-1. In order to make floating point resampler
work with speex compiled with FIXED_POINT, we need to rescale the input
to speex.
Right, the problem does exist.
When Speex is compiled with FIXED_POINT defined, it scales float input
to +/-32768 instead of +/-1. In order to make floating point resampler
work with speex compiled with FIXED_POINT, we need to rescale the input
to speex.
Unfortunately, there is no easy way to tell how speex has been built,
so w