fix frame size, time rate is not stts duration anymore with time offset

Originally committed as revision 17162 to svn://svn.ffmpeg.org/ffmpeg/trunk
pull/126/head
Baptiste Coudurier 16 years ago
parent fcdd622cfc
commit 5b4f5e5dff
  1. 7
      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); av_set_pts_info(st, 64, sc->time_rate, sc->time_scale);
if (st->codec->codec_type == CODEC_TYPE_AUDIO && if (st->codec->codec_type == CODEC_TYPE_AUDIO &&
!st->codec->frame_size && sc->stts_count == 1) !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 = 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){ if(st->duration != AV_NOPTS_VALUE){
assert(st->duration % sc->time_rate == 0); assert(st->duration % sc->time_rate == 0);

Loading…
Cancel
Save