summaryrefslogtreecommitdiff
path: root/libavfilter/avfilter.h
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2013-04-03 09:20:36 +0200
committerAnton Khirnov <anton@khirnov.net>2013-04-11 20:44:03 +0200
commitfa2a34cd40d124161c748bb0f430dc63c94dd0da (patch)
tree149c1a579d496d8331ffca26d9b750bdf870f5f1 /libavfilter/avfilter.h
parent7e8fe4be5fb4c98aa3c6a4ed3cec999f4e3cc3aa (diff)
lavfi: change the filter registering system to match the other libraries
Removes an arbitrary hardcoded limit on the number of filters.
Diffstat (limited to 'libavfilter/avfilter.h')
-rw-r--r--libavfilter/avfilter.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/libavfilter/avfilter.h b/libavfilter/avfilter.h
index 73dbd886fc..51d0fb5148 100644
--- a/libavfilter/avfilter.h
+++ b/libavfilter/avfilter.h
@@ -457,6 +457,8 @@ typedef struct AVFilter {
int (*query_formats)(AVFilterContext *);
int priv_size; ///< size of private data to allocate for the filter
+
+ struct AVFilter *next;
} AVFilter;
/** An instance of a filter */
@@ -622,8 +624,11 @@ AVFilterBufferRef *avfilter_get_audio_buffer_ref_from_arrays(uint8_t **data,
/** Initialize the filter system. Register all builtin filters. */
void avfilter_register_all(void);
+#if FF_API_OLD_FILTER_REGISTER
/** Uninitialize the filter system. Unregister all filters. */
+attribute_deprecated
void avfilter_uninit(void);
+#endif
/**
* Register a filter. This is only needed if you plan to use
@@ -647,12 +652,23 @@ int avfilter_register(AVFilter *filter);
AVFilter *avfilter_get_by_name(const char *name);
/**
+ * Iterate over all registered filters.
+ * @return If prev is non-NULL, next registered filter after prev or NULL if
+ * prev is the last filter. If prev is NULL, return the first registered filter.
+ */
+const AVFilter *avfilter_next(const AVFilter *prev);
+
+#if FF_API_OLD_FILTER_REGISTER
+/**
* If filter is NULL, returns a pointer to the first registered filter pointer,
* if filter is non-NULL, returns the next pointer after filter.
* If the returned pointer points to NULL, the last registered filter
* was already reached.
+ * @deprecated use avfilter_next()
*/
+attribute_deprecated
AVFilter **av_filter_next(AVFilter **filter);
+#endif
#if FF_API_AVFILTER_OPEN
/**