summaryrefslogtreecommitdiff
path: root/orkaudio/audiocaptureplugins/voip/RtpSession.cpp
diff options
context:
space:
mode:
authorHenri Herscher <henri@oreka.org>2006-11-21 22:07:23 +0000
committerHenri Herscher <henri@oreka.org>2006-11-21 22:07:23 +0000
commit4438e38dd78805aa4ec8afdc1553c7d205e9b25e (patch)
tree9aa31134a08fe40a80189a781929721114f65a2d /orkaudio/audiocaptureplugins/voip/RtpSession.cpp
parent912e5f6d9ece10118c2d0c6e977cbd562c58ac22 (diff)
Now logging whether a session has seen duplicate RTP traffic and the maximum delta in sequence number seen during the capture (logged at session stop).
git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@356 09dcff7a-b715-0410-9601-b79a96267cd0
Diffstat (limited to 'orkaudio/audiocaptureplugins/voip/RtpSession.cpp')
-rw-r--r--orkaudio/audiocaptureplugins/voip/RtpSession.cpp22
1 files changed, 21 insertions, 1 deletions
diff --git a/orkaudio/audiocaptureplugins/voip/RtpSession.cpp b/orkaudio/audiocaptureplugins/voip/RtpSession.cpp
index 18238af..3151d0c 100644
--- a/orkaudio/audiocaptureplugins/voip/RtpSession.cpp
+++ b/orkaudio/audiocaptureplugins/voip/RtpSession.cpp
@@ -45,12 +45,14 @@ RtpSession::RtpSession(CStdString& trackingId)
m_stopped = false;
m_rtpTimestampCorrectiveDelta = 0;
m_beginDate = 0;
+ m_hasDuplicateRtp = false;
+ m_highestRtpSeqNumDelta = 0;
}
void RtpSession::Stop()
{
CStdString logMsg;
- logMsg.Format("[%s] %s Session stop, num RTP packets:%d, last updated:%u", m_trackingId, m_capturePort, m_numRtpPackets, m_lastUpdated);
+ logMsg.Format("[%s] %s Session stop, numRtpPkts:%d dupl:%d seqDelta:%d lastUpdated:%u", m_trackingId, m_capturePort, m_numRtpPackets, m_hasDuplicateRtp, m_highestRtpSeqNumDelta, m_lastUpdated);
LOG4CXX_INFO(m_log, logMsg);
if(m_started && !m_stopped)
@@ -373,8 +375,17 @@ bool RtpSession::AddRtpPacket(RtpPacketInfoRef& rtpPacket)
{
if(rtpPacket->m_timestamp == m_lastRtpPacketSide1->m_timestamp)
{
+ m_hasDuplicateRtp = true;
return true; // dismiss duplicate RTP packet
}
+ else
+ {
+ int delta = rtpPacket->m_seqNum - m_lastRtpPacketSide1->m_seqNum;
+ if(delta > m_highestRtpSeqNumDelta)
+ {
+ m_highestRtpSeqNumDelta = delta;
+ }
+ }
m_lastRtpPacketSide1 = rtpPacket;
channel = 1;
}
@@ -394,8 +405,17 @@ bool RtpSession::AddRtpPacket(RtpPacketInfoRef& rtpPacket)
{
if(rtpPacket->m_timestamp == m_lastRtpPacketSide2->m_timestamp)
{
+ m_hasDuplicateRtp = true;
return true; // dismiss duplicate RTP packet
}
+ else
+ {
+ int delta = rtpPacket->m_seqNum - m_lastRtpPacketSide2->m_seqNum;
+ if(delta > m_highestRtpSeqNumDelta)
+ {
+ m_highestRtpSeqNumDelta = delta;
+ }
+ }
}
m_lastRtpPacketSide2 = rtpPacket;
channel = 2;