ffmpeg: set the source_index for trivial filter graphs
authorMichael Niedermayer <michaelni@gmx.at>
Thu, 10 Oct 2013 22:33:25 +0000 (00:33 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Thu, 10 Oct 2013 22:51:09 +0000 (00:51 +0200)
Fixes one testcase in Ticket2969

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
ffmpeg.c

index d7bcb78cc0f7b0c5b4422fc3ffbb152e25935e50..86b716224141cdcd3e9fdaa05005bcdaf4576a72 100644 (file)
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -2104,6 +2104,21 @@ static int transcode_init(void)
     char error[1024];
     int want_sdp = 1;
 
+    for (i = 0; i < nb_filtergraphs; i++) {
+        FilterGraph *fg = filtergraphs[i];
+        for (j = 0; j < fg->nb_outputs; j++) {
+            OutputFilter *ofilter = fg->outputs[j];
+            if (ofilter->ost->source_index >= 0)
+                continue;
+            if (fg->nb_inputs != 1)
+                continue;
+            for (k = nb_input_streams-1; k >= 0 ; k--)
+                if (fg->inputs[0]->ist == input_streams[k])
+                    break;
+            ofilter->ost->source_index = k;
+        }
+    }
+
     /* init framerate emulation */
     for (i = 0; i < nb_input_files; i++) {
         InputFile *ifile = input_files[i];