Thanks to a very generous user, I received a Samsung Captivate phone to debug the problem of not being able to transmit. I have since resolved the problem and Samsung phones should be able to transmit just fine. This particular bug may have affected other phones as well.
[What follows is technical, so close your eyes until you're done reading if you don't want to hear it]
Samsung phones had an extremely high minimum audio buffer size. The likely reason for this is to preserve battery. When you lower the buffer size, it requires more CPU interrupts to handle the audio. This means lower buffers results in faster battery drain. Unfortunately, Ventrilo servers with very low sample rates (8kHz and 11.025kHz) require extremely low buffer values. For example, Speex @8kHz quality 10 requires a 1920 byte buffer. If the minimum buffer is larger (which for Samsung it is), too much data gets buffered and the server rejects the audio packet.
The minimum buffer at 8kHz on a Samsung phone is 4160 bytes. Our solution to this is to record at the lowest available sample rate and then downsample the recording to the rate required by the Ventrilo protocol. Sadly, this will probably increase battery drain since downsampling is fairly CPU intensive. It is worth noting that if this problem is ever resolved on Samsung phones, Mangler will automatically detect it and this process won't be necessary. On non-Samsung phones, this is not an issue.
[You can open your eyes now, the tech talk is over]
Mangler 1.0.2 is now released and it addresses this issue. You should be able to talk just fine on any server. If you do run into a problem, I am currently in possession of a Samsung phone and I am able to test.
As always, if you need support with a problem, please post in the forums using the link below rather than post in the comments of this post. Posts in the forums will notify our IRC channel. Comments on this blog post will not.
Read original blog post