From bc06d70770171d6120e240e6572b8526d55381dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alex=20Villac=C3=ADs=20Lasso?= Date: Fri, 25 Aug 2006 13:43:59 -0500 Subject: [PATCH] quartz: Skip over INFO chunk in AVI file parsing. --- dlls/quartz/avisplit.c | 2 +- dlls/quartz/fourcc.h | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/dlls/quartz/avisplit.c b/dlls/quartz/avisplit.c index 480a7d389c6..f1eff8952bf 100644 --- a/dlls/quartz/avisplit.c +++ b/dlls/quartz/avisplit.c @@ -550,7 +550,7 @@ static HRESULT AVISplitter_InputPin_PreConnect(IPin * iface, IPin * pConnectPin) pos += sizeof(RIFFCHUNK) + list.cb; hr = IAsyncReader_SyncRead(This->pReader, pos, sizeof(list), (BYTE *)&list); - if (list.fcc == ckidJUNK) + while (list.fcc == ckidJUNK || (list.fcc == ckidLIST && list.fccListType == ckidINFO)) { pos += sizeof(RIFFCHUNK) + list.cb; hr = IAsyncReader_SyncRead(This->pReader, pos, sizeof(list), (BYTE *)&list); diff --git a/dlls/quartz/fourcc.h b/dlls/quartz/fourcc.h index a21910ce286..317b4321d7d 100644 --- a/dlls/quartz/fourcc.h +++ b/dlls/quartz/fourcc.h @@ -34,6 +34,7 @@ #define ckidRIFF aviFCC('R','I','F','F') #define ckidLIST aviFCC('L','I','S','T') #define ckidJUNK aviFCC('J','U','N','K') +#define ckidINFO aviFCC('I','N','F','O') #define ckidHEADERLIST aviFCC('h','d','r','l') #define ckidAVIMOVIE aviFCC('m','o','v','i') #define ckidSTREAMNAME aviFCC('s','t','r','n')