Hi Jiajin, Could you add a test for this in <dlls/mmdevapi/tests/render.c>? Also, we have several audio drivers in Wine: winealsa, wineandroid, winecoreaudio, wineoss, and winepulse. The other drivers should be updated to have this same change. Thanks, Andrew On Sat, May 08, 2021 at 01:42:43PM +0800, Jiajin Cui wrote:
Signed-off-by: Jiajin Cui <cuijiajin(a)uniontech.com> --- dlls/winepulse.drv/mmdevdrv.c | 5 +++++ 1 file changed, 5 insertions(+)
diff --git a/dlls/winepulse.drv/mmdevdrv.c b/dlls/winepulse.drv/mmdevdrv.c index ea739affb2f..6ee26377859 100644 --- a/dlls/winepulse.drv/mmdevdrv.c +++ b/dlls/winepulse.drv/mmdevdrv.c @@ -3016,6 +3016,8 @@ static AudioSessionWrapper *AudioSessionWrapper_Create(ACImpl *client) static HRESULT WINAPI AudioSessionControl_QueryInterface( IAudioSessionControl2 *iface, REFIID riid, void **ppv) { + AudioSessionWrapper *This = impl_from_IAudioSessionControl2(iface); + TRACE("(%p)->(%s, %p)\n", iface, debugstr_guid(riid), ppv);
if (!ppv) @@ -3026,6 +3028,9 @@ static HRESULT WINAPI AudioSessionControl_QueryInterface( IsEqualIID(riid, &IID_IAudioSessionControl) || IsEqualIID(riid, &IID_IAudioSessionControl2)) *ppv = iface; + else if (IsEqualIID(riid, &IID_ISimpleAudioVolume)) + *ppv = &This->ISimpleAudioVolume_iface; + if (*ppv) { IUnknown_AddRef((IUnknown*)*ppv); return S_OK;
-- 2.20.1