[FFmpeg-cvslog] avconv: call flush_encoders() from transcode() directly.

Anton Khirnov git at videolan.org
Sat Aug 20 15:57:12 CEST 2011


ffmpeg | branch: master | Anton Khirnov <anton at khirnov.net> | Fri Aug 19 17:52:46 2011 +0200| [b62b5cb6fd5f97b7c1cd9b84f183d458e97622a9] | committer: Alex Converse

avconv: call flush_encoders() from transcode() directly.

And remove now pointless parameter.

Signed-off-by: Alex Converse <alex.converse at gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b62b5cb6fd5f97b7c1cd9b84f183d458e97622a9
---

 avconv.c |    9 +++------
 1 files changed, 3 insertions(+), 6 deletions(-)

diff --git a/avconv.c b/avconv.c
index c8ffd64..11d7741 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();
 



More information about the ffmpeg-cvslog mailing list