[FFmpeg-devel] [PATCH 44/47] fftools/opt_common: replace report_and_exit() with returning an error code
Anton Khirnov
anton at khirnov.net
Sat Jul 15 13:46:08 EEST 2023
Remove report_and_exit(), as it has no more users.
---
fftools/cmdutils.c | 6 ------
fftools/cmdutils.h | 11 -----------
fftools/opt_common.c | 10 +++++++---
3 files changed, 7 insertions(+), 20 deletions(-)
diff --git a/fftools/cmdutils.c b/fftools/cmdutils.c
index f37b7d44d6..bceb778ff0 100644
--- a/fftools/cmdutils.c
+++ b/fftools/cmdutils.c
@@ -90,12 +90,6 @@ void register_exit(void (*cb)(int ret))
program_exit = cb;
}
-void report_and_exit(int ret)
-{
- av_log(NULL, AV_LOG_FATAL, "%s\n", av_err2str(ret));
- exit_program(AVUNERROR(ret));
-}
-
void exit_program(int ret)
{
if (program_exit)
diff --git a/fftools/cmdutils.h b/fftools/cmdutils.h
index 97e49850c5..cc2180f768 100644
--- a/fftools/cmdutils.h
+++ b/fftools/cmdutils.h
@@ -54,17 +54,6 @@ extern int hide_banner;
*/
void register_exit(void (*cb)(int ret));
-/**
- * Reports an error corresponding to the provided
- * AVERROR code and calls exit_program() with the
- * corresponding POSIX error code.
- * @note ret must be an AVERROR-value of a POSIX error code
- * (i.e. AVERROR(EFOO) and not AVERROR_FOO).
- * library functions can return both, so call this only
- * with AVERROR(EFOO) of your own.
- */
-void report_and_exit(int ret) av_noreturn;
-
/**
* Wraps exit with a program-specific cleanup routine.
*/
diff --git a/fftools/opt_common.c b/fftools/opt_common.c
index 39258bb46c..913932c914 100644
--- a/fftools/opt_common.c
+++ b/fftools/opt_common.c
@@ -632,7 +632,7 @@ static int compare_codec_desc(const void *a, const void *b)
strcmp((*da)->name, (*db)->name);
}
-static unsigned get_codecs_sorted(const AVCodecDescriptor ***rcodecs)
+static int get_codecs_sorted(const AVCodecDescriptor ***rcodecs)
{
const AVCodecDescriptor *desc = NULL;
const AVCodecDescriptor **codecs;
@@ -641,7 +641,7 @@ static unsigned get_codecs_sorted(const AVCodecDescriptor ***rcodecs)
while ((desc = avcodec_descriptor_next(desc)))
nb_codecs++;
if (!(codecs = av_calloc(nb_codecs, sizeof(*codecs))))
- report_and_exit(AVERROR(ENOMEM));
+ return AVERROR(ENOMEM);
desc = NULL;
while ((desc = avcodec_descriptor_next(desc)))
codecs[i++] = desc;
@@ -666,7 +666,11 @@ static char get_media_type_char(enum AVMediaType type)
int show_codecs(void *optctx, const char *opt, const char *arg)
{
const AVCodecDescriptor **codecs;
- unsigned i, nb_codecs = get_codecs_sorted(&codecs);
+ unsigned i;
+ int nb_codecs = get_codecs_sorted(&codecs);
+
+ if (nb_codecs < 0)
+ return nb_codecs;
printf("Codecs:\n"
" D..... = Decoding supported\n"
--
2.40.1
More information about the ffmpeg-devel
mailing list