mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-02-27 01:01:07 +00:00
Implement avfilter_graph_check_validity().
Originally committed as revision 16809 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
e1b6bdbb83
commit
822005ed45
@ -23,7 +23,7 @@
|
|||||||
#define AVFILTER_AVFILTER_H
|
#define AVFILTER_AVFILTER_H
|
||||||
|
|
||||||
#define LIBAVFILTER_VERSION_MAJOR 0
|
#define LIBAVFILTER_VERSION_MAJOR 0
|
||||||
#define LIBAVFILTER_VERSION_MINOR 2
|
#define LIBAVFILTER_VERSION_MINOR 3
|
||||||
#define LIBAVFILTER_VERSION_MICRO 0
|
#define LIBAVFILTER_VERSION_MICRO 0
|
||||||
|
|
||||||
#define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \
|
#define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \
|
||||||
|
@ -46,6 +46,36 @@ int avfilter_graph_add_filter(AVFilterGraph *graph, AVFilterContext *filter)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int avfilter_graph_check_validity(AVFilterGraph *graph, AVClass *log_ctx)
|
||||||
|
{
|
||||||
|
AVFilterContext *filt;
|
||||||
|
int i, j;
|
||||||
|
|
||||||
|
for (i=0; i < graph->filter_count; i++) {
|
||||||
|
filt = graph->filters[i];
|
||||||
|
|
||||||
|
for (j = 0; j < filt->input_count; j++) {
|
||||||
|
if (!filt->inputs[j] || !filt->inputs[j]->src) {
|
||||||
|
av_log(log_ctx, AV_LOG_ERROR,
|
||||||
|
"Input pad \"%s\" for the filter \"%s\" of type \"%s\" not connected to any source\n",
|
||||||
|
filt->input_pads[j].name, filt->name, filt->filter->name);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (j = 0; j < filt->output_count; j++) {
|
||||||
|
if (!filt->outputs[j] || !filt->outputs[j]->dst) {
|
||||||
|
av_log(log_ctx, AV_LOG_ERROR,
|
||||||
|
"Output pad \"%s\" for the filter \"%s\" of type \"%s\" not connected to any destination\n",
|
||||||
|
filt->output_pads[j].name, filt->name, filt->filter->name);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
AVFilterContext *avfilter_graph_get_filter(AVFilterGraph *graph, char *name)
|
AVFilterContext *avfilter_graph_get_filter(AVFilterGraph *graph, char *name)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
@ -44,6 +44,16 @@ AVFilterContext *avfilter_graph_get_filter(AVFilterGraph *graph, char *name);
|
|||||||
*/
|
*/
|
||||||
int avfilter_graph_add_filter(AVFilterGraph *graphctx, AVFilterContext *filter);
|
int avfilter_graph_add_filter(AVFilterGraph *graphctx, AVFilterContext *filter);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check for the validity of \p graph.
|
||||||
|
*
|
||||||
|
* A graph is considered valid if all its input and output pads are
|
||||||
|
* connected.
|
||||||
|
*
|
||||||
|
* @return 0 in case of success, a negative value otherwise
|
||||||
|
*/
|
||||||
|
int avfilter_graph_check_validity(AVFilterGraph *graphctx, AVClass *log_ctx);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Configure the formats of all the links in the graph.
|
* Configure the formats of all the links in the graph.
|
||||||
*/
|
*/
|
||||||
|
Loading…
Reference in New Issue
Block a user