[FFmpeg-devel] [PATCH] ffprobe: add multiple_sections field to the Writer

Clément Bœsch ubitux at gmail.com
Sun May 27 10:00:57 CEST 2012


On Sun, May 27, 2012 at 01:32:20AM +0200, Stefano Sabatini wrote:
> Move the field from the JSON writer private context. This allows to
> factorize the code with the pending INI format patch.
> ---
>  ffprobe.c |   10 +++++-----
>  1 files changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/ffprobe.c b/ffprobe.c
> index 5fb4c47..774350d 100644
> --- a/ffprobe.c
> +++ b/ffprobe.c
> @@ -179,6 +179,7 @@ struct WriterContext {
>      unsigned int nb_section;        ///< number of the section printed in the given section sequence, starting at 0
>      unsigned int nb_chapter;        ///< number of the chapter, starting at 0
>  
> +    int multiple_sections;          ///< tells if the current chapter can contain multiple sections
>      int is_fmt_chapter;             ///< tells if the current chapter is "format", required by the print_format_entry option
>  };
>  
> @@ -255,6 +256,9 @@ static inline void writer_print_chapter_header(WriterContext *wctx,
>          wctx->writer->print_chapter_header(wctx, chapter);
>      wctx->nb_section = 0;
>  
> +    wctx->multiple_sections = !strcmp(chapter, "packets") || !strcmp(chapter, "frames" ) ||
> +                              !strcmp(chapter, "packets_and_frames") ||
> +                              !strcmp(chapter, "streams") || !strcmp(chapter, "library_versions");
>      wctx->is_fmt_chapter = !strcmp(chapter, "format");
>  }
>  
> @@ -715,7 +719,6 @@ static const Writer csv_writer = {
>  
>  typedef struct {
>      const AVClass *class;
> -    int multiple_entries; ///< tells if the given chapter requires multiple entries
>      int print_packets_and_frames;
>      int indent_level;
>      int compact;
> @@ -806,10 +809,7 @@ 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") || !strcmp(chapter, "library_versions");
> -    if (json->multiple_entries) {
> +    if (wctx->multiple_sections) {
>          JSON_INDENT();
>          av_bprint_init(&buf, 1, AV_BPRINT_SIZE_UNLIMITED);
>          printf("\"%s\": [\n", json_escape_str(&buf, chapter, wctx));


I see more occurrences of the multiple_entries you removed in the JSON.

I don't mind much the rename from multiple_entries to multiple_sections
(should be more consistent), but it could be mentioned.

-- 
Clément B.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 490 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20120527/b6f80bbb/attachment.asc>


More information about the ffmpeg-devel mailing list