Jaroslav Kysela wrote:
On Wed, 21 Nov 2007, Takashi Iwai wrote:
Indeed, the mixer <-> PCM mapping can be useful. For such information, the fixed size struct isn't suitable as multiple mixer elements correspond to a single PCM channel.
I think that we have already such interface, but maybe not well described and used. I would propose to use SNDRV_CTL_ELEM_IFACE_PCM for PCM mixer related controls and device & subdevice from control_id structure. In this way, we can easy group and assign all control elements to PCM substream.
At the moment, this is only used for sound cards that have multiple substreams.
We may have only one problem - to identify which elements are mixer related and which are not. Maybe, we can use one bit from access flags to determine, if it's a mixer control element if interface != MIXER.
I'm not sure if this information (mixer or not) is that useful - an application is likely to access a mixer control with a 'known' meaning, like volume or mute, and in this case it has to search the controls by their name anyway.
Regards, Clemens