@@ -192,7 +192,7 @@ int avfilter_link(AVFilterContext *src, unsigned srcpad,
return 0;
}
-void avfilter_link_free(AVFilterLink **link)
+static void link_free(AVFilterLink **link)
{
FilterLinkInternal *li;
@@ -207,6 +207,13 @@ void avfilter_link_free(AVFilterLink **link)
av_freep(link);
}
+#if FF_API_LINK_PUBLIC
+void avfilter_link_free(AVFilterLink **link)
+{
+ link_free(link);
+}
+#endif
+
static void update_link_current_pts(FilterLinkInternal *li, int64_t pts)
{
AVFilterLink *const link = &li->l;
@@ -763,7 +770,7 @@ static void free_link(AVFilterLink *link)
ff_formats_unref(&link->outcfg.samplerates);
ff_channel_layouts_unref(&link->incfg.channel_layouts);
ff_channel_layouts_unref(&link->outcfg.channel_layouts);
- avfilter_link_free(&link);
+ link_free(&link);
}
void avfilter_free(AVFilterContext *filter)
@@ -692,10 +692,13 @@ struct AVFilterLink {
int avfilter_link(AVFilterContext *src, unsigned srcpad,
AVFilterContext *dst, unsigned dstpad);
+#if FF_API_LINK_PUBLIC
/**
- * Free the link in *link, and set its pointer to NULL.
+ * @deprecated this function should never be called by users
*/
+attribute_deprecated
void avfilter_link_free(AVFilterLink **link);
+#endif
/**
* Negotiate the media format, dimensions, etc of all inputs to a filter.
@@ -36,5 +36,6 @@
*/
#define FF_API_LIBPLACEBO_OPTS (LIBAVFILTER_VERSION_MAJOR < 10)
+#define FF_API_LINK_PUBLIC (LIBAVFILTER_VERSION_MAJOR < 11)
#endif /* AVFILTER_VERSION_MAJOR_H */