[PATCH 2/2] winecoreaudio: Remove unnecessary buffer sizes.

Andrew Eikum aeikum at codeweavers.com
Thu Jan 27 08:56:11 CST 2022


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

On Wed, Jan 26, 2022 at 01:26:13PM +0000, Huw Davies wrote:
> Signed-off-by: Huw Davies <huw at codeweavers.com>
> ---
>  dlls/winecoreaudio.drv/coreaudio.c | 18 ++++++++++--------
>  1 file changed, 10 insertions(+), 8 deletions(-)
> 
> diff --git a/dlls/winecoreaudio.drv/coreaudio.c b/dlls/winecoreaudio.drv/coreaudio.c
> index a2bbc3e45c9..f242ebe54a8 100644
> --- a/dlls/winecoreaudio.drv/coreaudio.c
> +++ b/dlls/winecoreaudio.drv/coreaudio.c
> @@ -92,7 +92,6 @@ struct coreaudio_stream
>      INT32 getbuf_last;
>      WAVEFORMATEX *fmt;
>      BYTE *local_buffer, *cap_buffer, *wrap_buffer, *resamp_buffer, *tmp_buffer;
> -    SIZE_T local_buffer_size, tmp_buffer_size;
>  };
>  
>  static HRESULT osstatus_to_hresult(OSStatus sc)
> @@ -617,6 +616,7 @@ static NTSTATUS create_stream(void *args)
>      struct coreaudio_stream *stream = calloc(1, sizeof(*stream));
>      AURenderCallbackStruct input;
>      OSStatus sc;
> +    SIZE_T size;
>  
>      if(!stream){
>          params->result = E_OUTOFMEMORY;
> @@ -679,8 +679,8 @@ static NTSTATUS create_stream(void *args)
>          goto end;
>      }
>  
> -    stream->local_buffer_size = stream->bufsize_frames * stream->fmt->nBlockAlign;
> -    if(NtAllocateVirtualMemory(GetCurrentProcess(), (void **)&stream->local_buffer, 0, &stream->local_buffer_size,
> +    size = stream->bufsize_frames * stream->fmt->nBlockAlign;
> +    if(NtAllocateVirtualMemory(GetCurrentProcess(), (void **)&stream->local_buffer, 0, &size,
>                                 MEM_COMMIT, PAGE_READWRITE)){
>          params->result = E_OUTOFMEMORY;
>          goto end;
> @@ -1337,6 +1337,7 @@ static NTSTATUS get_render_buffer(void *args)
>  {
>      struct get_render_buffer_params *params = args;
>      struct coreaudio_stream *stream = params->stream;
> +    SIZE_T size;
>      UINT32 pad;
>  
>      OSSpinLockLock(&stream->lock);
> @@ -1359,14 +1360,14 @@ static NTSTATUS get_render_buffer(void *args)
>      if(stream->wri_offs_frames + params->frames > stream->bufsize_frames){
>          if(stream->tmp_buffer_frames < params->frames){
>              if(stream->tmp_buffer){
> -                SIZE_T size = 0;
> +                size = 0;
>                  NtFreeVirtualMemory(GetCurrentProcess(), (void **)&stream->tmp_buffer,
>                                      &size, MEM_RELEASE);
>                  stream->tmp_buffer = NULL;
>              }
> -            stream->tmp_buffer_size = params->frames * stream->fmt->nBlockAlign;
> +            size = params->frames * stream->fmt->nBlockAlign;
>              if(NtAllocateVirtualMemory(GetCurrentProcess(), (void **)&stream->tmp_buffer, 0,
> -                                       &stream->tmp_buffer_size, MEM_COMMIT, PAGE_READWRITE)){
> +                                       &size, MEM_COMMIT, PAGE_READWRITE)){
>                  stream->tmp_buffer_frames = 0;
>                  params->result = E_OUTOFMEMORY;
>                  goto end;
> @@ -1439,6 +1440,7 @@ static NTSTATUS get_capture_buffer(void *args)
>      struct coreaudio_stream *stream = params->stream;
>      UINT32 chunk_bytes, chunk_frames;
>      LARGE_INTEGER stamp, freq;
> +    SIZE_T size;
>  
>      OSSpinLockLock(&stream->lock);
>  
> @@ -1461,9 +1463,9 @@ static NTSTATUS get_capture_buffer(void *args)
>      if(chunk_frames < stream->period_frames){
>          chunk_bytes = chunk_frames * stream->fmt->nBlockAlign;
>          if(!stream->tmp_buffer){
> -            stream->tmp_buffer_size = stream->period_frames * stream->fmt->nBlockAlign;
> +            size = stream->period_frames * stream->fmt->nBlockAlign;
>              NtAllocateVirtualMemory(GetCurrentProcess(), (void **)&stream->tmp_buffer, 0,
> -                                    &stream->tmp_buffer_size, MEM_COMMIT, PAGE_READWRITE);
> +                                    &size, MEM_COMMIT, PAGE_READWRITE);
>          }
>          *params->data = stream->tmp_buffer;
>          memcpy(*params->data, stream->local_buffer + stream->lcl_offs_frames * stream->fmt->nBlockAlign,
> -- 
> 2.23.0
> 
> 



More information about the wine-devel mailing list