[pulseaudio-discuss] [PATCH v2 0/6] Fixes for pulseaudio on Windows.

Thomas Martitz kugel at rockbox.org
Mon Aug 20 14:50:33 PDT 2012


I've been tryng to run pulseaudio (including utils) on windows. This
series is the first to contribute fixes to achieve this.

One issue I came across is the assertion failue (!e->dead) in pacat. This
is fixed by the third patch. Uncovered by this and fixed by patch 2 is that
stdio needs to be switched to binary mode in order to pipe data through it.
Patch 1 works around massive build warnings on mingw32, but it's not mission
critical (note: I don't know why the patch order of 1-3 is different to the
first set). Another issue was pa_read() failure in flush(), which wasn't 
actually failure, but rather not handling non-blocking sockets. Actually,
I'm not sure if the fix is correct (perhaps because pa_read() should not wait
for non-block sockets or the fix is windows-only) but it functions as a work-
around. The last 2 patches are more or less minor and speak for themselves.

Please review and comment on my patches, especually patch#4. This is my 
first contribution to PA, but surely not the last one so I would like to 
get things right.


Thomas Martitz (6):
  gccmacro: Disable printf-like format checking on mingw32 compilers.
  pacat: Enable binary mode on Windows.
  Proper poll() emulation to fix pacat and friends on windows.
  Windows/pa_read,_write: Transparently handle non-blocking sockets.
  pacat: Replace read(), write() with pa_* equivalent.
  Windows/pa_cstrerror(): Slightly more helpful unknown error.

 src/Makefile.am            |    7 +-
 src/pulse/gccmacro.h       |    2 +-
 src/pulse/mainloop.c       |   18 --
 src/pulsecore/core-error.c |    4 +-
 src/pulsecore/core-util.c  |   35 ++-
 src/pulsecore/poll-posix.c |  237 +++++++++++++++++
 src/pulsecore/poll-win32.c |  627 ++++++++++++++++++++++++++++++++++++++++++++
 src/pulsecore/poll.c       |  237 -----------------
 src/utils/pacat.c          |   12 +-
 9 files changed, 913 insertions(+), 266 deletions(-)
 create mode 100644 src/pulsecore/poll-posix.c
 create mode 100644 src/pulsecore/poll-win32.c
 delete mode 100644 src/pulsecore/poll.c

-- 
1.7.10.4



More information about the pulseaudio-discuss mailing list