[PATCH] winepulse.drv: Add PulseAudio driver

Andrew Eikum aeikum at codeweavers.com
Sun Jun 10 17:01:01 CDT 2012

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

There's a lengthy comment in ready_pulse() describing why we're using
pthreads syncro primitives instead of Win32 primitives. I was under
the impression (thanks to the CoreAudio driver, mostly) that threads
not created through CreateThread() cannot use CRITICAL_SECTION, ERR,
WARN, TRACE, and so on. However, when I was testing, I noticed that
debug printing _does_ work in callbacks from the pthread thread.

I decided to play it safe for the sake of portability; i.e. maybe it
just happens to work on my OS, and would fail on a BSD or something
like that. We also have to avoid CreateThread() anyway (to avoid a
deadlock on the loader mutex). So there are no TRACEs and such in any
of the callbacks, which isn't ideal, but probably won't be a big
problem either.

 configure.ac                          |   31 +-
 dlls/mmdevapi/main.c                  |    4 +-
 dlls/winepulse.drv/Makefile.in        |    9 +
 dlls/winepulse.drv/mmdevdrv.c         | 3216 +++++++++++++++++++++++++++++++++
 dlls/winepulse.drv/winepulse.drv.spec |    5 +
 5 files changed, 3261 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: 100132 bytes
Desc: not available
URL: <http://www.winehq.org/pipermail/wine-patches/attachments/20120610/b6369347/attachment-0001.bin>

More information about the wine-patches mailing list