summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libavutil/opt.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/libavutil/opt.c b/libavutil/opt.c
index 092446b02b..62db1b50b7 100644
--- a/libavutil/opt.c
+++ b/libavutil/opt.c
@@ -85,8 +85,9 @@ static int write_number(void *obj, const AVOption *o, void *dst, double num, int
{
if (o->type != AV_OPT_TYPE_FLAGS &&
(o->max * den < num * intnum || o->min * den > num * intnum)) {
+ num = den ? num*intnum/den : (num*intnum ? INFINITY : NAN);
av_log(obj, AV_LOG_ERROR, "Value %f for parameter '%s' out of range [%g - %g]\n",
- num*intnum/den, o->name, o->min, o->max);
+ num, o->name, o->min, o->max);
return AVERROR(ERANGE);
}
if (o->type == AV_OPT_TYPE_FLAGS) {