From 18c6d6e321a2163574a2881e89530ca655ffdfb2 Mon Sep 17 00:00:00 2001 From: Henri Herscher Date: Tue, 13 Dec 2005 22:39:10 +0000 Subject: Added ToString method to RtpPacketInfo class + RTP session now logs first packets for both ways on INFO level. git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@106 09dcff7a-b715-0410-9601-b79a96267cd0 --- orkaudio/audiocaptureplugins/voip/Rtp.cpp | 10 ++++++++++ orkaudio/audiocaptureplugins/voip/Rtp.h | 2 ++ orkaudio/audiocaptureplugins/voip/RtpSession.cpp | 19 +++++++++++++++++++ orkaudio/audiocaptureplugins/voip/VoIp.cpp | 6 +----- 4 files changed, 32 insertions(+), 5 deletions(-) (limited to 'orkaudio') diff --git a/orkaudio/audiocaptureplugins/voip/Rtp.cpp b/orkaudio/audiocaptureplugins/voip/Rtp.cpp index 931aed7..23c236e 100644 --- a/orkaudio/audiocaptureplugins/voip/Rtp.cpp +++ b/orkaudio/audiocaptureplugins/voip/Rtp.cpp @@ -27,6 +27,16 @@ extern "C" extern AudioChunkCallBackFunction g_audioChunkCallBack; +void RtpPacketInfo::ToString(CStdString& string) +{ + char sourceIp[16]; + ACE_OS::inet_ntop(AF_INET, (void*)&m_sourceIp, sourceIp, sizeof(sourceIp)); + char destIp[16]; + ACE_OS::inet_ntop(AF_INET, (void*)&m_destIp, destIp, sizeof(destIp)); + string.Format("%s,%d %s,%d seq:%u ts:%u len:%d type:%x", sourceIp, m_sourcePort, destIp, m_destPort, m_seqNum, m_timestamp, m_payloadSize, m_payloadType); +} + + RtpRingBuffer::RtpRingBuffer() { m_writePtr = m_buffer; diff --git a/orkaudio/audiocaptureplugins/voip/Rtp.h b/orkaudio/audiocaptureplugins/voip/Rtp.h index e64fd7d..a846c5f 100644 --- a/orkaudio/audiocaptureplugins/voip/Rtp.h +++ b/orkaudio/audiocaptureplugins/voip/Rtp.h @@ -28,6 +28,8 @@ class RtpPacketInfo { public: + void ToString(CStdString& string); + //CStdString m_sourceMac; //CStdString m_destMac; struct in_addr m_sourceIp; diff --git a/orkaudio/audiocaptureplugins/voip/RtpSession.cpp b/orkaudio/audiocaptureplugins/voip/RtpSession.cpp index d47361f..5a7a455 100644 --- a/orkaudio/audiocaptureplugins/voip/RtpSession.cpp +++ b/orkaudio/audiocaptureplugins/voip/RtpSession.cpp @@ -235,6 +235,8 @@ void RtpSession::ReportMetadata() void RtpSession::AddRtpPacket(RtpPacketInfoRef& rtpPacket) { + CStdString logMsg; + if(m_lastRtpPacket.get() == NULL) { // Until now, we knew the remote IP and port for RTP (at best, as given by SIP invite or Skinny StartMediaTransmission) @@ -257,7 +259,14 @@ void RtpSession::AddRtpPacket(RtpPacketInfoRef& rtpPacket) m_numRtpPackets++; if(m_lastRtpPacketSide1.get() == NULL) { + // First RTP packet for side 1 m_lastRtpPacketSide1 = rtpPacket; + if(m_log->isInfoEnabled()) + { + rtpPacket->ToString(logMsg); + logMsg = "1st packet s1: " + logMsg; + LOG4CXX_INFO(m_log, logMsg); + } } else { @@ -267,6 +276,16 @@ void RtpSession::AddRtpPacket(RtpPacketInfoRef& rtpPacket) } else { + if(m_lastRtpPacketSide2.get() == NULL) + { + // First RTP packet for side 2 + if(m_log->isInfoEnabled()) + { + rtpPacket->ToString(logMsg); + logMsg = "1st packet s2: " + logMsg; + LOG4CXX_INFO(m_log, logMsg); + } + } m_lastRtpPacketSide2 = rtpPacket; } } diff --git a/orkaudio/audiocaptureplugins/voip/VoIp.cpp b/orkaudio/audiocaptureplugins/voip/VoIp.cpp index 30dcc47..ce2f883 100644 --- a/orkaudio/audiocaptureplugins/voip/VoIp.cpp +++ b/orkaudio/audiocaptureplugins/voip/VoIp.cpp @@ -169,11 +169,7 @@ bool TryRtp(EthernetHeaderStruct* ethernetHeader, IpHeaderStruct* ipHeader, UdpH if(s_rtpPacketLog->isDebugEnabled()) { CStdString debug; - char sourceIp[16]; - ACE_OS::inet_ntop(AF_INET, (void*)&ipHeader->ip_src, sourceIp, sizeof(sourceIp)); - char destIp[16]; - ACE_OS::inet_ntop(AF_INET, (void*)&ipHeader->ip_dest, destIp, sizeof(destIp)); - debug.Format("%s,%d %s,%d seq:%u ts:%u len:%d", sourceIp, rtpInfo->m_sourcePort, destIp, rtpInfo->m_destPort, ntohs(rtpHeader->seq), ntohl(rtpHeader->ts), payloadLength); + rtpInfo->ToString(debug); LOG4CXX_DEBUG(s_rtpPacketLog, debug); } -- cgit v1.2.3