Robert Bielik wrote:
> It works nicely if I either:
> 3. Pipe capture -> playback with a larger buffer size, such as 64.

It's possible that the hardware does not actually handles size 32 correctly.
> 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);
>     }
> }

Are you filling the output before the loop?


Regards,
Clemens

------------------------------------------------------------------------------
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
Alsa-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/alsa-user

Reply via email to