[prev in list] [next in list] [prev in thread] [next in thread]
List: helix-server-cvs
Subject: [Server-cvs] protocol/rtsp crtspbase.cpp, 1.20.2.25.2.12,
From: jzeng () helixcommunity ! org
Date: 2009-02-23 20:16:59
Message-ID: 200902232021.n1NKLAXk022500 () mailer ! progressive-comp ! com
[Download RAW message or body]
Update of /cvsroot/server/protocol/rtsp
In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv23093
Modified Files:
Tag: SERVER_12_1
crtspbase.cpp
Log Message:
Synopsis
========
fix proxy splitting for rtp packets
Branches: head, server_12_1
Suggested Reviewer: Chytanya, Jamie
Description
===========
To identify a splitting rtsp connection from a columbia or legacy proxy, we need to add a header in
the OPTIONS request to identify the columbia proxy, since the legacy bcng clients didn't send any
headers to identify its version.
My previous fix was wrong: I identify the accounting connection instead of the splitting connection.
Files Affected
==============
server-restricted/protocol/rtsp-bcng/bcngclient.cpp
server/protocol/rtsp/crtspbase.cpp
server/protocol/rtsp/pub/crtspbase.h
Testing Performed
=================
Unit Tests:
None.
Integration Tests:
Verify splitting from both columbia and legacy proxies.
Leak Tests:
None.
Performance Tests:
- None
Platforms Tested: linux-rhel5-i686
Build verified: linux-rhel5-i686
Index: crtspbase.cpp
===================================================================
RCS file: /cvsroot/server/protocol/rtsp/crtspbase.cpp,v
retrieving revision 1.20.2.25.2.12
retrieving revision 1.20.2.25.2.13
diff -u -d -r1.20.2.25.2.12 -r1.20.2.25.2.13
--- crtspbase.cpp 20 Feb 2009 00:59:39 -0000 1.20.2.25.2.12
+++ crtspbase.cpp 23 Feb 2009 20:16:56 -0000 1.20.2.25.2.13
@@ -318,7 +318,8 @@
m_b3gppORhlxAdaptationHandledOnSetup(TRUE),
m_bOldRTPTS(FALSE),
m_bRealPlayer(TRUE),
- m_pViaHeader(NULL)
+ m_pViaHeader(NULL),
+ m_ulBCNGClientVersion(0)
{
m_pSessions = new CHXMapStringToOb;
m_pSessionStatsObjIDs = new CHXMapStringToOb;
@@ -1012,6 +1013,16 @@
m_clientType = PLAYER_CLIENT;
}
+ if (HXR_OK == pMsg->GetHeader("BCNGVersionNumber", pHdr))
+ {
+ IHXBuffer* pSplitterVersion = 0;
+ pHdr->GetValueAsBuffer(pSplitterVersion);
+
+ m_ulBCNGClientVersion = atoi((char*)pSplitterVersion->GetBuffer());
+ HX_RELEASE(pSplitterVersion);
+ HX_RELEASE(pHdr);
+ }
+
if (HXR_OK == pMsg->GetHeader("Pragma", pHdr))
{
IHXBuffer* pBufVal = NULL;
@@ -8330,7 +8341,7 @@
if (usType == FINISH_SETUP)
{
rc = pInstantiator->SetupTransportBCNGUdpTcpMcast(pSession, pStreamInfo,
- spTransParams.Ptr(), usStream, IsPre12dot1Proxy(m_pViaHeader));
+ spTransParams.Ptr(), usStream, m_ulBCNGClientVersion < 2);
if (SUCCEEDED(rc))
{
_______________________________________________
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