diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c index a64ffdb69047a7b515e7a53c5bd723da9f0478a1..37706e56c7656cfd5a6dc5d2d3f89d06781f56a4 100644 --- a/libavformat/matroskaenc.c +++ b/libavformat/matroskaenc.c @@ -1311,6 +1311,9 @@ static int mkv_write_track(AVFormatContext *s, MatroskaMuxContext *mkv, if( st->avg_frame_rate.num > 0 && st->avg_frame_rate.den > 0 && av_cmp_q(av_inv_q(st->avg_frame_rate), st->time_base) > 0) put_ebml_uint(pb, MATROSKA_ID_TRACKDEFAULTDURATION, 1000000000LL * st->avg_frame_rate.den / st->avg_frame_rate.num); + else if( st->r_frame_rate.num > 0 && st->r_frame_rate.den > 0 + && av_cmp_q(av_inv_q(st->r_frame_rate), st->time_base) > 0) + put_ebml_uint(pb, MATROSKA_ID_TRACKDEFAULTDURATION, 1000000000LL * st->r_frame_rate.den / st->r_frame_rate.num); if (!native_id && ff_codec_get_tag(ff_codec_movvideo_tags, par->codec_id) &&