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

List:       helix-datatype-cvs
Subject:    [Datatype-cvs] hw/renderer/h263 h263videoformat.cpp, 1.1.2.2,
From:       jain_1982s () helixcommunity ! org
Date:       2010-01-29 9:15:21
Message-ID: 201001290916.o0T9GrGH014004 () mailer ! progressive-comp ! com
[Download RAW message or body]

Update of /cvsroot/datatype/hw/renderer/h263
In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv10880

Modified Files:
      Tag: hxclient_3_4_11_atlas
	h263videoformat.cpp 
Log Message:
Fixing some memory leaks

Index: h263videoformat.cpp
===================================================================
RCS file: /cvsroot/datatype/hw/renderer/h263/h263videoformat.cpp,v
retrieving revision 1.1.2.2
retrieving revision 1.1.2.2.2.1
diff -u -d -r1.1.2.2 -r1.1.2.2.2.1
--- h263videoformat.cpp	23 Nov 2009 04:41:51 -0000	1.1.2.2
+++ h263videoformat.cpp	29 Jan 2010 09:15:18 -0000	1.1.2.2.2.1
@@ -131,7 +131,10 @@
 	m_pRssm = NULL;
     }
 
-    m_pCodecLib->Delete(&m_pVidDec);
+    if (m_pVidDec)
+    {
+        m_pCodecLib->Delete(&m_pVidDec);
+    }
     HX_DELETE(m_pCodecLib);
     _Reset();
 }
@@ -339,28 +342,26 @@
 		
             if (pNewBuffer)
             {
-                while(ulNewBufferSize)
-                {
-                    pFrameBuf=  (HX_FrameBuffer_t*)malloc(sizeof (HX_FrameBufferHdr_t) + ulDataSize);
-                    memset(pFrameBuf, 0, sizeof (HX_FrameBufferHdr_t) + ulDataSize);
-                    memcpy(pFrameBuf->data, pData, ulDataSize);
-                    pFrameBuf->hdr.frame.data_len = ulDataSize;
-                    pData+= ulDataSize;
-                    ulNewBufferSize = 0;
-                    pFrameBuf->hdr.frame.stream_num = 0;        // this is a don't care for now
-                    pFrameBuf->hdr.frame.flags = 1;             // flags this as an end-of-frame buffer
-                    pFrameBuf->hdr.frame.offset = 0;            // this is a don't care for now
-                    pFrameBuf->hdr.frame.timestamp = pPacket->GetTime();
+                pFrameBuf=  (HX_FrameBuffer_t*)malloc(sizeof (HX_FrameBufferHdr_t) + ulDataSize);
+                memset(pFrameBuf, 0, sizeof (HX_FrameBufferHdr_t) + ulDataSize);
+                memcpy(pFrameBuf->data, pData, ulDataSize);
+                pFrameBuf->hdr.frame.data_len = ulDataSize;
+                pData+= ulDataSize;
+                pFrameBuf->hdr.frame.stream_num = 0;        // this is a don't care for now
+                pFrameBuf->hdr.frame.flags = 1;             // flags this as an end-of-frame buffer
+                pFrameBuf->hdr.frame.offset = 0;            // this is a don't care for now
+                pFrameBuf->hdr.frame.timestamp = pPacket->GetTime();
 
-                    if (pFrameBuf)
-                    {
-                        m_pMutex->Lock();
-                        m_InputQueue.AddTail(pFrameBuf);
-                        m_pMutex->Unlock();
-                    }			
-                }	
-            }
+                if (pFrameBuf)
+                {
+                    m_pMutex->Lock();
+                    m_InputQueue.AddTail(pFrameBuf);
+                    m_pMutex->Unlock();
+                }			
+            }	
+            HX_RELEASE(pBuffer);
         }	
+        HX_RELEASE(pPacket);
     }
 
     return HXR_OK;


_______________________________________________
Datatype-cvs mailing list
Datatype-cvs@helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/datatype-cvs
[prev in list] [next in list] [prev in thread] [next in thread] 

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