[alsa-devel] UCM questions

Jaroslav Kysela perex at perex.cz
Sun Jan 23 14:39:33 CET 2011

On Fri, 21 Jan 2011, pl bossart wrote:

>> Originally, verbs were mapped 1:1 with cards, however Jaroslav recently
>> added support for multiple cards per verb.
> Does this mean for a given verb UCM will return a list of devices on
> different cards that can be used, and the application will choose from
> the list? Or are these multiple cards supposed to be used
> simultaneously?
> I probably need more expresso here..

You may have for example USB microphone and USB speakers plugged to the 
system (each represents one card for the ALSA driver with different USB 
physical links). UCM can join these two cards as one "virtual", so if an 
app asks for playback device, USB speakers are returned and for capture 
device, USB MIC is returned. Only one alsa-lib's device should be returned 
for given verb/device/modifier identifiers. I admit that the PCM 
configuration for alsa-lib allows this too, but UCM handles also the 
mixer control mapping.

Anyway, your questions are mostly about the abstract mapping. The purpose 
of UCM is to allow any abstraction, so strings in the header file like 
"HiFi" or so are just common cases. But anyone can create own abstraction 
for different purposes.


Jaroslav Kysela <perex at perex.cz>
Linux Kernel Sound Maintainer
ALSA Project, Red Hat, Inc.

More information about the Alsa-devel mailing list