From e3ff943e9cf6fe3751b0916f75cce329874ebe9e Mon Sep 17 00:00:00 2001 From: Andrew Eikum Date: Wed, 27 Apr 2011 09:12:46 -0500 Subject: [PATCH] winealsa.drv: Add mapping for 64-bit floats in IAudioClient::Initialize(). --- dlls/winealsa.drv/mmdevdrv.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/dlls/winealsa.drv/mmdevdrv.c b/dlls/winealsa.drv/mmdevdrv.c index f041d222ed..8957457489 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;