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

List:       helix-server-cvs
Subject:    [Server-cvs] engine/session clientsession.cpp,1.80,1.81
From:       dsingh () helixcommunity ! org
Date:       2007-12-28 10:02:44
Message-ID: 200712281002.lBSA2vc6028140 () mailer ! progressive-comp ! com
[Download RAW message or body]

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

Modified Files:
	clientsession.cpp 
Log Message:
Synopsis
========
Fix for
Bug 210311: CA and playback stops or rebuffer and no resume about half the time \
switching from OD to live

Branches: SEREVR_12_RN , HEAD.
Suggested Reviewer: Jamie Gordon, JJ Zeng.

Description
===========
There are two problems in this bug.
1). The player rebuffers, "Communicating..."
 This is due to when we switch to live and if the first frame that is comming from \
new source is not a key frame, we are returning  error from function
 BasePacketShim::AdjustTimeStamp()
 at cndition
        if(!(pPacket->GetASMFlags() & HX_ASM_SWITCH_ON))
        {
            return NULL;
        } 
 
 So this condition is handled properly by calling GetPacket().


2). The server CAs and the playback stops
 This is happening because of function ConfigureSourceFCSSpecific() being called from \
  ClientSession::SwitchDone().
 This function should not get called for switch to live. So call restricted for only \
PPM OD. 

Files Affected
==============
/server/engine/inpusource/ppmstaticshim.cpp
/server/engine/inpusource/base_shim.cpp
/server/engine/session/clientsession.cpp

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

Unit Tests:
-None

Integration Tests:
-Some basic testing is done on windows build, no "communicating.." is observed on \
player. Let the QA come with full testing.

Leak Tests:
-None

Performance Tests:
-None

Platforms Tested: win32-i386-vc7
Build verified: win32-i386-vc7

QA Hints
===============
-This should also improve the playback quality after switch.




Index: clientsession.cpp
===================================================================
RCS file: /cvsroot/server/engine/session/clientsession.cpp,v
retrieving revision 1.80
retrieving revision 1.81
diff -u -d -r1.80 -r1.81
--- clientsession.cpp	27 Dec 2007 06:00:57 -0000	1.80
+++ clientsession.cpp	28 Dec 2007 10:02:41 -0000	1.81
@@ -5338,7 +5338,7 @@
     {
         ConfigureSource();
 
-        if (!m_bUseMDP)
+        if (!m_bUseMDP && !m_pCurrentSwitch->m_pSwitchSource->IsLive())
         {
             status = ConfigureSourceFCSSpecific();
         }


_______________________________________________
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