lavfi: add avfilter_init_str() to replace avfilter_init_filter().
authorAnton Khirnov <anton@khirnov.net>
Sun, 17 Mar 2013 18:44:24 +0000 (19:44 +0100)
committerAnton Khirnov <anton@khirnov.net>
Thu, 11 Apr 2013 18:39:13 +0000 (20:39 +0200)
Drop the unused opaque parameter from its signature.

doc/APIchanges
libavfilter/avfilter.c
libavfilter/avfilter.h
libavfilter/avfiltergraph.c
libavfilter/filtfmts.c
libavfilter/graphparser.c
libavfilter/version.h

index 9748565..0def56e 100644 (file)
@@ -20,6 +20,7 @@ API changes, most recent first:
   avfilter_graph_add_filter().
   Add AVFilterContext.graph pointing to the AVFilterGraph that contains the
   filter.
+  Add avfilter_init_str(), deprecate avfilter_init_filter().
 
 2013-xx-xx - lavfi 3.7.0 - avfilter.h
   Add AVFilter.priv_class for exporting filter options through the AVOptions API
index c32ae17..cbe3fdb 100644 (file)
@@ -508,7 +508,14 @@ static int process_unnamed_options(AVFilterContext *ctx, AVDictionary **options,
     return 0;
 }
 
+#if FF_API_AVFILTER_INIT_FILTER
 int avfilter_init_filter(AVFilterContext *filter, const char *args, void *opaque)
+{
+    return avfilter_init_str(filter, args);
+}
+#endif
+
+int avfilter_init_str(AVFilterContext *filter, const char *args)
 {
     AVDictionary *options = NULL;
     AVDictionaryEntry *e;
index ca2e7b7..a01d7e6 100644 (file)
@@ -645,6 +645,8 @@ attribute_deprecated
 int avfilter_open(AVFilterContext **filter_ctx, AVFilter *filter, const char *inst_name);
 #endif
 
+
+#if FF_API_AVFILTER_INIT_FILTER
 /**
  * Initialize a filter.
  *
@@ -655,7 +657,21 @@ int avfilter_open(AVFilterContext **filter_ctx, AVFilter *filter, const char *in
  *               of this parameter varies by filter.
  * @return       zero on success
  */
+attribute_deprecated
 int avfilter_init_filter(AVFilterContext *filter, const char *args, void *opaque);
+#endif
+
+/**
+ * Initialize a filter with the supplied parameters.
+ *
+ * @param ctx  uninitialized filter context to initialize
+ * @param args Options to initialize the filter with. This must be a
+ *             ':'-separated list of options in the 'key=value' form.
+ *             May be NULL if the options have been set directly using the
+ *             AVOptions API or there are no options that need to be set.
+ * @return 0 on success, a negative AVERROR on failure
+ */
+int avfilter_init_str(AVFilterContext *ctx, const char *args);
 
 /**
  * Free a filter context. This will also remove the filter from its
index 5679ad9..7c88ecd 100644 (file)
@@ -103,7 +103,9 @@ int avfilter_graph_create_filter(AVFilterContext **filt_ctx, AVFilter *filt,
     *filt_ctx = avfilter_graph_alloc_filter(graph_ctx, filt, name);
     if (!*filt_ctx)
         return AVERROR(ENOMEM);
-    if ((ret = avfilter_init_filter(*filt_ctx, args, opaque)) < 0)
+
+    ret = avfilter_init_str(*filt_ctx, args);
+    if (ret < 0)
         goto fail;
 
     return 0;
index 480b277..1ac3116 100644 (file)
@@ -57,7 +57,7 @@ int main(int argc, char **argv)
                 filter_name);
         return 1;
     }
-    if (avfilter_init_filter(filter_ctx, filter_args, NULL) < 0) {
+    if (avfilter_init_str(filter_ctx, filter_args) < 0) {
         fprintf(stderr, "Impossible to init filter '%s' with arguments '%s'\n",
                 filter_name, filter_args);
         return 1;
index 5738a12..d00da9c 100644 (file)
@@ -123,7 +123,8 @@ static int create_filter(AVFilterContext **filt_ctx, AVFilterGraph *ctx, int ind
         args = tmp_args;
     }
 
-    if ((ret = avfilter_init_filter(*filt_ctx, args, NULL)) < 0) {
+    ret = avfilter_init_str(*filt_ctx, args);
+    if (ret < 0) {
         av_log(log_ctx, AV_LOG_ERROR,
                "Error initializing filter '%s' with args '%s'\n", filt_name, args);
         return ret;
index 30c73e6..f58a9d5 100644 (file)
@@ -61,5 +61,8 @@
 #ifndef FF_API_AVFILTER_OPEN
 #define FF_API_AVFILTER_OPEN                (LIBAVFILTER_VERSION_MAJOR < 4)
 #endif
+#ifndef FF_API_AVFILTER_INIT_FILTER
+#define FF_API_AVFILTER_INIT_FILTER         (LIBAVFILTER_VERSION_MAJOR < 4)
+#endif
 
 #endif /* AVFILTER_VERSION_H */