[pulseaudio-discuss] Audio cards with subdevices

Daniel Mack daniel at caiaq.de
Sat May 2 05:02:38 PDT 2009


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




More information about the pulseaudio-discuss mailing list