dsound: Move the capture structs declarations to the .c file.

This commit is contained in:
Michael Stefaniuc 2012-08-30 23:48:27 +02:00 committed by Alexandre Julliard
parent d39801bef3
commit ebf33fff47
2 changed files with 37 additions and 47 deletions

View File

@ -43,6 +43,43 @@
WINE_DEFAULT_DEBUG_CHANNEL(dsound);
typedef struct DirectSoundCaptureDevice DirectSoundCaptureDevice;
/* IDirectSoundCaptureBuffer implementation structure */
typedef struct IDirectSoundCaptureBufferImpl
{
IDirectSoundCaptureBuffer8 IDirectSoundCaptureBuffer8_iface;
IDirectSoundNotify IDirectSoundNotify_iface;
LONG numIfaces; /* "in use interfaces" refcount */
LONG ref, refn;
/* IDirectSoundCaptureBuffer fields */
DirectSoundCaptureDevice *device;
DSCBUFFERDESC *pdscbd;
DWORD flags;
/* IDirectSoundNotify fields */
DSBPOSITIONNOTIFY *notifies;
int nrofnotifies;
} IDirectSoundCaptureBufferImpl;
/* DirectSoundCaptureDevice implementation structure */
struct DirectSoundCaptureDevice
{
GUID guid;
LONG ref;
DSCCAPS drvcaps;
BYTE *buffer;
DWORD buflen, write_pos_bytes;
WAVEFORMATEX *pwfx;
IDirectSoundCaptureBufferImpl *capture_buffer;
DWORD state;
UINT timerID;
CRITICAL_SECTION lock;
IMMDevice *mmdevice;
IAudioClient *client;
IAudioCaptureClient *capture;
struct list entry;
};
static void capturebuffer_destroy(IDirectSoundCaptureBufferImpl *This)
{

View File

@ -40,9 +40,7 @@ extern int ds_default_bits_per_sample DECLSPEC_HIDDEN;
* Predeclare the interface implementation structures
*/
typedef struct IDirectSoundBufferImpl IDirectSoundBufferImpl;
typedef struct IDirectSoundCaptureBufferImpl IDirectSoundCaptureBufferImpl;
typedef struct DirectSoundDevice DirectSoundDevice;
typedef struct DirectSoundCaptureDevice DirectSoundCaptureDevice;
/* dsound_convert.h */
typedef float (*bitsgetfunc)(const IDirectSoundBufferImpl *, DWORD, DWORD);
@ -209,51 +207,6 @@ const IDirectSound3DListenerVtbl ds3dlvt DECLSPEC_HIDDEN;
const IDirectSound3DBufferVtbl ds3dbvt DECLSPEC_HIDDEN;
const IKsPropertySetVtbl iksbvt DECLSPEC_HIDDEN;
/*****************************************************************************
* DirectSoundCaptureDevice implementation structure
*/
struct DirectSoundCaptureDevice
{
GUID guid;
LONG ref;
DSCCAPS drvcaps;
LPBYTE buffer;
DWORD buflen, write_pos_bytes;
PWAVEFORMATEX pwfx;
IDirectSoundCaptureBufferImpl* capture_buffer;
DWORD state;
UINT timerID;
CRITICAL_SECTION lock;
IMMDevice *mmdevice;
IAudioClient *client;
IAudioCaptureClient *capture;
struct list entry;
};
/*****************************************************************************
* IDirectSoundCaptureBuffer implementation structure
*/
struct IDirectSoundCaptureBufferImpl
{
IDirectSoundCaptureBuffer8 IDirectSoundCaptureBuffer8_iface;
IDirectSoundNotify IDirectSoundNotify_iface;
LONG numIfaces; /* "in use interfaces" refcount */
LONG ref, refn;
/* IDirectSoundCaptureBuffer fields */
DirectSoundCaptureDevice* device;
LPDSCBUFFERDESC pdscbd;
DWORD flags;
/* IDirectSoundNotify fields */
LPDSBPOSITIONNOTIFY notifies;
int nrofnotifies;
};
HRESULT IKsPrivatePropertySetImpl_Create(REFIID riid, void **ppv) DECLSPEC_HIDDEN;
/*******************************************************************************