xaudio2: Explicitly version the 2.7 coclasses.

In versions 2.8 and later, no coclasses are provided by the API, so we
should version the old ones to make it clear they're out of date.

Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Andrew Eikum 2016-01-11 13:52:02 -06:00 committed by Alexandre Julliard
parent 17baf1e769
commit 4ad4c61100
8 changed files with 51 additions and 51 deletions

View File

@ -249,7 +249,7 @@ static void test_simple_streaming(IXAudio2 *xa)
if(xaudio27){ if(xaudio27){
IXAPO *xapo; IXAPO *xapo;
hr = CoCreateInstance(&CLSID_AudioVolumeMeter, NULL, hr = CoCreateInstance(&CLSID_AudioVolumeMeter27, NULL,
CLSCTX_INPROC_SERVER, &IID_IUnknown, (void**)&vumeter); CLSCTX_INPROC_SERVER, &IID_IUnknown, (void**)&vumeter);
ok(hr == S_OK, "CoCreateInstance(AudioVolumeMeter) failed: %08x\n", hr); ok(hr == S_OK, "CoCreateInstance(AudioVolumeMeter) failed: %08x\n", hr);
@ -834,7 +834,7 @@ static void test_xapo_creation_legacy(const char *module, unsigned int version)
&CLSID_AudioVolumeMeter24, &CLSID_AudioVolumeMeter24,
&CLSID_AudioVolumeMeter25, &CLSID_AudioVolumeMeter25,
&CLSID_AudioVolumeMeter26, &CLSID_AudioVolumeMeter26,
&CLSID_AudioVolumeMeter &CLSID_AudioVolumeMeter27
}; };
static const GUID *ar_clsids[] = { static const GUID *ar_clsids[] = {
@ -845,7 +845,7 @@ static void test_xapo_creation_legacy(const char *module, unsigned int version)
&CLSID_AudioReverb24, &CLSID_AudioReverb24,
&CLSID_AudioReverb25, &CLSID_AudioReverb25,
&CLSID_AudioReverb26, &CLSID_AudioReverb26,
&CLSID_AudioReverb &CLSID_AudioReverb27
}; };
xapofxdll = LoadLibraryA(module); xapofxdll = LoadLibraryA(module);
@ -973,7 +973,7 @@ static void test_xapo_creation_modern(const char *module)
} }
/* test legacy CLSID */ /* test legacy CLSID */
hr = pCreateFX(&CLSID_AudioVolumeMeter, &fx_unk, NULL, 0); hr = pCreateFX(&CLSID_AudioVolumeMeter27, &fx_unk, NULL, 0);
ok(hr == S_OK, "%s: CreateFX(CLSID_AudioVolumeMeter) failed: %08x\n", module, hr); ok(hr == S_OK, "%s: CreateFX(CLSID_AudioVolumeMeter) failed: %08x\n", module, hr);
if(SUCCEEDED(hr)){ if(SUCCEEDED(hr)){
IXAPO *xapo; IXAPO *xapo;
@ -1060,7 +1060,7 @@ START_TEST(xaudio2)
test_xapo_creation(); test_xapo_creation();
/* XAudio 2.7 (Jun 2010 DirectX) */ /* XAudio 2.7 (Jun 2010 DirectX) */
hr = CoCreateInstance(&CLSID_XAudio2, NULL, CLSCTX_INPROC_SERVER, hr = CoCreateInstance(&CLSID_XAudio27, NULL, CLSCTX_INPROC_SERVER,
&IID_IXAudio27, (void**)&xa27); &IID_IXAudio27, (void**)&xa27);
if(hr == S_OK){ if(hr == S_OK){
xaudio27 = TRUE; xaudio27 = TRUE;

View File

@ -699,7 +699,7 @@ static HRESULT WINAPI xapocf_CreateInstance(IClassFactory *iface, IUnknown *pOut
if(pOuter) if(pOuter)
return CLASS_E_NOAGGREGATION; return CLASS_E_NOAGGREGATION;
if(IsEqualGUID(This->class, &CLSID_AudioVolumeMeter)){ if(IsEqualGUID(This->class, &CLSID_AudioVolumeMeter27)){
VUMeterImpl *object; VUMeterImpl *object;
object = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*object)); object = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*object));
@ -715,7 +715,7 @@ static HRESULT WINAPI xapocf_CreateInstance(IClassFactory *iface, IUnknown *pOut
HeapFree(GetProcessHeap(), 0, object); HeapFree(GetProcessHeap(), 0, object);
return hr; return hr;
} }
}else if(IsEqualGUID(This->class, &CLSID_AudioReverb)){ }else if(IsEqualGUID(This->class, &CLSID_AudioReverb27)){
ReverbImpl *object; ReverbImpl *object;
object = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*object)); object = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*object));

