WINMM problem with Half-Life
Eric Pouech
pouech-eric at wanadoo.fr
Fri Jan 23 14:44:59 CST 2004
>> yup. can you post a -debugmsg +mciavi trace
>> A+
>>
does this fix it ?
A+
-------------- next part --------------
Index: dlls/winmm/mciavi/mmoutput.c
===================================================================
RCS file: /home/cvs/cvsroot/wine/wine/dlls/winmm/mciavi/mmoutput.c,v
retrieving revision 1.11
diff -u -r1.11 mmoutput.c
--- dlls/winmm/mciavi/mmoutput.c 5 Jan 2004 23:07:27 -0000 1.11
+++ dlls/winmm/mciavi/mmoutput.c 23 Jan 2004 20:38:26 -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-devel
mailing list