Andrew Eikum : winealsa.drv: Add mapping for 64-bit floats in IAudioClient: :Initialize().

Alexandre Julliard julliard at winehq.org
Wed Apr 27 12:47:29 CDT 2011


Module: wine
Branch: master
Commit: e3ff943e9cf6fe3751b0916f75cce329874ebe9e
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=e3ff943e9cf6fe3751b0916f75cce329874ebe9e

Author: Andrew Eikum <aeikum at codeweavers.com>
Date:   Wed Apr 27 09:12:46 2011 -0500

winealsa.drv: Add mapping for 64-bit floats in IAudioClient::Initialize().

---

 dlls/winealsa.drv/mmdevdrv.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/dlls/winealsa.drv/mmdevdrv.c b/dlls/winealsa.drv/mmdevdrv.c
index f041d22..8957457 100644
--- a/dlls/winealsa.drv/mmdevdrv.c
+++ b/dlls/winealsa.drv/mmdevdrv.c
@@ -408,12 +408,15 @@ static HRESULT WINAPI AudioClient_Initialize(IAudioClient *iface,
     }else if(fmt->wFormatTag == WAVE_FORMAT_IEEE_FLOAT ||
             (fmt->wFormatTag == WAVE_FORMAT_EXTENSIBLE &&
              IsEqualGUID(&fmtex->SubFormat, &KSDATAFORMAT_SUBTYPE_IEEE_FLOAT))){
-        if(fmt->wBitsPerSample != 32){
+        if(fmt->wBitsPerSample == 32)
+            format = SND_PCM_FORMAT_FLOAT_LE;
+        else if(fmt->wBitsPerSample == 64)
+            format = SND_PCM_FORMAT_FLOAT64_LE;
+        else{
             WARN("Unsupported float size: %u\n", fmt->wBitsPerSample);
             hr = AUDCLNT_E_UNSUPPORTED_FORMAT;
             goto exit;
         }
-        format = SND_PCM_FORMAT_FLOAT_LE;
     }else{
         WARN("Unknown wave format: %04x\n", fmt->wFormatTag);
         hr = AUDCLNT_E_UNSUPPORTED_FORMAT;




More information about the wine-cvs mailing list