Changes since v1: - Fix according to Alexander's comments - A new patch has been added that removes dead code imported from Chrome OS. For easier reviewing, I will also send a total of the first three patches. Also note that the current routing logic are not optimal, e g, when on 2.1 speakers, plug headphones in, then unplug headphones again, the result might be that the stereo profile is selected instead of the expected 2.1 profile. This is not an error with this patch set but might limit its usefulness. David Henningsson (5): lfe-filter: Import code from the Chrome OS audio server lfe-filter: Enable LFE filter in the resampler lfe-filter: Cleanup and refactor lfe-filter: Add rewind support resampler: Make some basic functions for rewinding Hui Wang (2): daemon-conf: enable the lfe remixing by default lfe-filter: change the crossover frequency as a parameter LICENSE | 3 + man/pulse-daemon.conf.5.xml.in | 7 +- src/Makefile.am | 3 + src/daemon/daemon-conf.c | 5 +- src/daemon/daemon-conf.h | 1 + src/daemon/daemon.conf.in | 3 +- src/daemon/main.c | 1 + src/modules/module-virtual-surround-sink.c | 2 +- src/pulsecore/core.c | 1 + src/pulsecore/core.h | 1 + src/pulsecore/filter/LICENSE.WEBKIT | 27 ++++ src/pulsecore/filter/biquad.c | 126 +++++++++++++++++++ src/pulsecore/filter/biquad.h | 49 ++++++++ src/pulsecore/filter/crossover.c | 97 +++++++++++++++ src/pulsecore/filter/crossover.h | 29 +++++ src/pulsecore/filter/lfe-filter.c | 192 +++++++++++++++++++++++++++++ src/pulsecore/filter/lfe-filter.c.orig | 103 ++++++++++++++++ src/pulsecore/filter/lfe-filter.c.rej | 58 +++++++++ src/pulsecore/filter/lfe-filter.h | 39 ++++++ src/pulsecore/resampler.c | 49 +++++++- src/pulsecore/resampler.h | 7 ++ src/pulsecore/sink-input.c | 6 +- src/pulsecore/source-output.c | 4 +- src/tests/remix-test.c | 3 +- src/tests/resampler-test.c | 7 +- 25 files changed, 809 insertions(+), 14 deletions(-) create mode 100644 src/pulsecore/filter/LICENSE.WEBKIT create mode 100644 src/pulsecore/filter/biquad.c create mode 100644 src/pulsecore/filter/biquad.h create mode 100644 src/pulsecore/filter/crossover.c create mode 100644 src/pulsecore/filter/crossover.h create mode 100644 src/pulsecore/filter/lfe-filter.c create mode 100644 src/pulsecore/filter/lfe-filter.c.orig create mode 100644 src/pulsecore/filter/lfe-filter.c.rej create mode 100644 src/pulsecore/filter/lfe-filter.h -- 1.9.1