Browse Source

avopt: Check whether the object actually has got an AVClass

AVIOContext has got an av_class member that only gets set if
opening the context using avio_open2, but not if allocating a
custom IO context. A caller that wants to read AVOptions from
an AVIOContext (recursively using AV_OPT_SEARCH_CHILDREN) may
not know if the AVIOContext actually has got a class set or not.

Signed-off-by: Martin Storsjö <martin@martin.st>
tags/n2.1
Martin Storsjö 11 years ago
parent
commit
c7e921a54f
1 changed files with 3 additions and 0 deletions
  1. +3
    -0
      libavutil/opt.c

+ 3
- 0
libavutil/opt.c View File

@@ -650,6 +650,9 @@ const AVOption *av_opt_find2(void *obj, const char *name, const char *unit,
const AVClass *c = *(AVClass**)obj;
const AVOption *o = NULL;

if (!c)
return NULL;

if (search_flags & AV_OPT_SEARCH_CHILDREN) {
if (search_flags & AV_OPT_SEARCH_FAKE_OBJ) {
const AVClass *child = NULL;


Loading…
Cancel
Save