Just a note to add - I've been running ten to twenty concurrent calls listening to the sixteen channels of soundcards via an updated pablio.h and so far, with these settings in portaudio.conf.xml:

  <streams>

<stream name="M-AUDIO-ONE">
<param name="indev" value="M Audio Delta 1010: ICE1712 multi (hw:0,0)" />
<param name="outdev" value="M Audio Delta 1010: ICE1712 multi (hw:0,0)" />
<param name="sample-rate" value="8000" />
<param name="codec-ms" value="20" />
<param name="channels" value="8" />
   </stream>

<stream name="M-AUDIO-TWO">
<param name="indev" value="M Audio Delta 1010: ICE1712 multi (hw:1,0)" />
<param name="outdev" value="M Audio Delta 1010: ICE1712 multi (hw:1,0)" />
<param name="sample-rate" value="8000" />
<param name="codec-ms" value="20" />
<param name="channels" value="8" />
   </stream>

  </streams>

and with pablio.h:

/*! Maximum number of channels per stream */
#define MAX_IO_CHANNELS 8

No issues so far, but it's only been one day.


On Tue, Nov 26, 2013 at 11:23 PM, Erik M. Devane - Comms Guy <emdevane@gmail.com> wrote:
Dear all,

I've been fighting an issue with PortAudio on CentOS for a few days now: I have two Delta 1010 cards which I'm using with mod_portaudio streams.

On Windows, the cards appear as eight two-channel devices, and FreeSWITCH can use them. On CentOS, the cards appear as two eight-channel devices (actually 10 out/12 in) and I'm unable to configure more than two channels per card.

Looking at the code, it looks like pablio.h's MAX_IO_CHANNELS is hardcoded to 2, and this is the limit of mod_portaudio. As it's a ring-buffer, I can see why it might need to be a power of 2, but does anyone know why it is set to 2?

How dangerous would it be to increase this value? Any thoughts?

Regards,

Erik