Jacek Caban : winepulse: Simplify IAudioStreamVolume::GetChannelVolume implementation.

Alexandre Julliard julliard at winehq.org
Tue May 25 16:08:15 CDT 2021


Module: wine
Branch: master
Commit: 4432b66e372caf0096df56f45502d7dea1f1800c
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=4432b66e372caf0096df56f45502d7dea1f1800c

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Mon May 24 18:22:10 2021 +0200

winepulse: Simplify IAudioStreamVolume::GetChannelVolume 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 | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/dlls/winepulse.drv/mmdevdrv.c b/dlls/winepulse.drv/mmdevdrv.c
index 84ab5b6adec..df38bb594c7 100644
--- a/dlls/winepulse.drv/mmdevdrv.c
+++ b/dlls/winepulse.drv/mmdevdrv.c
@@ -1494,21 +1494,21 @@ static HRESULT WINAPI AudioStreamVolume_GetChannelVolume(
         IAudioStreamVolume *iface, UINT32 index, float *level)
 {
     ACImpl *This = impl_from_IAudioStreamVolume(iface);
-    float volumes[PA_CHANNELS_MAX];
-    HRESULT hr;
 
     TRACE("(%p)->(%d, %p)\n", This, index, level);
 
     if (!level)
         return E_POINTER;
 
+    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);
-    if (SUCCEEDED(hr))
-        *level = volumes[index];
-    return hr;
+    pulse->lock();
+    *level = This->vol[index];
+    pulse->unlock();
+    return S_OK;
 }
 
 static const IAudioStreamVolumeVtbl AudioStreamVolume_Vtbl =




More information about the wine-cvs mailing list