aboutsummaryrefslogtreecommitdiff
path: root/apps/OboeTester/app/src/main/cpp/analyzer/GlitchAnalyzer.h
diff options
context:
space:
mode:
Diffstat (limited to 'apps/OboeTester/app/src/main/cpp/analyzer/GlitchAnalyzer.h')
-rw-r--r--apps/OboeTester/app/src/main/cpp/analyzer/GlitchAnalyzer.h23
1 files changed, 13 insertions, 10 deletions
diff --git a/apps/OboeTester/app/src/main/cpp/analyzer/GlitchAnalyzer.h b/apps/OboeTester/app/src/main/cpp/analyzer/GlitchAnalyzer.h
index 747c5ea9..fff87902 100644
--- a/apps/OboeTester/app/src/main/cpp/analyzer/GlitchAnalyzer.h
+++ b/apps/OboeTester/app/src/main/cpp/analyzer/GlitchAnalyzer.h
@@ -75,7 +75,7 @@ public:
} else {
double signalToNoise = mMeanSquareSignal / mMeanSquareNoise; // power ratio
double signalToNoiseDB = 10.0 * log(signalToNoise);
- if (signalToNoiseDB < MIN_SNR_DB) {
+ if (signalToNoiseDB < static_cast<float>(MIN_SNR_DB)) {
setResult(ERROR_VOLUME_TOO_LOW);
}
return signalToNoiseDB;
@@ -183,17 +183,20 @@ public:
mFramesAccumulated++;
// Must be a multiple of the period or the calculation will not be accurate.
if (mFramesAccumulated == mSinePeriod * PERIODS_NEEDED_FOR_LOCK) {
- setMagnitude(calculateMagnitudePhase(&mPhaseOffset));
- ALOGD("%s() mag = %f, mPhaseOffset = %f",
- __func__, mMagnitude, mPhaseOffset);
- if (mMagnitude > mThreshold) {
- if (fabs(mPhaseOffset) < kMaxPhaseError) {
- mState = STATE_LOCKED;
- mConsecutiveBadFrames = 0;
+ double magnitude = calculateMagnitudePhase(&mPhaseOffset);
+ if (mPhaseOffset != kPhaseInvalid) {
+ setMagnitude(magnitude);
+ ALOGD("%s() mag = %f, mPhaseOffset = %f",
+ __func__, magnitude, mPhaseOffset);
+ if (mMagnitude > mThreshold) {
+ if (fabs(mPhaseOffset) < kMaxPhaseError) {
+ mState = STATE_LOCKED;
+ mConsecutiveBadFrames = 0;
// ALOGD("%5d: switch to STATE_LOCKED", mFrameCounter);
+ }
+ // Adjust mInputPhase to match measured phase
+ mInputPhase += mPhaseOffset;
}
- // Adjust mInputPhase to match measured phase
- mInputPhase += mPhaseOffset;
}
resetAccumulator();
}