This is an automated email from the git hooks/post-receive script. Git pushed a commit to branch master in repository ffmpeg.
commit 3593b81b09668cf9222af58c47c8be668ac90aed Author: James Almer <[email protected]> AuthorDate: Tue Sep 29 00:15:56 2026 -0300 Commit: James Almer <[email protected]> CommitDate: Wed Oct 7 18:34:09 2026 -0300 avutil/tests/opt: add more tests for av_opt_serialize flags Signed-off-by: James Almer <[email protected]> --- libavutil/tests/opt.c | 36 +++++++++++++++++++++++++++++++++++- tests/ref/fate/opt | 8 ++++++++ 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/libavutil/tests/opt.c b/libavutil/tests/opt.c index 8ab76c4690..04d5526dcd 100644 --- a/libavutil/tests/opt.c +++ b/libavutil/tests/opt.c @@ -130,14 +130,16 @@ typedef struct ChildContext { const AVClass *class; int64_t child_num64; int child_num; + unsigned int child_unum; } ChildContext; #undef OFFSET #define OFFSET(x) offsetof(ChildContext, x) static const AVOption child_options[]= { - {"child_num64", "set num 64bit", OFFSET(child_num64), AV_OPT_TYPE_INT64, { .i64 = 0 }, 0, 100, 1 }, + {"child_num64", "set num 64bit", OFFSET(child_num64), AV_OPT_TYPE_INT64, { .i64 = 0 }, 0, 100, 1 | AV_OPT_FLAG_EXPORT | AV_OPT_FLAG_READONLY }, {"child_num", "set child_num", OFFSET(child_num), AV_OPT_TYPE_INT, { .i64 = 1 }, 0, 100, 1 }, + {"child_unum", "set child_unum", OFFSET(child_unum), AV_OPT_TYPE_UINT, { .i64 = 0 }, 0, 100, AV_OPT_FLAG_EXPORT | AV_OPT_FLAG_READONLY }, { NULL }, }; @@ -394,6 +396,38 @@ int main(void) printf("%s\n", buf); av_free(buf); } + child_ctx.child_num64 = 1; + child_ctx.child_unum = 1; + printf("Include flag EXPORT:\n"); + if (av_opt_serialize(&test_ctx, AV_OPT_FLAG_EXPORT, + AV_OPT_SERIALIZE_SKIP_DEFAULTS|AV_OPT_SERIALIZE_SEARCH_CHILDREN, + &buf, '=', ',') >= 0) { + printf("%s\n", buf); + av_free(buf); + } + printf("Include flag 1:\n"); + if (av_opt_serialize(&test_ctx, 1, + AV_OPT_SERIALIZE_SKIP_DEFAULTS|AV_OPT_SERIALIZE_SEARCH_CHILDREN, + &buf, '=', ',') >= 0) { + printf("%s\n", buf); + av_free(buf); + } + printf("Include exact match flag 1:\n"); + if (av_opt_serialize(&test_ctx, 1, + AV_OPT_SERIALIZE_SKIP_DEFAULTS|AV_OPT_SERIALIZE_SEARCH_CHILDREN| + AV_OPT_SERIALIZE_OPT_FLAGS_EXACT, + &buf, '=', ',') >= 0) { + printf("%s\n", buf); + av_free(buf); + } + printf("Include exact match flag EXPORT|READONLY:\n"); + if (av_opt_serialize(&test_ctx, AV_OPT_FLAG_EXPORT | AV_OPT_FLAG_READONLY, + AV_OPT_SERIALIZE_SKIP_DEFAULTS|AV_OPT_SERIALIZE_SEARCH_CHILDREN| + AV_OPT_SERIALIZE_OPT_FLAGS_EXACT, + &buf, '=', ',') >= 0) { + printf("%s\n", buf); + av_free(buf); + } av_opt_free(&child_ctx); test_ctx.child = NULL; } diff --git a/tests/ref/fate/opt b/tests/ref/fate/opt index 04e787f01d..86f809c433 100644 --- a/tests/ref/fate/opt +++ b/tests/ref/fate/opt @@ -192,6 +192,14 @@ Setting entry with key 'array_str' to value 'str0|str\|1|str\\2' Setting entry with key 'array_dict' to value 'k00=v\\\\00:k01=v\,01,k10=v\\=1\\:0' num=0,unum=2147483648,toggle=1,rational=1/1,string=default,escape=\\\=\,,flags=0x00000001,size=200x300,pix_fmt=0bgr,sample_fmt=s16,video_rate=25/1,duration=0.001,color=0xffc0cbff,cl=hexagonal,bin=62696E00,bin1=,bin2=,num64=4294967296,flt=0.333333,dbl=0.333333,bool1=auto,bool2=true,bool3=false,dict1=,dict2=happy\=\\:-),array_int=,array_str=str0|str\\|1|str\\\\2,array_dict=k00\=v\\\\\\\\00:k01\=v\\\,01\,k10\=v\\\\\=1\\\\:0 child_num=0,flt=0.333333,dbl=0.333333 +Include flag EXPORT: +child_num64=1,child_unum=1 +Include flag 1: +child_num64=1,child_num=0,flt=0.333333,dbl=0.333333 +Include exact match flag 1: +child_num=0,flt=0.333333,dbl=0.333333 +Include exact match flag EXPORT|READONLY: +child_unum=1 Testing av_set_options_string() Setting options string '' -- To stop receiving notification emails like this one, please contact [email protected]. _______________________________________________ ffmpeg-cvslog mailing list -- [email protected] To unsubscribe send an email to [email protected]
