[alsa-devel] Channel mapping
tiwai at suse.de
Wed Nov 21 15:57:53 CET 2007
At Wed, 21 Nov 2007 16:17:41 +0100,
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.
Yes, TLV came to my mind, too.
First I thought it might be possible to extend channel_info, but it's
apparently not. So, an ioctl would be the only way.
> 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
IMO, adding a new ioctl to PCM is better than reusing ctl TLV.
The channel mapping is variable and depends on the hw_params currently
set. So, it cannot be returned properly until a PCM is opened.
Impelenting it in ctl ioctl implies rather a global information.
More information about the Alsa-devel