From b3eedca5e5501f27acaa5e1b0c87804922754e39 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Wed, 12 Jul 2023 13:22:10 +0200 Subject: [PATCH] fftools/ffmpeg_mux_init: return errors from create_streams() instead of aborting --- fftools/ffmpeg_mux_init.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/fftools/ffmpeg_mux_init.c b/fftools/ffmpeg_mux_init.c index 4d40ceda05..dbc58abea8 100644 --- a/fftools/ffmpeg_mux_init.c +++ b/fftools/ffmpeg_mux_init.c @@ -1558,7 +1558,7 @@ static void of_add_attachments(Muxer *mux, const OptionsContext *o) } } -static void create_streams(Muxer *mux, const OptionsContext *o) +static int create_streams(Muxer *mux, const OptionsContext *o) { AVFormatContext *oc = mux->fc; int auto_disable_v = o->video_disable; @@ -1616,8 +1616,10 @@ static void create_streams(Muxer *mux, const OptionsContext *o) if (!oc->nb_streams && !(oc->oformat->flags & AVFMT_NOSTREAMS)) { av_dump_format(oc, nb_output_files - 1, oc->url, 1); av_log(mux, AV_LOG_ERROR, "Output file does not contain any stream\n"); - exit_program(1); + return AVERROR(EINVAL); } + + return 0; } static int setup_sync_queues(Muxer *mux, AVFormatContext *oc, int64_t buf_size_us) @@ -2426,7 +2428,9 @@ int of_open(const OptionsContext *o, const char *filename) } /* create all output streams for this file */ - create_streams(mux, o); + err = create_streams(mux, o); + if (err < 0) + return err; /* check if all codec options have been used */ validate_enc_avopt(mux, o->g->codec_opts);