avconv: Display the error returned by avformat_write_header
authorMartin Storsjö <martin@martin.st>
Fri, 25 May 2012 21:55:56 +0000 (00:55 +0300)
committerMartin Storsjö <martin@martin.st>
Sat, 26 May 2012 10:35:44 +0000 (13:35 +0300)
Signed-off-by: Martin Storsjö <martin@martin.st>
avconv.c

index 5506869..5861f1b 100644 (file)
--- a/avconv.c
+++ b/avconv.c
@@ -2863,8 +2863,12 @@ static int transcode_init(void)
     for (i = 0; i < nb_output_files; i++) {
         oc = output_files[i]->ctx;
         oc->interrupt_callback = int_cb;
-        if (avformat_write_header(oc, &output_files[i]->opts) < 0) {
-            snprintf(error, sizeof(error), "Could not write header for output file #%d (incorrect codec parameters ?)", i);
+        if ((ret = avformat_write_header(oc, &output_files[i]->opts)) < 0) {
+            char errbuf[128];
+            const char *errbuf_ptr = errbuf;
+            if (av_strerror(ret, errbuf, sizeof(errbuf)) < 0)
+                errbuf_ptr = strerror(AVUNERROR(ret));
+            snprintf(error, sizeof(error), "Could not write header for output file #%d (incorrect codec parameters ?): %s", i, errbuf_ptr);
             ret = AVERROR(EINVAL);
             goto dump_format;
         }