From b62b5cb6fd5f97b7c1cd9b84f183d458e97622a9 Mon Sep 17 00:00:00 2001
From: Anton Khirnov <anton@khirnov.net>
Date: Fri, 19 Aug 2011 17:52:46 +0200
Subject: [PATCH] avconv: call flush_encoders() from transcode() directly.

And remove now pointless parameter.

Signed-off-by: Alex Converse <alex.converse@gmail.com>
---
 avconv.c | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/avconv.c b/avconv.c
index c8ffd641567..11d77419eb9 100644
--- a/avconv.c
+++ b/avconv.c
@@ -1397,7 +1397,7 @@ static void generate_silence(uint8_t* buf, enum AVSampleFormat sample_fmt, size_
     memset(buf, fill_char, size);
 }
 
-static void flush_encoders(int ist_index, OutputStream *ost_table, int nb_ostreams)
+static void flush_encoders(OutputStream *ost_table, int nb_ostreams)
 {
     int i, ret;
 
@@ -1406,7 +1406,7 @@ static void flush_encoders(int ist_index, OutputStream *ost_table, int nb_ostrea
         AVCodecContext *enc = ost->st->codec;
         AVFormatContext *os = output_files[ost->file_index].ctx;
 
-        if (ost->source_index != ist_index || !ost->encoding_needed)
+        if (!ost->encoding_needed)
             continue;
 
         if (ost->st->codec->codec_type == AVMEDIA_TYPE_AUDIO && enc->frame_size <=1)
@@ -1797,10 +1797,6 @@ static int output_packet(InputStream *ist, int ist_index,
         }
     }
  discard_packet:
-    if (pkt == NULL) {
-        /* EOF handling */
-        flush_encoders(ist_index, ost_table, nb_ostreams);
-    }
 
     return 0;
 }
@@ -2371,6 +2367,7 @@ static int transcode(OutputFile *output_files,
             output_packet(ist, i, output_streams, nb_output_streams, NULL);
         }
     }
+    flush_encoders(output_streams, nb_output_streams);
 
     term_exit();
 
-- 
GitLab