[PATCH 2/8] winealsa: Use the global lock to lock the session.

Andrew Eikum aeikum at codeweavers.com
Thu Feb 17 09:25:14 CST 2022


Signed-off-by: Andrew Eikum <aeikum at codeweavers.com>

On Wed, Feb 16, 2022 at 09:34:48AM +0000, Huw Davies wrote:
> Mainly just for simplicity.
> 
> Signed-off-by: Huw Davies <huw at codeweavers.com>
> ---
>  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;
>  }
> -- 
> 2.25.1
> 
> 



More information about the wine-devel mailing list