[FFmpeg-cvslog] ffmpeg: init input streams before opening encoders

Marton Balint git at videolan.org
Fri Feb 19 23:09:42 CET 2016


ffmpeg | branch: master | Marton Balint <cus at passwd.hu> | Wed Feb 17 20:17:00 2016 +0100| [308ac2f7e2048e09a4f98b5c6ca4562fc7010d18] | committer: Marton Balint

ffmpeg: init input streams before opening encoders

Codec options of streams detected during avformat_find_stream_info are not set
therefore without this patch we initialize the encoders with decoder info
based on decoders without options.

This cause problems for probed DVB teletext streams where
avctx->subtitle_header depend on the txt_format setting.

Reviewed-by: Michael Niedermayer <michael at niedermayer.cc>
Signed-off-by: Marton Balint <cus at passwd.hu>

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

 ffmpeg.c |   14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/ffmpeg.c b/ffmpeg.c
index c20f75a..32f7bd2 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -3198,13 +3198,6 @@ static int transcode_init(void)
         }
     }
 
-    /* open each encoder */
-    for (i = 0; i < nb_output_streams; i++) {
-        ret = init_output_stream(output_streams[i], error, sizeof(error));
-        if (ret < 0)
-            goto dump_format;
-    }
-
     /* init input streams */
     for (i = 0; i < nb_input_streams; i++)
         if ((ret = init_input_stream(i, error, sizeof(error))) < 0) {
@@ -3215,6 +3208,13 @@ static int transcode_init(void)
             goto dump_format;
         }
 
+    /* open each encoder */
+    for (i = 0; i < nb_output_streams; i++) {
+        ret = init_output_stream(output_streams[i], error, sizeof(error));
+        if (ret < 0)
+            goto dump_format;
+    }
+
     /* discard unused programs */
     for (i = 0; i < nb_input_files; i++) {
         InputFile *ifile = input_files[i];



More information about the ffmpeg-cvslog mailing list