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

List:       helix-protocol-cvs
Subject:    [Protocol-cvs] transport/common/system/pub transbuf.h,1.14,1.15
From:       rrajesh () helixcommunity ! org
Date:       2007-01-08 17:36:07
Message-ID: 200701081736.l08HaZVt031778 () mailer ! progressive-comp ! com
[Download RAW message or body]

Update of /cvsroot/protocol/transport/common/system/pub
In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv18134/pub

Modified Files:
	transbuf.h 
Log Message:
"Nokia submits this code under the terms of a commercial contribution agreement with \
RealNetworks, and I am authorized to contribute this code under said agreement."

Modified by:  rajesh.rathinasamy@nokia.com

Reviewed by: 

Date: 04-Jan-2007

Project: SymbianMmf

ErrorId:  EOVL-6U82QD  

Synopsis:  CR: Fix for inconsistency in packet queue emptiness handling in \
RTSPTransportBuffer

    There is an inconsistency in the PacketQueue size handling in \
RTSPTransportBuffer. There is a member variable m_bQueueIsEmpty to track the \
emptiness of the packet queue. During a Seek(Resume) case, the boolean variable \
m_bQueueIsEmpty indicates that the Q has one or more packet, but the Q is empty. The \
Boolean variable is false and the size of packetqueue is zero.  This results in \
accessing the front and rear packets in the Q which in turn results in a crash.

Solution is to remove the boolean variable and use the packetqueue to obtain the \
emptiness.


Root Cause of the problem:  Implementation phase
  
Files Modified:
protocol/transport/common/system/transbuf.cpp
protocol/transport/common/system/pub/transbuf.h

Image Size and Heap Use impact: no major impact

Module Release testing (STIF) :  Pass 

Test case(s) Added  :  No.  Reproduction of problem does not have a determined \
procedure. Very hard to reproduce.

Memory leak check performed : Yes.  No new leaks introduced.  

Platforms and Profiles Build Verified: helix-client-s60-32-mmf-mdf-arm

Platforms and Profiles Functionality verified: armv5, winscw 

      Branch: Head & 210CayS


Index: transbuf.h
===================================================================
RCS file: /cvsroot/protocol/transport/common/system/pub/transbuf.h,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -d -r1.14 -r1.15
--- transbuf.h	14 Nov 2006 21:25:17 -0000	1.14
+++ transbuf.h	8 Jan 2007 17:36:04 -0000	1.15
@@ -57,8 +57,8 @@
 #include "cachobj.h"
 
 #include "hxthread.h"
+#include "hxdeque.h"
 
-class HX_deque;
 class ClientPacket;
 class RTSPTransport;
 
@@ -193,6 +193,9 @@
     void Func();
 
 private:
+
+    inline HXBOOL IsQueueEmpty();
+
     class RTSPTransportBufferCallback : public IHXCallback
     {
     public:
@@ -240,7 +243,6 @@
     HXBOOL		m_bWaitingForLiveSeekFlush;
     HXBOOL		m_bFlushHolding;
     HXBOOL		m_bIsEnded;
-    HXBOOL		m_bQueueIsEmpty;
     HXBOOL		m_bStreamBegin;
     HXBOOL		m_bStreamDone;
     HXBOOL		m_bSourceStopped;
@@ -339,4 +341,15 @@
     return m_ulByteLimit;
 }
 
+inline HXBOOL 
+RTSPTransportBuffer::IsQueueEmpty()
+{
+    HXBOOL bRet = TRUE;
+    if(m_pPacketDeque != NULL)
+    {
+        bRet = m_pPacketDeque->empty();
+    }
+    return bRet;
+}
+
 #endif /* _TRANSPORT_BUFFER_H_ */


_______________________________________________
Protocol-cvs mailing list
Protocol-cvs@helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/protocol-cvs


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

Configure | About | News | Add a list | Sponsored by KoreLogic