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:44:43 +0200 |
commit | 63e370b2cf86699132117bea4e238085046a6c26 (patch) | |
tree | 3384e36c605aa40f0ac7ba97071cda0bf8ceb349 | |
parent | af225c41d42e777d4cbf93b9e277a3a7f6e35129 (diff) | |
download | ffmpeg-63e370b2cf86699132117bea4e238085046a6c26.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 9263acfd5f..339e2c787f 100644 --- a/libavformat/subtitles.c +++ b/libavformat/subtitles.c @@ -119,10 +119,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; |