Andrew Eikum : mmdevapi: Implement IsOffloadCapable.
Alexandre Julliard
julliard at winehq.org
Fri Oct 2 14:54:09 CDT 2020
Module: wine
Branch: master
Commit: 530c79fba272219e9ed7bc1ebf309fe7163ac8ee
URL: https://source.winehq.org/git/wine.git/?a=commit;h=530c79fba272219e9ed7bc1ebf309fe7163ac8ee
Author: Andrew Eikum <aeikum at codeweavers.com>
Date: Thu Oct 1 14:31:27 2020 -0500
mmdevapi: Implement IsOffloadCapable.
Signed-off-by: Andrew Eikum <aeikum at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/mmdevapi/tests/render.c | 7 +++++++
dlls/winealsa.drv/mmdevdrv.c | 9 +++++++--
dlls/wineandroid.drv/mmdevdrv.c | 9 +++++++--
dlls/winecoreaudio.drv/mmdevdrv.c | 9 +++++++--
dlls/wineoss.drv/mmdevdrv.c | 9 +++++++--
dlls/winepulse.drv/mmdevdrv.c | 9 +++++++--
6 files changed, 42 insertions(+), 10 deletions(-)
diff --git a/dlls/mmdevapi/tests/render.c b/dlls/mmdevapi/tests/render.c
index 8d52f48333..e58cc449d8 100644
--- a/dlls/mmdevapi/tests/render.c
+++ b/dlls/mmdevapi/tests/render.c
@@ -140,6 +140,7 @@ static void test_audioclient(void)
WAVEFORMATEX *pwfx, *pwfx2;
REFERENCE_TIME t1, t2;
HANDLE handle;
+ BOOL offload_capable;
hr = IMMDevice_Activate(dev, &IID_IAudioClient2, CLSCTX_INPROC_SERVER,
NULL, (void**)&ac2);
@@ -253,6 +254,12 @@ static void test_audioclient(void)
hr = IAudioClient_QueryInterface(ac, &IID_IAudioClient2, (void**)&ac2);
ok(hr == S_OK, "Failed to query IAudioClient2 interface: %08x\n", hr);
+ hr = IAudioClient2_IsOffloadCapable(ac2, AudioCategory_BackgroundCapableMedia, NULL);
+ ok(hr == E_INVALIDARG, "IsOffloadCapable gave wrong error: %08x\n", hr);
+
+ hr = IAudioClient2_IsOffloadCapable(ac2, AudioCategory_BackgroundCapableMedia, &offload_capable);
+ ok(hr == S_OK, "IsOffloadCapable failed: %08x\n", hr);
+
IAudioClient2_Release(ac2);
test_uninitialized(ac);
diff --git a/dlls/winealsa.drv/mmdevdrv.c b/dlls/winealsa.drv/mmdevdrv.c
index 2c3165385e..233b0dfda1 100644
--- a/dlls/winealsa.drv/mmdevdrv.c
+++ b/dlls/winealsa.drv/mmdevdrv.c
@@ -2661,9 +2661,14 @@ static HRESULT WINAPI AudioClient_IsOffloadCapable(IAudioClient2 *iface,
{
ACImpl *This = impl_from_IAudioClient2(iface);
- FIXME("(%p)->(0x%x, %p)\n", This, category, offload_capable);
+ TRACE("(%p)->(0x%x, %p)\n", This, category, offload_capable);
- return E_NOTIMPL;
+ if(!offload_capable)
+ return E_INVALIDARG;
+
+ *offload_capable = FALSE;
+
+ return S_OK;
}
static HRESULT WINAPI AudioClient_SetClientProperties(IAudioClient2 *iface,
diff --git a/dlls/wineandroid.drv/mmdevdrv.c b/dlls/wineandroid.drv/mmdevdrv.c
index 4e9ada3f55..8ee1bb12d3 100644
--- a/dlls/wineandroid.drv/mmdevdrv.c
+++ b/dlls/wineandroid.drv/mmdevdrv.c
@@ -1620,9 +1620,14 @@ static HRESULT WINAPI AudioClient_IsOffloadCapable(IAudioClient2 *iface,
{
ACImpl *This = impl_from_IAudioClient2(iface);
- FIXME("(%p)->(0x%x, %p)\n", This, category, offload_capable);
+ TRACE("(%p)->(0x%x, %p)\n", This, category, offload_capable);
- return E_NOTIMPL;
+ if(!offload_capable)
+ return E_INVALIDARG;
+
+ *offload_capable = FALSE;
+
+ return S_OK;
}
static HRESULT WINAPI AudioClient_SetClientProperties(IAudioClient2 *iface,
diff --git a/dlls/winecoreaudio.drv/mmdevdrv.c b/dlls/winecoreaudio.drv/mmdevdrv.c
index dd2ad916f8..f32c1d5e41 100644
--- a/dlls/winecoreaudio.drv/mmdevdrv.c
+++ b/dlls/winecoreaudio.drv/mmdevdrv.c
@@ -2228,9 +2228,14 @@ static HRESULT WINAPI AudioClient_IsOffloadCapable(IAudioClient2 *iface,
{
ACImpl *This = impl_from_IAudioClient2(iface);
- FIXME("(%p)->(0x%x, %p)\n", This, category, offload_capable);
+ TRACE("(%p)->(0x%x, %p)\n", This, category, offload_capable);
- return E_NOTIMPL;
+ if(!offload_capable)
+ return E_INVALIDARG;
+
+ *offload_capable = FALSE;
+
+ return S_OK;
}
static HRESULT WINAPI AudioClient_SetClientProperties(IAudioClient2 *iface,
diff --git a/dlls/wineoss.drv/mmdevdrv.c b/dlls/wineoss.drv/mmdevdrv.c
index 50c7db2c7c..9b1cdf3fa7 100644
--- a/dlls/wineoss.drv/mmdevdrv.c
+++ b/dlls/wineoss.drv/mmdevdrv.c
@@ -1785,9 +1785,14 @@ static HRESULT WINAPI AudioClient_IsOffloadCapable(IAudioClient2 *iface,
{
ACImpl *This = impl_from_IAudioClient2(iface);
- FIXME("(%p)->(0x%x, %p)\n", This, category, offload_capable);
+ TRACE("(%p)->(0x%x, %p)\n", This, category, offload_capable);
- return E_NOTIMPL;
+ if(!offload_capable)
+ return E_INVALIDARG;
+
+ *offload_capable = FALSE;
+
+ return S_OK;
}
static HRESULT WINAPI AudioClient_SetClientProperties(IAudioClient2 *iface,
diff --git a/dlls/winepulse.drv/mmdevdrv.c b/dlls/winepulse.drv/mmdevdrv.c
index b8386cfe55..e384955b01 100644
--- a/dlls/winepulse.drv/mmdevdrv.c
+++ b/dlls/winepulse.drv/mmdevdrv.c
@@ -2233,9 +2233,14 @@ static HRESULT WINAPI AudioClient_IsOffloadCapable(IAudioClient2 *iface,
{
ACImpl *This = impl_from_IAudioClient2(iface);
- FIXME("(%p)->(0x%x, %p)\n", This, category, offload_capable);
+ TRACE("(%p)->(0x%x, %p)\n", This, category, offload_capable);
- return E_NOTIMPL;
+ if(!offload_capable)
+ return E_INVALIDARG;
+
+ *offload_capable = FALSE;
+
+ return S_OK;
}
static HRESULT WINAPI AudioClient_SetClientProperties(IAudioClient2 *iface,
More information about the wine-cvs
mailing list