Module: wine Branch: master Commit: 10d44c9a8a402dd6bcd9853d3b566a2401cea6a2 URL: https://source.winehq.org/git/wine.git/?a=commit;h=10d44c9a8a402dd6bcd9853d3...
Author: Huw Davies huw@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@codeweavers.com Signed-off-by: Andrew Eikum aeikum@codeweavers.com Signed-off-by: Alexandre Julliard julliard@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; }