Hello, I've recently been working with the wine sound subsystem and there is an increasing issue where PA prevents access to the hardware. Now PA already has a 'time out' to relinquish the hardware and this only serves to confuse users as it's no-longer clear why "it" would work some times but not others.
Wine currently has a number of bugs with it's implementation of the ALSA API and it's not likely that these will be worked on or even if the work is done that it'll make it to become part of wine. In short it looks like the wine project has completely given up on supporting sound.
Even so, I've requested that wine's alsa output module issue the correct paususpend signals prior to accessing ALSA hardware. However it's non-trivial for an application to detect "If this ALSA driver connects to PA?" A way to query the 'features' needed by a specific device string would be handy, keeping in mind that a device in ALSA can be configured to pass through plugs, routes, and what not and still eventually end up with the pulse plugin.
Keeping on top of the entire issue, I believe that perhaps ALSA plugins can also trigger paususpend. I guess there biggest issue is not to paususpend if being called as part of PulseAudio. I believe that this would be an important feature for every ALSA application, allowing better integration with a vary popular Desktop sound server.
As I said, any plugin that attaches to direct hardware should attempt discovery of needing to issue a paususpend. Perhaps an option can be added that the PA server should set to disable paususpend.
Thank you.