diff --git a/spa/plugins/audioconvert/audioconvert.c b/spa/plugins/audioconvert/audioconvert.c index af8d44047..30f4734f5 100644 --- a/spa/plugins/audioconvert/audioconvert.c +++ b/spa/plugins/audioconvert/audioconvert.c @@ -2870,11 +2870,11 @@ impl_init(const struct spa_handle_factory *factory, props_reset(&this->props); this->mix.options = CHANNELMIX_OPTION_UPMIX | CHANNELMIX_OPTION_MIX_LFE; - this->mix.upmix = CHANNELMIX_UPMIX_PSD; + this->mix.upmix = CHANNELMIX_UPMIX_NONE; this->mix.log = this->log; - this->mix.lfe_cutoff = 150.0f; - this->mix.fc_cutoff = 12000.0f; - this->mix.rear_delay = 12.0f; + this->mix.lfe_cutoff = 0.0f; + this->mix.fc_cutoff = 0.0f; + this->mix.rear_delay = 0.0f; this->mix.widen = 0.0f; for (i = 0; info && i < info->n_items; i++) { diff --git a/src/daemon/client-rt.conf.d/20-upmix.conf.in b/src/daemon/client-rt.conf.d/20-upmix.conf.in new file mode 100644 index 000000000..064eba144 --- /dev/null +++ b/src/daemon/client-rt.conf.d/20-upmix.conf.in @@ -0,0 +1,8 @@ +# Enables upmixing +stream.properties = { + channelmix.upmix = true + channelmix.upmix-method = psd # none, simple + channelmix.lfe-cutoff = 150 + channelmix.fc-cutoff = 12000 + channelmix.rear-delay = 12.0 +} diff --git a/src/daemon/client-rt.conf.d/meson.build b/src/daemon/client-rt.conf.d/meson.build new file mode 100644 index 000000000..ac0dc3066 --- /dev/null +++ b/src/daemon/client-rt.conf.d/meson.build @@ -0,0 +1,11 @@ +conf_files = [ + '20-upmix.conf', +] + +foreach c : conf_files + configure_file(input : '@0@.in'.format(c), + output : c, + configuration : conf_config, + install_dir : pipewire_confdatadir / 'client-rt.conf.d') +endforeach + diff --git a/src/daemon/client.conf.d/20-upmix.conf.in b/src/daemon/client.conf.d/20-upmix.conf.in new file mode 100644 index 000000000..064eba144 --- /dev/null +++ b/src/daemon/client.conf.d/20-upmix.conf.in @@ -0,0 +1,8 @@ +# Enables upmixing +stream.properties = { + channelmix.upmix = true + channelmix.upmix-method = psd # none, simple + channelmix.lfe-cutoff = 150 + channelmix.fc-cutoff = 12000 + channelmix.rear-delay = 12.0 +} diff --git a/src/daemon/client.conf.d/meson.build b/src/daemon/client.conf.d/meson.build new file mode 100644 index 000000000..ad2340455 --- /dev/null +++ b/src/daemon/client.conf.d/meson.build @@ -0,0 +1,11 @@ +conf_files = [ + '20-upmix.conf', +] + +foreach c : conf_files + configure_file(input : '@0@.in'.format(c), + output : c, + configuration : conf_config, + install_dir : pipewire_confdatadir / 'client.conf.d') +endforeach + diff --git a/src/daemon/meson.build b/src/daemon/meson.build index c43402ce4..d2b213115 100644 --- a/src/daemon/meson.build +++ b/src/daemon/meson.build @@ -86,6 +86,17 @@ configure_file(input : 'pipewire.conf.in', output : 'pipewire-uninstalled.conf', configuration : conf_config_uninstalled) +conf_d_files = [ + 'pipewire.conf.d', + 'client.conf.d', + 'client-rt.conf.d', + 'pipewire-pulse.conf.d', +] + +foreach c : conf_d_files + subdir(c) +endforeach + pipewire_exec = executable('pipewire', pipewire_daemon_sources, install: true, diff --git a/src/daemon/pipewire-pulse.conf.d/20-upmix.conf.in b/src/daemon/pipewire-pulse.conf.d/20-upmix.conf.in new file mode 100644 index 000000000..064eba144 --- /dev/null +++ b/src/daemon/pipewire-pulse.conf.d/20-upmix.conf.in @@ -0,0 +1,8 @@ +# Enables upmixing +stream.properties = { + channelmix.upmix = true + channelmix.upmix-method = psd # none, simple + channelmix.lfe-cutoff = 150 + channelmix.fc-cutoff = 12000 + channelmix.rear-delay = 12.0 +} diff --git a/src/daemon/pipewire-pulse.conf.d/meson.build b/src/daemon/pipewire-pulse.conf.d/meson.build new file mode 100644 index 000000000..647409dbd --- /dev/null +++ b/src/daemon/pipewire-pulse.conf.d/meson.build @@ -0,0 +1,11 @@ +conf_files = [ + '20-upmix.conf', +] + +foreach c : conf_files + configure_file(input : '@0@.in'.format(c), + output : c, + configuration : conf_config, + install_dir : pipewire_confdatadir / 'pipewire-pulse.conf.d') +endforeach + diff --git a/src/daemon/pipewire.conf.d/10-rates.conf.in b/src/daemon/pipewire.conf.d/10-rates.conf.in new file mode 100644 index 000000000..5ede733f0 --- /dev/null +++ b/src/daemon/pipewire.conf.d/10-rates.conf.in @@ -0,0 +1,4 @@ +# Adds more common rates +context.properties = { + default.clock.allowed-rates = [ 44100 48000 88200 96000 ] +} diff --git a/src/daemon/pipewire.conf.d/20-upmix.conf.in b/src/daemon/pipewire.conf.d/20-upmix.conf.in new file mode 100644 index 000000000..064eba144 --- /dev/null +++ b/src/daemon/pipewire.conf.d/20-upmix.conf.in @@ -0,0 +1,8 @@ +# Enables upmixing +stream.properties = { + channelmix.upmix = true + channelmix.upmix-method = psd # none, simple + channelmix.lfe-cutoff = 150 + channelmix.fc-cutoff = 12000 + channelmix.rear-delay = 12.0 +} diff --git a/src/daemon/pipewire.conf.d/meson.build b/src/daemon/pipewire.conf.d/meson.build new file mode 100644 index 000000000..d939190df --- /dev/null +++ b/src/daemon/pipewire.conf.d/meson.build @@ -0,0 +1,12 @@ +conf_files = [ + '10-rates.conf', + '20-upmix.conf', +] + +foreach c : conf_files + configure_file(input : '@0@.in'.format(c), + output : c, + configuration : conf_config, + install_dir : pipewire_confdatadir / 'pipewire.conf.d') +endforeach +