[FFmpeg-cvslog] r26311 - trunk/libavformat/mov.c

bcoudurier subversion
Tue Jan 11 22:06:38 CET 2011


Author: bcoudurier
Date: Tue Jan 11 22:06:37 2011
New Revision: 26311

Log:
In mov demuxer, handle better wrong time scale, fix issue #2528

Modified:
   trunk/libavformat/mov.c

Modified: trunk/libavformat/mov.c
==============================================================================
--- trunk/libavformat/mov.c	Tue Jan 11 20:58:00 2011	(r26310)
+++ trunk/libavformat/mov.c	Tue Jan 11 22:06:37 2011	(r26311)
@@ -1515,7 +1515,7 @@ static void mov_build_index(MOVContext *
     uint64_t stream_size = 0;
 
     /* adjust first dts according to edit list */
-    if (sc->time_offset) {
+    if (sc->time_offset && mov->time_scale > 0) {
         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 &&
@@ -1750,10 +1750,10 @@ static int mov_read_trak(MOVContext *c, 
         return 0;
     }
 
-    if (!sc->time_scale) {
+    if (sc->time_scale <= 0) {
         av_log(c->fc, AV_LOG_WARNING, "stream %d, timescale not set\n", st->index);
         sc->time_scale = c->time_scale;
-        if (!sc->time_scale)
+        if (sc->time_scale <= 0)
             sc->time_scale = 1;
     }
 



More information about the ffmpeg-cvslog mailing list