yup. can you post a -debugmsg +mciavi trace A+
does this fix it ? A+
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)