Andrew Eikum : xaudio2_9: Add xaudio2_9.
Alexandre Julliard
julliard at wine.codeweavers.com
Wed Jan 20 10:50:01 CST 2016
Module: wine
Branch: master
Commit: 121a69e028b98b5b976c972e10bcb1f1c90dd770
URL: http://source.winehq.org/git/wine.git/?a=commit;h=121a69e028b98b5b976c972e10bcb1f1c90dd770
Author: Andrew Eikum <aeikum at codeweavers.com>
Date: Tue Jan 19 12:29:29 2016 -0600
xaudio2_9: Add xaudio2_9.
Signed-off-by: Andrew Eikum <aeikum at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
configure | 3 +++
configure.ac | 2 ++
dlls/xaudio2_7/compat.c | 8 ++++++++
dlls/xaudio2_7/xaudio_dll.c | 1 +
dlls/xaudio2_9/Makefile.in | 13 +++++++++++++
dlls/xaudio2_9/xaudio2_9.spec | 6 ++++++
include/xaudio2.idl | 7 +++++--
7 files changed, 38 insertions(+), 2 deletions(-)
diff --git a/configure b/configure
index d82731e..a17ad55 100755
--- a/configure
+++ b/configure
@@ -1408,6 +1408,7 @@ enable_xaudio2_5
enable_xaudio2_6
enable_xaudio2_7
enable_xaudio2_8
+enable_xaudio2_9
enable_xinput1_1
enable_xinput1_2
enable_xinput1_3
@@ -13720,6 +13721,7 @@ then
enable_xaudio2_6=${enable_xaudio2_6:-no}
enable_xaudio2_7=${enable_xaudio2_7:-no}
enable_xaudio2_8=${enable_xaudio2_8:-no}
+ enable_xaudio2_9=${enable_xaudio2_9:-no}
fi
if test "$ac_cv_header_kstat_h" = "yes"
@@ -18035,6 +18037,7 @@ wine_fn_config_dll xaudio2_6 enable_xaudio2_6 clean
wine_fn_config_dll xaudio2_7 enable_xaudio2_7 clean
wine_fn_config_test dlls/xaudio2_7/tests xaudio2_7_test
wine_fn_config_dll xaudio2_8 enable_xaudio2_8 clean
+wine_fn_config_dll xaudio2_9 enable_xaudio2_9 clean
wine_fn_config_dll xinput1_1 enable_xinput1_1
wine_fn_config_dll xinput1_2 enable_xinput1_2
wine_fn_config_dll xinput1_3 enable_xinput1_3 implib xinput
diff --git a/configure.ac b/configure.ac
index d2eac29..23fee7b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1685,6 +1685,7 @@ then
enable_xaudio2_6=${enable_xaudio2_6:-no}
enable_xaudio2_7=${enable_xaudio2_7:-no}
enable_xaudio2_8=${enable_xaudio2_8:-no}
+ enable_xaudio2_9=${enable_xaudio2_9:-no}
fi
dnl **** Check for libkstat ****
@@ -3401,6 +3402,7 @@ WINE_CONFIG_DLL(xaudio2_6,,[clean])
WINE_CONFIG_DLL(xaudio2_7,,[clean])
WINE_CONFIG_TEST(dlls/xaudio2_7/tests)
WINE_CONFIG_DLL(xaudio2_8,,[clean])
+WINE_CONFIG_DLL(xaudio2_9,,[clean])
WINE_CONFIG_DLL(xinput1_1)
WINE_CONFIG_DLL(xinput1_2)
WINE_CONFIG_DLL(xinput1_3,,[implib],[xinput])
diff --git a/dlls/xaudio2_7/compat.c b/dlls/xaudio2_7/compat.c
index 9488529..f2f7cd8 100644
--- a/dlls/xaudio2_7/compat.c
+++ b/dlls/xaudio2_7/compat.c
@@ -78,6 +78,14 @@
* Change parameter of IXAudio2::CreateMasteringVoice
* Add Flags parameter to IXAudio2SourceVoice::GetState
* Add IXAudio2MasteringVoice::GetChannelMask
+ * Add DisableLateField member to XAUDIO2FX_REVERB_PARAMETERS
+ *
+ * 2.9
+ * Change IID_IXAudio2
+ * New flags: XAUDIO2_STOP_ENGINE_WHEN_IDLE, XAUDIO2_1024_QUANTUM,
+ * XAUDIO2_NO_VIRTUAL_AUDIO_CLIENT
+ * ABI break:
+ * Add SideDelay member to XAUDIO2FX_REVERB_PARAMETERS
*/
#include "config.h"
diff --git a/dlls/xaudio2_7/xaudio_dll.c b/dlls/xaudio2_7/xaudio_dll.c
index ac1b2fe..4f0a11f 100644
--- a/dlls/xaudio2_7/xaudio_dll.c
+++ b/dlls/xaudio2_7/xaudio_dll.c
@@ -1192,6 +1192,7 @@ static HRESULT WINAPI IXAudio2Impl_QueryInterface(IXAudio2 *iface, REFIID riid,
TRACE("(%p)->(%s, %p)\n", This, debugstr_guid(riid), ppvObject);
if(IsEqualGUID(riid, &IID_IUnknown) ||
+ IsEqualGUID(riid, &IID_IXAudio28) ||
IsEqualGUID(riid, &IID_IXAudio2))
*ppvObject = &This->IXAudio2_iface;
else if(IsEqualGUID(riid, &IID_IXAudio27)){
diff --git a/dlls/xaudio2_9/Makefile.in b/dlls/xaudio2_9/Makefile.in
new file mode 100644
index 0000000..ceb2216
--- /dev/null
+++ b/dlls/xaudio2_9/Makefile.in
@@ -0,0 +1,13 @@
+EXTRADEFS = -DXAUDIO2_VER=9
+MODULE = xaudio2_9.dll
+IMPORTS = advapi32 ole32 user32 uuid
+EXTRALIBS = $(OPENAL_LIBS)
+PARENTSRC = ../xaudio2_7
+
+C_SRCS = \
+ compat.c \
+ x3daudio.c \
+ xapofx.c \
+ xaudio_dll.c
+
+IDL_SRCS = xaudio_classes.idl
diff --git a/dlls/xaudio2_9/xaudio2_9.spec b/dlls/xaudio2_9/xaudio2_9.spec
new file mode 100644
index 0000000..0b9f238
--- /dev/null
+++ b/dlls/xaudio2_9/xaudio2_9.spec
@@ -0,0 +1,6 @@
+@ stdcall XAudio2Create(ptr long long)
+@ stdcall CreateAudioVolumeMeter(ptr)
+@ stdcall CreateAudioReverb(ptr)
+@ cdecl CreateFX(ptr ptr ptr long)
+@ cdecl X3DAudioCalculate(ptr ptr ptr long ptr)
+@ cdecl X3DAudioInitialize(long float ptr)
diff --git a/include/xaudio2.idl b/include/xaudio2.idl
index 58cbe0a..9d8ace2 100644
--- a/include/xaudio2.idl
+++ b/include/xaudio2.idl
@@ -1001,11 +1001,14 @@ interface IXAudio27 : IUnknown
[in, defaultvalue(NULL)] void* pReserved);
}
+/* XAudio2 2.8's IXAudio2 is identical to 2.9's */
+cpp_quote("DEFINE_GUID(IID_IXAudio28, 0x60d8dac8, 0x5aa1, 0x4e8e, 0xb5, 0x97, 0x2f, 0x5e, 0x28, 0x83, 0xd4, 0x84);")
+
[
object,
- uuid(60d8dac8-5aa1-4e8e-b597-2f5e2883d484),
+ uuid(2b02e3cf-2e0b-4ec3-be45-1b2a3fe7210d)
]
-/* XAudio2 2.8's IXAudio2 interface. */
+/* XAudio2 2.9's IXAudio2 interface. */
interface IXAudio2 : IUnknown
{
HRESULT RegisterForCallbacks([in] IXAudio2EngineCallback* pCallback);
More information about the wine-cvs
mailing list