Mercurial > hg > constant-q-cpp
changeset 100:3236a2a75b42
Fix buffer underrun
author | Chris Cannam <c.cannam@qmul.ac.uk> |
---|---|
date | Tue, 13 May 2014 11:46:50 +0100 |
parents | 54c4b7719ff2 |
children | 4ad90a51a067 |
files | cpp-qm-dsp/processfile.cpp |
diffstat | 1 files changed, 6 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/cpp-qm-dsp/processfile.cpp Sat May 10 13:44:24 2014 +0100 +++ b/cpp-qm-dsp/processfile.cpp Tue May 13 11:46:50 2014 +0100 @@ -146,7 +146,9 @@ if (doDiff) { for (int i = 0; i < (int)cqout.size(); ++i) { - cqout[i] -= buffer[outframe + i - latency]; + if (outframe + i >= latency) { + cqout[i] -= buffer[outframe + i - latency]; + } } if (outframe >= latency) { @@ -181,7 +183,9 @@ sf_writef_double(sndfileOut, r.data(), r.size()); if (doDiff) { for (int i = 0; i < (int)r.size(); ++i) { - r[i] -= buffer[outframe + i - latency]; + if (outframe + i >= latency) { + r[i] -= buffer[outframe + i - latency]; + } } sf_writef_double(sndDiffFile, r.data(), r.size()); }