summaryrefslogtreecommitdiff
path: root/orkaudio
diff options
context:
space:
mode:
authorHenri Herscher <henri@oreka.org>2005-12-13 22:39:10 +0000
committerHenri Herscher <henri@oreka.org>2005-12-13 22:39:10 +0000
commit18c6d6e321a2163574a2881e89530ca655ffdfb2 (patch)
tree0c52ec531a208a49b3eb0aa47ad9641dda4dabd8 /orkaudio
parentf7ad4f6b1179ad95305ee6ee62760cd3c76bda46 (diff)
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
Diffstat (limited to 'orkaudio')
-rw-r--r--orkaudio/audiocaptureplugins/voip/Rtp.cpp10
-rw-r--r--orkaudio/audiocaptureplugins/voip/Rtp.h2
-rw-r--r--orkaudio/audiocaptureplugins/voip/RtpSession.cpp19
-rw-r--r--orkaudio/audiocaptureplugins/voip/VoIp.cpp6
4 files changed, 32 insertions, 5 deletions
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);
}