Huw Davies (@huw) commented about dlls/mmdevapi/client.c:
clock2_GetDevicePosition };
+static HRESULT WINAPI AudioClockAdjustment_QueryInterface(IAudioClockAdjustment *iface, + REFIID riid, void **ppv) +{ + ACImpl *This = impl_from_IAudioClockAdjustment(iface); + return IAudioClock_QueryInterface(&This->IAudioClock_iface, riid, ppv); +} +
This looks a bit odd, given that `IAudioClockAdjustment` can be QI'ed from `IAudioClient`. We need more tests: e.g. can you QI `IAudioClient` from `IAudioClockAdjustment`? Does QI'ing `IUnknown` from `IAudioClockAdjustment` give the same result as QI'ing `IUnknown` from `IAudioClient` (as it should if it's the same object). I'm wondering whether our current `IAudioClock` implementation is correct in this regard too. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/5585#note_70614