diff options
author | Rudolf Polzer <divverent@xonotic.org> | 2013-04-15 13:25:51 +0200 |
---|---|---|
committer | Rudolf Polzer <divverent@xonotic.org> | 2013-04-15 13:30:21 +0200 |
commit | 0c1d95e81b100464d42e8c08c5293cf0729d118d (patch) | |
tree | 06b7c082a75ec85cd880176652fb4697aba2c309 /core/mp_msg.c | |
parent | df8a481eba2316f8171ec0cde4e8e192765aad16 (diff) | |
download | mpv-0c1d95e81b100464d42e8c08c5293cf0729d118d.tar.bz2 mpv-0c1d95e81b100464d42e8c08c5293cf0729d118d.tar.xz |
encoding: when output is pipe: or pipe:1, avoid mp_msg to stdout
I am aware this detection may occur too late, depending on other
settings, but at least it usually works and is portable.
Where the output fd can be changed, though, it'd be better to force a
similar behaviour via file descriptor use: use pipe:3 as output to FD 3,
and change the calling program to expect the stream on FD 3.
Diffstat (limited to 'core/mp_msg.c')
-rw-r--r-- | core/mp_msg.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/core/mp_msg.c b/core/mp_msg.c index 0661416c55..1f5847e97c 100644 --- a/core/mp_msg.c +++ b/core/mp_msg.c @@ -37,6 +37,8 @@ #include "core/mp_msg.h" +bool mp_msg_stdout_in_use = 0; + /* maximum message length of mp_msg */ #define MSGSIZE_MAX 6144 @@ -225,7 +227,8 @@ static void print_msg_module(FILE* stream, int mod) void mp_msg_va(int mod, int lev, const char *format, va_list va) { char tmp[MSGSIZE_MAX]; - FILE *stream = lev == MSGL_STATUS ? stderr : stdout; + FILE *stream = + (mp_msg_stdout_in_use || (lev == MSGL_STATUS)) ? stderr : stdout; static int header = 1; // indicates if last line printed was a status line static int statusline; |