mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-26 19:01:44 +02:00
lavu/opt: deprecate av_opt_ptr()
It has no more internal callers, and we do not want to support direct pointer access via AVOptions, as that constrains AVOption API extensions.
This commit is contained in:
parent
86460a0342
commit
31b5b3badc
@ -2046,6 +2046,7 @@ const AVClass *av_opt_child_class_iterate(const AVClass *parent, void **iter)
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if FF_API_OPT_PTR
|
||||||
void *av_opt_ptr(const AVClass *class, void *obj, const char *name)
|
void *av_opt_ptr(const AVClass *class, void *obj, const char *name)
|
||||||
{
|
{
|
||||||
const AVOption *opt= av_opt_find2(&class, name, NULL, 0, AV_OPT_SEARCH_FAKE_OBJ, NULL);
|
const AVOption *opt= av_opt_find2(&class, name, NULL, 0, AV_OPT_SEARCH_FAKE_OBJ, NULL);
|
||||||
@ -2055,6 +2056,7 @@ void *av_opt_ptr(const AVClass *class, void *obj, const char *name)
|
|||||||
return NULL;
|
return NULL;
|
||||||
return (uint8_t*)obj + opt->offset;
|
return (uint8_t*)obj + opt->offset;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
static int opt_copy_elem(void *logctx, enum AVOptionType type,
|
static int opt_copy_elem(void *logctx, enum AVOptionType type,
|
||||||
void *dst, const void *src)
|
void *dst, const void *src)
|
||||||
|
@ -1071,6 +1071,7 @@ int av_opt_eval_q (void *obj, const AVOption *o, const char *val, AVRational
|
|||||||
* @}
|
* @}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#if FF_API_OPT_PTR
|
||||||
/**
|
/**
|
||||||
* Gets a pointer to the requested field in a struct.
|
* Gets a pointer to the requested field in a struct.
|
||||||
* This function allows accessing a struct even when its fields are moved or
|
* This function allows accessing a struct even when its fields are moved or
|
||||||
@ -1078,8 +1079,12 @@ int av_opt_eval_q (void *obj, const AVOption *o, const char *val, AVRational
|
|||||||
*
|
*
|
||||||
* @returns a pointer to the field, it can be cast to the correct type and read
|
* @returns a pointer to the field, it can be cast to the correct type and read
|
||||||
* or written to.
|
* or written to.
|
||||||
|
*
|
||||||
|
* @deprecated direct access to AVOption-exported fields is not supported
|
||||||
*/
|
*/
|
||||||
|
attribute_deprecated
|
||||||
void *av_opt_ptr(const AVClass *avclass, void *obj, const char *name);
|
void *av_opt_ptr(const AVClass *avclass, void *obj, const char *name);
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check if given option is set to its default value.
|
* Check if given option is set to its default value.
|
||||||
|
@ -116,6 +116,7 @@
|
|||||||
#define FF_API_RISCV_FD_ZBA (LIBAVUTIL_VERSION_MAJOR < 60)
|
#define FF_API_RISCV_FD_ZBA (LIBAVUTIL_VERSION_MAJOR < 60)
|
||||||
#define FF_API_VULKAN_FIXED_QUEUES (LIBAVUTIL_VERSION_MAJOR < 60)
|
#define FF_API_VULKAN_FIXED_QUEUES (LIBAVUTIL_VERSION_MAJOR < 60)
|
||||||
#define FF_API_OPT_INT_LIST (LIBAVUTIL_VERSION_MAJOR < 60)
|
#define FF_API_OPT_INT_LIST (LIBAVUTIL_VERSION_MAJOR < 60)
|
||||||
|
#define FF_API_OPT_PTR (LIBAVUTIL_VERSION_MAJOR < 60)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @}
|
* @}
|
||||||
|
Loading…
Reference in New Issue
Block a user