[alsa-devel] Channel mapping
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