[PATCH] winepulse.drv: Add PulseAudio driver

Andrew Eikum aeikum at codeweavers.com
Fri Jun 15 15:39:33 CDT 2012

The configure.ac changes and parts of the driver itself were written by
Maarten Lankhorst.


Okay, this time we've got a better method of detecting PulseAudio.
Turns out the default mainloop implementation /doesn't/ create its on
thread like I thought it did. Instead we just have to manually trigger
mainloop iterations until we find out if the context connection
succeeded or not. This should work better.

I also reordered a few of the lock/unlock sequencies to prevent an
out-of-order deadlock.

One thing to note is that PulseAudio has an absurdly high default
latency (two seconds), and due to its poor API there's no (easy) way
for us to control it. This will cause test failures, as the tests
aren't designed to account for very high latency devices. Putting
Pulse into low-latency mode, by opening pavucontrol for example,
results in no test failures on the couple of OSes I've tried it on.

I have a patch in my tree to disable the time-sensitive tests on
high-latency devices, but I am curious to see what behavior happens in
the test results once this is out in the wild. I'm planning to send
the test changes later in the week, before release, after we've got a
couple of test runs to see if anything interesting pops out. If you
don't want me to do that, I can just send the test changes, too.
 configure.ac                          |   31 +-
 dlls/mmdevapi/main.c                  |    4 +-
 dlls/winepulse.drv/Makefile.in        |    9 +
 dlls/winepulse.drv/mmdevdrv.c         | 3165 +++++++++++++++++++++++++++++++++
 dlls/winepulse.drv/winepulse.drv.spec |    5 +
 5 files changed, 3210 insertions(+), 4 deletions(-)
 create mode 100644 dlls/winepulse.drv/Makefile.in
 create mode 100644 dlls/winepulse.drv/mmdevdrv.c
 create mode 100644 dlls/winepulse.drv/winepulse.drv.spec

-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-winepulse.drv-Add-PulseAudio-driver.patch
Type: text/x-patch
Size: 98594 bytes
Desc: not available
URL: <http://www.winehq.org/pipermail/wine-patches/attachments/20120615/b1ae10b1/attachment-0001.bin>

More information about the wine-patches mailing list