[alsa-devel] [RFC PATCH 1/11] expose sound device topology information
Clemens Ladisch
clemens at ladisch.de
Tue Sep 4 20:02:57 CEST 2012
Takashi Iwai wrote:
> Clemens Ladisch wrote:
>> The media controller API <linux/media.h> allows prividing routing
>> information, but its implementation does not quite fit the sound
>> drivers:
>> * it allows reconfiguration of links, but not in a way that would be
>> useful for ALSA selector controls
I didn't mention why: it is not possible to enable two links to a sink
pad, and neither can one change the state of two links atomically;
therefore, an enum control with exactly one active input cannot be
modelled. (It might be possible to change the media controller API to
allow this.)
Mute controls _could_ be modelled by disabling links, but with all other
mixer control types not represented in the media controller API, this
doesn't appear to be very useful.
> But what about multiple codecs on a single control device? Can they
> be represented well?
The driver has to choose the entity IDs so that they don't conflict;
something like busnumber<<20 | codecaddress<<10 | nodeid.
The USB audio driver will have this problem if there are multiple audio
control interfaces, so I guess it will have to include the interface
number.
Regards,
Clemens
More information about the Alsa-devel
mailing list