[pulseaudio-discuss] [PATCH] Disabled LFE remixing by default

Alexander E. Patrakov patrakov at gmail.com
Sat May 21 17:37:08 UTC 2016


The current LFE crossover filter removes low frequencies from the main
channels and puts them into the LFE channel with the wrong amplitude.
It is not known for sure what is the correct relative amplitude (acoustic
measurements are required with real hardware), and changing that might
introduce a new bug, "it clips the LFE channel".

So just disable the feature by default until a better understanding
emerges how it should work. This, essentially, returns the defaults
to their state as of PulseAudio 6.0.

Some more observations:

- Most of available active analog speakers on the market do the
necessary crossover filtering already, and HDMI receivers can be
configured to do that, too, so a crossover filter in PulseAudio is
harmful in these use cases.

- The "laptop with a builtin subwoofer" use case requires manual
configuration anyway because the default crossover frequency (120 Hz) is
wrong for laptop speakers.

- Finally, Windows 10 with a built-in USB audio driver does not synthesize
the LFE channel given a 5.1 card and a stereo audio stream by default.

Hides: https://bugs.freedesktop.org/show_bug.cgi?id=95021
Signed-off-by: Alexander E. Patrakov <patrakov at gmail.com>
---
 man/pulse-daemon.conf.5.xml.in | 4 ++--
 src/daemon/daemon-conf.c       | 4 ++--
 src/daemon/daemon.conf.in      | 4 ++--
 src/pulsecore/core.c           | 4 ++--
 4 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/man/pulse-daemon.conf.5.xml.in b/man/pulse-daemon.conf.5.xml.in
index 1abc94f..ed77158 100644
--- a/man/pulse-daemon.conf.5.xml.in
+++ b/man/pulse-daemon.conf.5.xml.in
@@ -136,12 +136,12 @@ License along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.
       channel is available as well. If no input LFE channel is
       available the output LFE channel will always be 0. If no output
       LFE channel is available the signal on the input LFE channel
-      will be ignored. Defaults to <opt>yes</opt>.</p>
+      will be ignored. Defaults to <opt>no</opt>.</p>
     </option>
 
     <option>
       <p><opt>lfe-crossover-freq=</opt> The crossover frequency (in Hz) for the
-      LFE filter. Defaults to 120 Hz. Set it to 0 to disable the LFE filter.</p>
+      LFE filter. Set it to 0 to disable the LFE filter. Defaults to 0.</p>
     </option>
 
     <option>
diff --git a/src/daemon/daemon-conf.c b/src/daemon/daemon-conf.c
index 965a5c8..4277301 100644
--- a/src/daemon/daemon-conf.c
+++ b/src/daemon/daemon-conf.c
@@ -82,8 +82,8 @@ static const pa_daemon_conf default_conf = {
     .log_time = false,
     .resample_method = PA_RESAMPLER_AUTO,
     .disable_remixing = false,
-    .disable_lfe_remixing = false,
-    .lfe_crossover_freq = 120,
+    .disable_lfe_remixing = true,
+    .lfe_crossover_freq = 0,
     .config_file = NULL,
     .use_pid_file = true,
     .system_instance = false,
diff --git a/src/daemon/daemon.conf.in b/src/daemon/daemon.conf.in
index b48afa2..fcc9cb9 100644
--- a/src/daemon/daemon.conf.in
+++ b/src/daemon/daemon.conf.in
@@ -54,8 +54,8 @@ ifelse(@HAVE_DBUS@, 1, [dnl
 
 ; resample-method = speex-float-1
 ; enable-remixing = yes
-; enable-lfe-remixing = yes
-; lfe-crossover-freq = 120
+; enable-lfe-remixing = no
+; lfe-crossover-freq = 0
 
 ; flat-volumes = yes
 
diff --git a/src/pulsecore/core.c b/src/pulsecore/core.c
index 6d102f5..2a96dfa 100644
--- a/src/pulsecore/core.c
+++ b/src/pulsecore/core.c
@@ -142,8 +142,8 @@ pa_core* pa_core_new(pa_mainloop_api *m, bool shared, bool enable_memfd, size_t
     c->realtime_scheduling = false;
     c->realtime_priority = 5;
     c->disable_remixing = false;
-    c->disable_lfe_remixing = false;
-    c->lfe_crossover_freq = 120;
+    c->disable_lfe_remixing = true;
+    c->lfe_crossover_freq = 0;
     c->deferred_volume = true;
     c->resample_method = PA_RESAMPLER_SPEEX_FLOAT_BASE + 1;
 
-- 
2.8.2



More information about the pulseaudio-discuss mailing list