diff --git a/tools/output/output.c b/tools/output/output.c index f8910d4894be06b16339d6d432a0393ecb0796da..887d450b45193989e07c76a432b30c5243eeea76 100644 --- a/tools/output/output.c +++ b/tools/output/output.c @@ -39,6 +39,11 @@ #include "output/output.h" #include "output/muxer.h" +#ifdef _WIN32 +#include <fcntl.h> +#include <io.h> +#endif + struct MuxerContext { MuxerPriv *data; const Muxer *impl; @@ -141,6 +146,11 @@ int output_open(MuxerContext **const c_out, } c->one_file_per_frame = name_offset || (!name && have_num_pattern); +#ifdef _WIN32 + if (impl != muxers[0] && !strcmp(filename, "-")) + _setmode(_fileno(stdout), _O_BINARY); +#endif + if (c->one_file_per_frame) { c->fps[0] = fps[0]; c->fps[1] = fps[1];