|
|
|
@ -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}); |
|
|
|
|
} |
|
|
|
|