Jacek Caban : winepulse: Simplify IAudioStreamVolume::SetChannelVolume implementation.
Alexandre Julliard
julliard at winehq.org
Tue May 25 16:08:15 CDT 2021
Module: wine
Branch: master
Commit: 6a6296562f536ed10d221f0df43ef30bbd674cb2
URL: https://source.winehq.org/git/wine.git/?a=commit;h=6a6296562f536ed10d221f0df43ef30bbd674cb2
Author: Jacek Caban <jacek at codeweavers.com>
Date: Mon May 24 18:22:02 2021 +0200
winepulse: Simplify IAudioStreamVolume::SetChannelVolume implementation.
Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/winepulse.drv/mmdevdrv.c | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/dlls/winepulse.drv/mmdevdrv.c b/dlls/winepulse.drv/mmdevdrv.c
index cac169567ea..84ab5b6adec 100644
--- a/dlls/winepulse.drv/mmdevdrv.c
+++ b/dlls/winepulse.drv/mmdevdrv.c
@@ -1472,22 +1472,22 @@ static HRESULT WINAPI AudioStreamVolume_SetChannelVolume(
IAudioStreamVolume *iface, UINT32 index, float level)
{
ACImpl *This = impl_from_IAudioStreamVolume(iface);
- HRESULT hr;
- float volumes[PA_CHANNELS_MAX];
TRACE("(%p)->(%d, %f)\n", This, index, level);
if (level < 0.f || level > 1.f)
return E_INVALIDARG;
+ if (!This->pulse_stream)
+ return AUDCLNT_E_NOT_INITIALIZED;
if (index >= This->channel_count)
return E_INVALIDARG;
- hr = AudioStreamVolume_GetAllVolumes(iface, This->channel_count, volumes);
- volumes[index] = level;
- if (SUCCEEDED(hr))
- hr = AudioStreamVolume_SetAllVolumes(iface, This->channel_count, volumes);
- return hr;
+ pulse->lock();
+ This->vol[index] = level;
+ set_stream_volumes(This);
+ pulse->unlock();
+ return S_OK;
}
static HRESULT WINAPI AudioStreamVolume_GetChannelVolume(
More information about the wine-cvs
mailing list