diff options
author | Stefano Sabatini <stefasab@gmail.com> | 2011-11-16 00:41:55 +0100 |
---|---|---|
committer | Stefano Sabatini <stefasab@gmail.com> | 2011-11-16 18:40:03 +0100 |
commit | 1f0d937f777a2d4d83200a4d26c7752735eee727 (patch) | |
tree | b71a77cb521c29a1245ce931f6a557eb0c70b43c /ffprobe.c | |
parent | 4e7b3ef3b3cf71479dde1d4ae644eaf4857c4813 (diff) | |
download | ffmpeg-1f0d937f777a2d4d83200a4d26c7752735eee727.tar.gz |
ffprobe: add csv writer
Diffstat (limited to 'ffprobe.c')
-rw-r--r-- | ffprobe.c | 24 |
1 files changed, 23 insertions, 1 deletions
@@ -688,6 +688,26 @@ static Writer compact_writer = { .flags = WRITER_FLAG_DISPLAY_OPTIONAL_FIELDS }; +/* CSV output */ + +static av_cold int csv_init(WriterContext *wctx, const char *args, void *opaque) +{ + return compact_init(wctx, "item_sep=,:nokey=1:escape=csv", opaque); +} + +static Writer csv_writer = { + .name = "csv", + .priv_size = sizeof(CompactContext), + .init = csv_init, + .uninit = compact_uninit, + .print_section_header = compact_print_section_header, + .print_section_footer = compact_print_section_footer, + .print_integer = compact_print_int, + .print_string = compact_print_str, + .show_tags = compact_show_tags, + .flags = WRITER_FLAG_DISPLAY_OPTIONAL_FIELDS, +}; + /* JSON output */ typedef struct { @@ -857,6 +877,7 @@ static void writer_register_all(void) writer_register(&default_writer); writer_register(&compact_writer); + writer_register(&csv_writer); writer_register(&json_writer); } @@ -1203,7 +1224,8 @@ static const OptionDef options[] = { "use sexagesimal format HOURS:MM:SS.MICROSECONDS for time units" }, { "pretty", 0, {(void*)&opt_pretty}, "prettify the format of displayed values, make it more human readable" }, - { "print_format", OPT_STRING | HAS_ARG, {(void*)&print_format}, "set the output printing format (available formats are: default, compact, json)", "format" }, + { "print_format", OPT_STRING | HAS_ARG, {(void*)&print_format}, + "set the output printing format (available formats are: default, compact, csv, json)", "format" }, { "show_format", OPT_BOOL, {(void*)&do_show_format} , "show format/container info" }, { "show_packets", OPT_BOOL, {(void*)&do_show_packets}, "show packets info" }, { "show_streams", OPT_BOOL, {(void*)&do_show_streams}, "show streams info" }, |