https://bugs.winehq.org/show_bug.cgi?id=28109
--- Comment #12 from Austin English austinenglish@gmail.com --- (In reply to Andrew Eikum from comment #11)
Created attachment 47873 [details] winmm/tests: Accept MMSYSERR_ALLOCATED for more tests
Looks like we can't open the hardware device directly if PA has recently used the device. On the rendering side, we detect this while probing for devices, so the hw device is never enumerated. For capture, the hw device appears to work during probing, but then fails to open later on after we've run the waveIn tests on the PA device.
Two options seem reasonable.
Change the tests to accept MMSYSERR_ALLOCATED as a valid return code and continue, or
Attempt to do something intelligent in winealsa.drv such that we never enumerate this device, since PA kind of owns it.
The former seems like the best option to me, since we can't predict which hw device PA will choose to occupy, and we don't want to inaccurately restrict which devices the user can choose to record with in Wine.
In fact, we already accept MMSYSERR_ALLOCATED for some tests, so let's just do that for all waveInOpen calls.
Attached patch should fix this.
Seems to work here.