[alsa-devel] Individual PCM stream control
Takashi Iwai
tiwai at suse.de
Wed Apr 4 18:21:15 CEST 2007
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
More information about the Alsa-devel
mailing list