[FFmpeg-cvslog] cmdutils: allow specifying the file for -report

Michael Niedermayer git at videolan.org
Thu Nov 1 03:03:25 CET 2012


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Thu Nov  1 02:35:22 2012 +0100| [841bf0ef240f0d862b1f07076e079829456fb117] | committer: Michael Niedermayer

cmdutils: allow specifying the file for -report

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

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

 cmdutils.c             |   11 +++++++++++
 cmdutils.h             |    2 ++
 cmdutils_common_opts.h |    1 +
 3 files changed, 14 insertions(+)

diff --git a/cmdutils.c b/cmdutils.c
index f696700..248462f 100644
--- a/cmdutils.c
+++ b/cmdutils.c
@@ -528,6 +528,17 @@ int opt_loglevel(void *optctx, const char *opt, const char *arg)
     return 0;
 }
 
+int opt_report_file(void *optctx, const char *opt, const char *arg)
+{
+    report_file = fopen(arg, "w");
+    if (!report_file) {
+        av_log(NULL, AV_LOG_ERROR, "Failed to open report \"%s\": %s\n",
+               arg, strerror(errno));
+        return AVERROR(errno);
+    }
+    return 0;
+}
+
 int opt_report(const char *opt)
 {
     char filename[64];
diff --git a/cmdutils.h b/cmdutils.h
index 3885d94..4624f19 100644
--- a/cmdutils.h
+++ b/cmdutils.h
@@ -84,6 +84,8 @@ int opt_loglevel(void *optctx, const char *opt, const char *arg);
 
 int opt_report(const char *opt);
 
+int opt_report_file(void *optctx, const char *opt, const char *arg);
+
 int opt_max_alloc(void *optctx, const char *opt, const char *arg);
 
 int opt_cpuflags(void *optctx, const char *opt, const char *arg);
diff --git a/cmdutils_common_opts.h b/cmdutils_common_opts.h
index bfd71fe..2e1cf7d 100644
--- a/cmdutils_common_opts.h
+++ b/cmdutils_common_opts.h
@@ -19,5 +19,6 @@
     { "debug"      , HAS_ARG,  {.func_arg = opt_codec_debug},   "set debug flags", "flags" },
     { "fdebug"     , HAS_ARG,  {.func_arg = opt_codec_debug},   "set debug flags", "flags" },
     { "report"     , 0,        {(void*)opt_report}, "generate a report" },
+    { "report_file", HAS_ARG,  {.func_arg = opt_report_file},   "filename for storing the report" },
     { "max_alloc"  , HAS_ARG,  {.func_arg = opt_max_alloc},     "set maximum size of a single allocated block", "bytes" },
     { "cpuflags"   , HAS_ARG | OPT_EXPERT, {.func_arg = opt_cpuflags}, "force specific cpu flags", "flags" },



More information about the ffmpeg-cvslog mailing list