[alsa-devel] question on hardware mixing

Harsha, Priya priya.harsha at intel.com
Tue Dec 9 09:55:33 CET 2008

If I define mixer controls to switch between each substream, I would not be able to handle multiple streams at time.... 
I had asked this in my earlier follow up email as well - can I use snd_pcm_t->private_data to communicate if it's a voice or audio 
I understand this private_data gets copied to substream->private data which will reach the driver...
Am I right here?

-----Original Message-----
From: Clemens Ladisch [mailto:clemens at ladisch.de] 
Sent: Tuesday, December 09, 2008 2:23 PM
To: Harsha, Priya
Cc: Lee Revell; alsa-devel at alsa-project.org
Subject: Re: [alsa-devel] question on hardware mixing

Harsha, Priya wrote:
> In the trigger function - I see that from substream->runtime->private_data,
> voice specific parameters are extracted. How and can somehow user space
> fill in some private data to the driver so that driver can process voice
> in a different way and music in a different way?

On the Emu10k1 chip, the hardware voices are used for both PCM playback
and wavetable (MIDI) playback.  Voice-specific parameters are set for
MIDI data; the parameters come from the soundfont that was loaded to
specify how the instruments sound.  (Here, the term "voice" has no
relation to the sound of a human voice.)

As far as PCM playback is concerned, ALSA does not have any predefined
mechanism to differentiate between voice and music audio streams.  It
would be possible to define mixer controls to switch between these
settings for each substream.


More information about the Alsa-devel mailing list