[pulseaudio-discuss] Moving sources and sinks
tom at dbservice.com
Tue May 6 15:43:08 PDT 2008
Lennart Poettering wrote:
> I could repeat here what I wrote in response to Nick
> Thompson. Complaining about Free Software is nothing that makes you
> any friends in the community.
Fine. I'm complaining. But let me tell you this. I dug through the Wine
alsa driver, the alsa pulse plugin and the PA sources. I now pretty much
know how these three components interact and where the problems are. I
simply arrived at a point where I wasn't willing to dig any deeper. I'm
simply not ready to study the codebase any more. I've seen my share.
Enough to be able to create a fairly precise bug report. So I wrote to
this mailinglist and asked for help. I didn't demand that you fix the
bugs. I just wanted some advice. And to that I didn't get any response.
> I am not using wine myself, and haven't looked into fixing this. I had
> a quick peek into it though. They did almost everything wrong that you
> can do wrong if you care about supporting more than a single backend
> driver for your ALSA code. They made invalid assumptions about mixer
> tracks, they use the super-ugly and not-portable
> snd_async_add_pcm_handler() where it is almost guranteed that people
> get it wrong (because those handlers are run from signal handler
> context, which has some very special semantics, ranging from errno
> handling to a lot of other things) and a lot more. It is nearly
> impossible to write a backend for ALSA that works with applications
> like these. Basically, the task is to clean up WINE's ALSA use, before
> looking on the PA backend for libasound.
The async handler was removed last summer, as part of the driver rewrite
in a GSoC2007 project. And a lot other fixes also went into the Wine
alsa driver since then. Most of the issues have already been fixed. The
mixer code still may be a bit unclean, but that has nothing to do with
the audio playback problems. If you know of any other outstanding issues
in the Wine driver (apart from the _delay() misuse), please tell the
Wine folks or me, I'll gladly forward the mail to the current maintainer.
As the chances of including a native PA driver in Wine are zero, the
focus is on improving the current Wine alsa driver and the alsa pulse
plugin. That is what I'm trying to do.
More information about the pulseaudio-discuss