Finish DirectSoundCapture/DirectSoundCapture8 split.
Add tests to verify split.
This commit is contained in:
parent
cb6e4a12ea
commit
5c8fb16893
File diff suppressed because it is too large
Load Diff
|
@ -1,7 +1,7 @@
|
||||||
1 stdcall DirectSoundCreate(ptr ptr ptr)
|
1 stdcall DirectSoundCreate(ptr ptr ptr)
|
||||||
2 stdcall DirectSoundEnumerateA(ptr ptr)
|
2 stdcall DirectSoundEnumerateA(ptr ptr)
|
||||||
3 stdcall DirectSoundEnumerateW(ptr ptr)
|
3 stdcall DirectSoundEnumerateW(ptr ptr)
|
||||||
6 stdcall DirectSoundCaptureCreate(ptr ptr ptr) DirectSoundCaptureCreate8
|
6 stdcall DirectSoundCaptureCreate(ptr ptr ptr)
|
||||||
7 stdcall DirectSoundCaptureEnumerateA(ptr ptr)
|
7 stdcall DirectSoundCaptureEnumerateA(ptr ptr)
|
||||||
8 stdcall DirectSoundCaptureEnumerateW(ptr ptr)
|
8 stdcall DirectSoundCaptureEnumerateW(ptr ptr)
|
||||||
9 stdcall GetDeviceID(ptr ptr)
|
9 stdcall GetDeviceID(ptr ptr)
|
||||||
|
|
|
@ -665,6 +665,7 @@ BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID lpvReserved)
|
||||||
TRACE("DLL_PROCESS_ATTACH\n");
|
TRACE("DLL_PROCESS_ATTACH\n");
|
||||||
for (i = 0; i < MAXWAVEDRIVERS; i++) {
|
for (i = 0; i < MAXWAVEDRIVERS; i++) {
|
||||||
DSOUND_renderer[i] = NULL;
|
DSOUND_renderer[i] = NULL;
|
||||||
|
DSOUND_capture[i] = NULL;
|
||||||
INIT_GUID(DSOUND_renderer_guids[i], 0xbd6dd71a, 0x3deb, 0x11d1, 0xb1, 0x71, 0x00, 0xc0, 0x4f, 0xc2, 0x00, 0x00 + i);
|
INIT_GUID(DSOUND_renderer_guids[i], 0xbd6dd71a, 0x3deb, 0x11d1, 0xb1, 0x71, 0x00, 0xc0, 0x4f, 0xc2, 0x00, 0x00 + i);
|
||||||
INIT_GUID(DSOUND_capture_guids[i], 0xbd6dd71b, 0x3deb, 0x11d1, 0xb1, 0x71, 0x00, 0xc0, 0x4f, 0xc2, 0x00, 0x00 + i);
|
INIT_GUID(DSOUND_capture_guids[i], 0xbd6dd71b, 0x3deb, 0x11d1, 0xb1, 0x71, 0x00, 0xc0, 0x4f, 0xc2, 0x00, 0x00 + i);
|
||||||
}
|
}
|
||||||
|
|
|
@ -64,6 +64,7 @@ typedef struct PrimaryBufferImpl PrimaryBufferImpl;
|
||||||
typedef struct SecondaryBufferImpl SecondaryBufferImpl;
|
typedef struct SecondaryBufferImpl SecondaryBufferImpl;
|
||||||
typedef struct IClassFactoryImpl IClassFactoryImpl;
|
typedef struct IClassFactoryImpl IClassFactoryImpl;
|
||||||
typedef struct DirectSoundDevice DirectSoundDevice;
|
typedef struct DirectSoundDevice DirectSoundDevice;
|
||||||
|
typedef struct DirectSoundCaptureDevice DirectSoundCaptureDevice;
|
||||||
|
|
||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
* IDirectSound implementation structure
|
* IDirectSound implementation structure
|
||||||
|
@ -280,9 +281,14 @@ struct IDirectSoundCaptureImpl
|
||||||
const IDirectSoundCaptureVtbl *lpVtbl;
|
const IDirectSoundCaptureVtbl *lpVtbl;
|
||||||
DWORD ref;
|
DWORD ref;
|
||||||
|
|
||||||
|
DirectSoundCaptureDevice *device;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct DirectSoundCaptureDevice
|
||||||
|
{
|
||||||
/* IDirectSoundCaptureImpl fields */
|
/* IDirectSoundCaptureImpl fields */
|
||||||
GUID guid;
|
GUID guid;
|
||||||
BOOL initialized;
|
DWORD ref;
|
||||||
|
|
||||||
/* DirectSound driver stuff */
|
/* DirectSound driver stuff */
|
||||||
PIDSCDRIVER driver;
|
PIDSCDRIVER driver;
|
||||||
|
@ -308,6 +314,17 @@ struct IDirectSoundCaptureImpl
|
||||||
CRITICAL_SECTION lock;
|
CRITICAL_SECTION lock;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
HRESULT WINAPI IDirectSoundCaptureImpl_Create(
|
||||||
|
LPDIRECTSOUNDCAPTURE8 * ppds);
|
||||||
|
|
||||||
|
HRESULT WINAPI DSOUND_CaptureCreate(
|
||||||
|
LPDIRECTSOUNDCAPTURE *ppDSC,
|
||||||
|
IUnknown *pUnkOuter);
|
||||||
|
|
||||||
|
HRESULT WINAPI DSOUND_CaptureCreate8(
|
||||||
|
LPDIRECTSOUNDCAPTURE8 *ppDSC8,
|
||||||
|
IUnknown *pUnkOuter);
|
||||||
|
|
||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
* IDirectSoundCaptureBuffer implementation structure
|
* IDirectSoundCaptureBuffer implementation structure
|
||||||
*/
|
*/
|
||||||
|
@ -498,6 +515,8 @@ void DSOUND_Calc3DBuffer(IDirectSoundBufferImpl *dsb);
|
||||||
|
|
||||||
extern DirectSoundDevice* DSOUND_renderer[MAXWAVEDRIVERS];
|
extern DirectSoundDevice* DSOUND_renderer[MAXWAVEDRIVERS];
|
||||||
extern GUID DSOUND_renderer_guids[MAXWAVEDRIVERS];
|
extern GUID DSOUND_renderer_guids[MAXWAVEDRIVERS];
|
||||||
|
|
||||||
|
extern DirectSoundCaptureDevice * DSOUND_capture[MAXWAVEDRIVERS];
|
||||||
extern GUID DSOUND_capture_guids[MAXWAVEDRIVERS];
|
extern GUID DSOUND_capture_guids[MAXWAVEDRIVERS];
|
||||||
|
|
||||||
extern HRESULT mmErr(UINT err);
|
extern HRESULT mmErr(UINT err);
|
||||||
|
|
|
@ -688,7 +688,7 @@ static HRESULT WINAPI DSPROPERTY_DescriptionA(
|
||||||
if (err == DS_OK && drv)
|
if (err == DS_OK && drv)
|
||||||
ppd->Type = DIRECTSOUNDDEVICE_TYPE_VXD;
|
ppd->Type = DIRECTSOUNDDEVICE_TYPE_VXD;
|
||||||
else
|
else
|
||||||
WARN("waveOutMessage(DRV_QUERYDSOUNDIFACE) failed\n");
|
WARN("waveInMessage(DRV_QUERYDSOUNDIFACE) failed\n");
|
||||||
break;
|
break;
|
||||||
} else {
|
} else {
|
||||||
WARN("no memory\n");
|
WARN("no memory\n");
|
||||||
|
@ -784,7 +784,7 @@ static HRESULT WINAPI DSPROPERTY_DescriptionA(
|
||||||
if (err == DS_OK && drv)
|
if (err == DS_OK && drv)
|
||||||
ppd->Type = DIRECTSOUNDDEVICE_TYPE_VXD;
|
ppd->Type = DIRECTSOUNDDEVICE_TYPE_VXD;
|
||||||
else
|
else
|
||||||
WARN("waveOutMessage(DRV_QUERYDSOUNDIFACE) failed\n");
|
WARN("waveInMessage(DRV_QUERYDSOUNDIFACE) failed\n");
|
||||||
found = TRUE;
|
found = TRUE;
|
||||||
break;
|
break;
|
||||||
} else {
|
} else {
|
||||||
|
@ -1508,7 +1508,7 @@ HRESULT WINAPI IKsPrivatePropertySetImpl_Create(
|
||||||
IKsPrivatePropertySetImpl *iks;
|
IKsPrivatePropertySetImpl *iks;
|
||||||
|
|
||||||
iks = HeapAlloc(GetProcessHeap(),0,sizeof(*iks));
|
iks = HeapAlloc(GetProcessHeap(),0,sizeof(*iks));
|
||||||
iks->ref = 0;
|
iks->ref = 1;
|
||||||
iks->lpVtbl = &ikspvt;
|
iks->lpVtbl = &ikspvt;
|
||||||
|
|
||||||
*piks = iks;
|
*piks = iks;
|
||||||
|
|
|
@ -401,7 +401,7 @@ extern HRESULT WINAPI DirectSoundCaptureEnumerateA(LPDSENUMCALLBACKA, LPVOID);
|
||||||
extern HRESULT WINAPI DirectSoundCaptureEnumerateW(LPDSENUMCALLBACKW, LPVOID);
|
extern HRESULT WINAPI DirectSoundCaptureEnumerateW(LPDSENUMCALLBACKW, LPVOID);
|
||||||
|
|
||||||
extern HRESULT WINAPI DirectSoundCreate8(LPCGUID lpGUID,LPDIRECTSOUND8 *ppDS8,LPUNKNOWN pUnkOuter);
|
extern HRESULT WINAPI DirectSoundCreate8(LPCGUID lpGUID,LPDIRECTSOUND8 *ppDS8,LPUNKNOWN pUnkOuter);
|
||||||
extern HRESULT WINAPI DirectSoundCaptureCreate8(LPCGUID lpGUID, LPDIRECTSOUNDCAPTURE *ppDSC8, LPUNKNOWN pUnkOuter);
|
extern HRESULT WINAPI DirectSoundCaptureCreate8(LPCGUID lpGUID, LPDIRECTSOUNDCAPTURE8 *ppDSC8, LPUNKNOWN pUnkOuter);
|
||||||
extern HRESULT WINAPI DirectSoundFullDuplexCreate(LPCGUID pcGuidCaptureDevice, LPCGUID pcGuidRenderDevice,
|
extern HRESULT WINAPI DirectSoundFullDuplexCreate(LPCGUID pcGuidCaptureDevice, LPCGUID pcGuidRenderDevice,
|
||||||
LPCDSCBUFFERDESC pcDSCBufferDesc, LPCDSBUFFERDESC pcDSBufferDesc, HWND hWnd, DWORD dwLevel,
|
LPCDSCBUFFERDESC pcDSCBufferDesc, LPCDSBUFFERDESC pcDSBufferDesc, HWND hWnd, DWORD dwLevel,
|
||||||
LPDIRECTSOUNDFULLDUPLEX *ppDSFD, LPDIRECTSOUNDCAPTUREBUFFER8 *ppDSCBuffer8, LPDIRECTSOUNDBUFFER8 *ppDSBuffer8, LPUNKNOWN pUnkOuter);
|
LPDIRECTSOUNDFULLDUPLEX *ppDSFD, LPDIRECTSOUNDCAPTUREBUFFER8 *ppDSCBuffer8, LPDIRECTSOUNDBUFFER8 *ppDSBuffer8, LPUNKNOWN pUnkOuter);
|
||||||
|
|
Loading…
Reference in New Issue