mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
ffprobe: only show tags when explicitly requested
This commit is contained in:
parent
2cfe70ff3e
commit
66a703ea01
27
ffprobe.c
27
ffprobe.c
@ -66,6 +66,12 @@ static int do_show_data = 0;
|
||||
static int do_show_program_version = 0;
|
||||
static int do_show_library_versions = 0;
|
||||
|
||||
static int do_show_chapter_tags = 0;
|
||||
static int do_show_format_tags = 0;
|
||||
static int do_show_frame_tags = 0;
|
||||
static int do_show_program_tags = 0;
|
||||
static int do_show_stream_tags = 0;
|
||||
|
||||
static int show_value_unit = 0;
|
||||
static int use_value_prefix = 0;
|
||||
static int use_byte_value_binary_prefix = 0;
|
||||
@ -1764,7 +1770,8 @@ static void show_frame(WriterContext *w, AVFrame *frame, AVStream *stream,
|
||||
print_str_opt("channel_layout", "unknown");
|
||||
break;
|
||||
}
|
||||
show_tags(w, av_frame_get_metadata(frame), SECTION_ID_FRAME_TAGS);
|
||||
if (do_show_frame_tags)
|
||||
show_tags(w, av_frame_get_metadata(frame), SECTION_ID_FRAME_TAGS);
|
||||
|
||||
writer_print_section_footer(w);
|
||||
|
||||
@ -2116,7 +2123,8 @@ static int show_stream(WriterContext *w, AVFormatContext *fmt_ctx, int stream_id
|
||||
writer_print_section_footer(w);
|
||||
}
|
||||
|
||||
ret = show_tags(w, stream->metadata, in_program ? SECTION_ID_PROGRAM_STREAM_TAGS : SECTION_ID_STREAM_TAGS);
|
||||
if (do_show_stream_tags)
|
||||
ret = show_tags(w, stream->metadata, in_program ? SECTION_ID_PROGRAM_STREAM_TAGS : SECTION_ID_STREAM_TAGS);
|
||||
|
||||
writer_print_section_footer(w);
|
||||
av_bprint_finalize(&pbuf, NULL);
|
||||
@ -2155,7 +2163,8 @@ static int show_program(WriterContext *w, AVFormatContext *fmt_ctx, AVProgram *p
|
||||
print_time("start_time", program->start_time, &AV_TIME_BASE_Q);
|
||||
print_ts("end_pts", program->end_time);
|
||||
print_time("end_time", program->end_time, &AV_TIME_BASE_Q);
|
||||
ret = show_tags(w, program->metadata, SECTION_ID_PROGRAM_TAGS);
|
||||
if (do_show_program_tags)
|
||||
ret = show_tags(w, program->metadata, SECTION_ID_PROGRAM_TAGS);
|
||||
if (ret < 0)
|
||||
goto end;
|
||||
|
||||
@ -2206,7 +2215,8 @@ static int show_chapters(WriterContext *w, AVFormatContext *fmt_ctx)
|
||||
print_time("start_time", chapter->start, &chapter->time_base);
|
||||
print_int("end", chapter->end);
|
||||
print_time("end_time", chapter->end, &chapter->time_base);
|
||||
ret = show_tags(w, chapter->metadata, SECTION_ID_CHAPTER_TAGS);
|
||||
if (do_show_chapter_tags)
|
||||
ret = show_tags(w, chapter->metadata, SECTION_ID_CHAPTER_TAGS);
|
||||
writer_print_section_footer(w);
|
||||
}
|
||||
writer_print_section_footer(w);
|
||||
@ -2236,7 +2246,8 @@ static int show_format(WriterContext *w, AVFormatContext *fmt_ctx)
|
||||
if (fmt_ctx->bit_rate > 0) print_val ("bit_rate", fmt_ctx->bit_rate, unit_bit_per_second_str);
|
||||
else print_str_opt("bit_rate", "N/A");
|
||||
print_int("probe_score", av_format_get_probe_score(fmt_ctx));
|
||||
ret = show_tags(w, fmt_ctx->metadata, SECTION_ID_FORMAT_TAGS);
|
||||
if (do_show_format_tags)
|
||||
ret = show_tags(w, fmt_ctx->metadata, SECTION_ID_FORMAT_TAGS);
|
||||
|
||||
writer_print_section_footer(w);
|
||||
fflush(stdout);
|
||||
@ -2895,6 +2906,12 @@ int main(int argc, char **argv)
|
||||
SET_DO_SHOW(STREAM_DISPOSITION, stream_disposition);
|
||||
SET_DO_SHOW(PROGRAM_STREAM_DISPOSITION, stream_disposition);
|
||||
|
||||
SET_DO_SHOW(CHAPTER_TAGS, chapter_tags);
|
||||
SET_DO_SHOW(FORMAT_TAGS, format_tags);
|
||||
SET_DO_SHOW(FRAME_TAGS, frame_tags);
|
||||
SET_DO_SHOW(PROGRAM_TAGS, program_tags);
|
||||
SET_DO_SHOW(STREAM_TAGS, stream_tags);
|
||||
|
||||
if (do_bitexact && (do_show_program_version || do_show_library_versions)) {
|
||||
av_log(NULL, AV_LOG_ERROR,
|
||||
"-bitexact and -show_program_version or -show_library_versions "
|
||||
|
Loading…
Reference in New Issue
Block a user