I have a strange problem: I'm trying to pipe audio input -> output using a I2S
device @48000 Hz and 32 frames buffer size and 2 periods, to get as low a
latency as possible.
It works nicely if I either:
1. Use capture + playback and record capture to a wav file (sounds fine).
2. Use playback only and generate sine waves.
3. Pipe capture -> playback with a larger buffer size, such as 64.
But if I have capture + playback, I get a very strange output noise akin
towards heavy intermodulation distortion.
The rendering thread is (pseudo code):
while (true) {
if(capture_active) {
snd_pcm_wait(capture_handle, timeout);
read_pcm_data_into_buffer(capture_handle, input_buffer);
}
do_callback(input_buffer, output_buffer);
if (playback_active) {
snd_pcm_wait(playback_handle, timeout);
write_pcm_data_from_buffer(playback_handle, output_buffer);
}
}
Any ideas what can go wrong ?
/R
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Alsa-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/alsa-user