[alsa-devel] Alsa mixer interface limitations?
c.fertr at volny.cz
Sun Jun 17 21:50:51 CEST 2007
I'm currently in phase of adding support for higher sample rates into e-mu
1212m/1820m driver. These cards have a lot of physical inputs and outputs and
also a bunch of internal buses used for capture, playback and internal
routing between physical inputs and outputs. Both physical I/O and internal
buses are shown in alsamixer, so one can set routing easily. It's a lot of
The card has three modes. The standard (or "single speed") mode is the only
mode currently supported in emu10k driver. It is capable of 44.1/48kHz sample
rate only. If we need higher sample rates, we have to switch the card into
either "double speed" (for 88.2/96kHz) or "quadruple speed" (for
The problem is that the number of inputs, outputs and especially internal
buses significantly changes at higher speed modes. The reason is that
internal buses are 44.1/48kHz only and thus we must use two (or four) of them
per channel. Also some physical I/O ports disappear at double and quadruple
speeds (e.g. ADAT has 4 channles at 96k and 2 at 192k, S/PDIF is completely
disabled at 192k).
The question is how to deal with that in alsamixer? IMHO the best way would be
to change the number of switches in alsamixer on the fly. Unfortunatelly, I'm
afraid it's impossible. Another way would be to make a particular swiches
inactive, though I don't know if it is a good idea and it wold require a lot
of code anyway. Any ideas? Please help!
More information about the Alsa-devel