bug fix: fix missing output before gaps
Whenever there are gaps, the output before gaps will generally be missing. This is because currently whether the output buffer is a gap only depends on whether the last blockstride is a gap. Therefore, if the input buffer is a gap and the history in the adapter is nongap, the output buffer will be a gap and we will lose the output that could have come from the history.
We need to define a new variable that tracks whether we have copied nongaps during the while loop.
Example downsampling from srate 512 to srate 256:
Before bug fix:
After bug fix: