@ -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 */