22 #ifndef _DSOUND_PRIVATE_H_ 23 #define _DSOUND_PRIVATE_H_ 31 #define WIN32_NO_STATUS 33 #define COM_NO_WINDOWS_H 36 #define NONAMELESSSTRUCT 37 #define NONAMELESSUNION 45 #include <audioclient.h> 53 #include <wine/list.h> 59 #define DS_TIME_DEL 10 62 #define DS_HW_ACCEL_FULL 0 63 #define DS_HW_ACCEL_STANDARD 1 64 #define DS_HW_ACCEL_BASIC 2 65 #define DS_HW_ACCEL_EMULATION 3 281 const IDirectSoundCaptureBuffer8Vtbl *
lpVtbl;
303 const IDirectSound3DListenerVtbl *
lpVtbl;
399 #define STATE_STOPPED 0 400 #define STATE_STARTING 1 401 #define STATE_PLAYING 2 402 #define STATE_CAPTURING 2 403 #define STATE_STOPPING 3 405 #define DSOUND_FREQSHIFT (20)
struct BufferMemory BufferMemory
const normfunc normfunctions[4]
WINE_DEFAULT_DEBUG_CHANNEL(dsound)
HRESULT IKsBufferPropertySetImpl_Create(IDirectSoundBufferImpl *dsb, IKsBufferPropertySetImpl **piks) DECLSPEC_HIDDEN
RTL_RWLOCK buffer_list_lock
IDirectSoundBufferImpl * dsb
IDirectSoundCaptureNotifyImpl * notify
void(* normfunc)(const void *, void *, unsigned)
HRESULT DSOUND_PrimaryGetPosition(DirectSoundDevice *device, LPDWORD playpos, LPDWORD writepos) DECLSPEC_HIDDEN
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
HRESULT DirectSoundDevice_AddBuffer(DirectSoundDevice *device, IDirectSoundBufferImpl *pDSB) DECLSPEC_HIDDEN
IDirectSoundNotifyImpl * notify
struct IDsCaptureDriver * PIDSCDRIVER
void DSOUND_Calc3DBuffer(IDirectSoundBufferImpl *dsb) DECLSPEC_HIDDEN
void CALLBACK DSOUND_callback(HWAVEOUT hwo, UINT msg, DWORD_PTR dwUser, DWORD_PTR dw1, DWORD_PTR dw2) DECLSPEC_HIDDEN
DWORD DSOUND_bufpos_to_mixpos(const DirectSoundDevice *device, DWORD pos) DECLSPEC_HIDDEN
HRESULT DSOUND_ReopenDevice(DirectSoundDevice *device, BOOL forcewave) DECLSPEC_HIDDEN
void secondarybuffer_destroy(IDirectSoundBufferImpl *This) DECLSPEC_HIDDEN
HRESULT primarybuffer_SetFormat(DirectSoundDevice *device, LPCWAVEFORMATEX wfex) DECLSPEC_HIDDEN
HRESULT DirectSoundDevice_GetCaps(DirectSoundDevice *device, LPDSCAPS lpDSCaps) DECLSPEC_HIDDEN
HRESULT primarybuffer_create(DirectSoundDevice *device, IDirectSoundBufferImpl **ppdsb, const DSBUFFERDESC *dsbd) DECLSPEC_HIDDEN
struct IDsDriverNotify * PIDSDRIVERNOTIFY
IDirectSoundBufferImpl ** buffers
const IDirectSound3DListenerVtbl * lpVtbl
PIDSDRIVERNOTIFY hwnotify
HRESULT DSOUND_CaptureCreate(REFIID riid, LPDIRECTSOUNDCAPTURE *ppDSC) DECLSPEC_HIDDEN
IDirectSound3DBufferImpl * ds3db
int ds_emuldriver DECLSPEC_HIDDEN
IDirectSound3DListenerImpl * listener
HRESULT IDirectSound3DBufferImpl_Destroy(IDirectSound3DBufferImpl *pds3db) DECLSPEC_HIDDEN
HRESULT IDirectSound3DBufferImpl_Create(IDirectSoundBufferImpl *dsb, IDirectSound3DBufferImpl **pds3db) DECLSPEC_HIDDEN
HRESULT IDirectSoundBufferImpl_Create(DirectSoundDevice *device, IDirectSoundBufferImpl **ppdsb, LPCDSBUFFERDESC dsbd) DECLSPEC_HIDDEN
const IDirectSound3DBufferVtbl * lpVtbl
HRESULT DirectSoundDevice_DuplicateSoundBuffer(DirectSoundDevice *device, LPDIRECTSOUNDBUFFER psb, LPLPDIRECTSOUNDBUFFER ppdsb) DECLSPEC_HIDDEN
struct IDirectSoundFullDuplex * LPDIRECTSOUNDFULLDUPLEX
HRESULT IKsPrivatePropertySetImpl_Create(REFIID riid, IKsPropertySet **piks) DECLSPEC_HIDDEN
DirectSoundCaptureDevice * device
DirectSoundDevice * device
HRESULT DirectSoundDevice_GetSpeakerConfig(DirectSoundDevice *device, LPDWORD lpdwSpeakerConfig) DECLSPEC_HIDDEN
void setup_dsound_options(void) DECLSPEC_HIDDEN
HRESULT mmErr(UINT err) DECLSPEC_HIDDEN
LPDSBPOSITIONNOTIFY notifies
HRESULT DSOUND_PrimaryCreate(DirectSoundDevice *device) DECLSPEC_HIDDEN
GUID DSOUND_capture_guids[MAXWAVEDRIVERS]
IDirectSoundBufferImpl * primary
HRESULT DSOUND_Create(REFIID riid, LPDIRECTSOUND *ppDS) DECLSPEC_HIDDEN
struct IDirectSoundCapture * LPDIRECTSOUNDCAPTURE8
IDirectSoundCaptureBufferImpl * capture_buffer
void DSOUND_RecalcFormat(IDirectSoundBufferImpl *dsb) DECLSPEC_HIDDEN
DirectSoundDevice * DSOUND_renderer[MAXWAVEDRIVERS]
struct IDirectSoundBuffer ** LPLPDIRECTSOUNDBUFFER
HRESULT DirectSoundDevice_VerifyCertification(DirectSoundDevice *device, LPDWORD pdwCertified) DECLSPEC_HIDDEN
void CALLBACK DSOUND_timer(UINT timerID, UINT msg, DWORD_PTR dwUser, DWORD_PTR dw1, DWORD_PTR dw2) DECLSPEC_HIDDEN
const IKsPropertySetVtbl * lpVtbl
HRESULT DirectSoundDevice_RemoveBuffer(DirectSoundDevice *device, IDirectSoundBufferImpl *pDSB) DECLSPEC_HIDDEN
struct IDsDriver * PIDSDRIVER
void DSOUND_AmpFactorToVolPan(PDSVOLUMEPAN volpan) DECLSPEC_HIDDEN
const bitsconvertfunc convertbpp[5][4]
HRESULT IDirectSound3DListenerImpl_Create(DirectSoundDevice *device, IDirectSound3DListenerImpl **pdsl) DECLSPEC_HIDDEN
HRESULT DirectSoundDevice_SetSpeakerConfig(DirectSoundDevice *device, DWORD config) DECLSPEC_HIDDEN
LPWAVEFORMATEX DSOUND_CopyFormat(LPCWAVEFORMATEX wfex) DECLSPEC_HIDDEN
HRESULT DSOUND_PrimaryDestroy(DirectSoundDevice *device) DECLSPEC_HIDDEN
HRESULT IDirectSoundBufferImpl_Destroy(IDirectSoundBufferImpl *pdsb) DECLSPEC_HIDDEN
void DSOUND_CheckEvent(const IDirectSoundBufferImpl *dsb, DWORD playpos, int len) DECLSPEC_HIDDEN
HRESULT IDirectSoundBufferImpl_Duplicate(DirectSoundDevice *device, IDirectSoundBufferImpl **ppdsb, IDirectSoundBufferImpl *pdsb) DECLSPEC_HIDDEN
HRESULT DSOUND_Create8(REFIID riid, LPDIRECTSOUND8 *ppDS) DECLSPEC_HIDDEN
struct IDirectSound8 * LPDIRECTSOUND8
const mixfunc mixfunctions[4]
void DSOUND_MixToTemporary(const IDirectSoundBufferImpl *dsb, DWORD writepos, DWORD mixlen, BOOL inmixer) DECLSPEC_HIDDEN
IKsBufferPropertySetImpl * iks
DirectSoundDevice * device
const char * dumpCooperativeLevel(DWORD level) DECLSPEC_HIDDEN
HRESULT IKsBufferPropertySetImpl_Destroy(IKsBufferPropertySetImpl *piks) DECLSPEC_HIDDEN
struct IDirectSoundCapture * LPDIRECTSOUNDCAPTURE
struct IDirectSoundBuffer * LPDIRECTSOUNDBUFFER
HRESULT DSOUND_CaptureCreate8(REFIID riid, LPDIRECTSOUNDCAPTURE8 *ppDSC8) DECLSPEC_HIDDEN
int ds_default_sample_rate
DWORD DSOUND_fraglen(DWORD nSamplesPerSec, DWORD nBlockAlign) DECLSPEC_HIDDEN
struct IDsDriverBuffer * PIDSDRIVERBUFFER
HRESULT DirectSoundDevice_Compact(DirectSoundDevice *device) DECLSPEC_HIDDEN
IDirectSoundBufferImpl * dsb
void primarybuffer_destroy(IDirectSoundBufferImpl *This) DECLSPEC_HIDDEN
void(* mixfunc)(const void *, void *, unsigned)
HRESULT DirectSoundDevice_Initialize(DirectSoundDevice **ppDevice, LPCGUID lpcGUID) DECLSPEC_HIDDEN
DWORD DSOUND_secpos_to_bufpos(const IDirectSoundBufferImpl *dsb, DWORD secpos, DWORD secmixpos, DWORD *overshot) DECLSPEC_HIDDEN
IDirectSoundBuffer8 IDirectSoundBuffer8_iface
LPDSBPOSITIONNOTIFY notifies
void(* bitsconvertfunc)(const void *, void *, UINT, UINT, INT, UINT, UINT)
ULONG DirectSoundDevice_Release(DirectSoundDevice *device) DECLSPEC_HIDDEN
struct IDirectSound * LPDIRECTSOUND
PIDSDRIVERNOTIFY hwnotify
HRESULT DSOUND_PrimaryPlay(DirectSoundDevice *device) DECLSPEC_HIDDEN
HRESULT DirectSoundDevice_CreateSoundBuffer(DirectSoundDevice *device, LPCDSBUFFERDESC dsbd, LPLPDIRECTSOUNDBUFFER ppdsb, LPUNKNOWN lpunk, BOOL from8) DECLSPEC_HIDDEN
const IDirectSoundCaptureBuffer8Vtbl * lpVtbl
int ds_snd_shadow_maxsize
int ds_default_bits_per_sample
GUID DSOUND_renderer_guids[MAXWAVEDRIVERS]
struct IDsCaptureDriverBuffer * PIDSCDRIVERBUFFER
HRESULT DirectSoundDevice_SetCooperativeLevel(DirectSoundDevice *devcie, HWND hwnd, DWORD level) DECLSPEC_HIDDEN
HRESULT DSOUND_FullDuplexCreate(REFIID riid, LPDIRECTSOUNDFULLDUPLEX *ppDSFD) DECLSPEC_HIDDEN
HRESULT DSOUND_PrimaryStop(DirectSoundDevice *device) DECLSPEC_HIDDEN
DirectSoundCaptureDevice * DSOUND_capture[MAXWAVEDRIVERS]
static unsigned(__cdecl *hash_bstr)(bstr_t s)
void DSOUND_RecalcVolPan(PDSVOLUMEPAN volpan) DECLSPEC_HIDDEN