Maarten Lankhorst : quartz: Make the avi splitter skip index headers.

Alexandre Julliard julliard at winehq.org
Wed Apr 16 08:09:52 CDT 2008


Module: wine
Branch: master
Commit: f66ad4dbe0433b6679d61f6a147b2cb5e3712fae
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=f66ad4dbe0433b6679d61f6a147b2cb5e3712fae

Author: Maarten Lankhorst <m.b.lankhorst at gmail.com>
Date:   Fri Apr 11 16:40:56 2008 -0700

quartz: Make the avi splitter skip index headers.

---

 dlls/quartz/avisplit.c |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/dlls/quartz/avisplit.c b/dlls/quartz/avisplit.c
index ce44f95..7a7baff 100644
--- a/dlls/quartz/avisplit.c
+++ b/dlls/quartz/avisplit.c
@@ -138,6 +138,7 @@ static HRESULT AVISplitter_Sample(LPVOID iface, IMediaSample * pSample)
         WORD streamId;
         Parser_OutputPin * pOutputPin;
         BOOL bSyncPoint = TRUE;
+        BYTE *fcc = (BYTE *)&This->CurrentChunk.fcc;
 
         if (This->CurrentChunkOffset >= tStart)
             offset_src = (long)BYTES_FROM_MEDIATIME(This->CurrentChunkOffset - tStart) + sizeof(RIFFCHUNK);
@@ -196,6 +197,13 @@ static HRESULT AVISplitter_Sample(LPVOID iface, IMediaSample * pSample)
 #endif
         }
 
+        if (fcc[0] == 'i' && fcc[1] == 'x')
+        {
+            if (S_FALSE == AVISplitter_NextChunk(&This->CurrentChunkOffset, &This->CurrentChunk, &tStart, &tStop, pbSrcStream, FALSE))
+                bMoreData = FALSE;
+            continue;
+        }
+
         streamId = StreamFromFOURCC(This->CurrentChunk.fcc);
 
         if (streamId > This->Parser.cStreams)




More information about the wine-cvs mailing list