[PATCH] winepulse.drv: Add get ISimpleAudioVolume interface by IAudioSessionControl2.

Andrew Eikum aeikum at codeweavers.com
Mon May 10 09:14:39 CDT 2021


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 at 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
> 
> 



More information about the wine-devel mailing list