Module: libav Branch: master Commit: 996f9f0c3280552d293c3dbe4266938927fd5908
Author: Anton Khirnov <[email protected]> Committer: Anton Khirnov <[email protected]> Date: Sun Mar 18 11:27:38 2012 +0100 avfiltergraph: add an AVClass to AVFilterGraph on next major bump. It will be used for logging, possibly also AVOptions. --- libavfilter/avfiltergraph.c | 16 +++++++++++++++- libavfilter/avfiltergraph.h | 4 ++++ libavfilter/version.h | 8 ++++++++ 3 files changed, 27 insertions(+), 1 deletions(-) diff --git a/libavfilter/avfiltergraph.c b/libavfilter/avfiltergraph.c index 8c43251..9b73cc9 100644 --- a/libavfilter/avfiltergraph.c +++ b/libavfilter/avfiltergraph.c @@ -27,9 +27,23 @@ #include "avfiltergraph.h" #include "internal.h" +#include "libavutil/log.h" + +static const AVClass filtergraph_class = { + .class_name = "AVFilterGraph", + .item_name = av_default_item_name, + .version = LIBAVUTIL_VERSION_INT, +}; + AVFilterGraph *avfilter_graph_alloc(void) { - return av_mallocz(sizeof(AVFilterGraph)); + AVFilterGraph *ret = av_mallocz(sizeof(AVFilterGraph)); + if (!ret) + return NULL; +#if FF_API_GRAPH_AVCLASS + ret->av_class = &filtergraph_class; +#endif + return ret; } void avfilter_graph_free(AVFilterGraph **graph) diff --git a/libavfilter/avfiltergraph.h b/libavfilter/avfiltergraph.h index f9cf5cd..733d1c4 100644 --- a/libavfilter/avfiltergraph.h +++ b/libavfilter/avfiltergraph.h @@ -23,8 +23,12 @@ #define AVFILTER_AVFILTERGRAPH_H #include "avfilter.h" +#include "libavutil/log.h" typedef struct AVFilterGraph { +#if FF_API_GRAPH_AVCLASS + const AVClass *av_class; +#endif unsigned filter_count; AVFilterContext **filters; diff --git a/libavfilter/version.h b/libavfilter/version.h index 09d6700..d84b67f 100644 --- a/libavfilter/version.h +++ b/libavfilter/version.h @@ -40,4 +40,12 @@ LIBAVFILTER_VERSION_MICRO) #define LIBAVFILTER_BUILD LIBAVFILTER_VERSION_INT +/** + * Those FF_API_* defines are not part of public API. + * They may change, break or disappear at any time. + */ +#ifndef FF_API_GRAPH_AVCLASS +#define FF_API_GRAPH_AVCLASS (LIBAVFILTER_VERSION_MAJOR > 2) +#endif + #endif // AVFILTER_VERSION_H _______________________________________________ libav-commits mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-commits
