Thanks for taking a shot at this problem. I have a few questions
about the description:
on 1) When you say the output buffer is full, it is full of flatline
on 2) At this point, the input data is read and is in the first period
(that is, it's not visible to the program yet)?
on 3) At this point, the input data is visible to the software and
immediately copied to the first output period, right? I don't
understand why the output buffer is still partially full. Since the
inputs and outputs are in synch, wouldn't the output be playing out
that flatline as the inputs receive data? Are you saying that the
input and output period boundaries don't necessarily line up?
> In the recorded data, there is a silent gap of two periods between each
I'm not hearing any audible gapping.. is this what you mean? I
believe with both devices blocking that this may happen.
> To reduce the latency, you would have to keep the output buffer more
But since the input and output are synched and in my solution not
blocking on input, wouldn't adding writei just cause a buffer overrun
in the input while it writes out blank buffers? I'm not clear on how
this actually adds latency. I was under the impression that was a
function of buffer size.
> 1) At the start of the loop, the output buffer is full, and the input