diff --git a/libavformat/mov.c b/libavformat/mov.c index 5f1d685700..e40abcaf8d 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -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);