matroskadec: sanitize track time_scale before using it
authorAurelien Jacobs <aurel@gnuage.org>
Tue, 9 Sep 2008 11:23:48 +0000 (11:23 +0000)
committerAurelien Jacobs <aurel@gnuage.org>
Tue, 9 Sep 2008 11:23:48 +0000 (11:23 +0000)
fix issue628

Originally committed as revision 15280 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavformat/matroskadec.c

index e524261..31fc214 100644 (file)
@@ -1274,6 +1274,8 @@ static int matroska_read_header(AVFormatContext *s, AVFormatParameters *ap)
             av_log(matroska->ctx, AV_LOG_INFO,
                    "Unknown/unsupported CodecID %s.\n", track->codec_id);
 
             av_log(matroska->ctx, AV_LOG_INFO,
                    "Unknown/unsupported CodecID %s.\n", track->codec_id);
 
+        if (track->time_scale < 0.01)
+            track->time_scale = 1.0;
         av_set_pts_info(st, 64, matroska->time_scale*track->time_scale, 1000*1000*1000); /* 64 bit pts in ns */
 
         st->codec->codec_id = codec_id;
         av_set_pts_info(st, 64, matroska->time_scale*track->time_scale, 1000*1000*1000); /* 64 bit pts in ns */
 
         st->codec->codec_id = codec_id;