[prev in list] [next in list] [prev in thread] [next in thread]
List: helix-server-cvs
Subject: [Server-cvs] engine/inputsource ppmstaticshim.cpp,1.18,1.19
From: dsingh () helixcommunity ! org
Date: 2007-12-28 10:08:32
Message-ID: 200712281008.lBSA8fgs028549 () mailer ! progressive-comp ! com
[Download RAW message or body]
Update of /cvsroot/server/engine/inputsource
In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv20806
Modified Files:
ppmstaticshim.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: ppmstaticshim.cpp
===================================================================
RCS file: /cvsroot/server/engine/inputsource/ppmstaticshim.cpp,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -d -r1.18 -r1.19
--- ppmstaticshim.cpp 26 Dec 2007 22:11:07 -0000 1.18
+++ ppmstaticshim.cpp 28 Dec 2007 10:08:29 -0000 1.19
@@ -211,6 +211,18 @@
UINT32 ulRTPCurTS = 0;
HX_RESULT ulRet = HXR_OK;
+ if (pPacket != NULL)
+ {
+ UINT16 unStreamNumber = pPacket->GetStreamNumber();
+ if(m_pStreamInfo[unStreamNumber].uNewclip)
+ {
+ if(!(pPacket->GetASMFlags() & HX_ASM_SWITCH_ON))
+ {
+ GetPacket(unStreamNumber);
+ return HXR_OK;
+ }
+ }
+ }
pBuffer = ParsePacket(pPacket, ulRTPCurTS);
if (m_bWirePayload && pBuffer)
_______________________________________________
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