Hello,<br><br>In a way similar to speexclient voip example, I want to have a voip application where 3 or more users can interact. This creates the following problems "1. How to playback 2 or more audio streams such that they appear overlayed (parallel)". The audio streams are speex encoded.<br>
<br>I have few approaches in mind.<br><br>1. Create multiple decoder states and multiple ALSA audio playback device. But if I do this in the same thread, voice will appear sequential (slightly displaced in time) rather than overlayed. This issue will get more deep as the number of users increase. Moreover creating multiple OS threads will also not solve the issue due to latency issues.<br>
<br>2. Use multiple channels in decoder but not sure how this can be done.<br><br>3. Using intermediate server to merge/overlay multiple speex audio streams encoded at same sampling rate. I can't find an appropriate function/algorithm in speex code to do so.<br>
<br>Please suggest an appropriate solution. <br><br>Regards,<br>Vishal<br>