diff --git a/libavfilter/af_amix.c b/libavfilter/af_amix.c index d33d96ba6e..8f8ae3e340 100644 --- a/libavfilter/af_amix.c +++ b/libavfilter/af_amix.c @@ -497,7 +497,7 @@ static int init(AVFilterContext *ctx, const char *args, void *opaque) pad.name = av_strdup(name); pad.filter_samples = filter_samples; - avfilter_insert_inpad(ctx, i, &pad); + ff_insert_inpad(ctx, i, &pad); } return 0; diff --git a/libavfilter/avfilter.c b/libavfilter/avfilter.c index 8594b8365c..6b73e48d81 100644 --- a/libavfilter/avfilter.c +++ b/libavfilter/avfilter.c @@ -44,9 +44,9 @@ const char *avfilter_license(void) return LICENSE_PREFIX LIBAV_LICENSE + sizeof(LICENSE_PREFIX) - 1; } -void avfilter_insert_pad(unsigned idx, unsigned *count, size_t padidx_off, - AVFilterPad **pads, AVFilterLink ***links, - AVFilterPad *newpad) +void ff_insert_pad(unsigned idx, unsigned *count, size_t padidx_off, + AVFilterPad **pads, AVFilterLink ***links, + AVFilterPad *newpad) { unsigned i; @@ -426,4 +426,22 @@ int avfilter_default_config_output_link(AVFilterLink *link) { return 0; } +void avfilter_insert_pad(unsigned idx, unsigned *count, size_t padidx_off, + AVFilterPad **pads, AVFilterLink ***links, + AVFilterPad *newpad) +{ + ff_insert_pad(idx, count, padidx_off, pads, links, newpad); +} +void avfilter_insert_inpad(AVFilterContext *f, unsigned index, + AVFilterPad *p) +{ + ff_insert_pad(index, &f->input_count, offsetof(AVFilterLink, dstpad), + &f->input_pads, &f->inputs, p); +} +void avfilter_insert_outpad(AVFilterContext *f, unsigned index, + AVFilterPad *p) +{ + ff_insert_pad(index, &f->output_count, offsetof(AVFilterLink, srcpad), + &f->output_pads, &f->outputs, p); +} #endif diff --git a/libavfilter/avfilter.h b/libavfilter/avfilter.h index 37e783e41e..0f5a35fc73 100644 --- a/libavfilter/avfilter.h +++ b/libavfilter/avfilter.h @@ -749,38 +749,19 @@ void avfilter_free(AVFilterContext *filter); int avfilter_insert_filter(AVFilterLink *link, AVFilterContext *filt, unsigned filt_srcpad_idx, unsigned filt_dstpad_idx); -/** - * Insert a new pad. - * - * @param idx Insertion point. Pad is inserted at the end if this point - * is beyond the end of the list of pads. - * @param count Pointer to the number of pads in the list - * @param padidx_off Offset within an AVFilterLink structure to the element - * to increment when inserting a new pad causes link - * numbering to change - * @param pads Pointer to the pointer to the beginning of the list of pads - * @param links Pointer to the pointer to the beginning of the list of links - * @param newpad The new pad to add. A copy is made when adding. - */ +#if FF_API_FILTERS_PUBLIC +attribute_deprecated void avfilter_insert_pad(unsigned idx, unsigned *count, size_t padidx_off, AVFilterPad **pads, AVFilterLink ***links, AVFilterPad *newpad); -/** Insert a new input pad for the filter. */ -static inline void avfilter_insert_inpad(AVFilterContext *f, unsigned index, - AVFilterPad *p) -{ - avfilter_insert_pad(index, &f->input_count, offsetof(AVFilterLink, dstpad), - &f->input_pads, &f->inputs, p); -} - -/** Insert a new output pad for the filter. */ -static inline void avfilter_insert_outpad(AVFilterContext *f, unsigned index, - AVFilterPad *p) -{ - avfilter_insert_pad(index, &f->output_count, offsetof(AVFilterLink, srcpad), - &f->output_pads, &f->outputs, p); -} +attribute_deprecated +void avfilter_insert_inpad(AVFilterContext *f, unsigned index, + AVFilterPad *p); +attribute_deprecated +void avfilter_insert_outpad(AVFilterContext *f, unsigned index, + AVFilterPad *p); +#endif /** * Copy the frame properties of src to dst, without copying the actual diff --git a/libavfilter/internal.h b/libavfilter/internal.h index 4eb65305f9..7f7cf45771 100644 --- a/libavfilter/internal.h +++ b/libavfilter/internal.h @@ -36,4 +36,37 @@ int ff_fmt_is_in(int fmt, const int *fmts); void ff_dlog_link(void *ctx, AVFilterLink *link, int end); +/** + * Insert a new pad. + * + * @param idx Insertion point. Pad is inserted at the end if this point + * is beyond the end of the list of pads. + * @param count Pointer to the number of pads in the list + * @param padidx_off Offset within an AVFilterLink structure to the element + * to increment when inserting a new pad causes link + * numbering to change + * @param pads Pointer to the pointer to the beginning of the list of pads + * @param links Pointer to the pointer to the beginning of the list of links + * @param newpad The new pad to add. A copy is made when adding. + */ +void ff_insert_pad(unsigned idx, unsigned *count, size_t padidx_off, + AVFilterPad **pads, AVFilterLink ***links, + AVFilterPad *newpad); + +/** Insert a new input pad for the filter. */ +static inline void ff_insert_inpad(AVFilterContext *f, unsigned index, + AVFilterPad *p) +{ + ff_insert_pad(index, &f->input_count, offsetof(AVFilterLink, dstpad), + &f->input_pads, &f->inputs, p); +} + +/** Insert a new output pad for the filter. */ +static inline void ff_insert_outpad(AVFilterContext *f, unsigned index, + AVFilterPad *p) +{ + ff_insert_pad(index, &f->output_count, offsetof(AVFilterLink, srcpad), + &f->output_pads, &f->outputs, p); +} + #endif /* AVFILTER_INTERNAL_H */ diff --git a/libavfilter/split.c b/libavfilter/split.c index da33b7d183..9f7890cde6 100644 --- a/libavfilter/split.c +++ b/libavfilter/split.c @@ -25,6 +25,7 @@ #include "avfilter.h" #include "audio.h" +#include "internal.h" #include "video.h" static int split_init(AVFilterContext *ctx, const char *args, void *opaque) @@ -48,7 +49,7 @@ static int split_init(AVFilterContext *ctx, const char *args, void *opaque) pad.type = ctx->filter->inputs[0].type; pad.name = av_strdup(name); - avfilter_insert_outpad(ctx, i, &pad); + ff_insert_outpad(ctx, i, &pad); } return 0;