|
|
|
@ -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" }, |
|
|
|
|