On Mon Jul 4 08:28:46 2022 +0000, Claire wrote:
You mean moving the `pulse_name[0]` check to the unixlib, or probing the device each time? If the latter, I am not sure how to do that, as the PulseAudio APIs are asynchronous and the GetMixFormat/GetDevicePeriod APIs are synchronous.
The former. Keep the first patch in the series, then add a `get_mix_format` unixcall that `GetMixFormat()` always calls and use `pulse_name` to determine the correct values in the unixlib. Then do a similar thing for `GetDevicePeriod()`.
Note, when you add or change a unixcall, you also need to add (or change) the appropriate wow64 handler (see e.g. `wow64_get_mix_format()` in the alsa driver.