[prev in list] [next in list] [prev in thread] [next in thread] 

List:       helix-client-cvs
Subject:    [Client-cvs] core hxntsrc.cpp,1.165.14.5,1.165.14.6
From:       jcroker () helixcommunity ! org
Date:       2012-02-16 11:18:50
[Download RAW message or body]

Update of /cvsroot/client/core
In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv27676

Modified Files:
      Tag: hxclient_4_2_0_brizo
	hxntsrc.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: ext-debashis.2.panigrahi@nokia.com

Reviewed by: : qluo@realnetworks.coms
               ext-stephen.lilly@nokia.com 
               ext-prasoon.jaiswal@nokia.com

TSW Id: ou1cimx1#975227

Date: 02/14/2011

Project: SymbianMmf_wm

Synopsis: No error message on RTSP 404 Not Found - continues retries.

Overview: Here the referenced stream from a preloaded SDP (session description \
protocol) file cannot be found on the streaming server and a RTSP 404 Not Found is \
send as response from the server, but the streaming client doesn't stop the RTSP \
session establishment and doesn't throw an error message, but goes for continuous \
retires... This happens because at RTSP client we try to switch the transport in case \
of any error other than authentication related, while the streaming server keeps on \
sending 461-(Unsupported Transport) as response. After trying out TCP mode when HTTP \
Cloak mode is tried as HTTP mode is disabled during the switching operation, the \
current transport switches back again to TCP and this goes on forever.

Fix: The fix has two parts to it. At RTSP Client in handleSetupResponse() we are now \
checking if error returned by the server is 404, then just notify the client that the \
stream is not present, instead of going for Transport switch. This change is \
sufficient to stop the continuous retries, if stream is not found in the server but \
it will not handle other types of error at SETUP. Hence the second change, which is \
at network source, to address an inherent problem at helix due to which transport \
switch keeps on happening, even after trying out all the transport types, if the \
client receives errors like “461-unsupported transport” from the server. We are now \
checking if preferred transport type is HTTPCloakMode but the current transport type \
is still TCPMode (or if HTTP Cloak mode is disabled) then we should not go for any \
more transport switching.

Files modified & changes:
/cvsroot/protocol/rtsp/rtspclnt.cpp
/cvsroot/client/core/hxntsrc.cpp

Image Size and Heap Use impact: No major impact

Module Release testing (STIF): Yes

Test case(s) Added: No

Memory leak check performed: Passed, No additional leaks introduced.

Platforms and Profiles Build Verified: helix-client-s60-52-mmf-mdf-dsp

Platforms and Profiles Functionality verified: armv5

Branch: 420Brizo and HEAD

Index: hxntsrc.cpp
===================================================================
RCS file: /cvsroot/client/core/hxntsrc.cpp,v
retrieving revision 1.165.14.5
retrieving revision 1.165.14.6
diff -u -d -r1.165.14.5 -r1.165.14.6
--- hxntsrc.cpp	15 Feb 2012 12:43:34 -0000	1.165.14.5
+++ hxntsrc.cpp	16 Feb 2012 11:18:47 -0000	1.165.14.6
@@ -5423,7 +5423,8 @@
             m_PreferredTransport = TCPMode;
         }
 #if defined(HELIX_FEATURE_HTTPCLOAK)
-        else if (TCPMode == m_CurrentTransport)
+        // Stop switching of transport forever, in case if HTTP Cloak mode is \
disabled +        else if (TCPMode == m_CurrentTransport && HTTPCloakMode != \
m_PreferredTransport)  {
             m_PreferredTransport = HTTPCloakMode;
         }


_______________________________________________
Client-cvs mailing list
Client-cvs@helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/client-cvs


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic