Huw Davies (@huw) commented about dlls/mmdevapi/client.c:
- FIXME("(%p)->(0x%lx, %u, %p, %s) - partial stub\n", This, flags, period_frames, format, debugstr_guid(session_guid)); + REFERENCE_TIME period; + HRESULT hr; + + TRACE("(%p)->(0x%lx, %u, %p, %s)\n", This, flags, period_frames, format, debugstr_guid(session_guid));
if (!format) return E_POINTER;
- duration = period_frames * (REFERENCE_TIME)10000000 / format->nSamplesPerSec; - return client_Initialize(iface, AUDCLNT_SHAREMODE_SHARED, flags, duration, 0, format, session_guid); + period = period_frames * (REFERENCE_TIME)10000000 / format->nSamplesPerSec; + + This->init_audioclient3 = TRUE; + hr = client_Initialize(iface, AUDCLNT_SHAREMODE_SHARED, flags, 0, period, format, session_guid); + This->init_audioclient3 = FALSE; This is pretty ugly - please find another way (perhaps using a helper function for client initialisation).
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/5875#note_73814