@@ -2923,13 +2923,7 @@ static int mov_read_stts(MOVContext *c, AVIOContext *pb, MOVAtom atom)
av_log(c->fc, AV_LOG_TRACE, "sample_count=%d, sample_duration=%d\n",
sample_count, sample_duration);
- if ( i+1 == entries
- && i
- && sample_count == 1
- && total_sample_count > 100
- && sample_duration/10 > duration / total_sample_count)
- sample_duration = duration / total_sample_count;
- duration+=(int64_t)sample_duration*(uint64_t)sample_count;
+ duration+=(int64_t)sample_duration*sample_count;
total_sample_count+=sample_count;
}
This breaks totally valid files that get caught in its heuristic. This, according to the commit message, is my own doing, having asked Michael to implement this check and providing a sample that was "wrong". I am now atoning for my sins, and removing this hack, having seen the light (aka that this was silly to do in the first place). Resotores correct behavior on valid files. This reverts commit 8e5e84c2a2a21a979b48e80c5a8dd44754ab3f21. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com> --- libavformat/mov.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-)