X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;ds=sidebyside;f=snd_win.c;h=2fed37be8279b8dda4ac6dcdf30e56f7e9a7f2ae;hb=a705475ac0c27969d45c9db1e4330f59e448fbdd;hp=af196ea0c0deae10f25c947fbabf8a9b054d66c7;hpb=f85c51b632f3e340d5a70418c47895ed11dc2cbd;p=xonotic%2Fdarkplaces.git diff --git a/snd_win.c b/snd_win.c index af196ea0..2fed37be 100644 --- a/snd_win.c +++ b/snd_win.c @@ -729,20 +729,20 @@ void SNDDMA_Shutdown(void) FreeSound (); } - +DWORD dsound_dwSize; +DWORD dsound_dwSize2; +DWORD *dsound_pbuf; +DWORD *dsound_pbuf2; void *S_LockBuffer(void) { int reps; - DWORD dwSize,dwSize2; - DWORD *pbuf; - DWORD *pbuf2; HRESULT hresult; if (pDSBuf) { reps = 0; - while ((hresult = pDSBuf->lpVtbl->Lock(pDSBuf, 0, gSndBufSize, &pbuf, &dwSize, &pbuf2, &dwSize2, 0)) != DS_OK) + while ((hresult = pDSBuf->lpVtbl->Lock(pDSBuf, 0, gSndBufSize, &dsound_pbuf, &dsound_dwSize, &dsound_pbuf2, &dsound_dwSize2, 0)) != DS_OK) { if (hresult != DSERR_BUFFERLOST) { @@ -760,14 +760,15 @@ void *S_LockBuffer(void) return NULL; } } + return dsound_pbuf; } else return shm->buffer; } -void S_UnlockBuffer(void) +void S_UnlockBuffer() { if (pDSBuf) - pDSBuf->lpVtbl->Unlock(pDSBuf, pbuf, dwSize, NULL, 0); + pDSBuf->lpVtbl->Unlock(pDSBuf, dsound_pbuf, dsound_dwSize, dsound_pbuf2, dsound_dwSize2); }