Skip to content

Commit 75118b5

Browse files
committed
Fix resampler
1 parent 5c364a3 commit 75118b5

1 file changed

Lines changed: 2 additions & 2 deletions

File tree

modules/yup_dsp/resampling/yup_Resampler.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ class Resampler
154154
}
155155
}
156156

157-
const int outputCount = static_cast<int> ((numSamples - currentPhase) * oversampleFactor);
157+
const int outputCount = static_cast<int> (std::ceil ((numSamples - currentPhase) * oversampleFactor));
158158
const CoeffType gainScale = (oversampleFactor < 1.0)
159159
? static_cast<CoeffType> (oversampleFactor)
160160
: CoeffType (1);
@@ -202,7 +202,7 @@ class Resampler
202202
endBufs[static_cast<std::size_t> (ch)].push (xBuf[static_cast<std::size_t> (numSamples + i)]);
203203
}
204204

205-
currentPhase = (currentPhase + static_cast<double> (outputCount) / oversampleFactor) - numSamples;
205+
currentPhase = std::max (0.0, (currentPhase + static_cast<double> (outputCount) / oversampleFactor) - numSamples);
206206
return outputCount;
207207
}
208208

0 commit comments

Comments
 (0)