diff options
author | Anton Khirnov <anton@khirnov.net> | 2023-07-14 18:33:12 +0200 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2023-07-20 20:47:46 +0200 |
commit | a81d9231b91dac75a8fa1cbb72ec17556b5c6d9f (patch) | |
tree | 5c08be7aec3a243c1f3a3f912db0613a2402638a /fftools | |
parent | be49c48282704ada90d2130c8c5193bb97a7cfaa (diff) | |
download | ffmpeg-a81d9231b91dac75a8fa1cbb72ec17556b5c6d9f.tar.gz |
fftools/ffprobe: stop calling exit_program()
Inline the relevant part of ffprobe_cleanup() into main() and drop the
rest.
Diffstat (limited to 'fftools')
-rw-r--r-- | fftools/ffprobe.c | 22 |
1 files changed, 8 insertions, 14 deletions
diff --git a/fftools/ffprobe.c b/fftools/ffprobe.c index e234c92904..a39185f6fe 100644 --- a/fftools/ffprobe.c +++ b/fftools/ffprobe.c @@ -381,17 +381,6 @@ static void log_callback(void *ptr, int level, const char *fmt, va_list vl) #endif } -static void ffprobe_cleanup(int ret) -{ - int i; - for (i = 0; i < FF_ARRAY_ELEMS(sections); i++) - av_dict_free(&(sections[i].entries_to_show)); - -#if HAVE_THREADS - pthread_mutex_destroy(&log_mutex); -#endif -} - struct unit_value { union { double d; long long int i; } val; const char *unit; @@ -4113,7 +4102,6 @@ int main(int argc, char **argv) } #endif av_log_set_flags(AV_LOG_SKIP_REPEATED); - register_exit(ffprobe_cleanup); options = real_options; parse_loglevel(argc, argv, options); @@ -4124,8 +4112,10 @@ int main(int argc, char **argv) show_banner(argc, argv, options); ret = parse_options(NULL, argc, argv, options, opt_input_file); - if (ret < 0) - exit_program(ret == AVERROR_EXIT ? 0 : 1); + if (ret < 0) { + ret = AVERROR_EXIT ? 0 : ret; + goto end; + } if (do_show_log) av_log_set_callback(log_callback); @@ -4249,5 +4239,9 @@ end: avformat_network_deinit(); +#if HAVE_THREADS + pthread_mutex_destroy(&log_mutex); +#endif + return ret < 0; } |