=?UTF-8?Q?J=C3=B6rg=20H=C3=B6hle=20?=: mmdevapi: SHAREDMODE_EXCLUSIVE + EVENTCALLBACK is too ... exclusive for now.

Alexandre Julliard julliard at winehq.org
Tue Nov 22 13:06:45 CST 2011


Module: wine
Branch: master
Commit: 7c5b90006c957a4080e5b4b0e7c95872da6d522b
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=7c5b90006c957a4080e5b4b0e7c95872da6d522b

Author: Jörg Höhle <hoehle at 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){




More information about the wine-cvs mailing list