fix ctts index computation when seeking, check must be done against next ctts sample, thanks to Uoti

Originally committed as revision 9007 to svn://svn.ffmpeg.org/ffmpeg/trunk
pull/126/head
Baptiste Coudurier 18 years ago
parent d2bc04738b
commit 54a5c7193b
  1. 7
      libavformat/mov.c

@ -1525,12 +1525,13 @@ static int mov_seek_stream(AVStream *st, int64_t timestamp, int flags)
if (sc->ctts_data) { if (sc->ctts_data) {
time_sample = 0; time_sample = 0;
for (i = 0; i < sc->ctts_count; i++) { for (i = 0; i < sc->ctts_count; i++) {
time_sample += sc->ctts_data[i].count; int next = time_sample + sc->ctts_data[i].count;
if (time_sample >= sc->current_sample) { if (next > sc->current_sample) {
sc->sample_to_ctime_index = i; sc->sample_to_ctime_index = i;
sc->sample_to_ctime_sample = time_sample - sc->current_sample; sc->sample_to_ctime_sample = sc->current_sample - time_sample;
break; break;
} }
time_sample = next;
} }
} }
return sample; return sample;

Loading…
Cancel
Save