aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2023-07-12 13:22:10 +0200
committerAnton Khirnov <anton@khirnov.net>2023-07-15 11:02:11 +0200
commitb3eedca5e5501f27acaa5e1b0c87804922754e39 (patch)
tree19fba4b0ca2d74c3eeeaa03f2eafd7e3e05b0903
parentc23cff5a8a963fbf8763816f52a19c00cae01de6 (diff)
downloadffmpeg-b3eedca5e5501f27acaa5e1b0c87804922754e39.tar.gz
fftools/ffmpeg_mux_init: return errors from create_streams() instead of aborting
-rw-r--r--fftools/ffmpeg_mux_init.c10
1 files 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);