[PATCH 8/8] winealsa: Use the stream ptr to indicate the init state.

Andrew Eikum aeikum at codeweavers.com
Thu Feb 17 09:26:32 CST 2022


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

On Wed, Feb 16, 2022 at 09:34:54AM +0000, Huw Davies wrote:
> Signed-off-by: Huw Davies <huw at codeweavers.com>
> ---
>  dlls/winealsa.drv/mmdevdrv.c | 23 ++++++++++-------------
>  1 file changed, 10 insertions(+), 13 deletions(-)
> 
> diff --git a/dlls/winealsa.drv/mmdevdrv.c b/dlls/winealsa.drv/mmdevdrv.c
> index 10f2951a0e6..48694710719 100644
> --- a/dlls/winealsa.drv/mmdevdrv.c
> +++ b/dlls/winealsa.drv/mmdevdrv.c
> @@ -109,8 +109,6 @@ struct ACImpl {
>      UINT32 channel_count;
>      struct alsa_stream *stream;
>  
> -    BOOL initted;
> -
>      HANDLE timer;
>  
>      CRITICAL_SECTION lock;
> @@ -578,7 +576,7 @@ static ULONG WINAPI AudioClient_Release(IAudioClient3 *iface)
>          IUnknown_Release(This->pUnkFTMarshal);
>          This->lock.DebugInfo->Spare[0] = 0;
>          DeleteCriticalSection(&This->lock);
> -        if(This->initted){
> +        if(This->session){
>              EnterCriticalSection(&g_sessions_lock);
>              list_remove(&This->entry);
>              LeaveCriticalSection(&g_sessions_lock);
> @@ -969,7 +967,7 @@ static HRESULT WINAPI AudioClient_Initialize(IAudioClient3 *iface,
>      EnterCriticalSection(&g_sessions_lock);
>      EnterCriticalSection(&This->lock);
>  
> -    if(This->initted){
> +    if(This->stream){
>          LeaveCriticalSection(&This->lock);
>          LeaveCriticalSection(&g_sessions_lock);
>          return AUDCLNT_E_ALREADY_INITIALIZED;
> @@ -1201,7 +1199,6 @@ exit:
>          This->vols = NULL;
>      }else{
>          This->stream = stream;
> -        This->initted = TRUE;
>      }
>  
>      LeaveCriticalSection(&This->lock);
> @@ -1223,7 +1220,7 @@ static HRESULT WINAPI AudioClient_GetBufferSize(IAudioClient3 *iface,
>  
>      EnterCriticalSection(&This->lock);
>  
> -    if(!This->initted){
> +    if(!This->stream){
>          LeaveCriticalSection(&This->lock);
>          return AUDCLNT_E_NOT_INITIALIZED;
>      }
> @@ -1248,7 +1245,7 @@ static HRESULT WINAPI AudioClient_GetStreamLatency(IAudioClient3 *iface,
>  
>      EnterCriticalSection(&This->lock);
>  
> -    if(!This->initted){
> +    if(!This->stream){
>          LeaveCriticalSection(&This->lock);
>          return AUDCLNT_E_NOT_INITIALIZED;
>      }
> @@ -1282,7 +1279,7 @@ static HRESULT WINAPI AudioClient_GetCurrentPadding(IAudioClient3 *iface,
>  
>      EnterCriticalSection(&This->lock);
>  
> -    if(!This->initted){
> +    if(!This->stream){
>          LeaveCriticalSection(&This->lock);
>          return AUDCLNT_E_NOT_INITIALIZED;
>      }
> @@ -1873,7 +1870,7 @@ static HRESULT WINAPI AudioClient_Start(IAudioClient3 *iface)
>  
>      EnterCriticalSection(&This->lock);
>  
> -    if(!This->initted){
> +    if(!This->stream){
>          LeaveCriticalSection(&This->lock);
>          return AUDCLNT_E_NOT_INITIALIZED;
>      }
> @@ -1942,7 +1939,7 @@ static HRESULT WINAPI AudioClient_Stop(IAudioClient3 *iface)
>  
>      EnterCriticalSection(&This->lock);
>  
> -    if(!This->initted){
> +    if(!This->stream){
>          LeaveCriticalSection(&This->lock);
>          return AUDCLNT_E_NOT_INITIALIZED;
>      }
> @@ -1971,7 +1968,7 @@ static HRESULT WINAPI AudioClient_Reset(IAudioClient3 *iface)
>  
>      EnterCriticalSection(&This->lock);
>  
> -    if(!This->initted){
> +    if(!This->stream){
>          LeaveCriticalSection(&This->lock);
>          return AUDCLNT_E_NOT_INITIALIZED;
>      }
> @@ -2023,7 +2020,7 @@ static HRESULT WINAPI AudioClient_SetEventHandle(IAudioClient3 *iface,
>  
>      EnterCriticalSection(&This->lock);
>  
> -    if(!This->initted){
> +    if(!This->stream){
>          LeaveCriticalSection(&This->lock);
>          return AUDCLNT_E_NOT_INITIALIZED;
>      }
> @@ -2059,7 +2056,7 @@ static HRESULT WINAPI AudioClient_GetService(IAudioClient3 *iface, REFIID riid,
>  
>      EnterCriticalSection(&This->lock);
>  
> -    if(!This->initted){
> +    if(!This->stream){
>          LeaveCriticalSection(&This->lock);
>          return AUDCLNT_E_NOT_INITIALIZED;
>      }
> -- 
> 2.25.1
> 
> 



More information about the wine-devel mailing list