View File

@ -25,7 +25,7 @@
threading(both), threading(both),
uuid(5a508685-a254-4fba-9b82-9a24b00306af) uuid(5a508685-a254-4fba-9b82-9a24b00306af)
] ]
coclass XAudio2 { interface IXAudio2; } coclass XAudio27 { interface IXAudio27; }
[ [
helpstring("XAudio2 Volume Meter Class"), helpstring("XAudio2 Volume Meter Class"),

View File

@ -2024,58 +2024,58 @@ HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, void **ppv)
factory = make_xaudio2_factory(25); factory = make_xaudio2_factory(25);
}else if(IsEqualGUID(rclsid, &CLSID_XAudio26)){ }else if(IsEqualGUID(rclsid, &CLSID_XAudio26)){
factory = make_xaudio2_factory(26); factory = make_xaudio2_factory(26);
}else if(IsEqualGUID(rclsid, &CLSID_XAudio2)){ }else if(IsEqualGUID(rclsid, &CLSID_XAudio27)){
factory = make_xaudio2_factory(27); factory = make_xaudio2_factory(27);
}else if(IsEqualGUID(rclsid, &CLSID_AudioVolumeMeter20)){ }else if(IsEqualGUID(rclsid, &CLSID_AudioVolumeMeter20)){
factory = make_xapo_factory(&CLSID_AudioVolumeMeter, 20); factory = make_xapo_factory(&CLSID_AudioVolumeMeter27, 20);
}else if(IsEqualGUID(rclsid, &CLSID_AudioVolumeMeter21)){ }else if(IsEqualGUID(rclsid, &CLSID_AudioVolumeMeter21)){
factory = make_xapo_factory(&CLSID_AudioVolumeMeter, 21); factory = make_xapo_factory(&CLSID_AudioVolumeMeter27, 21);
}else if(IsEqualGUID(rclsid, &CLSID_AudioVolumeMeter22)){ }else if(IsEqualGUID(rclsid, &CLSID_AudioVolumeMeter22)){
factory = make_xapo_factory(&CLSID_AudioVolumeMeter, 22); factory = make_xapo_factory(&CLSID_AudioVolumeMeter27, 22);
}else if(IsEqualGUID(rclsid, &CLSID_AudioVolumeMeter23)){ }else if(IsEqualGUID(rclsid, &CLSID_AudioVolumeMeter23)){
factory = make_xapo_factory(&CLSID_AudioVolumeMeter, 23); factory = make_xapo_factory(&CLSID_AudioVolumeMeter27, 23);
}else if(IsEqualGUID(rclsid, &CLSID_AudioVolumeMeter24)){ }else if(IsEqualGUID(rclsid, &CLSID_AudioVolumeMeter24)){
factory = make_xapo_factory(&CLSID_AudioVolumeMeter, 24); factory = make_xapo_factory(&CLSID_AudioVolumeMeter27, 24);
}else if(IsEqualGUID(rclsid, &CLSID_AudioVolumeMeter25)){ }else if(IsEqualGUID(rclsid, &CLSID_AudioVolumeMeter25)){
factory = make_xapo_factory(&CLSID_AudioVolumeMeter, 25); factory = make_xapo_factory(&CLSID_AudioVolumeMeter27, 25);
}else if(IsEqualGUID(rclsid, &CLSID_AudioVolumeMeter26)){ }else if(IsEqualGUID(rclsid, &CLSID_AudioVolumeMeter26)){
factory = make_xapo_factory(&CLSID_AudioVolumeMeter, 26); factory = make_xapo_factory(&CLSID_AudioVolumeMeter27, 26);
}else if(IsEqualGUID(rclsid, &CLSID_AudioVolumeMeter)){ }else if(IsEqualGUID(rclsid, &CLSID_AudioVolumeMeter27)){
factory = make_xapo_factory(&CLSID_AudioVolumeMeter, 27); factory = make_xapo_factory(&CLSID_AudioVolumeMeter27, 27);
}else if(IsEqualGUID(rclsid, &CLSID_AudioReverb20)){ }else if(IsEqualGUID(rclsid, &CLSID_AudioReverb20)){
factory = make_xapo_factory(&CLSID_AudioReverb, 20); factory = make_xapo_factory(&CLSID_AudioReverb27, 20);
}else if(IsEqualGUID(rclsid, &CLSID_AudioReverb21) || }else if(IsEqualGUID(rclsid, &CLSID_AudioReverb21) ||
IsEqualGUID(rclsid, &CLSID_WINE_FXReverb10)){ IsEqualGUID(rclsid, &CLSID_WINE_FXReverb10)){
factory = make_xapo_factory(&CLSID_AudioReverb, 21); factory = make_xapo_factory(&CLSID_AudioReverb27, 21);
}else if(IsEqualGUID(rclsid, &CLSID_AudioReverb22) || }else if(IsEqualGUID(rclsid, &CLSID_AudioReverb22) ||
IsEqualGUID(rclsid, &CLSID_WINE_FXReverb11)){ IsEqualGUID(rclsid, &CLSID_WINE_FXReverb11)){
factory = make_xapo_factory(&CLSID_AudioReverb, 22); factory = make_xapo_factory(&CLSID_AudioReverb27, 22);
}else if(IsEqualGUID(rclsid, &CLSID_AudioReverb23) || }else if(IsEqualGUID(rclsid, &CLSID_AudioReverb23) ||
IsEqualGUID(rclsid, &CLSID_WINE_FXReverb12)){ IsEqualGUID(rclsid, &CLSID_WINE_FXReverb12)){
factory = make_xapo_factory(&CLSID_AudioReverb, 23); factory = make_xapo_factory(&CLSID_AudioReverb27, 23);
}else if(IsEqualGUID(rclsid, &CLSID_AudioReverb24) || }else if(IsEqualGUID(rclsid, &CLSID_AudioReverb24) ||
IsEqualGUID(rclsid, &CLSID_WINE_FXReverb13)){ IsEqualGUID(rclsid, &CLSID_WINE_FXReverb13)){
factory = make_xapo_factory(&CLSID_AudioReverb, 24); factory = make_xapo_factory(&CLSID_AudioReverb27, 24);
}else if(IsEqualGUID(rclsid, &CLSID_AudioReverb25)){ }else if(IsEqualGUID(rclsid, &CLSID_AudioReverb25)){
factory = make_xapo_factory(&CLSID_AudioReverb, 25); factory = make_xapo_factory(&CLSID_AudioReverb27, 25);
}else if(IsEqualGUID(rclsid, &CLSID_AudioReverb26) || }else if(IsEqualGUID(rclsid, &CLSID_AudioReverb26) ||
IsEqualGUID(rclsid, &CLSID_WINE_FXReverb14)){ IsEqualGUID(rclsid, &CLSID_WINE_FXReverb14)){
factory = make_xapo_factory(&CLSID_AudioReverb, 26); factory = make_xapo_factory(&CLSID_AudioReverb27, 26);
}else if(IsEqualGUID(rclsid, &CLSID_AudioReverb) || }else if(IsEqualGUID(rclsid, &CLSID_AudioReverb27) ||
IsEqualGUID(rclsid, &CLSID_WINE_FXReverb15)){ IsEqualGUID(rclsid, &CLSID_WINE_FXReverb15)){
factory = make_xapo_factory(&CLSID_AudioReverb, 27); factory = make_xapo_factory(&CLSID_AudioReverb27, 27);
}else if(IsEqualGUID(rclsid, &CLSID_WINE_FXReverb28)){ }else if(IsEqualGUID(rclsid, &CLSID_WINE_FXReverb28)){
factory = make_xapo_factory(&CLSID_AudioReverb, 28); factory = make_xapo_factory(&CLSID_AudioReverb27, 28);
}else if(IsEqualGUID(rclsid, &CLSID_WINE_FXEQ10)){ }else if(IsEqualGUID(rclsid, &CLSID_WINE_FXEQ10)){

View File

@ -54,7 +54,7 @@ HRESULT WINAPI XAudio2Create(IXAudio2 **ppxa2, UINT32 flags, XAUDIO2_PROCESSOR p
IXAudio27 *xa27; IXAudio27 *xa27;
/* create XAudio2 2.8 instance */ /* create XAudio2 2.8 instance */
hr = CoCreateInstance(&CLSID_XAudio2, NULL, CLSCTX_INPROC_SERVER, hr = CoCreateInstance(&CLSID_XAudio27, NULL, CLSCTX_INPROC_SERVER,
&IID_IXAudio2, (void**)&xa2); &IID_IXAudio2, (void**)&xa2);
if(FAILED(hr)) if(FAILED(hr))
return hr; return hr;
@ -81,13 +81,13 @@ HRESULT WINAPI XAudio2Create(IXAudio2 **ppxa2, UINT32 flags, XAUDIO2_PROCESSOR p
HRESULT WINAPI CreateAudioVolumeMeter(IUnknown **out) HRESULT WINAPI CreateAudioVolumeMeter(IUnknown **out)
{ {
return CoCreateInstance(&CLSID_AudioVolumeMeter, NULL, CLSCTX_INPROC_SERVER, return CoCreateInstance(&CLSID_AudioVolumeMeter27, NULL, CLSCTX_INPROC_SERVER,
&IID_IUnknown, (void**)out); &IID_IUnknown, (void**)out);
} }
HRESULT WINAPI CreateAudioReverb(IUnknown **out) HRESULT WINAPI CreateAudioReverb(IUnknown **out)
{ {
return CoCreateInstance(&CLSID_AudioReverb, NULL, CLSCTX_INPROC_SERVER, return CoCreateInstance(&CLSID_AudioReverb27, NULL, CLSCTX_INPROC_SERVER,
&IID_IUnknown, (void**)out); &IID_IUnknown, (void**)out);
} }

View File

@ -23,7 +23,7 @@
/* xapofx 1.0 through 1.5 */ /* xapofx 1.0 through 1.5 */
DEFINE_GUID(CLSID_FXEQ27, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0x55, 0x00, 0x00, 0x00, 0x00); DEFINE_GUID(CLSID_FXEQ27, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0x55, 0x00, 0x00, 0x00, 0x00);
/* xaudio 2.8 */ /* xaudio >= 2.8 */
DEFINE_GUID(CLSID_FXEQ, 0xf5e01117, 0xd6c4, 0x485a, 0xa3, 0xf5, 0x69, 0x51, 0x96, 0xf3, 0xdb, 0xfa); DEFINE_GUID(CLSID_FXEQ, 0xf5e01117, 0xd6c4, 0x485a, 0xa3, 0xf5, 0x69, 0x51, 0x96, 0xf3, 0xdb, 0xfa);
/* wine internal */ /* wine internal */
DEFINE_GUID(CLSID_WINE_FXEQ10, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0xFF, 0x00, 0x00, 0x01, 0x00); DEFINE_GUID(CLSID_WINE_FXEQ10, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0xFF, 0x00, 0x00, 0x01, 0x00);
@ -36,7 +36,7 @@ DEFINE_GUID(CLSID_WINE_FXEQ28, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0xF
/* xapofx 1.0 through 1.5 */ /* xapofx 1.0 through 1.5 */
DEFINE_GUID(CLSID_FXMasteringLimiter27, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0x55, 0x00, 0x00, 0x00, 0x01); DEFINE_GUID(CLSID_FXMasteringLimiter27, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0x55, 0x00, 0x00, 0x00, 0x01);
/* xaudio 2.8 */ /* xaudio >= 2.8 */
DEFINE_GUID(CLSID_FXMasteringLimiter, 0xc4137916, 0x2be1, 0x46fd, 0x85, 0x99, 0x44, 0x15, 0x36, 0xf4, 0x98, 0x56); DEFINE_GUID(CLSID_FXMasteringLimiter, 0xc4137916, 0x2be1, 0x46fd, 0x85, 0x99, 0x44, 0x15, 0x36, 0xf4, 0x98, 0x56);
/* wine internal */ /* wine internal */
DEFINE_GUID(CLSID_WINE_FXMasteringLimiter10, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0xFF, 0x01, 0x00, 0x01, 0x00); DEFINE_GUID(CLSID_WINE_FXMasteringLimiter10, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0xFF, 0x01, 0x00, 0x01, 0x00);
@ -49,7 +49,7 @@ DEFINE_GUID(CLSID_WINE_FXMasteringLimiter28, 0xa90bc001, 0xe897, 0xe897, 0x74, 0
/* xapofx 1.0 through 1.5 */ /* xapofx 1.0 through 1.5 */
DEFINE_GUID(CLSID_FXReverb27, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0x55, 0x00, 0x00, 0x00, 0x02); DEFINE_GUID(CLSID_FXReverb27, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0x55, 0x00, 0x00, 0x00, 0x02);
/* xaudio 2.8 */ /* xaudio >= 2.8 */
DEFINE_GUID(CLSID_FXReverb, 0x7d9aca56, 0xcb68, 0x4807, 0xb6, 0x32, 0xb1, 0x37, 0x35, 0x2e, 0x85, 0x96); DEFINE_GUID(CLSID_FXReverb, 0x7d9aca56, 0xcb68, 0x4807, 0xb6, 0x32, 0xb1, 0x37, 0x35, 0x2e, 0x85, 0x96);
/* wine internal */ /* wine internal */
DEFINE_GUID(CLSID_WINE_FXReverb10, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0xFF, 0x02, 0x00, 0x01, 0x00); DEFINE_GUID(CLSID_WINE_FXReverb10, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0xFF, 0x02, 0x00, 0x01, 0x00);
@ -62,7 +62,7 @@ DEFINE_GUID(CLSID_WINE_FXReverb28, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43,
/* xapofx 1.0 through 1.5 */ /* xapofx 1.0 through 1.5 */
DEFINE_GUID(CLSID_FXEcho27, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0x55, 0x00, 0x00, 0x00, 0x03); DEFINE_GUID(CLSID_FXEcho27, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0x55, 0x00, 0x00, 0x00, 0x03);
/* xaudio 2.8 */ /* xaudio >= 2.8 */
DEFINE_GUID(CLSID_FXEcho, 0x5039d740, 0xf736, 0x449a, 0x84, 0xd3, 0xa5, 0x62, 0x02, 0x55, 0x7b, 0x87); DEFINE_GUID(CLSID_FXEcho, 0x5039d740, 0xf736, 0x449a, 0x84, 0xd3, 0xa5, 0x62, 0x02, 0x55, 0x7b, 0x87);
/* wine internal */ /* wine internal */
DEFINE_GUID(CLSID_WINE_FXEcho10, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0xFF, 0x03, 0x00, 0x01, 0x00); DEFINE_GUID(CLSID_WINE_FXEcho10, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0xFF, 0x03, 0x00, 0x01, 0x00);

View File

@ -23,13 +23,6 @@ import "audiosessiontypes.h";
cpp_quote("#include <pshpack1.h>") cpp_quote("#include <pshpack1.h>")
[
uuid(5a508685-a254-4fba-9b82-9a24b00306af)
]
coclass XAudio2 {
interface IUnknown;
}
[ [
uuid(fac23f48-31f5-45a8-b49b-5225d61401aa) uuid(fac23f48-31f5-45a8-b49b-5225d61401aa)
] ]
@ -79,6 +72,13 @@ coclass XAudio26 {
interface IUnknown; interface IUnknown;
} }
[
uuid(5a508685-a254-4fba-9b82-9a24b00306af)
]
coclass XAudio27 {
interface IUnknown;
}
[ [
uuid(db05ea35-0329-4d4b-a53a-6dead03d3852) uuid(db05ea35-0329-4d4b-a53a-6dead03d3852)
] ]

View File

@ -18,13 +18,6 @@
import "unknwn.idl"; import "unknwn.idl";
[
uuid(cac1105f-619b-4d04-831a-44e1cbf12d57)
]
coclass AudioVolumeMeter {
interface IUnknown;
}
[ [
uuid(c0c56f46-29b1-44e9-9939-a32ce86867e2) uuid(c0c56f46-29b1-44e9-9939-a32ce86867e2)
] ]
@ -75,9 +68,9 @@ coclass AudioVolumeMeter26 {
} }
[ [
uuid(6a93130e-1d53-41d1-a9cf-e758800bb179) uuid(cac1105f-619b-4d04-831a-44e1cbf12d57)
] ]
coclass AudioReverb { coclass AudioVolumeMeter27 {
interface IUnknown; interface IUnknown;
} }
@ -129,3 +122,10 @@ coclass AudioReverb25 {
coclass AudioReverb26 { coclass AudioReverb26 {
interface IUnknown; interface IUnknown;
} }
[
uuid(6a93130e-1d53-41d1-a9cf-e758800bb179)
]
coclass AudioReverb27 {
interface IUnknown;
}