- another fixes in jitter calculation

This commit is contained in:
Dmytro Bogovych 2019-03-06 12:53:17 +02:00
parent 347ce550ab
commit dca4551222
2 changed files with 7 additions and 6 deletions

View File

@ -40,9 +40,9 @@ void JitterStatistics::process(jrtplib::RTPPacket* packet, int rate)
int64_t delta = receiveDelta - timestampDelta; int64_t delta = receiveDelta - timestampDelta;
// Update max delta in milliseconds // Update max delta in milliseconds
double delta_in_ms = fabs(double(delta) / (rate / 1000)); double delta_in_seconds = fabs(double(delta) / rate);
if (delta_in_ms > mMaxDelta) if (delta_in_seconds > mMaxDelta)
mMaxDelta = delta_in_ms; mMaxDelta = delta_in_seconds;
// Update jitter value in units // Update jitter value in units
mLastJitter = mLastJitter.value() + (fabs(double(delta)) - mLastJitter.value()) / 16.0; mLastJitter = mLastJitter.value() + (fabs(double(delta)) - mLastJitter.value()) / 16.0;
@ -55,6 +55,7 @@ void JitterStatistics::process(jrtplib::RTPPacket* packet, int rate)
mReceiveTime = receiveTime; mReceiveTime = receiveTime;
mReceiveTimestamp = timestamp; mReceiveTimestamp = timestamp;
// And mJitter are in seconds again
mJitter.process(mLastJitter.value() / rate); mJitter.process(mLastJitter.value() / rate);
} }
} }
@ -201,7 +202,7 @@ double Statistics::calculateMos(double maximalMos) const
if (mReceivedRtp < 100) if (mReceivedRtp < 100)
return 0.0; return 0.0;
if (lossr == 0 || burstr == 0) if (lossr == 0.0 || burstr == 0.0)
{ {
return maximalMos; return maximalMos;
} }

View File

@ -92,10 +92,10 @@ protected:
// It is classic jitter value in units // It is classic jitter value in units
optional<double> mLastJitter; optional<double> mLastJitter;
// Some statistics for jitter value in milliseconds // Some statistics for jitter value in seconds
ProbeStats<double> mJitter; ProbeStats<double> mJitter;
// Maximal delta in milliseconds // Maximal delta in seconds
double mMaxDelta = 0.0; double mMaxDelta = 0.0;
}; };