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

List:       helix-datatype-cvs
Subject:    [Datatype-cvs] avi/fileformat aviffpln.cpp,1.12.14.5,1.12.14.6
From:       dushyantvipradas () helixcommunity ! org
Date:       2010-05-27 15:50:33
Message-ID: 201005271550.o4RFoZ2D031961 () mailer ! progressive-comp ! com
[Download RAW message or body]

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

Modified Files:
      Tag: hxclient_4_2_0_brizo
	aviffpln.cpp 
Log Message:
Error ID: PTLE-85SG6J  
 
Synopsis: Multiple Helix related crashes after copying certain AVI file to device
 
Problem: 2 cases are currently not handled in avi2.0 fileformat. 
1.	JUNK data with size 0: If the valid size of JUNK data is 0, then the \
minifileobject returns an error for size 0 bytesread.  2.	strn subchunk type: strl \
list type currently does not include support for strn type chunk. Hence when we \
encounter a strn chunk we skip the remaining part of strl list which might contain \
other chunks.   
Solution: For case 1, skipping the size 0 read solves the problem. For case 2, \
support to recognize strn chunk is added but it is not implemented.   
Files Modified: 
\datatype\avi\fileformat\aviffpln.cpp


Index: aviffpln.cpp
===================================================================
RCS file: /cvsroot/datatype/avi/fileformat/aviffpln.cpp,v
retrieving revision 1.12.14.5
retrieving revision 1.12.14.6
diff -u -d -r1.12.14.5 -r1.12.14.6
--- aviffpln.cpp	26 May 2010 15:43:29 -0000	1.12.14.5
+++ aviffpln.cpp	27 May 2010 15:50:30 -0000	1.12.14.6
@@ -87,6 +87,7 @@
 #define AVI_STRH_CHUNK      0x73747268 /* 'strh' */
 #define AVI_STRF_CHUNK      0x73747266 /* 'strf' */
 #define AVI_STRD_CHUNK      0x73747264 /* 'strd' */
+#define AVI_STRN_CHUNK      0x7374726e /* 'strn' */
 #define AVI_MOVI_TYPE       0x6d6f7669 /* 'movi' */
 #define AVI_RECORD_TYPE     0x72656320 /* 'rec ' */
 #define AVI_INFO_CHUNK      0x494e464f /* 'INFO' */
@@ -957,6 +958,7 @@
                     case AVI_STRF_CHUNK:
                     case AVI_STRH_CHUNK:
                     case AVI_STRD_CHUNK:
+                    case AVI_STRN_CHUNK:                      
 #ifdef HELIX_FEATURE_AVI2					
 					          case AVI_VPRP_CHUNK:                           
                     case AVI_INDX_CHUNK:
@@ -1067,8 +1069,16 @@
                     break;
 
                 default:
-                    m_state = AS_INFORead;
-                    m_pGeneralReader->Read(len);
+                    if(len ==0)
+                    {           // skip JUNK with size 0
+                        m_state = AS_INFOScan;
+                        m_pGeneralReader->FindNextChunk();
+                    }
+                    else
+                    {
+                        m_state = AS_INFORead;
+                        m_pGeneralReader->Read(len);                    
+                    }
             }
             break;
         default:
@@ -1292,6 +1302,11 @@
                     pStream->SetOpaque(pBuffer);
                 }
                 break;
+                case AVI_STRN_CHUNK:
+                {
+					        	// Not_Implemented		                    
+                }
+                break;
 #ifdef HELIX_FEATURE_AVI2
                 case AVI_VPRP_CHUNK:
                 {


_______________________________________________
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