[prev in list] [next in list] [prev in thread] [next in thread]
List: helix-server-cvs
Subject: [Server-cvs] engine/session clientsession.cpp,1.81,1.82
From: rasher () helixcommunity ! org
Date: 2007-12-28 11:56:22
Message-ID: 200712281156.lBSBub2p003148 () mailer ! progressive-comp ! com
[Download RAW message or body]
Update of /cvsroot/server/engine/session
In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv31106
Modified Files:
clientsession.cpp
Log Message:
Synopsis
==========
Live Switching : The server returns "404 not found" for consecutive
switch requests.
Branches : HEAD , SERVER_12_RN
Suggested Reviewer : Jamie
Description
============
If a live clip is played then the 2nd switch request onwards fails.
The reason behind this was that when ClientSession::Switch is called it is
passed the new URL from FCSGetHandler but that Url is not stripped off its
"/" at the beginning.When the 1st switch request comes, and Broadcast
SplitAdviseSink's OnURL is called it compares the mount point with that of
the url(i.e. broadcast and /broadcast).It does not match so it turns off
the AllowanceWrappers's Sink.
When the 2nd switch( and any subsequent requests) come when the
AllowanceSerializer's OnUrl is called which calles the
AllowanceWrapper's OnURL ,it finds the sink is null so it sets the
status to reject playback.
So we need to strip the url of its '/' at the beginning
Fix
==========
In ClientSession::Switch getting past the '/' in the URL.
Files Affected
================
server\engine\session\clientsession.cpp
Testing Performed
=================
Functional-Testing:
Checked that when a live clip plays any subsequent requests are also
played and not rejected.
Leak-Tests:
no leaks related to this change.
Build verified :win32-i386-vc7
Platforms tested: win32-i386-vc7
Thanks
Raj Asher
Index: clientsession.cpp
===================================================================
RCS file: /cvsroot/server/engine/session/clientsession.cpp,v
retrieving revision 1.81
retrieving revision 1.82
diff -u -d -r1.81 -r1.82
--- clientsession.cpp 28 Dec 2007 10:02:41 -0000 1.81
+++ clientsession.cpp 28 Dec 2007 11:56:19 -0000 1.82
@@ -5248,6 +5248,11 @@
ServerRequest* pSwitchRequest = NULL;
CSwitchElement* pSwitchElement = NULL;
+ while (pNewURL && *pNewURL && *pNewURL == '/')
+ {
+ pNewURL++;
+ }
+
pSwitchRequest = CloneRequest(pNewURL);
if(pSwitchRequest == NULL)
_______________________________________________
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