Hello,<div><br></div><div>I&#39;ve been doing some changes to mod_portaudio sponsored by Comrex Corporation. The changes involve adding support for using multiple audio devices simultaneously, including devices with multiple channels (note that is not exactly the same as stereo).</div>
<div><br></div><div>The changes are available at git://<a href="http://github.com/moises-silva/mod_portaudio-endpoints.git">github.com/moises-silva/mod_portaudio-endpoints.git</a></div><div><br></div><div>Complete documentation on the new functionality in portaudio can be found in the sample configuration in the form of comments (conf/autoload_configs/portaudio.conf.xml).</div>
<div><br></div><div>The portaudio changes are totally backwards compatible, existing configurations should keep working as expected.</div><div><br></div><div>In addition to the new portaudio functionality there are a few other changes that were necessary to use the new functionality. All the changes described below:</div>
<div><br></div><div>1. mod_portaudio.c and pablio.c modifications to allow usage of multiple streams, channels and devices.</div><div><br></div><div>2. uuid_outgoing_answer API added to mod_commands.c, this API allows to answer outgoing channels. This may only be useful for portaudio endpoints since most, if not all, endpoints receive the answer notification using some sort of signaling message (200 OK for example).</div>
<div><br></div><div>3. Changes to switch_generate_sln_silence() in switch_resample.c to allow specifying -1 as a special divisor value meaning to zero-out the buffer completely. This option was required by Comrex too since the equipment they have seems to be amplifying the random low-level noise that switch_generate_sln_silence() currently generates by default and they don&#39;t like the &quot;hissing noise&quot; on the background while the call is answered and there is no ringback tone.</div>
<div><br></div><div>I&#39;d appreciate anyone who can review and comment. I just merged a few moments ago with latest git therefore reviewing should be easy with git diff adding the github repo as a remote.</div><div><br>
</div><div>I&#39;d like to get approval from the core FreeSWITCH team to merge this into mainstream. Needless to say I&#39;ll be available in the case any bugs are introduced in the portaudio code, virtually impossible, but just in case :-) </div>
<div><br></div><div>Thanks,</div><div><br></div><div>-<br clear="all">Moy<br>
</div>