From 7c5b90006c957a4080e5b4b0e7c95872da6d522b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20H=C3=B6hle?= Date: Tue, 23 Aug 2011 21:16:24 +0200 Subject: [PATCH] mmdevapi: SHAREDMODE_EXCLUSIVE + EVENTCALLBACK is too ... exclusive for now. --- dlls/winealsa.drv/mmdevdrv.c | 5 +++++ dlls/winecoreaudio.drv/mmdevdrv.c | 5 +++++ dlls/wineoss.drv/mmdevdrv.c | 5 +++++ 3 files changed, 15 insertions(+) diff --git a/dlls/winealsa.drv/mmdevdrv.c b/dlls/winealsa.drv/mmdevdrv.c index 3cebd4f0376..bfff1595e55 100644 --- a/dlls/winealsa.drv/mmdevdrv.c +++ b/dlls/winealsa.drv/mmdevdrv.c @@ -835,6 +835,11 @@ static HRESULT WINAPI AudioClient_Initialize(IAudioClient *iface, return E_INVALIDARG; } + if(mode == AUDCLNT_SHAREMODE_EXCLUSIVE && flags & AUDCLNT_STREAMFLAGS_EVENTCALLBACK){ + FIXME("EXCLUSIVE mode with EVENTCALLBACK\n"); + return AUDCLNT_E_DEVICE_IN_USE; + } + if(!duration) duration = 300000; /* 0.03s */ diff --git a/dlls/winecoreaudio.drv/mmdevdrv.c b/dlls/winecoreaudio.drv/mmdevdrv.c index ae85f37d92a..a648429e607 100644 --- a/dlls/winecoreaudio.drv/mmdevdrv.c +++ b/dlls/winecoreaudio.drv/mmdevdrv.c @@ -961,6 +961,11 @@ static HRESULT WINAPI AudioClient_Initialize(IAudioClient *iface, return E_INVALIDARG; } + if(mode == AUDCLNT_SHAREMODE_EXCLUSIVE && flags & AUDCLNT_STREAMFLAGS_EVENTCALLBACK){ + FIXME("EXCLUSIVE mode with EVENTCALLBACK\n"); + return AUDCLNT_E_DEVICE_IN_USE; + } + OSSpinLockLock(&This->lock); if(This->aqueue){ diff --git a/dlls/wineoss.drv/mmdevdrv.c b/dlls/wineoss.drv/mmdevdrv.c index ac1b2a33e7c..51ae720a93c 100644 --- a/dlls/wineoss.drv/mmdevdrv.c +++ b/dlls/wineoss.drv/mmdevdrv.c @@ -907,6 +907,11 @@ static HRESULT WINAPI AudioClient_Initialize(IAudioClient *iface, return E_INVALIDARG; } + if(mode == AUDCLNT_SHAREMODE_EXCLUSIVE && flags & AUDCLNT_STREAMFLAGS_EVENTCALLBACK){ + FIXME("EXCLUSIVE mode with EVENTCALLBACK\n"); + return AUDCLNT_E_DEVICE_IN_USE; + } + EnterCriticalSection(&This->lock); if(This->initted){