Probably even enable a "better" resampling algorithm by default? (ie, one with tolerable quality but lower CPU usage) Cheers :)
The better quality libsamplerate resamplers are actually really CPU-intensive. Here's a benchmark I ran locally to help you pick. I think the default speex-float-3 is good enough on most modern systems. I'd really prefer a way to actually run a quick benchmark at PA init time and pick the best one, but this isn't trivial, of course. BTW, if you're facing CPU issues, you could try the ffmpeg resampler. Seems reasonable in terms of quality and way faster than speex. Closing INVALID for now. ---- (numbers are µs taken to resample 60s of data) # s16le 2ch, 48 kHz -> 44.1 kHz conversion src-sinc-best-quality, 497978 src-sinc-medium-quality, 163276 src-sinc-fastest, 73576 src-zero-order-hold, 5051 src-linear, 5896 trivial, 3154 speex-float-0, 16189 speex-float-1, 21545 speex-float-2, 40198 speex-float-3, 50819 speex-float-4, 61010 speex-float-5, 70742 speex-float-6, 83435 speex-float-7, 108152 speex-float-8, 132352 speex-float-9, 384916 speex-float-10, 524641 speex-fixed-0, 17231 speex-fixed-1, 23880 speex-fixed-2, 41612 speex-fixed-3, 51903 speex-fixed-4, 62710 speex-fixed-5, 71893 speex-fixed-6, 84968 speex-fixed-7, 108883 speex-fixed-8, 132570 speex-fixed-9, 395254 speex-fixed-10, 532680 ffmpeg, 9368 auto, 50691 copy, 50471 peaks, 5056 # s16le 2ch, 16 kHz -> 44.1 kHz conversion src-sinc-best-quality, 462214 src-sinc-medium-quality, 153738 src-sinc-fastest, 70467 src-zero-order-hold, 4209 src-linear, 0 trivial, 3046 speex-float-0, 16689 speex-float-1, 21635 speex-float-2, 40729 speex-float-3, 47542 speex-float-4, 58108 speex-float-5, 67372 speex-float-6, 76975 speex-float-7, 98005 speex-float-8, 121150 speex-float-9, 360353 speex-float-10, 476191 speex-fixed-0, 17694 speex-fixed-1, 23056 speex-fixed-2, 42172 speex-fixed-3, 49043 speex-fixed-4, 60013 speex-fixed-5, 69004 speex-fixed-6, 79032 speex-fixed-7, 99729 speex-fixed-8, 123183 speex-fixed-9, 359224 speex-fixed-10, 478687 ffmpeg, 7335 auto, 47968 copy, 48234 peaks, 0