The customer (a cell phone carrier) has special testing procedures, where calls with delays of 400+ get unacceptable delay rating.
We have no such issues with iOS, so I wanted to verify with a test what the delay is on Android.
To my surprise, it performed way worse than I expected. Best result I got on a SONY phone: 150ms. Samsung Galaxy S2 for example is 300ms!!
OpenSL (contrary to all suggestions) produces exceptionally bad results! Almost in all cases it gave me slower results that AudioTrack+JNI! OpenSL on Samsung GS2 produced good result of "only" 150ms.
For testing I used audio_device from webrtc that I built with and without opensl. In my test I playout some sound and record it at the same time through the microphone. By analyzing the recorded data I can see at what delay I get the sound back.
I'll run the same test on iOS or Windows to check what delay I get there.