From 6b441e0122bea618b5ff8d9ae3438b2773611316 Mon Sep 17 00:00:00 2001 From: Boris Grozev <boris@jitsi.org> Date: Sat, 20 Oct 2012 07:47:29 +0000 Subject: [PATCH] Fixes a bug with the number of discarded packets not being logged correctly. --- .../jitsi/impl/neomedia/MediaStreamImpl.java | 28 ++++++++++++------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/src/org/jitsi/impl/neomedia/MediaStreamImpl.java b/src/org/jitsi/impl/neomedia/MediaStreamImpl.java index 222ca684..f2d92499 100644 --- a/src/org/jitsi/impl/neomedia/MediaStreamImpl.java +++ b/src/org/jitsi/impl/neomedia/MediaStreamImpl.java @@ -537,6 +537,12 @@ protected CsrcTransformEngine getCsrcEngine() */ public void close() { + /* Some statistics cannot be taken from the RTP manager and have to + * be gathered from the ReceiveStream. We need to do this before + * calling stop(). */ + if(logger.isInfoEnabled()) + printReceiveStreamStatistics(); + stop(); closeSendStreams(); @@ -2688,16 +2694,6 @@ private void printFlowStatistics(StreamRTPManager rtpManager) .append("\n").append(StatisticsEngine.RTP_STAT_PREFIX) .append("unknown types: ").append(rs.getUnknownTypes()); - /* The number of discarded packets is not available in - * <tt>GlobalReceptionStats</tt>. Neither is the number of - * decoded using FEC. */ - buff.append("\n").append(StatisticsEngine.RTP_STAT_PREFIX) - .append("discarded RTP packets: ") - .append(mediaStreamStatsImpl.getNbDiscarded()) - .append("\n").append(StatisticsEngine.RTP_STAT_PREFIX) - .append("decoded with FEC: ") - .append(mediaStreamStatsImpl.getNbFec()); - logger.info(buff); } catch(Throwable t) @@ -2706,6 +2702,18 @@ private void printFlowStatistics(StreamRTPManager rtpManager) } } + private void printReceiveStreamStatistics() + { + mediaStreamStatsImpl.updateStats(); + StringBuilder buff = new StringBuilder("\nReceive stream stats: " + + "discarded RTP packets: ") + .append(mediaStreamStatsImpl.getNbDiscarded()) + .append("\n").append("Receive stream stats: " + + "decoded with FEC: ") + .append(mediaStreamStatsImpl.getNbFec()); + logger.info(buff); + } + /** * Sets the <tt>RTPTranslator</tt> which is to forward RTP and RTCP traffic * between this and other <tt>MediaStream</tt>s. -- GitLab