[prev in list] [next in list] [prev in thread] [next in thread]
List: helix-protocol-cvs
Subject: [Protocol-cvs] transport/rtp rtptran.cpp,1.47.2.20,1.47.2.21
From: jrmoore () helixcommunity ! org
Date: 2006-01-21 1:53:28
[Download RAW message or body]
Update of /cvsroot/protocol/transport/rtp
In directory cvs:/tmp/cvs-serv18059
Modified Files:
Tag: SERVER_10_1_STABLE
rtptran.cpp
Log Message:
Synopsis
========
RTP live packet losses not logged in custom log
Fix for: https://bugs.dev.prognet.com/show_bug.cgi?id=156159
Branches: SERVER_10_1
Reviewers: skharkar
Description
===========
Live packet losses don't get reported. Also estimates of RTT and
received throughput are missed.
Solution: ReportHandler ssrc's are created for on-demand and so they
always match as expected for OnDemand or SLTA live. For encoder-based live,
we need to compare ReflectionHandler ssrc's instead.
Files Affected
==============
Modified:
protocol/transport/rtp/rtptran.cpp
protocol/transport/rtp/pub/rtcputil.h
Testing Performed
=================
Unit Tests: Tested that server runs.
Integration Tests: Tested on-demand, SLTA and live with packet-loss created
by unplugging the ethernet cable and verifying that packet-loss is logged.
Leak Tests: n/a
Performance Tests: n/a
Platforms Tested: sunos-5.8.solaris-server
Build verified: linux-2.2-libc6-i586-server, sunos-5.8.solaris-server
QA Hints
===============
None
Index: rtptran.cpp
===================================================================
RCS file: /cvsroot/protocol/transport/rtp/rtptran.cpp,v
retrieving revision 1.47.2.20
retrieving revision 1.47.2.21
diff -u -d -r1.47.2.20 -r1.47.2.21
--- rtptran.cpp 19 Jan 2006 05:15:16 -0000 1.47.2.20
+++ rtptran.cpp 21 Jan 2006 01:53:26 -0000 1.47.2.21
@@ -2915,7 +2915,11 @@
{
for (UINT32 i = 0; i < pPkt->count; i++)
{
- if (pPkt->rr_data[i].ssrc == m_pReportHandler->GetSSRC())
+ // For RTP live we need to check the ReflectionHandler
+ if ((m_pDataTransport && m_pDataTransport->m_ulPayloadWirePacket &&
+ m_pDataTransport->m_pReflectionHandler &&
+ pPkt->rr_data[i].ssrc == m_pDataTransport->m_pReflectionHandler->GetSSRC()) ||
+ (pPkt->rr_data[i].ssrc == m_pReportHandler->GetSSRC()))
{
pTmp->SetSize(sizeof(ReceptionReport));
ReceptionReport* pRR = (ReceptionReport*)pTmp->GetBuffer();
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic