resba / mumble-android

Android mumble client
14 stars 2 forks source link

Voice stream becomes intermittent when sending and receiving sound packets simultaneously. #7

Open resba opened 12 years ago

resba commented 12 years ago

This is a common error that's well known from the actual code itself. What happens is while the user begins to speak after pressing his talk key, another user begins speaking which jams the recording thread between processing the microphone input and the speaker output. This causes not only the audio being received to become choppy and incoherent, but it causes the microphone input being sent to the server to become choppy and incoherent.

This is caused by the fact that current hardware limitations and the way the software was designed calls for only one recording thread, which both the input and output use to send and receive data. When used simultaneously (this also holds true for two remote users sending audio data) the recording thread processes packets in the order of which it was received, disregarding which client initially sent voice stream data first.

resba commented 12 years ago

The reason i'm putting this issue up instead of actually fixing it is pretty simple: I'm not quite sure how to fix it!