xaudio2_4: Forward to xaudio2_7.

Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
This commit is contained in:
Andrew Eikum 2015-10-02 08:49:47 -05:00 committed by Alexandre Julliard
parent 11cb83cf94
commit a7ae7b47e5
8 changed files with 103 additions and 0 deletions

2
configure vendored
View File

@ -1375,6 +1375,7 @@ enable_xapofx1_3
enable_xapofx1_4
enable_xapofx1_5
enable_xaudio2_3
enable_xaudio2_4
enable_xaudio2_7
enable_xaudio2_8
enable_xinput1_1
@ -17913,6 +17914,7 @@ wine_fn_config_dll xapofx1_3 enable_xapofx1_3
wine_fn_config_dll xapofx1_4 enable_xapofx1_4
wine_fn_config_dll xapofx1_5 enable_xapofx1_5
wine_fn_config_dll xaudio2_3 enable_xaudio2_3 clean
wine_fn_config_dll xaudio2_4 enable_xaudio2_4 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

View File

@ -3461,6 +3461,7 @@ WINE_CONFIG_DLL(xapofx1_3)
WINE_CONFIG_DLL(xapofx1_4)
WINE_CONFIG_DLL(xapofx1_5)
WINE_CONFIG_DLL(xaudio2_3,,[clean])
WINE_CONFIG_DLL(xaudio2_4,,[clean])
WINE_CONFIG_DLL(xaudio2_7,,[clean])
WINE_CONFIG_TEST(dlls/xaudio2_7/tests)
WINE_CONFIG_DLL(xaudio2_8)

View File

@ -0,0 +1,7 @@
MODULE = xaudio2_4.dll
IMPORTS = ole32
C_SRCS = \
xaudio_dll.c
IDL_SRCS = xaudio_classes.idl

View File

@ -0,0 +1,4 @@
@ stdcall -private DllCanUnloadNow()
@ stdcall -private DllGetClassObject(ptr ptr ptr) xaudio2_7.DllGetClassObject
@ stdcall -private DllRegisterServer()
@ stdcall -private DllUnregisterServer()

View File

@ -0,0 +1,28 @@
/*
* 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.4 Class"),
threading(both),
uuid(03219e78-5bc3-44d1-b92e-f63d89cc6526)
]
coclass XAudio24 { interface IXAudio27; }

View File

@ -0,0 +1,52 @@
/*
* 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_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);
}

View File

@ -2462,6 +2462,8 @@ HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, void **ppv)
if IsEqualGUID(rclsid, &CLSID_XAudio23){
factory = make_xaudio2_factory(23);
}else if(IsEqualGUID(rclsid, &CLSID_XAudio24)){
factory = make_xaudio2_factory(24);
}else if(IsEqualGUID(rclsid, &CLSID_XAudio2)){
factory = make_xaudio2_factory(27);
}else if(IsEqualGUID(rclsid, &CLSID_AudioVolumeMeter)) {

View File

@ -37,6 +37,13 @@ coclass XAudio23 {
interface IUnknown;
}
[
uuid(03219e78-5bc3-44d1-b92e-f63d89cc6526)
]
coclass XAudio24 {
interface IUnknown;
}
[
uuid(db05ea35-0329-4d4b-a53a-6dead03d3852)
]