[FFmpeg-devel] [PATCH] lavfi: add init2 callback
Stefano Sabatini
stefasab at gmail.com
Fri Jul 6 01:22:17 CEST 2012
This will be used by filters which require an opaque field to be passed.
Should be required only for filters which imply a programmatic use.
---
libavfilter/avfilter.c | 4 +++-
libavfilter/avfilter.h | 6 ++++++
2 files changed, 9 insertions(+), 1 deletions(-)
diff --git a/libavfilter/avfilter.c b/libavfilter/avfilter.c
index 01f3442..2e9a825 100644
--- a/libavfilter/avfilter.c
+++ b/libavfilter/avfilter.c
@@ -554,7 +554,9 @@ int avfilter_init_filter(AVFilterContext *filter, const char *args, void *opaque
{
int ret=0;
- if (filter->filter->init)
+ if (filter->filter->init2)
+ ret = filter->filter->init2(filter, args, opaque);
+ else if (filter->filter->init)
ret = filter->filter->init(filter, args);
return ret;
}
diff --git a/libavfilter/avfilter.h b/libavfilter/avfilter.h
index e08a389..dd45ed7 100644
--- a/libavfilter/avfilter.h
+++ b/libavfilter/avfilter.h
@@ -412,6 +412,12 @@ typedef struct AVFilter {
int (*init)(AVFilterContext *ctx, const char *args);
/**
+ * Filter initialization function. Args contains the user-supplied
+ * parameters, opaque is used for providing binary data.
+ */
+ int (*init2)(AVFilterContext *ctx, const char *args, void *opaque);
+
+ /**
* Filter uninitialization function. Should deallocate any memory held
* by the filter, release any buffer references, etc. This does not need
* to deallocate the AVFilterContext->priv memory itself.
--
1.7.5.4
More information about the ffmpeg-devel
mailing list