This will be useful in the following commits.
---
 avconv.c     |  4 ----
 avconv_opt.c | 11 +++++++++++
 2 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/avconv.c b/avconv.c
index a44267c..0394a86 100644
--- a/avconv.c
+++ b/avconv.c
@@ -1774,10 +1774,6 @@ static int transcode_init(void)
                 goto dump_format;
             }
 
-            if (ist)
-                ist->decoding_needed = 1;
-            ost->encoding_needed = 1;
-
             set_encoder_id(output_files[ost->file_index], ost);
 
             /*
diff --git a/avconv_opt.c b/avconv_opt.c
index 74307bf..7adf051 100644
--- a/avconv_opt.c
+++ b/avconv_opt.c
@@ -1621,6 +1621,17 @@ loop_end:
     }
     av_dict_free(&unused_opts);
 
+    /* set the encoding/decoding_needed flags */
+    for (i = of->ost_index; i < nb_output_streams; i++) {
+        OutputStream *ost = output_streams[i];
+
+        ost->encoding_needed = !ost->stream_copy;
+        if (ost->encoding_needed && ost->source_index >= 0) {
+            InputStream *ist = input_streams[ost->source_index];
+            ist->decoding_needed = 1;
+        }
+    }
+
     /* check filename in case of an image number is expected */
     if (oc->oformat->flags & AVFMT_NEEDNUMBER) {
         if (!av_filename_number_test(oc->filename)) {
-- 
2.0.0

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to