94 #define LE(x) case x: return #x 110 #define FE(x) { x, #x }, 136 #define FE(x) { x, #x }, 171 WARN(
"invalid parameter\n");
176 if (!
This->pUnknown) {
178 if (!
This->pUnknown) {
179 WARN(
"IDirectSound_IUnknown_Create() failed\n");
185 *ppobj =
This->pUnknown;
191 WARN(
"IDirectSound_IDirectSound_Create() failed\n");
215 WARN(
"invalid parameter\n");
220 if (!
This->pUnknown) {
222 if (!
This->pUnknown) {
223 WARN(
"IDirectSound8_IUnknown_Create() failed\n");
229 *ppobj =
This->pUnknown;
235 WARN(
"IDirectSound8_IDirectSound_Create() failed\n");
247 WARN(
"IDirectSound8_IDirectSound8_Create() failed\n");
291 TRACE(
"(%p)\n",ppDS);
296 WARN(
"out of memory\n");
358 TRACE(
"(%p,%p)\n",pds,ppunk);
361 ERR(
"invalid parameter: ppunk == NULL\n");
366 ERR(
"invalid parameter: pds == NULL\n");
372 if (pdsunk ==
NULL) {
373 WARN(
"out of memory\n");
432 TRACE(
"(%p,%p,%p,%p)\n",
This,dsbd,ppdsb,lpunk);
478 TRACE(
"(%p, %p)\n",
This, lpdwSpeakerConfig);
520 TRACE(
"(%p,%p)\n",pds,ppds);
523 ERR(
"invalid parameter: ppds == NULL\n");
528 ERR(
"invalid parameter: pds == NULL\n");
535 WARN(
"out of memory\n");
599 TRACE(
"(%p,%p)\n",pds,ppunk);
602 ERR(
"invalid parameter: ppunk == NULL\n");
607 ERR(
"invalid parameter: pds == NULL\n");
613 if (pdsunk ==
NULL) {
614 WARN(
"out of memory\n");
673 TRACE(
"(%p,%p,%p,%p)\n",
This,dsbd,ppdsb,lpunk);
719 TRACE(
"(%p, %p)\n",
This, lpdwSpeakerConfig);
761 TRACE(
"(%p,%p)\n",pds,ppds);
764 ERR(
"invalid parameter: ppds == NULL\n");
769 ERR(
"invalid parameter: pds == NULL\n");
776 WARN(
"out of memory\n");
835 TRACE(
"(%p,%p,%p,%p)\n",
This,dsbd,ppdsb,lpunk);
881 TRACE(
"(%p, %p)\n",
This, lpdwSpeakerConfig);
933 TRACE(
"(%p,%p)\n",pds,ppds);
936 ERR(
"invalid parameter: ppds == NULL\n");
941 ERR(
"invalid parameter: pds == NULL\n");
948 WARN(
"out of memory\n");
986 WARN(
"IDirectSound_IDirectSound_Create failed\n");
990 WARN(
"IDirectSoundImpl_Create failed\n");
1023 WARN(
"invalid parameter: ppDS == NULL\n");
1027 if (pUnkOuter !=
NULL) {
1028 WARN(
"invalid parameter: pUnkOuter != NULL\n");
1074 WARN(
"IDirectSound8_IDirectSound8_Create failed\n");
1078 WARN(
"IDirectSoundImpl_Create failed\n");
1111 WARN(
"invalid parameter: ppDS == NULL\n");
1115 if (pUnkOuter !=
NULL) {
1116 WARN(
"invalid parameter: pUnkOuter != NULL\n");
1144 TRACE(
"(%p)\n", ppDevice);
1149 WARN(
"out of memory\n");
1160 device->ds3dl.vPosition.x = 0.0;
1161 device->ds3dl.vPosition.y = 0.0;
1162 device->ds3dl.vPosition.z = 0.0;
1163 device->ds3dl.vVelocity.x = 0.0;
1164 device->ds3dl.vVelocity.y = 0.0;
1165 device->ds3dl.vVelocity.z = 0.0;
1166 device->ds3dl.vOrientFront.x = 0.0;
1167 device->ds3dl.vOrientFront.y = 0.0;
1168 device->ds3dl.vOrientFront.z = 1.0;
1169 device->ds3dl.vOrientTop.x = 0.0;
1170 device->ds3dl.vOrientTop.y = 1.0;
1171 device->ds3dl.vOrientTop.z = 0.0;
1182 WARN(
"out of memory\n");
1194 device->pwfx->nChannels = 2;
1195 device->pwfx->nBlockAlign =
device->pwfx->wBitsPerSample *
device->pwfx->nChannels / 8;
1196 device->pwfx->nAvgBytesPerSec =
device->pwfx->nSamplesPerSec *
device->pwfx->nBlockAlign;
1197 device->pwfx->cbSize = 0;
1200 device->mixlock.DebugInfo->Spare[0] = (
DWORD_PTR)(__FILE__
": DirectSoundDevice.mixlock");
1234 WARN(
"%d secondary buffers not released\n",
device->nrofbuffers);
1240 WARN(
"primary buffer not released\n");
1246 WARN(
"DSOUND_PrimaryDestroy failed\n");
1264 device->mixlock.DebugInfo->Spare[0] = 0;
1279 WARN(
"not initialized\n");
1283 if (lpDSCaps ==
NULL) {
1284 WARN(
"invalid parameter: lpDSCaps = NULL\n");
1289 if (lpDSCaps->
dwSize <
sizeof(*lpDSCaps)) {
1290 WARN(
"invalid parameter: lpDSCaps->dwSize = %d\n", lpDSCaps->
dwSize);
1335 if (*ppDevice !=
NULL) {
1336 WARN(
"already initialized\n");
1342 lpcGUID = &DSDEVID_DefaultPlayback;
1345 WARN(
"invalid parameter: lpcGUID\n");
1352 WARN(
"no driver\n");
1356 for (wod=0; wod<wodn; wod++) {
1363 if (found ==
FALSE) {
1364 WARN(
"No device found matching given ID!\n");
1375 ERR(
"device GUID doesn't match\n");
1382 WARN(
"DirectSoundDevice_Create failed\n");
1391 device->drvdesc.dnDevNode = wod;
1395 WARN(
"DSOUND_ReopenDevice failed: %08x\n",
hr);
1403 WARN(
"IDsDriver_GetCaps failed\n");
1410 WARN(
"waveOutGetDevCaps failed\n");
1460 TRACE(
"Minimum timer resolution: %u, max timer: %u\n",
time.wPeriodMin,
time.wPeriodMax);
1461 if (triggertime <
time.wPeriodMin)
1462 triggertime =
time.wPeriodMin;
1466 WARN(
"Could not set minimum resolution, don't expect sound\n");
1470 WARN(
"Timer not created! Retrying without TIME_KILL_SYNCHRONOUS\n");
1472 if (!
id)
ERR(
"Could not create timer, sound playback will not occur\n");
1476 WARN(
"DSOUND_PrimaryCreate failed\n");
1493 WARN(
"not initialized\n");
1498 WARN(
"invalid parameter: dsbd == NULL\n");
1504 WARN(
"invalid parameter: dsbd\n");
1508 if (ppdsb ==
NULL) {
1509 WARN(
"invalid parameter: ppdsb == NULL\n");
1525 WARN(
"invalid parameter: dsbd->lpwfxFormat must be NULL for " 1526 "primary buffer\n");
1531 WARN(
"Primary Buffer already created\n");
1537 *ppdsb = (IDirectSoundBuffer*)&
device->primary->IDirectSoundBuffer8_iface;
1544 WARN(
"primarybuffer_create() failed\n");
1551 WARN(
"invalid parameter: dsbd->lpwfxFormat can't be NULL for " 1552 "secondary buffer\n");
1598 TRACE(
"(formattag=0x%04x,chans=%d,samplerate=%d," 1599 "bytespersec=%d,blockalign=%d,bitspersamp=%d,cbSize=%d)\n",
1607 WARN(
"invalid parameter: 3D buffer format must be mono\n");
1615 WARN(
"IDirectSoundBufferImpl_Create failed\n");
1631 WARN(
"not initialized\n");
1636 WARN(
"invalid parameter: psb == NULL\n");
1640 if (ppdsb ==
NULL) {
1641 WARN(
"invalid parameter: ppdsb == NULL\n");
1646 if (psb == (IDirectSoundBuffer *)&
device->primary->IDirectSoundBuffer8_iface) {
1647 WARN(
"trying to duplicate primary buffer\n");
1657 WARN(
"IDirectSoundBufferImpl_Duplicate failed\n");
1670 WARN(
"not initialized\n");
1675 WARN(
"level=%s not fully supported\n",
1689 WARN(
"not initialized\n");
1694 WARN(
"incorrect priority level\n");
1708 WARN(
"not initialized\n");
1712 if (lpdwSpeakerConfig ==
NULL) {
1713 WARN(
"invalid parameter: lpdwSpeakerConfig == NULL\n");
1717 WARN(
"not fully functional\n");
1718 *lpdwSpeakerConfig =
device->speaker_config;
1729 WARN(
"not initialized\n");
1734 WARN(
"not fully functional\n");
1745 WARN(
"not initialized\n");
1778 device->buffers = newbuffers;
1781 TRACE(
"buffer count is now %d\n",
device->nrofbuffers);
1783 ERR(
"out of memory for buffer list! Current buffer count is %d\n",
device->nrofbuffers);
1807 for (
i = 0;
i <
device->nrofbuffers;
i++)
1808 if (
device->buffers[
i] == pDSB)
1811 if (i < device->nrofbuffers) {
1816 TRACE(
"buffer count is now %d\n",
device->nrofbuffers);
1819 if (
device->nrofbuffers == 0) {
void setup_dsound_options(void)
struct IDirectSoundBuffer8 * LPDIRECTSOUNDBUFFER8
#define WAVE_FORMAT_48S16
#define IDirectSoundBuffer_AddRef(p)
DWORD dwFreeHwMixingStreamingBuffers
MMRESULT WINAPI timeGetDevCaps(LPTIMECAPS lpCaps, UINT wSize)
NTSYSAPI VOID NTAPI RtlDeleteResource(_In_ PRTL_RESOURCE Resource)
HRESULT WINAPI GetDeviceID(LPCGUID pGuidSrc, LPGUID pGuidDest)
#define DSBCAPS_CTRLVOLUME
union WAVEFORMATEXTENSIBLE::@2995 Samples
#define IDsDriver_Release(p)
#define DSCAPS_SECONDARYSTEREO
#define DSBCAPS_GETCURRENTPOSITION2
#define DSERR_INVALIDCALL
HRESULT WINAPI DirectSoundCreate8(LPCGUID lpcGUID, LPDIRECTSOUND8 *ppDS, IUnknown *pUnkOuter)
#define IDirectSound_Initialize(p, a)
static HRESULT WINAPI IDirectSound8_IDirectSound8_DuplicateSoundBuffer(LPDIRECTSOUND8 iface, LPDIRECTSOUNDBUFFER psb, LPLPDIRECTSOUNDBUFFER ppdsb)
#define WAVE_FORMAT_96S08
static HRESULT WINAPI IDirectSound_IDirectSound_Initialize(LPDIRECTSOUND iface, LPCGUID lpcGuid)
static HRESULT WINAPI IDirectSound8_IDirectSound_QueryInterface(LPDIRECTSOUND iface, REFIID riid, LPVOID *ppobj)
#define DSCAPS_PRIMARYMONO
#define WAVE_FORMAT_48S08
#define DSBCAPS_LOCSOFTWARE
#define IDsDriver_Close(p)
#define DSERR_UNINITIALIZED
NTSYSAPI BOOLEAN NTAPI RtlAcquireResourceShared(_In_ PRTL_RESOURCE Resource, _In_ BOOLEAN Wait)
static const IUnknownVtbl DirectSound_Unknown_Vtbl
static HRESULT WINAPI IDirectSound_IDirectSound_GetCaps(LPDIRECTSOUND iface, LPDSCAPS lpDSCaps)
static HRESULT DSOUND_QueryInterface8(LPDIRECTSOUND8 iface, REFIID riid, LPVOID *ppobj)
HRESULT DSOUND_ReopenDevice(DirectSoundDevice *device, BOOL forcewave) DECLSPEC_HIDDEN
static ULONG WINAPI IDirectSound_IDirectSound_Release(LPDIRECTSOUND iface)
HRESULT IDirectSoundBufferImpl_Create(DirectSoundDevice *device, IDirectSoundBufferImpl **pdsb, LPCDSBUFFERDESC dsbd)
HRESULT DirectSoundDevice_Initialize(DirectSoundDevice **ppDevice, LPCGUID lpcGUID)
#define DSERR_ALREADYINITIALIZED
DWORD dwMaxHw3DStreamingBuffers
HRESULT DSOUND_Create8(REFIID riid, LPDIRECTSOUND8 *ppDS)
MMRESULT WINAPI timeEndPeriod(UINT wPeriod)
HRESULT DirectSoundDevice_GetSpeakerConfig(DirectSoundDevice *device, LPDWORD lpdwSpeakerConfig)
static HRESULT WINAPI IDirectSound8_IDirectSound_SetCooperativeLevel(LPDIRECTSOUND iface, HWND hwnd, DWORD level)
HRESULT primarybuffer_create(DirectSoundDevice *device, IDirectSoundBufferImpl **ppdsb, const DSBUFFERDESC *dsbd) DECLSPEC_HIDDEN
static ULONG DirectSoundDevice_AddRef(DirectSoundDevice *device)
static HRESULT WINAPI IDirectSound8_IDirectSound_Compact(LPDIRECTSOUND iface)
HRESULT DirectSoundDevice_AddBuffer(DirectSoundDevice *device, IDirectSoundBufferImpl *pDSB)
DWORD dwMaxHw3DStaticBuffers
static HRESULT WINAPI IDirectSound8_IDirectSound_DuplicateSoundBuffer(LPDIRECTSOUND iface, LPDIRECTSOUNDBUFFER psb, LPLPDIRECTSOUNDBUFFER ppdsb)
static const IDirectSoundVtbl DirectSound_DirectSound_Vtbl
#define IDirectSound8_Release(p)
GUID KSDATAFORMAT_SUBTYPE_IEEE_FLOAT
HRESULT DirectSoundDevice_SetCooperativeLevel(DirectSoundDevice *device, HWND hwnd, DWORD level)
static HRESULT WINAPI IDirectSound8_IDirectSound_Initialize(LPDIRECTSOUND iface, LPCGUID lpcGuid)
#define DSSPEAKER_GEOMETRY_NARROW
static HRESULT WINAPI IDirectSound8_IDirectSound8_GetCaps(LPDIRECTSOUND8 iface, LPDSCAPS lpDSCaps)
NTSYSAPI VOID NTAPI RtlReleaseResource(_In_ PRTL_RESOURCE Resource)
DWORD dwMaxHwMixingAllBuffers
#define DSCAPS_PRIMARY16BIT
MMRESULT WINAPI timeSetEvent(UINT wDelay, UINT wResol, LPTIMECALLBACK lpFunc, DWORD_PTR dwUser, UINT wFlags)
HRESULT DirectSoundDevice_CreateSoundBuffer(DirectSoundDevice *device, LPCDSBUFFERDESC dsbd, LPLPDIRECTSOUNDBUFFER ppdsb, LPUNKNOWN lpunk, BOOL from8)
#define DS3D_DEFAULTDISTANCEFACTOR
#define DSERR_PRIOLEVELNEEDED
const char * wine_dbg_sprintf(const char *format,...)
static HRESULT IDirectSoundImpl_Create(LPDIRECTSOUND8 *ppds)
#define DSDDESC_DOMMSYSTEMOPEN
HRESULT DirectSoundDevice_RemoveBuffer(DirectSoundDevice *device, IDirectSoundBufferImpl *pDSB)
HRESULT DirectSoundDevice_GetCaps(DirectSoundDevice *device, LPDSCAPS lpDSCaps)
HRESULT DSOUND_Create(REFIID riid, LPDIRECTSOUND *ppDS)
#define DSERR_OUTOFMEMORY
#define DSCAPS_PRIMARY8BIT
#define DSERR_INVALIDPARAM
static ULONG IDirectSoundImpl_Release(LPDIRECTSOUND8 iface)
static ULONG WINAPI IDirectSound8_IDirectSound_Release(LPDIRECTSOUND iface)
HRESULT DSOUND_PrimaryCreate(DirectSoundDevice *device) DECLSPEC_HIDDEN
HRESULT IDirectSoundBufferImpl_Duplicate(DirectSoundDevice *device, IDirectSoundBufferImpl **ppdsb, IDirectSoundBufferImpl *pdsb)
static ULONG IDirectSoundImpl_AddRef(LPDIRECTSOUND8 iface)
DirectSoundDevice * DSOUND_renderer[MAXWAVEDRIVERS]
static HRESULT WINAPI IDirectSound8_IDirectSound8_Initialize(LPDIRECTSOUND8 iface, LPCGUID lpcGuid)
static ULONG WINAPI IDirectSound8_IDirectSound8_AddRef(LPDIRECTSOUND8 iface)
const IDirectSoundVtbl * lpVtbl
#define WAVE_FORMAT_96S16
static HRESULT WINAPI IDirectSound8_IDirectSound8_CreateSoundBuffer(LPDIRECTSOUND8 iface, LPCDSBUFFERDESC dsbd, LPLPDIRECTSOUNDBUFFER ppdsb, LPUNKNOWN lpunk)
#define DS3D_DEFAULTROLLOFFFACTOR
static HRESULT WINAPI IDirectSound_IDirectSound_DuplicateSoundBuffer(LPDIRECTSOUND iface, LPDIRECTSOUNDBUFFER psb, LPLPDIRECTSOUNDBUFFER ppdsb)
static ULONG WINAPI IDirectSound8_IUnknown_Release(LPUNKNOWN iface)
VOID WINAPI InitializeCriticalSection(OUT LPCRITICAL_SECTION lpCriticalSection)
struct IDirectSoundBuffer ** LPLPDIRECTSOUNDBUFFER
MMRESULT WINAPI timeKillEvent(UINT wID)
static void _dump_DSCAPS(DWORD xmask)
static HRESULT WINAPI IDirectSound_IDirectSound_QueryInterface(LPDIRECTSOUND iface, REFIID riid, LPVOID *ppobj)
#define WAVE_FORMAT_48M16
void CALLBACK DSOUND_timer(UINT timerID, UINT msg, DWORD_PTR dwUser, DWORD_PTR dw1, DWORD_PTR dw2) DECLSPEC_HIDDEN
#define DSCAPS_CONTINUOUSRATE
UINT WINAPI waveOutGetNumDevs(void)
struct _DS3DLISTENER DS3DLISTENER
#define DSCAPS_SECONDARY16BIT
static HRESULT WINAPI IDirectSound8_IUnknown_QueryInterface(LPUNKNOWN iface, REFIID riid, LPVOID *ppobj)
HRESULT WINAPI DirectSoundCreate(LPCGUID lpcGUID, LPDIRECTSOUND *ppDS, IUnknown *pUnkOuter)
DWORD dwMaxHw3DAllBuffers
#define DSBCAPS_STICKYFOCUS
#define DSBCAPS_GLOBALFOCUS
static ULONG WINAPI IDirectSound8_IDirectSound_AddRef(LPDIRECTSOUND iface)
static const IUnknownVtbl DirectSound8_Unknown_Vtbl
static ULONG WINAPI IDirectSound_IUnknown_AddRef(LPUNKNOWN iface)
#define DSCAPS_EMULDRIVER
#define DSBCAPS_CTRLPOSITIONNOTIFY
NTSYSAPI VOID NTAPI RtlInitializeResource(_In_ PRTL_RESOURCE Resource)
#define DSBCAPS_PRIMARYBUFFER
static HRESULT WINAPI IDirectSound8_IDirectSound8_SetSpeakerConfig(LPDIRECTSOUND8 iface, DWORD config)
DWORD dwFreeHw3DStaticBuffers
static HRESULT IDirectSound8_IDirectSound_Create(LPDIRECTSOUND8 pds, LPDIRECTSOUND *ppds)
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
void WINAPI DeleteCriticalSection(PCRITICAL_SECTION)
static ULONG WINAPI IDirectSound8_IDirectSound8_Release(LPDIRECTSOUND8 iface)
#define DSERR_CONTROLUNAVAIL
#define DSCAPS_SECONDARYMONO
static HRESULT WINAPI IDirectSound8_IDirectSound8_GetSpeakerConfig(LPDIRECTSOUND8 iface, LPDWORD lpdwSpeakerConfig)
static ULONG WINAPI IDirectSound_IUnknown_Release(LPUNKNOWN iface)
HRESULT IDirectSoundBufferImpl_Destroy(IDirectSoundBufferImpl *pdsb)
#define DSCAPS_PRIMARYSTEREO
const IDirectSoundVtbl * lpVtbl
const IUnknownVtbl * lpVtbl
HRESULT DSOUND_PrimaryDestroy(DirectSoundDevice *device) DECLSPEC_HIDDEN
LPWAVEFORMATEX lpwfxFormat
const char * dumpCooperativeLevel(DWORD level)
static void _dump_DSBCAPS(DWORD xmask)
DWORD dwMinSecondarySampleRate
static HRESULT WINAPI IDirectSound8_IDirectSound8_QueryInterface(LPDIRECTSOUND8 iface, REFIID riid, LPVOID *ppobj)
static ULONG WINAPI IDirectSound8_IUnknown_AddRef(LPUNKNOWN iface)
MMRESULT WINAPI timeBeginPeriod(UINT wPeriod)
static HRESULT WINAPI IDirectSound8_IDirectSound8_SetCooperativeLevel(LPDIRECTSOUND8 iface, HWND hwnd, DWORD level)
static HRESULT WINAPI IDirectSound_IDirectSound_GetSpeakerConfig(LPDIRECTSOUND iface, LPDWORD lpdwSpeakerConfig)
#define InterlockedDecrement
#define IDsDriver_GetCaps(p, a)
static HRESULT WINAPI IDirectSound_IUnknown_QueryInterface(LPUNKNOWN iface, REFIID riid, LPVOID *ppobj)
struct IDirectSound8 * LPDIRECTSOUND8
DWORD dwMaxHwMixingStaticBuffers
#define DS3D_DEFAULTDOPPLERFACTOR
static HRESULT DirectSoundDevice_Create(DirectSoundDevice **ppDevice)
static HRESULT WINAPI IDirectSound8_IDirectSound_GetSpeakerConfig(LPDIRECTSOUND iface, LPDWORD lpdwSpeakerConfig)
struct IDirectSoundBuffer * LPDIRECTSOUNDBUFFER
ULONG DirectSoundDevice_Release(DirectSoundDevice *device)
static HRESULT WINAPI IDirectSound8_IDirectSound8_Compact(LPDIRECTSOUND8 iface)
static HRESULT WINAPI IDirectSound_IDirectSound_CreateSoundBuffer(LPDIRECTSOUND iface, LPCDSBUFFERDESC dsbd, LPLPDIRECTSOUNDBUFFER ppdsb, LPUNKNOWN lpunk)
static HRESULT WINAPI IDirectSound_IDirectSound_SetCooperativeLevel(LPDIRECTSOUND iface, HWND hwnd, DWORD level)
int ds_default_sample_rate
#define WAVE_FORMAT_96M08
DWORD dwFreeHwMixingStaticBuffers
#define InterlockedIncrement
#define IDirectSound_Release(p)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
DWORD dwUnlockTransferRateHwBuffers
static HRESULT IDirectSound8_IDirectSound8_Create(LPDIRECTSOUND8 pds, LPDIRECTSOUND8 *ppds)
#define DSBCAPS_CTRLFREQUENCY
#define DSSCL_WRITEPRIMARY
static HRESULT IDirectSound_IDirectSound_Create(LPDIRECTSOUND8 pds, LPDIRECTSOUND *ppds)
HRESULT DirectSoundDevice_VerifyCertification(DirectSoundDevice *device, LPDWORD pdwCertified)
const IUnknownVtbl * lpVtbl
UINT WINAPI waveOutClose(HWAVEOUT hWaveOut)
BOOL WINAPI IsEqualGUID(REFGUID rguid1, REFGUID rguid2)
static HRESULT WINAPI IDirectSound_IDirectSound_SetSpeakerConfig(LPDIRECTSOUND iface, DWORD config)
UINT WINAPI waveOutGetDevCapsA(UINT_PTR uDeviceID, LPWAVEOUTCAPSA lpCaps, UINT uSize)
static HRESULT WINAPI IDirectSound8_IDirectSound_GetCaps(LPDIRECTSOUND iface, LPDSCAPS lpDSCaps)
#define IDirectSoundBuffer8_Release(p)
static HRESULT DSOUND_QueryInterface(LPDIRECTSOUND8 iface, REFIID riid, LPVOID *ppobj)
IDirectSoundBuffer8 IDirectSoundBuffer8_iface
struct IDirectSound * LPDIRECTSOUND
HRESULT DirectSoundDevice_Compact(DirectSoundDevice *device)
DWORD dwFreeHw3DStreamingBuffers
static const IDirectSoundVtbl DirectSound8_DirectSound_Vtbl
DWORD dwFreeHwMixingAllBuffers
static ULONG WINAPI IDirectSound_IDirectSound_AddRef(LPDIRECTSOUND iface)
DWORD dwMaxSecondarySampleRate
#define WAVE_FORMAT_96M16
int ds_default_bits_per_sample
DWORD dwPlayCpuOverheadSwBuffers
HRESULT DirectSoundDevice_SetSpeakerConfig(DirectSoundDevice *device, DWORD config)
GUID DSOUND_renderer_guids[MAXWAVEDRIVERS]
DirectSoundDevice * device
static LPDIRECTSOUND LPUNKNOWN
#define DSBCAPS_MUTE3DATMAXDISTANCE
const IDirectSound8Vtbl * lpVtbl
static HRESULT WINAPI IDirectSound8_IDirectSound8_VerifyCertification(LPDIRECTSOUND8 iface, LPDWORD pdwCertified)
static HRESULT WINAPI IDirectSound8_IDirectSound_CreateSoundBuffer(LPDIRECTSOUND iface, LPCDSBUFFERDESC dsbd, LPLPDIRECTSOUNDBUFFER ppdsb, LPUNKNOWN lpunk)
DWORD dwFreeHw3DAllBuffers
#define HeapFree(x, y, z)
#define IsEqualIID(riid1, riid2)
#define WAVE_FORMAT_48M08
DWORD dwMaxHwMixingStreamingBuffers
static HRESULT WINAPI IDirectSound_IDirectSound_Compact(LPDIRECTSOUND iface)
HRESULT DirectSoundDevice_DuplicateSoundBuffer(DirectSoundDevice *device, LPDIRECTSOUNDBUFFER psb, LPLPDIRECTSOUNDBUFFER ppdsb)
static HRESULT IDirectSound8_IUnknown_Create(LPDIRECTSOUND8 pds, LPUNKNOWN *ppunk)
static HRESULT WINAPI IDirectSound8_IDirectSound_SetSpeakerConfig(LPDIRECTSOUND iface, DWORD config)
DWORD dwMaxContigFreeHwMemBytes
static const IDirectSound8Vtbl DirectSound8_DirectSound8_Vtbl
#define DSBCAPS_LOCHARDWARE
static HRESULT IDirectSound_IUnknown_Create(LPDIRECTSOUND8 pds, LPUNKNOWN *ppunk)
#define DSDDESC_USESYSTEMMEMORY
#define DSCAPS_SECONDARY8BIT
#define IDirectSound8_Initialize(p, a)
GLuint const GLchar * name
NTSYSAPI BOOLEAN NTAPI RtlAcquireResourceExclusive(_In_ PRTL_RESOURCE Resource, _In_ BOOLEAN Wait)