Davide Beatrici (@davidebeatrici) 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; + const GUID null_guid = { 0, 0, 0, { 0, 0, 0, 0, 0, 0, 0, 0 } };
Using `GUID_NULL` results in a plethora of linker redefinitions. Same as https://gitlab.winehq.org/wine/wine/-/merge_requests/2636#note_29807. I believe it happens because: - We're linking to `uuid`. - `devenum.c` is including `<initguid.h>`. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/3218#note_37542