winealsa.drv: Add mapping for 64-bit floats in IAudioClient::Initialize().
This commit is contained in:
parent
fc4748ae74
commit
e3ff943e9c
|
@ -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;
|
||||||
|
|
Loading…
Reference in New Issue