Huw Davies : winealsa: Use the global lock to lock the session.

Alexandre Julliard julliard at winehq.org
Thu Feb 17 15:33:58 CST 2022


Module: wine
Branch: master
Commit: 10d44c9a8a402dd6bcd9853d3b566a2401cea6a2
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=10d44c9a8a402dd6bcd9853d3b566a2401cea6a2

Author: Huw Davies <huw at codeweavers.com>
Date:   Wed Feb 16 09:34:48 2022 +0000

winealsa: Use the global lock to lock the session.

Mainly just for simplicity.

Signed-off-by: Huw Davies <huw at codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/winealsa.drv/mmdevdrv.c | 17 ++++++-----------
 1 file changed, 6 insertions(+), 11 deletions(-)

diff --git a/dlls/winealsa.drv/mmdevdrv.c b/dlls/winealsa.drv/mmdevdrv.c
index abec9dc969a..0549752dc3f 100644
--- a/dlls/winealsa.drv/mmdevdrv.c
+++ b/dlls/winealsa.drv/mmdevdrv.c
@@ -77,8 +77,6 @@ typedef struct _AudioSession {
     float *channel_vols;
     BOOL mute;
 
-    CRITICAL_SECTION lock;
-
     struct list entry;
 } AudioSession;
 
@@ -748,9 +746,6 @@ static AudioSession *create_session(const GUID *guid, IMMDevice *device,
 
     list_add_head(&g_sessions, &ret->entry);
 
-    InitializeCriticalSection(&ret->lock);
-    ret->lock.DebugInfo->Spare[0] = (DWORD_PTR)(__FILE__ ": AudioSession.lock");
-
     session_init_vols(ret, num_channels);
 
     ret->master_vol = 1.f;
@@ -3283,11 +3278,11 @@ static HRESULT WINAPI SimpleAudioVolume_SetMasterVolume(
 
     TRACE("ALSA does not support volume control\n");
 
-    EnterCriticalSection(&session->lock);
+    EnterCriticalSection(&g_sessions_lock);
 
     session->master_vol = level;
 
-    LeaveCriticalSection(&session->lock);
+    LeaveCriticalSection(&g_sessions_lock);
 
     return S_OK;
 }
@@ -3573,11 +3568,11 @@ static HRESULT WINAPI ChannelAudioVolume_SetChannelVolume(
 
     TRACE("ALSA does not support volume control\n");
 
-    EnterCriticalSection(&session->lock);
+    EnterCriticalSection(&g_sessions_lock);
 
     session->channel_vols[index] = level;
 
-    LeaveCriticalSection(&session->lock);
+    LeaveCriticalSection(&g_sessions_lock);
 
     return S_OK;
 }
@@ -3623,12 +3618,12 @@ static HRESULT WINAPI ChannelAudioVolume_SetAllVolumes(
 
     TRACE("ALSA does not support volume control\n");
 
-    EnterCriticalSection(&session->lock);
+    EnterCriticalSection(&g_sessions_lock);
 
     for(i = 0; i < count; ++i)
         session->channel_vols[i] = levels[i];
 
-    LeaveCriticalSection(&session->lock);
+    LeaveCriticalSection(&g_sessions_lock);
 
     return S_OK;
 }




More information about the wine-cvs mailing list