Huw Davies (@huw) commented about dlls/winealsa.drv/mmdevdrv.c:
> - params.duration = duration;
> - params.period = period;
> - params.fmt = fmt;
> - params.channel_count = &channel_count;
> - params.stream = &stream;
> -
> - ALSA_CALL(create_stream, ¶ms);
> -
> - free(name);
> -
> - if(FAILED(params.result)){
> - sessions_unlock();
> - return params.result;
> - }
> -
> - This->vols = HeapAlloc(GetProcessHeap(), 0, channel_count * sizeof(float));
This is changing the allocator for `vols`, so you'll need commits that change that first.
As this MR is already too long, let's split this into a new one and leave the first seven or eight commits here.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/3112#note_36612
--
v3: wineoss: Use mmdevapi's AudioClient's Initialize.
winecoreaudio: Use mmdevapi's AudioClient's Initialize.
winealsa: Use mmdevapi's AudioClient's Initialize.
winepulse: Move AudioClient's Initialize into mmdevapi.
winepulse: Refactor AudioClient's Initialize to match other drivers.
wineoss: Use create_stream's channel count in AudioClient's Initialize.
winecoreaudio: Use create_stream's channel count in AudioClient's Initialize.
winealsa: Use create_stream's channel count in AudioClient's Initialize.
https://gitlab.winehq.org/wine/wine/-/merge_requests/3112