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

View File

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