Andrew Eikum : xaudio2_3: Use shared source.

Alexandre Julliard julliard at wine.codeweavers.com
Wed Jan 13 12:14:16 CST 2016


Module: wine
Branch: master
Commit: 1a08e07e2b2da954edec03227a94046f58d78ef6
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=1a08e07e2b2da954edec03227a94046f58d78ef6

Author: Andrew Eikum <aeikum at codeweavers.com>
Date:   Tue Jan 12 13:31:17 2016 -0600

xaudio2_3: Use shared source.

Signed-off-by: Andrew Eikum <aeikum at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 configure                         |  1 +
 configure.ac                      |  1 +
 dlls/xaudio2_3/Makefile.in        |  7 ++++-
 dlls/xaudio2_3/xaudio2_3.spec     |  2 +-
 dlls/xaudio2_3/xaudio_classes.idl | 42 ------------------------------
 dlls/xaudio2_3/xaudio_dll.c       | 54 ---------------------------------------
 dlls/xaudio2_7/xaudio_classes.idl | 23 +++++++++++++++++
 7 files changed, 32 insertions(+), 98 deletions(-)

diff --git a/configure b/configure
index 09a718d..8bd9e35 100755
--- a/configure
+++ b/configure
@@ -13719,6 +13719,7 @@ fi
 if test "x$ac_cv_have_openalsoft" != xyes
 then
     as_fn_append wine_notices "|openal-soft ${notice_platform}development files not found (or too old), XAudio2 won't be supported"
+    enable_xaudio2_3=${enable_xaudio2_3:-no}
     enable_xaudio2_4=${enable_xaudio2_4:-no}
     enable_xaudio2_5=${enable_xaudio2_5:-no}
     enable_xaudio2_6=${enable_xaudio2_6:-no}
