Changes since v2: - Hui has written a test case to test the new lfe filter's rewind functionality - Several bugs found and fixed in the lfe filter rewinding; the trickiest being the fact that we modify our buffer in-place while still needing to retain the original in case we need to rewind. As a result, we now do an extra memcpy (argh). - A few minor changes based on Alexander's comments. 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 (3): daemon-conf: enable the lfe remixing by default lfe-filter: change the crossover frequency as a parameter tests: adding lfe-filter-test LICENSE | 3 + man/pulse-daemon.conf.5.xml.in | 7 +- src/Makefile.am | 11 +- 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 | 117 +++++++++++++++++ src/pulsecore/filter/biquad.h | 45 +++++++ src/pulsecore/filter/crossover.c | 97 ++++++++++++++ src/pulsecore/filter/crossover.h | 29 +++++ src/pulsecore/filter/lfe-filter.c | 198 +++++++++++++++++++++++++++++ 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/lfe-filter-test.c | 194 ++++++++++++++++++++++++++++ src/tests/remix-test.c | 3 +- src/tests/resampler-test.c | 7 +- 24 files changed, 842 insertions(+), 15 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.h create mode 100644 src/tests/lfe-filter-test.c -- 1.9.1