[alsa-devel] Channel mapping

Clemens Ladisch cladisch at fastmail.net
Wed Nov 21 16:52:20 CET 2007

Jaroslav Kysela wrote:
> On Wed, 21 Nov 2007, Clemens Ladisch wrote:
> > Takashi Iwai wrote:
> > > Yes, querying channel mapping is another missing piece with popular
> > > demand.
> > > 
> > > The implementation would be easy, I guess.  But we have to define the
> > > way to inform this from kernel to user space: whether create a new
> > > ioctl or extend the existing ones (if possible)...
> > 
> > It's just metadata that describes a PCM device, so I think we should use
> > TLV for this.
> > 
> > The existing struct snd_ctl_tlv uses a single integer to identify
> > control elements.  We could restrict control numid's to 31 bits and
> > use the upper bit to signal that this value includes device type and
> > device number in the lower bits, if we want to reuse the same TLV
> > ioctls.

Using a ioctl on the ctl device is difficult if the information is
dependent on the hw_params, so this isn't a good idea.

> We can also encode PCM device / subdevice numbers to data structure. But
> I think that best way is to extend channel_info PCM ioctl (create new 
> version and emulate old one - it should be quite easy to implement).

The channel_info ioctl returns only information about one channel.

I think we should have a more flexible ioctl that also allows us to
describe the PCM device itself (such as volume controls that affect
all channels, or latency information).


More information about the Alsa-devel mailing list