From 631c473acc63380dcbdeecfe137e4cfd92618ee0 Mon Sep 17 00:00:00 2001 From: Volker Fischer Date: Fri, 10 Apr 2020 16:56:45 +0200 Subject: [PATCH] CreateLevelsForAllConChannels shall call CStereoSignalLevelMeter::CalcLogResult --- ChangeLog | 3 +-- src/server.cpp | 12 +----------- src/util.h | 11 ++++++----- 3 files changed, 8 insertions(+), 18 deletions(-) diff --git a/ChangeLog b/ChangeLog index 3e4c84f2..9dfa1c4c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -11,8 +11,7 @@ * fixed column widths are slightly too narrow for "Ping Time" and "Musicians" and typos - -TODO in CreateLevelsForAllConChannels we should call CStereoSignalLevelMeter::CalcLogResult instead -> make it public and static +TODO fix UpdateCurLevel() for new 64 samples frame size TODO auto jitter buffer performance not good at 64 samples frame size diff --git a/src/server.cpp b/src/server.cpp index 2bd999aa..93ea88ce 100755 --- a/src/server.cpp +++ b/src/server.cpp @@ -1715,17 +1715,7 @@ void CServer::CreateLevelsForAllConChannels ( const int i vecChannels[iChId].SetPrevLevel ( dCurLevel ); // logarithmic measure -// TODO we should call CStereoSignalLevelMeter::CalcLogResult instead -> make it public and static - const double dNormChanLevel = dCurLevel / _MAXSHORT; - double dCurSigLevel; - if ( dNormChanLevel > 0 ) - { - dCurSigLevel = 20.0 * log10 ( dNormChanLevel ); - } - else - { - dCurSigLevel = -100000.0; // large negative value - } + double dCurSigLevel = CStereoSignalLevelMeter::CalcLogResult ( dCurLevel ); // map to signal level meter dCurSigLevel -= LOW_BOUND_SIG_METER; diff --git a/src/util.h b/src/util.h index a00518f2..f4805666 100755 --- a/src/util.h +++ b/src/util.h @@ -594,17 +594,18 @@ class CStereoSignalLevelMeter public: CStereoSignalLevelMeter() { Reset(); } - void Update ( const CVector& vecsAudio ); - double MicLevelLeft() { return CalcLogResult ( dCurLevelL ); } - double MicLevelRight() { return CalcLogResult ( dCurLevelR ); } - void Reset() + void Update ( const CVector& vecsAudio ); + double MicLevelLeft() { return CalcLogResult ( dCurLevelL ); } + double MicLevelRight() { return CalcLogResult ( dCurLevelR ); } + static double CalcLogResult ( const double& dLinearLevel ); + + void Reset() { dCurLevelL = 0.0; dCurLevelR = 0.0; } protected: - double CalcLogResult ( const double& dLinearLevel ); double UpdateCurLevel ( double dCurLevel, const short& sMax );