>> the "pcm substreams" belong to each pcm stream. when you open a pcm >> device, one pcm substream will be used at each time. >> snd_pcm_new() takes the argument how many pcm substreams are created >> for each pcm stream. you can give more than one here only if the >> hardware supports multiple-playback/capture, such as emu10k1. >> otherwise, these arguments must be 1 or 0. > >The hw supports it. My cards has 8 analog outputs that can be used >indipendently or grouped. From inside hw_params callback I have no >way to know which channels the user wants to use. My idea is to tell >snd_pcm_new() to create 8 playback substreams. When an app opens >substream N, C channels wide, I use substream N, and I make >substreams from N+1 to N+C-1 not available.
sorry, i misread your original question. i thought you were asking about the user of the user-space snd_pcm_open() call, not a driver side function. i am not sure this is the best way to do this. i used this approach with the original hammerfall driver (26 channels), and it got very unworkable. i found it much better (and more efficient) to create 1 device with the capability to handle up to 26 channels. your description is a bit confusing as well. when you say the h/w supports 8 analog outputs, do you mean 8 independent audio streams, or do you mean 8 synced channels of output? these are very different things. --p ------------------------------------------------------- This SF.net email is sponsored by: The Definitive IT and Networking Event. Be There! NetWorld+Interop Las Vegas 2003 -- Register today! http://ads.sourceforge.net/cgi-bin/redirect.pl?keyn0001en _______________________________________________ Alsa-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/alsa-devel