Browse Source

AVOptions: add av_opt_free convenience function.

tags/n0.8
Anton Khirnov 14 years ago
parent
commit
b39b06233d
4 changed files with 17 additions and 1 deletions
  1. +3
    -0
      doc/APIchanges
  2. +1
    -1
      libavutil/avutil.h
  3. +8
    -0
      libavutil/opt.c
  4. +5
    -0
      libavutil/opt.h

+ 3
- 0
doc/APIchanges View File

@@ -13,6 +13,9 @@ libavutil: 2011-04-18


API changes, most recent first: API changes, most recent first:


2011-06-xx - xxxxxxx - lavu 51.3.0 - opt.h
Add av_opt_free convenience function.

2011-05-28 - 0420bd7 - lavu 51.2.0 - pixdesc.h 2011-05-28 - 0420bd7 - lavu 51.2.0 - pixdesc.h
Add av_get_pix_fmt_name() in libavutil/pixdesc.h, and deprecate Add av_get_pix_fmt_name() in libavutil/pixdesc.h, and deprecate
avcodec_get_pix_fmt_name() in libavcodec/avcodec.h in its favor. avcodec_get_pix_fmt_name() in libavcodec/avcodec.h in its favor.


+ 1
- 1
libavutil/avutil.h View File

@@ -40,7 +40,7 @@
#define AV_VERSION(a, b, c) AV_VERSION_DOT(a, b, c) #define AV_VERSION(a, b, c) AV_VERSION_DOT(a, b, c)


#define LIBAVUTIL_VERSION_MAJOR 51 #define LIBAVUTIL_VERSION_MAJOR 51
#define LIBAVUTIL_VERSION_MINOR 2
#define LIBAVUTIL_VERSION_MINOR 3
#define LIBAVUTIL_VERSION_MICRO 0 #define LIBAVUTIL_VERSION_MICRO 0


#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \ #define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \


+ 8
- 0
libavutil/opt.c View File

@@ -520,6 +520,14 @@ int av_set_options_string(void *ctx, const char *opts,
return count; return count;
} }


void av_opt_free(void *obj)
{
const AVOption *o = NULL;
while ((o = av_next_option(obj, o)))
if (o->type == FF_OPT_TYPE_STRING || o->type == FF_OPT_TYPE_BINARY)
av_freep((uint8_t *)obj + o->offset);
}

#ifdef TEST #ifdef TEST


#undef printf #undef printf


+ 5
- 0
libavutil/opt.h View File

@@ -176,4 +176,9 @@ void av_opt_set_defaults2(void *s, int mask, int flags);
int av_set_options_string(void *ctx, const char *opts, int av_set_options_string(void *ctx, const char *opts,
const char *key_val_sep, const char *pairs_sep); const char *key_val_sep, const char *pairs_sep);


/**
* Free all string and binary options in obj.
*/
void av_opt_free(void *obj);

#endif /* AVUTIL_OPT_H */ #endif /* AVUTIL_OPT_H */

Loading…
Cancel
Save