From b388d5e4c6d1054e9876e93e07cf49687ccf5fea Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Fri, 16 Oct 2009 12:35:49 +0000 Subject: [PATCH] Very evil missuse of svn to test if AVOption and AVOption2 are compatible. If this test triggers anywhere for anyone, revert this commit immedeatly. Ill revert this in a day or 2, its just so we know beforehand if the idea with the union is doable or not without breaking ABI/API. Originally committed as revision 20249 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/opt.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/libavcodec/opt.c b/libavcodec/opt.c index a6abcfc2e7..3a6f1f7146 100644 --- a/libavcodec/opt.c +++ b/libavcodec/opt.c @@ -408,6 +408,19 @@ int av_opt_show(void *obj, void *av_log_obj){ void av_opt_set_defaults2(void *s, int mask, int flags) { const AVOption *opt = NULL; + + if( sizeof(AVOption) != sizeof(AVOption2) + || offsetof(AVOption,default_val) != offsetof(AVOption2,default_val.dbl) + || offsetof(AVOption,min) != offsetof(AVOption2,min) + ){ + av_log(NULL, AV_LOG_ERROR, "AVOpt1/2 missmatch %zd %zd %td %td %td %td\n", + sizeof(AVOption), sizeof(AVOption2), + offsetof(AVOption,default_val), offsetof(AVOption2,default_val.dbl), + offsetof(AVOption,min), offsetof(AVOption2,min)); +#undef exit + exit(123); + } + while ((opt = av_next_option(s, opt)) != NULL) { if((opt->flags & mask) != flags) continue;