Module: wine Branch: master Commit: e3ff943e9cf6fe3751b0916f75cce329874ebe9e URL: http://source.winehq.org/git/wine.git/?a=commit;h=e3ff943e9cf6fe3751b0916f75...
Author: Andrew Eikum aeikum@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;