Module: libav Branch: master Commit: 0b357a8095e72b092cc5c2aacc2f806db75ecae3
Author: Anton Khirnov <[email protected]> Committer: Anton Khirnov <[email protected]> Date: Sat Oct 26 10:34:01 2013 +0200 AVOptions: do not range check flag options. It does not make sense in the vast majority of use cases, no currently defined AV_OPT_TYPE_FLAGS options in Libav set the range to anything nontrivial, and many of those get it wrong (the "correct" range is INT_MIN to INT_MAX so that the builtin constant "all" works). --- libavutil/opt.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libavutil/opt.c b/libavutil/opt.c index cba5b29..ede4a49 100644 --- a/libavutil/opt.c +++ b/libavutil/opt.c @@ -61,7 +61,8 @@ static int read_number(const AVOption *o, void *dst, double *num, int *den, int6 static int write_number(void *obj, const AVOption *o, void *dst, double num, int den, int64_t intnum) { - if (o->max*den < num*intnum || o->min*den > num*intnum) { + if (o->type != AV_OPT_TYPE_FLAGS && + (o->max * den < num * intnum || o->min * den > num * intnum)) { av_log(obj, AV_LOG_ERROR, "Value %f for parameter '%s' out of range\n", num*intnum/den, o->name); return AVERROR(ERANGE); _______________________________________________ libav-commits mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-commits
