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
This commit is contained in:
parent
d2bc04738b
commit
54a5c7193b
@ -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…
x
Reference in New Issue
Block a user