mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
fftools/ffmpeg: handle -enc_time_base -1 during stream creation
There is no reason to postpone it until opening the encoder. Also, abort when the input stream is unknown, rather than disregard an explicit request from the user.
This commit is contained in:
parent
58a64e3d54
commit
93e26a4db7
@ -179,7 +179,6 @@ static void set_encoder_id(OutputFile *of, OutputStream *ost)
|
||||
|
||||
static void init_encoder_time_base(OutputStream *ost, AVRational default_time_base)
|
||||
{
|
||||
InputStream *ist = ost->ist;
|
||||
AVCodecContext *enc_ctx = ost->enc_ctx;
|
||||
|
||||
if (ost->enc_timebase.num > 0) {
|
||||
@ -187,16 +186,6 @@ static void init_encoder_time_base(OutputStream *ost, AVRational default_time_ba
|
||||
return;
|
||||
}
|
||||
|
||||
if (ost->enc_timebase.num < 0) {
|
||||
if (ist) {
|
||||
enc_ctx->time_base = ist->st->time_base;
|
||||
return;
|
||||
}
|
||||
|
||||
av_log(ost, AV_LOG_WARNING,
|
||||
"Input stream data not available, using default time base\n");
|
||||
}
|
||||
|
||||
enc_ctx->time_base = default_time_base;
|
||||
}
|
||||
|
||||
|
@ -1149,6 +1149,15 @@ static OutputStream *ost_add(Muxer *mux, const OptionsContext *o,
|
||||
av_log(ost, AV_LOG_FATAL, "Invalid time base: %s\n", enc_time_base);
|
||||
exit_program(1);
|
||||
}
|
||||
if (q.num < 0) {
|
||||
if (!ost->ist) {
|
||||
av_log(ost, AV_LOG_FATAL,
|
||||
"Cannot use input stream timebase for encoding - "
|
||||
"no input stream available\n");
|
||||
exit_program(1);
|
||||
}
|
||||
q = ost->ist->st->time_base;
|
||||
}
|
||||
ost->enc_timebase = q;
|
||||
}
|
||||
} else {
|
||||
|
Loading…
Reference in New Issue
Block a user