Module: wine Branch: master Commit: 7c5b90006c957a4080e5b4b0e7c95872da6d522b URL: http://source.winehq.org/git/wine.git/?a=commit;h=7c5b90006c957a4080e5b4b0e7...
Author: Jörg Höhle hoehle@users.sourceforge.net Date: Tue Aug 23 21:16:24 2011 +0200
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(+), 0 deletions(-)
diff --git a/dlls/winealsa.drv/mmdevdrv.c b/dlls/winealsa.drv/mmdevdrv.c index 3cebd4f..bfff159 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 ae85f37..a648429 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 ac1b2a3..51ae720 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){