[pulseaudio-discuss] [PATCH] sink-input/source-output: Fix LFE remixing suddenly enabled

David Henningsson david.henningsson at canonical.com
Fri Feb 28 03:16:54 PST 2014


Steps to reproduce:
 1) Leave LFE remixing disabled (the default)
 2) Start playback of stereo material on e g 5.1 surround, notice nothing in LFE
 3) Now change profile to e g 4.0 surround and then back to 5.1 surround
 4) Notice that LFE channel is now remixed

Signed-off-by: David Henningsson <david.henningsson at canonical.com>
---
 src/pulsecore/sink-input.c    | 3 ++-
 src/pulsecore/source-output.c | 3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/pulsecore/sink-input.c b/src/pulsecore/sink-input.c
index 9ae95e2..f85b2c7 100644
--- a/src/pulsecore/sink-input.c
+++ b/src/pulsecore/sink-input.c
@@ -2210,7 +2210,8 @@ int pa_sink_input_update_rate(pa_sink_input *i) {
                                      i->requested_resample_method,
                                      ((i->flags & PA_SINK_INPUT_VARIABLE_RATE) ? PA_RESAMPLER_VARIABLE_RATE : 0) |
                                      ((i->flags & PA_SINK_INPUT_NO_REMAP) ? PA_RESAMPLER_NO_REMAP : 0) |
-                                     (i->core->disable_remixing || (i->flags & PA_SINK_INPUT_NO_REMIX) ? PA_RESAMPLER_NO_REMIX : 0));
+                                     (i->core->disable_remixing || (i->flags & PA_SINK_INPUT_NO_REMIX) ? PA_RESAMPLER_NO_REMIX : 0) |
+                                     (i->core->disable_lfe_remixing ? PA_RESAMPLER_NO_LFE : 0));
 
         if (!new_resampler) {
             pa_log_warn("Unsupported resampling operation.");
diff --git a/src/pulsecore/source-output.c b/src/pulsecore/source-output.c
index 67331a7..4e4b7e9 100644
--- a/src/pulsecore/source-output.c
+++ b/src/pulsecore/source-output.c
@@ -1656,7 +1656,8 @@ int pa_source_output_update_rate(pa_source_output *o) {
                                      o->requested_resample_method,
                                      ((o->flags & PA_SOURCE_OUTPUT_VARIABLE_RATE) ? PA_RESAMPLER_VARIABLE_RATE : 0) |
                                      ((o->flags & PA_SOURCE_OUTPUT_NO_REMAP) ? PA_RESAMPLER_NO_REMAP : 0) |
-                                     (o->core->disable_remixing || (o->flags & PA_SOURCE_OUTPUT_NO_REMIX) ? PA_RESAMPLER_NO_REMIX : 0));
+                                     (o->core->disable_remixing || (o->flags & PA_SOURCE_OUTPUT_NO_REMIX) ? PA_RESAMPLER_NO_REMIX : 0) |
+                                     (o->core->disable_lfe_remixing ? PA_RESAMPLER_NO_LFE : 0));
 
         if (!new_resampler) {
             pa_log_warn("Unsupported resampling operation.");
-- 
1.9.0



More information about the pulseaudio-discuss mailing list