From 22f17b9c69e1e72d26a59b8b075fe4b900125262 Mon Sep 17 00:00:00 2001 From: Vincent Lucas <chenzo@jitsi.org> Date: Mon, 16 Jul 2012 12:17:14 +0000 Subject: [PATCH] Logs RTCP sender report sent and received to correct wrong statistics (RTT, loss rate). --- .../transform/rtcp/StatisticsEngine.java | 57 ++++++++++++++++++- 1 file changed, 55 insertions(+), 2 deletions(-) diff --git a/src/org/jitsi/impl/neomedia/transform/rtcp/StatisticsEngine.java b/src/org/jitsi/impl/neomedia/transform/rtcp/StatisticsEngine.java index 8031080a..14bcf965 100644 --- a/src/org/jitsi/impl/neomedia/transform/rtcp/StatisticsEngine.java +++ b/src/org/jitsi/impl/neomedia/transform/rtcp/StatisticsEngine.java @@ -105,6 +105,19 @@ public RawPacket transform(RawPacket pkt) { RTCPSenderReport report = new RTCPSenderReport( data, offset, length); + long currentTime = System.currentTimeMillis(); + StringBuffer logDebugRTCPSenderReport + = new StringBuffer("Send new RTCPFeedback: " + + "\n\tcurrentTime: " + currentTime + + " (" + Long.toHexString(currentTime) + ")" + + "\n\tNTPTimeStampMSW: " + + report.getNTPTimeStampMSW() + " (" + + Long.toHexString(report.getNTPTimeStampMSW()) + + ")" + + "\n\tNTPTimeStampLSW: " + + report.getNTPTimeStampLSW() + " (" + + Long.toHexString(report.getNTPTimeStampLSW()) + + ")"); if(report.getFeedbackReports().size() > 0) { @@ -155,7 +168,20 @@ public RawPacket transform(RawPacket pkt) .append((int) (feedback.getDLSR() / 65.536)) .append("ms ]"); logger.info(buff); + + logDebugRTCPSenderReport.append( + "\n\tDLSR: " + feedback.getDLSR() + " (" + + Long.toHexString(feedback.getDLSR()) + ")" + + "\n\tLSR: " + feedback.getLSR() + " (" + + Long.toHexString(feedback.getLSR()) + ")" + + "\n\tXntdSeqNum: " + feedback.getXtndSeqNum() + + "\n\tnumLost: " + feedback.getNumLost() + + "\n\tjitter: " + feedback.getJitter()); } + + // log RTCP sender report received to correct wrong + // computation (RTT, loss rate, etc). + logger.info(logDebugRTCPSenderReport.toString()); } } catch(Throwable t) @@ -190,14 +216,41 @@ public RawPacket reverseTransform(RawPacket pkt) RTCPSenderReport report = new RTCPSenderReport( data, offset, length); + long currentTime = System.currentTimeMillis(); + StringBuffer logDebugRTCPSenderReport + = new StringBuffer("Receive new RTCPFeedback: " + + "\n\tcurrentTime: " + currentTime + + " (" + Long.toHexString(currentTime) + ")" + + "\n\tNTPTimeStampMSW: " + + report.getNTPTimeStampMSW() + " (" + + Long.toHexString(report.getNTPTimeStampMSW()) + + ")" + + "\n\tNTPTimeStampLSW: " + + report.getNTPTimeStampLSW() + " (" + + Long.toHexString(report.getNTPTimeStampLSW()) + + ")"); + if(report.getFeedbackReports().size() > 0) { - RTCPFeedback feedback = - (RTCPFeedback)report.getFeedbackReports().get(0); + RTCPFeedback feedback = (RTCPFeedback) + report.getFeedbackReports().get(0); this.mediaStream.getMediaStreamStats() .updateNewReceivedFeedback(feedback); + + logDebugRTCPSenderReport.append( + "\n\tDLSR: " + feedback.getDLSR() + " (" + + Long.toHexString(feedback.getDLSR()) + ")" + + "\n\tLSR: " + feedback.getLSR() + " (" + + Long.toHexString(feedback.getLSR()) + ")" + + "\n\tXntdSeqNum: " + feedback.getXtndSeqNum() + + "\n\tnumLost: " + feedback.getNumLost() + + "\n\tjitter: " + feedback.getJitter()); } + + // log RTCP sender report received to correct wrong + // computation (RTT, loss rate, etc). + logger.info(logDebugRTCPSenderReport.toString()); } } } -- GitLab