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

List:       helix-server-cvs
Subject:    [Server-cvs] engine/dataflow/pub rsdpacketq.h,1.4,1.4.20.1
From:       rasher () helixcommunity ! org
Date:       2007-12-28 7:39:13
Message-ID: 200712280739.lBS7dKp4019257 () mailer ! progressive-comp ! com
[Download RAW message or body]

Update of /cvsroot/server/engine/dataflow/pub
In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv32550

Modified Files:
      Tag: SERVER_12
	rsdpacketq.h 
Log Message:
Synopsis
  ==========

 Poor quality live stream with multiple SLTAs and FCS.

 Branches           :  HEAD , SERVER_12_RN
 Suggested Reviewer :  Jamie

   Description
   ============
      When we play a live stream with FCS we see quality of video
degrading after some time.The reason behing this is that the server
discards some packets and does not pass it on to its sink(the Shim).
   The reason is that LiveSourceWrapper has a data member CRSDPacketQueue
which contains a list and a PacketBufferQueue.When a GetPacket of the
LiveSource is called it calls the packet queue's GetPacket where
packets are taken from the list or PacketBufferQueue.If packets are
taken from buffer queue,m_ulSize is decremented even though a AddPacket
is not called.
So m_ulSize becomes less than 0 at some point of time and when AddPacket
is called the condition
 m_ulSize > m_ulMaxSize  ( -1 > 2000) is true as m_ulSize is UINT32.So some of
the packets are discarded and not added as this condition fails.

  Fix
 ==========
   Changed the data type of m_ulSize and m_ulMaxSize to INT32.Now the
condition evaluates to False and quality is maintained.


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

   server\engine\inputsource\live_source_wrapper.cpp
   server\engine\dataflow\pub\rsdpacketq.h

   Testing Performed
  =================
Functional-Testing:
    Checked that a live clip with slta and fcs url plays using 3 copies of
realvideo10.rm and quality does not degrade after a period of time.

 Leak-Tests:
    n/a

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


 Thanks
 Raj  Asher




Index: rsdpacketq.h
===================================================================
RCS file: /cvsroot/server/engine/dataflow/pub/rsdpacketq.h,v
retrieving revision 1.4
retrieving revision 1.4.20.1
diff -u -d -r1.4 -r1.4.20.1
--- rsdpacketq.h	16 Oct 2006 21:34:18 -0000	1.4
+++ rsdpacketq.h	28 Dec 2007 07:39:10 -0000	1.4.20.1
@@ -76,8 +76,8 @@
     UINT32                              m_pTailPacketTS;
     BOOL                                m_bQueueDone;
     IHXPacket*                          m_pHeadPacket;
-    UINT32                              m_ulSize;
-    UINT32                              m_ulMaxSize;
+    INT32                               m_lSize;
+    INT32                               m_lMaxSize;
 
 
     IHXPacket* GetHeadPacket();


_______________________________________________
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