Commit e3ff943e authored by Andrew Eikum's avatar Andrew Eikum Committed by Alexandre Julliard

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

parent fc4748ae
...@@ -408,12 +408,15 @@ static HRESULT WINAPI AudioClient_Initialize(IAudioClient *iface, ...@@ -408,12 +408,15 @@ static HRESULT WINAPI AudioClient_Initialize(IAudioClient *iface,
}else if(fmt->wFormatTag == WAVE_FORMAT_IEEE_FLOAT || }else if(fmt->wFormatTag == WAVE_FORMAT_IEEE_FLOAT ||
(fmt->wFormatTag == WAVE_FORMAT_EXTENSIBLE && (fmt->wFormatTag == WAVE_FORMAT_EXTENSIBLE &&
IsEqualGUID(&fmtex->SubFormat, &KSDATAFORMAT_SUBTYPE_IEEE_FLOAT))){ 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); WARN("Unsupported float size: %u\n", fmt->wBitsPerSample);
hr = AUDCLNT_E_UNSUPPORTED_FORMAT; hr = AUDCLNT_E_UNSUPPORTED_FORMAT;
goto exit; goto exit;
} }
format = SND_PCM_FORMAT_FLOAT_LE;
}else{ }else{
WARN("Unknown wave format: %04x\n", fmt->wFormatTag); WARN("Unknown wave format: %04x\n", fmt->wFormatTag);
hr = AUDCLNT_E_UNSUPPORTED_FORMAT; hr = AUDCLNT_E_UNSUPPORTED_FORMAT;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment