diff options
Diffstat (limited to 'apps/OboeTester/app/src/main/cpp/analyzer/GlitchAnalyzer.h')
-rw-r--r-- | apps/OboeTester/app/src/main/cpp/analyzer/GlitchAnalyzer.h | 23 |
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(); } |