Huw Davies (@huw) commented about dlls/mmdevapi/session.c:
return ret; } + +/* If channels == 0, then this will return or create a session with + * matching dataflow and GUID. Otherwise, channels must also match. */ +HRESULT get_audio_session(const GUID *guid, IMMDevice *device, UINT channels, + struct audio_session **out) +{ + struct audio_session *session; + + TRACE("(%s, %p, %u, %p)\n", debugstr_guid(guid), device, channels, out); + + if (!guid || IsEqualGUID(guid, &GUID_NULL)) { + if (!(*out = session_create(&GUID_NULL, device, channels)))
Could we keep the assignment to `out` and its test on two separate lines? All of the drivers do this, so this difference makes it harder to see what else has changed. Likewise in the other `session_create()` call below. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/3260#note_39376