Card and sink/source specific config

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.
https://launchpad.net/~diwic

[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.


[Index of Archives]     [Linux Audio Users]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux