From c19f634e6cbdeaffed1d56ecd3a31c0652820cdf Mon Sep 17 00:00:00 2001 From: James Ross-Gowan Date: Wed, 6 Jan 2016 23:08:13 +1100 Subject: win32: fix fd:// Windows definitely supports Unix-style fd inheritance. This mostly worked when launched from mpv.exe, though mpv should change the file mode to O_BINARY. When launched from mpv.com, the wrapper must pass the list of handles (stored in the undocumented lpReserved2 and cbReserved2 fields) to the mpv process. --- stream/stream_file.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'stream/stream_file.c') diff --git a/stream/stream_file.c b/stream/stream_file.c index 527261edd7..ce9f9d9739 100644 --- a/stream/stream_file.c +++ b/stream/stream_file.c @@ -262,9 +262,6 @@ static int open_f(stream_t *stream) MP_INFO(stream, "Writing to stdout...\n"); p->fd = 1; } -#ifdef __MINGW32__ - setmode(p->fd, O_BINARY); -#endif p->close = false; } else { mode_t openmode = S_IRUSR | S_IWUSR; @@ -298,6 +295,10 @@ static int open_f(stream_t *stream) p->close = true; } +#ifdef __MINGW32__ + setmode(p->fd, O_BINARY); +#endif + off_t len = lseek(p->fd, 0, SEEK_END); lseek(p->fd, 0, SEEK_SET); if (len != (off_t)-1) { -- cgit v1.2.3