Audio input choppy/crackling

I have a basic Android project with 1 audio input and 2 audio outputs. All the project does is write the input audio to a wav file and optionally play the mic-in through the output. The mic-in is choppy though no matter the buffer size. Audio output works fine.

Examples of what it sounds like:

Has anyone else experienced this? I’m using the github dev branch.

After looking further, when the bufferSize is set to less than getMinBufferSize (an android function), then the audio is choppy. If I set the buffersize to the minimum size (4096 on my device) then the audio input is fine. However, this causes large latency in output. I noticed that the input and output can be set to different sizes in Android (which works much better when testing it), but OF doesn’t have independent settings for in/out buffer sizes.

Is there a way to set the input and output buffer sizes independently? Ideally both should be set to their minBufferSize (which generally are not the same size). The main issue seems to be in the circular buffer used on Android if the buffer sizes are different.