Remove usage of AVFilterGraphDesc outside avfiltergraph.c

Commited in SoC by Vitor Sessak on 2008-03-26 20:51:24

Originally committed as revision 12738 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Vitor Sessak 2008-04-04 20:09:02 +00:00
parent 58f472d10f
commit 87506daafd
2 changed files with 24 additions and 11 deletions

View File

@ -554,16 +554,25 @@ static AVFilterGraphDesc *parse_chain(const char *filters, int has_in)
/**
* Parse a string describing a filter graph.
*/
AVFilterGraphDesc *avfilter_graph_parse_chain(const char *filters)
int avfilter_graph_parse_chain(AVFilterGraph *graph, const char *filters, AVFilterContext *in, int inpad, AVFilterContext *out, int outpad)
{
AVFilterGraphDesc *ret;
AVFilterGraphDesc *desc;
/* Try first to parse supposing there is no (in) element */
if ((ret = parse_chain(filters, 0)))
return ret;
if (!(desc = parse_chain(filters, 0))) {
/* If it didn't work, parse supposing there is an (in) element */
desc = parse_chain(filters, 1);
}
if (!desc)
return -1;
/* Parse supposing there is an (in) element */
return parse_chain(filters, 1);
if (graph_load_from_desc3(graph, desc, in, inpad, out, outpad) < 0) {
avfilter_graph_free_desc(desc);
return -1;
}
avfilter_graph_free_desc(desc);
return 0;
}
/**

View File

@ -72,12 +72,16 @@ typedef struct AVFilterGraph {
} AVFilterGraph;
/**
* Parse a graph composed of a simple chain of filters which is described by
* a single string.
* @param filters String listing filters and their arguments.
* @return The parsed graph description.
* 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 in output to the graph to be parsed (TODO: allow several)
* @param inpad pad index of the output
* @return zero on success, -1 on error
*/
AVFilterGraphDesc *avfilter_graph_parse_chain(const char *filters);
int avfilter_graph_parse_chain(AVFilterGraph *graph, const char *filters, AVFilterContext *in, int inpad, AVFilterContext *out, int outpad);
/**
* Free a filter graph description.