WINMM problem with Half-Life

Mike McCormack mike at codeweavers.com
Tue Jan 20 10:53:55 CST 2004


Hi Eric,

After implementing the ICCVID codec, the intro AVI in Half-Life plays 
nicely, however when it finishes, WinMM gets stuck in a loop while 
cleaning up in MCIAVI_mciPlay.

I think it's trying to wait for the sound to finish, however I'm not 
sure how to fix the problem.  The patch below makes it work, but I'm not 
sure what bad side effects it will have...

Any ideas?

Mike
-------------- next part --------------
Index: dlls/winmm/mciavi/mciavi.c
===================================================================
RCS file: /cvstrees/crossover/office/wine/dlls/winmm/mciavi/mciavi.c,v
retrieving revision 1.1.1.10
diff -u -r1.1.1.10 mciavi.c
--- dlls/winmm/mciavi/mciavi.c	10 Jan 2004 00:11:58 -0000	1.1.1.10
+++ dlls/winmm/mciavi/mciavi.c	20 Jan 2004 16:22:23 -0000
@@ -503,12 +503,14 @@
     }
 
     if (wma->lpWaveFormat) {
+#if 0
        while (wma->dwEventCount != nHdr - 1)
         {
             LeaveCriticalSection(&wma->cs);
             Sleep(100);
             EnterCriticalSection(&wma->cs);
         }
+#endif
 
 	/* just to get rid of some race conditions between play, stop and pause */
 	waveOutReset(wma->hWave);


More information about the wine-devel mailing list