[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