Split the enable-lfe-remixing setting into two

remixing-produce-lfe controls upmixing, and remixing-consume-lfe
controls downmixing. The motivation is that a user might want to
synthesize LFE while playing stereo audio on his/her 5.1 speakers,
but at the same time follow the industry recommendation to omit
the LFE channel when producting a stereo downmix (e.g. for headphones)
from 5.1 content. Or the other way round.

Fixes: #753.
This commit is contained in:
Alexander Patrakov 2019-12-10 06:50:59 +00:00 committed by Georg Chini
parent b94dba9daf
commit 464828faf2
12 changed files with 101 additions and 26 deletions

View file

@ -33,7 +33,7 @@ struct resample_flags {
};
/* Call like this to get an initializer for struct resample_flags:
* RESAMPLE_FLAGS(PA_RESAMPLER_NO_LFE)
* RESAMPLE_FLAGS(PA_RESAMPLER_PRODUCE_LFE)
*/
#define RESAMPLE_FLAGS(flags) { .str = #flags, .value = (flags) }
@ -60,9 +60,13 @@ int main(int argc, char *argv[]) {
RESAMPLE_FLAGS(0),
RESAMPLE_FLAGS(PA_RESAMPLER_NO_REMAP),
RESAMPLE_FLAGS(PA_RESAMPLER_NO_REMIX),
RESAMPLE_FLAGS(PA_RESAMPLER_NO_LFE),
RESAMPLE_FLAGS(PA_RESAMPLER_PRODUCE_LFE),
RESAMPLE_FLAGS(PA_RESAMPLER_NO_FILL_SINK),
RESAMPLE_FLAGS(PA_RESAMPLER_NO_LFE | PA_RESAMPLER_NO_FILL_SINK),
RESAMPLE_FLAGS(PA_RESAMPLER_PRODUCE_LFE | PA_RESAMPLER_NO_FILL_SINK),
RESAMPLE_FLAGS(PA_RESAMPLER_CONSUME_LFE),
RESAMPLE_FLAGS(PA_RESAMPLER_CONSUME_LFE | PA_RESAMPLER_NO_FILL_SINK),
RESAMPLE_FLAGS(PA_RESAMPLER_PRODUCE_LFE | PA_RESAMPLER_CONSUME_LFE),
RESAMPLE_FLAGS(PA_RESAMPLER_PRODUCE_LFE | PA_RESAMPLER_CONSUME_LFE | PA_RESAMPLER_NO_FILL_SINK),
{ .str = NULL, .value = 0 },
};