fftools/ffmpeg: prefer real errors over EOF in err_merge()
Fixes an issue in 6.1 when reading a corrupted file with -xerror would exit with success. This specific issue is not present in master, but this should generally be a more robust behaviour. Reported-by: Andrej Peterka (cherry picked from commit d1fa39d08d3bce9c268cd02cb3c45a76e63b6ff4) Signed-off-by: Anton Khirnov <anton@khirnov.net>
This commit is contained in:
parent
6a8cf7b383
commit
159270e3b2
@ -883,11 +883,12 @@ void update_benchmark(const char *fmt, ...);
|
||||
/**
|
||||
* Merge two return codes - return one of the error codes if at least one of
|
||||
* them was negative, 0 otherwise.
|
||||
* Currently just picks the first one, eventually we might want to do something
|
||||
* more sophisticated, like sorting them by priority.
|
||||
*/
|
||||
static inline int err_merge(int err0, int err1)
|
||||
{
|
||||
// prefer "real" errors over EOF
|
||||
if ((err0 >= 0 || err0 == AVERROR_EOF) && err1 < 0)
|
||||
return err1;
|
||||
return (err0 < 0) ? err0 : FFMIN(err1, 0);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user