diff options
author | Clément Bœsch <u@pkh.me> | 2013-09-08 09:55:02 +0200 |
---|---|---|
committer | Clément Bœsch <u@pkh.me> | 2013-09-10 21:32:56 +0200 |
commit | 283e0708777286c5b61d55bc5928a2f6053a7dcb (patch) | |
tree | 94a42b4820830c3b6da2b1f18cb1bb19f4d8743e | |
parent | 4e0c29451b6f909e87bb4f79072c6a71593ed7ff (diff) | |
download | ffmpeg-283e0708777286c5b61d55bc5928a2f6053a7dcb.tar.gz |
avformat/subtitles: check lower bound for duration overlap seeking.
(cherry picked from commit 1ca4bf930bab681a79fb591330043675c7cfd798)
-rw-r--r-- | libavformat/subtitles.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/libavformat/subtitles.c b/libavformat/subtitles.c index 11cf1a1c28..d2eb53cab5 100644 --- a/libavformat/subtitles.c +++ b/libavformat/subtitles.c @@ -120,10 +120,11 @@ int ff_subtitles_queue_seek(FFDemuxSubtitlesQueue *q, AVFormatContext *s, int st /* look back in the latest subtitles for overlapping subtitles */ ts_selected = q->subs[idx].pts; for (i = idx - 1; i >= 0; i--) { + int64_t pts = q->subs[i].pts; if (q->subs[i].duration <= 0 || (stream_index != -1 && q->subs[i].stream_index != stream_index)) continue; - if (q->subs[i].pts > ts_selected - q->subs[i].duration) + if (pts >= min_ts && pts > ts_selected - q->subs[i].duration) idx = i; else break; |