* Fix under/overruns in ladspa plugin

This commit is contained in:
Chris Cannam
2008-07-04 14:19:32 +00:00
parent 59a160eb3f
commit 86462dbd9f
9 changed files with 145 additions and 71 deletions

View File

@@ -195,6 +195,9 @@ StretchCalculator::calculateSingle(double ratio,
m_prevDf = df;
bool ratioChanged = (ratio != m_prevRatio);
m_prevRatio = ratio;
if (isTransient && m_transientAmnesty == 0) {
if (m_debugLevel > 1) {
std::cerr << "StretchCalculator::calculateSingle: transient"
@@ -210,9 +213,8 @@ StretchCalculator::calculateSingle(double ratio,
return -int(increment);
}
if (m_prevRatio != ratio) {
if (ratioChanged) {
m_recovery = m_divergence / ((m_sampleRate / 10.0) / increment);
m_prevRatio = ratio;
}
if (m_transientAmnesty > 0) --m_transientAmnesty;