Browse Source

Make query_formats() print an error message if an auto-inserted scale
filter cannot convert between input and output formats.

Originally committed as revision 21176 to svn://svn.ffmpeg.org/ffmpeg/trunk

Stefano Sabatini 15 years ago
parent
commit
f37c934d20
1 changed files with 8 additions and 4 deletions
  1. 8 4
      libavfilter/avfiltergraph.c

+ 8 - 4
libavfilter/avfiltergraph.c

@@ -147,11 +147,15 @@ static int query_formats(AVFilterGraph *graph, AVClass *log_ctx)
                         return -1;
 
                     scale->filter->query_formats(scale);
-                    if(!avfilter_merge_formats(scale-> inputs[0]->in_formats,
-                                               scale-> inputs[0]->out_formats)||
-                       !avfilter_merge_formats(scale->outputs[0]->in_formats,
-                                               scale->outputs[0]->out_formats))
+                    if (((link = scale-> inputs[0]) &&
+                         !avfilter_merge_formats(link->in_formats, link->out_formats)) ||
+                        ((link = scale->outputs[0]) &&
+                         !avfilter_merge_formats(link->in_formats, link->out_formats))) {
+                        av_log(log_ctx, AV_LOG_ERROR,
+                               "Impossible to convert between the formats supported by the filter "
+                               "'%s' and the filter '%s'\n", link->src->name, link->dst->name);
                         return -1;
+                    }
                 }
             }
         }