[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