[FFmpeg-devel] [PATCH] ffmpeg: modify tty state when stderr is redirected

Ganesh Ajjanagadde gajjanag at mit.edu
Sat Aug 1 04:38:22 CEST 2015

On Fri, Jul 31, 2015 at 10:15 PM, Michael Niedermayer
<michael at niedermayer.cc> wrote:
> On Fri, Jul 31, 2015 at 10:51:31AM +0200, Nicolas George wrote:
>> Le tridi 13 thermidor, an CCXXIII, Michael Niedermayer a écrit :
>> > no disagreement here but as the shell does not do that (well at least
>> > not bash here)
>> > it causes moderate inconvenience to the developers
>> > in everyday work if the terminal needs to be reset after a fate
>> > failure
>> And what happens after a FATE failure? Based on my experience, frequently,
>> developers would copy-paste the failing FATE command line and re-run it
>> interactively. And since stderr is no longer redirected, the tty gets
>> trashed.
>> No need of a failure, even: just try this:
>> ffmpeg -lavfi testsrc -f framecrc | head
>> ... ffmpeg is killed by SIGPIPE, which is not caught: terminal trashed.
> Thats interresting, i tried this and it did not trash my terminal
> also ive almost never seen ffmpeg trash my terminal with the current
> code. No matter how i run it
> GNU bash, version 4.2.25(1)-release (x86_64-pc-linux-gnu)

I think Nicolas meant
ffmpeg -lavfi testsrc -f framecrc - | head (note the trailing -).

This does illustrate the trashing.
BTW, note that not all trashing may be easily observed, so
the method I used for testing is doing
an stty -a before and after command invocation (redirecting to a log),
and then doing a diff.

> [...]
> --
> Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
> Avoid a single point of failure, be that a person or equipment.
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

More information about the ffmpeg-devel mailing list