[pulseaudio-discuss] Card and sink/source specific config

David Henningsson david.henningsson at canonical.com
Thu Apr 4 01:32:49 PDT 2013

With all these configuration discussions, there's one more aspect I'd 
like to throw into the mix.

We have a lot of global parameters that should really be configured by 
card, or by sink/source.

In daemon.conf, we have these:

; default-sample-format = s16le
; default-sample-rate = 44100
; alternate-sample-rate = 48000
; default-sample-channels = 2
; default-channel-map = front-left,front-right
; default-fragments = 4
; default-fragment-size-msec = 25

...all the above should be configurable per sink/source, rather than set 
globally. Maybe you can override some of them by loading a sink or 
source module manually, but then you lose the hotplug ability, so that's 
not a good option.

And all the parameters to module-udev-detect:

tsched=<enable system timer based scheduling mode?>
tsched_buffer_size=<buffer size when using timer based scheduling>
fixed_latency_range=<disable latency range changes on underrun?>
ignore_dB=<ignore dB information from the device?>
deferred_volume=<syncronize sw and hw volume changes in IO-thread?>
use_ucm=<use ALSA UCM for card configuration?>

All these are really per card or per sink/source [1]. The only reason we 
have these parameters in module-udev-detect, is because it's simpler to 
configure things from default.pa that way. That's a bit stupid IMO.

When you're thinking about configuration interfaces and such, would it 
be possible to design in a solution to this too? :-)

David Henningsson, Canonical Ltd.

[1] Possibly with the exception of deferred_volume, which IMO should be 
removed and always be enabled for ALSA. There is no real reason to turn 
it off, and the code would be less complex.

More information about the pulseaudio-discuss mailing list