On Fri, May 01, 2009 at 05:20:23PM +0200, Lennart Poettering wrote: > > In my test environment, I have a card with two subdevices. > > It lists as follows using 'aplay -l': > > > > card 0: DJ [Audio 4 DJ], device 0: Audio 4 DJ [Audio 4 DJ] > > Subdevices: 1/2 > > Subdevice #0: subdevice #0 > > Subdevice #1: subdevice #1 > > PA knows nothing about subdevices. What a subdevice is is highly > dependant on the card and on the driver and there is no way to find > out from userspace what they actually mean and are mapped to. We only > access cards via "front:", "surround51:", "iec985:" and similar > high-level access methods which hide those internals to us and map > to right low-level channels. Hmm, but it would be possible to iterate over all the subdevices and see what kind of channels there are in each one, right? The soundcard connected in this case exports a stereo pair in each subdevice, and users can decided to use the second one by using ALSA's '-D hw:0,0,1'. I carefully thought about how to export all channels of the hardware in the driver when I wrote it, and the most logical view on he hardware features is seeing them as group of stereo input and ouputs. Things like "front:", "surround51:", "iec985:" are not appropriate, this is just not what it does. > For your card how would you expect PA to wrap the subdevices on > your specific card? I would expect it to display all streams of all subdevices, so I can address them individually, move a client from one to the next, select one stereo pair of one particular subdevice as default, mute them and set the volume seperately etc. Daniel