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

List:       helix-server-cvs
Subject:    [Server-cvs] engine/inputsource ppmstaticshim.cpp,1.11,1.12
From:       rasher () helixcommunity ! org
Date:       2007-10-29 14:53:34
Message-ID: 200710291453.l9TErgTc012588 () mailer ! progressive-comp ! com
[Download RAW message or body]

Update of /cvsroot/server/engine/inputsource
In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv19466

Modified Files:
	ppmstaticshim.cpp 
Log Message:
Synopsis
 ==========

This CR is a fix for handling asynchronous request for FCS

Branches           :  HEAD
Suggested Reviewer :  Jamie

  Description
  ============

1)  When a switch-now request comes and the switch starts,shim is waiting
for a key frame and in that time a switch at end request comes.So the
switch now request should get completed and switch at end request should 
get queued.
2)  Taking care of some memory leak issues related to Current Switch and
switch request stack.

  Fix
 ===========

    The way switch request are handled is that all the switch requests are
pushed into a Stack and switchability Test for the Top of stack
starts.If the test passes the current switch(if exists) is replaced by
the switch request that passed the test.
   If Current switch request is a switch now request and it is waiting for
a key frame a Switch-at-end request passes the test, we cannot replace
the current switch as at the end of the current switch request the
switch-at-end request should start.So the switch-at-end request is
stored in m_pWaitingSwitch.After key frame CS::SwitchDone is called and
from here the switch is made for the switch-at-end request(i.e. new
source control's stream done watch is set).

2) Memory leaks issues for cases when current switch,waiting switch and
stack is containing switch request when the session is terminated.Written
a destructor for the stack class.


  Files Affected
 ================

  server\engine\session\clientsession.cpp
  server\engine\session\pub\clientsession.h
  server\engine\inputsource\ppmstaticshim.cpp
  server\engine\inputsource\pub\ppmstaticshim.h

  Testing Performed
 =================

Functional-Testing:
    Checked that a switching happens in all conditions and we get expected
behaviour for valid and invalid url.

 Leak-Tests:
   No Memory leaks due to these changes

Build verified  : win32-i386-vc7,linux-rhel14-i686,sunos-5.10-sparc-server
Platforms tested: win32-i386-vc7


 QA Hints
===========





Thanks
Raj  Asher


Index: ppmstaticshim.cpp
===================================================================
RCS file: /cvsroot/server/engine/inputsource/ppmstaticshim.cpp,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- ppmstaticshim.cpp	16 Oct 2007 10:10:38 -0000	1.11
+++ ppmstaticshim.cpp	29 Oct 2007 14:53:31 -0000	1.12
@@ -193,24 +193,6 @@
     }
 }
 
-/*
- This method Cancel Switch is for the case when current switch is a switch 
- now request and shim is waiting for a key frame but before key frame 
- comes a switch request having a Switch_At_end request passes the switchability
- Test.So I turn off the switch now request by calling this method CancelSwitch()
-
-*/
-
-void
-CPPMStaticShim::CancelSwitch()
-{
-    if(m_pSwitchPacketSource)
-    {
-        HX_RELEASE(m_pSwitchPacketSource);
-    }       
-    m_bSwitch = FALSE;
-}
-
 void 
 CPPMStaticShim::SwitchSource()
 {


_______________________________________________
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