diff --git a/libavutil/opt.c b/libavutil/opt.c index 720ad99e8e..5976c3377e 100644 --- a/libavutil/opt.c +++ b/libavutil/opt.c @@ -261,7 +261,7 @@ static int av_get_number(void *obj, const char *name, const AVOption **o_out, do { const AVOption *o= av_find_opt(obj, name, NULL, 0, 0); void *dst; - if (!o || o->offset<=0) + if (!o || (o->offset<=0 && o->type != FF_OPT_TYPE_CONST)) goto error; dst= ((uint8_t*)obj) + o->offset; @@ -277,6 +277,7 @@ static int av_get_number(void *obj, const char *name, const AVOption **o_out, do case FF_OPT_TYPE_RATIONAL: *intnum= ((AVRational*)dst)->num; *den = ((AVRational*)dst)->den; return 0; + case FF_OPT_TYPE_CONST: *intnum= o->default_val.dbl;return 0; } error: *den=*intnum=0;