Commit 6314a750 authored by Andrew Eikum's avatar Andrew Eikum Committed by Alexandre Julliard

mmdevapi: Stub implement IAudioClient3.

parent 496a8c1c
...@@ -592,7 +592,8 @@ static HRESULT WINAPI MMDevice_Activate(IMMDevice *iface, REFIID riid, DWORD cls ...@@ -592,7 +592,8 @@ static HRESULT WINAPI MMDevice_Activate(IMMDevice *iface, REFIID riid, DWORD cls
return E_POINTER; return E_POINTER;
if (IsEqualIID(riid, &IID_IAudioClient) || if (IsEqualIID(riid, &IID_IAudioClient) ||
IsEqualIID(riid, &IID_IAudioClient2)){ IsEqualIID(riid, &IID_IAudioClient2) ||
IsEqualIID(riid, &IID_IAudioClient3)){
hr = drvs.pGetAudioEndpoint(&This->devguid, iface, (IAudioClient**)ppv); hr = drvs.pGetAudioEndpoint(&This->devguid, iface, (IAudioClient**)ppv);
}else if (IsEqualIID(riid, &IID_IAudioEndpointVolume) || }else if (IsEqualIID(riid, &IID_IAudioEndpointVolume) ||
IsEqualIID(riid, &IID_IAudioEndpointVolumeEx)) IsEqualIID(riid, &IID_IAudioEndpointVolumeEx))
......
...@@ -134,6 +134,7 @@ static void test_audioclient(void) ...@@ -134,6 +134,7 @@ static void test_audioclient(void)
{ {
IAudioClient *ac; IAudioClient *ac;
IAudioClient2 *ac2; IAudioClient2 *ac2;
IAudioClient3 *ac3;
IUnknown *unk; IUnknown *unk;
HRESULT hr; HRESULT hr;
ULONG ref; ULONG ref;
...@@ -143,6 +144,14 @@ static void test_audioclient(void) ...@@ -143,6 +144,14 @@ static void test_audioclient(void)
BOOL offload_capable; BOOL offload_capable;
AudioClientProperties client_props; AudioClientProperties client_props;
hr = IMMDevice_Activate(dev, &IID_IAudioClient3, CLSCTX_INPROC_SERVER,
NULL, (void**)&ac3);
ok(hr == S_OK ||
broken(hr == E_NOINTERFACE) /* win8 */,
"IAudioClient3 Activation failed with %08x\n", hr);
if(hr == S_OK)
IAudioClient3_Release(ac3);
hr = IMMDevice_Activate(dev, &IID_IAudioClient2, CLSCTX_INPROC_SERVER, hr = IMMDevice_Activate(dev, &IID_IAudioClient2, CLSCTX_INPROC_SERVER,
NULL, (void**)&ac2); NULL, (void**)&ac2);
ok(hr == S_OK, "IAudioClient2 Activation failed with %08x\n", hr); ok(hr == S_OK, "IAudioClient2 Activation failed with %08x\n", hr);
...@@ -287,6 +296,14 @@ static void test_audioclient(void) ...@@ -287,6 +296,14 @@ static void test_audioclient(void)
IAudioClient2_Release(ac2); IAudioClient2_Release(ac2);
hr = IAudioClient_QueryInterface(ac, &IID_IAudioClient3, (void**)&ac3);
ok(hr == S_OK ||
broken(hr == E_NOINTERFACE) /* win8 */,
"Failed to query IAudioClient3 interface: %08x\n", hr);
if(hr == S_OK)
IAudioClient3_Release(ac3);
test_uninitialized(ac); test_uninitialized(ac);
hr = IAudioClient_Initialize(ac, 3, 0, 5000000, 0, pwfx, NULL); hr = IAudioClient_Initialize(ac, 3, 0, 5000000, 0, pwfx, NULL);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment