I confirm that I have received this and intend to review. However, due to some existing non-PulseAudio work with a deadline, I will not be able to review until Feburary 2. 29.01.2015 03:14, David Henningsson wrote: > Hi! > > Hui and I have been working on some LFE filter patches lately, and this > is our first draft for review/feedback. > > First, I have greedily stolen the math from CRAS, because CRAS is BSD and > as I understand we don't have a problem with merging more liberal licenses. > > The LFE filter is implemented in the resampler, which means it is done for > every sink-input rather than every sink - this might mean some additional > CPU processing if many different streams play back at the same time, but > putting it on the sink side would disable the possibility to mix a 2.0 stream > with a 2.1 stream. > > The rewind part is very drafty and untested, and I'm not sure I choose the > best design here. But at least this is something that could act as base for > discussion. > > Also, while testing we noticed that flat volumes acts a bit weird, making it > impossible to have a high subwoofer volume level but at the same time low > front speaker volume, but I'm not sure if that's a bug or just the (ahem) > normal weirdness of flat volumes. > > David Henningsson (4): > lfe-filter: Import code from the Chrome OS audio server > lfe-filter: Enable LFE filter in the resampler > 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 | 368 +++++++++++++++++++++++++++++ > src/pulsecore/filter/biquad.h | 57 +++++ > src/pulsecore/filter/crossover.c | 263 +++++++++++++++++++++ > src/pulsecore/filter/crossover.h | 76 ++++++ > src/pulsecore/filter/lfe-filter.c | 187 +++++++++++++++ > 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 +- > 23 files changed, 1106 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.h > -- Alexander E. Patrakov