mov: Remove duration-of-last-frame heuristic hack
authorDerek Buitenhuis <derek.buitenhuis@gmail.com>
Mon, 24 Dec 2018 19:47:55 +0000 (14:47 -0500)
committerDerek Buitenhuis <derek.buitenhuis@gmail.com>
Wed, 2 Jan 2019 15:45:43 +0000 (10:45 -0500)
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

index 8257381..970cd87 100644 (file)
@@ -2923,12 +2923,6 @@ 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;
         total_sample_count+=sample_count;
     }