From: Davide Beatrici <git(a)davidebeatrici.dev> --- dlls/winealsa.drv/mmdevdrv.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/dlls/winealsa.drv/mmdevdrv.c b/dlls/winealsa.drv/mmdevdrv.c index 43a44b0569d..6fa91685e9e 100644 --- a/dlls/winealsa.drv/mmdevdrv.c +++ b/dlls/winealsa.drv/mmdevdrv.c @@ -550,7 +550,7 @@ static HRESULT WINAPI AudioClient_Initialize(IAudioClient3 *iface, ACImpl *This = impl_from_IAudioClient3(iface); struct create_stream_params params; stream_handle stream; - unsigned int i; + unsigned int i, channel_count; WCHAR *name; TRACE("(%p)->(%x, %lx, %s, %s, %p, %s)\n", This, mode, flags, @@ -590,6 +590,8 @@ static HRESULT WINAPI AudioClient_Initialize(IAudioClient3 *iface, dump_fmt(fmt); + channel_count = fmt->nChannels; + params.name = name = get_application_name(); params.device = This->device_name; params.flow = This->dataflow; @@ -598,7 +600,7 @@ static HRESULT WINAPI AudioClient_Initialize(IAudioClient3 *iface, params.duration = duration; params.period = period; params.fmt = fmt; - params.channel_count = NULL; + params.channel_count = &channel_count; params.stream = &stream; ALSA_CALL(create_stream, ¶ms); @@ -610,17 +612,15 @@ static HRESULT WINAPI AudioClient_Initialize(IAudioClient3 *iface, return params.result; } - This->channel_count = fmt->nChannels; - This->vols = HeapAlloc(GetProcessHeap(), 0, This->channel_count * sizeof(float)); + This->vols = HeapAlloc(GetProcessHeap(), 0, channel_count * sizeof(float)); if(!This->vols){ params.result = E_OUTOFMEMORY; goto exit; } - for(i = 0; i < This->channel_count; ++i) + for(i = 0; i < channel_count; ++i) This->vols[i] = 1.f; - params.result = get_audio_session(sessionguid, This->parent, This->channel_count, - &This->session); + params.result = get_audio_session(sessionguid, This->parent, channel_count, &This->session); if(FAILED(params.result)) goto exit; @@ -633,6 +633,7 @@ exit: This->vols = NULL; }else{ This->stream = stream; + This->channel_count = channel_count; set_stream_volumes(This); } -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/3112