[prev in list] [next in list] [prev in thread] [next in thread]
List: helix-protocol-cvs
Subject: [Protocol-cvs] rtsp rtspclnt.cpp,1.212,1.213
From: rrajesh () helixcommunity ! org
Date: 2007-01-11 20:05:13
Message-ID: 200701112010.l0BKALVe002404 () dombackupmx2 ! xen ! 10east ! com
[Download RAW message or body]
Update of /cvsroot/protocol/rtsp
In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv5889
Modified Files:
rtspclnt.cpp
Log Message:
"Nokia submits this code under the terms of a commercial contribution agreement with \
RealNetworks, and I am authorized to contribute this code under said agreement."
Modified by: rajesh.rathinasamy@nokia.com
Reviewed by:
Date: 10-Jan-2007
Project: SymbianMmf
ErrorId: EOVL-6XBTKL
Synopsis: CR: Fix for failure to switch to tcp transport when udp ports are blocked. \
Problem: All udp ports are blocked on the router or on server (used iptables on linux \
OS). When we try to stream a clip, the client first tries to establish RTSP \
connection and waits for UDP data. Since UDP ports were blocked there was UDP timeout \
should occur and the client should switch to next transport. Instead of transport \
switch, we say server timeout. The transport switch happens properly if the UDP \
timeout value is smaller than ServerTimeout value.
The current transport mode on rtspclnt.cpp is intialized to TCPMode. From what I \
understand, the current transport mode indicates the media transport protocol. \
Changes are based on this assumption.
If the current transport is TCP or HTTPCloak, RTSPClientProtocol::handleMessage \
(during 200 OK for OPTIONS) sets the lastPackettimestamp on RTSPProtocol. Setting \
this variable makes the server timeout handling active on RTSPProtocol::process. The \
current tarnsport changes to UDP mode after describe response and session setup. This \
change in mode will avoid any more update to the last packet received time on \
RTSPProtocol. And since there are no incoming UDP data because of port blocking, the \
server timeout fires on the RTSPProtocol.
As a change I have initialized the current transport mode on RTSPClientProtocol to \
unknownMode instead of TCPMode.
Root Cause of the problem: Implementation phase
Files Modified:
protocol/rtsp/rtspclnt.cpp
Image Size and Heap Use impact: no major impact
Module Release testing (STIF) : Pass
Test case(s) Added : No. Reproduction of problem includes blocking of port on \
router
Memory leak check performed : Yes. No new leaks introduced.
Platforms and Profiles Build Verified: helix-client-s60-32-mmf-mdf-arm
Platforms and Profiles Functionality verified: armv5, winscw
Branch: Head & 210CayS
Index: rtspclnt.cpp
===================================================================
RCS file: /cvsroot/protocol/rtsp/rtspclnt.cpp,v
retrieving revision 1.212
retrieving revision 1.213
diff -u -d -r1.212 -r1.213
--- rtspclnt.cpp 26 Dec 2006 12:10:36 -0000 1.212
+++ rtspclnt.cpp 11 Jan 2007 20:05:10 -0000 1.213
@@ -2373,7 +2373,7 @@
m_cloakPort(0),
m_pMutex(NULL),
m_uProtocolType(0),
- m_currentTransport(TCPMode),
+ m_currentTransport(UnknownMode),
m_ulBufferDepth(BUFFER_DEPTH_UNDEFINED),
m_bSplitterConsumer(FALSE),
m_pPacketFilter(NULL),
_______________________________________________
Protocol-cvs mailing list
Protocol-cvs@helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/protocol-cvs
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic