[FFmpeg-cvslog] movdec: dont divide by zero when stts_data[0].duration = 0.

Michael Niedermayer git at videolan.org
Sun May 22 23:04:28 CEST 2011


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Sun May 22 21:26:13 2011 +0200| [f455f46455ae258d2d0ebc50a2e991fa020ba92d] | committer: Michael Niedermayer

movdec: dont divide by zero when stts_data[0].duration = 0.

Fixes ticket223
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=f455f46455ae258d2d0ebc50a2e991fa020ba92d
---

 libavformat/mov.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/libavformat/mov.c b/libavformat/mov.c
index 26e7a3a..726ec1e 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -1527,7 +1527,7 @@ static void mov_build_index(MOVContext *mov, AVStream *st)
         int rescaled = sc->time_offset < 0 ? av_rescale(sc->time_offset, sc->time_scale, mov->time_scale) : sc->time_offset;
         current_dts = -rescaled;
         if (sc->ctts_data && sc->stts_data &&
-            sc->ctts_data[0].duration / sc->stts_data[0].duration > 16) {
+            sc->ctts_data[0].duration / FFMAX(sc->stts_data[0].duration, 1) > 16) {
             /* more than 16 frames delay, dts are likely wrong
                this happens with files created by iMovie */
             sc->wrong_dts = 1;



More information about the ffmpeg-cvslog mailing list