fix frame size, time rate is not stts duration anymore with time offset
authorBaptiste Coudurier <baptiste.coudurier@gmail.com>
Wed, 11 Feb 2009 21:11:19 +0000 (21:11 +0000)
committerBaptiste Coudurier <baptiste.coudurier@gmail.com>
Wed, 11 Feb 2009 21:11:19 +0000 (21:11 +0000)
Originally committed as revision 17162 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavformat/mov.c

index 5f1d685..e40abca 100644 (file)
@@ -1366,8 +1366,11 @@ static int mov_read_trak(MOVContext *c, ByteIOContext *pb, MOVAtom atom)
     av_set_pts_info(st, 64, sc->time_rate, sc->time_scale);
 
     if (st->codec->codec_type == CODEC_TYPE_AUDIO &&
-        !st->codec->frame_size && sc->stts_count == 1)
-        st->codec->frame_size = av_rescale(sc->time_rate, st->codec->sample_rate, sc->time_scale);
+        !st->codec->frame_size && sc->stts_count == 1) {
+        st->codec->frame_size = av_rescale(sc->stts_data[0].duration,
+                                           st->codec->sample_rate, sc->time_scale);
+        dprintf(c->fc, "frame size %d\n", st->codec->frame_size);
+    }
 
     if(st->duration != AV_NOPTS_VALUE){
         assert(st->duration % sc->time_rate == 0);