diff --git a/libavformat/mov.c b/libavformat/mov.c index 0c4e468dd4..32f51e6a4c 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -4805,6 +4805,11 @@ static int mov_read_trun(MOVContext *c, AVIOContext *pb, MOVAtom atom) pts = frag_stream_info->first_tfra_pts; av_log(c->fc, AV_LOG_DEBUG, "found mfra time %"PRId64 ", using it for pts\n", pts); + } else if (frag_stream_info->first_tfra_pts != AV_NOPTS_VALUE && + c->use_mfra_for == FF_MOV_FLAG_MFRA_DTS) { + dts = frag_stream_info->first_tfra_pts; + av_log(c->fc, AV_LOG_DEBUG, "found mfra time %"PRId64 + ", using it for dts\n", pts); } else if (frag_stream_info->sidx_pts != AV_NOPTS_VALUE) { // FIXME: sidx earliest_presentation_time is *PTS*, s.b. // pts = frag_stream_info->sidx_pts;