diff --git a/libavfilter/graphparser.c b/libavfilter/graphparser.c index bc05b21f5a..e25df592ef 100644 --- a/libavfilter/graphparser.c +++ b/libavfilter/graphparser.c @@ -27,41 +27,6 @@ #include "avfilter.h" #include "avfiltergraph.h" -static AVFilterContext *create_filter(AVFilterGraph *ctx, int index, - const char *name, const char *args, - AVClass *log_ctx) -{ - AVFilterContext *filt; - - AVFilter *filterdef; - char inst_name[30]; - - snprintf(inst_name, sizeof(inst_name), "Parsed filter %d", index); - - if(!(filterdef = avfilter_get_by_name(name))) { - av_log(log_ctx, AV_LOG_ERROR, - "no such filter: '%s'\n", name); - return NULL; - } - - if(!(filt = avfilter_open(filterdef, inst_name))) { - av_log(log_ctx, AV_LOG_ERROR, - "error creating filter '%s'\n", name); - return NULL; - } - - if(avfilter_graph_add_filter(ctx, filt) < 0) - return NULL; - - if(avfilter_init_filter(filt, args, NULL)) { - av_log(log_ctx, AV_LOG_ERROR, - "error initializing filter '%s' with args '%s'\n", name, args); - return NULL; - } - - return filt; -} - static int link_filter(AVFilterContext *src, int srcpad, AVFilterContext *dst, int dstpad, AVClass *log_ctx) @@ -150,6 +115,41 @@ static void parse_link_name(const char **buf, char **name, AVClass *log_ctx) } } +static AVFilterContext *create_filter(AVFilterGraph *ctx, int index, + const char *name, const char *args, + AVClass *log_ctx) +{ + AVFilterContext *filt; + + AVFilter *filterdef; + char inst_name[30]; + + snprintf(inst_name, sizeof(inst_name), "Parsed filter %d", index); + + if(!(filterdef = avfilter_get_by_name(name))) { + av_log(log_ctx, AV_LOG_ERROR, + "no such filter: '%s'\n", name); + return NULL; + } + + if(!(filt = avfilter_open(filterdef, inst_name))) { + av_log(log_ctx, AV_LOG_ERROR, + "error creating filter '%s'\n", name); + return NULL; + } + + if(avfilter_graph_add_filter(ctx, filt) < 0) + return NULL; + + if(avfilter_init_filter(filt, args, NULL)) { + av_log(log_ctx, AV_LOG_ERROR, + "error initializing filter '%s' with args '%s'\n", name, args); + return NULL; + } + + return filt; +} + static void free_inout(AVFilterInOut *head) { while(head) { diff --git a/libavfilter/graphparser.h b/libavfilter/graphparser.h index 410179e423..d42c8d00d1 100644 --- a/libavfilter/graphparser.h +++ b/libavfilter/graphparser.h @@ -46,9 +46,7 @@ typedef struct AVFilterInOut { * Add to a graph a graph described by a string. * @param graph the filter graph where to link the parsed graph context * @param filters string to be parsed - * @param in input to the graph to be parsed (TODO: allow several) - * @param inpad pad index of the input - * @param out output to the graph to be parsed (TODO: allow several) + * @param inouts linked list to the inputs and outputs of the graph * @param outpad pad index of the output * @return zero on success, -1 on error */