[alsa-devel] SoC multiple streams

Steve Longerbeam stevel at embeddedalley.com
Thu Jun 28 02:08:01 CEST 2007

Liam Girdwood wrote:
> On Mon, 2007-06-18 at 14:55 -0700, Steve Longerbeam wrote:
>> Hi all,
>> I'm developing an SoC driver for a sound engine that supports playing up 
>> to 64 simultaneous substreams, all mixed in h/w to a stereo DAC. But it 
>> doesn't appear that the SoC framework supports multiple substreams, 
>> according to soc_new_pcm(). Am I missing something, or is this on the 
>> asoc development roadmap?
> It's now on the development roadmap ;)
> https://bugtrack.alsa-project.org/wiki/wikka.php?wakka=ASoCRoadMap

that's cool, thanks.

I've got some more questions about multiple substreams. In the sound 
engine I'm working on, each "voice" (substream) has its own private 
controls, such as L/R volume, 3D (distance and angle factors), and gain 
envelopes. All 64 substreams are then mixed in h/w to a single stereo 
stream, and global controls are then applied, such as master volume.

It's looking like the way to implement per-substream controls is to add 
the controls for all possible substreams, and then somehow determine 
which substream is being referred to in the get/put callbacks, and then 
get/put the control for only that substream. Is this the way 
per-substream controls should be done?

Also, with 64 substreams and multiple controls for each, we're talking 
about adding hundreds of controls, can ALSA handle this? I can imagine 
alsamixer looking quite crowded :-/


More information about the Alsa-devel mailing list