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

List:       helix-datatype-cvs
Subject:    [Datatype-cvs] avi/fileformat avistrm.cpp,1.22.4.8,1.22.4.9
From:       shashikm () helixcommunity ! org
Date:       2010-05-25 16:27:57
Message-ID: 201005251628.o4PGSHpJ015576 () mailer ! progressive-comp ! com
[Download RAW message or body]

Update of /cvsroot/datatype/avi/fileformat
In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv9466

Modified Files:
      Tag: hxclient_4_2_0_brizo
	avistrm.cpp 
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:  ext-shashi.merapala@nokia.com  

Reviewed by:  ext-dushyant.vipradas@nokia.com, sfu@real.com 

Date:  05/25/2010

Project:  SymbianMmf_wm

Error Id:  ESLM-85JG65

Synopsis:  Video: Panic occurs when removing MMC during playing the MPEG4 (720p 25fps \
10Mbps) video

Overview:  The panics occur in the following two cases which are independent of each \
other –

[1] In this case, the panic occurs during AVI file format destruction and \
specifically when calling CRIFFReader::Close(). This is because the mini file object \
is being released and destroyed prematurely. Due to this, the crash occurs when the \
close call on the mini file object is called. This scenario arises because when there \
is a read error, the reference to the mini file object is added but is not appended \
to the read queue. But a reference is later deleted from the queue which leaves the \
number of references one less. This causes the panic when CRIFFReader::Close() tries \
to call the close call on the mini file object. Changes have been made to properly \
add the mini file object to the read queue.

[2] In this case, the panic occurs due to calling operations on an invalid buffer. \
Changes have been made to include a check for a valid buffer.

Solution:  Diffs attached
 
Files added:  None

Files modified:  \common\fileio\platform\symbian\hxdatasource_ccontent.cpp
                 \datatype\avi\fileformat\avistrm.cpp
                           
Image size and heap use impact:  None

Module release testing (STIF):  Done. Passed.

Test case(s) added:  No

Memory leak check performed:  NA

Platforms and profiles build verified:  helix-client-s60-52-mmf-mdf-dsp

Platforms and profiles functionality verified:  armv5, winscw 

Branch:  210CayS, HEAD, 420Brizo



Index: avistrm.cpp
===================================================================
RCS file: /cvsroot/datatype/avi/fileformat/avistrm.cpp,v
retrieving revision 1.22.4.8
retrieving revision 1.22.4.9
diff -u -d -r1.22.4.8 -r1.22.4.9
--- avistrm.cpp	21 May 2010 04:48:21 -0000	1.22.4.8
+++ avistrm.cpp	25 May 2010 16:27:55 -0000	1.22.4.9
@@ -2265,8 +2265,9 @@
             result = HXR_FAIL;
         }
     }
-    else
-#endif    
+    else 
+#endif 
+     if(pBuffer)    
     	{
 				HX_ASSERT(m_state == eChunkRead);
 				HX_ASSERT(CAVIFileFormat::GetStream(ENDIAN_SWAP_32(m_pReader->GetChunkType())) \
== m_usStream); @@ -2367,7 +2368,10 @@
 				
 				m_pOuter->IOEvent();
 		}
-    
+        else
+        {
+            result = HXR_FAIL;
+        }
     if(FAILED(status) && FAILED(result))
     {
         CloseStream();


_______________________________________________
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