You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Following the investigation in #23 it was my understanding that it is fundamentally impossible to use WASAPI Shared with a sample rate and channel count other than the one used by the Windows audio engine.
The two interesting flags for format negotiation are AUDCLNT_STREAMFLAGS_AUTOCONVERTPCM and AUDCLNT_STREAMFLAGS_SRC_DEFAULT_QUALITY, which tell Windows that you want the WASAPI audio engine to do any necessary conversions between the client format you are giving it and the playback mix format or recording split format.
AUDCLNT_STREAMFLAGS_AUTOCONVERTPCM 0x80000000 | A channel matrixer and a sample rate converter are inserted as necessary to convert between the uncompressed format supplied to IAudioClient::Initialize and the audio engine mix format.
It would be nice if we could use this in FlexASIO to make it easier to use WASAPI Shared, as format negotiation is a well-known pain point of that particular backend. This will likely require changes to the PortAudio WASAPI backend, however.
The text was updated successfully, but these errors were encountered:
Following the investigation in #23 it was my understanding that it is fundamentally impossible to use WASAPI Shared with a sample rate and channel count other than the one used by the Windows audio engine.
However, I recently stumbled upon this official blog post and related WASAPI flags that seem to contradict the above conclusions.
It would be nice if we could use this in FlexASIO to make it easier to use WASAPI Shared, as format negotiation is a well-known pain point of that particular backend. This will likely require changes to the PortAudio WASAPI backend, however.
The text was updated successfully, but these errors were encountered: