[prev in list] [next in list] [prev in thread] [next in thread]
List: helix-server-cvs
Subject: [Server-cvs] protocol/cloaked rn1cloak.cpp,1.25,1.26
From: ckarusala () helixcommunity ! org
Date: 2010-03-23 19:17:02
Message-ID: 201003231916.o2NJGwIX017481 () mailer ! progressive-comp ! com
[Download RAW message or body]
Update of /cvsroot/server/protocol/cloaked
In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv6438
Modified Files:
rn1cloak.cpp
Log Message:
Synopsis
========
This CR fixes PR 259657: Helixsim isn't correctly playing RTP live
feeds via cloaking over MDP
Branch : SERVER_14_0_RN, HEAD
Suggested Reviewer : Jamie, Dean
Description:
==========
If the RTCP feedback on the post channel is ending with a 'h'
(HTTP_POSTDONE), then the post handler is stripping it off and
forwarding the rest of the message to CRTSPBaseProtocol. But since
RTSP was expecting this additional byte, it is waiting for the next
packet and using the first byte from that packet ('$' ) to complete
the previous request. And when it starts processing the second
request, it is getting confused because the message is not starting
with '$' and hence creating a RTSPRequestMessage consumer which is
returning error RTSP_RES_INVALID causing the connection close.
Since we are not dealing with 'h' (other than stripping it off) after
detecting it at the end of the message in single post mode, the fix
is to only look for 'h' when we are in multipost mode.
Files Affected
==============
server/protocol/cloaked/rn1cloak.cpp
Testing Performed
=================
Unit Tests:
- Verified RTP live playback does not randomly stop and continues to
play (played up to 10 minutes)
- Verified with debug stmtms that we are getting 'h' in the feedback
but are continuing to stream fine.
Integration Tests:
- None
Leak Tests:
- None.
Performance Tests:
- None
Build verified: sunos-5.10-sparc-server
Platform tested : sunos-5.10-sparc-server
Thanks,
Chytanya
Index: rn1cloak.cpp
===================================================================
RCS file: /cvsroot/server/protocol/cloaked/rn1cloak.cpp,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -d -r1.25 -r1.26
--- rn1cloak.cpp 6 Jun 2009 12:10:28 -0000 1.25
+++ rn1cloak.cpp 23 Mar 2010 19:17:00 -0000 1.26
@@ -716,7 +716,11 @@
return 0;
}
- if (pDecData[iDecLen - 1] == HTTP_POSTDONE)
+
+ // Check for 'h' (HTTP_POSTDONE) only if we are in multipost mode.
+ if (m_pConn &&
+ (m_pConn->GetCloakMode() & CLOAK_MODE_MULTIPOST) &&
+ pDecData[iDecLen - 1] == HTTP_POSTDONE)
{
if (pDecData[0] == '$' && iDecLen >= 4)
{
_______________________________________________
Server-cvs mailing list
Server-cvs@helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/server-cvs
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic