Hi. This is my first patch series for this years Summer of Code. The only user visible change is that we don't show unsupported (not compiled in) resample methods with --dump-resample-methods. This also means we don't allow running the daemon with an unsupported resample method. A nice overview what has been done can be found on my blog [1]. Thanks. [1] http://poljar.blogspot.com/2013/07/vol-1-refactoring.html poljar (Damir Jeli?) (18): resampler: Make resampler struct implementation agnostic resampler: Move the fix method logic into a separate function resampler: fix_method use switch instead of if/else resampler: Move the work format finding logic into a separate function resampler: choose_work_format use switch instead of if/else resampler: Add a function for comparing sample format precision Resampler: Don't use the peaks resampler for upsampling resampler: Introduce a implementation specific struct resampler: Add assert to set_input/output_rate resampler: Replace the big init table with a impl_table resampler: Refactor the logic for finding the implementation resampler: Simplify the resample_method_supported() function resampler: Get rid of redundant implementation specific structs resampler: Add a choose_auto_resampler function resampler: Move the method strings into the implementation struct resampler: Don't check for unsupported methods in fix_method resampler: Add the auto resampling implementation resampler: Remove double newlines src/pulsecore/resampler.c | 720 +++++++++++++++++++++++++++------------------- src/pulsecore/resampler.h | 13 + 2 files changed, 441 insertions(+), 292 deletions(-) -- 1.8.3.2