[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