[FFmpeg-cvslog] avoptions: Fix av_opt_flag_is_set

Martin Storsjö git at videolan.org
Tue Oct 18 01:57:32 CEST 2011


ffmpeg | branch: master | Martin Storsjö <martin at martin.st> | Mon Oct 17 20:50:02 2011 +0300| [299234a0a9e7d96d4cfe7ec88aac007bf4a6bbff] | committer: Martin Storsjö

avoptions: Fix av_opt_flag_is_set

With the changes in 3b3ea34655db02d9cd9ea1a4122e920a7fdec602,
"Remove all uses of deprecated AVOptions API", av_opt_flag_is_set
was broken, since it now uses av_opt_find, which doesn't return
named constants unless a unit to look for the constant in is given.

This broke enabling LATM encapsulated AAC output in RTP.

Signed-off-by: Martin Storsjö <martin at martin.st>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=299234a0a9e7d96d4cfe7ec88aac007bf4a6bbff
---

 libavutil/opt.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/libavutil/opt.c b/libavutil/opt.c
index bf63bef..aa76301 100644
--- a/libavutil/opt.c
+++ b/libavutil/opt.c
@@ -501,7 +501,8 @@ int av_opt_get_q(void *obj, const char *name, int search_flags, AVRational *out_
 int av_opt_flag_is_set(void *obj, const char *field_name, const char *flag_name)
 {
     const AVOption *field = av_opt_find(obj, field_name, NULL, 0, 0);
-    const AVOption *flag  = av_opt_find(obj, flag_name,  NULL, 0, 0);
+    const AVOption *flag  = av_opt_find(obj, flag_name,
+                                        field ? field->unit : NULL, 0, 0);
     int64_t res;
 
     if (!field || !flag || flag->type != AV_OPT_TYPE_CONST ||



More information about the ffmpeg-cvslog mailing list