Commit dff97be8 authored by Michael Niedermayer's avatar Michael Niedermayer

av_opt: add av_opt_ptr() to return a pointer to a field of a object based on

an AVClass
Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parent 618fb9cc
......@@ -806,6 +806,14 @@ const AVClass *av_opt_child_class_next(const AVClass *parent, const AVClass *pre
return NULL;
}
void *av_opt_ptr(const AVClass *class, void *obj, const char *name)
{
AVOption *opt= av_opt_find2(&class, name, NULL, 0, AV_OPT_SEARCH_FAKE_OBJ, NULL);
if(!opt)
return NULL;
return (uint8_t*)obj + opt->offset;
}
#ifdef TEST
#undef printf
......
......@@ -586,6 +586,17 @@ int av_opt_get_double(void *obj, const char *name, int search_flags, double
int av_opt_get_q (void *obj, const char *name, int search_flags, AVRational *out_val);
/**
* @}
*/
/**
* Gets a pointer to the requested field in a struct.
* This function allows accessing a struct even when its fields are moved or
* renamed since the application making the access has been compiled,
*
* @returns a pointer to the field, it can be cast to the correct type and read
* or written to.
*/
void *av_opt_ptr(const AVClass *class, void *obj, const char *name);
/**
* @}
*/
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment