[FFmpeg-cvslog] avconv: switch opening decoders and encoders

Anton Khirnov git at videolan.org
Sun Apr 10 22:30:44 CEST 2016


ffmpeg | branch: master | Anton Khirnov <anton at khirnov.net> | Mon Jan 18 20:00:23 2016 +0100| [5b9cdf8cba114c41239bf0f9f5e0ccb6977d1c8d] | committer: Anton Khirnov

avconv: switch opening decoders and encoders

Open decoders first, next encoders. This makes sure that that
subtitle_header is always set properly, without relying on
avformat_find_stream_info() setting it.

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

 avconv.c |    9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/avconv.c b/avconv.c
index a84a345..a058b1d 100644
--- a/avconv.c
+++ b/avconv.c
@@ -1943,6 +1943,11 @@ static int transcode_init(void)
         }
     }
 
+    /* init input streams */
+    for (i = 0; i < nb_input_streams; i++)
+        if ((ret = init_input_stream(i, error, sizeof(error))) < 0)
+            goto dump_format;
+
     /* open each encoder */
     for (i = 0; i < nb_output_streams; i++) {
         ret = init_output_stream(output_streams[i], error, sizeof(error));
@@ -1950,10 +1955,6 @@ static int transcode_init(void)
             goto dump_format;
     }
 
-    /* init input streams */
-    for (i = 0; i < nb_input_streams; i++)
-        if ((ret = init_input_stream(i, error, sizeof(error))) < 0)
-            goto dump_format;
 
     /* discard unused programs */
     for (i = 0; i < nb_input_files; i++) {



More information about the ffmpeg-cvslog mailing list