[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