[PATCH 3/6] mmdevapi: Implement IsOffloadCapable
Andrew Eikum
aeikum at codeweavers.com
Thu Oct 1 14:31:27 CDT 2020
Signed-off-by: Andrew Eikum <aeikum at codeweavers.com>
---
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 8d52f483333..e58cc449d86 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 2c3165385e6..233b0dfda11 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 4e9ada3f55b..8ee1bb12d35 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 dd2ad916f8d..f32c1d5e417 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 50c7db2c7c1..9b1cdf3fa7c 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 b8386cfe553..e384955b019 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,
--
2.28.0
More information about the wine-devel
mailing list