[alsa-devel] hw/a52/dmix/other hardware plugins: paususpend option.
cheako+alsa at mikemestnik.net
Sun May 13 05:13:14 CEST 2012
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.
More information about the Alsa-devel