summaryrefslogtreecommitdiff
path: root/libavfilter/avfiltergraph.c
diff options
context:
space:
mode:
Diffstat (limited to 'libavfilter/avfiltergraph.c')
-rw-r--r--libavfilter/avfiltergraph.c16
1 files changed, 6 insertions, 10 deletions
diff --git a/libavfilter/avfiltergraph.c b/libavfilter/avfiltergraph.c
index 4449bfe545..45b7a7fcad 100644
--- a/libavfilter/avfiltergraph.c
+++ b/libavfilter/avfiltergraph.c
@@ -68,20 +68,16 @@ static int query_formats(AVFilterGraph *graph)
AVFilterContext *filter = graph->filters[i];
for(j = 0; j < filter->input_count; j ++) {
- AVFilterLink *link;
- if(!(link = filter->inputs[j]))
- continue;
- if(link->in_formats != link->out_formats) {
+ AVFilterLink *link = filter->inputs[j];
+ if(link && link->in_formats != link->out_formats) {
if(!avfilter_merge_formats(link->in_formats,
link->out_formats)) {
/* couldn't merge format lists. auto-insert scale filter */
- AVFilterContext *scale;
+ AVFilterContext *scale =
+ avfilter_open(avfilter_get_by_name("scale"), NULL);
- if(!(scale =
- avfilter_open(avfilter_get_by_name("scale"), NULL)))
- return -1;
- if(scale->filter->init(scale, NULL, NULL) ||
- avfilter_insert_filter(link, scale, 0, 0)) {
+ if(!scale || scale->filter->init(scale, NULL, NULL) ||
+ avfilter_insert_filter(link, scale, 0, 0)) {
avfilter_destroy(scale);
return -1;
}