aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2023-05-28 17:41:43 +0200
committerAnton Khirnov <anton@khirnov.net>2023-06-05 16:15:04 +0200
commit58a64e3d544dcedbfeebaabae19bcafce4f8b919 (patch)
tree3e2d799412d70e2083528afbbf6c1f8ba2c684ab
parent2baae6434b997294b4a122a0ee2a37d3996f1e48 (diff)
downloadffmpeg-58a64e3d544dcedbfeebaabae19bcafce4f8b919.tar.gz
fftools/ffmpeg_mux_init: only process -enc_time_base if the stream is encoded
It has no effect otherwise.
-rw-r--r--fftools/ffmpeg_mux_init.c23
1 files changed, 12 insertions, 11 deletions
diff --git a/fftools/ffmpeg_mux_init.c b/fftools/ffmpeg_mux_init.c
index b5295ad445..d0b89cd188 100644
--- a/fftools/ffmpeg_mux_init.c
+++ b/fftools/ffmpeg_mux_init.c
@@ -1073,6 +1073,7 @@ static OutputStream *ost_add(Muxer *mux, const OptionsContext *o,
AVIOContext *s = NULL;
char *buf = NULL, *arg = NULL, *preset = NULL;
const char *enc_stats_pre = NULL, *enc_stats_post = NULL, *mux_stats = NULL;
+ const char *enc_time_base = NULL;
ost->encoder_opts = filter_codec_opts(o->g->codec_opts, enc->codec_id,
oc, st, enc->codec);
@@ -1139,6 +1140,17 @@ static OutputStream *ost_add(Muxer *mux, const OptionsContext *o,
if (ret < 0)
exit_program(1);
}
+
+ MATCH_PER_STREAM_OPT(enc_time_bases, str, enc_time_base, oc, st);
+ if (enc_time_base) {
+ AVRational q;
+ if (av_parse_ratio(&q, enc_time_base, INT_MAX, 0, NULL) < 0 ||
+ q.den <= 0) {
+ av_log(ost, AV_LOG_FATAL, "Invalid time base: %s\n", enc_time_base);
+ exit_program(1);
+ }
+ ost->enc_timebase = q;
+ }
} else {
ost->encoder_opts = filter_codec_opts(o->g->codec_opts, AV_CODEC_ID_NONE, oc, st, NULL);
}
@@ -1162,17 +1174,6 @@ static OutputStream *ost_add(Muxer *mux, const OptionsContext *o,
st->time_base = q;
}
- MATCH_PER_STREAM_OPT(enc_time_bases, str, time_base, oc, st);
- if (time_base) {
- AVRational q;
- if (av_parse_ratio(&q, time_base, INT_MAX, 0, NULL) < 0 ||
- q.den <= 0) {
- av_log(ost, AV_LOG_FATAL, "Invalid time base: %s\n", time_base);
- exit_program(1);
- }
- ost->enc_timebase = q;
- }
-
ms->max_frames = INT64_MAX;
MATCH_PER_STREAM_OPT(max_frames, i64, ms->max_frames, oc, st);
for (i = 0; i<o->nb_max_frames; i++) {