ffmpeg: explicitly write headers for files with no streams
authorHendrik Leppkes <h.leppkes@gmail.com>
Fri, 7 Oct 2016 13:44:39 +0000 (15:44 +0200)
committerHendrik Leppkes <h.leppkes@gmail.com>
Fri, 7 Oct 2016 14:02:14 +0000 (16:02 +0200)
Recent changes to ffmpeg.c tied output file init to stream init, which broke
stream-less files, specifically ffmetadata output.

ffmpeg.c

index 454e193..49d91be 100644 (file)
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -3460,6 +3460,16 @@ static int transcode_init(void)
         }
     }
 
+    /* write headers for files with no streams */
+    for (i = 0; i < nb_output_files; i++) {
+        oc = output_files[i]->ctx;
+        if (oc->oformat->flags & AVFMT_NOSTREAMS && oc->nb_streams == 0) {
+            ret = check_init_output_file(output_files[i], i);
+            if (ret < 0)
+                goto dump_format;
+        }
+    }
+
  dump_format:
     /* dump the stream mapping */
     av_log(NULL, AV_LOG_INFO, "Stream mapping:\n");