summaryrefslogtreecommitdiff
path: root/libavformat/mov.c
diff options
context:
space:
mode:
Diffstat (limited to 'libavformat/mov.c')
-rw-r--r--libavformat/mov.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/libavformat/mov.c b/libavformat/mov.c
index 5d38ebf550..6f783b3d05 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -1525,12 +1525,13 @@ static int mov_seek_stream(AVStream *st, int64_t timestamp, int flags)
if (sc->ctts_data) {
time_sample = 0;
for (i = 0; i < sc->ctts_count; i++) {
- time_sample += sc->ctts_data[i].count;
- if (time_sample >= sc->current_sample) {
+ int next = time_sample + sc->ctts_data[i].count;
+ if (next > sc->current_sample) {
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;
}
+ time_sample = next;
}
}
return sample;