mirror of
https://github.com/mackron/miniaudio.git
synced 2026-04-24 09:14:04 +02:00
WASAPI: Return an error when the native format is not supported.
This commit is contained in:
+17
@@ -12862,6 +12862,22 @@ static ma_result ma_device_init_internal__wasapi(ma_context* pContext, ma_device
|
|||||||
}
|
}
|
||||||
|
|
||||||
pData->formatOut = ma_format_from_WAVEFORMATEX((WAVEFORMATEX*)&wf);
|
pData->formatOut = ma_format_from_WAVEFORMATEX((WAVEFORMATEX*)&wf);
|
||||||
|
if (pData->formatOut == ma_format_unknown) {
|
||||||
|
/*
|
||||||
|
The format isn't supported. This is almost certainly because the exclusive mode format isn't supported by miniaudio. We need to return MA_SHARE_MODE_NOT_SUPPORTED
|
||||||
|
in this case so that the caller can detect it and fall back to shared mode if desired. We should never get here if shared mode was requested, but just for
|
||||||
|
completeness we'll check for it and return MA_FORMAT_NOT_SUPPORTED.
|
||||||
|
*/
|
||||||
|
if (shareMode == ma_share_mode_exclusive) {
|
||||||
|
result = MA_SHARE_MODE_NOT_SUPPORTED;
|
||||||
|
} else {
|
||||||
|
result = MA_FORMAT_NOT_SUPPORTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
errorMsg = "[WASAPI] Native format not supported.";
|
||||||
|
goto done;
|
||||||
|
}
|
||||||
|
|
||||||
pData->channelsOut = wf.Format.nChannels;
|
pData->channelsOut = wf.Format.nChannels;
|
||||||
pData->sampleRateOut = wf.Format.nSamplesPerSec;
|
pData->sampleRateOut = wf.Format.nSamplesPerSec;
|
||||||
|
|
||||||
@@ -62534,6 +62550,7 @@ The following miscellaneous changes have also been made.
|
|||||||
REVISION HISTORY
|
REVISION HISTORY
|
||||||
================
|
================
|
||||||
v0.10.19 - TBD
|
v0.10.19 - TBD
|
||||||
|
- WASAPI: Return an error when exclusive mode is requested, but the native format is not supported by miniaudio.
|
||||||
- Store the sample rate in the `ma_lpf` and `ma_hpf` structures.
|
- Store the sample rate in the `ma_lpf` and `ma_hpf` structures.
|
||||||
|
|
||||||
v0.10.18 - 2020-08-30
|
v0.10.18 - 2020-08-30
|
||||||
|
|||||||
Reference in New Issue
Block a user