fftools/ffmpeg_mux_init: do not overwrite OutputStream.frame_rate for streamcopy

The values currently written into it are not used after
streamcopy_init(), so it is better to confine them to that function.
This commit is contained in:
Anton Khirnov 2023-05-28 12:23:29 +02:00
parent ccf219e361
commit c8a85d1b2f
1 changed files with 9 additions and 6 deletions

View File

@ -861,6 +861,9 @@ static int streamcopy_init(const Muxer *mux, OutputStream *ost)
AVCodecContext *codec_ctx = NULL;
AVDictionary *codec_opts = NULL;
AVRational fr = ost->frame_rate;
int ret = 0;
codec_ctx = avcodec_alloc_context3(NULL);
@ -893,11 +896,11 @@ static int streamcopy_init(const Muxer *mux, OutputStream *ost)
par->codec_tag = codec_tag;
if (!ost->frame_rate.num)
ost->frame_rate = ist->framerate;
if (!fr.num)
fr = ist->framerate;
if (ost->frame_rate.num)
ost->st->avg_frame_rate = ost->frame_rate;
if (fr.num)
ost->st->avg_frame_rate = fr;
else
ost->st->avg_frame_rate = ist->st->avg_frame_rate;
@ -908,8 +911,8 @@ static int streamcopy_init(const Muxer *mux, OutputStream *ost)
// copy timebase while removing common factors
if (ost->st->time_base.num <= 0 || ost->st->time_base.den <= 0) {
if (ost->frame_rate.num)
ost->st->time_base = av_inv_q(ost->frame_rate);
if (fr.num)
ost->st->time_base = av_inv_q(fr);
else
ost->st->time_base = av_add_q(av_stream_get_codec_timebase(ost->st), (AVRational){0, 1});
}