From 84b9fbe05578c8b4058e72bb0b203665a446a95a Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Tue, 12 Jun 2012 19:57:57 +0200 Subject: [PATCH] lavfi: add avfilter_pad_get_type() and avfilter_pad_get_name(). This will allow making AVFilterPad opaque for the calling apps, since those are the only two fields that can be useful to the users. --- doc/APIchanges | 5 +++++ libavfilter/avfilter.c | 10 ++++++++++ libavfilter/avfilter.h | 22 ++++++++++++++++++++++ libavfilter/version.h | 2 +- 4 files changed, 38 insertions(+), 1 deletion(-) diff --git a/doc/APIchanges b/doc/APIchanges index 729bddc853..e0fec3c692 100644 --- a/doc/APIchanges +++ b/doc/APIchanges @@ -13,6 +13,11 @@ libavutil: 2011-04-18 API changes, most recent first: +2012-xx-xx - xxxxxxx - lavfi 2.22.0 - avfilter.h + Add avfilter_pad_get_type() and avfilter_pad_get_name(). Those + should now be used instead of accessing AVFilterPad members + directly. + 2012-xx-xx - xxxxxxx - lavu 51.32.0 - audioconvert.h Add av_get_channel_layout_channel_index(), av_get_channel_name() and av_channel_layout_extract_channel(). diff --git a/libavfilter/avfilter.c b/libavfilter/avfilter.c index 9b62be33ca..0507b2acbd 100644 --- a/libavfilter/avfilter.c +++ b/libavfilter/avfilter.c @@ -429,6 +429,16 @@ int avfilter_init_filter(AVFilterContext *filter, const char *args, void *opaque return ret; } +const char *avfilter_pad_get_name(AVFilterPad *pads, int pad_idx) +{ + return pads[pad_idx].name; +} + +enum AVMediaType avfilter_pad_get_type(AVFilterPad *pads, int pad_idx) +{ + return pads[pad_idx].type; +} + #if FF_API_DEFAULT_CONFIG_OUTPUT_LINK int avfilter_default_config_output_link(AVFilterLink *link) { diff --git a/libavfilter/avfilter.h b/libavfilter/avfilter.h index 7fbc160cbe..7ee18fbce6 100644 --- a/libavfilter/avfilter.h +++ b/libavfilter/avfilter.h @@ -359,6 +359,28 @@ struct AVFilterPad { int (*config_props)(AVFilterLink *link); }; +/** + * Get the name of an AVFilterPad. + * + * @param pads an array of AVFilterPads + * @param pad_idx index of the pad in the array it; is the caller's + * responsibility to ensure the index is valid + * + * @return name of the pad_idx'th pad in pads + */ +const char *avfilter_pad_get_name(AVFilterPad *pads, int pad_idx); + +/** + * Get the type of an AVFilterPad. + * + * @param pads an array of AVFilterPads + * @param pad_idx index of the pad in the array; it is the caller's + * responsibility to ensure the index is valid + * + * @return type of the pad_idx'th pad in pads + */ +enum AVMediaType avfilter_pad_get_type(AVFilterPad *pads, int pad_idx); + #if FF_API_FILTERS_PUBLIC /** default handler for start_frame() for video inputs */ attribute_deprecated diff --git a/libavfilter/version.h b/libavfilter/version.h index 09cf4c69e5..d8baf0eaa9 100644 --- a/libavfilter/version.h +++ b/libavfilter/version.h @@ -29,7 +29,7 @@ #include "libavutil/avutil.h" #define LIBAVFILTER_VERSION_MAJOR 2 -#define LIBAVFILTER_VERSION_MINOR 21 +#define LIBAVFILTER_VERSION_MINOR 22 #define LIBAVFILTER_VERSION_MICRO 0 #define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \