If you want to customize the effects processing then modify the onBothStreamsReady() method in “src/main/cpp/FullDuplexPass.h”
OpenES SL does not allow setting the recording or playback device.
Synchronizing input and output streams for full-duplex operation is tricky.
Input and output have different startup times. The input side may have to charge up the microphone circuit. Also the initial timing for the output callback may be bursty as it fills the buffer up. So when the output stream makes its first callback, the input buffer may be overflowing or empty or partially full.
In order to get into sync we go through a few phases.