At Fri, 30 Mar 2007 05:47:11 -0500, Nagalla, Hari wrote:
Thanks for the advice.. Couple of inline questions below..
-----Original Message-----
I am new to ALSA, so some help from experienced folks would help..
We are trying to develop ALSA support for our DSP based mixer. In
our
architecture DSP performs the mixing, sample rate conversion etc. My question is how, can does the user space applications exercise controlling individual PCM stream to the mixer? Ex: individual
stream
gain control, individual stream mute, etc.. Any user space example
code
would be useful too..
Most drivers create PCM volume controls with IFACE_PCM tag, and set up the volume appropriately at each PCM open, or let alsa-lib configs to set up the initial volumes. Usually, the control element index corresponds to the PCM substream number.
Which alsa library API lets us to set up the PCM stream volume? And can it be used dynamically when the stream is active?
It is controlled via the normal control API. Open the snd_ctl_t handle for the same card (e.g. "hw:0" or "default"), and change the value of the element. However, there is no standard name for the individual PCM volume controls, and currrently depending on the driver implementation...
I could n't figure out 'index' of the control element.
It's the index in snd_ctl_elem_id. You can access via snd_ctl_elem_id_{get|set}_index() in alsa-lib.
Takashi