Prototype waterfall rate smoothing / fps matching

This commit is contained in:
Charles J. Cliffe
2015-09-09 23:29:38 -04:00
parent 7163cd13f2
commit a1bf5b839e
7 changed files with 81 additions and 25 deletions
+6 -6
View File
@@ -47,11 +47,11 @@ void FFTDataDistributor::process() {
if (inputBuffer.data.size() >= fftSize) {
int numProcessed = 0;
// if (lineRateAccum + (lineRateStep * floor((double)inputBuffer.data.size()/(double)fftSize)) < 1.0) {
// // move along, nothing to see here..
// lineRateAccum += (lineRateStep * inputBuffer.data.size()/fftSize);
// numProcessed = inputBuffer.data.size()/fftSize;
// } else {
if (lineRateAccum + (lineRateStep * ((double)inputBuffer.data.size()/(double)fftSize)) < 1.0) {
// move along, nothing to see here..
lineRateAccum += (lineRateStep * ((double)inputBuffer.data.size()/(double)fftSize));
numProcessed = inputBuffer.data.size();
} else {
for (int i = 0, iMax = inputBuffer.data.size(); i < iMax; i += fftSize) {
if ((i + fftSize) > iMax) {
break;
@@ -72,7 +72,7 @@ void FFTDataDistributor::process() {
numProcessed += fftSize;
}
// }
}
if (numProcessed) {
inputBuffer.data.erase(inputBuffer.data.begin(), inputBuffer.data.begin() + numProcessed);
}