# HG changeset patch # User Chris Cannam # Date 1399978010 -3600 # Node ID 3236a2a75b42d9459312b76834ca9d2b42ed996e # Parent 54c4b7719ff29c1d3e8c4cb200ffb97d42bc1956 Fix buffer underrun diff -r 54c4b7719ff2 -r 3236a2a75b42 cpp-qm-dsp/processfile.cpp --- 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()); }