Module: wine Branch: master Commit: 8f06cc63fdc7e4923cf3a334b5758abf7b77c883 URL: http://source.winehq.org/git/wine.git/?a=commit;h=8f06cc63fdc7e4923cf3a334b5...
Author: Andrew Eikum aeikum@codeweavers.com Date: Tue Jan 12 13:31:09 2016 -0600
xaudio2_5: Use shared source.
Signed-off-by: Andrew Eikum aeikum@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
configure | 1 + configure.ac | 1 + dlls/xaudio2_5/Makefile.in | 7 ++++- dlls/xaudio2_5/xaudio2_5.spec | 2 +- dlls/xaudio2_5/xaudio_classes.idl | 42 ------------------------------ dlls/xaudio2_5/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 a46e6bb..b0c8919 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_5=${enable_xaudio2_5:-no} enable_xaudio2_6=${enable_xaudio2_6:-no} enable_xaudio2_7=${enable_xaudio2_7:-no} enable_xaudio2_8=${enable_xaudio2_8:-no} diff --git a/configure.ac b/configure.ac index 84a0ac6..94e7cc8 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_5=${enable_xaudio2_5:-no} enable_xaudio2_6=${enable_xaudio2_6:-no} enable_xaudio2_7=${enable_xaudio2_7:-no} enable_xaudio2_8=${enable_xaudio2_8:-no} diff --git a/dlls/xaudio2_5/Makefile.in b/dlls/xaudio2_5/Makefile.in index 6cc0565..ad6955c 100644 --- a/dlls/xaudio2_5/Makefile.in +++ b/dlls/xaudio2_5/Makefile.in @@ -1,7 +1,12 @@ +EXTRADEFS = -DXAUDIO2_VER=5 MODULE = xaudio2_5.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_5/xaudio2_5.spec b/dlls/xaudio2_5/xaudio2_5.spec index cb263d4..b16365d 100644 --- a/dlls/xaudio2_5/xaudio2_5.spec +++ b/dlls/xaudio2_5/xaudio2_5.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_5/xaudio_classes.idl b/dlls/xaudio2_5/xaudio_classes.idl deleted file mode 100644 index f3c0b0a..0000000 --- a/dlls/xaudio2_5/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.5 Class"), - threading(both), - uuid(4c9b6dde-6809-46e6-a278-9b6a97588670) -] -coclass XAudio25 { interface IXAudio27; } - -[ - helpstring("XAudio2.5 AudioReverb Class"), - threading(both), - uuid(d06df0d0-8518-441e-822f-5451d5c595b8) -] -coclass AudioReverb25 { interface IXAPO; } - -[ - helpstring("XAudio2.5 AudioVolumeMeter Class"), - threading(both), - uuid(2139e6da-c341-4774-9ac3-b4e026347f64) -] -coclass AudioVolumeMeter25 { interface IXAPO; } diff --git a/dlls/xaudio2_5/xaudio_dll.c b/dlls/xaudio2_5/xaudio_dll.c deleted file mode 100644 index e55861c..0000000 --- a/dlls/xaudio2_5/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 0dc2104..783b0ca 100644 --- a/dlls/xaudio2_7/xaudio_classes.idl +++ b/dlls/xaudio2_7/xaudio_classes.idl @@ -142,3 +142,26 @@ coclass AudioReverb26 { interface IXAPO; } ] coclass AudioVolumeMeter26 { interface IXAPO; } #endif /* XAUDIO2_VER == 6 */ + +#if XAUDIO2_VER == 5 +[ + helpstring("XAudio2.5 Class"), + threading(both), + uuid(4c9b6dde-6809-46e6-a278-9b6a97588670) +] +coclass XAudio25 { interface IXAudio27; } + +[ + helpstring("XAudio2.5 AudioReverb Class"), + threading(both), + uuid(d06df0d0-8518-441e-822f-5451d5c595b8) +] +coclass AudioReverb25 { interface IXAPO; } + +[ + helpstring("XAudio2.5 AudioVolumeMeter Class"), + threading(both), + uuid(2139e6da-c341-4774-9ac3-b4e026347f64) +] +coclass AudioVolumeMeter25 { interface IXAPO; } +#endif /* XAUDIO2_VER == 5 */