aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefano Sabatini <stefasab@gmail.com>2012-01-08 01:44:02 +0100
committerStefano Sabatini <stefasab@gmail.com>2012-01-09 13:41:35 +0100
commit3b1355bb93ad55f219e20feb31d418ef782cfb83 (patch)
tree3832250880e7951ac44660a36fa578c053937d0a
parent48f37b1d21584e71855612f71afd0acc3261b5a9 (diff)
downloadffmpeg-3b1355bb93ad55f219e20feb31d418ef782cfb83.tar.gz
ffprobe: change formatting logic in the JSON writer
Print a "\n" at the end of each section, also print the section name in the section print function, print the chapter name only in case the chapter contains multiple entries. Increase textual output readability - different sections can be distinguished more easily.
-rw-r--r--ffprobe.c21
1 files changed, 14 insertions, 7 deletions
diff --git a/ffprobe.c b/ffprobe.c
index 7be505ad8d..bdc3814a55 100644
--- a/ffprobe.c
+++ b/ffprobe.c
@@ -798,15 +798,16 @@ static void json_print_chapter_header(WriterContext *wctx, const char *chapter)
if (wctx->nb_chapter)
printf(",");
+ printf("\n");
json->multiple_entries = !strcmp(chapter, "packets") || !strcmp(chapter, "frames" ) ||
!strcmp(chapter, "packets_and_frames") ||
!strcmp(chapter, "streams");
- printf("\n"); JSON_INDENT();
- printf("\"%s\":%s", json_escape_str(&json->buf, &json->buf_size, chapter, wctx),
- json->multiple_entries ? " [" : " ");
- json->print_packets_and_frames = !strcmp(chapter, "packets_and_frames");
- if (json->multiple_entries)
+ if (json->multiple_entries) {
+ JSON_INDENT();
+ printf("\"%s\": [\n", json_escape_str(&json->buf, &json->buf_size, chapter, wctx));
+ json->print_packets_and_frames = !strcmp(chapter, "packets_and_frames");
json->indent_level++;
+ }
}
static void json_print_chapter_footer(WriterContext *wctx, const char *chapter)
@@ -814,8 +815,10 @@ static void json_print_chapter_footer(WriterContext *wctx, const char *chapter)
JSONContext *json = wctx->priv;
if (json->multiple_entries) {
- printf("]");
+ printf("\n");
json->indent_level--;
+ JSON_INDENT();
+ printf("]");
}
}
@@ -823,7 +826,11 @@ static void json_print_section_header(WriterContext *wctx, const char *section)
{
JSONContext *json = wctx->priv;
- if (wctx->nb_section) printf(",");
+ if (wctx->nb_section)
+ printf(",\n");
+ JSON_INDENT();
+ if (!json->multiple_entries)
+ printf("\"%s\": ", section);
printf("{\n");
json->indent_level++;
/* this is required so the parser can distinguish between packets and frames */