[pulseaudio-discuss] [PATCH 00/18] resampler: Refactor and cleanup

poljar (Damir Jelić) poljarinho at gmail.com
Mon Oct 28 18:27:32 CET 2013


On Mon, Oct 28, 2013 at 06:56:27PM +0200, Tanu Kaskinen wrote:
> On Mon, 2013-07-15 at 15:48 +0200, poljar (Damir Jelić) wrote:
> > 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(-)
> 
> The beginning of this patch set appears to have been merged. How about
> the rest? Is there something still pending?
> 

There are 3 branches still left. Two of them had a first review round
the other one is not reviewed.

The reviewed branches contain fixup commits. This are direct responds to
comments in the first review round. The comments are preserved on the v1 branch
(just delete "_v2" from the branch name).

Branch containing new resampler implementations (v2):
    https://github.com/poljar/pulseaudio/tree/resampler_implementations_v2

Branch containing resampler-test improvements (v2):
    https://github.com/poljar/pulseaudio/commits/resampler_test_v2

Branch containing a new "quality" test for resamplers:
    https://github.com/poljar/pulseaudio/tree/resampler_quality

I should have time to fix any remaining issues on these so feel free to
comment and review. (I know I should expand the commit messages on the
new resampler implementations).

If you are interested how the new implementations perform some rough
tests are on my blog post[1], also a small introduction on what the
quality test does is on my blog as well[2].

[1] http://poljar.blogspot.com/2013_08_01_archive.html
[2] http://poljar.blogspot.com/2013_10_01_archive.html


More information about the pulseaudio-discuss mailing list