[pulseaudio-discuss] [PATCH v2 2/6] pacat: Enable binary mode on Windows.
Thomas Martitz
kugel at rockbox.org
Mon Aug 20 14:50:35 PDT 2012
Without this reading from stdin will eventually end with EOF (if there happens
to be a newline sign in the stream), because read() returns 0.
This patch fixes raw data input and piping to pacat on Windows.
---
src/utils/pacat.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/utils/pacat.c b/src/utils/pacat.c
index ec360f7..734017c 100644
--- a/src/utils/pacat.c
+++ b/src/utils/pacat.c
@@ -1129,6 +1129,10 @@ int main(int argc, char *argv[]) {
pa_disable_sigpipe();
if (raw) {
+#ifdef OS_IS_WIN32
+ /* need to turn on binary mode for stdio io. Windows, meh */
+ setmode(mode == PLAYBACK ? STDIN_FILENO : STDOUT_FILENO, O_BINARY);
+#endif
if (!(stdio_event = mainloop_api->io_new(mainloop_api,
mode == PLAYBACK ? STDIN_FILENO : STDOUT_FILENO,
mode == PLAYBACK ? PA_IO_EVENT_INPUT : PA_IO_EVENT_OUTPUT,
--
1.7.10.4
More information about the pulseaudio-discuss
mailing list