Fixed a problem getting the GUID to compile under windows and wine.

This commit is contained in:
Robert Reif 2003-02-24 20:42:59 +00:00 committed by Alexandre Julliard
parent 2154db4d4e
commit 490d2a7bc2

View file

@ -23,6 +23,9 @@
#include "wine/test.h"
#include "wine/debug.h"
#include "objbase.h"
#include "initguid.h"
#include "dsound.h"
/* The time slice determines how often we will service the buffer and the
@ -569,11 +572,7 @@ static void test_capture_buffer(LPDIRECTSOUNDCAPTURE dsco, LPDIRECTSOUNDCAPTUREB
state.buffer_size=dscbcaps.dwBufferBytes;
state.event = CreateEvent( NULL, FALSE, FALSE, NULL );
/* FIXME: I couldn't get this to work in vc6. */
{
GUID IID_IDirectSoundNotifyX = { 0xb0210783, 0x89cd, 0x11d0,{ 0xaf, 0x8, 0x0, 0xa0, 0xc9, 0x25, 0xcd, 0x16 } };
rc=IDirectSoundCapture_QueryInterface(dscbo,&IID_IDirectSoundNotifyX,(void **)&(state.notify));
}
rc=IDirectSoundCapture_QueryInterface(dscbo,&IID_IDirectSoundNotify,(void **)&(state.notify));
ok(rc==DS_OK,"QueryInterface failed: 0x%lx\n",rc);
if (rc!=DS_OK)
return;
@ -603,9 +602,11 @@ static void test_capture_buffer(LPDIRECTSOUNDCAPTURE dsco, LPDIRECTSOUNDCAPTUREB
/* wait for the notifications */
for (i = 0; i < (NOTIFICATIONS * 2); i++) {
rc=MsgWaitForMultipleObjects( 1, &(state.event), FALSE, 100, QS_ALLEVENTS );
#if 0
ok(rc==WAIT_OBJECT_0,"MsgWaitForMultipleObjects failed: 0x%lx\n",rc);
if (rc!=WAIT_OBJECT_0)
break;
#endif
if (!capture_buffer_service(&state))
break;
}
@ -614,9 +615,10 @@ static void test_capture_buffer(LPDIRECTSOUNDCAPTURE dsco, LPDIRECTSOUNDCAPTUREB
ok(rc==DS_OK,"Stop: 0x%lx\n",rc);
if (rc!=DS_OK)
return;
rc=IDirectSoundCaptureBuffer_Release(dscbo);
ok(rc==DS_OK,"Release: 0x%lx\n",rc);
if (rc!=DS_OK)
rc=IDirectSoundNotify_Release(state.notify);
ok(rc==0,"Release: 0x%lx\n",rc);
if (rc!=0)
return;
}
@ -781,9 +783,26 @@ static BOOL WINAPI dscenum_callback(LPGUID lpGuid, LPCSTR lpcstrDescription,
IDirectSoundCaptureBuffer_Release(dscbo);
}
init_format(&wfx,44100,16,1);
ZeroMemory(&bufdesc, sizeof(bufdesc));
bufdesc.dwSize=sizeof(bufdesc);
bufdesc.dwFlags=DSCBCAPS_WAVEMAPPED;
bufdesc.dwBufferBytes=wfx.nAvgBytesPerSec;
bufdesc.dwReserved=0;
bufdesc.lpwfxFormat=&wfx;
trace(" Testing the capture buffer at %ldx%dx%d\n",
wfx.nSamplesPerSec,wfx.wBitsPerSample,wfx.nChannels);
rc=IDirectSoundCapture_CreateCaptureBuffer(dsco,&bufdesc,&dscbo,NULL);
ok(rc==DS_OK,"CreateCaptureBuffer failed to create a capture buffer 0x%lx\n",rc);
if (rc==DS_OK) {
test_capture_buffer(dsco, dscbo);
IDirectSoundCaptureBuffer_Release(dscbo);
}
EXIT:
if (dsco!=NULL)
IDirectSoundCapture_Release(dsco);
return TRUE;
}