From c2c33dff38e55d87582d8d6526b3d321ba577570 Mon Sep 17 00:00:00 2001 From: Mark Harmstone Date: Sun, 22 Mar 2015 13:58:53 +0000 Subject: [PATCH] dsound: Add EAX propset stubs. --- dlls/dsound/Makefile.in | 1 + dlls/dsound/buffer.c | 6 ++++ dlls/dsound/dsound_private.h | 8 ++++++ dlls/dsound/eax.c | 54 ++++++++++++++++++++++++++++++++++++ 4 files changed, 69 insertions(+) create mode 100644 dlls/dsound/eax.c diff --git a/dlls/dsound/Makefile.in b/dlls/dsound/Makefile.in index 6cb653fdfa0..1c04bf34162 100644 --- a/dlls/dsound/Makefile.in +++ b/dlls/dsound/Makefile.in @@ -9,6 +9,7 @@ C_SRCS = \ dsound_convert.c \ dsound_main.c \ duplex.c \ + eax.c \ mixer.c \ primary.c \ propset.c \ diff --git a/dlls/dsound/buffer.c b/dlls/dsound/buffer.c index 8d5ca27c90c..ed710fad43d 100644 --- a/dlls/dsound/buffer.c +++ b/dlls/dsound/buffer.c @@ -1346,6 +1346,9 @@ static HRESULT WINAPI IKsPropertySetImpl_Get(IKsPropertySet *iface, REFGUID guid TRACE("(iface=%p,guidPropSet=%s,dwPropID=%ld,pInstanceData=%p,cbInstanceData=%ld,pPropData=%p,cbPropData=%ld,pcbReturned=%p)\n", This,debugstr_guid(guidPropSet),dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData,pcbReturned); + if (IsEqualGUID(&DSPROPSETID_EAX_ReverbProperties, guidPropSet) || IsEqualGUID(&DSPROPSETID_EAXBUFFER_ReverbProperties, guidPropSet)) + return EAX_Get(This, guidPropSet, dwPropID, pInstanceData, cbInstanceData, pPropData, cbPropData, pcbReturned); + return E_PROP_ID_UNSUPPORTED; } @@ -1357,6 +1360,9 @@ static HRESULT WINAPI IKsPropertySetImpl_Set(IKsPropertySet *iface, REFGUID guid TRACE("(%p,%s,%ld,%p,%ld,%p,%ld)\n",This,debugstr_guid(guidPropSet),dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData); + if (IsEqualGUID(&DSPROPSETID_EAX_ReverbProperties, guidPropSet) || IsEqualGUID(&DSPROPSETID_EAXBUFFER_ReverbProperties, guidPropSet)) + return EAX_Set(This, guidPropSet, dwPropID, pInstanceData, cbInstanceData, pPropData, cbPropData); + return E_PROP_ID_UNSUPPORTED; } diff --git a/dlls/dsound/dsound_private.h b/dlls/dsound/dsound_private.h index 304708c26da..c0e254f7a6e 100644 --- a/dlls/dsound/dsound_private.h +++ b/dlls/dsound/dsound_private.h @@ -229,6 +229,14 @@ LONG capped_refcount_dec(LONG *ref) DECLSPEC_HIDDEN; HRESULT DSOUND_FullDuplexCreate(REFIID riid, void **ppv) DECLSPEC_HIDDEN; +/* eax.c */ +HRESULT WINAPI EAX_Get(IDirectSoundBufferImpl *buf, REFGUID guidPropSet, + ULONG dwPropID, void *pInstanceData, ULONG cbInstanceData, void *pPropData, + ULONG cbPropData, ULONG *pcbReturned) DECLSPEC_HIDDEN; +HRESULT WINAPI EAX_Set(IDirectSoundBufferImpl *buf, REFGUID guidPropSet, + ULONG dwPropID, void *pInstanceData, ULONG cbInstanceData, void *pPropData, + ULONG cbPropData) DECLSPEC_HIDDEN; + /* mixer.c */ void DSOUND_CheckEvent(const IDirectSoundBufferImpl *dsb, DWORD playpos, int len) DECLSPEC_HIDDEN; void DSOUND_RecalcVolPan(PDSVOLUMEPAN volpan) DECLSPEC_HIDDEN; diff --git a/dlls/dsound/eax.c b/dlls/dsound/eax.c new file mode 100644 index 00000000000..c1264f977b6 --- /dev/null +++ b/dlls/dsound/eax.c @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2015 Mark Harmstone + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include +#include + +#include "windef.h" +#include "winbase.h" +#include "winuser.h" +#include "mmsystem.h" +#include "winternl.h" +#include "vfwmsgs.h" +#include "wine/debug.h" +#include "dsound.h" +#include "dsound_private.h" + +WINE_DEFAULT_DEBUG_CHANNEL(eax); + +HRESULT WINAPI EAX_Get(IDirectSoundBufferImpl *buf, REFGUID guidPropSet, + ULONG dwPropID, void *pInstanceData, ULONG cbInstanceData, void *pPropData, + ULONG cbPropData, ULONG *pcbReturned) +{ + TRACE("(buf=%p,guidPropSet=%s,dwPropID=%lu,pInstanceData=%p,cbInstanceData=%lu,pPropData=%p,cbPropData=%lu,pcbReturned=%p)\n", + buf, debugstr_guid(guidPropSet), dwPropID, pInstanceData, cbInstanceData, pPropData, cbPropData, pcbReturned); + + *pcbReturned = 0; + + return E_PROP_ID_UNSUPPORTED; +} + +HRESULT WINAPI EAX_Set(IDirectSoundBufferImpl *buf, REFGUID guidPropSet, + ULONG dwPropID, void *pInstanceData, ULONG cbInstanceData, void *pPropData, + ULONG cbPropData) +{ + TRACE("(%p,%s,%lu,%p,%lu,%p,%lu)\n", + buf, debugstr_guid(guidPropSet), dwPropID, pInstanceData, cbInstanceData, pPropData, cbPropData); + + return E_PROP_ID_UNSUPPORTED; +} -- 2.35.1