avfiltergraph: add an AVClass to AVFilterGraph on next major bump.

It will be used for logging, possibly also AVOptions.
This commit is contained in:
Anton Khirnov 2012-03-18 11:27:38 +01:00
parent ddb4431208
commit 996f9f0c32
3 changed files with 27 additions and 1 deletions

View File

@ -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)

View File

@ -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;

View File

@ -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