'Twas brillig, and Jaroslav Kysela at 03/04/09 08:31 did gyre and gimble:
Lennart, why you need to enumerate all devices per card at one time? I think that having mixer access plus one PCM device is enough for minimal configuration for PA.
PA now has a concept of "cards". The hal-detect module will load the module-alsa-card module which in turn will probe the "card" in question to see what it supports.
As alsa does not export information such as what parts of the card can be used concurrently, the module-alsa-card has to be able to probe e.g. 5.1 output + stereo input to see if it works. From this probing, we can build up a list of "Card Profiles" so we can let the user pick their configuration[1] they want. When a user changes configuration, it will take care of loading the individual module-alsa-sink and module-alsa-source modules for dealing with the actual output/input.
Hope that explains why the whole card is needed rather than just a single PCM.
Col
See: http://colin.guthr.ie/development/configuring-card-profiles-in-pulseaudio.ht...