mciavi synchro fix

Eric Pouech pouech-eric at wanadoo.fr
Tue Jan 27 14:14:48 CST 2004


this patch fixes a lockout situation in wine mci AVI player (reported by 
Mike McCormack)
A+
-------------- next part --------------
Name:          mciavi
ChangeLog:     fixed synchro issue
License:       X11
GenDate:       2004/01/27 20:09:14 UTC
ModifiedFiles: dlls/winmm/mciavi/mmoutput.c
===================================================================
RCS file: /home/cvs/cvsroot/wine/wine/dlls/winmm/mciavi/mmoutput.c,v
retrieving revision 1.11
diff -u -u -r1.11 mmoutput.c
--- dlls/winmm/mciavi/mmoutput.c	5 Jan 2004 23:07:27 -0000	1.11
+++ dlls/winmm/mciavi/mmoutput.c	24 Jan 2004 06:36:17 -0000
@@ -563,7 +563,10 @@
 	ResetEvent(wma->hEvent);
 	if (InterlockedDecrement(&wma->dwEventCount) < 0 ||
 	    !wma->lpAudioIndex[wma->dwCurrAudioBlock].dwOffset)
+        {
+            InterlockedIncrement(&wma->dwEventCount);
 	    break;
+        }
 
 	mmioSeek(wma->hFile, wma->lpAudioIndex[wma->dwCurrAudioBlock].dwOffset, SEEK_SET);
 	mmioRead(wma->hFile, waveHdr[whidx].lpData, wma->lpAudioIndex[wma->dwCurrAudioBlock].dwSize);
@@ -573,7 +576,6 @@
 	waveOutWrite(wma->hWave, &waveHdr[whidx], sizeof(WAVEHDR));
 	wma->dwCurrAudioBlock++;
     }
-    InterlockedIncrement(&wma->dwEventCount);
 }
 
 LRESULT MCIAVI_PaintFrame(WINE_MCIAVI* wma, HDC hDC)


More information about the wine-patches mailing list