[FFmpeg-cvslog] matroska_read_seek: Fix used streams for subtitle index compensation

Michael Niedermayer git at videolan.org
Mon Sep 23 01:30:47 CEST 2013


ffmpeg | branch: release/0.6 | Michael Niedermayer <michaelni at gmx.at> | Mon May 20 04:00:30 2013 +0200| [f9225c2884bb387f9c9db72e756f6b6ce6b5f948] | committer: Michael Niedermayer

matroska_read_seek: Fix used streams for subtitle index compensation

Might fix Ticket1907 (I have no testcase so i cant test)

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
(cherry picked from commit 4758e32a6c48044f77102a49110c79b4f338f648)

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=f9225c2884bb387f9c9db72e756f6b6ce6b5f948
---

 libavformat/matroskadec.c |    9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c
index ab42e0a..3efed30 100644
--- a/libavformat/matroskadec.c
+++ b/libavformat/matroskadec.c
@@ -1868,10 +1868,11 @@ static int matroska_read_seek(AVFormatContext *s, int stream_index,
         if (tracks[i].type == MATROSKA_TRACK_TYPE_SUBTITLE
             && !tracks[i].stream->discard != AVDISCARD_ALL) {
             index_sub = av_index_search_timestamp(tracks[i].stream, st->index_entries[index].timestamp, AVSEEK_FLAG_BACKWARD);
-            if (index_sub >= 0
-                && st->index_entries[index_sub].pos < st->index_entries[index_min].pos
-                && st->index_entries[index].timestamp - st->index_entries[index_sub].timestamp < 30000000000/matroska->time_scale)
-                index_min = index_sub;
+            while(index_sub >= 0
+                  && index_min >= 0
+                  && tracks[i].stream->index_entries[index_sub].pos < st->index_entries[index_min].pos
+                  && st->index_entries[index].timestamp - tracks[i].stream->index_entries[index_sub].timestamp < 30000000000/matroska->time_scale)
+                index_min--;
         }
     }
 



More information about the ffmpeg-cvslog mailing list