diff --git a/configure.ac b/configure.ac
index 6eedfb6..9ee7b74 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1662,6 +1662,7 @@ fi
 if test "x$ac_cv_have_openalsoft" != xyes
 then
     WINE_NOTICE([openal-soft ${notice_platform}development files not found (or too old), XAudio2 won't be supported])
+    enable_xaudio2_3=${enable_xaudio2_3:-no}
     enable_xaudio2_4=${enable_xaudio2_4:-no}
     enable_xaudio2_5=${enable_xaudio2_5:-no}
     enable_xaudio2_6=${enable_xaudio2_6:-no}
diff --git a/dlls/xaudio2_3/Makefile.in b/dlls/xaudio2_3/Makefile.in
index 0e9e2f3..ed6f3e1 100644
--- a/dlls/xaudio2_3/Makefile.in
+++ b/dlls/xaudio2_3/Makefile.in
@@ -1,7 +1,12 @@
+EXTRADEFS = -DXAUDIO2_VER=3
 MODULE    = xaudio2_3.dll
-IMPORTS   = ole32
+IMPORTS   = advapi32 kernel32 ole32 user32 uuid
+EXTRALIBS = $(OPENAL_LIBS)
+PARENTSRC = ../xaudio2_7
 
 C_SRCS = \
+	compat.c \
+	xapofx.c \
 	xaudio_dll.c
 
 IDL_SRCS = xaudio_classes.idl
diff --git a/dlls/xaudio2_3/xaudio2_3.spec b/dlls/xaudio2_3/xaudio2_3.spec
index cb263d4..b16365d 100644
--- a/dlls/xaudio2_3/xaudio2_3.spec
+++ b/dlls/xaudio2_3/xaudio2_3.spec
@@ -1,4 +1,4 @@
 @ stdcall -private DllCanUnloadNow()
-@ stdcall -private DllGetClassObject(ptr ptr ptr) xaudio2_7.DllGetClassObject
+@ stdcall -private DllGetClassObject(ptr ptr ptr)
 @ stdcall -private DllRegisterServer()
 @ stdcall -private DllUnregisterServer()
diff --git a/dlls/xaudio2_3/xaudio_classes.idl b/dlls/xaudio2_3/xaudio_classes.idl
deleted file mode 100644
index ebd8548..0000000
--- a/dlls/xaudio2_3/xaudio_classes.idl
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * COM Classes for xaudio
- *
- * Copyright 2015 Andrew Eikum for CodeWeavers
- *
- * 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
- */
-
-#pragma makedep register
-
-[
-    helpstring("XAudio2.3 Class"),
-    threading(both),
-    uuid(4c5e637a-16c7-4de3-9c46-5ed22181962d)
-]
-coclass XAudio23 { interface IXAudio27; }
-
-[
-    helpstring("XAudio2.3 AudioReverb Class"),
-    threading(both),
-    uuid(9cab402c-1d37-44b4-886d-fa4f36170a4c)
-]
-coclass AudioReverb23 { interface IXAPO; }
-
-[
-    helpstring("XAudio2.3 AudioVolumeMeter Class"),
-    threading(both),
-    uuid(e180344b-ac83-4483-959e-18a5c56a5e19)
-]
-coclass AudioVolumeMeter23 { interface IXAPO; }
diff --git a/dlls/xaudio2_3/xaudio_dll.c b/dlls/xaudio2_3/xaudio_dll.c
deleted file mode 100644
index e55861c..0000000
--- a/dlls/xaudio2_3/xaudio_dll.c
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright (c) 2015 Andrew Eikum for CodeWeavers
- *
- * 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 <stdarg.h>
-#include "windef.h"
-#include "winbase.h"
-#include "objbase.h"
-#include "rpcproxy.h"
-
-static HINSTANCE instance;
-
-BOOL WINAPI DllMain(HINSTANCE hinstance, DWORD reason, LPVOID reserved)
-{
-    switch (reason)
-    {
-    case DLL_WINE_PREATTACH:
-        return FALSE;    /* prefer native version */
-    case DLL_PROCESS_ATTACH:
-        instance = hinstance;
-        DisableThreadLibraryCalls(hinstance);
-        break;
-    }
-    return TRUE;
-}
-
-HRESULT WINAPI DllCanUnloadNow(void)
-{
-    return S_FALSE;
-}
-
-HRESULT WINAPI DllRegisterServer(void)
-{
-    return __wine_register_resources(instance);
-}
-
-HRESULT WINAPI DllUnregisterServer(void)
-{
-    return __wine_unregister_resources(instance);
-}
diff --git a/dlls/xaudio2_7/xaudio_classes.idl b/dlls/xaudio2_7/xaudio_classes.idl
index 699766c..5ec42fd 100644
--- a/dlls/xaudio2_7/xaudio_classes.idl
+++ b/dlls/xaudio2_7/xaudio_classes.idl
@@ -188,3 +188,26 @@ coclass AudioReverb24 { interface IXAPO; }
 ]
 coclass AudioVolumeMeter24 { interface IXAPO; }
 #endif /* XAUDIO2_VER == 4 */
+
+#if XAUDIO2_VER == 3
+[
+    helpstring("XAudio2.3 Class"),
+    threading(both),
+    uuid(4c5e637a-16c7-4de3-9c46-5ed22181962d)
+]
+coclass XAudio23 { interface IXAudio27; }
+
+[
+    helpstring("XAudio2.3 AudioReverb Class"),
+    threading(both),
+    uuid(9cab402c-1d37-44b4-886d-fa4f36170a4c)
+]
+coclass AudioReverb23 { interface IXAPO; }
+
+[
+    helpstring("XAudio2.3 AudioVolumeMeter Class"),
+    threading(both),
+    uuid(e180344b-ac83-4483-959e-18a5c56a5e19)
+]
+coclass AudioVolumeMeter23 { interface IXAPO; }
+#endif /* XAUDIO2_VER == 3 */




More information about the wine-cvs mailing list